/* servicios: estilos propios (sacados de Elementor). */
.m3s-page,.m3s-page * {
box-sizing:border-box
}
.m3s-page {
--blue:#0054a6;
--blue-dark:#003d7c;
--soft:#eaf3fc;
--light:#f5f9fe;
--dark:#202630;
--text:#596675;
--border:#e3ebf3;
--shadow:0 15px 45px rgba(0,45,91,.08);
width:100%;
font:400 15px/1.85 'Poppins',Arial,sans-serif;
color:var(--text);
background:#fff;
overflow:hidden
}
.m3s-page a {
text-decoration:none!important
}
.m3s-page img {
display:block;
max-width:100%
}
.m3s-page svg {
display:block
}
.m3s-page button {
font-family:inherit!important
}
.m3s-container {
width:100%;
max-width:1360px;
margin:auto;
padding:0 55px
}
.m3s-eyebrow {
display:inline-flex;
align-items:center;
gap:11px;
margin-bottom:20px;
color:var(--blue);
font-size:12px;
font-weight:700;
letter-spacing:1.2px;
text-transform:uppercase;
line-height:1.5
}
.m3s-eyebrow:before {
content:'';
width:27px;
height:3px;
border-radius:5px;
background:var(--blue);
flex-shrink:0
}
.m3s-page .m3s-title {
margin:0 0 22px!important;
color:var(--dark)!important;
font-size:clamp(32px,3vw,40px)!important;
font-weight:700!important;
line-height:1.25!important;
letter-spacing:-.8px
}
.m3s-title span,.m3s-hero h1 span {
color:var(--blue)
}
.m3s-page .m3s-text {
margin:0!important;
color:var(--text)!important;
font-size:15px!important;
line-height:1.9!important
}
.m3s-heading {
max-width:790px;
margin-bottom:48px
}
.m3s-heading.center {
text-align:center;
margin-left:auto;
margin-right:auto
}
.m3s-heading.center .m3s-eyebrow {
justify-content:center
}
.m3s-page .m3s-btn {
display:inline-flex;
align-items:center;
justify-content:center;
gap:11px;
min-height:52px;
padding:15px 26px;
border-radius:50px;
font-size:14px!important;
font-weight:600!important;
line-height:1.5!important;
text-align:center;
transition:background .25s,color .25s,transform .25s,box-shadow .25s
}
.m3s-btn svg,.m3s-link svg {
width:18px;
height:18px;
fill:none;
stroke:currentColor;
stroke-width:2;
stroke-linecap:round;
stroke-linejoin:round;
flex-shrink:0
}
.m3s-page .m3s-btn-primary {
background:var(--blue)!important;
color:white!important
}
.m3s-page .m3s-btn-primary:hover {
background:var(--blue-dark)!important;
transform:translateY(-3px);
box-shadow:0 12px 28px rgba(0,84,166,.2)
}
.m3s-page .m3s-btn-outline {
background:white!important;
color:var(--blue)!important;
border:1px solid var(--blue)
}
.m3s-page .m3s-btn-outline:hover {
background:var(--soft)!important;
transform:translateY(-3px)
}
.m3s-image {
position:relative;
width:100%;
overflow:hidden;
background:#edf3f9
}
.m3s-image img {
position:relative;
z-index:2;
display:block;
width:100%;
height:100%;
object-fit:cover;
transition:transform .5s
}
.m3s-image:hover img {
transform:scale(1.035)
}
.m3s-placeholder {
position:absolute;
inset:0;
z-index:1;
display:flex;
align-items:center;
justify-content:center;
flex-direction:column;
gap:12px;
padding:22px;
background:linear-gradient(135deg,#eaf3fc,#f7faff);
text-align:center
}
.m3s-placeholder svg {
width:35px;
height:35px;
fill:none;
stroke:var(--blue);
stroke-width:1.5;
opacity:.55
}
.m3s-placeholder span {
max-width:100%;
color:var(--blue);
font-size:11px;
font-weight:600;
line-height:1.6;
overflow-wrap:anywhere
}
.m3s-image.is-missing img {
display:none
}
.m3s-image.is-missing .m3s-placeholder {
z-index:3
}
.m3s-hero {
position:relative;
padding:95px 0 105px;
background:linear-gradient(115deg,#fff 0%,#fff 45%,#f3f8fd 100%)
}
.m3s-hero:before {
content:'';
position:absolute;
top:-170px;
right:-160px;
width:490px;
height:490px;
border-radius:50%;
background:rgba(0,84,166,.035);
pointer-events:none
}
.m3s-hero-grid {
position:relative;
z-index:2;
display:grid;
grid-template-columns:1fr 1.02fr;
gap:65px;
align-items:center
}
.m3s-hero-copy {
max-width:590px
}
.m3s-page .m3s-hero h1 {
margin:0 0 27px!important;
color:var(--dark)!important;
font-size:clamp(40px,3.8vw,54px)!important;
font-weight:700!important;
line-height:1.17!important;
letter-spacing:-1.5px
}
.m3s-page .m3s-hero-description {
margin:0 0 32px!important;
color:var(--text)!important;
font-size:17px!important;
line-height:1.85!important
}
.m3s-hero-buttons {
display:flex;
align-items:center;
flex-wrap:wrap;
gap:13px
}
.m3s-hero-visual {
position:relative;
padding:14px
}
.m3s-hero-image {
height:490px;
border-radius:20px;
box-shadow:0 20px 55px rgba(0,45,91,.12)
}
.m3s-hero-visual:before {
content:'';
position:absolute;
top:-8px;
right:-8px;
width:180px;
height:180px;
border:2px solid rgba(0,84,166,.13);
border-radius:28px
}
.m3s-hero-visual:after {
content:'';
position:absolute;
left:-8px;
bottom:-8px;
width:130px;
height:130px;
background:var(--soft);
border-radius:25px
}
.m3s-intro {
padding:95px 0 85px
}
.m3s-intro-grid {
display:grid;
grid-template-columns:.85fr 1.15fr;
gap:75px;
align-items:start
}
.m3s-page .m3s-intro-copy p {
margin:0 0 19px!important;
color:var(--text)!important;
font-size:15px!important;
line-height:1.95!important
}
.m3s-intro-copy p:last-child {
margin-bottom:0!important
}
.m3s-featured,.m3s-custom,.m3s-faq {
background:var(--light)
}
.m3s-featured {
padding:100px 0 105px
}
.m3s-featured-grid,.m3s-services-grid,.m3s-process-grid {
display:grid;
grid-template-columns:repeat(3,minmax(0,1fr));
gap:24px
}
.m3s-featured-card,.m3s-service-card {
display:flex;
flex-direction:column;
min-width:0;
background:#fff;
border:1px solid var(--border);
border-radius:17px;
overflow:hidden;
transition:transform .3s,box-shadow .3s,border-color .3s
}
.m3s-featured-card:hover,.m3s-service-card:hover {
transform:translateY(-5px);
box-shadow:var(--shadow);
border-color:#c8def3
}
.m3s-featured-image {
height:225px
}
.m3s-featured-body,.m3s-service-body {
display:flex;
flex-direction:column;
flex:1;
padding:29px 27px 30px
}
.m3s-card-label {
margin-bottom:11px;
color:var(--blue);
font-size:12px;
font-weight:700;
text-transform:uppercase;
letter-spacing:.8px
}
.m3s-page .m3s-featured-card h3 {
margin:0 0 13px!important;
color:var(--dark)!important;
font-size:21px!important;
font-weight:700!important;
line-height:1.4!important
}
.m3s-page .m3s-featured-card p,.m3s-page .m3s-service-body p {
margin:0 0 24px!important;
color:var(--text)!important;
font-size:14px!important;
line-height:1.85!important
}
.m3s-page .m3s-link {
display:inline-flex;
align-items:center;
gap:9px;
width:fit-content;
margin-top:auto;
color:var(--blue)!important;
font-size:14px!important;
font-weight:600!important;
line-height:1.5!important;
transition:gap .2s
}
.m3s-page .m3s-link:hover {
gap:15px
}
.m3s-catalog {
padding:105px 0
}
.m3s-catalog-intro {
display:flex;
align-items:end;
justify-content:space-between;
gap:35px;
margin-bottom:42px
}
.m3s-catalog-intro .m3s-heading {
margin-bottom:0
}
.m3s-catalog-count {
display:inline-flex;
align-items:center;
flex-shrink:0;
padding:12px 19px;
border-radius:50px;
background:var(--soft);
color:var(--blue);
font-size:13px;
font-weight:700
}
.m3s-catalog-nav {
display:flex;
align-items:center;
flex-wrap:wrap;
gap:10px;
margin-bottom:58px
}
.m3s-page .m3s-category-link {
display:inline-flex;
align-items:center;
justify-content:center;
padding:13px 20px;
border:1px solid var(--border);
border-radius:50px;
background:white;
color:var(--dark)!important;
font-size:13px!important;
font-weight:600!important;
line-height:1.5!important;
transition:background .2s,color .2s,border-color .2s
}
.m3s-page .m3s-category-link:hover {
background:var(--blue)!important;
border-color:var(--blue);
color:white!important
}
.m3s-category-section {
margin-bottom:80px;
scroll-margin-top:110px
}
.m3s-category-section:last-child {
margin-bottom:0
}
.m3s-category-header {
display:flex;
align-items:center;
justify-content:space-between;
gap:20px;
margin-bottom:29px;
padding-bottom:21px;
border-bottom:1px solid var(--border)
}
.m3s-category-title {
display:flex;
align-items:center;
gap:15px
}
.m3s-category-icon {
display:flex;
align-items:center;
justify-content:center;
width:48px;
height:48px;
min-width:48px;
border-radius:12px;
background:var(--soft);
color:var(--blue)
}
.m3s-category-icon svg {
width:24px;
height:24px;
fill:none;
stroke:currentColor;
stroke-width:1.8;
stroke-linecap:round;
stroke-linejoin:round
}
.m3s-page .m3s-category-header h3 {
margin:0!important;
color:var(--dark)!important;
font-size:23px!important;
font-weight:700!important;
line-height:1.35!important
}
.m3s-category-number {
color:#7b8794;
font-size:13px;
font-weight:600;
white-space:nowrap
}
.m3s-service-image {
height:190px
}
.m3s-service-body {
padding:25px 24px 27px
}
.m3s-page .m3s-service-body h4 {
margin:0 0 11px!important;
color:var(--dark)!important;
font-size:18px!important;
font-weight:700!important;
line-height:1.45!important
}
.m3s-page .m3s-service-body p {
margin-bottom:20px!important
}
.m3s-custom {
padding:105px 0
}
.m3s-custom-grid {
display:grid;
grid-template-columns:1fr 1fr;
gap:75px;
align-items:center
}
.m3s-custom-image {
height:440px;
border-radius:20px;
box-shadow:var(--shadow)
}
.m3s-custom-copy .m3s-text {
margin-bottom:28px!important
}
.m3s-benefits {
display:flex;
flex-direction:column;
gap:17px;
margin:0 0 33px;
padding:0;
list-style:none!important
}
.m3s-benefits li {
display:flex;
align-items:flex-start;
gap:13px;
color:var(--text);
font-size:15px;
line-height:1.75
}
.m3s-benefit-check {
display:flex;
align-items:center;
justify-content:center;
width:27px;
height:27px;
min-width:27px;
border-radius:50%;
background:var(--soft);
color:var(--blue)
}
.m3s-benefit-check svg {
width:15px;
height:15px;
fill:none;
stroke:currentColor;
stroke-width:2.3;
stroke-linecap:round;
stroke-linejoin:round
}
.m3s-process {
padding:105px 0
}
.m3s-process-card {
padding:36px 31px;
border:1px solid var(--border);
border-radius:16px;
background:#fff
}
.m3s-process-number {
display:flex;
align-items:center;
justify-content:center;
width:56px;
height:56px;
margin-bottom:25px;
border-radius:15px;
background:var(--soft);
color:var(--blue);
font-size:21px;
font-weight:700
}
.m3s-page .m3s-process-card h3 {
margin:0 0 13px!important;
color:var(--dark)!important;
font-size:21px!important;
font-weight:700!important;
line-height:1.45!important
}
.m3s-page .m3s-process-card p {
margin:0!important;
color:var(--text)!important;
font-size:15px!important;
line-height:1.85!important
}
.m3s-faq {
padding:105px 0
}
.m3s-faq-layout {
display:grid;
grid-template-columns:.75fr 1.25fr;
gap:75px;
align-items:start
}
.m3s-faq-intro .m3s-text {
margin-top:18px!important
}
.m3s-faq-list {
display:flex;
flex-direction:column;
gap:14px
}
.m3s-faq-item {
background:#fff;
border:1px solid var(--border);
border-radius:13px;
overflow:hidden;
transition:border-color .2s,box-shadow .2s
}
.m3s-faq-item.is-open {
border-color:#c8def3;
box-shadow:0 10px 30px rgba(0,45,91,.05)
}
.m3s-page .m3s-faq-question {
display:flex;
align-items:center;
justify-content:space-between;
gap:17px;
width:100%;
padding:22px 24px;
border:0!important;
background:#fff!important;
color:var(--dark)!important;
font-size:16px!important;
font-weight:600!important;
line-height:1.6!important;
text-align:left;
cursor:pointer
}
.m3s-faq-question svg {
width:19px;
height:19px;
min-width:19px;
fill:none;
stroke:var(--blue);
stroke-width:2;
stroke-linecap:round;
flex-shrink:0;
transition:transform .2s
}
.m3s-faq-item.is-open .m3s-faq-question svg {
transform:rotate(45deg)
}
.m3s-faq-answer {
display:none;
padding:0 24px 24px
}
.m3s-faq-item.is-open .m3s-faq-answer {
display:block
}
.m3s-page .m3s-faq-answer p {
margin:0!important;
color:var(--text)!important;
font-size:15px!important;
line-height:1.9!important
}
@media(max-width:1100px) {
.m3s-container {
padding:0 40px
}
.m3s-hero-grid {
gap:40px
}
.m3s-hero-image {
height:430px
}
.m3s-featured-grid,.m3s-services-grid {
grid-template-columns:repeat(2,minmax(0,1fr))
}
.m3s-custom-grid,.m3s-faq-layout {
gap:45px
}
}
@media(max-width:767px) {
.m3s-container {
padding:0 22px
}
.m3s-page .m3s-title {
font-size:29px!important;
line-height:1.3!important
}
.m3s-heading {
margin-bottom:37px
}
.m3s-page .m3s-text {
font-size:14px!important;
line-height:1.85!important
}
.m3s-hero {
padding:60px 0 70px
}
.m3s-hero-grid {
grid-template-columns:1fr;
gap:38px
}
.m3s-page .m3s-hero h1 {
font-size:36px!important;
line-height:1.2!important;
letter-spacing:-1px
}
.m3s-page .m3s-hero-description {
font-size:15px!important
}
.m3s-hero-visual {
padding:8px
}
.m3s-hero-image {
height:330px;
border-radius:16px
}
.m3s-page .m3s-btn {
font-size:14px!important;
min-height:50px;
padding:14px 21px
}
.m3s-intro {
padding:75px 0
}
.m3s-intro-grid {
grid-template-columns:1fr;
gap:27px
}
.m3s-page .m3s-intro-copy p {
font-size:14px!important
}
.m3s-featured {
padding:75px 0 80px
}
.m3s-featured-grid {
grid-template-columns:1fr;
gap:20px
}
.m3s-featured-image {
height:235px
}
.m3s-featured-body {
padding:27px 24px
}
.m3s-page .m3s-featured-card h3 {
font-size:19px!important
}
.m3s-catalog {
padding:80px 0
}
.m3s-catalog-intro {
flex-direction:column;
align-items:flex-start;
gap:20px
}
.m3s-catalog-nav {
gap:9px;
margin-bottom:42px
}
.m3s-page .m3s-category-link {
padding:11px 15px;
font-size:12px!important
}
.m3s-category-section {
margin-bottom:60px
}
.m3s-page .m3s-category-header h3 {
font-size:20px!important
}
.m3s-category-icon {
width:42px;
height:42px;
min-width:42px
}
.m3s-services-grid {
grid-template-columns:1fr;
gap:19px
}
.m3s-service-image {
height:220px
}
.m3s-custom {
padding:80px 0
}
.m3s-custom-grid {
grid-template-columns:1fr;
gap:37px
}
.m3s-custom-image {
height:310px
}
.m3s-benefits li {
font-size:14px
}
.m3s-process {
padding:80px 0
}
.m3s-process-grid {
grid-template-columns:1fr;
gap:18px
}
.m3s-process-card {
padding:30px 26px
}
.m3s-page .m3s-process-card h3 {
font-size:19px!important
}
.m3s-page .m3s-process-card p {
font-size:14px!important
}
.m3s-faq {
padding:80px 0
}
.m3s-faq-layout {
grid-template-columns:1fr;
gap:37px
}
.m3s-page .m3s-faq-question {
padding:20px;
font-size:15px!important
}
.m3s-faq-answer {
padding:0 20px 21px
}
.m3s-page .m3s-faq-answer p {
font-size:14px!important
}
}
@media(max-width:390px) {
.m3s-hero-buttons {
flex-direction:column;
align-items:stretch
}
.m3s-page .m3s-hero-buttons .m3s-btn {
width:100%
}
.m3s-category-header {
align-items:flex-start
}
.m3s-category-number {
font-size:11px
}
}
.m3s-page a:focus-visible,.m3s-page button:focus-visible {
outline:2px solid var(--blue)!important;
outline-offset:4px
}
@media(prefers-reduced-motion:reduce) {
.m3s-page *,.m3s-page *:before,.m3s-page *:after {
transition:none!important;
animation:none!important
}
}

/* Enlaces contextuales a servicios especializados (no son tarjetas principales) */


.m3s-page .m3s-related a{color:var(--blue)!important;font-size:12px!important;line-height:1.55!important;text-decoration:underline!important;text-underline-offset:3px}
.m3s-page .m3s-related a:hover{color:var(--blue-dark)!important}
