*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--bg)}
body{margin:0;color:var(--text);font-family:var(--font-body);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body:after{content:"";position:fixed;inset:0;pointer-events:none;z-index:-3;background:radial-gradient(circle at 83% 10%,color-mix(in srgb,var(--accent) 18%,transparent),transparent 26%),radial-gradient(circle at 12% 82%,color-mix(in srgb,var(--bg2) 38%,transparent),transparent 34%);opacity:.92}
a{color:inherit}.shell{width:min(1200px,calc(100% - 44px));margin:auto}.skip-link{position:fixed;left:12px;top:12px;z-index:100000;background:#fff;color:#000;padding:10px 14px;transform:translateY(-180%)}.skip-link:focus{transform:none}

/* Header */
.site-header{position:fixed;top:0;left:0;right:0;z-index:1000;background:transparent;border-bottom:1px solid transparent;transition:background .35s ease,border-color .35s ease,transform .35s ease;-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0)}
.site-header.is-scrolled{background:color-mix(in srgb,var(--bg) 83%,transparent);border-color:color-mix(in srgb,var(--line) 58%,transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}
.site-header.is-hidden{transform:translateY(-100%)}
.header-inner{height:84px;display:flex;align-items:center;gap:30px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;position:relative;z-index:2}.brand img{width:42px;height:42px;object-fit:contain;display:block}.brand-copy{display:flex;flex-direction:column;line-height:1.04}.brand-copy strong{font:300 1rem var(--font-heading);letter-spacing:.01em}.brand-copy small{font-size:.66rem;color:var(--muted);margin-top:4px}.desktop-nav{display:flex;gap:28px;margin-left:auto;align-items:center}.desktop-nav a{text-decoration:none;color:var(--muted);font-size:.82rem;position:relative}.desktop-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-7px;height:1px;background:var(--accent);transition:right .25s ease}.desktop-nav a:hover{color:var(--text)}.desktop-nav a:hover:after{right:0}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 23px;border-radius:999px;background:linear-gradient(115deg,var(--accent),#fff);color:var(--button-text,#15100f);text-decoration:none;font-weight:700;border:1px solid color-mix(in srgb,var(--accent) 76%,white);cursor:pointer;position:relative;overflow:hidden;isolation:isolate;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.button:before{content:"";position:absolute;inset:-2px;z-index:-1;background:linear-gradient(110deg,transparent 12%,rgba(255,255,255,.38) 46%,transparent 72%);transform:translateX(-135%);transition:transform .65s cubic-bezier(.16,1,.3,1)}.button:hover:before{transform:translateX(135%)}.button:hover{transform:translateY(-2px);box-shadow:0 16px 42px color-mix(in srgb,var(--accent) 22%,transparent)}.button.small{min-height:42px;padding:0 18px;font-size:.82rem}.button.ghost{background:transparent;color:inherit;border:1px solid currentColor;box-shadow:none;opacity:.92}.button-link{border:0!important;padding-left:9px;padding-right:9px}
.menu-toggle{display:none;margin-left:auto;width:46px;height:46px;border:0;background:transparent;border-radius:50%;padding:11px;position:relative;z-index:1002}.menu-toggle span{display:block;height:1px;background:var(--text);margin:6px 0;transition:transform .25s ease,opacity .25s ease}.menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}.menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.mobile-menu{position:fixed;inset:0;z-index:999;background:color-mix(in srgb,var(--bg) 95%,transparent);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);padding-top:86px}.mobile-menu nav{min-height:calc(100svh - 86px);display:grid;place-content:center;gap:18px;text-align:center}.mobile-menu a{font-family:var(--font-heading);font-size:clamp(1.65rem,6vw,2.45rem);font-weight:300;text-decoration:none}.mobile-menu .button{font-size:1rem;margin-top:18px}

/* Type */
.eyebrow{text-transform:uppercase;letter-spacing:.20em;font-size:.68rem;font-weight:700;color:var(--accent);margin:0 0 17px}.section-light .eyebrow{color:var(--brand-main)}h1,h2,h3{font-family:var(--font-heading);letter-spacing:-.035em;line-height:1.03}h1{font-size:clamp(3.2rem,6.15vw,6.45rem);margin:.15em 0 .28em;font-weight:var(--heading-weight,300)}h2{font-size:clamp(2.45rem,4.45vw,4.55rem);margin:.2em 0 .36em;font-weight:var(--heading-weight,300)}h3{font-weight:700}.lead{font-size:clamp(1rem,1.38vw,1.18rem);line-height:1.7;color:var(--muted);max-width:690px}.statement{font:700 clamp(1.05rem,1.6vw,1.35rem) var(--font-heading)!important;color:var(--brand-dark)!important;border-left:3px solid var(--brand-main);padding-left:18px;margin-top:30px!important}
[data-reveal-title] .word{display:inline-block;overflow:hidden;vertical-align:bottom;margin-right:.19em}.word>span{display:inline-block;transform:translateY(112%);opacity:.12;transition:transform .78s cubic-bezier(.16,1,.3,1),opacity .78s ease;transition-delay:calc(var(--word-index,0) * 54ms)}[data-reveal-title].title-visible .word>span{transform:none;opacity:1}

