.servicios{position:relative;height:100vh;height:100svh;text-align:center}
.services-container{height:100%;max-width:var(--container-max);margin:auto;padding:clamp(5rem,10svh,7rem) var(--gutter) max(1.5rem,env(safe-area-inset-bottom));display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(.8rem,2svh,1.5rem)}
.section-label{display:flex;align-items:center;justify-content:center;gap:1rem;font-size:.6rem;letter-spacing:.25em;color:var(--navy-200);margin:0}.section-label>span{width:2.5rem;height:1px;background:var(--gold-500)}
.services-heading,.section-label{flex-shrink:0}.services-heading h2{font-size:clamp(1.85rem,4vw,4rem);font-weight:900;line-height:1.05;letter-spacing:-.045em;margin:0 0 .65rem}.heading-mask{display:block;overflow:hidden;padding-bottom:.06em}.heading-line{display:block}.services-heading em,.service-panel em{font-style:normal;color:var(--gold-500)}
.services-heading p{color:var(--navy-200);font-size:clamp(.78rem,1vw,.95rem);line-height:1.5;max-width:85ch;margin:auto;text-wrap:balance}
.service-widget{width:100%;max-width:75rem;min-height:0;flex:0 1 32rem;display:flex;flex-direction:column;gap:clamp(1rem,3svh,2.5rem)}
.service-frame{position:relative;isolation:isolate;overflow:hidden;border:1px solid color-mix(in srgb,var(--navy-300) 28%,transparent);border-radius:12px;background:color-mix(in srgb,var(--navy-900) 65%,transparent);flex:1;min-height:0}
.services-interactive .service-frame{display:grid}.services-interactive .service-panel{grid-area:1/1}
.service-panel{position:relative;isolation:isolate;display:grid;grid-template-columns:1.05fr 1fr;min-height:0;text-align:left;outline-offset:-5px}
.service-copy{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:center;padding:clamp(1.2rem,3.5vw,3.5rem) 0 clamp(1.2rem,3.5vw,3.5rem) clamp(1.2rem,6vw,6rem);gap:clamp(.5rem,1.5svh,1.2rem)}
.service-number{position:absolute;z-index:-1;top:-.08em;left:clamp(1rem,4.5vw,4.5rem);font-weight:900;font-size:clamp(7rem,18vw,17rem);letter-spacing:-.08em;line-height:1;color:var(--navy-200);opacity:.08;pointer-events:none}
.service-kicker{display:flex;align-items:center;gap:1rem;color:var(--navy-200);font-size:.65rem;font-weight:600;letter-spacing:.3em}.service-kicker i{height:1px;width:2.5rem;background:var(--gold-500)}
.service-panel h3{font-size:clamp(1.4rem,3.4vw,3.5rem);line-height:1.04;font-weight:800;letter-spacing:-.035em;margin:0;max-width:20ch;text-wrap:balance}.service-panel h3 em{display:block}
.service-panel p{font-size:clamp(.8rem,1.15vw,1.1rem);line-height:1.5;max-width:39ch;color:var(--navy-200);margin:0}
.service-visual{position:relative;min-width:0;overflow:hidden;mask-image:linear-gradient(to right,transparent,black 28%);-webkit-mask-image:linear-gradient(to right,transparent,black 28%)}
.service-visual img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center 15%;display:block}
.service-tabs{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:clamp(.75rem,3vw,3rem);flex-shrink:0}
.service-tab{position:relative;background:transparent;text-align:left;min-height:80px;min-width:44px;padding:.6rem 0 1rem;border:0;border-bottom:1px solid color-mix(in srgb,var(--navy-300) 30%,transparent);color:var(--navy-300);display:flex;flex-direction:column;gap:.75rem;transition:color .35s ease}
.tab-number{display:flex;align-items:center;gap:1rem;font-size:.75rem;font-weight:700;letter-spacing:.12em}.tab-number i{display:block;width:1.65rem;height:1px;background:currentColor;opacity:.65}
.tab-title{font-size:clamp(.65rem,.95vw,.85rem);line-height:1.3;font-weight:600;letter-spacing:.02em;max-width:20ch}
.service-tab::after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--gold-500);transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease)}
.service-tab[aria-selected=true]{color:var(--white)}.service-tab[aria-selected=true] .tab-number{color:var(--gold-500)}.service-tab[aria-selected=true]::after{transform:scaleX(1)}.service-tab:hover{color:var(--gold-300)}.service-tab:focus-visible{outline:2px solid var(--gold-500);outline-offset:5px}
.service-curtain{position:absolute;inset:0 auto 0 0;width:3px;background:var(--grad-gold);opacity:0;z-index:3;pointer-events:none}
@media(max-width:767px){.services-container{gap:.8rem}.service-widget{flex-basis:34rem;gap:1rem}.service-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem 1rem}.service-tab{min-height:62px;padding:.35rem 0 .6rem;gap:.4rem}.tab-number{font-size:.65rem}.tab-title{font-size:.63rem}.service-copy{padding:1rem 0 1rem 1rem;gap:.65rem}.service-panel{grid-template-columns:1.25fr .75fr}.service-panel h3{font-size:clamp(1.1rem,4.5vw,1.6rem)}.service-panel p{font-size:.72rem;line-height:1.4}.service-kicker{font-size:.5rem;gap:.5rem;letter-spacing:.2em}.service-kicker i{width:1.25rem}.service-visual img{width:150%;max-width:none;left:-25%;object-position:center top}.service-number{font-size:7rem;left:.6rem}}
@media(max-height:650px){.services-container{padding-top:4.5rem;padding-bottom:1rem;gap:.6rem}.services-heading h2{font-size:clamp(1.45rem,3vw,2.5rem)}.services-heading p{font-size:.7rem;line-height:1.3}.service-widget{gap:.65rem}.service-copy{padding-block:.75rem;gap:.4rem}.service-panel h3{font-size:clamp(1rem,2.8vw,2rem)}.service-panel p{font-size:.7rem}.service-tab{min-height:52px;gap:.3rem;padding:.3rem 0 .5rem}}
@media(prefers-reduced-motion:reduce){.service-tab,.service-tab::after{transition:none}}
.servicios:not(.services-interactive){height:auto;min-height:100svh}.servicios:not(.services-interactive) .services-container{height:auto}.servicios:not(.services-interactive) .service-widget{flex:none}.servicios:not(.services-interactive) .service-panel{min-height:22rem}

