/* NexSocial v2 — editorial art direction */
:root{--paper:#f1f0eb;--ink:#090909;--muted:#74736f;--red:#e1261c;--container:1280px;--ease:cubic-bezier(.22,.8,.24,1)}
body{background:var(--paper);letter-spacing:-.01em}.container{width:min(calc(100% - 64px),var(--container))}.section{padding:clamp(96px,10vw,154px) 0}.eyebrow{font-size:.68rem;letter-spacing:.21em;margin-bottom:28px}.button{border-radius:0;min-height:56px;padding-inline:28px}.button:hover{transform:none}.site-header{height:84px}.header-inner{border-bottom:1px solid rgba(255,255,255,.12)}.site-header.scrolled .header-inner{border-color:transparent}.brand{font-size:1.4rem}.desktop-nav{font-size:.82rem;letter-spacing:.02em}.header-cta{min-height:42px;border-color:#fff;background:#fff;color:#090909}.header-cta:hover{background:var(--red);border-color:var(--red);color:#fff}

/* Fast mask reveal: no split-screen and no reload theatrics. */
.preloader{background:#050505;overflow:hidden}.preloader:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 58%,rgba(255,255,255,.055),transparent 45%)}.preloader-wash{position:absolute;inset:0;background:var(--red);transform:scaleX(.008);transform-origin:left;animation:preloaderSweep .75s var(--ease) forwards}.preloader-content{width:min(430px,78vw);text-align:left}.preloader-kicker{color:#777;font-size:.58rem;text-transform:uppercase;letter-spacing:.24em;margin-bottom:12px;opacity:0;animation:preloaderText .3s .08s ease forwards}.preloader-logo{font-size:clamp(2.6rem,7vw,4.2rem);line-height:1;overflow:visible;clip-path:inset(0 100% 0 0);animation:preloaderLogo .46s .1s var(--ease) forwards}.preloader-logo:after{display:none}.preloader-line{margin-top:25px;background:#292929}.preloader-line i{box-shadow:none;animation:lineLoad .68s .05s var(--ease) forwards}.preloader.exit{clip-path:inset(0 0 100% 0);transition:clip-path .5s var(--ease)}.preloader.exit .preloader-content{opacity:1}.preloader-panel{display:none}@keyframes preloaderSweep{0%{transform:scaleX(.008);opacity:0}20%{opacity:1}100%{transform:translateX(100%) scaleX(.16);opacity:0}}@keyframes preloaderLogo{to{clip-path:inset(0)}}@keyframes preloaderText{to{opacity:1}}

.hero{min-height:100svh;padding:128px 0 32px;background:#050505;position:relative}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);background-size:25% 100%;pointer-events:none}.hero-grid{grid-template-columns:minmax(440px,.88fr) minmax(480px,1.12fr);gap:clamp(40px,6vw,96px);align-items:center}.hero-copy{position:relative;z-index:2}.hero-index{display:flex;justify-content:space-between;gap:20px;padding-bottom:18px;border-bottom:1px solid rgba(255,255,255,.18);margin-bottom:30px;color:#8e8e8e;font-size:.65rem;letter-spacing:.14em;text-transform:uppercase}.hero-copy h1{font-size:clamp(3.45rem,5.25vw,5rem);line-height:.98;max-width:760px;font-weight:600;letter-spacing:-.065em}.hero-copy h1 em{display:inline;color:#fff;font-style:italic;font-weight:400;text-decoration:underline;text-decoration-color:var(--red);text-decoration-thickness:5px;text-underline-offset:9px}.hero-text{font-size:1rem;max-width:610px;color:#a5a5a5;line-height:1.75}.hero-art{height:auto;margin:0;position:relative;overflow:hidden;background:#111;aspect-ratio:3/4}.hero-art:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 58%,rgba(0,0,0,.76))}.hero-art img{width:100%;height:100%;object-fit:cover;object-position:58% center;transform:scale(1.01);transition:transform 1.5s var(--ease)}.hero-ready .hero-art img{transform:scale(1.06)}.hero-art figcaption{position:absolute;z-index:2;left:26px;right:26px;bottom:23px;display:flex;justify-content:space-between;gap:30px;color:#d5d5d5;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase}.hero-art figcaption span{color:var(--red)}.hero-pillars{margin-top:28px;margin-left:auto;width:min(calc(100% - 64px),var(--container));position:relative;z-index:2}.hero-pillars div{padding-top:18px}.hero-pillars span{font-size:.76rem}.js .hero-reveal{transform:translateY(18px);filter:blur(4px)}

.about-intro{background:var(--paper)}.about-layout{display:grid;grid-template-columns:.75fr 1.25fr;grid-template-areas:"title image" "title copy";gap:56px 9%;align-items:start}.about-sticky{grid-area:title;position:sticky;top:130px}.about-sticky h2{font-size:clamp(2.8rem,4.5vw,4.4rem);font-weight:550;line-height:1.01;letter-spacing:-.065em;margin:0;max-width:570px}.about-image{grid-area:image;margin:0;aspect-ratio:3/2;overflow:hidden}.about-image img{width:100%;height:100%;object-fit:cover}.about-copy{grid-area:copy;display:grid;grid-template-columns:1fr 1fr;gap:0 50px}.about-copy .lead,.about-copy>p{grid-column:1/-1;max-width:780px}.about-copy .lead{font-size:1.35rem;line-height:1.5;margin-top:6px}.principle-strip{grid-column:1/-1;display:grid;grid-template-columns:55px 1fr;padding:18px 0;border-top:1px solid #cbc9c2}.principle-strip:last-child{border-bottom:1px solid #cbc9c2}.principle-strip span{font-size:.66rem;color:var(--red)}.principle-strip strong{font-size:.9rem}

.services-section{background:#fff}.services-section .section-heading{display:grid;grid-template-columns:.35fr 1fr;max-width:none;align-items:start}.services-section .section-heading h2{font-size:clamp(2.8rem,4.5vw,4.3rem);font-weight:550;line-height:1.03;letter-spacing:-.06em}.services-grid{column-gap:0;border-bottom:1px solid #d4d4d1}.service-row{min-height:210px;padding:32px;border-color:#d4d4d1;border-right:1px solid #d4d4d1;background:#fff}.service-row:nth-child(even){border-right:0}.service-row:hover{padding-left:42px;background:#f4f3ef}.service-row h3{font-size:1.28rem;font-weight:600}.service-row p{max-width:430px}.service-arrow{font-size:1.2rem}

.process-section{padding:0;background:#090909}.process-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:8%;align-items:start}.process-intro{padding:130px 0}.process-intro .section-heading{margin-bottom:60px}.process-intro .section-heading h2{font-size:clamp(2.7rem,4vw,4rem);font-weight:550;line-height:1.03;letter-spacing:-.055em}.process-image{margin:0;width:72%;margin-left:auto;aspect-ratio:2/2.6;overflow:hidden}.process-image img{width:100%;height:100%;object-fit:cover}.process-grid{grid-template-columns:1fr;border-top:0;border-left:1px solid rgba(255,255,255,.14);align-self:stretch}.process-step,.process-step+.process-step{min-height:auto;padding:44px 10% 44px;display:grid;grid-template-columns:50px .65fr 1fr;gap:20px;align-items:start;border-right:0;border-bottom:1px solid rgba(255,255,255,.14)}.process-step:first-child{padding-top:132px}.process-step span{margin-top:5px}.process-step h3{margin:0;font-size:1.2rem}.process-step p{font-size:.84rem;max-width:300px}

.solutions-section{background:var(--paper)}.solutions-section .section-heading{max-width:900px}.solutions-section .section-heading h2{font-size:clamp(2.8rem,5vw,4.8rem);font-weight:550;line-height:1;letter-spacing:-.065em}.solution-list-wide{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #c9c7c1}.solution-list-wide span{display:grid;grid-template-columns:55px 1fr;align-items:center;padding:25px 16px 25px 0;font-size:1.05rem}.solution-list-wide span:nth-child(odd){border-right:1px solid #c9c7c1}.solution-list-wide span:nth-child(even){padding-left:28px}.solution-list-wide span:before{display:none}.solution-list-wide b{font-size:.65rem;color:var(--red)}

.final-cta{background:var(--red);position:relative;overflow:hidden}.final-cta:after{content:"N";position:absolute;right:-.04em;bottom:-.35em;color:rgba(0,0,0,.08);font-size:27rem;font-weight:700;line-height:1}.cta-inner{position:relative;z-index:1}.cta-inner h2{font-weight:550;letter-spacing:-.06em}.site-footer{padding-top:100px}.inner-hero{padding:205px 0 120px;position:relative;overflow:hidden}.inner-hero:after{content:"";position:absolute;width:38vw;height:1px;right:-4vw;bottom:24%;background:var(--red);transform:rotate(-11deg);transform-origin:right}.inner-hero .container{position:relative;z-index:1}.inner-hero h1{font-size:clamp(3.8rem,6.6vw,6.5rem);font-weight:550;line-height:.95;letter-spacing:-.07em;max-width:1060px}.inner-hero h1 em{color:#fff;text-decoration:underline;text-decoration-color:var(--red);text-decoration-thickness:5px;text-underline-offset:12px}.inner-hero .container>p:last-child{max-width:650px;line-height:1.75}.integration-section,.location-section{background:var(--paper)}.dark-section{background:#090909}.service-details{background:#fff}.contact-section{background:var(--paper)}.contact-form{background:#fff;box-shadow:0 28px 70px rgba(0,0,0,.07)}

@media(max-width:1024px){.hero-grid{grid-template-columns:.9fr 1.1fr}.hero-copy h1{font-size:3.4rem}.about-layout{gap:48px 6%}.process-layout{gap:4%}}
@media(max-width:820px){.container{width:calc(100% - 40px)}.site-header{height:72px}.hero{padding-top:108px}.hero:before{background-size:50% 100%}.hero-grid{grid-template-columns:1fr;gap:40px}.hero-copy h1{font-size:clamp(3.2rem,8.5vw,4.5rem)}.hero-art{aspect-ratio:16/10}.hero-pillars{width:calc(100% - 40px)}.about-layout{grid-template-columns:1fr;grid-template-areas:"title" "image" "copy"}.about-sticky{position:static}.services-section .section-heading{grid-template-columns:1fr}.process-layout{grid-template-columns:1fr}.process-intro{padding:96px 0 50px}.process-image{width:65%;margin:0}.process-grid{border-left:0;border-top:1px solid rgba(255,255,255,.14)}.process-step:first-child{padding-top:44px}.process-step,.process-step+.process-step{grid-template-columns:45px .65fr 1fr;padding:38px 0}.inner-hero h1{font-size:clamp(3.4rem,9vw,5rem)}}
@media(max-width:560px){.hero{padding-top:96px}.hero-copy h1{font-size:clamp(2.7rem,12.2vw,3.45rem)}.hero-copy h1 em{text-decoration-thickness:3px;text-underline-offset:6px}.hero-index{font-size:.56rem}.hero-art{aspect-ratio:4/5}.hero-art img{object-position:60% center}.hero-pillars{margin-top:20px}.about-sticky h2,.services-section .section-heading h2,.solutions-section .section-heading h2{font-size:2.6rem}.about-copy{grid-template-columns:1fr}.services-grid{border-bottom:0}.service-row{min-height:auto;padding:26px 10px 26px 0;border-right:0}.service-row:hover{padding-left:10px}.process-image{width:86%}.process-step,.process-step+.process-step{grid-template-columns:36px 1fr;padding:30px 0}.process-step p{grid-column:2}.solution-list-wide{grid-template-columns:1fr}.solution-list-wide span:nth-child(n){border-right:0;padding:21px 0}.final-cta:after{font-size:17rem}.inner-hero{padding:150px 0 85px}.inner-hero h1{font-size:2.85rem}.preloader-content{text-align:center}.preloader-kicker{font-size:.5rem}}

.inner-hero-grid{display:grid;grid-template-columns:1.35fr .45fr;gap:8%;align-items:center}.inner-hero-grid>div>p:last-child{color:#aaa;max-width:650px;line-height:1.75}.inner-hero-image{margin:0;height:390px;overflow:hidden}.inner-hero-image img{width:100%;height:100%;object-fit:cover}.location-photo{margin:0;position:relative;overflow:hidden;aspect-ratio:4/3}.location-photo img{width:100%;height:100%;object-fit:cover}.location-photo figcaption{position:absolute;left:18px;bottom:18px;background:#090909;color:#fff;padding:9px 13px;font-size:.62rem;letter-spacing:.13em;text-transform:uppercase}
@media(max-width:820px){.inner-hero-grid{grid-template-columns:1fr}.inner-hero-image{display:none}}
.hero-art{aspect-ratio:1/1.05}.hero-art img{object-position:62% center}
@media(max-width:820px){.hero-art{aspect-ratio:16/10}.hero-art img{object-position:58% center}}
@media(max-width:560px){.hero-art{aspect-ratio:4/5}.hero-art img{object-position:63% center}}

/* Direction indicators are drawn with CSS, never font glyphs or emoji. */
.ui-arrow{display:inline-block;flex:0 0 auto;width:18px;height:18px;background:currentColor;-webkit-mask:url('../images/arrow-up-right.svg') center/contain no-repeat;mask:url('../images/arrow-up-right.svg') center/contain no-repeat;transition:transform .3s var(--ease)}a:hover .ui-arrow,button:hover .ui-arrow{transform:translate(2px,-2px)}.service-arrow{margin-top:1px}.contact-lines .ui-arrow{color:var(--red)}.solution-list span:before{content:none}.menu-close{position:relative;font-size:0}.menu-close span:before,.menu-close span:after{content:"";position:absolute;left:11px;top:21px;width:22px;height:1px;background:#fff}.menu-close span:before{transform:rotate(45deg)}.menu-close span:after{transform:rotate(-45deg)}

@media(max-width:820px) and (prefers-reduced-motion:no-preference){
  .js .hero-reveal{transform:translateY(28px);filter:blur(5px);transition-duration:.72s}
  .js .hero-art.hero-reveal{transform:translateY(18px) scale(.97);clip-path:inset(0 0 14% 0)}
  .js .hero-ready .hero-art.hero-reveal{transform:none;clip-path:inset(0);transition:opacity .8s var(--ease),transform .8s var(--ease),clip-path .9s var(--ease),filter .8s var(--ease)}
  .js .reveal{transform:translateY(34px);transition-duration:.72s}
  .js figure.reveal{clip-path:inset(0 0 16% 0);transform:translateY(22px) scale(.985);transition:opacity .8s var(--ease),transform .8s var(--ease),clip-path .9s var(--ease)}
  .js figure.reveal.visible{clip-path:inset(0);transform:none}
  .services-grid .service-row:nth-child(even),.process-grid .process-step:nth-child(even){transition-delay:.08s}
  .solution-list-wide span{transition:padding-left .35s var(--ease),background .35s ease}
  .solution-list-wide span:active{padding-left:10px;background:rgba(255,255,255,.5)}
}

/* Four-second brand opening, centered consistently on every viewport. */
.preloader-content{text-align:center;display:flex;flex-direction:column;align-items:center}.preloader-kicker{text-align:center}.preloader-line{width:min(280px,72vw);margin:25px auto 0}.preloader-line i{animation-duration:3.25s;animation-delay:.12s}
@media(max-width:560px){.preloader-content{width:calc(100% - 48px)}.preloader-line{width:min(260px,76vw);margin-inline:auto}.preloader-logo{font-size:3rem}}

.region-list-section,.city-solutions{background:#fff}.region-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #d3d2cc}.region-card{position:relative;min-height:245px;padding:30px 54px 30px 0;border-bottom:1px solid #d3d2cc;border-right:1px solid #d3d2cc}.region-card:nth-child(3n+2),.region-card:nth-child(3n+3){padding-left:30px}.region-card:nth-child(3n){border-right:0}.region-card>span{color:var(--red);font-size:.65rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.region-card h3{font-size:1.45rem;margin:42px 0 10px}.region-card p{color:var(--gray);font-size:.86rem;max-width:310px}.region-card .ui-arrow{position:absolute;right:25px;top:30px}.city-hero .hero-actions{margin-top:34px}.city-hero h1{max-width:1050px}.city-priority-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #d3d2cc}.city-priority-grid article{padding:34px 40px 20px 0;border-right:1px solid #d3d2cc}.city-priority-grid article+article{padding-left:40px}.city-priority-grid article:last-child{border-right:0}.city-priority-grid span{color:var(--red);font-size:.66rem}.city-priority-grid h3{font-size:1.25rem;line-height:1.25;margin:35px 0 14px}.city-priority-grid p{color:var(--gray);font-size:.88rem}.city-services{background:var(--paper)}.city-service-list{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #ccc}.city-service-list a{display:flex;align-items:center;justify-content:space-between;padding:24px 20px 24px 0;border-bottom:1px solid #ccc;border-right:1px solid #ccc;font-weight:600}.city-service-list a:nth-child(even){padding-left:28px;border-right:0}.city-service-list .ui-arrow{color:var(--red)}.city-faq{background:#090909;color:#fff}.city-faq .values-list p{color:#999}.region-intro{background:var(--paper)}
@media(max-width:820px){.region-grid{grid-template-columns:1fr 1fr}.region-card:nth-child(n){padding:28px 44px 28px 0;border-right:1px solid #d3d2cc}.region-card:nth-child(even){padding-left:24px;border-right:0}.city-priority-grid{grid-template-columns:1fr}.city-priority-grid article,.city-priority-grid article+article{padding:28px 0;border-right:0;border-bottom:1px solid #d3d2cc}.city-service-list{grid-template-columns:1fr}.city-service-list a:nth-child(n){padding:22px 0;border-right:0}}
@media(max-width:560px){.region-grid{grid-template-columns:1fr}.region-card:nth-child(n){min-height:205px;padding:24px 40px 24px 0;border-right:0}.region-card h3{margin-top:30px}}

/* Region-card icon positioning is explicit so cached base styles cannot affect flow. */
.region-card{position:relative;display:block;isolation:isolate;padding-right:64px}.region-card .ui-arrow{position:absolute;z-index:2;right:28px;top:28px;width:20px;height:20px;color:var(--red);margin:0}.region-card:hover .ui-arrow{transform:translate(3px,-3px)}
@media(max-width:560px){.region-card:nth-child(n){padding-right:52px}.region-card .ui-arrow{right:18px;top:23px;width:18px;height:18px}}

/* Mobile polish — authoritative overrides for every public page. */
@media(max-width:680px) and (min-width:561px){
  .hero-copy h1{font-size:2.9rem;line-height:1.01;letter-spacing:-.055em}
  .hero-grid{gap:34px}
  .hero-art{aspect-ratio:16/10}
  .inner-hero h1,.city-hero h1{font-size:3rem;line-height:1.02}
  .section-heading h2,.about-sticky h2,.services-section .section-heading h2,.solutions-section .section-heading h2{font-size:2.75rem}
}
@media(max-width:560px){
  html,body{max-width:100%;overflow-x:hidden}
  body{font-size:15px;line-height:1.6}
  .container{width:calc(100% - 40px);max-width:none}
  .section{padding:72px 0}
  .site-header{height:68px}
  .header-inner{width:calc(100% - 32px)}
  .brand{font-size:1.22rem}
  .menu-toggle{margin-right:-8px}
  .mobile-menu{width:min(90vw,360px);padding:20px}
  .mobile-menu nav a{font-size:1.45rem;line-height:1.2;padding:12px 0}

  .hero{min-height:auto;padding:92px 0 28px}
  .hero:before{background-size:100% 100%}
  .hero-grid{gap:30px}
  .hero-index{margin-bottom:22px;padding-bottom:13px;gap:12px;font-size:.52rem;letter-spacing:.11em}
  .hero-copy h1{max-width:100%;font-size:clamp(2.25rem,10.4vw,2.75rem);line-height:1.01;letter-spacing:-.055em;overflow-wrap:normal;word-break:normal}
  .hero-copy h1 em{display:inline;text-decoration-thickness:3px;text-underline-offset:6px}
  .hero-text{font-size:.94rem;line-height:1.65;margin:22px 0 26px;color:#aaa}
  .hero-actions{display:grid;grid-template-columns:1fr;gap:10px}
  .hero-actions .button{width:100%;min-height:52px;padding:0 18px}
  .hero-art{width:100%;height:auto;aspect-ratio:4/3}
  .hero-art img{object-position:64% center}
  .hero-art figcaption{left:16px;right:16px;bottom:14px;gap:16px;font-size:.56rem;line-height:1.35}
  .hero-pillars{width:calc(100% - 40px);margin-top:18px;grid-template-columns:1fr}
  .hero-pillars div,.hero-pillars div+div{padding:14px 0}

  .eyebrow{font-size:.61rem;line-height:1.4;letter-spacing:.17em;margin-bottom:18px}
  .section-heading{margin-bottom:36px}
  .section-heading h2,.editorial-grid h2,.location-grid h2,.contact-info h2,.about-sticky h2,.services-section .section-heading h2,.solutions-section .section-heading h2{font-size:clamp(2rem,9.4vw,2.45rem);line-height:1.04;letter-spacing:-.052em}
  .lead,.about-copy .lead{font-size:1.05rem;line-height:1.55}
  .about-layout{gap:34px}
  .about-image{aspect-ratio:4/3}
  .about-copy{gap:0}
  .principle-strip{grid-template-columns:42px 1fr;padding:16px 0}
  .text-link{max-width:100%;gap:10px}

  .services-grid{grid-template-columns:1fr}
  .service-row{grid-template-columns:30px minmax(0,1fr) 20px;gap:9px;min-height:0;padding:24px 0}
  .service-row:hover{padding-left:0}
  .service-row h3{font-size:1.08rem;line-height:1.25}
  .service-row p{font-size:.84rem;line-height:1.55}

  .process-intro{padding:72px 0 38px}
  .process-intro .section-heading h2{font-size:2.25rem}
  .process-image{width:100%;aspect-ratio:4/3}
  .process-image img{object-position:center 35%}
  .process-step,.process-step+.process-step{grid-template-columns:32px 1fr;gap:10px;padding:26px 0}
  .process-step:first-child{padding-top:30px}
  .process-step h3{font-size:1.05rem}
  .process-step p{grid-column:2;font-size:.82rem}
  .solution-list-wide{grid-template-columns:1fr}
  .solution-list-wide span:nth-child(n){grid-template-columns:38px 1fr;padding:18px 0;border-right:0;font-size:.94rem}

  .final-cta{padding:64px 0}
  .cta-inner{gap:28px}
  .cta-inner h2{font-size:2.25rem;line-height:1.04}
  .cta-inner .button{width:100%}
  .final-cta:after{font-size:13rem}

  .inner-hero{padding:126px 0 72px}
  .inner-hero:after{width:62vw;bottom:18%}
  .inner-hero h1,.city-hero h1{font-size:clamp(2.25rem,10.5vw,2.8rem);line-height:1.01;letter-spacing:-.055em}
  .inner-hero h1 em{display:inline;text-decoration-thickness:3px;text-underline-offset:6px}
  .inner-hero .container>p:last-child,.inner-hero-grid>div>p:last-child{font-size:.94rem;line-height:1.65;margin-top:22px}
  .city-hero .hero-actions{margin-top:26px}

  .principles-grid{grid-template-columns:1fr}
  .principles-grid article,.principles-grid article+article{padding:22px 0}
  .location-grid{gap:34px}
  .location-photo{aspect-ratio:4/3}
  .service-detail{grid-template-columns:1fr;gap:22px;padding:36px 0}
  .service-benefit{grid-column:auto;padding:22px 18px}

  .contact-grid{grid-template-columns:1fr;gap:42px}
  .contact-lines>a,.contact-lines>div{grid-template-columns:78px minmax(0,1fr) 18px;gap:10px}
  .contact-lines strong{font-size:.86rem;overflow-wrap:anywhere}
  .contact-lines .ui-arrow{display:block}
  .contact-form{padding:24px 18px;box-shadow:0 18px 45px rgba(0,0,0,.06)}
  .form-row{grid-template-columns:1fr;gap:0}
  .contact-form .button{width:100%}

  .region-grid{grid-template-columns:1fr}
  .region-card:nth-child(n){min-height:0;padding:23px 48px 23px 0;border-right:0}
  .region-card h3{font-size:1.22rem;margin:28px 0 8px}
  .region-card p{font-size:.82rem;line-height:1.5}
  .region-card .ui-arrow{right:8px;top:22px}
  .city-priority-grid{grid-template-columns:1fr}
  .city-priority-grid article,.city-priority-grid article+article{padding:24px 0}
  .city-priority-grid h3{margin:22px 0 10px}
  .city-service-list{grid-template-columns:1fr}
  .city-service-list a:nth-child(n){gap:18px;padding:19px 0;font-size:.9rem}

  .site-footer{padding:68px 0 24px}
  .footer-grid{grid-template-columns:1fr;gap:34px}
  .footer-grid>div:first-child,.footer-grid>div:last-child{grid-column:auto}
  .footer-bottom{margin-top:42px;padding-top:20px;display:block}
  .footer-bottom a{margin-top:10px}
}

@media(max-width:380px){
  .container{width:calc(100% - 32px)}
  .hero-copy h1,.inner-hero h1,.city-hero h1{font-size:2.18rem}
  .hero-index span:last-child{display:none}
  .hero-pillars{width:calc(100% - 32px)}
  .cta-inner h2,.process-intro .section-heading h2{font-size:2rem}
}

/* Compact hero — prioritizes the campaign work and the content below the fold. */
.page-inicio .hero{min-height:auto;padding-top:116px;padding-bottom:26px}
.page-inicio .hero-grid{grid-template-columns:minmax(390px,.78fr) minmax(520px,1.22fr);gap:clamp(42px,6vw,86px)}
.page-inicio .hero-copy h1{max-width:620px;font-size:clamp(3.35rem,4.35vw,4.25rem);line-height:.98}
.page-inicio .hero-text{max-width:540px;margin:24px 0 28px}
.page-inicio .hero-art{aspect-ratio:4/3;max-height:570px}
.page-inicio .hero-art img{object-position:62% 68%}
.page-inicio .hero-pillars{margin-top:24px}
@media(max-width:1024px){.page-inicio .hero-grid{grid-template-columns:.82fr 1.18fr;gap:38px}.page-inicio .hero-copy h1{font-size:3.2rem}}
@media(max-width:820px){.page-inicio .hero{padding-top:94px}.page-inicio .hero-grid{grid-template-columns:1fr;gap:30px}.page-inicio .hero-copy h1{font-size:clamp(2.55rem,8.2vw,3.3rem)}.page-inicio .hero-art{aspect-ratio:16/10;max-height:none}.page-inicio .hero-art img{object-position:61% 65%}}
@media(max-width:560px){.page-inicio .hero{padding-top:88px}.page-inicio .hero-copy h1{font-size:clamp(2.15rem,9.7vw,2.55rem);line-height:1}.page-inicio .hero-text{margin:20px 0 24px}.page-inicio .hero-art{aspect-ratio:4/3}.page-inicio .hero-pillars{margin-top:16px}}
@media(max-width:380px){.page-inicio .hero-copy h1{font-size:2.05rem}}

/* GSAP owns motion when available, including mobile. */
.gsap-active .preloader-wash{display:none!important}
.gsap-active .preloader-kicker,.gsap-active .preloader-logo,.gsap-active .preloader-line i{animation:none!important}
.gsap-active .preloader-logo{clip-path:inset(0)!important}
.gsap-active .preloader-line{height:3px!important;background:#242424!important}
.gsap-active .preloader-line i{width:100%!important;background:#e1261c!important;box-shadow:0 0 10px rgba(225,38,28,.35)!important}
.gsap-active .preloader.exit{clip-path:none!important;transition:none!important}
.gsap-active .hero-reveal,.gsap-active .reveal,.gsap-active figure.reveal{filter:none!important;clip-path:none;transition:none!important}
@media(max-width:820px) and (prefers-reduced-motion:no-preference){.gsap-active .hero-reveal,.gsap-active .reveal,.gsap-active figure.reveal{filter:none!important;clip-path:none;transition:none!important}}