/* Hero */
.hero{min-height:100svh;display:grid;align-items:center;padding:108px 0 64px;position:relative;overflow:hidden;border-bottom:1px solid color-mix(in srgb,var(--line) 55%,transparent)}
.hero .shell{width:min(1360px,calc(100% - 64px))}.hero-grid{min-height:calc(100svh - 172px);display:grid;grid-template-columns:minmax(0,.96fr) minmax(420px,.98fr);gap:clamp(28px,4vw,70px);align-items:end;position:relative}.hero-grid--left{grid-template-columns:minmax(420px,.98fr) minmax(0,.96fr)}.hero-grid--left .hero-visual{order:-1}.hero-copy{position:relative;z-index:6;max-width:640px;padding-left:10px;transform:translate3d(0,calc(var(--hero-progress,0) * -40px),0);opacity:calc(1 - var(--hero-progress,0) * .35)}.hero-copy h1{font-size:clamp(3.2rem,5vw,5.85rem);max-width:11ch;line-height:.96}.hero-copy .lead{max-width:34ch;font-size:1.13rem;line-height:1.72;color:color-mix(in srgb,var(--text) 84%,#fff)}.hero-actions{display:flex;flex-wrap:wrap;gap:15px;margin-top:30px}
.hero-visual{position:relative;align-self:end;min-height:clamp(560px,72vh,800px);display:flex;align-items:flex-end;justify-content:center;transform:none!important;will-change:auto}.hero-photo-panel{position:relative;inset:auto;z-index:3;overflow:visible;background:none;box-shadow:none;width:100%;height:100%;display:flex;align-items:flex-end;justify-content:center}.hero-photo-panel:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,color-mix(in srgb,var(--bg) 92%,transparent) 0%,color-mix(in srgb,var(--bg) 78%,transparent) 16%,transparent 39%),linear-gradient(0deg,color-mix(in srgb,var(--bg) 28%,transparent) 0%,transparent 18%);pointer-events:none}.hero-photo{position:relative;z-index:0;width:auto;height:100%;max-width:min(100%,760px);max-height:100%;object-fit:contain;object-position:center bottom;transform:none!important;transform-origin:center bottom;display:block;filter:drop-shadow(0 28px 56px rgba(0,0,0,.18))}
.hero-photo-glow{position:absolute;z-index:2;right:-6%;bottom:2%;width:64%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--accent) 30%,transparent),transparent 66%);filter:blur(28px);opacity:.34}.hero-architecture{position:absolute;inset:8% -2% 3% 0;z-index:1;opacity:.48;transform:translate3d(calc(var(--hero-progress,0) * -20px),calc(var(--hero-progress,0) * 22px),0)}.hero-architecture:before,.hero-architecture:after,.hero-architecture span{content:"";position:absolute;border:1px solid color-mix(in srgb,var(--accent) 17%,transparent);background:linear-gradient(180deg,color-mix(in srgb,var(--bg2) 38%,transparent),transparent)}.hero-architecture:before{left:8%;top:12%;width:28%;height:75%}.hero-architecture:after{right:3%;top:19%;width:22%;height:64%}.hero-architecture span:nth-child(1){left:35%;top:4%;width:20%;height:82%}.hero-architecture span:nth-child(2){left:52%;top:28%;width:27%;height:58%}.hero-architecture span:nth-child(3){left:24%;top:38%;width:17%;height:48%}.hero-architecture span:nth-child(4){right:23%;top:7%;width:13%;height:29%}
.hero-ambient{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}.hero-ambient__glow{position:absolute;border-radius:50%;filter:blur(74px);opacity:.20}.hero-ambient__glow--1{width:42vw;height:42vw;right:-17vw;top:-14vw;background:var(--accent)}.hero-ambient__glow--2{width:32vw;height:32vw;left:-18vw;bottom:-13vw;background:var(--bg2)}.hero-ambient__line{position:absolute;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--accent) 52%,transparent),transparent);transform-origin:center}.hero-ambient__line--1{width:45vw;right:-5vw;top:31%;transform:rotate(-29deg)}.hero-ambient__line--2{width:39vw;left:-9vw;bottom:22%;transform:rotate(24deg)}
.hero-pillars{margin-top:92px;max-width:650px}.hero-pillars__topline{display:flex;align-items:center;gap:9px;width:max-content;text-transform:uppercase;letter-spacing:.24em;font-size:.64rem;color:var(--muted);border-bottom:1px solid var(--accent);padding-bottom:8px;margin-bottom:12px}.hero-pillars__topline i{font-style:normal;color:var(--accent)}.hero-pillars__viewport{overflow:hidden;max-width:620px;-webkit-mask-image:linear-gradient(90deg,#000 84%,transparent);mask-image:linear-gradient(90deg,#000 84%,transparent)}.hero-pillars__track{display:flex;width:max-content;gap:13px;align-items:center;animation:heroTicker 28s linear infinite;color:var(--muted);font-size:.76rem;white-space:nowrap}.hero-pillars__track b{font-weight:400;color:var(--accent);opacity:.9}@keyframes heroTicker{to{transform:translateX(-50%)}}
.hero-scroll-cue{position:absolute;right:max(26px,calc((100vw - 1360px)/2 + 8px));bottom:75px;z-index:7;display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--muted);font-size:.62rem;text-transform:uppercase;letter-spacing:.11em;line-height:1.35}.hero-scroll-cue__mouse{width:23px;height:39px;border:1px solid var(--muted);border-radius:999px;display:grid;place-items:start center;padding-top:8px}.hero-scroll-cue__mouse i{display:block;width:3px;height:8px;border-radius:99px;background:var(--accent);animation:mouseWheel 1.6s ease-in-out infinite}@keyframes mouseWheel{0%,100%{transform:translateY(0);opacity:.4}50%{transform:translateY(10px);opacity:1}}

/* Shared sections */
.section{padding:clamp(96px,10vw,158px) 0;position:relative;border-top:1px solid color-mix(in srgb,var(--line) 42%,transparent)}.cinematic-section{overflow:hidden}.section-light{background:var(--light-bg);color:var(--light-text);border-color:color-mix(in srgb,var(--brand-light) 70%,transparent)}.section-light .lead,.section-light .copy p,.section-light .section-head>p,.section-light .audience-item p,.section-light .faq-answer>p{color:color-mix(in srgb,var(--light-text) 73%,transparent)}.section-light .button.ghost{color:var(--brand-dark);border-color:color-mix(in srgb,var(--brand-dark) 30%,transparent)}.copy p{color:var(--muted);font-size:1.01rem;line-height:1.8}.section-head{display:flex;justify-content:space-between;gap:44px;align-items:end;margin-bottom:52px}.section-head>div{max-width:760px}.section-head>p{max-width:440px;color:var(--muted);margin:0 0 12px}.section-head h2{margin-bottom:0}

/* About */
.section-about{padding-top:clamp(108px,12vw,182px);padding-bottom:clamp(100px,12vw,176px)}.about-grid{display:grid;grid-template-columns:.92fr 1.04fr;gap:clamp(48px,8vw,118px);align-items:center}.portrait-stage{min-height:690px;position:relative;display:flex;align-items:flex-end;justify-content:center;overflow:hidden;isolation:isolate}.portrait-stage__media{position:absolute;inset:0;z-index:2;overflow:hidden;transform:translateZ(0);backface-visibility:hidden;-webkit-backface-visibility:hidden}.portrait-card{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top;border-radius:0;display:block;opacity:1!important;visibility:visible!important;clip-path:none!important;-webkit-clip-path:none!important;box-shadow:none;backface-visibility:hidden;-webkit-backface-visibility:hidden}.portrait-stage:after,.portrait-stage__frame{display:none}.about-copy{position:relative;z-index:3}.about-copy h2{max-width:730px}body.motion-on .portrait-stage__media[data-about-reveal]{transform:translate3d(-24px,0,0) scale(.995);filter:saturate(.98);transition:transform .92s cubic-bezier(.16,1,.3,1),filter .92s ease}body.motion-on .portrait-stage__media[data-about-reveal].is-revealed{transform:translate3d(0,0,0) scale(1);filter:none}

/* Services / marquee */
.marquee-section{padding:clamp(95px,10vw,150px) 0;background:linear-gradient(180deg,var(--bg),color-mix(in srgb,var(--bg) 74%,var(--bg2)));border-top:1px solid var(--line)}.marquee-heading{display:flex;justify-content:space-between;gap:50px;align-items:end;margin-bottom:48px}.marquee-heading>div{max-width:760px}.marquee-heading>p{max-width:450px;color:var(--muted);margin:0 0 10px}.service-marquee{overflow:hidden;position:relative;padding:12px 0 18px}.service-marquee:before,.service-marquee:after{content:"";position:absolute;top:0;bottom:0;width:8vw;z-index:3;pointer-events:none}.service-marquee:before{left:0;background:linear-gradient(90deg,var(--bg),transparent)}.service-marquee:after{right:0;background:linear-gradient(-90deg,color-mix(in srgb,var(--bg) 74%,var(--bg2)),transparent)}.service-marquee__track{display:flex;width:max-content;animation:serviceMarquee var(--marquee-duration,48s) linear infinite;will-change:transform}.service-marquee__group{display:flex;gap:14px;padding-right:14px}.service-marquee:hover .service-marquee__track{animation-play-state:paused}@keyframes serviceMarquee{to{transform:translateX(-50%)}}
.service-card{width:min(335px,78vw);min-height:430px;border:1px solid color-mix(in srgb,var(--accent) 18%,transparent);border-radius:var(--radius);padding:25px;display:flex;flex-direction:column;position:relative;overflow:hidden;transition:transform .45s cubic-bezier(.16,1,.3,1),border-color .35s ease;isolation:isolate}.service-card:hover{transform:translateY(-9px);border-color:color-mix(in srgb,var(--accent) 58%,transparent)}.service-card--deep{background:color-mix(in srgb,var(--bg) 80%,var(--surface));color:var(--text)}.service-card--accent{background:linear-gradient(145deg,var(--brand-main),var(--brand-soft));color:#fff}.service-card--light{background:#fff;color:var(--brand-dark)}.service-card__index{font-size:.68rem;letter-spacing:.18em;opacity:.74}.service-card__art{height:170px;margin:24px -4px 20px;position:relative;overflow:hidden}.service-card__art:before,.service-card__art:after,.service-card__art i{content:"";position:absolute;border:1px solid currentColor;opacity:.16}.service-card__art:before{width:60%;height:82%;left:4%;top:10%;transform:rotate(-7deg)}.service-card__art:after{width:48%;height:64%;right:3%;top:20%;transform:rotate(9deg)}.service-card__art i:nth-child(1){width:70%;height:1px;left:10%;top:48%}.service-card__art i:nth-child(2){width:1px;height:80%;left:54%;top:10%}.service-card__art--photo{margin:24px -4px 20px;border-radius:calc(var(--radius) * .62);overflow:hidden;background:color-mix(in srgb,var(--surface) 82%,var(--bg));}.service-card__art--photo:before,.service-card__art--photo:after{display:none}.service-card__art--photo img{width:100%;height:100%;object-fit:cover;display:block;opacity:1;filter:none;transition:transform .65s cubic-bezier(.16,1,.3,1),filter .45s ease}.service-card:hover .service-card__art--photo img{transform:scale(1.03);filter:none}.service-card__copy{margin-top:auto;position:relative;z-index:2}.service-card h3{font-size:1.35rem;margin:0 0 10px}.service-card p{font-size:.9rem;line-height:1.62;opacity:.78}.service-card a{text-decoration:none;font-size:.78rem;font-weight:700;display:inline-block;margin-top:12px}

/* Approach */
.section-approach{background:linear-gradient(180deg,color-mix(in srgb,var(--bg) 88%,var(--bg2)),var(--bg));}.approach-experience{display:grid;grid-template-columns:minmax(290px,.72fr) minmax(0,1.5fr);gap:18px;align-items:stretch}.approach-tabs{display:grid;gap:8px;align-content:start}.approach-tab{display:grid;grid-template-columns:42px 1fr;gap:13px;align-items:center;width:100%;border:1px solid color-mix(in srgb,var(--line) 76%,transparent);border-radius:calc(var(--radius) * .64);padding:15px 17px;background:color-mix(in srgb,var(--bg) 82%,transparent);color:var(--text);text-align:left;cursor:pointer;transition:background .28s ease,border-color .28s ease,transform .28s ease}.approach-tab:hover{transform:translateX(4px)}.approach-tab.is-active{background:linear-gradient(115deg,var(--brand-main),color-mix(in srgb,var(--brand-soft) 80%,var(--bg)));border-color:color-mix(in srgb,var(--accent) 40%,transparent)}.approach-tab__index{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;border:1px solid color-mix(in srgb,currentColor 22%,transparent);font-size:.66rem}.approach-tab__text{display:flex;flex-direction:column}.approach-tab__text strong{font-size:.9rem}.approach-tab__text small{font-size:.72rem;color:var(--muted);margin-top:2px}.approach-tab.is-active .approach-tab__text small{color:#fff;opacity:.8}.approach-contact-card{border:1px solid var(--line);border-radius:calc(var(--radius) * .72);padding:21px;margin-top:9px;background:color-mix(in srgb,var(--surface) 58%,transparent)}.approach-contact-card p{color:var(--muted);font-size:.82rem}.approach-panels{position:relative;min-height:620px}.approach-panel{position:absolute;inset:0;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;padding:clamp(35px,5vw,68px);display:flex;align-items:flex-end;background:linear-gradient(145deg,color-mix(in srgb,var(--bg2) 62%,var(--bg)),var(--bg));isolation:isolate}.approach-panel[hidden]{display:none}.approach-panel__photo{position:absolute;inset:0;z-index:-2;overflow:hidden}.approach-panel__photo img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;filter:none;opacity:1}.approach-panel__photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,color-mix(in srgb,var(--bg) 78%,transparent) 0%,color-mix(in srgb,var(--bg) 28%,transparent) 48%,transparent 82%),linear-gradient(0deg,color-mix(in srgb,var(--bg) 18%,transparent),transparent 52%)}.approach-panel__ambient{position:absolute;inset:0;overflow:hidden;z-index:-1}.approach-panel__ambient:before{content:"";position:absolute;width:70%;aspect-ratio:1;border-radius:50%;right:-19%;top:-22%;background:radial-gradient(circle,color-mix(in srgb,var(--accent) 34%,transparent),transparent 68%);filter:blur(18px)}.approach-panel__ambient span{position:absolute;border:1px solid color-mix(in srgb,var(--accent) 14%,transparent)}.approach-panel__ambient span:first-child{inset:9% 7% 18% 37%;transform:rotate(-9deg)}.approach-panel__ambient span:last-child{inset:29% 17% 6% 55%;transform:rotate(8deg)}.approach-panel__content{max-width:670px;position:relative;z-index:2}.approach-panel h3{font-size:clamp(2.5rem,4.5vw,4.9rem);font-weight:300;margin:.1em 0 .3em}.approach-panel p{color:var(--muted);font-size:1rem;line-height:1.75}.approach-panel a{display:inline-block;margin-top:17px;text-decoration:none;font-size:.82rem;font-weight:700}

/* Audience */
.audience-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:clamp(50px,8vw,120px);align-items:start}.audience-intro{position:sticky;top:130px}.audience-list{border-top:1px solid color-mix(in srgb,var(--brand-dark) 24%,transparent)}.audience-item{display:grid;grid-template-columns:58px 1fr;gap:20px;padding:31px 0;border-bottom:1px solid color-mix(in srgb,var(--brand-dark) 18%,transparent);position:relative}.audience-item:after{content:"";position:absolute;left:0;bottom:-1px;width:0;height:1px;background:var(--brand-main);transition:width .85s cubic-bezier(.16,1,.3,1)}.audience-item.is-revealed:after{width:100%}.audience-item>span{font-size:.72rem;letter-spacing:.16em;color:var(--brand-main);padding-top:6px}.audience-item h3{font-size:clamp(1.45rem,2.4vw,2.2rem);font-weight:400;margin:0 0 8px}.audience-item p{margin:0;line-height:1.7}

/* Delivery */
.section-delivery{background:linear-gradient(135deg,var(--brand-dark),color-mix(in srgb,var(--brand-main) 66%,var(--brand-dark)))}.delivery-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(50px,8vw,112px);align-items:center}.delivery-copy p{color:var(--muted);line-height:1.8}.delivery-visual{min-height:650px;position:relative;overflow:hidden;border:1px solid var(--line);background:linear-gradient(145deg,#fff,var(--brand-light));box-shadow:0 35px 85px rgba(0,0,0,.18)}.delivery-visual:before{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(90deg,color-mix(in srgb,var(--bg) 24%,transparent),transparent 24%),linear-gradient(0deg,color-mix(in srgb,var(--bg) 24%,transparent),transparent 30%);pointer-events:none}.delivery-visual__photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top;display:block}.delivery-visual__card{position:absolute;z-index:4;right:22px;bottom:22px;min-width:230px;border:1px solid var(--line);background:color-mix(in srgb,var(--brand-dark) 88%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);padding:18px 20px}.delivery-visual__card span{display:block;color:var(--brand-light);font-size:.63rem;letter-spacing:.15em;text-transform:uppercase}.delivery-visual__card strong{display:block;margin-top:4px;font-size:1rem}

/* Authority */
.section-authority{background:var(--brand-dark)}.authority-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:clamp(55px,9vw,135px);align-items:start}.authority-intro{position:sticky;top:130px}.authority-intro p{color:var(--muted)}.authority-list{border-top:1px solid var(--line)}.authority-item{display:flex;flex-direction:column;padding:29px 0;border-bottom:1px solid var(--line);position:relative}.authority-item:after{content:"";position:absolute;left:0;bottom:-1px;width:0;height:1px;background:var(--accent);transition:width .85s cubic-bezier(.16,1,.3,1)}.authority-item.is-revealed:after{width:100%}.authority-item strong{font-family:var(--font-heading);font-size:clamp(1.8rem,3vw,3rem);font-weight:300}.authority-item span{color:var(--muted);margin-top:7px}

/* Blog home + blog pages */
.section-blog{background:#fff!important;color:var(--brand-dark)}.home-blog-mosaic{padding-bottom:0}.blog-actions{margin-top:25px}.post-card__link{display:inline-block;margin-top:12px;font-size:.78rem;font-weight:700;color:var(--brand-dark)}

/* FAQ */
.section-faq{padding-top:clamp(88px,9vw,145px)}.faq-layout{display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(42px,8vw,120px);align-items:start}.faq-intro{position:sticky;top:130px}.faq-list{border-top:1px solid color-mix(in srgb,var(--brand-dark) 20%,transparent)}.faq-item{border-bottom:1px solid color-mix(in srgb,var(--brand-dark) 18%,transparent)}.faq-question{width:100%;display:flex;justify-content:space-between;align-items:center;gap:20px;text-align:left;padding:24px 0;border:0;background:none;color:var(--brand-dark);font:700 1.06rem var(--font-heading);cursor:pointer}.faq-question span{width:32px;height:32px;border:1px solid color-mix(in srgb,var(--brand-dark) 24%,transparent);border-radius:50%;display:grid;place-items:center;color:var(--brand-main);transition:transform .3s ease,background .3s ease}.faq-item.open .faq-question span{transform:rotate(45deg);background:var(--brand-light)}.faq-answer{display:grid;grid-template-rows:0fr;transition:grid-template-rows .38s cubic-bezier(.16,1,.3,1)}.faq-answer>p{overflow:hidden;margin:0;color:color-mix(in srgb,var(--brand-dark) 72%,transparent)}.faq-item.open .faq-answer{grid-template-rows:1fr}.faq-item.open .faq-answer>p{padding:0 0 24px}

/* Contact */
.section-contact{padding-bottom:clamp(110px,12vw,176px);background:linear-gradient(180deg,var(--brand-dark),color-mix(in srgb,var(--brand-dark) 78%,var(--brand-main)))}.contact-layout{display:grid;grid-template-columns:.92fr 1.08fr;gap:clamp(45px,8vw,105px);align-items:stretch}.contact-copy{padding:25px 0}.contact-card{position:relative;border:1px solid var(--line);border-radius:var(--radius);padding:clamp(27px,4vw,49px);background:color-mix(in srgb,var(--brand-dark) 84%,transparent);overflow:hidden;display:grid;align-content:center;gap:10px;min-height:400px}.contact-card__ambient{position:absolute;inset:0;background:radial-gradient(circle at 85% 20%,color-mix(in srgb,var(--accent) 34%,transparent),transparent 28%),linear-gradient(130deg,transparent,color-mix(in srgb,var(--brand-main) 52%,transparent));opacity:.82}.contact-card a,.contact-card>div:not(.contact-card__ambient){position:relative;z-index:2;text-decoration:none;border:1px solid var(--line);border-radius:calc(var(--radius) * .65);padding:18px 20px;background:color-mix(in srgb,var(--brand-dark) 64%,transparent);display:flex;flex-direction:column;transition:transform .25s ease,border-color .25s ease}.contact-card a:hover{transform:translateX(5px);border-color:color-mix(in srgb,var(--accent) 58%,transparent)}.contact-card span{font-size:.66rem;letter-spacing:.13em;text-transform:uppercase;color:var(--muted)}.contact-card strong{font-size:.92rem;margin-top:4px}

/* Footer */
.site-footer{border-top:1px solid var(--line);padding:70px 0 24px;background:var(--brand-dark);color:#fff}.footer-grid{display:grid;grid-template-columns:1.45fr .7fr .9fr;gap:50px}.footer-grid>div{display:flex;flex-direction:column;gap:10px}.footer-brand{display:flex;align-items:center;gap:12px;margin-bottom:10px}.footer-logo{width:48px;height:48px;object-fit:contain}.footer-brand strong{font:300 1.1rem var(--font-heading)}.footer-grid a{text-decoration:none;color:var(--muted)}.footer-grid a:hover{color:#fff}.footer-grid p{color:var(--muted);max-width:540px}.footer-bottom{display:flex;justify-content:space-between;gap:30px;margin-top:55px;padding-top:22px;border-top:1px solid var(--line);font-size:.76rem;color:var(--muted)}.footer-bottom a{color:#fff}

/* Legal */
.legal-page{padding:145px 0 90px;min-height:100vh;background:#fff;color:var(--brand-dark)}.legal-page article{max-width:900px}.legal-page h1{font-size:clamp(2.7rem,6vw,5rem)}.legal-page h2{font-size:1.7rem;margin-top:2em}.legal-page p,.legal-page li{color:color-mix(in srgb,var(--brand-dark) 74%,transparent)}.links-page{max-width:680px}.links-logo{max-height:60px;max-width:180px}.links-stack{display:grid;gap:12px;margin-top:35px}.editor-body{min-height:360px}

/* Motion primitives */
body.motion-on [data-reveal]{opacity:0;transform:translate3d(0,38px,0);transition:opacity .88s cubic-bezier(.16,1,.3,1),transform .88s cubic-bezier(.16,1,.3,1),clip-path .95s cubic-bezier(.16,1,.3,1);transition-delay:var(--reveal-delay,0ms);will-change:transform,opacity,clip-path}body.motion-on [data-reveal="left"]{transform:translate3d(-64px,0,0)}body.motion-on [data-reveal="right"]{transform:translate3d(64px,0,0)}body.motion-on [data-reveal="image-left"]{transform:translate3d(-46px,0,0);clip-path:inset(0 100% 0 0)}body.motion-on [data-reveal="image-right"]{transform:translate3d(46px,0,0);clip-path:inset(0 0 0 100%)}body.motion-on [data-reveal].is-revealed{opacity:1;transform:none;clip-path:inset(0 0 0 0)}.hero [data-hero-item]{will-change:transform,opacity}.portrait-stage,.delivery-visual{will-change:transform}.cinematic-section:before{content:"";position:absolute;left:0;top:0;width:calc(var(--section-progress,0) * 100%);height:1px;background:linear-gradient(90deg,transparent,currentColor,transparent);opacity:.14;pointer-events:none}
[data-card-glow]{--mx:50%;--my:50%}[data-card-glow]:after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle 180px at var(--mx) var(--my),rgba(255,255,255,.11),transparent 70%);opacity:0;transition:opacity .25s ease}[data-card-glow]:hover:after{opacity:1}

/* Responsive */
@media(max-width:1040px){.desktop-nav,.desktop-cta{display:none}.menu-toggle{display:block}.header-inner{height:74px}.brand img{width:39px;height:39px}.hero{padding-top:90px}.hero .shell{width:min(100% - 34px,1200px)}.hero-grid,.hero-grid--left{grid-template-columns:1fr;min-height:calc(100svh - 142px)}.hero-grid--left .hero-visual{order:0}.hero-copy{padding:44px 0 0;max-width:min(60%,620px);z-index:5}.hero-copy:after{content:"";position:absolute;inset:-12% -14% -14% -8%;z-index:-1;background:linear-gradient(90deg,var(--bg) 0%,color-mix(in srgb,var(--bg) 92%,transparent) 52%,transparent 100%);pointer-events:none}.hero-visual{position:absolute;right:0;top:0;width:64%;height:100%;min-height:0;z-index:1;opacity:1}.hero-photo-panel{justify-content:flex-end}.hero-photo{max-width:100%;height:96%;object-position:right bottom}.hero-copy h1{max-width:10.2ch;font-size:clamp(2.95rem,7vw,4.9rem)}.hero-copy .lead{max-width:30ch;font-size:1.05rem}.hero-pillars{margin-top:34px;max-width:70%}.hero-scroll-cue{display:none}.about-grid{grid-template-columns:.92fr 1.08fr;gap:44px}.portrait-stage{min-height:580px}.approach-experience{grid-template-columns:1fr}.approach-tabs{grid-template-columns:repeat(2,1fr)}.approach-contact-card{grid-column:1/-1}.approach-panels{min-height:510px}.audience-grid,.delivery-layout,.authority-layout,.faq-layout,.contact-layout{grid-template-columns:1fr}.audience-intro,.authority-intro,.faq-intro{position:relative;top:auto}.authority-layout,.faq-layout{gap:42px}.delivery-visual{min-height:575px}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}}

@media(max-width:760px){.shell{width:min(100% - 28px,1200px)}.brand-copy strong{font-size:.88rem}.brand-copy small{font-size:.58rem}.hero{min-height:100svh;padding:72px 0 42px;align-items:start}.hero .shell{width:min(100% - 28px,1200px)}.hero-grid{display:block;min-height:auto}.hero-copy{padding-top:82px;max-width:none}.hero-copy:after{inset:-20% -10% -16% -8%;background:linear-gradient(180deg,color-mix(in srgb,var(--bg) 34%,transparent) 0%,color-mix(in srgb,var(--bg) 58%,transparent) 34%,var(--bg) 78%)}.hero-copy h1{font-size:clamp(2.45rem,10.8vw,4rem);max-width:9.6ch;margin-top:.16em}.hero-copy .lead{font-size:1rem;line-height:1.64;max-width:22ch}.hero-actions{display:grid;grid-template-columns:1fr;margin-top:22px;gap:14px;max-width:340px}.hero-actions .button{width:100%}.hero-actions .button-link{width:auto;justify-self:start}.hero-visual{position:absolute;inset:0;right:auto;top:0;width:100%;height:100%;min-height:0;opacity:1}.hero-photo-panel{justify-content:flex-end;align-items:flex-end;padding-right:0}.hero-photo-panel:before{background:linear-gradient(90deg,var(--bg) 0%,color-mix(in srgb,var(--bg) 82%,transparent) 35%,transparent 68%),linear-gradient(0deg,color-mix(in srgb,var(--bg) 22%,transparent) 0%,transparent 28%)}.hero-photo{height:78%;max-width:70%;object-position:right bottom;transform:none!important}.hero-architecture{opacity:.2}.hero-pillars{position:relative;left:auto;right:auto;bottom:auto;max-width:100%;margin:28px 0 0}.hero-pillars__viewport{max-width:100%}.hero-pillars__topline{margin-left:0;margin-right:0}.section{padding:84px 0}.section-about{padding-top:98px}.about-grid{grid-template-columns:1fr}.portrait-stage{min-height:530px;order:1}.about-copy{order:2}.marquee-heading,.section-head{display:block}.marquee-heading>p,.section-head>p{margin-top:18px}.service-card{width:82vw;min-height:390px}.approach-tabs{grid-template-columns:1fr}.approach-contact-card{grid-column:auto}.approach-panels{min-height:475px}.approach-panel{padding:31px}.approach-tab__text small{white-space:normal}.audience-item{grid-template-columns:42px 1fr}.delivery-visual{min-height:520px}.delivery-visual__card{right:8px;bottom:14px}.authority-item strong{font-size:1.95rem}.contact-card{min-height:345px}.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}.footer-bottom{flex-direction:column}.button{min-height:51px}}

@media(max-width:480px){.header-inner{height:68px}.mobile-menu{padding-top:74px}.hero{padding-top:68px;padding-bottom:34px}.hero-copy{padding-top:78px}.hero-copy h1{max-width:9.4ch;font-size:clamp(2.26rem,11vw,3.46rem)}.hero-copy .lead{max-width:20ch;font-size:.98rem}.hero-visual{inset:0}.hero-photo{height:74%;max-width:74%;margin-right:-3%}.hero-pillars__track{font-size:.69rem}.portrait-stage{min-height:455px}.service-card{width:86vw}.approach-panels{min-height:440px}.approach-panel__content h3{font-size:2.2rem}.delivery-visual{min-height:455px}.delivery-visual__card{min-width:190px}.faq-question{font-size:1rem}.footer-bottom{font-size:.72rem}}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.site-header,.button,.service-card,.approach-tab,.contact-card a{transition:none!important}.hero-pillars__track,.service-marquee__track,.hero-scroll-cue__mouse i{animation:none!important}body.motion-on [data-reveal]{opacity:1!important;transform:none!important;clip-path:none!important;transition:none!important}.hero-copy,.hero-visual,.portrait-stage,.portrait-stage__media,.delivery-visual{transform:none!important;opacity:1!important;filter:none!important}[data-reveal-title] .word>span{transform:none!important;opacity:1!important;transition:none!important}}
body[data-motion-preset="off"] .hero-pillars__track,body[data-motion-preset="off"] .service-marquee__track,body[data-motion-preset="off"] .hero-scroll-cue__mouse i{animation:none!important}body[data-motion-preset="off"] [data-reveal]{opacity:1!important;transform:none!important;clip-path:none!important;transition:none!important}body.motion-subtle [data-reveal]{transform:translate3d(0,18px,0)!important;transition-duration:.6s!important}body.motion-subtle [data-reveal="left"],body.motion-subtle [data-reveal="right"]{transform:translate3d(0,18px,0)!important}.reveal-delay-0{--reveal-delay:0ms}.reveal-delay-1{--reveal-delay:90ms}.reveal-delay-2{--reveal-delay:180ms}.reveal-delay-3{--reveal-delay:270ms}.reveal-delay-4{--reveal-delay:360ms}

