@font-face{font-family:Montserrat;src:url("assets/fonts/montserrat-variable.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
:root{--blue:#00324d;--deep:#021f30;--paper:#f4f7f5;--mist:#afc2c8;--teal:#00b7ce;--teal-soft:#6ec1e4;--lime:#e5ff00;--line:rgba(244,247,245,.17);color-scheme:dark}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:7rem;background:var(--deep)}
body{margin:0;min-width:320px;overflow-x:hidden;background:var(--deep);color:var(--paper);font-family:Montserrat,Arial,sans-serif;font-size:1rem;font-synthesis:none}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}
::selection{background:var(--teal);color:var(--deep)}
:focus-visible{outline:3px solid var(--teal);outline-offset:4px}
.skip-link{position:fixed;z-index:1000;top:.75rem;left:1rem;padding:.8rem 1rem;background:var(--lime);color:var(--deep);font-weight:800;transform:translateY(-170%);transition:transform .2s}
.skip-link:focus{transform:translateY(0)}
.site-header{position:fixed;z-index:50;top:1rem;left:50%;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;width:min(calc(100% - 2rem),1440px);min-height:64px;padding:.55rem .65rem .55rem 1rem;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:rgba(2,31,48,.7);backdrop-filter:blur(22px);box-shadow:0 16px 50px rgba(0,0,0,.2);transform:translateX(-50%)}
.brand{display:flex;align-items:center;gap:.8rem;font-weight:800;letter-spacing:-.03em}
.brand img{width:42px;height:42px;border-radius:0;object-fit:contain}
.site-header nav{display:flex;gap:clamp(1rem,2.6vw,2.7rem)}
.site-header nav a{color:var(--mist);font-size:.875rem;transition:color .2s}
.site-header nav a:hover{color:var(--paper)}
.menu-toggle{display:none}
.mobile-nav-cta{display:none}
.nav-cta{justify-self:end;padding:.85rem 1.2rem;border-radius:999px;background:linear-gradient(135deg,var(--lime),var(--teal));color:var(--deep);font-size:.875rem;font-weight:800}
.contact-shortcut{position:fixed;z-index:48;right:clamp(1rem,3vw,2rem);bottom:calc(1rem + env(safe-area-inset-bottom));display:inline-flex;align-items:center;justify-content:center;gap:.75rem;min-height:48px;padding:.7rem 1rem;border:1px solid rgba(2,31,48,.12);border-radius:999px;background:var(--lime);box-shadow:0 12px 35px rgba(0,0,0,.28);color:var(--deep);font-size:.875rem;font-weight:850;transition:transform .2s,box-shadow .2s}
.contact-shortcut--legal{display:inline-flex}
.contact-shortcut:hover{transform:translateY(-2px);box-shadow:0 16px 42px rgba(0,0,0,.34)}
.scroll-world{position:relative;background:var(--deep)}
.film-stage{position:sticky;z-index:0;top:0;width:100%;height:100svh;overflow:hidden;background:var(--deep)}
.film-poster,.scrub-film{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.scrub-film{opacity:0;transition:opacity .4s}
.scrub-film.is-ready{opacity:1}
.film-scrim{position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,31,48,.91) 0%,rgba(2,31,48,.52) 42%,rgba(2,31,48,.09) 76%),linear-gradient(0deg,rgba(2,31,48,.62),transparent 42%)}
.film-grain{position:absolute;inset:-40%;opacity:.075;background-image:repeating-radial-gradient(circle at 35% 45%,rgba(255,255,255,.65) 0 1px,transparent 1px 4px);background-size:7px 7px;mix-blend-mode:soft-light;animation:grain 1.3s steps(2) infinite;pointer-events:none}
.film-progress{position:absolute;z-index:3;top:0;right:0;left:0;height:3px;background:rgba(255,255,255,.14)}
.film-progress span{display:block;width:100%;height:100%;background:linear-gradient(90deg,var(--teal),var(--lime));transform:scaleX(0);transform-origin:left center}
.scene-rail{position:absolute;z-index:4;top:50%;right:clamp(1.2rem,3vw,3rem);display:grid;gap:.8rem;margin:0;padding:0;list-style:none;transform:translateY(-50%)}
.scene-rail li{display:grid;grid-template-columns:2rem auto;gap:.7rem;align-items:center;color:rgba(244,247,245,.45);font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;transition:color .35s,transform .35s}
.scene-rail li span{font:700 .65rem ui-monospace,monospace}
.scene-rail li::after{grid-column:1/-1;width:2.5rem;height:1px;background:rgba(244,247,245,.25);content:"";transition:width .35s,background .35s}
.scene-rail li.is-active{color:var(--paper);transform:translateX(-.4rem)}
.scene-rail li.is-active::after{width:100%;background:var(--teal)}
.story{position:relative;z-index:2;margin-top:-100svh}
.chapter{display:flex;align-items:center;min-height:100svh;padding:7rem clamp(1.25rem,6vw,6rem)}
.chapter-right{justify-content:flex-end}
.chapter-card{width:min(720px,54vw);padding:1rem 0;text-wrap:balance;transform-origin:left center}
.motion-ready .chapter-card{opacity:.16;filter:blur(7px);transform:translateY(3rem) scale(.97);transition:opacity .65s ease,filter .65s ease,transform .75s cubic-bezier(.16,1,.3,1)}
.motion-ready .chapter.is-active .chapter-card{opacity:1;filter:none;transform:none}
.chapter-right .chapter-card{text-align:right}
.kicker,.chapter-number{margin:0 0 1rem;color:var(--teal);font-size:.75rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.chapter h1,.chapter h2{max-width:11ch;margin:0;font-size:clamp(3.2rem,7vw,7.8rem);font-weight:850;line-height:.9;letter-spacing:-.065em}
.chapter h2{max-width:12ch;font-size:clamp(3rem,6vw,6.5rem)}
.chapter-card>p:not(.kicker):not(.chapter-number){max-width:42ch;margin:1.5rem 0 0;color:var(--mist);font-size:clamp(1rem,1.4vw,1.25rem);line-height:1.65}
.chapter-right .chapter-card>p:last-child{margin-left:auto}
.hero-cta{display:inline-flex;align-items:center;gap:2.4rem;margin-top:2rem;padding:1rem 1.2rem;background:linear-gradient(135deg,var(--teal-soft),var(--teal));color:var(--deep);font-weight:800;transition:gap .25s,filter .25s}
.hero-cta:hover{gap:3.1rem;filter:brightness(1.12)}
.hero-actions{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap}
.scroll-cue{display:inline-flex;align-items:center;gap:.75rem;margin-top:2rem;color:var(--mist);font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.scroll-cue::before{width:2.8rem;height:1px;background:var(--teal);content:"";animation:pulse-line 1.8s ease-in-out infinite;transform-origin:left}
.impact-list{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1.6rem}
.impact-list span{padding:.65rem .8rem;border:1px solid rgba(244,247,245,.4);background:rgba(2,31,48,.4);backdrop-filter:blur(12px);font-size:.78rem;font-weight:750}
.signal-strip{overflow:hidden;padding:1.15rem 0;background:linear-gradient(90deg,var(--teal),var(--teal-soft));color:var(--deep);font-size:clamp(1rem,2vw,1.8rem);font-weight:850;text-transform:uppercase}
.signal-track{display:flex;width:max-content;animation:marquee 28s linear infinite}
.signal-track>div{display:flex;align-items:center;gap:1.2rem;padding-right:1.2rem;white-space:nowrap}
.signal-strip b{font-weight:400;opacity:.5}
.section{padding:clamp(5rem,11vw,10rem) clamp(1.25rem,5vw,5rem)}
.section-head{display:grid;grid-template-columns:minmax(10rem,.5fr) minmax(18rem,1.4fr) minmax(14rem,.7fr);gap:clamp(1.5rem,4vw,5rem);align-items:start;max-width:1500px;margin:0 auto 5rem}
.section-head h2,.process-copy h2,.faq-head h2,.contact h2,.legal-page h1{margin:0;font-size:clamp(2.7rem,5.7vw,6.6rem);font-weight:850;line-height:.93;letter-spacing:-.06em;text-wrap:balance}
.section-head>p:last-child{margin:.6rem 0 0;color:var(--mist);line-height:1.7}
.services{background:var(--blue)}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);max-width:1500px;margin:auto}
.service-card{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:410px;padding:1.5rem;border:1px solid var(--line);overflow:hidden}
.service-card>span{position:absolute;top:1.5rem;left:1.5rem;color:var(--teal);font:700 .8rem ui-monospace,monospace}
.service-card::after{position:absolute;top:1.3rem;right:1.5rem;color:var(--mist);content:"↗";font-size:1.2rem}
.service-card::before{position:absolute;right:0;bottom:0;left:0;height:4px;background:linear-gradient(90deg,var(--teal),var(--lime));content:"";transform:scaleX(0);transform-origin:left;transition:transform .55s cubic-bezier(.16,1,.3,1)}
.service-card:hover::before,.service-card:focus-within::before{transform:scaleX(1)}
.service-card h3{max-width:13ch;margin:0 0 1rem;font-size:clamp(1.65rem,2.6vw,3rem);line-height:1;letter-spacing:-.045em}
.service-card p{max-width:46ch;margin:0;color:var(--mist);line-height:1.65}
.service-card ul{display:flex;flex-wrap:wrap;gap:.45rem;margin:1.3rem 0 0;padding:0;list-style:none}
.service-card li{padding:.4rem .55rem;border:1px solid var(--line);color:var(--mist);font-size:.72rem;font-weight:650}
.service-image{position:relative;grid-column:1/-1;margin:0;overflow:hidden}
.service-image img{width:100%;aspect-ratio:16/7;object-fit:cover;transition:transform 1s}
.service-image:hover img{transform:scale(1.025)}
.service-image figcaption{position:absolute;right:1.5rem;bottom:1.5rem;padding:.7rem .9rem;background:var(--paper);color:var(--deep);font-size:.875rem;font-weight:750}
.visibility-check{position:relative;overflow:hidden;background:radial-gradient(circle at 82% 18%,rgba(0,183,206,.2),transparent 28%),linear-gradient(145deg,var(--deep),var(--blue) 74%);color:var(--paper)}
.visibility-check::before{position:absolute;z-index:0;inset:clamp(1.2rem,3.4vw,3.8rem);background-image:linear-gradient(var(--teal),var(--teal)),linear-gradient(var(--teal),var(--teal)),linear-gradient(var(--teal),var(--teal)),linear-gradient(var(--teal),var(--teal)),linear-gradient(var(--teal),var(--teal)),linear-gradient(var(--teal),var(--teal));background-position:top,bottom,left top,left bottom,right top,right bottom;background-size:100% 1px,100% 1px,1px 24%,1px 24%,1px 24%,1px 24%;background-repeat:no-repeat;content:"";opacity:.2;pointer-events:none}
.visibility-check .section-head{position:relative;z-index:1;grid-template-columns:minmax(10rem,.5fr) minmax(18rem,1.4fr) minmax(14rem,.7fr)}
.visibility-check .kicker{color:var(--teal)}
.visibility-check .section-head>p:last-child{color:var(--mist)}
.brand-cascade{position:absolute;z-index:0;top:clamp(2rem,6vw,5.5rem);right:clamp(1.25rem,5vw,5rem);display:flex;align-items:center;gap:.5rem;opacity:.26;pointer-events:none}
.brand-cascade span{display:block;width:clamp(1rem,1.7vw,1.65rem);aspect-ratio:1;border:1px solid rgba(110,193,228,.5);background:rgba(0,183,206,.08)}
.brand-cascade span:nth-child(2),.brand-cascade span:nth-child(4){width:clamp(1.65rem,2.8vw,2.7rem)}
.brand-cascade span:nth-child(3){width:clamp(2.6rem,4.4vw,4.4rem);border-color:var(--lime);background:var(--lime)}
.visibility-paths{position:relative;z-index:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-width:1500px;margin:auto;border-top:1px solid rgba(244,247,245,.2);border-bottom:1px solid rgba(244,247,245,.2)}
.visibility-path{display:flex;min-height:410px;padding:clamp(1.5rem,3.6vw,3.5rem);background:linear-gradient(180deg,rgba(244,247,245,.045),rgba(244,247,245,.012));color:var(--paper);flex-direction:column;align-items:flex-start}
.visibility-path+ .visibility-path{border-left:1px solid rgba(244,247,245,.2)}
.path-number{color:var(--teal-soft);font-size:.75rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.visibility-path h3{max-width:13ch;margin:4.25rem 0 1rem;font-size:clamp(2rem,3.5vw,4rem);line-height:1;letter-spacing:-.055em}
.visibility-path p{max-width:52ch;margin:0 0 2rem;color:var(--mist);line-height:1.7}
.visibility-path .button-primary,.visibility-path .button-secondary{margin-top:auto}
.visibility-path .button-primary{border-color:var(--deep);background:var(--lime);color:var(--deep)}
.visibility-path .button-secondary{border-color:var(--paper);color:var(--paper)}
.visibility-path .button-secondary:hover{background:var(--paper);color:var(--deep)}
.open-frame{position:relative;border:0}
.open-frame::before{position:absolute;inset:0;background-image:linear-gradient(currentColor,currentColor),linear-gradient(currentColor,currentColor),linear-gradient(currentColor,currentColor),linear-gradient(currentColor,currentColor),linear-gradient(currentColor,currentColor),linear-gradient(currentColor,currentColor);background-position:top,bottom,left top,left bottom,right top,right bottom;background-size:100% 1px,100% 1px,1px 34%,1px 34%,1px 34%,1px 34%;background-repeat:no-repeat;content:"";pointer-events:none}
.visibility-path .button-primary.open-frame{background:var(--lime)}
.visibility-note{position:relative;z-index:1;max-width:1500px;margin:1.5rem auto 0;color:var(--mist);font-size:.82rem;line-height:1.6}
.visibility-note a{text-decoration:underline;text-decoration-color:var(--teal);text-underline-offset:.25em}
.process{display:grid;grid-template-columns:1.05fr .95fr;background:var(--paper);color:var(--deep)}
.process-image{position:sticky;top:0;height:100svh;margin:0;overflow:hidden}
.process-image img{width:100%;height:115%;object-fit:cover;transform:translateY(calc(var(--parallax,0) * -8%));will-change:transform}
.process-image::after{position:absolute;inset:0;background:linear-gradient(0deg,rgba(2,31,48,.86),transparent 46%);content:""}
.process-image figcaption{position:absolute;z-index:2;right:clamp(1.3rem,4vw,4rem);bottom:clamp(1.3rem,4vw,4rem);left:clamp(1.3rem,4vw,4rem);max-width:38rem;color:var(--paper);font-size:clamp(1rem,1.6vw,1.4rem);font-weight:650;line-height:1.5}
.process-image figcaption span{display:block;margin-bottom:.6rem;color:var(--teal-soft);font-size:.7rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.process-copy{padding:clamp(5rem,9vw,9rem) clamp(1.5rem,5vw,5rem)}
.process-copy .kicker{color:#007f91}
.process-copy h2{font-size:clamp(2.5rem,4.5vw,5rem)}
.process-copy ol{margin:5rem 0 0;padding:0;list-style:none}
.process-copy li{display:grid;grid-template-columns:4rem 1fr;gap:1.5rem;padding:1.7rem 0;border-top:1px solid rgba(2,31,48,.23)}
.process-copy li>span{color:#007f91;font:700 .8rem ui-monospace,monospace}
.process-copy h3{margin:0 0 .55rem;font-size:1.25rem}
.process-copy li p{margin:0;color:#3d5865;line-height:1.7}
.testimonial{position:relative;display:grid;grid-template-columns:.55fr 1.45fr;min-height:82svh;padding:clamp(5rem,10vw,10rem) clamp(1.25rem,7vw,8rem);overflow:hidden;background:linear-gradient(135deg,var(--teal) 0%,var(--teal-soft) 72%,var(--lime) 145%);color:var(--deep)}
.quote-mark{font-size:clamp(13rem,30vw,34rem);font-weight:850;line-height:.65;opacity:.18}
.testimonial figure{align-self:end;max-width:1050px;margin:0}
.testimonial blockquote{margin:0;font-size:clamp(2.15rem,5vw,5.6rem);font-weight:850;line-height:1;letter-spacing:-.055em}
.testimonial figcaption{display:flex;gap:1rem;margin-top:2rem}
.testimonial figcaption span{opacity:.7}
.team{background:var(--deep)}
.team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1rem,2vw,2rem);max-width:920px;margin:auto}
.person{min-width:0;padding:0 0 .8rem;background:var(--deep)}
.person img,.person-photo{display:block;width:100%;height:clamp(180px,19vw,230px);object-fit:cover}
.person img{filter:saturate(.83);transition:transform .6s,filter .6s}
.person:hover img{transform:scale(1.025);filter:saturate(1)}
.person-photo--pending{display:flex;align-items:center;justify-content:center;gap:.55rem;background:linear-gradient(145deg,#0d4558,#17677a 70%,#007f91);color:var(--paper);flex-direction:column}
.person-photo--pending span{font-size:clamp(2.1rem,5vw,4.3rem);font-weight:850;letter-spacing:-.08em}
.person-photo--pending small{font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.person h3{margin:1rem 0 .25rem;font-size:clamp(1.1rem,1.5vw,1.6rem);letter-spacing:-.03em}
.person p{margin:0 0 .6rem;color:var(--mist);font-size:.875rem}
.faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(2rem,8vw,10rem);background:var(--blue)}
.faq-head{position:sticky;top:8rem;align-self:start}
.faq-head h2{font-size:clamp(2.6rem,4.8vw,5.5rem)}
.faq-list{border-top:1px solid var(--line)}
.faq-list details{border-bottom:1px solid var(--line)}
.faq-list summary{display:grid;grid-template-columns:3rem 1fr auto;gap:1rem;align-items:center;padding:1.7rem 0;cursor:pointer;font-size:clamp(1rem,1.5vw,1.35rem);font-weight:750;list-style:none}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary span{color:var(--teal-soft);font:700 .8rem ui-monospace,monospace}
.faq-list summary b{font-size:1.8rem;font-weight:400;transition:transform .25s}
.faq-list details[open] summary b{transform:rotate(45deg)}
.faq-list details p{max-width:62ch;margin:0 0 2rem 4rem;color:var(--mist);line-height:1.75}
.contact{position:relative;display:flex;min-height:95svh;padding:clamp(6rem,12vw,12rem) clamp(1.25rem,7vw,8rem);overflow:hidden;background:var(--paper);color:var(--deep);flex-direction:column;justify-content:center}
.contact::after{position:absolute;right:-10vw;width:min(50vw,700px);aspect-ratio:1;border:1px solid rgba(0,183,206,.34);border-radius:50%;box-shadow:inset 0 0 0 8vw rgba(0,183,206,.045),inset 0 0 0 16vw rgba(0,183,206,.045);content:"";animation:rotate 22s linear infinite}
.contact .kicker{position:relative;z-index:1;color:#007f91}
.contact h2{position:relative;z-index:1;max-width:11ch;font-size:clamp(3.4rem,8vw,9rem)}
.contact>p:not(.kicker){position:relative;z-index:1;max-width:48ch;margin:2rem 0;color:#36515e;line-height:1.75}
.contact-links{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:1rem;margin-top:1rem}
.contact-links a{padding:1rem 1.25rem;border:1px solid var(--deep);font-weight:800}
.contact-links a:first-child{background:var(--deep);color:var(--paper)}
.contact address{position:relative;z-index:1;margin-top:3rem;font-style:normal;line-height:1.7}
@keyframes rotate{to{transform:rotate(360deg)}}
@keyframes marquee{to{transform:translateX(-50%)}}
@keyframes grain{0%{transform:translate3d(-2%,1%,0)}50%{transform:translate3d(2%,-1%,0)}100%{transform:translate3d(-1%,2%,0)}}
@keyframes pulse-line{50%{transform:scaleX(.45);opacity:.45}}
.site-footer{display:grid;grid-template-columns:1.2fr 1fr 1fr auto;gap:2rem;padding:3rem clamp(1.25rem,5vw,5rem);border-top:1px solid var(--line);background:var(--deep);color:var(--mist);font-size:.875rem}
.site-footer p{margin:.5rem 0}.footer-brand{display:inline-flex;align-items:center;gap:.75rem;color:var(--paper);font-size:1.2rem;font-weight:800}.footer-brand img{width:44px;height:44px;object-fit:contain}.site-footer address{font-style:normal;line-height:1.65}.site-footer nav{display:flex;flex-direction:column;gap:.65rem}.site-footer nav a:hover{text-decoration:underline;text-decoration-color:var(--teal)}
.footer-social{margin-top:1.35rem}.footer-social>span{display:block;margin-bottom:.7rem;color:var(--mist);font-size:.7rem;font-weight:750;letter-spacing:.1em;text-transform:uppercase}.footer-social>div{display:flex;flex-wrap:wrap;gap:.65rem 1rem}.footer-social a{display:inline-flex;align-items:center;gap:.55rem;min-height:44px;padding:.55rem .1rem;border-bottom:1px solid rgba(244,247,245,.28);color:var(--paper);font-size:.82rem;font-weight:700;line-height:1;transition:border-color .2s,color .2s,transform .2s}.footer-social a:hover{border-color:var(--teal);color:var(--teal-soft);transform:translateY(-1px)}.footer-social svg{width:20px;height:20px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.8}.footer-social path{fill:currentColor;stroke:none}.footer-social .social-arrow{color:var(--teal);font-size:.88rem;font-weight:800}
.site-header.is-scrolled{background:rgba(2,31,48,.92);box-shadow:0 18px 70px rgba(0,0,0,.32)}
.inner-main{background:var(--deep)}
.breadcrumbs{display:flex;flex-wrap:wrap;gap:.55rem;align-items:center;margin:0 0 2rem;color:var(--mist);font-size:.78rem}
.breadcrumbs a{text-decoration:underline;text-decoration-color:rgba(0,183,206,.65);text-underline-offset:.25em}
.breadcrumbs span[aria-hidden]{opacity:.5}
.page-hero{position:relative;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:clamp(2rem,8vw,9rem);align-items:end;min-height:82svh;padding:clamp(10rem,16vw,14rem) clamp(1.25rem,7vw,8rem) clamp(5rem,8vw,8rem);overflow:hidden;background:radial-gradient(circle at 84% 20%,rgba(0,183,206,.18),transparent 31%),linear-gradient(150deg,var(--deep),var(--blue))}
.page-hero::before{position:absolute;right:-12vw;bottom:-38vw;width:min(78vw,980px);aspect-ratio:1;border:1px solid rgba(110,193,228,.19);border-radius:50%;box-shadow:inset 0 0 0 9vw rgba(0,183,206,.025),inset 0 0 0 18vw rgba(0,183,206,.025);content:"";pointer-events:none}
.page-hero>div,.page-hero>aside{position:relative;z-index:1}
.page-hero h1{max-width:12ch;margin:0;font-size:clamp(3.3rem,7.7vw,8.7rem);font-weight:850;line-height:.88;letter-spacing:-.067em;text-wrap:balance}
.page-hero .lede{max-width:58ch;margin:2rem 0 0;color:var(--mist);font-size:clamp(1.05rem,1.5vw,1.35rem);line-height:1.75}
.page-hero .hero-actions{margin-top:2.1rem}
.button-primary,.button-secondary{display:inline-flex;align-items:center;justify-content:space-between;gap:2rem;min-height:52px;padding:.95rem 1.15rem;border:1px solid var(--teal);font-weight:800;transition:gap .25s,background .25s,color .25s,transform .25s}
.button-primary{background:linear-gradient(135deg,var(--teal-soft),var(--teal));color:var(--deep)}
.button-secondary{border-color:rgba(244,247,245,.4);color:var(--paper)}
.button-primary:hover,.button-secondary:hover{gap:2.7rem;transform:translateY(-2px)}
.button-secondary:hover{background:var(--paper);color:var(--deep)}
.hero-index{display:grid;gap:0;border-top:1px solid var(--line)}
.hero-index p{display:grid;grid-template-columns:2.4rem 1fr;gap:1rem;margin:0;padding:1.05rem 0;border-bottom:1px solid var(--line);color:var(--mist);font-size:.86rem;line-height:1.45}
.hero-index span{color:var(--teal);font:700 .72rem ui-monospace,monospace}
.trust-strip{display:flex;flex-wrap:wrap;gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--blue)}
.trust-strip span{flex:1 1 190px;padding:1.1rem clamp(1rem,3vw,3rem);border-right:1px solid var(--line);color:var(--mist);font-size:.75rem;font-weight:750;letter-spacing:.08em;text-align:center;text-transform:uppercase}
.content-section{padding:clamp(5rem,10vw,9rem) clamp(1.25rem,7vw,8rem);background:var(--paper);color:var(--deep)}
.content-section.is-dark{background:var(--deep);color:var(--paper)}
.content-section.is-blue{background:var(--blue);color:var(--paper)}
.content-intro{display:grid;grid-template-columns:minmax(160px,.45fr) minmax(0,1.25fr) minmax(220px,.65fr);gap:clamp(1.5rem,5vw,6rem);max-width:1500px;margin:0 auto 4.5rem}
.content-intro h2,.split-copy h2,.cta-panel h2{margin:0;font-size:clamp(2.5rem,5.6vw,6.4rem);font-weight:850;line-height:.94;letter-spacing:-.058em;text-wrap:balance}
.content-intro>p:last-child{margin:.5rem 0 0;color:#3d5865;line-height:1.75}
.is-dark .content-intro>p:last-child,.is-blue .content-intro>p:last-child{color:var(--mist)}
.content-section .kicker{color:#007f91}.content-section.is-dark .kicker,.content-section.is-blue .kicker{color:var(--teal)}
.editorial-grid{display:grid;grid-template-columns:repeat(3,1fr);max-width:1500px;margin:auto;border-top:1px solid rgba(2,31,48,.2);border-left:1px solid rgba(2,31,48,.2)}
.is-dark .editorial-grid,.is-blue .editorial-grid{border-color:var(--line)}
.editorial-card{position:relative;min-height:330px;padding:1.5rem;border-right:1px solid rgba(2,31,48,.2);border-bottom:1px solid rgba(2,31,48,.2)}
.is-dark .editorial-card,.is-blue .editorial-card{border-color:var(--line)}
.editorial-card .card-number{display:block;margin-bottom:5rem;color:#007f91;font:700 .75rem ui-monospace,monospace}
.is-dark .editorial-card .card-number,.is-blue .editorial-card .card-number{color:var(--teal)}
.editorial-card h3{max-width:15ch;margin:0 0 1rem;font-size:clamp(1.45rem,2.5vw,2.7rem);line-height:1.03;letter-spacing:-.045em}
.editorial-card p{margin:0;color:#3d5865;line-height:1.7}
.is-dark .editorial-card p,.is-blue .editorial-card p{color:var(--mist)}
a.editorial-card::after{position:absolute;top:1.45rem;right:1.5rem;color:#007f91;content:"↗";font-size:1.2rem;transition:transform .25s}
.is-dark a.editorial-card::after,.is-blue a.editorial-card::after{color:var(--teal)}
a.editorial-card:hover::after{transform:translate(.25rem,-.25rem)}
a.editorial-card:hover{background:rgba(0,183,206,.05)}
.split-section{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:80svh;background:var(--deep)}
.split-visual{position:relative;min-height:520px;margin:0;overflow:hidden}
.split-visual img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s cubic-bezier(.16,1,.3,1)}
.split-visual:hover img{transform:scale(1.035)}
.split-visual::after{position:absolute;inset:0;background:linear-gradient(0deg,rgba(2,31,48,.64),transparent 55%);content:""}
.split-visual figcaption{position:absolute;z-index:1;right:2rem;bottom:2rem;left:2rem;color:var(--paper);font-size:.8rem;font-weight:750;letter-spacing:.1em;text-transform:uppercase}
.split-copy{display:flex;padding:clamp(4rem,8vw,8rem) clamp(1.5rem,6vw,6rem);flex-direction:column;justify-content:center}
.split-copy>p:not(.kicker){max-width:58ch;margin:1.5rem 0 0;color:var(--mist);line-height:1.8}
.fact-list{display:grid;margin:3rem 0 0;padding:0;border-top:1px solid var(--line);list-style:none}
.fact-list li{display:grid;grid-template-columns:2rem 1fr;gap:1rem;padding:1.1rem 0;border-bottom:1px solid var(--line);color:var(--mist);line-height:1.5}
.fact-list span{color:var(--teal);font:700 .72rem ui-monospace,monospace}
.region-grid{display:grid;grid-template-columns:repeat(4,1fr);max-width:1500px;margin:auto}
.region-grid article{min-height:260px;padding:1.4rem;border:1px solid var(--line);background:linear-gradient(145deg,rgba(0,183,206,.09),transparent)}
.region-grid h3{margin:5rem 0 .7rem;font-size:clamp(1.35rem,2vw,2.2rem);letter-spacing:-.035em}
.region-grid p{margin:0;color:var(--mist);line-height:1.65}
.quote-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;max-width:1500px;margin:auto;background:var(--line)}
.quote-card{display:flex;min-height:460px;padding:clamp(1.5rem,4vw,4rem);background:var(--deep);flex-direction:column;justify-content:space-between}
.quote-card blockquote{margin:0;font-size:clamp(1.55rem,2.8vw,3.4rem);font-weight:780;line-height:1.12;letter-spacing:-.045em}
.quote-card figcaption{display:flex;margin-top:3rem;color:var(--mist);flex-direction:column;gap:.3rem}
.quote-card figcaption strong{color:var(--teal-soft)}
.reference-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;max-width:1500px;margin:auto;background:var(--line)}
.reference-card{min-height:380px;padding:1.6rem;background:var(--deep)}
.reference-card .sector{display:inline-block;padding:.45rem .6rem;border:1px solid var(--line);color:var(--teal-soft);font-size:.7rem;font-weight:750;text-transform:uppercase}
.reference-card h3{max-width:13ch;margin:6rem 0 1rem;font-size:clamp(1.8rem,3vw,3.4rem);line-height:.98;letter-spacing:-.05em}
.reference-card p{color:var(--mist);line-height:1.7}
.team-page-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1rem,2vw,2rem);max-width:920px;margin:auto}
.team-page-grid .person{background:var(--paper)}
.team-page-grid .person h3{color:var(--deep)}
.team-page-grid .person p{color:#3d5865}
.team-page-grid .person-photo--pending{background:linear-gradient(145deg,#d9e8e8,#9cc5ca);color:var(--deep)}
.cta-panel{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(250px,.8fr);gap:clamp(2rem,7vw,8rem);align-items:end;padding:clamp(5rem,11vw,10rem) clamp(1.25rem,7vw,8rem);background:linear-gradient(135deg,var(--teal) 0%,var(--teal-soft) 72%,var(--lime) 145%);color:var(--deep)}
.cta-panel h2{max-width:12ch}
.cta-panel p{max-width:48ch;margin:1rem 0 2rem;line-height:1.7}
.cta-panel .button-primary{background:var(--deep);color:var(--paper);border-color:var(--deep)}
.career-opening{display:grid;grid-template-columns:minmax(0,.62fr) minmax(0,1.38fr);gap:clamp(2rem,7vw,8rem);max-width:1500px;margin:auto}.career-meta{display:flex;flex-wrap:wrap;gap:.55rem;margin:1.4rem 0 0;padding:0;list-style:none}.career-meta li{padding:.5rem .65rem;border:1px solid var(--line);color:var(--teal-soft);font-size:.72rem;font-weight:750;text-transform:uppercase}.career-role{padding:clamp(1.5rem,4vw,4rem);border:1px solid var(--line);background:linear-gradient(145deg,rgba(0,183,206,.1),transparent)}.career-role h2{max-width:13ch;margin:0;font-size:clamp(2.4rem,5vw,5.6rem);line-height:.95;letter-spacing:-.055em}.career-role>p{max-width:58ch;margin:1.5rem 0;color:var(--mist);line-height:1.75}.career-responsibilities{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin:2rem 0 2.5rem;padding:0;list-style:none}.career-responsibilities li{padding:1rem;border-top:1px solid var(--line);color:var(--mist);line-height:1.55}.career-responsibilities li::before{display:block;margin-bottom:.5rem;color:var(--teal);content:"↗"}.career-note{max-width:1500px;margin:2rem auto 0;color:var(--mist);font-size:.82rem;line-height:1.65}.career-note a{text-decoration:underline;text-decoration-color:var(--teal);text-underline-offset:.25em}
.contact-options{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;margin-top:2rem;background:rgba(2,31,48,.25)}
.contact-option{padding:1.25rem;background:rgba(244,247,245,.34)}
.contact-option small{display:block;margin-bottom:.65rem;font-weight:750;text-transform:uppercase}
.contact-option a{font-size:clamp(1rem,1.6vw,1.35rem);font-weight:850;overflow-wrap:anywhere}
.legal-note{max-width:70ch;margin:2rem 0 0;color:#36515e;font-size:.82rem;line-height:1.65}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s ease}
.reveal.is-visible{opacity:1;transform:none}
.legal-header{display:flex;align-items:center;justify-content:space-between;padding:1rem clamp(1.25rem,5vw,5rem);border-bottom:1px solid var(--line)}
.legal-header .legal-logo{display:block;width:46px;height:46px;overflow:hidden;background:#000}
.legal-header .legal-logo img{width:100%;height:100%;object-fit:contain}
.legal-header>a:last-child{text-decoration:underline;text-decoration-color:var(--teal);text-underline-offset:.3em}
.legal-page{max-width:1040px;margin:auto;padding:clamp(5rem,10vw,9rem) clamp(1.25rem,5vw,5rem)}
.legal-page h1{margin:.5rem 0 1.5rem}
.legal-intro{max-width:58ch;color:var(--mist);font-size:1.2rem;line-height:1.7}
.legal-content{margin-top:5rem}.legal-content section{padding:2rem 0;border-top:1px solid var(--line)}.legal-content h2{margin:0 0 1rem;font-size:1.35rem;overflow-wrap:anywhere}.legal-content p{max-width:76ch;color:var(--mist);line-height:1.8}.legal-content a{text-decoration:underline;text-decoration-color:var(--teal);text-underline-offset:.25em}
@media(max-width:900px){
  .contact-shortcut{display:inline-flex}
  .site-header{grid-template-columns:1fr auto;padding-right:.7rem}.brand span{font-size:.9rem}
  .site-header nav{position:absolute;top:calc(100% + .55rem);right:0;left:0;display:none;gap:0;padding:.65rem;border:1px solid rgba(255,255,255,.16);border-radius:1.2rem;background:rgba(2,31,48,.97);box-shadow:0 22px 60px rgba(0,0,0,.35);flex-direction:column}
  .site-header.menu-open nav{display:flex}
  .site-header nav a{display:flex;align-items:center;min-height:48px;padding:.6rem .85rem;border-radius:.7rem;color:var(--paper);font-size:1rem;font-weight:700}
  .site-header nav a:hover,.site-header nav a[aria-current="page"]{background:rgba(0,183,206,.13);color:var(--teal-soft)}
  .site-header nav .mobile-nav-cta{display:flex;margin-top:.35rem;background:var(--teal);color:var(--deep)}
  .menu-toggle{display:flex;align-items:center;justify-content:center;gap:.65rem;min-width:48px;min-height:48px;padding:.5rem .8rem;border:0;border-radius:999px;background:rgba(244,247,245,.1);color:var(--paper);font-size:.85rem;font-weight:800;cursor:pointer}
  .menu-icon{display:flex;width:16px;gap:5px;flex-direction:column}.menu-icon i{display:block;width:100%;height:2px;background:currentColor;transition:transform .25s}.menu-open .menu-icon i:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-open .menu-icon i:last-child{transform:translateY(-3.5px) rotate(-45deg)}
  .site-header .nav-cta{display:none}
  .film-scrim{background:linear-gradient(0deg,rgba(2,31,48,.94) 0%,rgba(2,31,48,.45) 48%,rgba(2,31,48,.06) 78%)}
  .scene-rail{display:none}
  .chapter,.chapter-right{align-items:flex-end;justify-content:flex-start;min-height:82svh;padding:7rem 1.25rem 4rem}
  .chapter-hero{min-height:100svh}
  .chapter-card,.chapter-right .chapter-card{width:min(100%,600px);text-align:left}
  .chapter-right .chapter-card>p:last-child{margin-left:0}
  .chapter h1,.chapter h2{font-size:clamp(2.8rem,12vw,5.2rem)}
  .section-head{grid-template-columns:1fr;gap:1rem;margin-bottom:3rem}
  .section-head>p:last-child{max-width:52ch}
  .service-grid{grid-template-columns:repeat(2,1fr)}.service-card{min-height:360px}
  .visibility-check .section-head{grid-template-columns:1fr}
  .brand-cascade{top:2rem;right:1.2rem;transform:scale(.76);transform-origin:top right}
  .visibility-path{min-height:350px}
  .process{grid-template-columns:1fr}.process-image{position:relative;height:58svh}
  .testimonial{grid-template-columns:1fr;min-height:auto}.quote-mark{height:10rem}
  .team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .faq{grid-template-columns:1fr}.faq-head{position:static}
  .contact::after{right:-48vw;width:100vw;opacity:.26}
  .site-footer{grid-template-columns:1fr 1fr;padding-bottom:6rem}
  .page-hero{grid-template-columns:1fr;min-height:auto}.page-hero h1{font-size:clamp(3.2rem,11vw,6rem)}
  .content-intro{grid-template-columns:1fr;gap:1rem}.editorial-grid{grid-template-columns:repeat(2,1fr)}
  .split-section{grid-template-columns:1fr}.split-visual{min-height:55svh}.region-grid{grid-template-columns:repeat(2,1fr)}
  .quote-grid,.cta-panel{grid-template-columns:1fr}.reference-grid,.team-page-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .career-opening{grid-template-columns:1fr}
}
@media(max-width:560px){
  .site-header{top:.55rem;grid-template-columns:minmax(0,1fr) auto;width:calc(100% - 1rem);min-height:58px}.brand{min-width:0}.brand img{width:34px;height:34px}.brand span{font-size:.88rem}.menu-toggle{justify-self:end}
  .chapter,.chapter-right{min-height:78svh;padding:6rem 1.2rem 3rem}.chapter-hero{min-height:100svh}
  .chapter .kicker{max-width:27ch;font-size:.68rem;line-height:1.45;letter-spacing:.11em}
  .chapter h1{font-size:clamp(2.65rem,11vw,4.25rem);line-height:.98}.chapter h2{font-size:clamp(2.55rem,10vw,4rem);line-height:1}
  .chapter-card>p:not(.kicker):not(.chapter-number){margin-top:1.1rem;font-size:1rem;line-height:1.55}.hero-cta{margin-top:1.25rem}.scroll-cue{margin-top:1rem}
  .signal-strip{font-size:.875rem}.signal-track{animation-duration:22s}
  .section{padding:4.5rem 1.2rem}.section-head h2,.content-intro h2{font-size:clamp(2.45rem,11vw,3.8rem);line-height:1}
  .service-grid{display:block}.service-card{min-height:275px;padding:1.25rem}.service-image img{aspect-ratio:4/3}.service-image figcaption{right:.6rem;bottom:.6rem;left:.6rem;font-size:.75rem}
  .visibility-paths{grid-template-columns:1fr}.visibility-path{min-height:320px;padding:1.5rem}.visibility-path+ .visibility-path{border-top:1px solid rgba(244,247,245,.2);border-left:0}.visibility-path h3{margin-top:2.5rem}.visibility-path .button-primary,.visibility-path .button-secondary{width:100%}
  .brand-cascade{top:1.1rem;right:.65rem;gap:.35rem;opacity:.2;transform:scale(.62)}
  .process-copy{padding:5rem 1.2rem}.process-copy ol{margin-top:3rem}
  .testimonial{padding:4.5rem 1.2rem}.testimonial blockquote{font-size:clamp(2rem,8.4vw,2.45rem)}.testimonial figcaption{flex-direction:column}
  .team-grid,.team-page-grid{grid-template-columns:1fr;gap:0;max-width:600px}
  .person{display:grid;grid-template-columns:96px minmax(0,1fr);grid-template-rows:auto auto;column-gap:1rem;align-content:center;min-height:122px;padding:.8rem 0;border-bottom:1px solid var(--line)}
  .team-page-grid .person{border-color:rgba(2,31,48,.18)}
  .person img,.person-photo{grid-row:1/3;width:96px;height:96px;aspect-ratio:1/1}
  .person-photo--pending span{font-size:1.8rem}.person-photo--pending small{font-size:.56rem}
  .person h3{align-self:end;margin:0 0 .25rem;font-size:1.12rem;line-height:1.2}.person p{align-self:start;margin:0;font-size:.82rem;line-height:1.4}
  .faq-list summary{grid-template-columns:2rem 1fr auto}.faq-list details p{margin-left:3rem}
  .contact{min-height:auto;padding:5rem 1.2rem}.contact h2{font-size:clamp(2.75rem,12vw,4.3rem)}.contact-links{flex-direction:column}.contact-links a{text-align:center}
  .site-footer{grid-template-columns:1fr;padding:3rem 1.2rem}
  .footer-social>div{gap:.5rem 1.25rem}.footer-social a{font-size:.88rem}
  .page-hero{padding:7rem 1.2rem 3.5rem}.page-hero h1{font-size:clamp(2.7rem,12vw,4.3rem);line-height:.98}.page-hero .lede{margin-top:1.3rem}
  .editorial-grid,.region-grid,.reference-grid,.team-page-grid,.contact-options{grid-template-columns:1fr}
  .career-responsibilities{grid-template-columns:1fr}
  .editorial-card{min-height:290px}.quote-card{min-height:380px}.split-visual{min-height:430px}
  .content-section,.cta-panel{padding-right:1.2rem;padding-left:1.2rem}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .reveal{opacity:1;transform:none}
  .contact::after{animation:none}
  .film-grain,.signal-track,.scroll-cue::before{animation:none}
  .motion-ready .chapter-card{opacity:1;filter:none;transform:none}
}
