@font-face{font-family:Familjen Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/293bd128733a00fa-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Familjen Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/b6ec7d965603f0a3-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:Familjen Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/0e4ef738476b9f05-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Familjen Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/293bd128733a00fa-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Familjen Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/b6ec7d965603f0a3-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:Familjen Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/0e4ef738476b9f05-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Familjen Grotesk Fallback;src:local("Arial");ascent-override:108.37%;descent-override:23.79%;line-gap-override:0.00%;size-adjust:94.59%}.__className_e4d9ff{font-family:Familjen Grotesk,Familjen Grotesk Fallback;font-style:normal}.__variable_e4d9ff{--font-familjen:"Familjen Grotesk","Familjen Grotesk Fallback"}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/7b19b489dc6743ba-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/28793f5c5e3d822d-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c9c3823090ec8b55-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/b3bf17a9041d9433-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/2801417b65625cf5-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/26d4368bf94c0ec4-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/7b19b489dc6743ba-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/28793f5c5e3d822d-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c9c3823090ec8b55-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/b3bf17a9041d9433-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/2801417b65625cf5-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/26d4368bf94c0ec4-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/7b19b489dc6743ba-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/28793f5c5e3d822d-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c9c3823090ec8b55-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/b3bf17a9041d9433-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/2801417b65625cf5-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/26d4368bf94c0ec4-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Sans Fallback;src:local("Arial");ascent-override:101.32%;descent-override:27.18%;line-gap-override:0.00%;size-adjust:101.17%}.__className_1bc20f{font-family:IBM Plex Sans,IBM Plex Sans Fallback;font-style:normal}.__variable_1bc20f{--font-plex:"IBM Plex Sans","IBM Plex Sans Fallback"}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/58f386aa6b1a2a92-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/011e180705008d6f-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/7ba5fb2a8c88521c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/92eeb95d069020cc-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/d3ebbfd689654d3a-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Mono Fallback;src:local("Arial");ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.00%;size-adjust:134.59%}.__className_21eb4d{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-weight:400;font-style:normal}.__variable_21eb4d{--font-plex-mono:"IBM Plex Mono","IBM Plex Mono Fallback"}:root{--ink:#0e1621;--ink-2:#16212f;--edge:#243344;--paper:#f3f5f4;--white:#ffffff;--on-ink:#eef3f7;--on-ink-dim:#93a4b8;--on-paper:#16212f;--on-paper-dim:#5b6a78;--live:#16b978;--live-deep:#0d7a4f;--measure:62ch;--shell:1240px;--gutter:clamp(1.25rem,5vw,3.5rem);--s1:0.5rem;--s2:1rem;--s3:1.5rem;--s4:2rem;--s5:3rem;--s6:4.5rem;--s7:7rem;--font-display:var(--font-familjen),"Helvetica Neue",Arial,sans-serif;--font-body:var(--font-plex),system-ui,sans-serif;--font-mono:var(--font-plex-mono),ui-monospace,"SF Mono",monospace;color-scheme:dark}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--ink);color:var(--on-ink);font-family:var(--font-body);font-size:1.0625rem;line-height:1.6;-webkit-font-smoothing:antialiased}h1,h2,h3,h4{font-family:var(--font-display);font-weight:700;line-height:1.04;letter-spacing:-.025em;margin:0;text-wrap:balance}p{margin:0}img{max-width:100%;height:auto;display:block}ol,ul{margin:0;padding:0;list-style:none}a{color:inherit}:focus-visible{outline:2px solid var(--live);outline-offset:3px;border-radius:2px}.skip{position:absolute;left:-9999px;top:0;z-index:100;background:var(--live);color:#04120b;padding:var(--s1) var(--s2);font-weight:600}.skip:focus{left:var(--s2);top:var(--s2)}.shell{max-width:var(--shell);margin-inline:auto;padding-inline:var(--gutter)}.band{padding-block:var(--s7)}[id]{scroll-margin-top:84px}.band-tight{padding-block:var(--s6)}.on-paper{background:var(--paper);color:var(--on-paper)}.on-paper .dim{color:var(--on-paper-dim)}.dim{color:var(--on-ink-dim)}.measure{max-width:var(--measure)}.band-head{display:flex;flex-direction:column;gap:var(--s2);margin-bottom:var(--s5)}.band-head h2{font-size:clamp(1.75rem,3.4vw,2.6rem)}.band-head p{max-width:54ch}.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:40;background:color-mix(in srgb,var(--ink) 88%,transparent);-webkit-backdrop-filter:saturate(140%) blur(10px);backdrop-filter:saturate(140%) blur(10px);border-bottom:1px solid var(--edge)}.site-header .shell{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);min-height:68px}.brand{font-family:var(--font-display);font-weight:700;font-size:1.1875rem;letter-spacing:-.02em;text-decoration:none;display:inline-flex;align-items:center;gap:.55rem}.brand-mark{width:15px;height:15px;flex:none}.nav{display:flex;gap:var(--s3)}.nav,.nav a{align-items:center}.nav a{display:inline-flex;font-size:.9375rem;color:var(--on-ink-dim);text-decoration:none;padding-block:.25rem;border-bottom:1px solid transparent;transition:color .15s ease}.nav a:hover,.nav a[aria-current=page]{color:var(--on-ink);border-bottom-color:var(--live)}.nav-cta{display:none}@media (min-width:62rem){.nav-cta{display:inline-flex}}.btn{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--font-body);font-weight:600;font-size:.9375rem;line-height:1;padding:.8125rem 1.25rem;border-radius:6px;text-decoration:none;border:1px solid transparent;transition:background-color .15s ease,border-color .15s ease}.btn-primary{background:var(--live);color:#04120b}.btn-primary:hover{background:#2ad08c}.btn-ghost{border-color:var(--edge);color:var(--on-ink)}.btn-ghost:hover{border-color:var(--on-ink-dim)}.on-paper .btn-ghost{border-color:#cfd8d5;color:var(--on-paper)}.on-paper .btn-ghost:hover{border-color:var(--on-paper)}.hero{position:relative;padding-top:clamp(3rem,8vw,6rem);padding-bottom:var(--s6);overflow:hidden}.hero-grid{position:absolute;inset:0;background-image:linear-gradient(var(--edge) 1px,transparent 1px),linear-gradient(90deg,var(--edge) 1px,transparent 1px);background-size:68px 68px;opacity:.35;-webkit-mask-image:radial-gradient(120% 80% at 50% 0,#000 30%,transparent 78%);mask-image:radial-gradient(120% 80% at 50% 0,#000 30%,transparent 78%);pointer-events:none}.hero .shell{position:relative}.hero h1{font-size:clamp(2.5rem,6.4vw,4.6rem);max-width:17ch}.hero-lede{margin-top:var(--s3);max-width:56ch;font-size:clamp(1.0625rem,1.6vw,1.1875rem);color:var(--on-ink-dim)}.hero-actions{margin-top:var(--s4);display:flex;flex-wrap:wrap;gap:var(--s2)}.pulse{width:8px;height:8px;border-radius:50%;background:var(--live);flex:none;position:relative}.pulse:after{content:"";position:absolute;inset:-4px;border-radius:50%;border:1px solid var(--live);opacity:0;animation:ping 2.6s ease-out .6s 3}@keyframes ping{0%{opacity:.9;transform:scale(.6)}70%,to{opacity:0;transform:scale(1.5)}}.status-pill{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--font-mono);font-size:.75rem;letter-spacing:.02em;color:var(--on-ink-dim);border:1px solid var(--edge);border-radius:999px;padding:.3125rem .75rem}.showcase{margin-top:var(--s6);display:grid;grid-gap:var(--s4);gap:var(--s4)}@media (min-width:60rem){.showcase{grid-template-columns:1fr 1fr;gap:var(--s3)}}.window{display:block;text-decoration:none;border:1px solid var(--edge);border-radius:10px;background:var(--ink-2);overflow:hidden;transition:border-color .2s ease,transform .2s ease;animation:rise .7s cubic-bezier(.2,.7,.3,1) backwards}.showcase .window:first-child{animation-delay:.05s}.showcase .window:nth-child(2){animation-delay:.16s}@keyframes rise{0%{opacity:0;transform:translateY(14px)}}.window:hover{border-color:var(--live-deep)}.window-bar{display:flex;align-items:center;gap:.5rem;padding:.625rem .875rem;border-bottom:1px solid var(--edge);font-family:var(--font-mono);font-size:.75rem;color:var(--on-ink-dim)}.window-dots{display:flex;gap:5px;flex:none}.window-dots span{width:8px;height:8px;border-radius:50%;background:var(--edge)}.window-url{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.window-live{display:inline-flex;align-items:center;gap:.375rem;color:var(--live);flex:none}.window-shot{position:relative;aspect-ratio:1400/640;overflow:hidden;background:var(--ink)}.window-shot img{width:100%;height:auto}.window-foot{padding:var(--s2) var(--s3) var(--s3);border-top:1px solid var(--edge)}.window-foot h3{font-size:1.125rem;letter-spacing:-.015em}.window-foot p{margin-top:.375rem;font-size:.9375rem;color:var(--on-ink-dim)}.work-entry{display:grid;grid-gap:var(--s4);gap:var(--s4);padding-block:var(--s6);border-top:1px solid #dfe5e3}.work-entry:first-of-type{border-top:0;padding-top:0}@media (min-width:60rem){.work-entry{grid-template-columns:5fr 6fr;gap:var(--s6);align-items:start}.work-entry.flip .work-visual{order:-1}}.work-kicker{display:flex;flex-wrap:wrap;align-items:center;gap:.625rem;font-size:.875rem;color:var(--live-deep);font-weight:600}.window-owner,.work-owner{font-family:var(--font-mono);font-size:.6875rem;font-weight:400;letter-spacing:.02em;border:1px solid;border-radius:3px;padding:.125rem .375rem;white-space:nowrap}.window-owner{display:inline-block;color:var(--on-ink-dim);margin-bottom:.5rem}.work-entry h3{font-size:clamp(1.6rem,3vw,2.15rem);margin-top:.375rem}.work-summary{margin-top:var(--s2);color:var(--on-paper-dim);max-width:46ch}.work-list{margin-top:var(--s3);display:grid;grid-gap:.625rem;gap:.625rem}.work-list li{position:relative;padding-left:1.375rem;font-size:.9375rem}.work-list li:before{content:"";position:absolute;left:0;top:.6em;width:8px;height:1px;background:var(--live-deep)}.work-facts{margin-top:var(--s4);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:var(--s2) var(--s3);gap:var(--s2) var(--s3);border-top:1px solid #dfe5e3;padding-top:var(--s3)}@media (min-width:40rem){.work-facts{grid-template-columns:repeat(4,minmax(0,1fr))}}.panel .work-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.panel .work-facts dd{font-size:1.125rem}.work-facts dt{font-size:.8125rem;color:var(--on-paper-dim)}.work-facts dd{margin:.125rem 0 0;font-family:var(--font-display);font-weight:700;font-size:1.25rem;letter-spacing:-.02em}.work-visual{border:1px solid #dfe5e3;border-radius:10px;overflow:hidden;background:var(--white)}.work-visual .window-bar{border-bottom-color:#dfe5e3;color:var(--on-paper-dim)}.work-visual .window-dots span{background:#dfe5e3}.work-visual .window-live{color:var(--live-deep)}.work-actions{margin-top:var(--s4);display:flex;flex-wrap:wrap;gap:var(--s2)}.work-entry:has(>.work-internal){padding-bottom:0;display:block}.work-internal{border:1px solid #dfe5e3;border-radius:10px;padding:var(--s4);background:var(--white)}.work-internal h3{font-size:1.5rem}.cap-list{display:grid;border-top:1px solid var(--edge)}.cap{display:grid;grid-gap:var(--s1);gap:var(--s1);padding-block:var(--s3);border-bottom:1px solid var(--edge);text-decoration:none;transition:background-color .15s ease}@media (min-width:52rem){.cap{grid-template-columns:minmax(14rem,20%) 1fr 13rem;gap:var(--s3);align-items:baseline}.cap-proof{text-align:right}}.cap:hover{background:color-mix(in srgb,var(--ink-2) 60%,transparent)}.cap h3{font-size:1.1875rem;letter-spacing:-.015em}.cap p{color:var(--on-ink-dim);font-size:.9375rem}.cap-proof{font-family:var(--font-mono);font-size:.6875rem;color:var(--live);white-space:nowrap}.steps{display:grid;grid-gap:var(--s3);gap:var(--s3);counter-reset:step}@media (min-width:56rem){.steps{grid-template-columns:repeat(4,1fr);gap:0}}.step{counter-increment:step;padding:var(--s3) 0 0;border-top:2px solid var(--edge)}@media (min-width:56rem){.step{padding-right:var(--s3)}}.step:first-child{border-top-color:var(--live)}.step-n{font-family:var(--font-mono);font-size:.75rem;color:var(--on-ink-dim)}.step-n:before{content:counter(step,decimal-leading-zero) " ";color:var(--live)}.step h3{font-size:1.125rem;margin-top:.375rem}.step p{margin-top:.5rem;font-size:.9375rem;color:var(--on-ink-dim)}.facts{display:flex;flex-wrap:wrap;gap:var(--s2) 0;border-top:1px solid var(--edge);border-bottom:1px solid var(--edge);padding-block:var(--s3)}.facts li{font-size:.875rem;color:var(--on-ink-dim);padding-inline:var(--s3);border-left:1px solid var(--edge)}.facts li:first-child{padding-left:0;border-left:0}.contact-band{background:var(--live-deep);color:#eafff5}.contact-band .shell{display:grid;grid-gap:var(--s4);gap:var(--s4);align-items:end}@media (min-width:56rem){.contact-band .shell{grid-template-columns:1.25fr 1fr;gap:var(--s6)}}.contact-band h2{font-size:clamp(1.9rem,4vw,3rem);max-width:20ch}.contact-band p{margin-top:var(--s2);max-width:48ch;color:#bfeed9}.contact-band .btn-primary{background:#eafff5;color:#04120b;margin-top:var(--s4)}.contact-band .btn-primary:hover{background:var(--white)}.contact-lines{display:grid;grid-gap:var(--s2);gap:var(--s2);font-size:.9375rem;border-top:1px solid rgba(234,255,245,.28);padding-top:var(--s3)}.contact-lines div{display:flex;justify-content:space-between;gap:var(--s3)}.contact-lines dt{color:#bfeed9}.contact-lines dd{margin:0;text-align:right}.contact-lines a{color:#eafff5}.site-footer{border-top:1px solid var(--edge);padding-block:var(--s5);font-size:.875rem;color:var(--on-ink-dim)}.footer-grid{display:grid;grid-gap:var(--s4);gap:var(--s4)}@media (min-width:52rem){.footer-grid{grid-template-columns:2fr 1fr 1fr}}.footer-grid h2{font-size:.8125rem;font-family:var(--font-body);font-weight:600;color:var(--on-ink);margin-bottom:var(--s2)}.footer-grid li+li{margin-top:.5rem}.footer-grid a{text-decoration:none}.footer-grid a:hover{color:var(--on-ink);text-decoration:underline}.footer-base{margin-top:var(--s4);padding-top:var(--s3);border-top:1px solid var(--edge);gap:var(--s2) var(--s3);justify-content:space-between}.crumbs,.footer-base{display:flex;flex-wrap:wrap}.crumbs{gap:.5rem;font-size:.8125rem;color:var(--on-ink-dim);padding-top:var(--s4)}.crumbs a{text-decoration:none}.crumbs a:hover{text-decoration:underline}.crumbs li:not(:last-child):after{content:"/";margin-left:.5rem;color:var(--edge)}.page-head h1{font-size:clamp(2.1rem,4.6vw,3.4rem);max-width:20ch}.page-head .lede{max-width:58ch;font-size:1.125rem;color:var(--on-ink-dim)}.page-head .lede,.prose>*+*{margin-top:var(--s3)}.prose p{max-width:var(--measure);color:var(--on-ink-dim)}.split{display:grid;grid-gap:var(--s5);gap:var(--s5)}@media (min-width:56rem){.split{grid-template-columns:3fr 2fr;gap:var(--s6)}}.panel{border:1px solid var(--edge);border-radius:10px;padding:var(--s4)}.panel h2{font-size:1.0625rem;font-family:var(--font-body);font-weight:600}.tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:var(--s3)}.tags li{font-family:var(--font-mono);font-size:.75rem;color:var(--on-ink-dim);border:1px solid var(--edge);border-radius:4px;padding:.25rem .5rem}.checks{margin-top:var(--s3);display:grid;grid-gap:.75rem;gap:.75rem}.checks li{position:relative;padding-left:1.5rem;font-size:.9375rem}.checks li:before{content:"";position:absolute;left:0;top:.55em;width:9px;height:9px;border-radius:50%;border:2px solid var(--live)}.next-links{display:grid;grid-gap:var(--s2);gap:var(--s2);margin-top:var(--s5)}@media (min-width:44rem){.next-links{grid-template-columns:repeat(3,1fr)}}.next-links a{border:1px solid var(--edge);border-radius:8px;padding:var(--s3);text-decoration:none;transition:border-color .15s ease}.next-links a:hover{border-color:var(--live-deep)}.next-links strong{display:block;font-family:var(--font-display);letter-spacing:-.015em;font-size:1.0625rem}.next-links span{display:block;margin-top:.25rem;font-size:.875rem;color:var(--on-ink-dim)}@media (prefers-reduced-motion:reduce){.pulse:after,.window{animation:none}*,:after,:before{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}@view-transition{navigation:auto}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.reveal{animation:reveal-in linear both;animation-timeline:view();animation-range:entry 10% cover 26%}.scrub-rule{transform-origin:left;animation:scrub linear both;animation-timeline:view();animation-range:entry 20% cover 34%}.scroll-progress{animation:progress linear both;animation-timeline:scroll(root block)}}}@keyframes reveal-in{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes scrub{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes progress{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.scroll-progress{position:fixed;inset:0 0 auto 0;height:2px;background:var(--live);transform-origin:left;transform:scaleX(0);z-index:60}.scrub-rule{height:1px;background:var(--live);border:0;margin:var(--s3) 0 0}.on-paper .scrub-rule{background:var(--live-deep)}.bento{display:grid;grid-gap:var(--s2);gap:var(--s2);grid-template-columns:1fr}@media (min-width:54rem){.bento{grid-template-columns:repeat(3,1fr);grid-auto-rows:minmax(0,auto)}.bento li:first-child{grid-column:span 2}.bento li:last-child{grid-column:span 3;flex-direction:row;align-items:baseline;gap:var(--s4)}.bento li:last-child .o-value{flex:0 0 34%}.bento li:last-child .o-label{flex:0 0 18%}.bento li:last-child .o-detail{margin-top:0;padding-top:0;flex:1 1}}.bento li{border:1px solid var(--edge);border-radius:12px;padding:var(--s4);background:linear-gradient(180deg,var(--ink-2),var(--ink));display:flex;flex-direction:column;gap:.5rem;transition:border-color .2s ease}.bento li:hover{border-color:var(--live-deep)}.bento .o-value{font-family:var(--font-display);font-weight:700;font-size:clamp(1.5rem,2.6vw,2.1rem);line-height:1.05;letter-spacing:-.025em;text-wrap:balance}.bento .o-label{color:var(--live);font-size:.875rem}.bento .o-detail{color:var(--on-ink-dim);font-size:.9375rem;margin-top:auto;padding-top:var(--s2)}.tech-row{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:var(--s3)}.tech{display:inline-flex;align-items:center;gap:.4375rem;font-size:.8125rem;color:var(--on-ink-dim);border:1px solid var(--edge);border-radius:999px;padding:.3125rem .6875rem;transition:color .15s ease,border-color .15s ease}.tech svg{width:13px;height:13px;fill:currentColor;opacity:.75;flex:none}.tech:hover{color:var(--on-ink);border-color:var(--on-ink-dim)}.on-paper .tech{color:var(--on-paper-dim);border-color:#d7dedb}.on-paper .tech:hover{color:var(--on-paper);border-color:var(--on-paper-dim)}.cap,.next-links a,.window{view-transition-name:none}.window{transition:border-color .2s ease,transform .25s cubic-bezier(.2,.7,.3,1)}@media (hover:hover) and (prefers-reduced-motion:no-preference){.window:hover{transform:translateY(-3px)}.btn-primary{transition:background-color .15s ease,transform .15s ease}.btn-primary:active{transform:translateY(1px)}}.cap-proof{transition:transform .18s ease}@media (hover:hover){.cap:hover .cap-proof{transform:translateX(-3px)}}@media (prefers-reduced-motion:reduce){.scroll-progress{display:none}.scrub-rule{transform:none}}