/* =========================================================
   CSP Essential Core 1.2.5 — responsive hero + full-opacity media
   ========================================================= */
.section{padding:clamp(78px,8vw,124px) 0}
.section-about{padding-top:clamp(82px,8.5vw,128px);padding-bottom:clamp(82px,8.5vw,128px)}
.marquee-section{padding:clamp(78px,8vw,124px) 0}

/* About: no frame, no decorative box, media always clean. */
.portrait-stage{min-height:clamp(500px,61vw,650px);overflow:hidden;background:transparent}
.portrait-stage:before,.portrait-stage:after,.portrait-stage__frame{content:none!important;display:none!important;border:0!important;box-shadow:none!important}
.portrait-stage__media{inset:0;border:0!important;box-shadow:none!important;background:transparent!important}
.portrait-card{border:0!important;outline:0!important;box-shadow:none!important;background:transparent!important}

/* Hero: photo never crops. Transparent PNG/WebP stays transparent. */
.hero{min-height:100svh;height:auto;padding:92px 0 34px;overflow:hidden}
.hero .shell{width:min(1360px,calc(100% - 56px))}
.hero-grid{min-height:calc(100svh - 126px);grid-template-columns:minmax(0,.93fr) minmax(360px,1.07fr);gap:clamp(24px,3.6vw,58px);align-items:center}
.hero-copy{align-self:center;max-width:620px;padding-left:4px;transform:translate3d(0,calc(var(--hero-progress,0) * -28px),0);opacity:calc(1 - var(--hero-progress,0) * .28)}
.hero-copy h1{font-size:clamp(2.7rem,min(4.65vw,8vh),5.35rem);line-height:.98;max-width:12ch;margin:.12em 0 .25em}
.hero-copy .lead{font-size:clamp(.98rem,min(1.2vw,2.25vh),1.12rem);line-height:1.58;max-width:38ch}
.hero-actions{margin-top:23px;gap:13px}
.hero-pillars{margin-top:clamp(24px,4vh,54px);max-width:610px}
.hero-visual{position:relative!important;inset:auto!important;width:100%!important;height:clamp(430px,calc(100svh - 132px),770px)!important;min-height:0!important;align-self:center;display:flex;align-items:flex-end;justify-content:center;overflow:visible;opacity:1!important;transform:none!important}
.hero-photo-panel{position:relative;width:100%;height:100%;display:flex;align-items:flex-end;justify-content:center;overflow:visible;background:transparent!important;border:1px solid color-mix(in srgb,var(--accent) 18%,transparent);box-shadow:0 30px 84px rgba(49,20,14,.16);border-radius:2px}
.hero-photo-panel:before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,color-mix(in srgb,var(--bg) 78%,transparent) 0%,color-mix(in srgb,var(--bg) 35%,transparent) 18%,transparent 42%),linear-gradient(0deg,color-mix(in srgb,var(--bg) 16%,transparent),transparent 22%)}
.hero-photo{position:relative;z-index:0;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;object-position:center bottom!important;margin:0!important;background:transparent!important;filter:drop-shadow(0 24px 48px rgba(0,0,0,.14));transform:none!important}
.hero-photo-glow{pointer-events:none}

