
:root{color-scheme:dark;--ink:#0c1012;--paper:#f0eee5;--muted:#b0b9b7;--line:#323c3e;--mint:#b5efce;--cyan:#8dcbd5;--surface:#131b1e;--mono:"SFMono-Regular",Consolas,"Liberation Mono",monospace;--sans:"Helvetica Neue",Helvetica,Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0;background:var(--ink);color:var(--paper);font:17px/1.65 var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:5px}a:hover{color:var(--mint)}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--mint);outline-offset:6px}::selection{background:var(--mint);color:var(--ink)}.wrap{width:min(1280px,calc(100% - 112px));margin-inline:auto}.skip{position:absolute;top:-100px;left:24px;background:var(--mint);color:var(--ink);padding:12px 20px;z-index:10}.skip:focus{top:12px}.draft{border-bottom:1px solid var(--line);font:11px/1.5 var(--mono);letter-spacing:.055em;color:var(--muted);padding:11px 0}.draft .wrap{display:flex;justify-content:space-between;gap:12px}.draft strong{color:var(--mint);font-weight:400}.header{display:flex;align-items:center;justify-content:space-between;padding-block:29px;gap:24px}.brand{display:inline-flex;align-items:center;gap:13px;font-weight:650;font-size:20px;letter-spacing:-.6px;text-decoration:none;white-space:nowrap}.mark{width:29px;height:29px;border:1px solid var(--mint);display:grid;place-items:center;font:13px var(--mono);color:var(--mint)}nav{display:flex;gap:30px}nav a{font-size:14px;text-decoration:none;padding:10px 0}.menu{display:none;font:14px var(--sans);border:1px solid var(--line);padding:11px 15px;background:none;color:var(--paper);min-height:44px}.menu[hidden]{display:none}.eyebrow{font:11px/1.6 var(--mono);text-transform:uppercase;letter-spacing:.12em;color:var(--mint);margin:0 0 27px}.hero{padding:72px 0 55px}.hero-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:26px;align-items:center}.hero h1{font-size:clamp(58px,6.4vw,92px);font-weight:450;line-height:1.015;letter-spacing:-.065em;margin:0 0 32px;max-width:800px}.hero h1 span{color:var(--mint)}.intro{font-size:21px;line-height:1.55;color:var(--muted);max-width:450px;margin:0 0 34px}.actions{display:flex;align-items:center;gap:26px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:27px;padding:14px 21px;min-height:50px;background:var(--mint);color:var(--ink);font-size:14px;font-weight:600;text-decoration:none;border:1px solid var(--mint)}.button:hover{background:var(--paper);color:var(--ink);border-color:var(--paper)}.text-link{display:inline-block;padding:12px 0;font-size:14px}.architecture{margin:36px 0 0;min-width:0}.architecture svg{display:block;width:100%;height:auto;overflow:visible}.architecture figcaption{font:10px/1.7 var(--mono);color:var(--muted);padding:10px 0 0 26px}.hero-note{border-top:1px solid var(--line);margin-top:75px;padding-top:20px;display:flex;justify-content:space-between;gap:16px;color:var(--muted);font:11px/1.5 var(--mono)}section{scroll-margin-top:28px}.section{padding-block:83px;border-top:1px solid var(--line)}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:43px}.section-heading .eyebrow{margin-bottom:17px}h2{font-size:clamp(34px,4vw,52px);line-height:1.1;font-weight:450;letter-spacing:-.045em;margin:0}.section-intro{color:var(--muted);max-width:350px;font-size:15px;margin:0}.projects{display:grid;grid-template-columns:1fr 1fr;column-gap:56px;row-gap:46px}.project{border-top:1px solid var(--line);padding-top:18px;min-width:0}.project-meta{display:flex;justify-content:space-between;gap:20px;font:10px/1.6 var(--mono);letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}.project-image{height:167px;position:relative;margin:22px 0 23px;background:#101719;overflow:hidden}.project-image svg{height:100%;width:100%;display:block}.project h3{font-size:31px;line-height:1.2;font-weight:450;letter-spacing:-1px;margin:0 0 12px}.project p{font-size:16px;color:var(--muted);max-width:480px;margin:0 0 15px}.project-link{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:46px;font-size:13px;text-decoration:none;border-bottom:1px solid var(--line);padding-block:12px}.project-link span:last-child{color:var(--mint);font-size:20px}details{font-size:13px;color:var(--muted);margin-top:12px}summary{cursor:pointer;min-height:44px;padding:10px 0;color:var(--muted)}summary:hover{color:var(--paper)}details p{font-size:13px!important;line-height:1.7;margin:6px 0 12px!important}.approach{display:grid;grid-template-columns:.85fr 1.5fr;gap:100px}.approach .eyebrow{margin-bottom:20px}.approach h2{max-width:360px}.approach-list{list-style:none;margin:0;padding:0}.approach-list li{display:grid;grid-template-columns:33px 110px 1fr;gap:17px;align-items:baseline;border-top:1px solid var(--line);padding:23px 0}.step{font:11px var(--mono);color:var(--mint)}.approach-list h3{font-weight:500;font-size:18px;margin:0}.approach-list p{font-size:14px;color:var(--muted);margin:0}.about-grid{display:grid;grid-template-columns:.85fr 1.5fr;gap:100px}.about-copy{font-size:25px;line-height:1.55;letter-spacing:-.025em;margin:0;max-width:650px}.about-copy small{display:block;font:15px/1.8 var(--sans);letter-spacing:0;color:var(--muted);margin-top:22px;max-width:570px}.contact{display:flex;justify-content:space-between;gap:56px;align-items:flex-end;padding-block:75px}.contact h2{max-width:620px}.contact p{max-width:325px;font-size:15px;color:var(--muted);margin:0}.pending{display:inline-block;font:10px/1.6 var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--mint);margin-bottom:12px}.footer{display:flex;justify-content:space-between;gap:20px;padding-block:27px;border-top:1px solid var(--line);font:11px/1.8 var(--mono);color:var(--muted)}.footer a{min-height:44px;display:inline-flex;align-items:center}.footer p{margin:10px 0}
@media(min-width:1500px){.hero{padding-top:100px}}
@media(max-width:1000px){.wrap{width:calc(100% - 64px)}.hero{padding-top:55px}.hero-layout{grid-template-columns:1.15fr .85fr;gap:8px}.hero h1{font-size:clamp(55px,7.5vw,76px)}.intro{font-size:19px}.architecture figcaption{padding-left:0}.approach,.about-grid{gap:44px;grid-template-columns:.85fr 1.3fr}.approach-list li{grid-template-columns:25px 1fr}.approach-list p{grid-column:2}.projects{column-gap:32px}.contact{gap:32px}}
@media(max-width:650px){.wrap{width:calc(100% - 40px)}.draft .wrap{display:block}.draft .review{display:none}.header{padding-block:19px;flex-wrap:wrap;gap:14px}.menu{display:block}.header nav{width:100%;display:flex;flex-wrap:wrap;gap:0;border-block:1px solid var(--line);padding:8px 0}.header nav a{flex:1 0 50%;min-height:44px}.js .header nav{display:none}.js .header nav.is-open{display:flex}.hero{padding-top:40px}.hero-layout{grid-template-columns:1fr}.hero h1{font-size:clamp(49px,12.8vw,76px);max-width:560px}.intro{font-size:19px;max-width:350px}.architecture{margin:35px 0 0;max-width:460px;justify-self:center;width:100%}.architecture figcaption{font-size:10px}.hero-note{margin-top:35px;font-size:10px}.hero-note span:last-child{display:none}.section{padding-block:56px}.section-heading{display:block;margin-bottom:30px}.section-intro{margin-top:22px}.projects{grid-template-columns:1fr;gap:36px}.project-image{height:155px}.approach,.about-grid{grid-template-columns:1fr;gap:32px}.approach h2{max-width:340px}.about-copy{font-size:23px}.contact{display:block;padding-block:56px}.contact p{margin-top:30px}.footer{font-size:10px;gap:12px}.footer p{max-width:210px}.actions{gap:20px}.button{padding-inline:17px;gap:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
/* Approved persistent navigation: preserve readable labels and touch targets. */
html{scroll-padding-top:calc(var(--nav-height,104px) + 18px)}
.header{position:sticky;top:0;z-index:20;width:100%;padding-inline:max(56px,calc((100% - 1280px)/2));background:rgba(12,16,18,.96);border-bottom:1px solid transparent;transition:padding-block .18s ease,background-color .18s ease,border-color .18s ease}
.header.is-compact{padding-block:8px;background:rgba(12,16,18,.88);border-bottom-color:var(--line)}
.header:hover,.header:focus-within{background:var(--ink)}
.header nav a{min-height:44px;display:inline-flex;align-items:center}
.skip{position:fixed;z-index:30}
@media(max-width:1000px){.header{padding-inline:32px}}
@media(max-width:650px){.header{padding-inline:20px}.header.is-compact{gap:8px}.header nav{max-height:calc(100dvh - 100px);overflow:auto}}
@media(prefers-reduced-motion:reduce){.header{transition:none}}
