:root{--paper:#fbf8f3;--cream:#f4ece1;--foam:#eadfcf;--trace:#d9cbb6;--latte:#c8a27c;--copper:#b0703f;--copper-ink:#8f5730;--roast:#6b4a38;--espresso:#2b1f19;--sage:#7f8c6b;--sage-ink:#5c6a4b;--coffee:#5a3a28;--shadow:0 1px 2px #2b1f190f,0 12px 32px -12px #2b1f192e;--shadow-soft:0 6px 24px -14px #2b1f1940;--grain-opacity:0.018;--font-display:"Fraunces Variable","Iowan Old Style","Palatino Linotype",Georgia,serif;--font-body:"Inter Variable",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;--font-mono:"JetBrains Mono Variable",ui-monospace,"Cascadia Mono",Consolas,monospace;--radius-sm:8px;--radius:12px;--radius-lg:14px;--max-width:1120px;--gutter:clamp(16px,4vw,40px);--nav-height:64px;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--paper:#1c1410;--cream:#241a15;--foam:#33271f;--trace:#43342b;--latte:#c8a27c;--copper:#d08a55;--copper-ink:#e0a26f;--roast:#c9b8a8;--espresso:#f4ece1;--sage:#9daa88;--sage-ink:#b4c19f;--coffee:#3b2619;--shadow:0 1px 2px #0000004d,0 12px 32px -12px #0009;--shadow-soft:0 6px 24px -14px #0009;--grain-opacity:0.03;color-scheme:dark}}:root[data-theme=dark]{--paper:#1c1410;--cream:#241a15;--foam:#33271f;--trace:#43342b;--latte:#c8a27c;--copper:#d08a55;--copper-ink:#e0a26f;--roast:#c9b8a8;--espresso:#f4ece1;--sage:#9daa88;--sage-ink:#b4c19f;--coffee:#3b2619;--shadow:0 1px 2px #0000004d,0 12px 32px -12px #0009;--shadow-soft:0 6px 24px -14px #0009;--grain-opacity:0.03;color-scheme:dark}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-height) + 12px)}body{-webkit-font-smoothing:antialiased;background:var(--paper);color:var(--espresso);font-family:var(--font-body);font-size:1.0625rem;line-height:1.65;margin:0;overflow-x:hidden;text-rendering:optimizeLegibility}body:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='a'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23a)'/%3E%3C/svg%3E");background-size:160px 160px;content:"";inset:0;opacity:var(--grain-opacity);pointer-events:none;position:fixed;z-index:0}#root{position:relative;z-index:1}h1,h2,h3,h4{text-wrap:balance;color:var(--espresso);font-family:var(--font-display);font-weight:500;letter-spacing:-.01em;line-height:1.1;margin:0}h1{font-size:clamp(2.6rem,5.4vw,4.25rem);font-weight:450;line-height:1.02}h2{font-size:clamp(1.9rem,4vw,2.75rem)}h3{font-size:1.35rem}p{margin:0 0 1em}p:last-child{margin-bottom:0}a{color:var(--copper-ink);text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--copper) 45%,#0000);text-decoration-thickness:1px;text-underline-offset:.18em;transition:color .16s ease,text-decoration-color .16s ease}a:hover{color:var(--copper);text-decoration-color:var(--copper)}ol,ul{list-style:none;margin:0;padding:0}img,svg{display:block;max-width:100%}button{color:inherit;cursor:pointer;font:inherit}.mono,code,kbd,pre{font-family:var(--font-mono);font-size:.9em}:focus-visible{border-radius:4px;outline:2px solid var(--copper);outline-offset:3px}::selection{background:color-mix(in srgb,var(--latte) 45%,#0000)}.container{margin:0 auto;max-width:var(--max-width);padding-left:var(--gutter);padding-right:var(--gutter);width:100%}.section{padding:clamp(64px,9vw,120px) 0;position:relative}.section--band{background:var(--cream)}.section-head{margin-bottom:clamp(28px,4vw,48px);max-width:640px}.section-head p{color:var(--roast);font-size:1.05rem;margin-top:14px}.eyebrow{align-items:center;color:var(--copper-ink);display:inline-flex;font-family:var(--font-mono);font-size:.8rem;font-weight:500;gap:10px;letter-spacing:.02em;margin:0 0 14px;text-transform:lowercase}.eyebrow:before{background:var(--copper);content:"";height:1px;width:22px}.muted{color:var(--roast)}.visually-hidden{clip:rect(0 0 0 0);border:0;clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;white-space:nowrap;width:1px}.skip-link{background:var(--espresso);border-radius:var(--radius-sm);color:var(--paper);font-family:var(--font-mono);font-size:.85rem;left:8px;padding:10px 14px;position:absolute;top:8px;transform:translateY(-200%);transition:transform .15s ease;z-index:100}.skip-link:focus{transform:translateY(0)}.btn{align-items:center;background:var(--cream);border:1px solid var(--foam);border-radius:999px;display:inline-flex;font-size:.95rem;font-weight:500;gap:8px;justify-content:center;min-height:44px;padding:0 18px;text-decoration:none;transition:background-color .16s ease,border-color .16s ease,color .16s ease,transform .16s ease}.btn,.btn:hover{color:var(--espresso)}.btn:hover{border-color:var(--latte);transform:translateY(-1px)}.btn--primary{background:var(--espresso);border-color:var(--espresso);color:var(--paper)}.btn--primary:hover{background:var(--copper-ink);border-color:var(--copper-ink);color:#fff}:root[data-theme=dark] .btn--primary:hover{color:var(--paper)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .btn--primary:hover{color:var(--paper)}}.btn--ghost{background:#0000}.chip{align-items:center;background:var(--paper);border:1px solid var(--foam);border-radius:999px;color:var(--roast);display:inline-flex;font-family:var(--font-mono);font-size:.78rem;gap:6px;line-height:1.4;padding:4px 10px}.card{background:var(--cream);border:1px solid var(--foam);border-radius:var(--radius);box-shadow:var(--shadow-soft)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}}@media (max-width:720px){body{font-size:1rem}.section{padding:56px 0}}.theme-toggle{align-items:center;background:var(--cream);border:1px solid var(--foam);border-radius:50%;color:var(--roast);display:inline-flex;height:36px;justify-content:center;padding:0;transition:background-color .16s ease,color .16s ease,border-color .16s ease;width:36px}.theme-toggle:hover{border-color:var(--latte);color:var(--espresso)}.nav{backdrop-filter:saturate(1.1) blur(8px);-webkit-backdrop-filter:saturate(1.1) blur(8px);background:color-mix(in srgb,var(--paper) 88%,#0000);border-bottom:1px solid #0000;position:sticky;top:0;transition:border-color .2s ease,background-color .2s ease;z-index:50}.nav--scrolled{border-bottom-color:var(--foam)}.nav__inner{align-items:center;display:flex;gap:24px;justify-content:space-between;min-height:var(--nav-height)}.nav__brand{align-items:center;color:var(--espresso);display:inline-flex;font-family:var(--font-mono);font-size:.95rem;font-weight:500;gap:10px;text-decoration:none}.nav__brand:hover{color:var(--copper-ink)}.nav__mark{color:var(--espresso)}.nav__links{gap:28px}.nav__links,.nav__links ul{align-items:center;display:flex}.nav__links ul{gap:22px}.nav__links ul a{color:var(--roast);display:inline-block;font-family:var(--font-mono);font-size:.85rem;padding:6px 0;position:relative;text-decoration:none;text-transform:lowercase}.nav__links ul a:after{background:var(--copper);bottom:0;content:"";height:1px;left:0;position:absolute;right:0;transform:scaleX(0);transform-origin:left;transition:transform .18s ease}.nav__links ul a:focus-visible,.nav__links ul a:hover{color:var(--espresso)}.nav__links ul a:focus-visible:after,.nav__links ul a:hover:after{transform:scaleX(1)}.nav__meta{align-items:center;border-left:1px solid var(--foam);display:flex;gap:6px;padding-left:18px}.nav__icon{align-items:center;border-radius:50%;color:var(--roast);display:inline-flex;height:36px;justify-content:center;text-decoration:none;transition:background-color .16s ease,color .16s ease;width:36px}.nav__icon:hover{background:var(--cream);color:var(--espresso)}.nav__icon svg{height:18px;width:18px}.nav__toggle{background:var(--cream);border:1px solid var(--foam);border-radius:50%;display:none;height:44px;padding:0;position:relative;width:44px}.nav__burger,.nav__burger:after,.nav__burger:before{background:var(--espresso);border-radius:2px;height:1.5px;left:13px;position:absolute;transition:transform .2s ease,opacity .2s ease;width:18px}.nav__burger{top:50%;transform:translateY(-50%)}.nav__burger:after,.nav__burger:before{content:"";left:0}.nav__burger:before{transform:translateY(-6px)}.nav__burger:after{transform:translateY(6px)}.nav__toggle[aria-expanded=true] .nav__burger{background:#0000}.nav__toggle[aria-expanded=true] .nav__burger:before{transform:rotate(45deg)}.nav__toggle[aria-expanded=true] .nav__burger:after{transform:rotate(-45deg)}@media (max-width:860px){.nav__toggle{align-items:center;display:inline-flex;justify-content:center}.nav__links{align-items:stretch;background:var(--paper);border-bottom:1px solid var(--foam);box-shadow:var(--shadow);display:none;flex-direction:column;gap:12px;left:0;padding:12px var(--gutter) 20px;position:absolute;right:0;top:100%}.nav__links--open{display:flex}.nav__links ul{align-items:stretch;flex-direction:column;gap:0}.nav__links ul a{border-bottom:1px solid var(--foam);display:block;font-size:1rem;padding:12px 4px}.nav__links ul a:after{display:none}.nav__meta{border-left:0;padding-left:0;padding-top:6px}}.copy-btn{align-items:center;background:var(--paper);border:1px solid var(--foam);border-radius:999px;color:var(--roast);display:inline-flex;font-family:var(--font-mono);font-size:.72rem;min-height:28px;padding:0 10px;transition:border-color .16s ease,color .16s ease}.copy-btn:hover{border-color:var(--latte);color:var(--espresso)}.copy-btn--copied{border-color:var(--sage);color:var(--sage-ink)}.copy-btn--failed{color:var(--copper-ink)}.pour{--sway-x:0px;--sway-y:0px;grid-gap:14px;display:grid;gap:14px}.pour__cup{background:#0000;border:0;border-radius:50%;display:block;margin:0 auto;max-width:400px;padding:0;width:100%}.pour__cup:focus-visible{outline-offset:6px}.cup{height:auto;overflow:visible;width:100%}.cup__circle{fill:color-mix(in srgb,var(--latte) 32%,#0000)}.cup__body,.cup__handle{fill:var(--paper);stroke:var(--espresso);stroke-width:3;stroke-linejoin:round}.cup__handle{fill:none}.cup__body{fill:color-mix(in srgb,var(--paper) 30%,#0000)}.cup__coffee{fill:var(--coffee);animation:cup-fill 2.3s cubic-bezier(.3,0,.2,1) .25s forwards;transform:scaleY(0);transform-box:fill-box;transform-origin:50% 100%}.cup__stream{fill:var(--coffee);animation:cup-stream 2.6s ease-in-out forwards;opacity:0;transform-box:fill-box;transform-origin:50% 0}.cup__tag{fill:var(--paper);stroke:var(--espresso);stroke-width:2}.cup__label{fill:var(--copper-ink);font-family:var(--font-mono);font-size:17px;font-weight:600}.cup__pins,.cup__saucer{fill:none;stroke:var(--espresso);stroke-width:3;stroke-linecap:round}.cup__pins{stroke-width:2.5}.steam{transform:translate(var(--sway-x),var(--sway-y));transition:transform .6s cubic-bezier(.2,.7,.3,1)}.steam__bit{fill:var(--copper);animation:bit-rise 3.4s ease-in-out infinite;animation-delay:calc(2.2s + var(--i)*.42s);font-family:var(--font-mono);font-size:15px;opacity:0}.steam__bit:nth-child(2n){fill:var(--latte);font-size:12px}@keyframes cup-fill{to{transform:scaleY(1)}}@keyframes cup-stream{0%{opacity:0;transform:scaleY(0)}12%{opacity:1;transform:scaleY(1)}82%{opacity:1;transform:scaleY(1)}to{opacity:0;transform:scaleY(1)}}@keyframes bit-rise{0%{opacity:0;transform:translateY(0)}25%{opacity:.85}to{opacity:0;transform:translateY(-54px)}}.pour--static .cup__coffee{animation:none;transform:scaleY(1)}.pour--static .cup__stream{animation:none;opacity:0}.pour--static .steam__bit{animation:none;opacity:.55;transform:translateY(calc(-10px - var(--i)*4px))}.pour--static .steam{transition:none}.brew{background:var(--cream);border:1px solid var(--foam);border-radius:var(--radius);box-shadow:var(--shadow-soft);margin:0 auto;max-width:400px;overflow:hidden;width:100%}.brew__bar{align-items:center;border-bottom:1px solid var(--foam);color:var(--roast);display:flex;font-family:var(--font-mono);font-size:.78rem;gap:12px;justify-content:space-between;padding:8px 10px 8px 14px}.brew__file:before{background:var(--latte);border-radius:50%;content:"";display:inline-block;height:8px;margin-right:8px;vertical-align:1px;width:8px}.brew__code{color:var(--espresso);font-size:.86rem;line-height:1.7;margin:0;overflow-x:auto;padding:14px 14px 6px}.brew__line{animation:line-in .42s ease forwards;animation-delay:calc(.4s + var(--i)*.72s);display:block;font-size:inherit;opacity:0;white-space:pre}.brew__ln{color:var(--trace);display:inline-block;margin-right:.6em;text-align:right;-webkit-user-select:none;user-select:none;width:1.6em}.tok--kw,.tok--ref{color:var(--copper-ink)}.tok--ref,.tok--type{font-weight:600}.tok--type{color:var(--espresso)}.tok--fn{color:var(--roast)}.tok--op{color:var(--sage-ink)}.brew__status{align-items:center;color:var(--roast);display:flex;font-family:var(--font-mono);font-size:.8rem;gap:8px;margin:0;padding:8px 14px 12px}.brew__status--done{color:var(--sage-ink)}.brew__check{font-weight:700}.brew__spinner{animation:spin .9s linear infinite;border:1.5px solid var(--trace);border-radius:50%;border-top-color:var(--copper);height:10px;width:10px}@keyframes line-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(1turn)}}.pour--static .brew__line{animation:none;opacity:1}.pour--static .brew__spinner{animation:none}.page-traces{inset:0;overflow:hidden;pointer-events:none;position:absolute;z-index:0}.page-traces svg{stroke:var(--trace);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;height:auto;position:absolute;width:clamp(240px,32vw,460px)}.page-traces svg circle{fill:var(--paper);stroke:var(--trace);stroke-width:1.5}.page-traces__tl{left:0;top:0}.page-traces__br{bottom:0;right:0}.trace-corner{stroke:var(--trace);stroke-width:1.5;stroke-linecap:round;height:96px;pointer-events:none;position:absolute;right:0;top:0;width:96px}.trace-corner circle{fill:var(--paper)}@media (max-width:720px){.page-traces svg{opacity:.8;width:200px}}.hero{overflow:hidden;padding:clamp(40px,7vw,96px) 0 clamp(56px,8vw,110px);position:relative}.hero__grid{grid-gap:clamp(28px,5vw,72px);align-items:center;display:grid;gap:clamp(28px,5vw,72px);grid-template-columns:minmax(0,1.05fr) minmax(300px,.95fr);position:relative;z-index:1}.hero__copy{max-width:600px}.hero__eyebrow{margin-bottom:22px}.hero h1{margin-bottom:18px}.hero h1 em{color:var(--copper-ink);font-style:italic;font-weight:400}.hero__subline{color:var(--roast);font-family:var(--font-display);font-size:clamp(1.15rem,2vw,1.45rem);font-weight:400;line-height:1.35;margin:0 0 10px}.hero__tech{color:var(--roast);font-family:var(--font-mono);font-size:.86rem;letter-spacing:.01em;margin:0 0 26px}.hero__intro{color:var(--roast);margin-bottom:30px;max-width:54ch}.hero__actions{display:flex;flex-wrap:wrap;gap:10px}.hero__cup{justify-self:center;max-width:460px;width:100%}@media (max-width:900px){.hero__grid{grid-template-columns:1fr}.hero__cup{justify-self:start;max-width:420px}}.die-map{padding-top:0}.die{height:auto;margin:0 auto;max-width:820px;overflow:visible;width:100%}.die__pads rect{fill:var(--foam);stroke:var(--trace);stroke-width:1}.die__outline{fill:var(--cream)}.die__bus path,.die__outline{stroke:var(--trace);stroke-width:1.5}.die__bus path{fill:none;stroke-dasharray:4 6}.die__bus circle{fill:var(--paper);stroke:var(--trace);stroke-width:1.5}.die__block{cursor:pointer;outline:none;text-decoration:none}.die__rect{fill:var(--paper);transition:fill .18s ease,stroke .18s ease}.die__rect,.die__trace{stroke:var(--trace);stroke-width:1.5}.die__trace{fill:none;transition:stroke .18s ease,stroke-width .18s ease}.die__trace--bus{stroke-dasharray:3 5}.die__via{fill:var(--paper);stroke:var(--trace);stroke-width:1.5;transition:stroke .18s ease,fill .18s ease}.die__lanes path{stroke:var(--foam);stroke-width:1.5;stroke-linecap:round;transition:stroke .18s ease}.die__code{fill:var(--roast);font-family:var(--font-mono);font-size:12px;font-weight:500;letter-spacing:.04em;transition:fill .18s ease}.die__name{fill:var(--espresso);font-family:var(--font-display);font-size:22px}.die__part{fill:var(--roast);font-family:var(--font-mono);font-size:10.5px}.die__block:focus .die__rect,.die__block:hover .die__rect{fill:var(--cream);stroke:var(--copper)}.die__block:focus .die__trace,.die__block:hover .die__trace{stroke:var(--copper);stroke-width:2.5}.die__block:focus .die__via,.die__block:hover .die__via{stroke:var(--copper);fill:var(--copper)}.die__block:focus .die__code,.die__block:hover .die__code{fill:var(--copper-ink)}.die__block:focus .die__lanes path,.die__block:hover .die__lanes path{stroke:var(--latte)}.die__block:focus .die__rect{stroke-width:2.5}.die-list{grid-gap:8px;display:grid;gap:8px}.die-list a{align-items:center;background:var(--cream);border:1px solid var(--foam);border-radius:var(--radius-sm);color:var(--espresso);display:flex;gap:14px;padding:12px 14px;text-decoration:none}.die-list a:hover{border-color:var(--latte)}.die-list__code{color:var(--copper-ink);font-family:var(--font-mono);font-size:.78rem;letter-spacing:.04em;min-width:56px}.die-list__name{font-family:var(--font-display);font-size:1.15rem}.about__grid{grid-gap:clamp(28px,5vw,72px);align-items:start;display:grid;gap:clamp(28px,5vw,72px);grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr)}.about__copy h2{margin-bottom:20px}.about__copy p{color:var(--roast);max-width:62ch}.about__pronouns{background:var(--paper);border:1px solid var(--foam);border-radius:999px;color:var(--roast);display:inline-block;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.02em;margin-left:8px;padding:2px 10px;vertical-align:middle}.about__facts{grid-gap:10px 20px;display:grid;gap:10px 20px;grid-template-columns:repeat(2,minmax(0,1fr));margin:28px 0 0;max-width:560px}.about__fact{background:var(--paper);border:1px solid var(--foam);border-radius:var(--radius-sm);padding:12px 14px}.about__fact dt{color:var(--copper-ink);font-family:var(--font-mono);font-size:.72rem;margin-bottom:2px}.about__fact dd{color:var(--espresso);font-size:.95rem;margin:0}.about__portrait{justify-self:end;margin:0;max-width:380px;position:relative}.about__portrait img{aspect-ratio:4/5;background:var(--foam);border:1px solid var(--foam);border-radius:var(--radius-lg);box-shadow:var(--shadow);height:auto;object-fit:cover;object-position:50% 22%;width:100%}.about__trace{height:110px;right:-22px;top:-22px;width:110px}.about__trace circle{fill:var(--cream)}.about__portrait figcaption{color:var(--roast);font-size:.72rem;margin-top:10px;text-align:right}@media (max-width:900px){.about__grid{grid-template-columns:1fr}.about__portrait{justify-self:start;max-width:320px}}@media (max-width:520px){.about__facts{grid-template-columns:1fr}}.xp__trace{max-width:880px;padding-left:48px;position:relative}.xp__trace:before{background:var(--trace);border-radius:2px;bottom:12px;content:"";left:15px;position:absolute;top:12px;width:2px}.xp__entry{padding:0 0 48px;position:relative}.xp__entry:last-child{padding-bottom:0}.xp__entry:before{background:var(--copper);border-radius:2px;bottom:0;content:"";left:-33px;position:absolute;top:12px;transform:scaleY(0);transform-origin:top;transition:transform .9s cubic-bezier(.3,0,.2,1);width:2px}.xp__entry:last-child:before{bottom:auto;height:12px}.xp__entry--lit:before{transform:scaleY(1)}.xp__via{background:var(--paper);border:3px solid var(--trace);border-radius:50%;height:16px;left:-40px;position:absolute;top:4px;transition:border-color .4s ease,box-shadow .4s ease,background-color .4s ease;width:16px}.xp__entry--lit .xp__via{background:var(--cream);border-color:var(--copper);box-shadow:0 0 0 4px color-mix(in srgb,var(--copper) 18%,#0000)}.xp__trace--static .xp__entry:before,.xp__trace--static .xp__via{transition:none}.xp__dates{color:var(--copper-ink);font-family:var(--font-mono);font-size:.8rem;margin:0 0 6px}.xp__body h3{margin-bottom:4px}.xp__org{color:var(--espresso);font-weight:500;margin:0 0 4px}.xp__org-detail{color:var(--roast);font-weight:400}.xp__meta{color:var(--roast);font-family:var(--font-mono);font-size:.78rem;margin:0 0 14px}.xp__bullets{grid-gap:8px;display:grid;gap:8px;max-width:72ch}.xp__bullets li{color:var(--roast);line-height:1.6;padding-left:18px;position:relative}.xp__bullets li:before{background:var(--latte);border-radius:50%;content:"";height:6px;left:2px;position:absolute;top:.68em;width:6px}.xp__roles{grid-gap:18px;border-left:1px dashed var(--trace);display:grid;gap:18px;margin-top:6px;padding-left:18px}.xp__role h4{font-size:1.05rem;margin-bottom:2px}.xp__role .xp__meta{margin-bottom:8px}@media (max-width:720px){.xp__trace{padding-left:36px}.xp__trace:before{left:9px}.xp__entry:before{left:-27px}.xp__via{height:14px;left:-34px;width:14px}.xp__entry{padding-bottom:36px}}.die-grid{grid-gap:22px;display:grid;gap:22px;grid-template-columns:repeat(2,minmax(0,1fr))}.die-card{background:var(--paper);border:1px solid var(--trace);border-radius:var(--radius);box-shadow:var(--shadow-soft);display:flex;flex-direction:column;gap:14px;padding:26px 26px 22px;position:relative;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.die-card:hover{border-color:var(--latte);box-shadow:var(--shadow);transform:translateY(-2px)}.die-card:after,.die-card:before{content:"";pointer-events:none;position:absolute}.die-card:before{background:repeating-linear-gradient(90deg,var(--trace) 0 7px,#0000 7px 16px);border-radius:2px;height:5px;left:28px;right:28px;top:-6px}.die-card:after{background:repeating-linear-gradient(180deg,var(--trace) 0 7px,#0000 7px 16px);border-radius:2px;bottom:28px;left:-6px;top:28px;width:5px}.die-card--featured{background:var(--paper);border-color:var(--copper);grid-column:1/-1}.die-card--featured:after,.die-card--featured:before{background-image:repeating-linear-gradient(90deg,var(--copper) 0 7px,#0000 7px 16px)}.die-card--featured:after{background-image:repeating-linear-gradient(180deg,var(--copper) 0 7px,#0000 7px 16px)}.die-card__head{align-items:flex-start;display:flex;gap:16px;justify-content:space-between}.die-card__head h3{font-size:1.5rem}.die-card--featured .die-card__head h3{font-size:clamp(1.7rem,3vw,2.2rem)}.die-card__tagline{color:var(--roast);font-family:var(--font-display);font-size:1.02rem;font-style:italic;margin:4px 0 0}.die-card__part{background:var(--cream);border:1px solid var(--foam);border-radius:4px;color:var(--roast);flex-shrink:0;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.05em;padding:3px 8px}.die-card--featured .die-card__part{border-color:color-mix(in srgb,var(--copper) 40%,#0000);color:var(--copper-ink)}.die-card__label{align-items:center;background:color-mix(in srgb,var(--sage) 16%,var(--paper));border-radius:999px;color:var(--sage-ink);display:inline-flex;font-family:var(--font-mono);font-size:.76rem;gap:8px;margin:0;padding:5px 12px;width:fit-content}.die-card__dot{background:var(--sage);border-radius:50%;height:7px;width:7px}.die-card__desc{color:var(--roast);margin:0;max-width:78ch}.die-card__highlight{border-left:2px solid var(--latte);color:var(--espresso);font-size:.95rem;margin:0;padding-left:14px}.die-card__foot{align-items:center;border-top:1px dashed var(--foam);display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-top:auto;padding-top:14px}.die-card__stack{display:flex;flex-wrap:wrap;gap:6px}.die-card__links{display:flex;gap:14px}.die-card__links a{align-items:center;display:inline-flex;font-family:var(--font-mono);font-size:.82rem;gap:6px}.projects__more{margin:32px 0 0}@media (max-width:820px){.die-grid{grid-template-columns:1fr}.die-card{padding:22px 20px 18px}}.menu,.menu__paper{position:relative}.menu__paper{background:var(--cream);border:1px solid var(--foam);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:clamp(28px,4vw,52px) clamp(20px,4vw,56px) clamp(24px,3vw,40px)}.menu__paper:before{border:1px solid var(--trace);border-radius:10px;content:"";inset:10px;pointer-events:none;position:absolute}.menu__header{margin-bottom:clamp(24px,3vw,40px);text-align:center}.menu__kicker,.menu__legend{color:var(--roast);font-family:var(--font-mono);font-size:.76rem;margin:0}.menu__title{color:var(--espresso);font-family:var(--font-display);font-size:clamp(2rem,4vw,2.8rem);font-style:italic;font-weight:400;margin:8px 0 10px}.menu__columns{grid-gap:clamp(24px,3vw,44px) clamp(28px,4vw,64px);display:grid;gap:clamp(24px,3vw,44px) clamp(28px,4vw,64px);grid-template-columns:repeat(2,minmax(0,1fr))}.menu__group-title{align-items:baseline;border-bottom:1px solid var(--trace);display:flex;font-family:var(--font-display);font-size:1.35rem;font-weight:500;gap:12px;justify-content:space-between;margin:0 0 10px;padding-bottom:8px}.menu__group-sub{color:var(--roast);font-family:var(--font-mono);font-size:.74rem;font-weight:400;text-transform:lowercase}.menu__item{border-radius:6px}.menu__row{align-items:baseline;background:#0000;border:0;border-radius:6px;color:var(--espresso);display:flex;gap:10px;padding:8px 6px;text-align:left;transition:background-color .16s ease;width:100%}.menu__item--open .menu__row,.menu__row:hover{background:color-mix(in srgb,var(--paper) 70%,#0000)}.menu__name{font-family:var(--font-display);font-size:1.1rem;line-height:1.3}.menu__leader{border-bottom:2px dotted var(--trace);flex:1 1 auto;min-width:16px;transform:translateY(-5px)}.menu__price{color:var(--roast);flex-shrink:0;font-family:var(--font-mono);font-size:.82rem;letter-spacing:.06em;white-space:nowrap}.menu__item--open .menu__price,.menu__row:focus-visible .menu__price,.menu__row:hover .menu__price{color:var(--copper-ink)}.menu__note{display:grid;grid-template-rows:0fr;overflow:hidden;transition:grid-template-rows .22s ease}.menu__note>p{color:var(--roast);font-size:.92rem;line-height:1.55;margin:0;min-height:0;opacity:0;padding:0 6px;transition:opacity .2s ease,padding .2s ease}.menu__item--open .menu__note,.menu__item:focus-within .menu__note,.menu__item:hover .menu__note{grid-template-rows:1fr}.menu__item--open .menu__note>p,.menu__item:focus-within .menu__note>p,.menu__item:hover .menu__note>p{opacity:1;padding:2px 6px 10px}.menu__note-label{color:var(--copper-ink);display:inline-block;font-family:var(--font-mono);font-size:.7rem;margin-right:8px}.menu__footer{border-top:1px solid var(--trace);margin-top:clamp(24px,3vw,40px);padding-top:14px;text-align:center}.menu__footer p{color:var(--roast);font-family:var(--font-mono);font-size:.74rem;margin:0}@media (prefers-reduced-motion:reduce){.menu__note,.menu__note>p{transition:none}}@media (max-width:760px){.menu__columns{grid-template-columns:1fr}.menu__name{font-size:1.02rem}}.edu__grid{grid-gap:clamp(28px,5vw,72px);align-items:start;display:grid;gap:clamp(28px,5vw,72px);grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr)}.edu__subtitle{color:var(--roast);font-size:1.25rem;font-style:italic;font-weight:400;margin-bottom:18px}.edu__list{grid-gap:14px;display:grid;gap:14px}.edu__item{background:var(--paper);border:1px solid var(--foam);border-radius:var(--radius);padding:18px 20px}.edu__dates{align-items:center;color:var(--copper-ink);display:flex;font-family:var(--font-mono);font-size:.78rem;gap:10px;margin:0 0 6px}.edu__status{align-items:center;background:color-mix(in srgb,var(--sage) 16%,var(--paper));border-radius:999px;color:var(--sage-ink);display:inline-flex;gap:6px;padding:1px 8px}.edu__status:before{background:var(--sage);border-radius:50%;content:"";height:6px;width:6px}.edu__item h4{font-size:1.2rem;margin-bottom:2px}.edu__school{color:var(--espresso);margin:0}.edu__note{color:var(--roast);font-size:.95rem;margin:8px 0 0}.receipt{padding:12px 0;position:relative}.receipt__paper{background:var(--paper);border-left:1px solid var(--foam);border-right:1px solid var(--foam);box-shadow:var(--shadow-soft);padding:26px 24px 22px;position:relative}.receipt__paper:after,.receipt__paper:before{background:radial-gradient(circle at 8px 0,#0000 7px,var(--paper) 7.5px);background-repeat:repeat-x;background-size:16px 12px;content:"";height:12px;left:0;position:absolute;right:0}.receipt__paper:before{top:-12px;transform:scaleY(-1)}.receipt__paper:after{bottom:-12px}.receipt__head{margin-bottom:18px;text-align:center}.receipt__kicker{color:var(--roast);font-family:var(--font-mono);font-size:.74rem;letter-spacing:.1em;margin:0}.receipt__title{font-family:var(--font-mono);font-size:1.1rem;font-weight:500;letter-spacing:.2em;margin:4px 0 0;text-transform:uppercase}.receipt__lines{grid-gap:14px;border-top:1px dashed var(--trace);display:grid;gap:14px;padding-top:14px}.receipt__row{align-items:baseline;display:flex;gap:8px}.receipt__name{align-items:center;color:var(--espresso);display:inline-flex;font-family:var(--font-mono);font-size:.9rem;gap:8px}.receipt__leader{border-bottom:1px dotted var(--trace);flex:1 1;min-width:12px;transform:translateY(-4px)}.receipt__date{flex-shrink:0;font-size:.82rem}.receipt__date,.receipt__meta{color:var(--roast);font-family:var(--font-mono)}.receipt__meta{font-size:.74rem;margin:4px 0 0}.receipt__line--featured{background:color-mix(in srgb,var(--latte) 16%,#0000);border-left:3px solid var(--copper);border-radius:6px;margin:0 -12px;padding:12px 12px 12px 14px}.receipt__line--featured .receipt__name{font-weight:600}.receipt__star{background:var(--sage);border-radius:50%;box-shadow:0 0 0 3px color-mix(in srgb,var(--sage) 25%,#0000);height:8px;width:8px}.receipt__foot{border-top:1px dashed var(--trace);margin-top:18px;padding-top:14px;text-align:center}.receipt__foot p{color:var(--roast);font-family:var(--font-mono);font-size:.74rem;margin:0}.receipt__barcode{color:var(--espresso)!important;font-size:1.1rem!important;letter-spacing:.05em;margin-top:6px!important;opacity:.6}@media (max-width:900px){.edu__grid{grid-template-columns:1fr}.receipt{max-width:480px}}.contact{overflow:hidden}.contact__inner{position:relative;z-index:1}.contact__links{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(3,minmax(0,1fr));max-width:900px}.contact__card{grid-column-gap:14px;align-items:center;background:var(--cream);border:1px solid var(--foam);border-radius:var(--radius);color:var(--espresso);column-gap:14px;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;padding:18px 20px;text-decoration:none;transition:border-color .16s ease,transform .16s ease,box-shadow .16s ease}.contact__card:hover{border-color:var(--latte);box-shadow:var(--shadow-soft);color:var(--espresso);transform:translateY(-2px)}.contact__icon{align-items:center;background:var(--paper);border-radius:50%;color:var(--copper-ink);display:inline-flex;grid-row:1/span 2;height:40px;justify-content:center;width:40px}.contact__icon svg{height:18px;width:18px}.contact__label{color:var(--roast);font-family:var(--font-mono);font-size:.74rem}.contact__value{font-size:.95rem;overflow-wrap:anywhere}@media (max-width:820px){.contact__links{grid-template-columns:1fr}}.contact .page-traces svg circle{fill:var(--cream)}.footer{background:var(--paper);border-top:1px solid var(--foam);padding:36px 0 44px;position:relative}.footer__inner{align-items:center;display:flex;flex-wrap:wrap;gap:14px 28px;justify-content:space-between}.footer__line{color:var(--roast);font-family:var(--font-mono);font-size:.82rem;margin:0}.footer__links{display:flex;flex-wrap:wrap;gap:18px}.footer__links a{color:var(--roast);font-family:var(--font-mono);font-size:.82rem;text-decoration:none}.footer__links a:hover{color:var(--copper-ink);text-decoration:underline}
/*# sourceMappingURL=main.18f0398e.css.map*/