/* Card photos must remain at 100% visual strength. */
.service-card__art--photo{background:transparent!important}
.service-card__art--photo:before,.service-card__art--photo:after{display:none!important}
.service-card__art--photo img{opacity:1!important;filter:none!important;mix-blend-mode:normal!important}
.approach-panel__photo{z-index:0}
.approach-panel__photo img{opacity:1!important;filter:none!important;mix-blend-mode:normal!important}
.approach-panel__photo:after{display:none!important;content:none!important}
.approach-panel__ambient{z-index:1;pointer-events:none;opacity:.24}
.approach-panel__content{z-index:3;padding:24px 26px;border:1px solid color-mix(in srgb,var(--line) 88%,transparent);border-radius:calc(var(--radius) * .72);background:color-mix(in srgb,var(--bg) 86%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);max-width:610px}
.approach-panel__content p{color:color-mix(in srgb,var(--text) 86%,transparent)}

/* Shorter pages should not develop large dead zones. */
.copy p,.delivery-copy p,.approach-panel p{line-height:1.64}
.section-head{margin-bottom:38px}

@media(max-width:1180px){
  .hero{padding-top:84px}
  .hero-grid{grid-template-columns:minmax(0,.92fr) minmax(340px,1.08fr);min-height:calc(100svh - 112px)}
  .hero-copy h1{font-size:clamp(2.55rem,min(4.5vw,7.2vh),4.65rem)}
  .hero-visual{height:clamp(410px,calc(100svh - 118px),700px)!important}
}

