:root{color-scheme:dark;--bg:#09171f;--ink:#eff7f7;--muted:#b3c5cc;--mint:#70e5cf;--line:#30454f;--mono:ui-monospace,SFMono-Regular,Consolas,monospace}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.6 system-ui,sans-serif}a{color:inherit;text-decoration:none}a:hover{color:var(--mint)}:focus-visible{outline:2px solid var(--mint);outline-offset:5px}.shell{width:min(1120px,calc(100% - 48px));margin:auto}header,footer{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:22px 0;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px;font-size:21px;font-weight:750;line-height:1.1}.brand img{width:42px}.brand small{display:block;color:var(--mint);font:9px/1.6 var(--mono);letter-spacing:.16em}nav{display:flex;gap:clamp(12px,4vw,36px);font-size:14px;color:var(--muted)}.hero{display:grid;grid-template-columns:1.08fr 1fr;gap:36px;align-items:center;padding:80px 0}.eyebrow,.tag,.visual-label,.radar-label,.radar-foot,.steps span{font:600 11px/1.6 var(--mono);letter-spacing:.15em;color:var(--mint)}.eyebrow span{display:inline-block;background:var(--mint);width:7px;height:7px;margin-right:8px;border-radius:50%}h1,h2,h3,p{margin:0}h1{font-size:clamp(50px,7.6vw,108px);letter-spacing:-.085em;line-height:.98;margin:22px 0}h1 em{font-style:normal;color:var(--mint)}.intro{font-size:19px;color:var(--muted);max-width:420px;margin-bottom:30px}.button{display:inline-flex;gap:22px;align-items:center;background:var(--mint);color:#0a2227;padding:11px 17px;border-radius:5px;font-weight:750}.button:hover{background:#a8f3e4;color:#0a2227}.radar{position:relative;border:1px solid var(--line);background:radial-gradient(ellipse,#163641,#0b1b24 75%);padding:16px;border-radius:10px}.radar svg{width:100%;display:block}.radar-foot{text-align:right;color:var(--muted)}.radar-foot b{color:var(--mint)}.section{padding:56px 0;border-top:1px solid var(--line)}h2{font-size:clamp(33px,5vw,57px);line-height:1.06;letter-spacing:-.055em;margin:11px 0 26px}.projects,.steps{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}article{overflow:hidden;border:1px solid var(--line);border-radius:10px;background:#10232d}.visual{position:relative;min-height:244px;display:grid;place-items:center;background-size:24px 24px;background-image:linear-gradient(#ffffff0d 1px,transparent 1px),linear-gradient(90deg,#ffffff0d 1px,transparent 1px)}.swish{background-color:#19373f;--fabric:#386f75}.capt{background-color:#202d49}.visual-label{position:absolute;top:12px;left:14px;color:#d3e6eb;font-size:10px}.chair{width:min(85%,290px);margin-top:18px}.fabric{fill:var(--fabric);stroke:#c4e1de;stroke-width:1.5;transition:fill .2s}.swatches{position:absolute;bottom:12px;right:14px;display:flex;gap:8px}.swatches button{background:#386f75;border:1px solid #bdd1d7;border-radius:50%;width:26px;height:26px;cursor:pointer}.swatches button:nth-child(2){background:#9b5348}.swatches button:nth-child(3){background:#474e85}.swatches button[aria-pressed=true]{outline:2px solid white;outline-offset:2px}.flow{margin-top:18px;display:grid;width:min(72%,265px);text-align:center}.flow span{background:#111e34;border:1px solid #6375a1;border-radius:5px;padding:6px;font-size:14px}.flow b,.flow i{font:12px var(--mono);color:#b1c7ff}.flow b{margin-right:12px}.card-copy{padding:22px}h3{font-size:27px;letter-spacing:-.04em;margin:4px 0 7px}.card-copy p:not(.tag),.steps p,.about>p{color:var(--muted)}details{margin-top:18px;border-top:1px solid var(--line);padding-top:12px}summary{cursor:pointer;font-weight:650;color:var(--mint)}details p{margin-top:8px}.steps{grid-template-columns:repeat(3,1fr)}.steps>div{padding:18px 0;border-top:1px solid var(--line)}.about{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:center}.about h2{margin-bottom:0}footer{border-top:1px solid var(--line);border-bottom:0;color:var(--muted);font-size:13px}@media(max-width:700px){.shell{width:calc(100% - 32px)}.hero,.projects,.steps,.about{grid-template-columns:1fr}.hero{padding:50px 0}.radar{max-width:460px}.section{padding:40px 0}.steps,.about{gap:10px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.fabric{transition:none}}

.about-portrait{display:block;width:min(100%,320px);aspect-ratio:4/5;object-fit:cover;justify-self:end;border-radius:10px;border:1px solid var(--line)}
@media(max-width:700px){.about-portrait{justify-self:start;margin-top:12px}}