/* Compact editorial composition with equal breathing room around the group. */
.services-container{padding-block:max(5rem,env(safe-area-inset-top)) max(3rem,env(safe-area-inset-bottom));gap:clamp(.8rem,2svh,1.25rem)}
.services-heading h2{font-size:clamp(1.7rem,3.3vw,3.3rem)}
.services-heading p{font-size:clamp(.72rem,.9vw,.85rem);max-width:80ch}
.service-widget{max-width:64rem;flex:0 1 26rem;gap:clamp(1rem,2.7svh,1.8rem)}
.service-copy{padding:clamp(1.2rem,3vw,2.5rem) 0 clamp(1.2rem,3vw,2.5rem) clamp(1.2rem,4vw,4rem);gap:clamp(.55rem,1.3svh,.9rem)}
.service-number{font-size:clamp(6rem,14vw,12rem);left:clamp(1rem,3vw,3rem)}
.service-kicker{font-size:clamp(.48rem,.65vw,.6rem);letter-spacing:.2em;gap:.7rem}
.service-kicker i{flex-shrink:0;width:1.5rem}
.service-panel h3{font-size:clamp(1.25rem,2.65vw,2.65rem)}
.service-panel p{font-size:clamp(.75rem,1vw,.95rem);max-width:38ch;line-height:1.5}
.service-tab{min-height:70px;gap:.6rem;padding:.5rem 0 .8rem}
.tab-number{font-size:.67rem;gap:.75rem}.tab-title{font-size:clamp(.61rem,.8vw,.75rem)}
@media(max-width:767px){.services-container{padding-block:5rem 2rem;gap:.8rem}.service-widget{flex-basis:27rem;gap:1rem}.service-copy{padding:1rem 0 1rem 1rem;gap:.55rem}.service-panel h3{font-size:clamp(1.05rem,4.1vw,1.4rem)}.service-panel p{font-size:.7rem}.service-kicker{font-size:.43rem;letter-spacing:.12em;gap:.35rem}.service-kicker i{width:.75rem}.service-number{font-size:6rem;left:.6rem}.service-tab{min-height:54px;padding:.3rem 0 .5rem;gap:.35rem}.tab-title{font-size:.6rem}}
@media(max-height:650px){.services-container{padding-block:4.5rem 1.2rem;gap:.55rem}.services-heading h2{font-size:clamp(1.4rem,2.8vw,2.3rem)}.service-widget{gap:.65rem}.service-copy{padding-block:.75rem;gap:.4rem}.service-panel h3{font-size:clamp(1rem,2.4vw,1.8rem)}.service-panel p{font-size:.68rem}.service-tab{min-height:48px;padding:.25rem 0 .4rem;gap:.3rem}}

/* Shared label baseline for present and future editorial sections. */
.services-container,.nosotros .section-container{position:relative}
.servicios .section-label,.nosotros .nosotros-label{position:absolute;top:var(--section-label-top);left:0;right:0;margin:0;justify-content:center;font-size:.6rem;line-height:1.4;letter-spacing:.25em;gap:1rem}
.servicios .section-label>span,.nosotros .nosotros-label>span{width:2.5rem;height:1px;background:var(--gold-500)}
.services-container{padding-top:calc(var(--section-label-top) + 2.5rem)}
.services-heading{margin-bottom:var(--section-content-gap)}
.service-widget{flex-basis:24rem}
@media(max-height:650px){:root{--section-label-top:5rem;--section-content-gap:1rem}.services-container{padding-top:calc(var(--section-label-top) + 1.75rem)}.service-widget{flex-basis:21rem}}

/* Landscape service photographs use their own focal point at every breakpoint. */
.service-visual img{width:100%;left:0;max-width:100%;object-fit:cover}