@media(max-width:1040px){
  .hero{padding:74px 0 28px;min-height:100svh}
  .hero .shell{width:min(100% - 34px,1200px)}
  .hero-grid,.hero-grid--left{display:block;min-height:calc(100svh - 102px);position:relative}
  .hero-copy{position:relative;z-index:6;padding:68px 0 0;max-width:min(64%,600px)}
  .hero-copy:after{content:"";position:absolute;inset:-14% -24% -12% -7%;z-index:-1;background:linear-gradient(90deg,var(--bg) 0%,color-mix(in srgb,var(--bg) 92%,transparent) 48%,color-mix(in srgb,var(--bg) 66%,transparent) 70%,transparent 100%);pointer-events:none}
  .hero-copy h1{font-size:clamp(2.65rem,min(6.4vw,7.6vh),4.4rem);max-width:11ch}
  .hero-copy .lead{font-size:1rem;line-height:1.55;max-width:31ch}
  .hero-visual{position:absolute!important;right:-1%!important;top:20px!important;width:62%!important;height:calc(100% - 26px)!important;z-index:1}
  .hero-photo-panel{justify-content:flex-end;border-color:color-mix(in srgb,var(--accent) 12%,transparent);box-shadow:0 26px 62px rgba(49,20,14,.13)}
  .hero-photo{object-position:right top!important}
  .hero-pillars{margin-top:28px;max-width:74%}
  .hero-scroll-cue{display:none}
}

