@font-face{font-family:Montreal;src:url('../neue-montreal-regular.woff2') format('woff2');font-display:swap;font-weight:400}
@font-face{font-family:Albra;src:url('../albra-sans-thin-italic.woff2') format('woff2');font-display:swap;font-weight:100;font-style:italic}
:root{--paper:#fafafa;--ink:#0b0a0a;--petrol:#0f4c4c;--red:#a20c1a;--muted:#626662;--line:#d9dcd8;--g:clamp(22px,5vw,80px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font:400 15px/1.55 Montreal,Arial,sans-serif;-webkit-font-smoothing:antialiased}h1,h2,h3,p,figure{margin:0;font-weight:400}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}img{display:block;max-width:100%;height:auto}em{font-family:Albra,Georgia,serif;font-weight:100;font-synthesis:none}button,a{-webkit-tap-highlight-color:transparent}:focus-visible{outline:2px solid var(--red);outline-offset:5px}::selection{background:var(--petrol);color:white}.wrap{width:calc(100% - var(--g)*2);max-width:1400px;margin-inline:auto}.skip{position:fixed;top:-100px;z-index:100;background:white;padding:12px}.skip:focus{top:5px}
.header{position:sticky;top:0;z-index:20;background:#fafafaf5;border-bottom:1px solid var(--line);backdrop-filter:blur(8px)}.header .wrap{display:flex;justify-content:space-between;align-items:center;min-height:80px;gap:28px}.brand{width:280px;flex-shrink:0}.brand img{width:100%}.header nav{display:flex;gap:25px;font-size:11px}.header nav a:hover,.text-link:hover{color:var(--petrol)}.contact-link{font-size:11px;border-bottom:1px solid;padding-bottom:5px;white-space:nowrap}.eyebrow{font-size:10px;letter-spacing:.13em;text-transform:uppercase}.eyebrow:before{content:'';display:inline-block;vertical-align:middle;width:24px;height:2px;margin-right:12px;background:var(--red)}.hero{padding-top:65px}.hero-head{display:grid;grid-template-columns:1.55fr 1fr;align-items:end;gap:12%;margin:30px 0 55px}h1{font-size:clamp(52px,6.6vw,104px);line-height:1.03;letter-spacing:-.055em}h1 em{display:block}h2{font-size:clamp(40px,4.3vw,68px);line-height:1.07;letter-spacing:-.045em}h2 em{display:block;margin-top:4px}h3{letter-spacing:-.025em}.intro{max-width:390px;color:#4e5551;padding-bottom:8px}.intro .text-link{margin-top:25px}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;padding-bottom:7px;border-bottom:1px solid;font-size:12px;line-height:1.4}.identity-pair{display:grid;grid-template-columns:1fr 1fr;gap:24px}.identity-pair figure{min-width:0}.identity-pair .art{border:1px solid #e5e4e1}.identity-pair figcaption{display:flex;justify-content:space-between;gap:15px;margin-top:12px;font-size:10px;color:var(--muted)}.identity-pair figcaption a{color:var(--petrol);white-space:nowrap}.selection-note{font-size:10px;color:var(--muted);margin-top:18px}.capline{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;border-block:1px solid var(--line);padding:19px 0;margin-top:43px;font-size:10px;text-transform:uppercase;letter-spacing:.09em;color:var(--petrol)}
.art{display:block;position:relative;border:0;padding:0;width:100%;background:transparent;text-align:left;cursor:zoom-in}.art img{width:100%;object-fit:contain}.art:after{content:'↗';position:absolute;bottom:12px;right:12px;background:#fafafae8;font-size:18px;padding:3px 11px;opacity:0;transition:opacity .15s}.art:hover:after,.art:focus-visible:after{opacity:1}.project{padding-top:94px;padding-bottom:90px}.section-label{display:flex;justify-content:space-between;gap:25px;border-top:1px solid var(--line);padding-top:16px;color:var(--petrol);text-transform:uppercase;letter-spacing:.09em;font-size:10px}.section-head{display:grid;grid-template-columns:1.1fr 1fr;gap:12%;margin:32px 0 43px;align-items:start}.description{color:#4e5551;max-width:570px}.description p+p{margin-top:16px}.contribution{font-size:10px;color:var(--petrol);border-top:1px solid var(--line);padding-top:16px;line-height:1.7}.application-feature{background:#f1f0ec}.application-feature>.art{padding:20px}.application-feature figcaption{display:flex;justify-content:space-between;gap:20px;padding:16px 20px;border-top:1px solid #dddcd8;font-size:10px;color:var(--muted)}.presentation-pair{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:30px}.presentation-pair figure{min-width:0}.presentation-pair .art{border:1px solid #e5e4e1}.presentation-pair figcaption,.vertical-sequence figcaption,.in-use figcaption{font-size:11px;color:var(--muted);margin-top:12px;line-height:1.45}.project-tail{display:flex;justify-content:space-between;gap:40px;align-items:start;margin-top:32px;padding-top:23px;border-top:1px solid var(--line)}.project-tail>p{font-size:11px;color:var(--muted);max-width:440px}.project-tail .text-link{flex-shrink:0}.sae-section{padding:85px 0 90px;background:#f1efec}.sae-overview{margin-top:0}.vertical-sequence{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:40px}.vertical-sequence .art{background:#fafafa}.in-use{display:grid;grid-template-columns:1fr .6fr;gap:17%;align-items:center;margin-top:65px;padding-top:50px;border-top:1px solid #d4d2cd}.in-use h3{font-size:clamp(35px,3.5vw,52px);line-height:1.1;margin:22px 0;letter-spacing:-.04em}.in-use h3 em{display:block}.in-use p:not(.eyebrow){max-width:460px;font-size:13px;color:#62615c}.in-use figure{max-width:390px;justify-self:end}.in-use img{width:100%}
.related{padding:90px 0}.project-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.project-card{display:block;min-width:0}.card-image{aspect-ratio:1.42;background:#f0efeb;overflow:hidden;margin-bottom:18px}.card-image img{width:100%;height:100%;object-fit:cover;transition:transform .35s}.project-card:hover .card-image img{transform:scale(1.025)}.card-category{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--petrol)}.project-card h3{font-size:24px;line-height:1.15;display:flex;justify-content:space-between;gap:15px;margin-top:12px}.project-card p{font-size:13px;color:var(--muted);margin-top:13px;max-width:355px}.card-cta{display:inline-block;font-size:11px;border-bottom:1px solid;margin-top:20px;padding-bottom:5px}.collaboration{padding:85px 0;background:#eaece7}.steps{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin:50px 0 0;padding:0}.steps li{border-top:1px solid #c3c9bf;padding-top:18px}.steps li>span{font-size:10px;letter-spacing:.06em;color:var(--petrol)}.steps h3{font-size:24px;line-height:1.2;margin:20px 0 12px}.steps p{max-width:340px;color:#5a6058;font-size:13px}.async{display:grid;grid-template-columns:1.1fr 1fr;gap:12%;border-top:1px solid #c3c9bf;margin-top:50px;padding-top:35px}.async h3{font-size:30px;line-height:1.2}.async h3 em{display:block}.async p{font-size:13px;color:#5a6058;max-width:420px}footer{padding-top:90px;background:var(--petrol);color:var(--paper)}footer .eyebrow:before{background:#e5bbaa}footer h2{font-size:clamp(42px,5.3vw,80px);margin-top:30px;max-width:1050px}footer .closing-copy{font-size:15px;max-width:560px;line-height:1.6;color:#d1dfd9;margin-top:30px}.email{display:flex;justify-content:space-between;gap:30px;font-size:clamp(26px,4.1vw,56px);letter-spacing:-.035em;border-bottom:1px solid #6e9790;padding:25px 0 15px;margin-top:35px}.footer-bottom{display:flex;justify-content:space-between;gap:30px;padding:28px 0;font-size:10px;color:#d1dfd9}.footer-links{display:flex;gap:24px;flex-wrap:wrap}.footer-links a:hover{text-decoration:underline;text-underline-offset:4px}
.viewer{padding:0;max-width:none;max-height:none;width:100vw;height:100dvh;margin:0;background:#efefea;border:0;color:var(--ink)}.viewer::backdrop{background:#101510de}.viewer-shell{height:100%;display:flex;flex-direction:column;padding:20px 25px}.viewer-bar,.viewer-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:12px;flex-shrink:0}.viewer-label{max-width:75%}.viewer button{cursor:pointer;background:transparent;border:1px solid #b9bdb6;padding:9px 15px;font-size:12px}.viewer button:disabled{opacity:.35;cursor:default}.viewer-help{font-size:10px;color:var(--muted);margin-top:8px}.viewer-stage{flex:1;min-height:0;overflow:auto;display:grid;place-items:center;margin:15px 0}.viewer-stage img{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain}.viewer-stage.zoom{display:block}.viewer-stage.zoom img{max-width:none;max-height:none;width:auto;height:auto;margin:auto}.viewer-controls{display:flex;gap:9px}body:has(dialog[open]){overflow:hidden}
@media(min-width:1700px){.hero-head{margin-bottom:60px}.hero{padding-top:75px}}
@media(max-width:1050px){.header nav{gap:15px}.brand{width:220px}.hero-head{gap:7%}.section-head{gap:7%}.identity-pair figcaption{display:block}.identity-pair figcaption a{display:inline-block;margin-top:5px}.project-tail{gap:22px}.project-tail .text-link{flex-shrink:1}.project-cards{gap:20px}.project-card h3{font-size:22px}.steps{gap:28px}}
@media(max-width:760px){html{scroll-padding-top:115px}.header .wrap{min-height:92px;flex-wrap:wrap;gap:12px;padding-block:16px}.brand{width:215px}.contact-link{font-size:10px}.header nav{order:3;width:100%;justify-content:space-between;font-size:10px;gap:12px}.hero{padding-top:38px}.hero-head{grid-template-columns:1fr;gap:27px;margin:24px 0 33px}.hero h1{font-size:clamp(54px,10.5vw,78px)}.intro{max-width:550px;font-size:14px}.intro .text-link{margin-top:19px}.identity-pair{grid-template-columns:1fr;gap:25px}.identity-pair figcaption{display:flex;font-size:10px}.identity-pair figcaption a{margin-top:0}.capline{display:grid;grid-template-columns:1fr 1fr;gap:13px;font-size:9px;margin-top:30px}.project{padding-block:60px}.section-label{font-size:9px;gap:15px}.section-head{grid-template-columns:1fr;gap:25px;margin:27px 0 32px}.section-head h2{font-size:44px}.description{font-size:14px;max-width:none}.presentation-pair{grid-template-columns:1fr;gap:25px;margin-top:25px}.application-feature>.art{padding:5px}.application-feature figcaption{padding:12px;font-size:9px;gap:15px}.project-tail{display:block;margin-top:27px}.project-tail .text-link{margin-top:20px}.sae-section{padding-block:55px}.vertical-sequence{grid-template-columns:1fr;gap:30px;margin-top:30px}.vertical-sequence figure{max-width:520px;width:100%;margin:auto}.vertical-sequence figcaption{font-size:12px}.in-use{grid-template-columns:1fr;gap:27px;margin-top:35px;padding-top:30px}.in-use figure{justify-self:start;max-width:390px;width:100%}.in-use h3{font-size:38px}.related{padding-block:60px}.project-cards{grid-template-columns:1fr;gap:38px}.project-card{max-width:540px}.project-card h3{font-size:27px}.project-card p{font-size:14px;max-width:none}.card-image{aspect-ratio:1.5}.collaboration{padding-block:55px}.steps{grid-template-columns:1fr;gap:28px;margin-top:35px}.steps h3{margin:14px 0 10px;font-size:25px}.steps p{font-size:14px;max-width:none}.async{grid-template-columns:1fr;gap:22px;margin-top:35px;padding-top:28px}.async p{max-width:none;font-size:14px}footer{padding-top:55px}footer h2{font-size:45px}footer .closing-copy{font-size:14px}.footer-bottom{display:block;padding-block:25px}.footer-links{margin-top:20px;gap:17px}.viewer-shell{padding:14px}.viewer-bar{align-items:start}.viewer-label{font-size:11px;max-width:65%}.viewer-help{font-size:9px}.viewer-bottom{gap:10px;font-size:11px}.viewer button{font-size:11px;padding:9px 10px}.viewer-controls{gap:5px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
