@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@400;500;600;650;700;750;800&display=swap');
:root{--bg:#f4f1e9;--ink:#1b2926;--muted:#66716a;--line:#cdcfc2;--accent:#c34d2b;--panel:#e7e9df;--font:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-weight:400;transition:background .35s,color .35s}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid var(--accent);outline-offset:5px}button{border:0}::selection{background:#d8ae8c;color:#12201b}.reviewbar{height:58px;background:#fff;color:#222;display:flex;justify-content:space-between;align-items:center;padding:0 32px;border-bottom:1px solid #ddd;position:sticky;top:0;z-index:20}.reviewlabel{font:10px monospace;letter-spacing:1.4px}.edition{color:#888;margin-left:10px}.switch{display:flex;background:#ededeb;padding:3px;border-radius:6px;gap:2px}.switch button{background:transparent;padding:8px 15px;font-size:12px;border-radius:4px}.switch button.selected{background:#202924;color:#fff}.switch button span{margin-left:5px}.noteslink{font-size:12px;background:none}.noteslink span{margin-left:12px}.siteheader{height:104px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw}.wordmark{display:flex;align-items:center;gap:11px;font:750 32px 'Manrope',Arial,sans-serif;letter-spacing:-1.7px}.wordmark svg{width:28px;height:28px;fill:var(--ink)}.wordmark .cut{fill:var(--accent)}.worddot{color:var(--accent)}nav{display:flex;gap:32px;font-size:13px}.headercta{font-size:12px;border-bottom:1px solid var(--ink);padding:9px 0}.headercta span{margin-left:28px}.hero{position:relative;margin:0 5vw;padding:40px 0 0;min-height:775px}.hero-kicker,.section-label{font-family:monospace;font-size:10px;letter-spacing:1.3px;font-weight:400}.tiny-dot{display:inline-block;width:6px;height:6px;background:var(--accent);border-radius:50%;margin-right:8px;vertical-align:middle}h1{font-family:'Manrope',Arial,sans-serif;font-size:clamp(58px,6.7vw,108px);line-height:1.02;letter-spacing:-.067em;font-weight:500;margin:40px 0 31px;position:relative;z-index:2;max-width:760px}h1>span{font-weight:400}h1 br.desktopbr{display:none}.hero-bottom{position:relative;z-index:2;width:42%;max-width:420px}.hero-bottom p{font-size:18px;line-height:1.6;margin:25px 0 25px;max-width:360px}.textlink{display:inline-flex;align-items:center;justify-content:space-between;gap:55px;font-size:13px;border-bottom:1px solid var(--ink);padding:13px 0;background:none}.textlink span{font-size:20px}.artwork{position:absolute;right:-1.6vw;top:120px;width:49vw;max-width:650px}.warmart{display:block;width:100%;height:auto}.artfloat{animation:drift 9s ease-in-out infinite}.artcaption{display:flex;justify-content:space-between;font:9px monospace;color:var(--muted);padding:0 55px;margin-top:-18px}.hero-foot{display:flex;justify-content:space-between;font:9px monospace;letter-spacing:.65px;border-bottom:1px solid var(--line);margin-top:120px;padding-bottom:25px;color:var(--muted)}.approach{padding:90px 5vw;display:grid;grid-template-columns:1fr 2fr;gap:50px}.approach>.section-label{padding-top:12px}h2{font-family:'Manrope',Arial,sans-serif;font-weight:500;letter-spacing:-.055em;font-size:clamp(38px,4vw,61px);line-height:1.12;margin:0 0 30px}.approach-columns{display:grid;grid-template-columns:1fr 1fr;gap:50px;max-width:800px}.approach-columns p{font-size:15px;line-height:1.8;color:var(--muted)}.work{padding:75px 5vw 95px;background:var(--panel)}.section-heading{display:grid;grid-template-columns:1fr 1.5fr 1fr;align-items:start;gap:30px;margin-bottom:45px}.section-heading .section-label{padding-top:9px}.section-heading h2{font-size:42px}.section-heading>p{font-size:14px;line-height:1.75;color:var(--muted);max-width:260px;margin:5px 0 0}.featured{display:grid;grid-template-columns:1.65fr 1fr;gap:65px;align-items:center;margin-bottom:55px}.featured-visual{aspect-ratio:1.45;min-height:380px;background:#d6dcca;border:1px solid #c8cebd;padding:28px;display:flex;flex-direction:column;justify-content:space-between;color:#263b31}.visual-top{display:flex;justify-content:space-between;font:8px monospace;letter-spacing:1px}.workflow{display:flex;align-items:center;gap:10px;margin:60px 0 5px}.stage{flex:1;min-width:0;border-top:1px solid #84917c;padding:15px 0}.stage small{font:8px monospace}.stage strong{display:block;font-size:22px;line-height:1.2;letter-spacing:-.6px;font-weight:500;margin:18px 0}.stage>span{font-size:10px;color:#52654e}.stage.active{border-color:#b94d29}.stage.active small{color:#a43c1d}.connector{color:#6f8267}.workflow-under{font:8px monospace;letter-spacing:.8px;margin:10px 0 40px}.dotted-line{display:block;height:1px;border-top:1px dashed #8e9c85;margin-bottom:15px}.visual-bottom{border-top:1px solid #a8b39c;padding-top:20px;font-size:11px;display:flex;justify-content:space-between}.visual-bottom span{font-size:20px}.project-tag{font:9px monospace;letter-spacing:1px;color:var(--accent)}h3{font-family:'Manrope',Arial,sans-serif;font-size:38px;line-height:1.15;letter-spacing:-.047em;font-weight:500;margin:18px 0 23px}.featured-copy>p{font-size:14px;line-height:1.8;color:var(--muted)}.insight{border-left:2px solid var(--accent);padding-left:16px;margin-top:25px}.insight span{display:block;font:8px monospace;letter-spacing:1px;color:var(--ink);margin-bottom:8px}.featured-copy .textlink{margin-top:10px}.projectlist{border-top:1px solid var(--line)}.projectlist button{width:100%;display:grid;grid-template-columns:60px 1fr 210px 24px;gap:15px;align-items:center;text-align:left;border-bottom:1px solid var(--line);background:none;padding:27px 0;transition:padding .2s,background .2s}.projectlist button:hover{padding-left:12px;background:#ffffff25}.project-number{font:10px monospace;color:var(--muted)}.project-name{font-size:23px;letter-spacing:-.65px}.project-category{font:8px monospace;letter-spacing:.8px;color:var(--muted)}.arrow{font-size:23px}.capabilities{padding:90px 5vw;display:grid;grid-template-columns:1fr 2fr;gap:50px}.capabilities>.section-label{padding-top:15px}.capabilities>p{font-family:'Manrope',Arial,sans-serif;font-size:clamp(28px,3.8vw,58px);line-height:1.35;letter-spacing:-1.7px;margin:0}.capabilities>p>span{color:var(--muted)}.conversation{margin:0 5vw;padding:70px 0 60px;border-top:1px solid var(--line);position:relative}.conversation h2{font-size:80px;margin-top:28px}.contactbutton{background:var(--ink);color:var(--bg);padding:20px 27px;font-size:14px;position:absolute;right:0;top:140px;min-width:260px;display:flex;justify-content:space-between}.preview-disclaimer{font-size:11px;color:var(--muted);margin-top:35px}footer{margin:0 5vw;padding:35px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--muted)}.footerword{font:700 25px 'Manrope',Arial,sans-serif;letter-spacing:-1.5px;color:var(--ink)}footer>span:last-child{font:8px monospace;letter-spacing:1px}.darkart{display:none}dialog{background:var(--bg);color:var(--ink);border:1px solid var(--line);width:min(680px,calc(100% - 32px));max-height:85vh;padding:50px;border-radius:0}dialog::backdrop{background:#08110ed0;backdrop-filter:blur(5px)}dialog .close{position:absolute;right:17px;top:10px;background:none;font-size:30px;font-weight:300}dialog h2{margin-top:25px;font-size:40px}dialog>p{line-height:1.75;font-size:15px}dialog dl{border-top:1px solid var(--line);margin:30px 0}dialog dt{font:10px monospace;letter-spacing:1px;margin:20px 0 5px}dialog dd{font-size:14px;line-height:1.7;margin:0;color:var(--muted)}dialog .note-foot{font-size:11px;color:var(--muted);border-top:1px solid var(--line);padding-top:18px}.case-insight{border-left:2px solid var(--accent);padding-left:20px;margin:30px 0}.case-insight>span{font:9px monospace;letter-spacing:1px}.case-insight p{font-size:14px;line-height:1.8;color:var(--muted)}
body[data-direction=b]{--bg:#101817;--ink:#f1f1e8;--muted:#a2b3aa;--line:#34453d;--accent:#e79864;--panel:#17221e}.darkart{height:540px;position:relative;overflow:hidden;background:radial-gradient(ellipse at center,#31453b55,transparent 67%)}body[data-direction=b] .warmart{display:none}body[data-direction=b] .darkart{display:block}body[data-direction=b] .wordmark{letter-spacing:-1.3px}body[data-direction=b] .wordmark svg{transform:rotate(90deg)}body[data-direction=b] h1{font-weight:500;letter-spacing:-.065em}body[data-direction=b] h1>span{color:#bac8b3}body[data-direction=b] .hero{min-height:775px}body[data-direction=b] .artwork{top:120px}body[data-direction=b] .artcaption{padding:0 35px;margin-top:0}body[data-direction=b] .featured-visual{background:#263c31;border-color:#49604f;color:#e5ecd9}body[data-direction=b] .stage>span{color:#a3b8a3}body[data-direction=b] .stage.active small{color:#efad7e}body[data-direction=b] .stage.active{border-color:#e79864}body[data-direction=b] .projectlist button:hover{background:#ffffff06}.assembly{width:280px;height:300px;position:absolute;left:50%;top:48%;transform:translate(-50%,-50%);perspective:800px}.plane{position:absolute;width:280px;height:210px;transform:rotateX(58deg) rotateZ(-34deg);border:1px solid #b6ceb1;background:linear-gradient(135deg,#91aa8b55,#2d483c88);box-shadow:0 14px 0 #0b120f,0 15px 0 #668169;display:flex;justify-content:space-around;align-items:center;animation:assemblyfloat 8s ease-in-out infinite}.plane span{position:absolute;font:11px monospace;letter-spacing:2px;bottom:18px;left:20px;white-space:nowrap}.plane i{width:34px;height:70px;border:1px solid #c4dbbb55;background:repeating-linear-gradient(0deg,transparent 0,transparent 6px,#bfd0ae55 7px,transparent 8px)}.plane-top{top:-30px;z-index:3;color:#1a2a1c;background:linear-gradient(135deg,#c3d1ae,#91a88d)}.plane-mid{top:75px;z-index:2;color:#f9d2af;background:linear-gradient(135deg,#9e603e,#6d3b27);border-color:#f0b28a;animation-delay:-2s}.plane-bottom{top:180px;z-index:1;animation-delay:-4s}.axis-label{position:absolute;bottom:28px;left:0;right:0;text-align:center;font:9px monospace;letter-spacing:1.8px;color:#9fb49d}.orbital{position:absolute;left:50%;top:48%;width:450px;height:450px;border:1px solid #71947c33;border-radius:50%;transform:translate(-50%,-50%) rotateX(55deg) rotateZ(-30deg)}.orbit-two{width:530px;height:530px;border-style:dashed;opacity:.45}.coord{position:absolute;font:8px monospace;color:#a1b69e;letter-spacing:1.5px}.coord-a{top:10px;left:55px}.coord-b{right:12px;top:180px;writing-mode:vertical-rl}.axis{position:absolute;height:410px;top:-70px;left:135px;border-left:1px dashed #e5ad7377;z-index:0}@keyframes drift{50%{transform:translateY(-10px)}}@keyframes assemblyfloat{50%{translate:0 -8px}}
@media(min-width:1500px){.hero{min-height:840px}.artwork{right:1vw}.hero-foot{margin-top:150px}}@media(max-width:1100px){h1{font-size:7.3vw;max-width:70%}.artwork{top:170px;width:51vw}.hero{min-height:700px}.hero-foot{margin-top:90px}.featured{gap:30px;grid-template-columns:1.5fr 1fr}.featured-visual{padding:20px;min-height:350px}.stage strong{font-size:19px}.section-heading{grid-template-columns:1fr 1.5fr}.section-heading>p{grid-column:2;max-width:420px}.section-heading h2{margin-bottom:0}.projectlist button{grid-template-columns:40px 1fr 160px 24px}.project-name{font-size:20px}.project-category{font-size:7px}.approach,.capabilities{grid-template-columns:1fr 2fr;gap:25px}.darkart{height:450px}.assembly{scale:.85}.conversation h2{font-size:64px}body[data-direction=b] .hero{min-height:700px}}@media(max-width:760px){.reviewbar{height:58px;padding:0 14px}.reviewlabel{font-size:8px;letter-spacing:.8px}.reviewlabel .edition{display:none}.switch button{padding:8px 10px;font-size:11px}.switch button span{display:none}.noteslink{font-size:10px}.noteslink span{margin-left:4px}.siteheader{height:88px;padding:0 6vw}.wordmark{font-size:27px}.wordmark svg{width:23px;height:23px}nav{display:none}.headercta{font-size:10px}.headercta span{margin-left:10px}.hero{margin:0 6vw;padding-top:24px;min-height:0}.hero-kicker{font-size:8px}.hero h1{font-size:clamp(46px,10.3vw,77px);max-width:100%;margin:30px 0 20px;line-height:1.08;letter-spacing:-.065em}.desktopbr{display:none!important}.hero-bottom{width:100%;max-width:100%}.hero-bottom p{font-size:16px;max-width:340px;line-height:1.6;margin-top:0}.textlink{font-size:12px;padding:9px 0;gap:40px}.artwork{position:relative;right:auto;top:auto!important;width:100%;margin:15px auto 25px;max-width:520px}.warmart{margin:0 auto}.artcaption{padding:0 15px;font-size:8px;margin-top:-20px}.hero-foot{margin-top:20px;line-height:1.7;font-size:7px;gap:22px}.hero-foot span{max-width:50%}.approach{padding:60px 6vw;display:block}.approach>.section-label{margin-bottom:25px}.approach h2{font-size:37px}.approach-columns{gap:22px}.approach-columns p{font-size:13px}.work{padding:55px 6vw}.section-heading{display:block;margin-bottom:32px}.section-heading .section-label{margin-bottom:22px}.section-heading h2{font-size:37px;margin-bottom:20px}.section-heading>p{font-size:13px;max-width:350px}.featured{display:flex;flex-direction:column;gap:30px;align-items:stretch}.featured-visual{aspect-ratio:auto;min-height:310px;padding:17px}.visual-top{font-size:6px;letter-spacing:.5px}.workflow{gap:7px;margin-top:35px}.stage strong{font-size:18px;letter-spacing:-.5px;margin:15px 0}.stage small{font-size:7px}.stage>span{font-size:8px;line-height:1.5;display:block}.workflow-under{font-size:6px;margin-bottom:28px}.visual-bottom{font-size:9px;line-height:1.6}.featured-copy h3{font-size:34px}.featured-copy>p{font-size:14px}.projectlist button{grid-template-columns:28px 1fr 20px;gap:10px;padding:23px 0}.project-name{font-size:18px;line-height:1.35}.project-category{grid-column:2;font-size:7px;margin-top:-3px}.arrow{grid-column:3;grid-row:1 / span 2;font-size:23px}.project-number{align-self:start;padding-top:5px}.capabilities{padding:60px 6vw;display:block}.capabilities>.section-label{margin-bottom:25px;font-size:8px}.capabilities>p{font-size:30px;letter-spacing:-1.1px}.conversation{margin:0 6vw;padding:50px 0}.conversation h2{font-size:52px}.contactbutton{position:static;min-width:250px;width:100%;max-width:340px}.preview-disclaimer{font-size:10px;line-height:1.6;margin-top:18px}footer{margin:0 6vw;flex-wrap:wrap;gap:20px;font-size:10px}footer>span:last-child{width:100%;font-size:7px}.footerword{font-size:22px}dialog{padding:35px 25px}dialog h2{font-size:32px}body[data-direction=b] .hero{min-height:0}.darkart{height:440px}.assembly{scale:.85}.orbit-one{width:330px;height:330px}.orbit-two{width:390px;height:390px}.coord-a{left:10px}.coord-b{right:0}.axis-label{font-size:7px}.artcaption{font-size:7px}body[data-direction=b] .artcaption{padding:0}.hero-foot span:last-child{text-align:right}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* QA correction: the explanatory caption has its own flow row, outside the 3D illustration. */
.axis-label{display:none;position:static;inset:auto;text-align:center;font:10px monospace;line-height:1.6;letter-spacing:1.5px;color:#b5c8af;padding:14px 0 20px}
body[data-direction=b] .axis-label{display:block}
body[data-direction=b] .darkart{height:600px}
body[data-direction=b] .assembly{top:42%}
body[data-direction=b] .hero{min-height:850px}
body[data-direction=b] .hero-foot{margin-top:190px}
@media(max-width:1100px){body[data-direction=b] .darkart{height:520px}body[data-direction=b] .hero{min-height:800px}body[data-direction=b] .hero-foot{margin-top:170px}}
@media(max-width:760px){body[data-direction=b] .darkart{height:490px}body[data-direction=b] .assembly{top:40%}body[data-direction=b] .hero{min-height:0}body[data-direction=b] .hero-foot{margin-top:20px}.axis-label{font-size:9px;padding:8px 0 22px;letter-spacing:1px}}

.case-figure{margin:24px 0 30px}.case-figure img{display:block;width:100%;height:auto;background:#f3f0e8}.case-figure figcaption{font-size:10px;line-height:1.6;color:var(--muted);margin-top:12px}#project{width:min(850px,calc(100% - 32px))}

.optical-controls{display:flex;align-items:baseline;gap:15px;font-size:10px;color:var(--muted);margin:-55px 12px 20px}.optical-controls button,.optical-controls summary{font:inherit;color:inherit;background:none;cursor:pointer}.optical-controls button{text-decoration:underline;text-underline-offset:4px}.optical-controls details{margin-left:auto;max-width:250px}.optical-controls details p{font-size:11px;line-height:1.5}.optical-controls button:focus-visible,.optical-controls summary:focus-visible{outline:2px solid #3578aa;outline-offset:5px}.optical-controls button:disabled{opacity:.45;cursor:default}.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}body[data-direction="b"] .optical-controls{display:none}.optical-art{overflow:visible}@media(max-width:600px){.optical-controls{margin:-35px 8px 15px;gap:12px}.optical-controls details{max-width:170px}}

.optical-stage{position:relative}.optical-control{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;background:transparent!important;cursor:pointer;outline:none}.optical-control:focus-visible{outline:2px solid #3578aa;outline-offset:3px}.optical-control:disabled{cursor:default}body[data-direction="b"] .optical-stage{display:none}

:root{--optic-ray:#3578aa;--optic-plane:#e2e8dc;--optic-edge:#243936;--optic-side:#b7c2b7;--optic-hatch:#99aa9e;--optic-core:#7caed1}
:root[data-theme="dark"]{--bg:#101817;--ink:#f1f1e8;--muted:#a2b3aa;--line:#34453d;--accent:#e79864;--panel:#17221e;--optic-ray:#ffffff;--optic-plane:#263b33;--optic-edge:#b6c8bd;--optic-side:#3c5549;--optic-hatch:#6d8a79;--optic-core:#ffffff;color-scheme:dark}
:root[data-theme="light"]{--muted:#626c65;color-scheme:light}
.reviewbar{background:var(--bg);color:var(--ink);border-color:var(--line)}.switch{background:var(--panel)}.switch button.selected{background:var(--ink);color:var(--bg)}.optical-control:focus-visible{outline-color:var(--optic-ray)}.case-figure img{background:var(--panel)}
:root[data-theme="dark"] .featured-visual{background:#263c31;border-color:#49604f;color:#e5ecd9}:root[data-theme="dark"] .stage>span{color:#a3b8a3}:root[data-theme="dark"] .stage.active small{color:#efad7e}:root[data-theme="dark"] .stage.active{border-color:#e79864}:root[data-theme="dark"] .projectlist button:hover{background:#ffffff06}