@media(max-width:760px){
  .hero{min-height:100svh;padding:68px 0 24px;align-items:start}
  .hero .shell{width:min(100% - 26px,1200px)}
  .hero-grid{min-height:calc(100svh - 92px)}
  .hero-copy{padding-top:76px;max-width:none;min-height:0}
  .hero-copy:after{inset:-18% -8% -10% -5%;background:linear-gradient(180deg,color-mix(in srgb,var(--bg) 24%,transparent) 0%,color-mix(in srgb,var(--bg) 62%,transparent) 46%,var(--bg) 83%)}
  .hero-copy h1{font-size:clamp(2.14rem,9.7vw,3rem);line-height:1.01;max-width:10.8ch;margin:.12em 0 .24em}
  .hero-copy .lead{font-size:.94rem;line-height:1.48;max-width:31ch}
  .hero-actions{display:grid;grid-template-columns:1fr;gap:10px;margin-top:18px;max-width:325px}
  .hero-actions .button{width:100%;min-height:46px}
  .hero-actions .button-link{justify-self:center;width:auto;min-height:34px}
  .hero-visual{position:absolute!important;top:70px!important;right:-10%!important;width:72%!important;height:52svh!important;min-height:300px!important;z-index:1;opacity:1!important}
  .hero-photo-panel{border:0!important;box-shadow:none!important;align-items:flex-start;justify-content:flex-end}
  .hero-photo-panel:before{background:linear-gradient(90deg,var(--bg) 0%,color-mix(in srgb,var(--bg) 76%,transparent) 36%,transparent 72%),linear-gradient(0deg,var(--bg) 0%,transparent 32%)}
  .hero-photo{object-position:right top!important;width:100%!important;height:100%!important;max-width:100%!important}
  .hero-photo-glow{opacity:.16}
  .hero-architecture{opacity:.12}
  .hero-pillars{position:relative;z-index:7;max-width:100%;margin:20px 0 0}
  .hero-pillars__topline{font-size:.58rem;padding-bottom:6px;margin-bottom:8px}
  .hero-pillars__track{font-size:.65rem}
  .section,.marquee-section{padding:70px 0}
  .section-about{padding:76px 0}
  .portrait-stage{min-height:460px}
  .service-card{min-height:360px}
  .approach-panel__content{padding:20px 21px}
}

