@font-face{font-family:Montserrat;src:url('/assets/fonts/montserrat-variable.woff2') format('woff2');font-weight:100 900;font-display:swap}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:#f5f4ee;color:#173444;font-family:Montserrat,Arial,sans-serif;font-size:15px;line-height:1.65}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}img{display:block;width:100%;height:100%;object-fit:cover}figure,p,h1,h2,h3{margin:0}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #ad7939;outline-offset:6px}.skip{position:fixed;top:-80px;background:#fff;padding:14px;z-index:100}.skip:focus{top:0}.prototype{height:34px;background:#173444;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 4.5%;font-size:10px;letter-spacing:.08em}.prototype div{display:flex;height:100%;gap:20px;align-items:center}.prototype [aria-current]{border-bottom:1px solid #d1b382;color:#e8ca97}header{display:flex;align-items:center;justify-content:space-between;margin:0 4.5%;height:104px;border-bottom:1px solid #bdc5c2;position:relative;z-index:10}.brand{display:flex;align-items:center;gap:14px;font-size:10px;line-height:1.5;letter-spacing:.1em}.brand img{height:52px;width:52px;object-fit:contain}nav{display:flex;align-items:center;gap:32px;font-size:12px;font-weight:550}.nav-contact{border:1px solid #173444;padding:12px 19px}.menu-toggle{display:none}.eyebrow{font-size:10px;font-weight:650;letter-spacing:.15em;text-transform:uppercase;line-height:1.6}h1,h2,h3{font-weight:500;letter-spacing:-.055em;line-height:1.1}h2{font-size:clamp(35px,4.1vw,64px)}h2 span{color:#77837e}h3{font-size:28px}p{max-width:680px}.section{padding:112px 6.5%}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;background:#173444;color:#fff;padding:17px 21px;font-size:12px;font-weight:550}.button span{font-size:20px;line-height:1}.hero{padding:54px 4.5% 0}.hero-title{position:relative}.hero-title>.eyebrow{margin-bottom:27px}h1{font-size:clamp(48px,5.6vw,88px);line-height:1.04;letter-spacing:-.055em}h1>span{color:#788783}.concept-a h1 br:nth-of-type(3){display:none}.concept-a h1{max-width:930px}.concept-a .hero-copy{position:absolute;right:0;bottom:5px;width:29%;font-size:12px}.hero-copy p{margin-bottom:24px}.hero-figure{margin-top:43px;height:480px;position:relative;overflow:hidden}.hero-image{object-position:center 62%;transition:transform 1.2s ease}.hero-figure figcaption{position:absolute;bottom:18px;left:22px;right:22px;display:flex;justify-content:space-between;font-size:9px;letter-spacing:.15em;color:white;text-shadow:0 1px 8px black}.hero-foot{display:flex;justify-content:space-between;padding:19px 0;border-bottom:1px solid #bdc5c2;font-size:10px;letter-spacing:.035em}.hero-foot a{display:flex;gap:60px}.manifesto{display:grid;grid-template-columns:1fr 2fr;column-gap:7%;row-gap:32px}.manifesto>.eyebrow{grid-column:1}.manifesto h2{grid-column:2;grid-row:1/3;font-size:clamp(38px,4.7vw,70px)}.manifesto-copy{grid-column:2;font-size:14px;max-width:590px}.manifesto-copy p+p{margin-top:16px}.section-heading{display:grid;grid-template-columns:1fr 2fr;column-gap:7%;row-gap:28px;margin-bottom:56px}.section-heading h2{grid-column:2}.section-heading>p:last-child{grid-column:2;max-width:590px;font-size:14px}.services{background:#e9e9e2}.service-row{display:grid;grid-template-columns:7% 43% 1fr;gap:3%;align-items:center;border-top:1px solid #b8c2bc;padding:35px 0}.service-row:last-child{border-bottom:1px solid #b8c2bc}.service-number{align-self:start;font-size:13px;padding-top:5px;color:#7c8980}.service-copy h3{font-size:34px;margin-bottom:18px}.service-copy p{max-width:400px;font-size:13px}.service-copy a{display:inline-block;font-size:11px;font-weight:650;margin-top:28px;border-bottom:1px solid #8b9d92;padding-bottom:6px}.service-row figure{height:230px;position:relative;overflow:hidden}.service-row figcaption{position:absolute;bottom:9px;left:12px;font-size:8px;background:#f5f4eee8;padding:3px 8px}.service-row img{transition:transform .7s}.engineering{background:#f5f4ee}.engineering-layout{display:grid;grid-template-columns:1.45fr 1fr;gap:8%;align-items:start}.scene{position:relative;overflow:hidden;background:#ecebe4}.scene img{aspect-ratio:1.5;object-fit:contain;transition:transform .8s ease}.hotspot{position:absolute;width:40px;height:40px;border:1px solid #fff;border-radius:50%;background:#183b47;color:white;font-size:10px;box-shadow:0 2px 15px #17344430;transition:background .3s,transform .3s}.hotspot[aria-pressed=true]{background:#a5753e;transform:scale(1.15)}.spot-0{left:47%;top:37%}.spot-1{left:60%;top:54%}.spot-2{left:40%;top:72%}.scene-caption{display:flex;justify-content:space-between;font-size:8px;padding:11px 0;color:#607067;letter-spacing:.06em}.zone-controls{display:flex;border-top:1px solid #bdc5c2;border-bottom:1px solid #bdc5c2;margin-top:16px}.zone-button{flex:1;background:transparent;color:#173444;border:0;border-bottom:2px solid transparent;padding:17px 5px;font-size:10px;text-align:left}.zone-button span{color:#687c70;margin-right:6px}.zone-button[aria-pressed=true]{border-color:#a5753e;font-weight:700}.zone-detail{padding:28px 0 16px;min-height:215px}.zone-detail h3{font-size:25px;margin:12px 0}.zone-detail>p:not(.eyebrow){font-size:12px}.zone-detail a{font-size:10px;text-decoration:underline;display:inline-block;margin-top:18px;text-underline-offset:5px}.engineering-note{font-size:9px;display:block;color:#62746a}.story-step{padding:35px 0;border-top:1px solid #bdc5c2}.step-number{font-size:13px;color:#9e7a48;display:block;margin-bottom:20px}.story-step h3{font-size:31px;margin-bottom:18px}.story-step p{font-size:13px}.projects{background:#173444;color:#f5f4ee}.projects h2 span{color:#b4c0b7}.project-layout{display:grid;grid-template-columns:1.65fr 1fr;gap:38px 5%}.project-0{grid-row:span 2}.project-0 figure{height:635px}.project:not(.project-0) figure{height:230px}.project figure{overflow:hidden;background:#dfe4df}.project figure img{transition:transform .8s;object-fit:cover}.project-0 figure img{object-position:45% center}.project-meta{display:flex;justify-content:space-between;align-items:center;padding-top:19px}.project-meta h3{font-size:25px;margin-top:9px;letter-spacing:-.035em}.project-meta .eyebrow{font-size:8px;color:#c4cfc8}.project-meta>span{font-size:25px}.project-bottom{border-top:1px solid #63776f;margin-top:42px;padding-top:25px;display:flex;justify-content:space-between;gap:25px}.project-bottom small{font-size:9px;max-width:500px;color:#c4cfc8}.project-bottom a{font-size:12px;white-space:nowrap}.journal{display:grid;grid-template-columns:1fr 1.3fr;gap:9%}.journal h2{margin:25px 0}.journal p:not(.eyebrow){font-size:13px}.journal-links a{display:grid;grid-template-columns:1fr auto;gap:20px;border-top:1px solid #b6c0b9;padding:25px 0 30px}.journal-links .eyebrow{grid-column:span 2;color:#697f70}.journal-links h3{font-size:24px;line-height:1.25;letter-spacing:-.04em;max-width:420px}.journal-links a>span:last-child{font-size:24px}.closing{background:#dfdfd3;display:grid;grid-template-columns:1.5fr 1fr;gap:35px 8%;align-items:end}.closing>.eyebrow{grid-column:span 2}.closing h2{font-size:clamp(65px,8.3vw,130px)}.closing p{font-size:13px;margin-bottom:25px}.closing .eyebrow{margin-bottom:0}footer{padding:45px 4.5%;display:flex;align-items:center;justify-content:space-between;font-size:10px}footer .brand{letter-spacing:0}.concept-b{background:#102e3b}.concept-b header{color:#f5f4ee;border-color:#65776f}.concept-b header .nav-contact{border-color:#a9b7b0}.concept-b .hero{color:#f5f4ee;position:relative;padding-top:55px;padding-bottom:0}.concept-b .hero-title{display:grid;grid-template-columns:1.65fr 1fr;gap:24px 8%;z-index:2}.concept-b .hero-title>.eyebrow{grid-column:span 2;margin:0}.concept-b h1{font-size:clamp(54px,6.1vw,96px);position:relative}.concept-b h1 span{color:#b3bfb3}.concept-b h1 br:nth-of-type(3){display:none}.concept-b .hero-copy{font-size:13px;padding-top:15px;max-width:340px;align-self:end}.concept-b .hero-copy .button{background:#dbc297;color:#173444}.concept-b .hero-figure{margin-top:45px;height:420px;margin-left:23%;}.concept-b .hero-foot{color:#b3bfb3;border-color:#546d68}.concept-b .manifesto{background:#102e3b;color:#f5f4ee;padding-top:145px;padding-bottom:145px}.concept-b .manifesto h2 span{color:#b3bfb3}.concept-b .engineering{background:#e9e7dc}.concept-b .engineering .section-heading{grid-template-columns:1fr 1fr}.concept-b .engineering .section-heading h2{grid-column:1;grid-row:2;font-size:70px}.concept-b .engineering .section-heading>p:last-child{grid-column:2;grid-row:2;align-self:end}.concept-b .engineering-layout{grid-template-columns:1.5fr 1fr;gap:7%}.concept-b .scene-sticky{position:sticky;top:30px}.concept-b .story-step{min-height:480px;padding:90px 0;opacity:.45;transition:opacity .5s}.concept-b .story-step.is-active{opacity:1}.concept-b .story-step h3{font-size:46px}.concept-b .step-number{font-size:44px;letter-spacing:-.08em}.concept-b .scene{transition:box-shadow .5s}.concept-b .scene[data-stage="1"] img{transform:scale(1.07)}.concept-b .scene[data-stage="2"] img{transform:scale(1.12) translateY(-1%)}.concept-b .services{background:#f5f4ee}.concept-b .service-row{grid-template-columns:8% 1fr 1.1fr;padding:50px 0;gap:5%}.concept-b .service-row figure{height:340px}.concept-b .service-row:nth-child(2){grid-template-columns:1.1fr 8% 1fr}.concept-b .service-row:nth-child(2) figure{grid-column:1;grid-row:1}.concept-b .service-row:nth-child(2) .service-number{grid-column:2;grid-row:1}.concept-b .service-row:nth-child(2) .service-copy{grid-column:3;grid-row:1}.concept-b .projects{background:#e4e5dd;color:#173444}.concept-b .projects h2 span{color:#758479}.concept-b .project-layout{grid-template-columns:1fr 1fr;gap:60px 7%}.concept-b .project-0{grid-column:span 2;grid-row:auto;position:relative}.concept-b .project-0 figure{height:640px}.concept-b .project-0 .project-meta{position:absolute;left:35px;right:35px;bottom:30px;background:#f5f4eef0;padding:24px}.concept-b .project-0 .project-meta h3{font-size:40px}.concept-b .project:not(.project-0) figure{height:300px}.concept-b .project-2{margin-top:100px}.concept-b .project-meta .eyebrow,.concept-b .project-bottom small{color:#576d60}.concept-b .journal{background:#f5f4ee}.concept-b .closing{background:#102e3b;color:#fff}.concept-b .closing .button{background:#dbc297;color:#173444}.concept-b footer{color:#fff;border-top:1px solid #536b65}.reveal{animation:none}@media(hover:hover){a:hover{color:#a47943}.button:hover{background:#284f5c;color:white}.project:hover img,.service-row:hover img{transform:scale(1.035)}.concept-b .project:hover{color:inherit}}@media(prefers-reduced-motion:no-preference){.reveal.is-visible{animation:arrive .7s ease both}.hero-title{animation:arrive .8s ease both}@keyframes arrive{from{opacity:.5;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}}
@media(max-width:1000px){header{height:90px}nav{gap:20px}.concept-a h1{font-size:64px}.concept-a .hero-copy{width:32%;font-size:11px}.concept-a h1 br:nth-of-type(3){display:block}.section{padding:85px 5%}.project-0 figure{height:570px}.project:not(.project-0) figure{height:200px}.concept-b .hero-copy{font-size:12px}.concept-b .engineering .section-heading h2{font-size:58px}.concept-b .story-step h3{font-size:35px}.concept-b .hero-figure{margin-left:10%}}
@media(max-width:700px){html{scroll-padding-top:20px}body{font-size:14px}.prototype{padding:0 5%;font-size:8px}.prototype>span{display:none}.prototype div{gap:14px}header{height:82px;margin:0 5%}.brand img{width:43px;height:43px}.brand{gap:10px;font-size:8px}.menu-toggle{display:block;background:transparent;color:inherit;border:1px solid #9baaa2;font-size:11px;padding:10px 16px;min-height:44px}nav{display:none;position:absolute;left:-5.5%;right:-5.5%;top:82px;background:#f5f4ee;color:#173444;padding:25px;box-shadow:0 15px 20px #17344418}nav.open{display:flex;flex-direction:column;align-items:stretch;gap:0}nav a{padding:15px 0;border-bottom:1px solid #bdc5c2}nav a.nav-contact{padding:15px;margin-top:12px}.concept-b header .nav-contact{border-color:#173444}.hero{padding:35px 5% 0}.hero-title>.eyebrow{font-size:8px;margin-bottom:24px}h1,.concept-a h1,.concept-b h1{font-size:clamp(37px,10.5vw,61px);line-height:1.07;letter-spacing:-.065em}.concept-a h1 br:nth-of-type(3){display:none}.concept-a .hero-copy{position:static;width:auto;max-width:none;margin-top:25px;font-size:11px;line-height:1.75}.hero-copy p{margin-bottom:22px}.button{padding:15px 18px;font-size:10px;min-height:48px}.hero-figure{height:300px;margin-top:28px}.hero-image{object-position:65% center}.hero-figure figcaption{font-size:7px;left:12px;right:12px;bottom:12px}.hero-foot{font-size:8px;gap:20px;padding:15px 0}.hero-foot>span{max-width:220px}.hero-foot a{gap:16px;white-space:nowrap}.section{padding:65px 6%}.manifesto{display:block}.manifesto h2{font-size:37px;margin:30px 0}.manifesto-copy{font-size:12px}.eyebrow{font-size:8px}.section-heading{display:block;margin-bottom:35px}.section-heading h2{font-size:36px;margin:23px 0}.section-heading>p:last-child{font-size:12px}.service-row,.concept-b .service-row,.concept-b .service-row:nth-child(2){display:grid;grid-template-columns:26px 1fr;gap:15px;padding:25px 0}.service-number{font-size:10px}.service-copy h3{font-size:27px;margin-bottom:14px}.service-copy p{font-size:11px}.service-copy a{margin-top:18px;font-size:10px}.service-row figure,.concept-b .service-row figure,.concept-b .service-row:nth-child(2) figure{grid-column:2;grid-row:2;height:180px}.concept-b .service-row:nth-child(2) .service-number{grid-column:1;grid-row:1}.concept-b .service-row:nth-child(2) .service-copy{grid-column:2;grid-row:1}.engineering-layout,.concept-b .engineering-layout{display:block}.scene{margin:0 -3%}.scene img{aspect-ratio:1.3}.hotspot{height:34px;width:34px;font-size:9px}.scene-caption{font-size:7px}.zone-controls{margin-top:14px}.zone-button{font-size:9px;line-height:1.5;min-height:55px;padding:12px 4px}.zone-button span{display:block}.zone-detail{min-height:245px;padding-top:22px}.zone-detail h3{font-size:25px}.zone-detail>p:not(.eyebrow){font-size:12px}.zone-detail a{font-size:10px;min-height:30px}.engineering-note{font-size:8px}.story-steps{margin-top:40px}.story-step{padding:26px 0}.story-step h3{font-size:27px}.story-step p{font-size:12px}.step-number{margin-bottom:13px}.project-layout{display:block}.project+.project{margin-top:35px}.project-0 figure{height:360px}.project:not(.project-0) figure{height:210px}.project-meta h3{font-size:24px}.project-meta .eyebrow{font-size:8px}.project-bottom{display:block;margin-top:30px}.project-bottom small{display:block;font-size:8px}.project-bottom>a{display:inline-block;margin-top:20px;min-height:35px}.journal{display:block}.journal h2{font-size:38px;margin:24px 0}.journal p:not(.eyebrow){font-size:12px}.journal-links{margin-top:35px}.journal-links h3{font-size:22px}.journal-links a{padding:25px 0;gap:14px}.closing{display:block}.closing h2{font-size:59px;margin:30px 0}.closing p{font-size:12px}footer{padding:35px 6%;display:grid;grid-template-columns:1fr 1fr;gap:25px;font-size:9px}footer>a:nth-of-type(3){grid-column:span 2;grid-row:2}footer>span{grid-column:span 2}.concept-b .hero{padding-top:32px}.concept-b .hero-title{display:block}.concept-b .hero-title>.eyebrow{margin-bottom:25px}.concept-b .hero-copy{margin-top:25px;font-size:11px;padding:0;max-width:none}.concept-b .hero-figure{height:330px;margin:28px -5.6% 0 10%;}.concept-b .manifesto{padding-top:70px;padding-bottom:70px}.concept-b .engineering .section-heading h2{font-size:40px}.concept-b .scene-sticky{position:static}.concept-b .story-step{opacity:1;min-height:0;padding:28px 0;display:grid;grid-template-columns:40px 1fr;column-gap:16px}.concept-b .step-number{font-size:25px;grid-row:span 2}.concept-b .story-step h3{font-size:29px}.concept-b .story-step p{font-size:12px}.concept-b .project-layout{display:block}.concept-b .project-0 figure{height:390px}.concept-b .project-0 .project-meta{position:static;background:transparent;padding:20px 0 0}.concept-b .project-0 .project-meta h3{font-size:28px}.concept-b .project:not(.project-0) figure{height:220px}.concept-b .project-2{margin-top:35px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.concept-b .scene img{transform:none!important}.concept-b .story-step{opacity:1}}
.spot-0{left:50%;top:26%}.spot-1{left:62%;top:46%}.spot-2{left:40%;top:81%}
.hero-figure picture{display:block;width:100%;height:100%}.concept-b .story-step{opacity:.78}.concept-b .story-step.is-active{opacity:1}.concept-b .scene[data-stage="1"] img{transform:scale(1.025)}.concept-b .scene[data-stage="2"] img{transform:scale(1.05)}
@media(max-width:700px){.hero-image{object-position:55% center}.concept-b .story-step{opacity:1}.hotspot{width:44px;height:44px}}
@media(prefers-reduced-motion:reduce){.concept-b .story-step{opacity:1}}
@media(max-width:700px){h1,.concept-a h1,.concept-b h1{font-size:clamp(34px,9.4vw,54px)}}
@media(min-width:701px) and (max-width:1100px){.concept-a h1{max-width:64%;font-size:clamp(44px,5.5vw,64px)}.concept-a .hero-copy{width:30%}}

.closing h2{font-size:clamp(40px,5vw,76px)}footer{flex-wrap:wrap;gap:30px}.legal-nav{width:100%;display:flex;position:static;flex-wrap:wrap;font-size:10px;background:transparent;box-shadow:none}.legal-nav button{background:none;border:0;color:inherit;font-size:10px;padding:10px 0}.footer-contact{font-size:11px}.footer-contact a{display:block}.footer-label{font-size:9px;letter-spacing:.1em;margin-bottom:10px}.preview-label{font-size:10px!important;margin-left:15px}.project-meta{flex-wrap:wrap;gap:10px}.project-meta>div{flex:1}.project-meta .preview-label{flex-basis:100%;margin:0;padding-top:10px;border-top:1px solid #63776f}.journal h2{max-width:520px}
