@font-face{font-family:Alegreya Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/alegreya-sans-500-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+2074,U+20AC,U+2122,U+2190-2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Alegreya Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/alegreya-sans-500-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Alegreya Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/alegreya-sans-700-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+2074,U+20AC,U+2122,U+2190-2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Alegreya Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/alegreya-sans-700-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/source-serif-4-400-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+2074,U+20AC,U+2122,U+2190-2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/source-serif-4-400-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/source-serif-4-600-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+2074,U+20AC,U+2122,U+2190-2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/source-serif-4-600-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Serif 4";font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/source-serif-4-400-italic-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+2074,U+20AC,U+2122,U+2190-2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Serif 4";font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/source-serif-4-400-italic-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/dm-mono-400-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+2074,U+20AC,U+2122,U+2190-2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/dm-mono-400-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}nav{z-index:10;max-width:1220px;padding:1.1rem var(--pad);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#13100be0;align-items:center;gap:2rem;margin:0 auto;display:flex;position:sticky;top:0}.nav-logo{font-family:var(--font-mono);font-size:var(--step-caption);color:var(--ink)}.nav-links{font-family:var(--font-mono);font-size:var(--step-caption);color:var(--ink-2);gap:1.6rem;margin-left:auto;list-style:none;display:flex}.nav-links a{color:var(--ink-2);transition:color .18s}.nav-links a:hover{color:var(--brass)}.nav-hamburger{display:none}@media (width<=820px){.nav-links{background:var(--raise);border-bottom:1px solid var(--line);transform-origin:top;opacity:0;pointer-events:none;flex-direction:column;gap:0;transition:transform .18s,opacity .18s;position:absolute;top:100%;left:0;right:0;transform:scaleY(0)}.nav-links--open{opacity:1;pointer-events:auto;transform:scaleY(1)}.nav-links li{border-top:1px solid var(--line)}.nav-links a{padding:.9rem var(--pad);display:block}.nav-cta--desktop{display:none}.nav-hamburger{border:1px solid var(--line-2);border-radius:var(--radius);cursor:pointer;background:0 0;flex-direction:column;justify-content:center;gap:4px;width:2.25rem;height:2.25rem;margin-left:auto;padding:0 .5rem;display:flex}.nav-hamburger span{background:var(--ink-2);height:1px;display:block}}.hero{border-bottom:1px solid var(--line);padding:clamp(4.5rem,11vw,9rem) 0 clamp(3.5rem,7vw,6rem)}.hero h1{font-size:var(--step-display);line-height:var(--leading-display);max-width:15ch;margin-top:1.7rem}.hero h1 .accent{color:var(--brass)}.hero-sub{color:var(--ink-2);max-width:52ch;margin-top:1.7rem;font-size:1.2rem;line-height:1.6}.hero-sub strong{color:var(--ink);font-weight:600}.hero-actions{flex-wrap:wrap;gap:.9rem;margin-top:2.4rem;display:flex}.sec{gap:var(--rail);border-bottom:1px solid var(--line);grid-template-columns:minmax(0,7fr) minmax(0,10fr);padding:clamp(3rem,7vw,6rem) 0;display:grid}.sec-lead{align-self:start;position:sticky;top:5.5rem}.sec-lead h2{margin-top:1.4rem}.standfirst{color:var(--ink-2);max-width:42ch;margin-top:1.2rem}.standfirst em{color:var(--ink);font-style:italic}.w1 h2{font-size:var(--step-h1)}.w2 h2{font-size:var(--step-h2)}.w3 h2{font-size:var(--step-h3)}.w4{padding-top:clamp(2.25rem,4vw,3.5rem);padding-bottom:clamp(2.25rem,4vw,3.5rem)}.w4 h2{font-size:var(--step-h4);letter-spacing:0}.w4 .standfirst{font-size:.9375rem}@media (width<=860px){.sec{grid-template-columns:1fr;gap:2rem}.sec-lead{position:static}}.close{border-bottom:1px solid var(--line);padding:clamp(3.5rem,8vw,6.5rem) 0}.close h2{font-size:var(--step-h1);max-width:16ch;margin-top:1.5rem}.contact-inner{gap:var(--rail);grid-template-columns:minmax(0,7fr) minmax(0,10fr);margin-top:2.5rem;display:grid}@media (width<=860px){.contact-inner{grid-template-columns:1fr;gap:2.5rem}}.contact-desc{color:var(--ink-2);max-width:42ch;margin-bottom:2rem}footer{max-width:1220px;padding:2.5rem var(--pad) 3.5rem;font-family:var(--font-mono);font-size:var(--step-caption);color:var(--ink-3);flex-wrap:wrap;align-items:baseline;gap:.75rem 2rem;margin:0 auto;display:flex}.footer-logo{color:var(--ink-2)}.footer-logo span{color:var(--brass)}.footer-copy{margin-left:auto}@media (width<=620px){.footer-copy{margin-left:0}}.section-label{font-family:var(--font-mono);font-size:var(--step-eyebrow);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--ink-3);align-items:center;gap:.75em;display:flex}.section-label:before{content:"";background:var(--brass);flex:none;width:1.75rem;height:1px}.btn-primary,.btn-ghost{border-radius:var(--radius);font-family:var(--font-mono);font-size:var(--step-caption);cursor:pointer;border:1px solid #0000;padding:.75em 1.5em;transition:background .18s,border-color .18s,color .18s;display:inline-block}.btn-primary{background:var(--brass);color:#17120a;font-weight:500}.btn-primary:hover:not(:disabled){background:var(--brass-hi)}.btn-primary:disabled{opacity:.55;cursor:default}.btn-ghost{border-color:var(--line-2);color:var(--ink-2)}.btn-ghost:hover{border-color:var(--brass);color:var(--brass)}.nav-cta{border:1px solid var(--line-2);border-radius:var(--radius);font-family:var(--font-mono);font-size:var(--step-caption);color:var(--brass);padding:.45em 1em;transition:background .18s}.nav-cta:hover{background:var(--brass-dim)}.chip{border:1px solid var(--line-2);border-radius:var(--radius);font-family:var(--font-mono);font-size:var(--step-eyebrow);letter-spacing:.13em;text-transform:uppercase;color:var(--ink-2);align-items:center;gap:.5em;padding:.3em .65em;display:inline-flex}.chip--live{color:var(--brass);border-color:var(--brass-line)}.chip--live:before{content:"";background:var(--brass);border-radius:50%;width:5px;height:5px}.stack{background:var(--line);border:1px solid var(--line);flex-direction:column;gap:1px;display:flex}.stack-row{background:var(--sunk);grid-template-columns:auto 1fr;align-items:start;gap:1.25rem;padding:1.4rem 1.5rem;display:grid}.stack-num{font-family:var(--font-mono);font-size:var(--step-caption);color:var(--brass);font-variant-numeric:tabular-nums;padding-top:.28em}.stack-row h3{font-size:var(--step-h4);margin-bottom:.3rem}.stack-row p{color:var(--ink-2);max-width:52ch;font-size:.9688rem;line-height:1.62}.own-grid{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:1px;display:grid}.own-cell{background:var(--sunk);padding:1.5rem}.own-key{font-family:var(--font-mono);font-size:var(--step-eyebrow);letter-spacing:.15em;text-transform:uppercase;color:var(--brass)}.own-cell h3{font-size:var(--step-h3);margin:.75rem 0 .45rem}.own-cell p{color:var(--ink-2);font-size:.9375rem;line-height:1.6}.platforms-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.25rem;display:grid}.platform-card{background:var(--sunk);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;gap:.7rem;padding:1.6rem;transition:border-color .18s;display:flex}.platform-card:hover{border-color:var(--line-2)}.platform-name{font-family:var(--font-mono);font-size:var(--step-caption);color:var(--platform-accent,var(--brass));align-items:center;gap:.6em;display:flex}.platform-name:before{content:"";background:var(--platform-accent,var(--brass));flex:none;width:8px;height:8px}.platform-title{font-size:var(--step-h3)}.platform-desc{color:var(--ink-2);flex:1;font-size:.9375rem;line-height:1.62}.platform-link{font-family:var(--font-mono);font-size:var(--step-caption);color:var(--brass);margin-top:.4rem}.platform-card:hover .platform-link{color:var(--brass-hi)}.work-list{background:var(--line);border:1px solid var(--line);flex-direction:column;gap:1px;display:flex}.work-card{background:var(--sunk);padding:1.5rem}.work-card h3{font-size:var(--step-h3);margin:.85rem 0 .5rem}.work-card p{color:var(--ink-2);max-width:60ch;font-size:.9375rem;line-height:1.62}.work-link{font-family:var(--font-mono);font-size:var(--step-caption);color:var(--brass);margin-top:.9rem;display:inline-block}.work-link:hover{color:var(--brass-hi)}.about-text p{color:var(--ink-2);max-width:var(--measure);margin-bottom:.9em}.about-text p strong{color:var(--ink);font-weight:600}.principles{flex-direction:column;gap:.85rem;margin-top:1.6rem;display:flex}.principle{grid-template-columns:auto 1fr;align-items:baseline;gap:.9rem;display:grid}.principle-dot{background:var(--brass);width:6px;height:6px;transform:translateY(-1px)}.principle p{color:var(--ink-2);font-size:.9688rem}.principle strong{color:var(--ink);font-weight:600}.contact-detail{border-top:1px solid var(--line);font-family:var(--font-mono);font-size:var(--step-caption);flex-wrap:wrap;gap:.35rem 1rem;padding:.85rem 0;display:flex}.contact-detail span:first-child{color:var(--ink-3);letter-spacing:.12em;text-transform:uppercase;font-size:var(--step-eyebrow);min-width:7rem}.contact-detail span:last-child{color:var(--ink)}.contact-form{flex-direction:column;gap:1.1rem;display:flex}.form-group{flex-direction:column;gap:.45rem;display:flex}.form-group label{font-family:var(--font-mono);font-size:var(--step-eyebrow);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}.form-group input,.form-group textarea{background:var(--sunk);border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);font-family:var(--font-body);font-size:var(--step-body);padding:.75rem .9rem;line-height:1.5;transition:border-color .18s}.form-group textarea{resize:vertical}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--ink-3)}.form-group input:focus,.form-group textarea:focus{border-color:var(--brass);outline:none}.form-status{font-family:var(--font-mono);font-size:var(--step-caption);line-height:1.55}.form-status.success{color:var(--verdigris)}.form-status.error{color:#d97757}:root{--ground:#13100b;--raise:#1b170f;--sunk:#0e0c08;--line:#e2c89621;--line-2:#e2c89642;--ink:#f3ede1;--ink-2:#b3a68f;--ink-3:#7e7361;--brass:#c08a3e;--brass-hi:#d8a25a;--brass-dim:#c08a3e24;--brass-line:#c08a3e6b;--verdigris:#6fa892;--gunmetal:#7c9bb8;--font-display:"Alegreya Sans", "Segoe UI", system-ui, sans-serif;--font-body:"Source Serif 4", Charter, "Iowan Old Style", Georgia, serif;--font-mono:"DM Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--step-display:clamp(2.6rem, 6.2vw, 4.1rem);--step-h1:clamp(1.9rem, 3.6vw, 2.6rem);--step-h2:1.5rem;--step-h3:1.25rem;--step-h4:1.0625rem;--step-body:1.0625rem;--step-caption:.8125rem;--step-eyebrow:.6875rem;--leading-display:1.03;--leading-heading:1.15;--leading-body:1.7;--tracking-eyebrow:.16em;--measure:64ch;--pad:clamp(1.25rem, 5vw, 4.5rem);--rail:clamp(2rem, 5.5vw, 5.5rem);--radius:2px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{background:var(--ground);color:var(--ink);font-family:var(--font-body);font-size:var(--step-body);line-height:var(--leading-body);-webkit-font-smoothing:antialiased;overflow-x:hidden}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.018em;font-weight:700;line-height:var(--leading-heading);text-wrap:balance}a{color:inherit;text-decoration:none}::selection{background:#c08a3e4d}:focus-visible{outline:2px solid var(--brass);outline-offset:3px;border-radius:var(--radius)}.skip-link{background:var(--brass);color:#17120a;font-family:var(--font-mono);font-size:var(--step-caption);z-index:100;padding:.7em 1.2em;position:absolute;top:0;left:-9999px}.skip-link:focus{left:0}.wrap{max-width:1220px;padding:0 var(--pad);margin:0 auto}