@media(max-width:480px){
  .hero{padding-top:64px;padding-bottom:18px}
  .hero-grid{min-height:calc(100svh - 82px)}
  .hero-copy{padding-top:69px}
  .hero-copy h1{font-size:clamp(2.02rem,9.7vw,2.65rem);max-width:10.5ch}
  .hero-copy .lead{font-size:.9rem;line-height:1.45;max-width:30ch}
  .hero-visual{top:66px!important;right:-14%!important;width:76%!important;height:49svh!important;min-height:282px!important}
  .hero-pillars{margin-top:16px}
  .portrait-stage{min-height:420px}
}

@media(max-height:760px) and (min-width:761px){
  .hero{padding-top:78px;padding-bottom:20px}
  .hero-grid{min-height:calc(100svh - 98px)}
  .hero-copy h1{font-size:clamp(2.45rem,5.3vh,3.75rem)}
  .hero-copy .lead{font-size:.95rem;line-height:1.48;max-width:35ch}
  .hero-actions{margin-top:17px}
  .hero-pillars{margin-top:20px}
  .hero-visual{height:calc(100svh - 104px)!important}
}


/* =========================================================
   CSP Essential Core 1.2.6 — hero, approach overlay and delivery map
   ========================================================= */
.hero-photo-panel{border:0!important;box-shadow:none!important;border-radius:0!important;background:transparent!important}
.hero-photo{background:transparent!important;object-fit:contain!important;object-position:center bottom!important}
.hero-photo-panel::after{content:none!important;display:none!important}

