:root{--navy:#122c40;--deep:#0b2031;--blue:#246395;--sky:#84c7ff;--ink:#172e40;--paper:#f5f7f8;--line:#ced9e0}body{background:white;color:var(--ink);letter-spacing:0}h1,h2,h3{letter-spacing:-.045em;font-weight:600}h2 span{color:inherit}h2{font-size:clamp(34px,3.4vw,52px)}p{line-height:1.8}.eyebrow{font-size:10px;font-weight:700;letter-spacing:.12em;color:var(--blue)}.prototype{background:var(--deep);color:#e0eaf1;height:32px;font-size:9px}.prototype>span{display:block}.prototype a{padding:6px 0}.brand{letter-spacing:.08em}.brand span strong{font-size:20px;letter-spacing:.03em}.brand img{width:53px;height:53px}.brand span{font-size:8px}header{height:92px;background:white;margin:0;padding:0 5%;border:0}nav{font-size:12px}.nav-contact,.button{background:var(--blue);color:white;border:0}.button{font-size:12px;padding:17px 21px;min-height:52px}.nav-contact{padding:14px 20px}.hero{background:var(--navy);color:white;padding:0;display:grid;grid-template-columns:49% 51%;min-height:640px;position:relative;overflow:hidden}.hero-title{padding:58px 8% 58px 10.2%;align-self:center;z-index:1}.hero-title>.eyebrow{color:var(--sky);margin-bottom:27px;font-size:9px}.hero h1{font-size:clamp(46px,4.4vw,68px);line-height:1.05;font-weight:650;letter-spacing:-.045em}.hero h1 span{color:var(--sky)}.hero-statement{font-size:19px;line-height:1.5;font-weight:550;margin-top:25px;color:white}.hero-copy{margin-top:23px;max-width:520px;font-size:12px;color:#d6e3ee}.hero-copy p{margin-bottom:24px}.hero-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap}.hero-secondary{font-size:11px;text-underline-offset:6px;text-decoration:underline;color:white}.hero .hero-figure{margin:0;min-height:640px;height:100%;position:relative;overflow:hidden}.hero-image{object-position:76% center;object-fit:cover}.hero-figure figcaption{left:auto;right:22px;bottom:14px;font-size:8px;color:#fff;background:#0b2031d9;padding:5px 8px}.technical-caption{position:absolute;bottom:55px;left:0;background:#fff;color:var(--ink);padding:25px 32px;border-left:4px solid var(--blue);max-width:310px}.technical-caption strong{display:block;font-size:21px;line-height:1.4;letter-spacing:-.025em;margin-top:10px}.technical-caption a{display:block;color:var(--blue);font-size:10px;font-weight:650;margin-top:18px}.expertise-strip{display:grid;grid-template-columns:repeat(3,1fr);padding:0 5%;background:var(--deep);color:white}.expertise-strip a{padding:24px 30px;border-right:1px solid #344e62}.expertise-strip a:first-child{padding-left:0}.expertise-strip a:last-child{border:0}.expertise-strip span{display:block;font-size:8px;letter-spacing:.11em;color:#a7c1d5;margin-bottom:8px}.expertise-strip strong{font-size:17px;font-weight:550}.section{padding:88px 6%}.manifesto{grid-template-columns:1.2fr 1fr;gap:25px 9%;background:white}.manifesto>.eyebrow{grid-column:span 2}.manifesto h2{grid-column:1;grid-row:2;font-size:42px}.manifesto h2 span{color:var(--blue)}.manifesto-copy{grid-column:2;grid-row:2;font-size:13px}.manifesto-copy p+p{display:none}.section-heading{grid-template-columns:1.2fr 1fr;gap:24px 9%;margin-bottom:42px}.section-heading>.eyebrow{grid-column:span 2}.section-heading h2{grid-column:1;grid-row:2}.section-heading>p:last-child{grid-column:2;grid-row:2;font-size:13px;align-self:end}.services{background:var(--paper);border-top:1px solid var(--line)}.service-row{grid-template-columns:6% 42% 1fr;border-color:var(--line);padding:30px 0;gap:4%}.service-row:last-child{border-color:var(--line)}.service-number{color:var(--blue);font-size:16px;font-weight:650}.service-copy h3{font-size:30px}.service-copy p{font-size:13px}.service-copy a{color:var(--blue);border-color:#8eb2cd;margin-top:22px;font-size:11px}.service-row figure{height:225px}.service-row figcaption{font-size:8px;background:#fff}.engineering{background:var(--navy);color:white}.engineering .eyebrow{color:var(--sky)}.engineering h2 span{color:white}.engineering .section-heading>p:last-child{color:#d6e3ee}.engineering-layout{grid-template-columns:1.25fr 1fr;gap:6%;align-items:center}.scene-sticky{min-width:0}.scene{background:#f2f0e8}.scene img{aspect-ratio:1.5;object-fit:contain}.scene-caption{color:#c2d4e2}.hotspot{background:var(--navy);border:2px solid white;width:44px;height:44px;font-size:10px;box-shadow:0 0 0 5px #122c4020}.hotspot[aria-pressed=true]{background:var(--blue);box-shadow:0 0 0 5px #57b2ff40;transform:scale(1.08)}.engineering-controls>.eyebrow{margin-bottom:16px}.zone-controls{border-top:0;border-bottom:1px solid #456179;gap:4px;margin-top:0}.zone-button{color:white;font-size:11px;min-height:62px;padding:10px 10px}.zone-button span{display:block;color:#9cbfd9;font-size:9px}.zone-button[aria-pressed=true]{background:#204761;border-color:var(--sky)}.zone-detail{min-height:260px;padding:28px 0 18px}.zone-detail h3{font-size:29px;max-width:420px;line-height:1.2}.zone-detail>p:not(.eyebrow){font-size:13px;color:#d6e3ee}.zone-detail a{font-size:11px;color:#a8d6ff}.engineering-note{color:#b7ccdc;font-size:9px;border-top:1px solid #456179;padding-top:17px}.story-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:4%;margin-top:55px}.story-step{padding:22px 0 0;border-color:#456179}.step-number{color:var(--sky);font-weight:600;margin-bottom:14px}.story-step h3{font-size:24px;margin-bottom:14px}.story-step p{font-size:12px;color:#c3d5e3}.projects{background:white;color:var(--ink)}.projects h2 span{color:var(--ink)}.project-0 figure{height:570px}.project:not(.project-0) figure{height:205px}.project-layout{gap:30px 4%}.project-meta .eyebrow{color:var(--blue)}.project-meta h3{font-size:25px}.project-meta>span{color:var(--blue)}.project-bottom{border-color:var(--line)}.project-bottom small{color:#526575}.project-bottom a{color:var(--blue)}.preview-label{display:block;flex-basis:100%;font-size:10px!important;margin-top:8px}.project-meta{flex-wrap:wrap;gap:8px}.project-meta>div{flex:1}.journal{background:var(--paper);border-top:1px solid var(--line);padding-top:70px;padding-bottom:70px}.journal h2{font-size:38px}.journal h2 span{color:var(--blue)}.journal-links a{border-color:var(--line)}.journal-links .eyebrow{color:var(--blue)}.journal-links h3{font-size:22px}.closing{background:var(--deep);color:white}.closing>.eyebrow{color:var(--sky)}.closing h2{font-size:clamp(40px,4.4vw,64px)}.closing h2 span{color:var(--sky)}.closing p{color:#d6e3ee}.closing .button{margin-top:5px}footer{background:var(--deep);border-top:1px solid #344e62;color:#d6e3ee}a:focus-visible,button:focus-visible{outline:3px solid #3996dd;outline-offset:5px}.project-dialog .eyebrow{color:var(--blue)}@media(hover:hover){a:hover{color:var(--blue)}.hero a:hover,.engineering a:hover,footer a:hover{color:#b3ddff}.button:hover,.nav-contact:hover{background:#1c507b;color:white}.expertise-strip a:hover{background:#16374e;color:white}.project:hover h3{color:var(--blue)}}
@media(max-width:1100px) and (min-width:701px){.hero-title{padding:45px 7% 45px 10%}.hero h1{font-size:46px}.hero-statement{font-size:17px}.hero-actions{gap:17px}.hero-copy{font-size:11px}.technical-caption{padding:20px;max-width:270px}.manifesto h2{font-size:34px}.section{padding:65px 5%}.engineering-layout{gap:4%}.zone-button{font-size:9px}.zone-detail h3{font-size:25px}.project-0 figure{height:520px}.project:not(.project-0) figure{height:180px}}
@media(max-width:700px){.prototype{font-size:7px;padding:0 5%;height:30px}.prototype>span{max-width:220px;letter-spacing:.02em}.prototype a{font-size:8px}header{height:82px;padding:0 5%;margin:0}.brand span strong{font-size:18px}.brand img{width:44px;height:44px}.brand span{font-size:7px}.menu-toggle{border-color:#b7c7d3;background:white;color:var(--navy)}header nav{left:0;right:0;top:82px;background:#fff}.hero{display:block;min-height:0}.hero-title{padding:35px 6% 32px}.hero-title>.eyebrow{font-size:8px;margin-bottom:23px}.hero h1{font-size:clamp(37px,10.2vw,53px);line-height:1.08}.hero-statement{font-size:16px;margin-top:23px}.hero-copy{font-size:11px;margin-top:18px}.hero-actions{gap:19px}.hero .button{font-size:10px;min-height:48px;padding:14px 17px}.hero-secondary{font-size:10px}.hero .hero-figure{min-height:0;height:330px;margin:0 0 0 6%}.hero-image{object-position:center 62%}.technical-caption{bottom:35px;padding:15px 20px;max-width:245px}.technical-caption strong{font-size:17px;margin-top:7px}.technical-caption a{margin-top:10px;font-size:9px}.hero-figure figcaption{font-size:7px;bottom:8px;right:10px}.expertise-strip{padding:0 6%;grid-template-columns:1fr}.expertise-strip a,.expertise-strip a:first-child{padding:15px 0;border-right:0;border-bottom:1px solid #344e62;display:flex;justify-content:space-between;align-items:center;gap:15px}.expertise-strip span{font-size:7px;max-width:110px;margin:0}.expertise-strip strong{font-size:12px}.section{padding:58px 6%}.manifesto{display:block}.manifesto h2{font-size:32px;margin:22px 0}.manifesto-copy{font-size:12px}.section-heading{display:block;margin-bottom:30px}.section-heading h2{font-size:32px;margin:22px 0}.section-heading>p:last-child{font-size:12px}.service-row{grid-template-columns:25px 1fr;gap:12px;padding:25px 0}.service-number{font-size:12px}.service-copy h3{font-size:25px}.service-copy p{font-size:12px}.service-row figure{height:180px}.engineering-layout{display:block}.scene{margin:0}.scene img{aspect-ratio:1.5}.scene-caption{font-size:7px}.engineering-controls{margin-top:25px}.zone-button{font-size:9px;min-height:59px;padding:10px 5px}.zone-detail{min-height:245px}.zone-detail h3{font-size:26px}.zone-detail>p:not(.eyebrow){font-size:12px}.zone-detail a{font-size:10px}.story-steps{display:block;margin-top:30px}.story-step{display:grid;grid-template-columns:25px 1fr;gap:7px 12px;padding:22px 0}.story-step .step-number{grid-row:span 2;font-size:11px}.story-step h3{font-size:24px;margin:0}.story-step p{font-size:11px}.project-0 figure{height:340px}.project:not(.project-0) figure{height:200px}.project-meta h3{font-size:24px}.journal h2{font-size:32px}.journal-links h3{font-size:22px}.closing h2{font-size:37px;line-height:1.15;margin:22px 0}.closing p{font-size:12px}.closing .button{font-size:10px}.engineering-note{font-size:8px}}
@media(max-width:700px){.hero-image{object-position:78% center}}
@media(min-width:701px) and (max-width:1000px){.hero{grid-template-columns:52% 48%}.hero h1{font-size:clamp(34px,4.7vw,46px)}}
.project:not(.project-0) figure img{object-fit:contain}.project:not(.project-0) figure{background:#eef3f6}
