@font-face{font-family:Gramatika;src:url('assets/gramatika-regular.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Gramatika;src:url('assets/gramatika-medium.woff2') format('woff2');font-style:normal;font-weight:500;font-display:swap}
:root{--ink:#102d24;--paper:#f8f7f4;--green:#5fa382;--sage:#aabdad;--gutter:5vw;--read:0}*{box-sizing:border-box}html{scroll-behavior:auto;scroll-padding-top:120px}body{margin:0;color:var(--ink);background:var(--paper);font-family:Gramatika,Arial,sans-serif;font-synthesis:none}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:400}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,video:focus-visible{outline:2px solid #236946;outline-offset:7px}button{background:none;border:0}a.text-link:hover,.contact-link:hover{border-bottom-color:currentColor}[hidden]{display:none!important}.skip{position:fixed;top:0;left:20px;z-index:20;padding:16px;background:var(--paper);transform:translateY(-110%)}.skip:focus{transform:none}
.environment{position:fixed;inset:0;pointer-events:none;z-index:0;background:var(--paper)}.environment video{height:100%;width:100%;object-fit:cover}.light,.reading-light{position:absolute;inset:0}.light{background:linear-gradient(90deg,rgba(248,247,244,.57),rgba(248,247,244,.1) 48%,transparent 72%),linear-gradient(rgba(248,247,244,.7),transparent 20%,transparent 80%,rgba(248,247,244,.15))}.reading-light{background:#f8f7f4;opacity:var(--read)}
.header{position:fixed;z-index:10;inset:0 0 auto;display:flex;align-items:center;justify-content:space-between;padding:24px var(--gutter);gap:32px;background:linear-gradient(#f8f7f4ad,transparent);height:118px}.brand{display:block;flex:none;width:82px;aspect-ratio:790/540;background:url('assets/logo-l.png') no-repeat 52.38% 33.7%/126.58% auto}.header nav{display:flex;gap:32px;font-size:14px}.header a{position:relative}.header nav a:after{content:'';height:1px;position:absolute;bottom:-8px;left:0;width:100%;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .25s}.header nav a:hover:after,.header nav a[aria-current]:after{transform:scaleX(1)}.contact-link{font-size:16px;display:flex;align-items:center;gap:25px;border-bottom:1px solid transparent;padding-bottom:5px}.contact-link span{font-size:25px}
#journey{height:650vh}.stage{position:sticky;top:0;height:100svh;isolation:isolate}.scene{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;padding:110px var(--gutter) 90px;opacity:0;visibility:hidden;will-change:opacity}.hero{opacity:1;visibility:visible;justify-content:flex-start;padding-top:25vh}.hero h1{font-size:clamp(46px,4.5vw,88px);line-height:1.06;letter-spacing:-.045em;max-width:63vw;text-shadow:0 1px 20px #f8f7f429}.line{display:block;overflow:hidden}.line>span{display:block}.eyebrow{font-size:14px;letter-spacing:.07em;margin-bottom:30px}.purpose{align-items:center;text-align:center}.purpose h2{max-width:1100px;font-size:clamp(34px,3.7vw,67px);line-height:1.15;letter-spacing:-.035em}.principles{display:flex;gap:0;margin-top:42px;font-size:16px}.principles span+span:before{content:'—';display:inline-block;margin:0 24px;opacity:.5}.process{display:grid;grid-template-columns:1.05fr 1fr;align-content:center;align-items:center;gap:9vw}.process h2{font-size:clamp(34px,3.6vw,66px);line-height:1.08;letter-spacing:-.045em;margin-bottom:30px}.body-copy{max-width:540px;font-size:clamp(16px,1.35vw,22px);line-height:1.5}.steps{list-style:none;margin:0;padding:0}.steps li{display:grid;grid-template-columns:40px 1fr;gap:18px;padding:19px 0;border-top:1px solid #102d2433}.steps li>span{font-size:14px;padding-top:5px}.steps h3{font-size:clamp(20px,1.8vw,30px);line-height:1.1;margin-bottom:8px}.steps p{font-size:16px;line-height:1.4}.steps small{display:block;margin-top:10px;font-size:14px;color:#355e4c}.travel-caption{position:absolute;bottom:15vh;left:0;right:0;text-align:center;font-size:16px;opacity:0;visibility:hidden}.travel-caption span{margin:0 18px}.journey-tools{position:fixed;bottom:26px;left:var(--gutter);right:var(--gutter);z-index:9;display:flex;justify-content:space-between;pointer-events:none;font-size:13px}.journey-tools button{pointer-events:auto;font-size:13px;border-bottom:1px solid #102d2450;padding:4px 0}.scroll-cue span{margin-left:22px}.progress{position:fixed;inset:auto auto 0 0;height:2px;width:100%;background:var(--green);transform:scaleX(0);transform-origin:left;z-index:11}
.plaza{padding:0 var(--gutter);position:relative}.solutions{padding:95px 0 90px;scroll-margin-top:20px}.section-heading{margin-bottom:46px}.section-heading h2{font-size:clamp(56px,7vw,126px);letter-spacing:-.055em;line-height:1.04}.section-heading .eyebrow{margin-bottom:18px}.product-selector{display:flex;border-bottom:1px solid #102d2440;gap:55px;margin-bottom:42px}.product-selector button{font-size:clamp(24px,2.5vw,42px);letter-spacing:-.035em;padding:0 0 20px;position:relative;opacity:.5}.product-selector button[aria-selected=true]{opacity:1}.product-selector button[aria-selected=true]:after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:3px;background:var(--ink)}.product{display:grid;grid-template-columns:1fr 1.15fr;gap:8vw;align-items:center;min-height:460px}.product-copy{max-width:560px}.product-lead{font-size:15px;line-height:1.45;max-width:380px;margin-bottom:32px}.product h3{font-size:clamp(28px,3vw,50px);line-height:1.1;letter-spacing:-.035em;margin-bottom:25px}.product-copy>p:not(.product-lead){font-size:18px;line-height:1.5;margin-bottom:15px}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:40px;border-bottom:1px solid #102d2455;padding:14px 0 12px;margin-top:14px;font-size:16px}.text-link span{font-size:24px}.media{width:100%;height:440px;max-height:52vh;overflow:hidden;background:#e4e9e2;box-shadow:0 25px 60px -38px #102d2480}.media img,.media video{display:block;width:100%;height:100%;object-fit:contain}.media img{object-fit:cover}.audiences{display:grid;grid-template-columns:1fr 1fr;gap:8vw;margin-top:100px;padding-top:30px;border-top:1px solid #102d2433}.audiences h3{font-size:26px;margin-bottom:15px}.audiences p{font-size:18px;line-height:1.5;max-width:530px}.partners{padding:70px 0 90px}.partner-logos{display:flex;justify-content:space-between;align-items:center;gap:45px;margin-top:46px}.partner-logos img{object-fit:contain;max-width:16%;width:165px;height:65px;mix-blend-mode:multiply}.testimonials{padding:70px 0 90px;border-top:1px solid #102d2433}.quote-heading{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-bottom:55px}.quote-heading h2{font-size:32px;letter-spacing:-.025em}.quote-controls{display:flex;align-items:center;gap:22px;font-size:14px}.quote-controls button{font-size:27px;padding:7px}.quote-body{min-height:320px;max-width:980px;margin:auto}.quote figcaption{font-size:13px;letter-spacing:.06em;margin-bottom:27px}.quote blockquote{margin:0;font-size:clamp(24px,2.6vw,43px);line-height:1.3;letter-spacing:-.025em}.quote:nth-child(2) blockquote{font-size:clamp(22px,1.9vw,32px)}.quote:nth-child(3) blockquote{font-size:clamp(22px,2.1vw,35px)}.closing{text-align:center;padding:110px 0 145px;scroll-margin-top:90px}.closing h2{font-size:clamp(46px,6vw,106px);line-height:1.06;letter-spacing:-.05em}.closing>p:not(.eyebrow){font-size:20px;line-height:1.5;max-width:600px;margin:30px auto}.closing-link{display:inline-flex;align-items:center;gap:75px;font-size:24px;border-bottom:1px solid var(--ink);padding:20px 0 15px}.closing-link span{font-size:40px}.site-footer{display:grid;grid-template-columns:2fr 1fr 1fr;gap:50px;padding:50px 0 80px;border-top:1px solid #102d2440}.site-footer .brand{width:70px;margin-bottom:25px}.site-footer p,.site-footer a{font-size:15px;line-height:1.6}.site-footer>div>a:not(.brand){display:block;margin:9px 0}.site-footer .eyebrow{margin-bottom:17px}.footer-bottom{grid-column:1/-1;display:flex;justify-content:space-between;font-size:13px;margin-top:45px}.lenis.lenis-smooth{scroll-behavior:auto!important}
body.reading #journey{height:auto}body.reading .stage{position:relative;height:auto}body.reading .scene{position:relative;min-height:85vh;opacity:1!important;visibility:visible!important;transform:none!important}body.reading .hero{padding-top:180px}body.reading .line>span{transform:none!important}body.reading .travel-caption,body.reading .scroll-cue{display:none}body.reading .reading-light{opacity:.88!important}body.reading .light{opacity:1!important}
@media(min-aspect-ratio:2/1){.environment video{object-fit:contain}.hero{padding-top:21vh}.hero h1{font-size:4.1vw}.steps li{padding:12px 0}.process h2{font-size:3.2vw}.process .body-copy{font-size:17px}}
@media(max-width:900px){:root{--gutter:6vw}.header{height:90px;padding-top:15px}.header nav{display:none}.header .brand{width:64px}.contact-link{font-size:14px;gap:14px}.scene{padding-top:120px;padding-bottom:70px}.hero h1{font-size:6vw;max-width:88vw}.purpose h2{font-size:5vw}.process{gap:4vw}.process h2{font-size:4vw}.steps p{font-size:14px}.steps small{font-size:13px}.product{gap:5vw;grid-template-columns:1fr 1fr}.product-copy>p:not(.product-lead){font-size:16px}.product h3{font-size:30px}.media{height:350px}.partner-logos{gap:18px}.footer-bottom{gap:20px}.principles span+span:before{margin:0 12px}}
@media(max-width:600px){.scene.hero h1{font-size:8vw}.process{display:flex;align-items:stretch;gap:35px}.scene.process{min-height:1100px}.purpose h2{font-size:7vw}.principles{font-size:13px;flex-wrap:wrap;justify-content:center;gap:12px}.principles span+span:before{display:none}.process h2{font-size:9vw}.product{grid-template-columns:1fr;gap:35px}.media{height:340px;max-height:none}.product-selector{gap:30px}.audiences{grid-template-columns:1fr;gap:35px}.partner-logos{flex-wrap:wrap;justify-content:center}.partner-logos img{max-width:28%;height:48px}.quote-heading{align-items:flex-start}.quote-heading h2{font-size:26px}.quote-controls{gap:8px}.quote-body{min-height:400px}.site-footer{grid-template-columns:1fr 1fr;gap:30px}.site-footer>div:first-child{grid-column:1/-1}.footer-bottom{flex-direction:column}.closing h2{font-size:10vw}.closing h2 br{display:none}.closing-link{font-size:22px;gap:40px}.journey-tools{font-size:12px}.header{background:linear-gradient(#f8f7f4de,transparent)} }
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}.scene{will-change:auto}}

main{position:relative;z-index:1}
/* Text belongs to the camera composition; the central perspective stays open. */
#journey{height:800vh}
.hero{padding-top:27vh}.hero h1{font-size:clamp(45px,4.05vw,78px);max-width:51vw;line-height:1.075;letter-spacing:-.04em}
.reading-light{background:linear-gradient(90deg,rgba(248,247,244,.96),rgba(248,247,244,.88) 26%,rgba(248,247,244,.16) 47%,rgba(248,247,244,.02) 58%,rgba(248,247,244,.82) 71%,rgba(248,247,244,.92));opacity:0}
.purpose{align-items:flex-start;text-align:left;justify-content:center;padding-top:120px;padding-bottom:100px}
.purpose h2{width:43vw;max-width:770px;line-height:1.12;font-size:clamp(32px,3.05vw,58px);letter-spacing:-.035em}
.purpose-main{display:block;font-weight:500}.purpose-note{display:block;font-size:clamp(17px,1.4vw,23px);line-height:1.45;letter-spacing:0;max-width:370px;margin-top:27px}
.purpose .eyebrow{margin-bottom:25px}.principles{margin-top:35px;font-size:14px;gap:0}.principles span+span:before{margin:0 13px}
.process{display:block;padding-top:24vh}.process>div:first-child{width:33vw;max-width:540px}.process h2{font-size:clamp(33px,3.05vw,58px);line-height:1.1;margin-bottom:25px}.process .body-copy{font-size:clamp(16px,1.2vw,21px);line-height:1.5;max-width:430px}
.steps{position:absolute;left:68vw;right:var(--gutter);top:35vh;height:320px}
.steps li{position:absolute;inset:0;display:block;border:0;padding:0;opacity:0;visibility:hidden}
.steps li>span{display:block;font-size:14px;padding:0;margin-bottom:28px;letter-spacing:.08em}
.steps h3{font-size:clamp(30px,2.7vw,52px);line-height:1.09;letter-spacing:-.04em;margin-bottom:24px}
.steps p{font-size:clamp(17px,1.3vw,22px);line-height:1.4;max-width:320px}.steps small{margin-top:27px;font-size:14px}
.step-navigation{position:absolute;left:68vw;right:var(--gutter);bottom:21vh;display:flex;gap:25px}
.step-navigation button{font-size:13px;letter-spacing:.06em;padding:12px 2px;border-bottom:1px solid #102d2433;opacity:.55}.step-navigation button[aria-current=step]{opacity:1;border-bottom:2px solid var(--ink)}
.travel-caption{display:none}.solutions{padding-top:70px}.section-heading h2{font-size:clamp(55px,6.1vw,110px)}
body.reading .purpose-main{clip-path:none!important}body.reading .purpose-note{opacity:1!important;visibility:visible!important;transform:none!important}body.reading .steps{position:static;height:auto;margin:50px 0;max-width:620px}body.reading .steps li{position:relative;opacity:1!important;visibility:visible!important;transform:none!important;padding:24px 0;border-top:1px solid #102d2433}body.reading .step-navigation{display:none}body.reading .reading-light{background:#f8f7f4}
@media(max-height:780px) and (min-width:901px){.process{padding-top:22vh}.process h2{font-size:3vw}.process .body-copy{font-size:16px;max-width:400px}.process .eyebrow{margin-bottom:20px}.steps{top:30vh}.step-navigation{bottom:15vh}.purpose h2{font-size:3vw}.purpose-note{font-size:17px}}
@media(max-width:900px){.hero h1{max-width:78vw;font-size:5.5vw}.purpose h2{width:65vw;font-size:4.7vw}.purpose-note{font-size:18px}.process>div:first-child{width:42vw}.process h2{font-size:3.7vw}.steps{left:62vw;right:4vw}.step-navigation{left:62vw;bottom:14vh}.steps h3{font-size:28px}.steps p{font-size:16px}}
@media(max-width:600px){.hero h1{font-size:7.4vw;max-width:89vw}.purpose h2{width:85vw;font-size:7vw}.purpose-note{font-size:18px}.purpose .principles{font-size:12px;gap:12px}.process{padding-top:17vh;min-height:100svh!important}.process>div:first-child{width:88vw}.process h2{font-size:7vw;max-width:80vw;margin-bottom:20px}.process .body-copy{font-size:14px;line-height:1.4;max-width:85vw}.steps{left:6vw;right:6vw;top:60vh;height:180px}.steps li>span{margin-bottom:10px}.steps h3{font-size:26px;margin-bottom:10px}.steps p{font-size:15px}.steps small{margin-top:12px;font-size:12px}.step-navigation{left:auto;right:6vw;bottom:8vh;gap:14px}.reading-light{background:linear-gradient(90deg,#f8f7f4ed,#f8f7f4b3 70%,#f8f7f440)}body.reading .process{padding-top:100px}}
/* Unmodified cinematic image: no white panels, veils or gradient overlays. */
.header{background:none!important}
.light,.reading-light{display:none!important}
.environment video{object-fit:cover!important}
#journey{height:520vh}
.hero{padding-top:23vh}
.hero h1{font-size:clamp(62px,6.5vw,122px);line-height:1.01;letter-spacing:-.05em;max-width:65vw;text-shadow:none}
.hero-subtitle{margin-top:32px;font-size:clamp(19px,1.7vw,28px);line-height:1.45;max-width:470px}
.scene,.header,.plaza,.journey-tools{background:none;text-shadow:0 1px 12px rgba(248,247,244,.16)}
.purpose{align-items:center;justify-content:flex-start;text-align:center;padding-top:20vh}
.purpose h2{width:50vw;max-width:900px;font-size:clamp(30px,3.1vw,58px);line-height:1.15}
.purpose-note{margin:25px auto 0;max-width:450px;font-size:clamp(17px,1.35vw,22px)}
.purpose .eyebrow{margin-bottom:24px}.purpose .principles{margin-top:30px}
.product.text-only{display:block;min-height:350px;padding-top:18px}
.text-only .product-copy{max-width:950px;display:grid;grid-template-columns:1.15fr 1fr;gap:0 8vw}
.text-only .product-lead{grid-column:1/-1;max-width:440px;margin-bottom:32px}
.text-only h3{grid-row:2/4;font-size:clamp(32px,3.3vw,60px)}
.text-only .text-link{justify-self:start;align-self:start}
@media(max-width:900px){.hero h1{font-size:8vw;max-width:88vw}.hero-subtitle{font-size:20px}.purpose h2{width:75vw;font-size:4.8vw}.purpose{padding-top:21vh}}
@media(max-width:600px){.hero h1{font-size:10vw;max-width:90vw}.hero-subtitle{font-size:18px}.hero{padding-top:24vh}.purpose h2{width:88vw;font-size:6.7vw}.purpose{padding-top:22vh}.purpose-note{font-size:17px}.text-only .product-copy{display:block}.product.text-only{min-height:0}.text-only h3{font-size:30px}}

#journey{height:650vh}.purpose h2{width:54vw;font-size:clamp(30px,2.8vw,54px)}

@media(min-width:901px){.plaza{padding-left:15vw;padding-right:15vw}.product{gap:4vw;grid-template-columns:1fr 1fr}.product h3{font-size:clamp(28px,2.6vw,46px)}.text-only .product-copy{gap:0 4vw}.audiences{gap:5vw}.partner-logos{gap:24px}}

/* Short existing copy occupies the clear central opening during the corridor. */
.corridor{align-items:center;justify-content:flex-start;padding-top:32vh;text-align:center}
.corridor .principles{display:flex;flex-direction:column;gap:14px;margin:0;width:16vw;font-size:clamp(18px,1.8vw,32px);line-height:1.25;letter-spacing:-.02em}
.corridor .principles span+span:before{display:none}
body.reading .corridor{min-height:55vh;padding-top:15vh}
body.reading .corridor .principles{width:auto}
@media(max-width:900px){.corridor .principles{font-size:18px;width:180px}}