.approach-panel{align-items:flex-end;justify-content:flex-start}
.approach-panel__content{max-width:min(470px,calc(100% - 56px));margin:0 0 22px 22px;padding:18px 22px;background:color-mix(in srgb,var(--bg) 70%,transparent);border:1px solid color-mix(in srgb,var(--line) 58%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 16px 34px rgba(0,0,0,.12)}
.approach-panel h3{font-size:clamp(2rem,4vw,4rem);margin:.08em 0 .18em;max-width:10ch}
.approach-panel p{font-size:.96rem;line-height:1.56;margin:0}

.delivery-layout{grid-template-columns:minmax(0,.92fr) minmax(300px,1fr);gap:clamp(34px,6vw,92px);align-items:center}
.delivery-copy{max-width:540px}
.delivery-visual{min-height:420px;border:0!important;background:transparent!important;box-shadow:none!important;overflow:visible!important;display:flex;align-items:center;justify-content:center;position:relative}
.delivery-visual:before{content:none!important;display:none!important}
.delivery-map-stage{position:relative;width:min(100%,560px);min-height:320px;display:flex;align-items:center;justify-content:center}
.delivery-map-stage:before{content:"";position:absolute;inset:12% 10%;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--accent) 18%,transparent),transparent 72%);filter:blur(10px);opacity:.8}
.delivery-map-stage:after{content:"";position:absolute;left:50%;bottom:7%;transform:translateX(-50%);width:38%;height:16px;background:radial-gradient(circle,rgba(0,0,0,.24),transparent 72%);filter:blur(12px);opacity:.52}
.delivery-map{position:relative;z-index:2;display:block;width:100%;max-width:540px;height:auto;filter:drop-shadow(0 24px 40px rgba(0,0,0,.16));animation:deliveryMapFloat 5.8s ease-in-out infinite}
@keyframes deliveryMapFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.delivery-visual__card{right:18px;bottom:12px;min-width:230px;background:color-mix(in srgb,var(--brand-dark) 82%,transparent)}

@media(max-width:1040px){
  .hero-photo-panel{border:0!important;box-shadow:none!important}
  .hero-copy{max-width:none;width:100%;padding-right:clamp(164px,26vw,250px)}
  .hero-copy h1{max-width:8.8ch}
  .hero-copy .lead{max-width:24ch}
  .hero-visual{position:absolute!important;right:-2%!important;top:24px!important;width:min(52vw,430px)!important;height:min(74svh,760px)!important;z-index:1;opacity:1!important}
  .hero-photo{object-position:right bottom!important}
  .hero-pillars{max-width:100%}
  .delivery-layout{grid-template-columns:1fr;gap:26px}
  .delivery-copy{max-width:620px}
  .delivery-visual{min-height:340px}
}

@media(max-width:760px){
  .hero{padding:68px 0 24px;min-height:100svh}
  .hero-grid{display:block;position:relative;min-height:calc(100svh - 90px)}
  .hero-copy{padding-top:86px;max-width:none;width:100%;padding-right:clamp(126px,28vw,170px);z-index:6}
  .hero-copy:after{inset:-16% -8% -10% -4%;background:linear-gradient(90deg,color-mix(in srgb,var(--bg) 98%,transparent) 0%,color-mix(in srgb,var(--bg) 94%,transparent) 46%,color-mix(in srgb,var(--bg) 28%,transparent) 72%,transparent 100%)}
  .hero-copy h1{font-size:clamp(2.28rem,10vw,3.4rem);max-width:8.2ch;line-height:.98}
  .hero-copy .lead{font-size:.95rem;line-height:1.5;max-width:22ch}
  .hero-actions{max-width:min(84vw,340px)}
  .hero-actions .button-link{justify-self:start}
  .hero-visual{position:absolute!important;top:70px!important;right:-10px!important;width:min(56vw,290px)!important;height:min(58svh,360px)!important;min-height:260px!important;z-index:1;opacity:1!important;pointer-events:none}
  .hero-photo-panel{align-items:flex-start!important;justify-content:flex-end!important}
  .hero-photo{width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-position:right top!important}
  .hero-architecture{opacity:.18}
  .hero-pillars{position:relative;z-index:7;margin-top:16px;max-width:100%}
  .approach-panel__content{max-width:calc(100% - 24px);margin:0 12px 12px;padding:16px 16px;background:color-mix(in srgb,var(--bg) 64%,transparent)}
  .approach-panel h3{font-size:clamp(1.85rem,8.2vw,2.6rem)}
  .delivery-visual{order:2;min-height:300px;margin-top:4px}
  .delivery-map-stage{min-height:240px}
  .delivery-map{width:min(92%,420px)}
  .delivery-visual__card{left:50%;right:auto;bottom:6px;transform:translateX(-50%);min-width:0;max-width:90%;padding:14px 16px;text-align:center}
}

@media(max-width:480px){
  .hero-copy{padding-top:80px;padding-right:clamp(108px,26vw,136px)}
  .hero-copy h1{font-size:clamp(2.1rem,10vw,2.85rem);max-width:8.1ch}
  .hero-copy .lead{font-size:.9rem;max-width:20ch}
  .hero-visual{top:66px!important;right:-12px!important;width:min(56vw,220px)!important;height:min(48svh,300px)!important;min-height:228px!important}
  .hero-pillars__track{font-size:.63rem}
}
