:root{--bg: #F2EFE8;--fg: #111416;--theme-primary: oklch(.62 .08 175);--theme-secondary: oklch(.82 .05 70);--theme-complementary: oklch(.7 .1 25);--pad-x: clamp(20px, 4vw, 56px);--max-w: 1440px;--fg-muted: color-mix(in oklch, var(--fg) 62%, transparent);--rule: color-mix(in oklch, var(--fg) 18%, transparent);--rule-soft: color-mix(in oklch, var(--fg) 10%, transparent);--card: color-mix(in oklch, var(--bg) 60%, white);--font-body: "DM Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--font-display: "Azeret Mono", "DM Mono", ui-monospace, monospace;--ease-out: cubic-bezier(.22, 1, .36, 1);--dur: .65s}[data-theme=dark]{--bg: #111416;--fg: #F2EFE8;--card: color-mix(in oklch, var(--bg) 60%, black);--fg-muted: color-mix(in oklch, var(--fg) 62%, transparent);--rule: color-mix(in oklch, var(--fg) 22%, transparent);--rule-soft: color-mix(in oklch, var(--fg) 12%, transparent)}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--font-body);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;transition:background-color .4s var(--ease-out),color .4s var(--ease-out)}body:before,body:after{content:"";position:fixed;inset:-30%;z-index:-1;pointer-events:none;opacity:.5;will-change:transform}body:before{background:radial-gradient(42% 38% at 30% 28%,color-mix(in oklch,var(--theme-primary) 26%,transparent),transparent 70%),radial-gradient(26% 24% at 12% 62%,color-mix(in oklch,var(--theme-secondary) 18%,transparent),transparent 70%);animation:fluidA 46s ease-in-out infinite alternate}body:after{background:radial-gradient(36% 34% at 74% 66%,color-mix(in oklch,var(--theme-complementary) 20%,transparent),transparent 70%),radial-gradient(28% 26% at 62% 18%,color-mix(in oklch,var(--theme-secondary) 14%,transparent),transparent 70%);animation:fluidB 58s ease-in-out infinite alternate}[data-theme=dark] body:before,[data-theme=dark] body:after{opacity:.2}@keyframes fluidA{0%{transform:translate3d(-2.5%,-1.5%,0) scale(1)}to{transform:translate3d(2.5%,2%,0) scale(1.06)}}@keyframes fluidB{0%{transform:translate3d(2%,2.5%,0) scale(1.04)}to{transform:translate3d(-2%,-2%,0) scale(1)}}.bg-grain{position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.045;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160' viewBox='0 0 160 160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='0.55'/%3E%3C/svg%3E");background-size:160px 160px}[data-theme=dark] .bg-grain{opacity:.07}img{max-width:100%;display:block}a{color:inherit}h1,h2,h3,h4{font-family:var(--font-display);font-weight:600;line-height:1.08;margin:0 0 .5em;letter-spacing:-.01em}p{margin:0 0 1em}::selection{background:var(--theme-primary);color:var(--bg)}:focus-visible{outline:2px solid var(--theme-primary);outline-offset:3px;border-radius:2px}html{scrollbar-width:thin;scrollbar-color:color-mix(in oklch,var(--fg) 26%,transparent) transparent}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:color-mix(in oklch,var(--fg) 22%,transparent);border-radius:999px;border:2px solid var(--bg)}::-webkit-scrollbar-thumb:hover{background:color-mix(in oklch,var(--fg) 38%,transparent)}@media(prefers-reduced-motion:no-preference){@view-transition{navigation:auto}}.wrap{width:100%;max-width:var(--max-w);margin-inline:auto;padding-inline:var(--pad-x)}.wrap-narrow{width:100%;max-width:980px;margin-inline:auto;padding-inline:var(--pad-x)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.eyebrow{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--fg-muted);margin:0}.rule{border:0;border-top:1px solid var(--rule);margin:0}.rule-soft{border:0;border-top:1px solid var(--rule-soft);margin:0}[data-reveal]{opacity:0;transform:translateY(16px) scale(.995);filter:blur(4px);transition:opacity var(--dur) var(--ease-out),transform var(--dur) var(--ease-out),filter var(--dur) var(--ease-out);will-change:opacity,transform,filter}[data-reveal].is-visible{opacity:1;transform:translateY(0) scale(1);filter:blur(0);will-change:auto}[data-reveal="1"]{transition-delay:60ms}[data-reveal="2"]{transition-delay:.12s}[data-reveal="3"]{transition-delay:.18s}[data-reveal="4"]{transition-delay:.22s}.nav{position:sticky;top:0;z-index:50;background:color-mix(in oklch,var(--bg) 78%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--rule-soft)}.nav .inner{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:14px}.nav-brand{display:flex;align-items:center;gap:12px;text-decoration:none}.nav-brand .mark{width:26px;height:26px;display:grid;place-items:center;background:var(--fg);color:var(--bg);font-family:var(--font-display);font-size:13px;border-radius:4px;flex:none}.brand-meta{display:flex;flex-direction:column;line-height:1.25}.brand-meta .name{font-family:var(--font-display);font-size:13px;font-weight:600}.brand-meta .sub{font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-muted)}.nav-links{display:flex;align-items:center;gap:clamp(16px,2.4vw,32px);list-style:none;margin:0;padding:0}.nav-links a{position:relative;font-size:11px;letter-spacing:.18em;text-transform:uppercase;text-decoration:none;color:var(--fg-muted);padding-block:6px;transition:color .25s var(--ease-out)}.nav-links a:after{content:"";position:absolute;left:0;right:0;bottom:-20px;height:1px;background:var(--fg);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease-out)}.nav-links a:hover{color:var(--fg)}.nav-links a:hover:after{transform:scaleX(1)}.nav-links a[aria-current=page]{color:var(--fg)}.nav-links a[aria-current=page]:after{background:var(--theme-primary);transform:scaleX(1)}.nav{transition:background-color .4s var(--ease-out),box-shadow .4s var(--ease-out),border-color .4s var(--ease-out)}.nav.is-scrolled{background:color-mix(in oklch,var(--bg) 88%,transparent);box-shadow:0 10px 40px color-mix(in oklch,var(--fg) 8%,transparent)}.nav-actions{display:flex;align-items:center;gap:12px}@media(max-width:720px){.nav-links{display:none}}.theme-toggle{display:inline-flex;align-items:center;gap:8px;background:none;border:1px solid var(--rule);border-radius:999px;padding:7px 14px;font-family:var(--font-body);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-muted);cursor:pointer;transition:border-color .25s var(--ease-out),color .25s var(--ease-out)}.theme-toggle:hover{border-color:var(--fg);color:var(--fg)}.theme-toggle .icon{width:13px;height:13px;display:inline-block;transition:transform .5s var(--ease-out)}.theme-toggle:hover .icon{transform:rotate(40deg)}[data-theme=dark] .theme-toggle .icon{transform:rotate(180deg)}[data-theme=dark] .theme-toggle:hover .icon{transform:rotate(220deg)}.btn{display:inline-flex;align-items:center;gap:10px;border-radius:999px;padding:13px 24px;font-family:var(--font-body);font-size:11px;letter-spacing:.15em;text-transform:uppercase;text-decoration:none;cursor:pointer;border:1px solid var(--fg);transition:transform .25s var(--ease-out),background-color .25s var(--ease-out),color .25s var(--ease-out),border-color .25s var(--ease-out);will-change:transform}.btn .arrow{display:inline-block;transition:transform .25s var(--ease-out)}.btn:hover .arrow{transform:translate(3px)}.btn.magnetic{transition:background-color .25s var(--ease-out),color .25s var(--ease-out),border-color .25s var(--ease-out),box-shadow .25s var(--ease-out)}.btn-solid{background:var(--fg);color:var(--bg)}.btn-solid:hover{background:var(--bg);color:var(--fg);transform:translateY(-1px)}.btn-ghost{background:transparent;color:var(--fg)}.btn-ghost:hover{background:var(--fg);color:var(--bg);transform:translateY(-1px)}.btn:active{transform:translateY(0) scale(.98)}.btn-solid{box-shadow:0 1px color-mix(in oklch,var(--fg) 20%,transparent)}.btn-solid:hover{box-shadow:0 14px 34px color-mix(in oklch,var(--fg) 18%,transparent)}.btn-solid{position:relative;overflow:hidden}.btn-solid:after{content:"";position:absolute;top:0;bottom:0;left:-80%;width:50%;background:linear-gradient(100deg,transparent,color-mix(in oklch,white 32%,transparent),transparent);transform:skew(-18deg);transition:left .6s var(--ease-out);pointer-events:none}.btn-solid:hover:after{left:130%}[data-theme=dark] .btn-solid:after{background:linear-gradient(100deg,transparent,color-mix(in oklch,white 20%,transparent),transparent)}.stat-strip{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);display:grid;grid-template-columns:repeat(4,1fr)}.stat{padding:clamp(22px,3vw,40px) clamp(18px,2.4vw,36px);border-left:1px solid var(--rule-soft)}.stat:first-child{border-left:0}.stat .k{font-family:var(--font-display);font-size:clamp(32px,4.2vw,56px);line-height:1;margin:0 0 8px;font-variant-numeric:tabular-nums}.stat .lbl{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--fg);margin:0 0 4px}.stat .sub{font-size:12.5px;color:var(--fg-muted);margin:0}@media(max-width:860px){.stat-strip{grid-template-columns:repeat(2,1fr)}.stat:nth-child(3){border-left:0}.stat:nth-child(n+3){border-top:1px solid var(--rule-soft)}}@media(max-width:520px){.stat-strip{grid-template-columns:1fr}.stat{border-left:0}.stat:nth-child(n+2){border-top:1px solid var(--rule-soft)}}.section{padding-block:clamp(56px,8vw,120px)}.section-head{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(24px,4vw,64px);align-items:end;margin-bottom:clamp(32px,4vw,56px)}.section-num{display:flex;align-items:center;gap:14px;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--fg-muted);margin:0 0 14px}.section-num:before{content:"";width:24px;height:1px;background:var(--fg-muted)}.section-head h2{font-size:clamp(28px,3.6vw,52px)}.section-head .lede{max-width:62ch;color:var(--fg-muted);margin:0}@media(max-width:820px){.section-head{grid-template-columns:1fr;align-items:start}}.page-hero{padding-block:clamp(64px,9vw,120px) clamp(32px,4vw,56px)}.page-hero h1{font-size:clamp(44px,7vw,104px);margin-bottom:.4em}.page-hero h1 em{font-style:italic;color:var(--fg-muted);font-weight:400}.page-hero .deck{max-width:62ch;font-size:clamp(15px,1.4vw,18px);color:var(--fg-muted);margin:0}.panel{border:1px solid var(--rule);background:var(--card);border-radius:6px;padding:clamp(20px,2.2vw,32px)}.tag-row{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}.tag{font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--rule);border-radius:999px;padding:5px 12px;color:var(--fg-muted);white-space:nowrap}.site-footer{margin-top:120px;border-top:1px solid var(--rule)}.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:clamp(24px,3vw,48px);padding-block:clamp(40px,5vw,64px)}.footer-brand .tag{font-family:var(--font-display);font-size:20px;letter-spacing:0;text-transform:none;border:0;padding:0;color:var(--fg);display:block;margin-top:12px}.footer-col h3{font-family:var(--font-body);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--fg-muted);margin:0 0 14px;font-weight:400}.footer-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px}.footer-col a{font-size:13px;color:var(--fg-muted);text-decoration:none;background-image:linear-gradient(currentColor,currentColor);background-size:0% 1px;background-repeat:no-repeat;background-position:0 100%;padding-bottom:2px;transition:color .25s var(--ease-out),background-size .35s var(--ease-out)}.footer-col a:hover{color:var(--fg);background-size:100% 1px}.footer-bottom{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;border-top:1px solid var(--rule-soft);padding-block:20px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--fg-muted)}@media(max-width:820px){.footer-grid{grid-template-columns:1fr 1fr}}@media(max-width:520px){.footer-grid{grid-template-columns:1fr}}.tag,.skill{transition:background-color .25s var(--ease-out),color .25s var(--ease-out),border-color .25s var(--ease-out),transform .25s var(--ease-out)}.tag:hover{color:var(--fg);border-color:color-mix(in oklch,var(--fg) 40%,transparent)}.skill:hover{transform:translateY(-2px);border-color:color-mix(in oklch,var(--fg) 40%,transparent)}.t-row,.proj-row{transition:background-color .35s var(--ease-out)}.t-row:hover,.proj-row:hover{background-color:color-mix(in oklch,var(--fg) 3%,transparent)}.t-row .t-metric{transition:background-color .25s var(--ease-out),color .25s var(--ease-out)}.t-row:hover .t-metric{background:var(--fg);color:var(--bg);border-color:var(--fg)}.beyond-card{transition:transform .35s var(--ease-out),border-color .35s var(--ease-out),box-shadow .35s var(--ease-out)}.beyond-card:hover{transform:translateY(-3px);border-color:color-mix(in oklch,var(--fg) 32%,transparent);box-shadow:0 14px 36px color-mix(in oklch,var(--fg) 9%,transparent)}.result-card,.gloss{transition:background-color .35s var(--ease-out)}.result-card:hover,.gloss:hover{background:color-mix(in oklch,var(--fg) 4%,var(--bg))}.result-bar span{transform-origin:left;transform:scaleX(0);transition:transform .9s var(--ease-out) .15s}[data-reveal].is-visible .result-bar span,.is-visible .result-bar span{transform:scaleX(1)}.gauge span,.gap-bar span{transform-origin:left;transform:scaleX(0);transition:transform .9s var(--ease-out) .12s}.is-visible .gauge span,.is-visible .gap-bar span,[data-reveal].is-visible .gauge span{transform:scaleX(1)}.card-cta .arrow,.proj-go span:last-child{display:inline-block;transition:transform .25s var(--ease-out)}.card-cta:hover .arrow,.proj-go:hover span:last-child{transform:translate(4px)}@keyframes dotBreathe{0%,to{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(.85)}}.dots i,.chrome-dot{animation:dotBreathe 3.2s ease-in-out infinite}.dots i:nth-child(2),.chrome-dot:nth-child(2){animation-delay:.5s}.dots i:nth-child(3),.chrome-dot:nth-child(3){animation-delay:1s}.section-num:before{transform-origin:left;transform:scaleX(0);transition:transform .7s var(--ease-out) .2s}.is-visible .section-num:before,[data-reveal].is-visible .section-num:before{transform:scaleX(1)}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}[data-reveal]{opacity:1;transform:none;filter:none;transition:none}.result-bar span,.gauge span,.gap-bar span,.section-num:before{transform:scaleX(1);transition:none}body:before,body:after{animation:none}@view-transition{navigation:none}}
