@font-face{font-family:Fraunces;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/fraunces-400.woff2) format("woff2")}@font-face{font-family:Fraunces;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/fraunces-600.woff2) format("woff2")}@font-face{font-family:Fraunces;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/fraunces-700.woff2) format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/jetbrains-mono-400.woff2) format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/jetbrains-mono-600.woff2) format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/jetbrains-mono-700.woff2) format("woff2")}:root{--bg: #F3EEE2;--fg: #252A2D;--accent: #B94D36;--accent-2: #286B73;--muted: #656A68;--surface: #FBF8F0;--line: #D8D0C0;--on-accent: #FFF5E6;--paper: var(--bg);--paper-sunk: #E9E2D2;--card: var(--surface);--ink: var(--fg);--ink-soft: var(--muted);--rule: var(--line);--marker: #E2CFA4;--fire: #B94D36;--fire-wash: #F7E6E0;--fire-ink: #A5432E;--water: #286B73;--water-wash: #E2ECEA;--water-ink: #286B73;--earth: #5D625F;--earth-wash: #EAE4D7;--earth-ink: #4A4F4C;--wind: #286B73;--wind-wash: #E2ECEA;--wind-ink: #286B73;--bark: #B94D36;--bark-wash: #F7E6E0;--bark-ink: #A5432E;--light: #D8A63C;--light-wash: #F8EFDA;--light-ink: #252A2D;--on-light: #252A2D;--band: #F3EEE2;--band-fg: #252A2D;--band-soft: #656A68;--band-line: #D8D0C0;--font-display: "Fraunces", "Iowan Old Style", Georgia, "Times New Roman", serif;--font-body: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--s1: .25rem;--s2: .5rem;--s3: .75rem;--s4: 1rem;--s5: 1.25rem;--s6: 1.5rem;--s8: 2rem;--s10: 2.5rem;--s12: 3rem;--s16: 4rem;--section-y: clamp(4rem, 8vw, 7rem);--r-xs: .25rem;--r-s: .375rem;--r-m: .55rem;--r-l: .8rem;--r-pill: 999px;--lift-1: 0 1px 2px rgba(17, 19, 20, .05), 0 2px 6px rgba(17, 19, 20, .045);--lift-2: 0 2px 5px rgba(17, 19, 20, .06), 0 10px 22px rgba(17, 19, 20, .07);--lift-3: 0 5px 14px rgba(17, 19, 20, .08), 0 20px 44px rgba(17, 19, 20, .11);--t-fast: .12s;--t-base: .22s;--ease: cubic-bezier(.2, 0, 0, 1);--container: 76rem;--gutter: clamp(1.25rem, 4.5vw, 3rem);--topbar-h: 64px;color-scheme:light}.section[data-el=fire]{--bg: #1C242A;--fg: #F5F0E6;--accent: #F07855;--accent-2: #88C9C2;--muted: #B8C1C2;--surface: #263139;--line: #3B484E;--on-accent: #1C242A;--paper: var(--bg);--paper-sunk: #212B33;--card: var(--surface);--ink: var(--fg);--ink-soft: var(--muted);--rule: var(--line);--marker: #3B484E;--fire: #F07855;--fire-wash: #40312B;--fire-ink: #F07855;--water: #88C9C2;--water-wash: #2C3B41;--water-ink: #88C9C2;--earth: #E8C99E;--earth-wash: #3E392D;--earth-ink: #E8C99E;--wind: #88C9C2;--wind-wash: #2C3B41;--wind-ink: #88C9C2;--bark: #F07855;--bark-wash: #40312B;--bark-ink: #F07855;--light: #E8C99E;--light-wash: #3E392D;--light-ink: #E8C99E;--on-light: #1C242A}.section[data-el=water]{--bg: #E8C99E;--fg: #292923;--accent: #D8A63C;--accent-2: #5F5546;--muted: #5F5546;--surface: #F8EEDB;--line: #CCB58F;--on-accent: #292923;--on-light: #292923;--paper: var(--bg);--paper-sunk: #E5CFAC;--card: var(--surface);--ink: var(--fg);--ink-soft: var(--muted);--rule: var(--line);--marker: #D8A63C;--nn-node: #D8A63C;--nn-class1: #B94D36;--nn-class0: #367D84;--nn-error: #A92F3D;--nn-fg: #292923;--nn-fg-inv: #FFF5E6;--btn-primary: #A93F35;--btn-primary-fg: #FFF5E6;--fire: #B94D36;--fire-wash: #EFDAC7;--fire-ink: #A03F2C;--water: #367D84;--water-wash: #DCE8E4;--water-ink: #2C666C;--earth: #D8A63C;--earth-wash: #F6E6C2;--earth-ink: #6E5416;--wind: #5F5546;--wind-wash: #E7DCC2;--wind-ink: #5F5546;--bark: #B94D36;--bark-wash: #EFDAC7;--bark-ink: #A03F2C;--light: #D8A63C;--light-wash: #F6E6C2;--light-ink: #292923}.section[data-el=earth]{--bg: #DDE6E2;--fg: #26363A;--accent: #39777B;--accent-2: #B94D36;--muted: #5D6C6B;--surface: #EDF2EC;--line: #BECFC9;--on-accent: #FFF5E6;--on-light: #FFF5E6;--paper: var(--bg);--paper-sunk: #CFDCD6;--card: var(--surface);--ink: var(--fg);--ink-soft: var(--muted);--rule: var(--line);--marker: #B94D36;--fire: #B94D36;--fire-wash: #F2DED7;--fire-ink: #A03F2C;--water: #39777B;--water-wash: #E3EDEA;--water-ink: #39777B;--earth: #B94D36;--earth-wash: #F2DED7;--earth-ink: #A03F2C;--wind: #5D6C6B;--wind-wash: #E6EDE9;--wind-ink: #5D6C6B;--bark: #39777B;--bark-wash: #E3EDEA;--bark-ink: #39777B;--light: #B94D36;--light-wash: #F2DED7;--light-ink: #A03F2C}.section[data-el=bark]{--bg: #253444;--fg: #F4F0E6;--accent: #E7B85B;--accent-2: #88C9C2;--muted: #BAC7CB;--surface: #2D3E4B;--line: #40515D;--on-accent: #253444;--on-light: #253444;--paper: var(--bg);--paper-sunk: #1F2C39;--card: var(--surface);--ink: var(--fg);--ink-soft: var(--muted);--rule: var(--line);--marker: #E7B85B;--fire: #E7B85B;--fire-wash: #33465A;--fire-ink: #E7B85B;--water: #88C9C2;--water-wash: #33465A;--water-ink: #88C9C2;--earth: #F07855;--earth-wash: #33465A;--earth-ink: #F07855;--wind: #BAC7CB;--wind-wash: #33465A;--wind-ink: #BAC7CB;--bark: #E7B85B;--bark-wash: #33465A;--bark-ink: #E7B85B;--light: #F4F0E6;--light-wash: #35485A;--light-ink: #F4F0E6}.site-footer{--bg: #A94130;--fg: #FFF4E5;--accent: #F1C879;--accent-2: #F2DCD0;--muted: #F2DCD0;--surface: #B04E3B;--line: #C76A50;--on-accent: #4A1A12;--on-light: #4A1A12;--paper: var(--bg);--paper-sunk: #8F3427;--card: var(--surface);--ink: var(--fg);--ink-soft: var(--muted);--rule: var(--line);--marker: #F1C879;--band: var(--bg);--band-fg: var(--fg);--band-soft: var(--muted);--band-line: var(--line);--fire: #F1C879;--fire-wash: #B04E3B;--fire-ink: #F1C879;--water: #FFF4E5;--water-wash: #B04E3B;--water-ink: #FFF4E5;--earth: #F1C879;--earth-wash: #B04E3B;--earth-ink: #F1C879;--wind: #F2DCD0;--wind-wash: #B04E3B;--wind-ink: #F2DCD0;--bark: #F1C879;--bark-wash: #B04E3B;--bark-ink: #F1C879;--light: #F1C879;--light-wash: #B04E3B;--light-ink: #F1C879}*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}html,body{overflow-x:clip}body{margin:0;background-color:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:1rem;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,p,dl,dd,figure{margin:0}a{color:inherit}ul,ol{margin:0;padding:0;list-style:none}svg{display:block}::selection{background:var(--accent);color:var(--on-accent)}:focus-visible{outline:2px solid var(--ink);outline-offset:3px;border-radius:var(--r-xs)}.mono{font-family:var(--font-mono)}.skip-link{position:absolute;left:-999px;top:var(--s4);z-index:100;padding:10px 16px;font-weight:700;text-decoration:none;background:var(--fire);color:var(--on-accent);border-radius:var(--r-m)}.skip-link:focus{left:var(--s4)}.page{min-height:100vh}.container{max-width:var(--container);margin-inline:auto;padding-inline:var(--gutter)}section{scroll-margin-top:5.5rem;overflow:clip}.topbar{position:sticky;top:0;z-index:50;background:var(--paper);border-bottom:1px solid var(--rule)}.topbar-row{min-height:var(--topbar-h);display:flex;align-items:center;justify-content:space-between;gap:var(--s6)}.brand{display:inline-flex;align-items:center;gap:var(--s2);font-family:var(--font-display);font-size:1.0625rem;font-weight:700;letter-spacing:-.02em;text-decoration:none;padding:var(--s2) 0;white-space:nowrap}.brand:before{content:"";flex:none;width:9px;height:9px;border-radius:2px;background:var(--fire)}.nav-desktop{display:none}.nav-list{display:flex;align-items:center;gap:var(--s5)}.nav-link{display:inline-block;font-family:var(--font-mono);font-size:.8125rem;color:var(--ink);text-decoration:none;padding:6px 1px;box-shadow:inset 0 -.6em 0 transparent;transition:box-shadow var(--t-fast) var(--ease)}.nav-link:hover{box-shadow:inset 0 -.6em 0 var(--rule)}.nav-link.is-active{font-weight:700;box-shadow:inset 0 -.6em 0 var(--marker)}.topbar-right{display:flex;align-items:center;gap:var(--s3)}.dot-cluster{display:flex;gap:5px;align-items:center}.dot-cluster i{display:block;width:7px;height:7px;border-radius:50%}.dot-cluster i{background:var(--fire)}.cv-pill{display:inline-flex;align-items:center;min-height:40px;padding:6px 14px;font-family:var(--font-mono);font-size:.75rem;font-weight:700;color:var(--ink);background:var(--card);border:1px solid var(--rule);border-radius:var(--r-pill);text-decoration:none;white-space:nowrap;box-shadow:var(--lift-1);transition:transform var(--t-fast) var(--ease),box-shadow var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease)}.cv-pill:hover{transform:translateY(-1px);box-shadow:var(--lift-2);border-color:var(--fire)}.menu-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;min-width:44px;font-family:var(--font-mono);font-size:.8125rem;font-weight:700;color:var(--ink);background:var(--card);border:1px solid var(--rule);border-radius:var(--r-m);cursor:pointer;transition:border-color var(--t-fast) var(--ease),background-color var(--t-fast) var(--ease)}.menu-btn:hover{border-color:var(--fire)}.menu-btn{padding:0 14px}.menu-panel{border-top:1px solid var(--rule);background:var(--paper)}.menu-panel[hidden]{display:none}.menu-panel a{display:block;padding:14px var(--s3);font-family:var(--font-mono);font-size:.875rem;font-weight:600;text-decoration:none;border-bottom:1px solid var(--rule);transition:background-color var(--t-fast) var(--ease),box-shadow var(--t-fast) var(--ease)}.menu-panel li:last-child a{border-bottom:0}.menu-panel a:hover,.menu-panel a:focus-visible{background:var(--fire-wash);box-shadow:inset 3px 0 0 var(--fire)}.topbar-progress{position:absolute;left:0;right:0;bottom:-1px;height:2px;pointer-events:none}.topbar-progress i{display:block;height:100%;background:var(--fire);transform-origin:0 50%;transform:scaleX(0);transition:transform 90ms linear}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:12px 22px;font-family:var(--font-display);font-size:.9375rem;font-weight:600;letter-spacing:-.01em;text-decoration:none;cursor:pointer;color:var(--ink);border:1px solid var(--rule);border-radius:var(--r-pill);box-shadow:var(--lift-1);transition:transform var(--t-fast) var(--ease),box-shadow var(--t-fast) var(--ease),background-color var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease),color var(--t-fast) var(--ease)}.btn:hover{transform:translateY(-1px);box-shadow:var(--lift-2)}.btn:active{transform:none;box-shadow:var(--lift-1)}.btn:disabled{cursor:progress;transform:none;box-shadow:none;opacity:.78}.btn-fire{background:var(--btn-primary, var(--fire));color:var(--btn-primary-fg, var(--on-accent));border-color:var(--btn-primary, var(--fire))}.btn-paper{background:var(--card);color:var(--ink)}.btn-water{background:var(--water-wash);color:var(--water-ink);border-color:var(--water)}.btn-water:hover{background:var(--water);color:var(--on-accent);border-color:var(--water)}.btn-ghost{background:transparent;border-color:transparent;box-shadow:none}.btn-ghost:hover{background:var(--card);border-color:var(--rule);box-shadow:var(--lift-1)}.hero{padding:clamp(3rem,7vw,5.5rem) 0 clamp(4rem,9vw,7.5rem);background:var(--bg);color:var(--fg);border-bottom:1px solid var(--rule)}.hero-grid{display:grid;gap:var(--s10)}.hero-side{display:none}.hero-meta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--s3) var(--s5);padding-bottom:var(--s5);margin-bottom:var(--s10);border-bottom:1px solid var(--rule)}.hero-status{display:inline-flex;align-items:center;gap:var(--s2);padding:6px 15px 6px 10px;font-family:var(--font-mono);font-size:.75rem;font-weight:700;color:var(--fire-ink);background:var(--fire-wash);border:1px solid var(--fire);border-radius:var(--r-pill);white-space:nowrap}.status-dot{flex:none;width:9px;height:9px;border-radius:50%;background:var(--fire)}.hero-meta-line{display:inline-flex;align-items:center;gap:var(--s2);font-family:var(--font-mono);font-size:.75rem;letter-spacing:.02em;color:var(--earth-ink)}.hero-meta-line:before{content:"";flex:none;width:8px;height:8px;background:var(--earth)}.hero-name{font-family:var(--font-display);font-size:clamp(2.5rem,10vw,7rem);font-weight:700;color:var(--light-ink);line-height:.92;letter-spacing:-.03em;text-transform:uppercase}.hero-name .line{display:block}.hero-name .mark{box-shadow:inset 0 -.3em 0 var(--marker);border-radius:2px;animation:markIn .52s var(--ease) .36s both}@supports (container-type: inline-size){.hero-main{container-type:inline-size}.hero-name{font-size:clamp(2.5rem,22cqw,9rem)}}@keyframes markIn{0%{box-shadow:inset 0 -.3em 0 transparent}to{box-shadow:inset 0 -.3em 0 var(--marker)}}@keyframes riseIn{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}.hero-meta{animation:riseIn .56s var(--ease) both}.hero-name .line:nth-child(1){animation:riseIn .56s var(--ease) 80ms both}.hero-name .line:nth-child(2){animation:riseIn .56s var(--ease) .16s both}.hero-lead{animation:riseIn .56s var(--ease) .24s both}.hero-actions{animation:riseIn .56s var(--ease) .4s both}.soul-line{animation:riseIn .56s var(--ease) .46s both}.hero-side{animation:riseIn .56s var(--ease) .3s both}.hero-lead{margin-top:var(--s6);max-width:44ch;font-size:clamp(1.0625rem,2.2vw,1.25rem);line-height:1.55}.receipt-block{display:flex;flex-direction:column;gap:var(--s3)}.receipt-block-title{font-family:var(--font-mono);font-size:.6875rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft)}.receipt-list{display:flex;flex-direction:column;gap:var(--s2)}.receipt-strip{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px var(--s4);padding:10px 15px;background:var(--rcw, transparent);border:1px solid var(--rc, var(--fire));border-radius:var(--r-m);box-shadow:var(--lift-1)}.receipt-label{flex:none;display:inline-flex;align-items:center;gap:8px;width:6.5rem;font-family:var(--font-mono);font-size:.6875rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--rc-ink, var(--ink))}.receipt-label:before{content:"";flex:none;width:8px;height:8px;background:var(--rc, var(--fire))}.receipt-value{flex:1 1 10rem;min-width:0;font-family:var(--font-mono);font-size:.8125rem;color:var(--rc-ink, var(--ink));overflow-wrap:anywhere}a.receipt-value{text-decoration-line:underline;text-decoration-color:transparent;text-decoration-thickness:2px;text-underline-offset:3px;transition:text-decoration-color var(--t-base) var(--ease)}a.receipt-value:hover{text-decoration-color:var(--rc, var(--fire))}.receipt-note{max-width:40ch;font-family:var(--font-mono);font-size:.6875rem;line-height:1.6;color:var(--ink-soft)}.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s4);margin-top:var(--s8)}.soul-line{margin-top:var(--s12);padding-top:var(--s4);border-top:2px solid var(--wind);font-family:var(--font-mono);font-size:.75rem;color:var(--wind-ink)}.spec-card{--spec-el: var(--earth);--spec-ink: var(--earth-ink);--spec-wash: var(--earth-wash);background:var(--spec-wash);border:1px solid var(--spec-el);border-radius:var(--r-l);overflow:hidden}.spec-card.el-earth{--spec-el: var(--earth);--spec-ink: var(--earth-ink);--spec-wash: var(--earth-wash)}.spec-head{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);padding:9px 16px;font-family:var(--font-mono);font-size:.6875rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--on-accent);background:var(--spec-el)}.spec-rows{padding:0}.spec-row{display:flex;flex-wrap:wrap;gap:2px var(--s4);padding:9px 16px;border-bottom:1px solid var(--spec-el)}.spec-row:last-child{border-bottom:0}.spec-row dt{flex:none;width:6.5rem;font-family:var(--font-mono);font-size:.6875rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--spec-ink);padding-top:2px}.spec-row dd{flex:1 1 12rem;min-width:0;font-family:var(--font-mono);font-size:.8125rem;color:var(--ink);overflow-wrap:anywhere}.spec-link{display:block;padding:13px 16px;font-family:var(--font-mono);font-size:.8125rem;font-weight:700;text-decoration:none;color:var(--spec-ink);background:var(--spec-wash);border-top:1px solid var(--spec-el);transition:background-color var(--t-fast) var(--ease),color var(--t-fast) var(--ease)}.spec-link:hover{background:var(--spec-el);color:var(--on-accent)}.side-note{max-width:36ch;font-family:var(--font-mono);font-size:.6875rem;line-height:1.6;color:var(--ink-soft)}@media (min-width: 1024px){.hero-grid{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:clamp(2.5rem,5vw,5rem);align-items:start}.hero-side{display:flex;flex-direction:column;gap:var(--s5);padding-top:var(--s2)}}.section{padding:var(--section-y) 0;background:var(--bg);color:var(--fg);border-top:3px solid var(--accent)}.section-heading{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:var(--s2) var(--s8);margin-bottom:var(--s10)}.eyebrow{flex-basis:100%;display:flex;align-items:center;gap:var(--s3);margin-bottom:var(--s2)}.eyebrow-num{display:inline-flex;align-items:center;justify-content:center;min-width:34px;padding:3px 8px;font-family:var(--font-mono);font-size:.75rem;font-weight:700;letter-spacing:.04em;color:var(--on-accent);background:var(--accent, var(--fire));border-radius:var(--r-xs)}.eyebrow[data-accent=fire]{--accent: var(--fire)}.eyebrow[data-accent=water]{--accent: var(--water)}.eyebrow[data-accent=earth]{--accent: var(--earth)}.eyebrow[data-accent=wind]{--accent: var(--wind)}.eyebrow[data-accent=bark]{--accent: var(--bark)}.eyebrow[data-accent=light]{--accent: var(--light)}.eyebrow[data-accent=light] .eyebrow-num{color:var(--on-light)}.eyebrow-rule{flex:1;height:1px;background:currentColor;opacity:.28}.section-heading h2{flex:0 1 auto;font-family:var(--font-display);font-size:clamp(1.75rem,4vw,2.5rem);font-weight:700;letter-spacing:-.04em;line-height:1.05}.section-heading .section-note{flex:1 1 22rem;max-width:42ch;color:var(--ink);font-size:.9375rem}.work-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s6)}.project-card{--accent: var(--fire);--wash: var(--fire-wash);display:flex;flex-direction:column;background:var(--card);border:1px solid var(--rule);border-radius:var(--r-l);box-shadow:var(--lift-1);overflow:hidden;transition:transform var(--t-base) var(--ease),box-shadow var(--t-base) var(--ease)}.project-card.a-water{--accent: var(--water);--wash: var(--water-wash)}.project-card.a-earth{--accent: var(--earth);--wash: var(--earth-wash)}.project-card:hover{transform:translateY(-2px);box-shadow:var(--lift-3)}.card-head{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:var(--s3) var(--s4);padding:var(--s5) var(--s6);background:var(--wash);border-bottom:1px solid var(--rule)}.card-numeral{display:inline-flex;align-items:center;justify-content:center;padding:3px 14px;font-family:var(--font-display);font-size:clamp(1.75rem,5vw,2.5rem);font-weight:700;line-height:1.1;letter-spacing:-.045em;font-variant-numeric:tabular-nums;color:var(--on-accent);background:var(--accent);border-radius:var(--r-m);box-shadow:var(--lift-1);transition:transform var(--t-base) var(--ease),box-shadow var(--t-base) var(--ease)}.project-card:hover .card-numeral{transform:translateY(-1px);box-shadow:var(--lift-2)}.card-kind{justify-self:end;text-align:right;font-family:var(--font-mono);font-size:.625rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft)}.card-title{grid-column:1 / -1;font-family:var(--font-display);font-size:1.25rem;font-weight:700;letter-spacing:-.025em;line-height:1.25}.card-title a{text-decoration-line:underline;text-decoration-color:transparent;text-decoration-thickness:3px;text-underline-offset:4px;transition:text-decoration-color var(--t-base) var(--ease)}.card-title a:hover{text-decoration-color:var(--accent)}.card-body{flex:1;display:flex;flex-direction:column;gap:var(--s4);padding:var(--s6)}.card-story{max-width:46ch}.card-done{display:flex;flex-direction:column;gap:var(--s2);font-size:.9375rem;line-height:1.5}.card-done li{position:relative;padding-left:var(--s4)}.card-done li:before{content:"";position:absolute;left:1px;top:.52em;width:10px;height:2px;background:var(--accent)}.card-pill{align-self:flex-start;padding:6px 12px;font-family:var(--font-mono);font-size:.6875rem;font-weight:700;color:var(--on-accent);background:var(--accent);border-radius:var(--r-pill)}.card-links{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s3) var(--s4);margin-top:auto;padding-top:var(--s4)}.link-cta{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;font-family:var(--font-mono);font-size:.75rem;font-weight:700;color:var(--on-accent);background:var(--accent, var(--fire));border:0;border-radius:var(--r-pill);text-decoration:none;box-shadow:var(--lift-1);transition:transform var(--t-fast) var(--ease),box-shadow var(--t-fast) var(--ease)}.link-cta:hover{transform:translateY(-1px);box-shadow:var(--lift-2)}.text-link{font-family:var(--font-mono);font-size:.8125rem;font-weight:600;text-decoration:none;box-shadow:inset 0 -.16em 0 transparent;transition:box-shadow var(--t-base) var(--ease)}.text-link:hover{box-shadow:inset 0 -.16em 0 var(--wash, var(--light-wash))}.link-note{font-family:var(--font-mono);font-size:.6875rem;color:var(--ink-soft)}.card-tags{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;font-family:var(--font-mono);font-size:.6875rem;color:var(--ink-soft)}.card-tags .tag{display:inline-flex;align-items:center;gap:6px}.card-tags .tag:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent)}.client-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s5)}.client-panel{--panel-accent: var(--earth);display:flex;flex-direction:column;gap:var(--s4);padding:var(--s5) var(--s6) var(--s6);background:var(--card);border:1px solid var(--rule);border-top:3px solid var(--panel-accent);border-radius:var(--r-l);box-shadow:var(--lift-1)}.panel-earth{--panel-accent: var(--earth)}.panel-water{--panel-accent: var(--water)}.panel-wind{--panel-accent: var(--wind)}.client-panel h3{font-family:var(--font-display);font-size:1.1875rem;font-weight:700;letter-spacing:-.025em;line-height:1.3}.client-panel .when{align-self:flex-start;padding:4px 11px;font-family:var(--font-mono);font-size:.6875rem;font-weight:700;color:var(--on-accent);background:var(--accent-2, var(--paper-sunk));border:1px solid var(--accent-2, var(--rule));border-radius:var(--r-pill)}.client-panel .body{max-width:48ch;color:var(--ink-soft)}.points{display:grid;gap:var(--s3);max-width:52ch}.points li{position:relative;padding-left:var(--s5);font-size:.9375rem;line-height:1.55}.points li:before{content:"";position:absolute;left:2px;top:.52em;width:7px;height:7px;background:var(--ink)}.facts{display:flex;flex-wrap:wrap;gap:var(--s2);margin-top:auto;padding-top:var(--s3)}.fact{padding:5px 11px;font-family:var(--font-mono);font-size:.6875rem;font-weight:600;color:var(--ink);background:var(--paper-sunk);border:1px solid var(--rule);border-radius:var(--r-pill)}.badges{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:var(--s4);margin-bottom:var(--s12)}.badge{--badge-accent: var(--light);display:flex;flex-direction:column;gap:6px;padding:var(--s4) var(--s5);background:var(--card);border:1px solid var(--rule);border-left:3px solid var(--badge-accent);border-radius:var(--r-m);box-shadow:var(--lift-1)}a.badge{text-decoration:none;transition:transform var(--t-base) var(--ease),box-shadow var(--t-base) var(--ease)}a.badge:hover{transform:translateY(-2px);box-shadow:var(--lift-2)}a.badge:hover .b-title{text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:2px}.b-light{--badge-accent: var(--light)}.b-fire{--badge-accent: var(--fire)}.b-water{--badge-accent: var(--water)}.b-wind{--badge-accent: var(--wind)}.b-tag{font-family:var(--font-mono);font-size:.5625rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft)}.b-title{font-family:var(--font-display);font-size:.9375rem;font-weight:600;line-height:1.35}.mini-label{display:flex;align-items:center;gap:var(--s3);margin:var(--s12) 0 var(--s4);font-family:var(--font-mono);font-size:.625rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft)}.mini-label:after{content:"";flex:1;height:2px;background:var(--rule)}.stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s4);max-width:40rem}.stat-tile{display:flex;flex-direction:column;justify-content:space-between;gap:var(--s3);min-height:132px;padding:var(--s5);border:1px solid var(--rule);border-radius:var(--r-l);box-shadow:var(--lift-1);text-decoration:none;transition:transform var(--t-fast) var(--ease),box-shadow var(--t-fast) var(--ease)}a.stat-tile:hover{transform:translateY(-2px);box-shadow:var(--lift-2)}.stat-value{font-family:var(--font-display);font-size:clamp(2rem,7vw,3rem);font-weight:700;line-height:1;letter-spacing:-.045em;font-variant-numeric:tabular-nums}.stat-cap{font-family:var(--font-mono);font-size:.6875rem;line-height:1.4}.stat-go{font-family:var(--font-mono);font-size:.5625rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;opacity:.72}.tile-fire{background:var(--fire);color:var(--on-accent)}.tile-water{background:var(--water);color:var(--on-accent)}.tile-earth{background:var(--earth);color:var(--on-accent)}.tile-light{background:var(--light);color:var(--on-light)}.repo-list{display:flex;flex-direction:column}.repo-list li{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px var(--s4);padding:var(--s4) 0;border-top:1px solid var(--rule)}.repo-name{font-family:var(--font-mono);font-size:.9375rem;font-weight:700;text-decoration:none;box-shadow:inset 0 -.14em 0 transparent;transition:box-shadow var(--t-base) var(--ease)}.repo-name:hover{box-shadow:inset 0 -.14em 0 var(--bark-wash)}.repo-what{color:var(--ink-soft);font-size:.9375rem}.repo-links{display:inline-flex;gap:var(--s4);margin-left:auto}.section-play{padding-top:calc(var(--section-y) * .6)}.lab{display:flex;flex-direction:column;gap:var(--s4);padding:0;background:transparent;border:0;box-shadow:none}.lab-nn{gap:var(--s3);padding:0}.lab-sample{cursor:pointer;font-family:var(--font-mono);font-size:.75rem;font-weight:600;transition:transform var(--t-fast) var(--ease)}.lab-sample:hover{transform:translateY(-2px)}.nn-presets .lab-sample:disabled{cursor:progress;color:var(--ink-soft);background:var(--paper-sunk);border-color:var(--rule)}.nn-presets .lab-sample:disabled.active{color:var(--btn-primary-fg, var(--on-accent));background:var(--btn-primary, var(--water));border-color:var(--ink)}.nn-presets{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s2) var(--s3)}.nn-presets .lab-sample.active{background:var(--btn-primary, var(--water));color:var(--btn-primary-fg, var(--on-accent));border-color:var(--ink)}.cfg-blurb{margin-left:var(--s2);font-size:.75rem;color:var(--ink-soft)}.nn-explain{margin:0;background:var(--paper-sunk);border:1px solid var(--rule);border-radius:var(--r-m)}.nn-explain-t{width:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--s3);padding:9px 14px;font-family:var(--font-mono);font-size:.6875rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);background:transparent;border:0;cursor:pointer}.nn-explain ol{display:none}.nn-explain.open ol{display:flex;flex-direction:column;gap:var(--s1);max-height:150px;overflow-y:auto;padding:var(--s2) var(--s5) var(--s3);border-top:1px solid var(--rule)}.nn-explain li{font-size:.8125rem;line-height:1.45}.nn-explain b{font-weight:700}.nn-stage{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:center;gap:var(--s3) var(--s4)}.nn-net{flex:0 1 240px;min-width:180px}.nn-net svg{width:100%;height:auto}.nn-caption{margin-top:var(--s2);text-align:center;font-family:var(--font-mono);font-size:.625rem;color:var(--ink-soft)}.nn-canvas-wrap{flex:1 1 320px;max-width:380px;min-width:230px}.nn-canvas{width:100%;height:auto;max-width:380px;margin-inline:auto;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-m)}.nn-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--s3);margin-top:var(--s2);font-family:var(--font-mono);font-size:.625rem;color:var(--ink-soft)}.nn-legend span{display:inline-flex;align-items:center;gap:5px}.lg{width:11px;height:11px;border:1.5px solid var(--ink);border-radius:50%;display:inline-block;flex:none}.lg-light{background:var(--nn-class1, var(--light))}.lg-hollow{background:var(--nn-class0, var(--card))}.lg-zone{background:var(--nn-class1, var(--light));border-radius:3px;opacity:.32}.lg-x{position:relative;background:transparent;border:0}.lg-x:before,.lg-x:after{content:"";position:absolute;left:1px;top:4px;width:9px;height:2px;background:var(--nn-error, var(--fire));transform:rotate(45deg)}.lg-x:after{transform:rotate(-45deg)}.nn-side{flex:1 1 250px;max-width:330px;min-width:200px;display:flex;flex-direction:column;gap:var(--s2)}.nn-metrics{background:var(--card);border:1px solid var(--rule);border-radius:var(--r-m)}.nn-metric{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s3);padding:var(--s2) var(--s4)}.nn-metric+.nn-metric{border-top:1px solid var(--rule)}.m-cap{font-family:var(--font-mono);font-size:.625rem;color:var(--ink-soft)}.m-val{font-family:var(--font-display);font-size:1.125rem;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums;white-space:nowrap}.nn-actions{display:flex;flex-wrap:wrap;gap:var(--s2)}.nn-actions .btn{min-height:40px;padding:8px 14px;font-size:.8125rem}.verdict{display:flex;flex-direction:column;gap:2px;padding:var(--s3) var(--s4);background:var(--paper-sunk);border:1px solid var(--rule);border-radius:var(--r-m)}.verdict-name{font-family:var(--font-mono);font-size:.6875rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.verdict-why{font-size:.8125rem;line-height:1.45}.verdict-light{background:var(--nn-node, var(--light));border-color:transparent}.verdict-light .verdict-name,.verdict-light .verdict-why{color:var(--nn-fg, var(--on-light))}.verdict-fire{background:var(--nn-error, var(--fire));border-color:transparent}.verdict-wind{background:var(--muted);border-color:transparent}.verdict-fire .verdict-name,.verdict-fire .verdict-why,.verdict-wind .verdict-name,.verdict-wind .verdict-why{color:var(--nn-fg-inv, var(--on-accent))}.verdict-idle{background:var(--paper-sunk)}.nn-wire line{stroke:var(--ink)}.nn-node{stroke:var(--ink);stroke-width:2}.nn-lbl{fill:var(--nn-fg, var(--on-accent));font-family:var(--font-mono);font-weight:700}.nn-x{fill:var(--ink);font-weight:800}@media (max-height: 840px){.section-play{padding-top:1rem}.section-play .section-heading{margin-bottom:var(--s3)}.lab-nn{padding:var(--s3)}.nn-canvas-wrap,.nn-canvas{max-width:330px}.nn-net{flex-basis:220px}.nn-side{max-width:300px}}@media (max-height: 700px){.nn-canvas-wrap,.nn-canvas{max-width:290px}.nn-net{flex-basis:200px}.nn-caption{display:none}}.site-footer{padding:var(--section-y) 0 clamp(3rem,6vw,5rem);background:var(--band);color:var(--band-fg);border-top:3px solid var(--light)}.eyebrow-inverse .eyebrow-num{background:var(--light);color:var(--on-light)}.eyebrow-inverse .eyebrow-rule{opacity:.3}.footer-title{margin-top:var(--s3);font-family:var(--font-display);font-size:clamp(1.75rem,4vw,2.5rem);font-weight:700;letter-spacing:-.04em;line-height:1.05}.big-mail{display:inline-block;margin-top:var(--s5);max-width:100%;font-family:var(--font-display);font-size:clamp(1.25rem,6vw,3.25rem);font-weight:700;letter-spacing:-.04em;line-height:1.14;color:var(--light);text-decoration:none;overflow-wrap:anywhere;box-shadow:inset 0 -.1em 0 var(--light);border-radius:3px;transition:background-color var(--t-fast) var(--ease),color var(--t-fast) var(--ease)}.big-mail-arrow{display:inline-block;margin-left:.18em;transition:transform var(--t-base) var(--ease)}.big-mail:hover,.big-mail:focus-visible{background:var(--light);color:var(--on-light)}.big-mail:hover .big-mail-arrow{transform:translate(.14em)}.footer-meta{margin-top:var(--s4);font-family:var(--font-mono);font-size:.8125rem;color:var(--band-soft)}.footer-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--s6);margin-top:var(--s10);padding-top:var(--s6);border-top:1px solid var(--band-line)}.icon-links{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s3)}.icon-link{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;color:var(--band-fg);background:transparent;border:1px solid var(--band-line);border-radius:var(--r-m);transition:transform var(--t-fast) var(--ease),background-color var(--t-fast) var(--ease),color var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease)}.icon-link:hover{transform:translateY(-2px);background:var(--light);color:var(--on-light);border-color:var(--light)}.icon-text{font-family:var(--font-mono);font-size:.8125rem;font-weight:700}.mono-link{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;font-family:var(--font-mono);font-size:.8125rem;font-weight:700;text-decoration:none;white-space:nowrap;color:var(--band-fg);border:1px solid var(--band-line);border-radius:var(--r-m);transition:transform var(--t-fast) var(--ease),background-color var(--t-fast) var(--ease),color var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease)}.mono-link:hover{transform:translateY(-2px);background:var(--light);color:var(--on-light);border-color:var(--light)}.footer-end{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s4)}.footer-close{font-family:var(--font-mono);font-size:.75rem;color:var(--band-soft)}.to-top{padding:6px 12px;font-family:var(--font-mono);font-size:.75rem;font-weight:700;text-decoration:none;white-space:nowrap;color:var(--band-fg);border:1px solid var(--band-line);border-radius:var(--r-pill);transition:transform var(--t-fast) var(--ease),background-color var(--t-fast) var(--ease),color var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease)}.to-top:hover{transform:translateY(-2px);background:var(--light);color:var(--on-light);border-color:var(--light)}.dot-cluster{display:none}@media (min-width: 768px){.work-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.client-grid{grid-template-columns:1fr 1fr}}@media (min-width: 1024px){.nav-desktop{display:block}.menu-btn,.menu-panel{display:none}.nav-list{gap:var(--s4)}}@media (min-width: 1152px){.dot-cluster{display:flex}}@media (min-width: 1280px){.nav-list{gap:var(--s5)}}@media (min-width: 1100px){.client-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width: 1024px){#proof .stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));max-width:none}}@media (max-width: 399px){.cv-pill{display:none}}@media (max-width: 767px){.project-card,.client-panel{max-width:44rem;margin-inline:auto}.stat-grid{gap:var(--s3)}.stat-tile{min-height:112px;padding:var(--s4)}#proof .stat-grid{max-width:none}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}.btn,.project-card,.stat-tile,.icon-link,.text-link,.cv-pill,.link-cta,.to-top,.nav-link,.menu-panel a,.spec-link,.repo-name,a.badge,.card-title a,.mono-link,.lab-sample,.big-mail,.big-mail-arrow,.topbar-progress i,.receipt-value{transition:none}.btn:hover,.project-card:hover,.stat-tile:hover,.icon-link:hover,.cv-pill:hover,.link-cta:hover,.to-top:hover,.mono-link:hover,a.badge:hover,.lab-sample:hover,.project-card:hover .card-numeral{transform:none}.hero-meta,.hero-name .line,.hero-lead,.hero-actions,.soul-line,.hero-side,.hero-name .mark{animation:none}}[data-el=fire]{--motif-color: var(--fire);--motif-h: 15px;--motif-w: 26px}[data-el=water]{--motif-color: var(--water);--motif-h: 13px;--motif-w: 40px}[data-el=earth]{--motif-color: var(--earth);--motif-h: 15px;--motif-w: 30px}[data-el=wind]{--motif-color: var(--wind);--motif-h: 11px;--motif-w: 86px}[data-el=bark]{--motif-color: var(--bark);--motif-h: 13px;--motif-w: 15px}[data-el=light]{--motif-color: var(--light-ink);--motif-h: 11px;--motif-w: 28px}[data-el=fire]{--motif: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='26' height='15'%3E%3Cpath d='M6 15C2.3 11.1 3.3 5.4 6 0c2.7 5.4 3.7 11.1 0 15z' fill='%23000'/%3E%3Cpath d='M18.6 15c-2.5-3.1-1.6-7.6 0-12.4 1.6 4.8 2.5 9.3 0 12.4z' fill='%23000'/%3E%3C/svg%3E");--motif-size: auto 100%}[data-el=water]{--motif: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='14'%3E%3Cpath d='M0 7q5-6 10 0t10 0t10 0t10 0' fill='none' stroke='%23000' stroke-width='2'/%3E%3C/svg%3E");--motif-size: auto 100%}[data-el=earth]{--motif: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='15'%3E%3Cpath d='M4 15C4 7.5 9 2 16.5 2c0 7.5-5 13-12.5 13z' fill='%23000'/%3E%3Cpath d='M20.5 15c0-4.6 3-7.6 7.5-7.6 0 4.6-3 7.6-7.5 7.6z' fill='%23000'/%3E%3C/svg%3E");--motif-size: auto 100%}[data-el=wind]{--motif: repeating-linear-gradient(90deg, #000 0 30px, transparent 30px 44px, #000 44px 52px, transparent 52px 86px);--motif-size: 86px 100%}[data-el=bark]{--motif: repeating-linear-gradient(90deg, #000 0 2px, transparent 2px 6px, #000 6px 8px, transparent 8px 15px);--motif-size: 15px 100%}[data-el=light]{--motif: repeating-linear-gradient(115deg, #000 0 2.5px, transparent 2.5px 14px);--motif-size: 28px 100%}.section,.card-head,.spec-head,.client-panel,.stat-tile,.badge{position:relative}.section:before,.card-head:before,.spec-head:before,.client-panel:before,.stat-tile:before,.badge:before{content:"";position:absolute;left:0;right:0;top:0;height:var(--motif-h, 0px);background-color:var(--motif-color, transparent);-webkit-mask-image:var(--motif, none);mask-image:var(--motif, none);-webkit-mask-repeat:repeat-x;mask-repeat:repeat-x;-webkit-mask-position:0 0;mask-position:0 0;-webkit-mask-size:var(--motif-size, auto 100%);mask-size:var(--motif-size, auto 100%);pointer-events:none}.card-head{padding-top:calc(var(--s5) + var(--motif-h, 0px))}.spec-head{padding-top:calc(9px + var(--motif-h, 0px))}.client-panel,.stat-tile{padding-top:calc(var(--s5) + var(--motif-h, 0px))}.badge{padding-top:calc(var(--s4) + var(--motif-h, 0px))}.section:before{opacity:.85}.card-head:before,.spec-head:before,.client-panel:before,.stat-tile:before,.badge:before{opacity:.75}.badge{--motif-h: 9px}.spec-head,.stat-tile{--motif-color: var(--on-accent)}.card-kind,.mini-label,.repo-what{color:var(--ink)}@keyframes motifDrift{0%{-webkit-mask-position:0 0;mask-position:0 0}to{-webkit-mask-position:var(--motif-w) 0;mask-position:var(--motif-w) 0}}@keyframes motifPulse{0%,to{opacity:.55}50%{opacity:1}}@media (prefers-reduced-motion: no-preference){:is(.section,.client-panel,.stat-tile)[data-el=water]:before,.project-card[data-el=water] .card-head:before{animation:motifDrift 6s linear infinite}:is(.section,.client-panel,.stat-tile)[data-el=wind]:before,.project-card[data-el=wind] .card-head:before{animation:motifDrift 2.6s linear infinite}:is(.section,.client-panel,.stat-tile)[data-el=earth]:before,.project-card[data-el=earth] .card-head:before,.spec-card[data-el=earth] .spec-head:before{animation:motifDrift 11s linear infinite}:is(.section,.client-panel,.stat-tile)[data-el=fire]:before,.project-card[data-el=fire] .card-head:before{animation:motifPulse 1.9s ease-in-out infinite}:is(.section,.client-panel,.stat-tile)[data-el=light]:before{animation:motifPulse 3.4s ease-in-out infinite}}@supports (animation-timeline: view()){@media (prefers-reduced-motion: no-preference){.section>.container,.site-footer>.container{animation-name:riseIn;animation-duration:auto;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:view();animation-range:entry 12% cover 30%}}}
