@font-face{font-family:archivo;src:url(../media/archivo_latin_wght_normal-s.p.1_q0qa17ptz5n.woff2?dpl=dpl_B37nkCPuYTRsxry7hgk9dZXQ9tge)format("woff2");font-display:swap;font-weight:100 900;font-style:normal}@font-face{font-family:archivo Fallback;src:local(Arial);ascent-override:85.41%;descent-override:20.43%;line-gap-override:0.0%;size-adjust:102.8%}.archivo_cfe8ffa4-module__Xgp92W__className{font-family:archivo,archivo Fallback,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;font-style:normal}.archivo_cfe8ffa4-module__Xgp92W__variable{--font-archivo:"archivo", "archivo Fallback", ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif}
:root{--obsidian:#0b0b0d;--bone:#dcdad5;--bg:#0b0b0d;--surface:#141417;--surface-2:#1d1d21;--ink:#edece8;--ink-2:#c9c8c4;--ink-mut:#86868d;--line:#26262b;--line-2:#3b3b42;--accent:#dcdad5;--on-accent:#0b0b0d;--chip-ink:#9a9aa1;--warm:#fff0dc;--cool:#d3e4ff;--radius:18px;--radius-sm:12px;--radius-pill:999px;--shadow:0 1px 2px #00000059, 0 18px 40px -22px #000c;--shadow-lift:0 2px 4px #0000004d, 0 28px 60px -26px #000000e6;--glass:color-mix(in srgb, var(--surface) 55%, transparent);--glass-strong:color-mix(in srgb, var(--surface) 78%, transparent);--glass-blur:blur(22px) saturate(165%);--edge-top:#ffffff17;--edge-bottom:#00000047;--glass-ring:#ffffff0f;--bloom:#dcdad512;--bloom-2:#dcdad50b;--glow:0 0 44px -12px #dcdad51a;--ease-glass:.46s cubic-bezier(.22, 1, .36, 1);--font-display:var(--font-archivo), ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;--font-body:var(--font-archivo), ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;--font-mono:ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, monospace;--snap:90ms steps(4, end);--ease:.16s cubic-bezier(.2, 0, 0, 1);--t-hero:clamp(2.55rem, 6.1vw, 4.875rem);--t-h2:clamp(1.8rem, 3.4vw, 2.72rem);--t-h3:clamp(1.25rem, 2.1vw, 1.7rem);--t-title:clamp(1.2rem, 1.8vw, 1.45rem);--t-deck:clamp(1.25rem, 1.65vw, 1.32rem);--t-body:1.0625rem;--t-mono:.75rem;--t-mono-xs:.6875rem;--rail:1180px;--bay:clamp(3.5rem, 8vh, 6.5rem);--gutter:clamp(1.25rem, 5vw, 4.5rem);--edge-inset:clamp(.75rem, 3vw, 1.25rem);--row-pad:min(clamp(1.1rem, 2.4vw, 1.75rem), calc(var(--gutter) - var(--edge-inset)));--card-pad-min:1.15rem;--header-h:3.75rem}@media (prefers-color-scheme:light){:root:not([data-theme=dark]){--bg:#f4f3f0;--surface:#fff;--surface-2:#e9e7e2;--ink:#0b0b0d;--ink-2:#33333a;--ink-mut:#6a6a72;--line:#dfddd7;--line-2:#c3c0b9;--accent:#0b0b0d;--on-accent:#f4f3f0;--chip-ink:#5a5a61;--warm:#6b4a1c;--cool:#163a6b;--edge-top:#ffffffd9;--edge-bottom:#28201812;--glass-ring:#fff9;--bloom:#ffffffd9;--bloom-2:#28201809;--glow:0 0 44px -14px #2820182e;--shadow:0 1px 2px #2820180f, 0 18px 40px -24px #28201857;--shadow-lift:0 2px 6px #28201814, 0 28px 60px -28px #2820186b}}:root[data-theme=light]{--bg:#f4f3f0;--surface:#fff;--surface-2:#e9e7e2;--ink:#0b0b0d;--ink-2:#33333a;--ink-mut:#6a6a72;--line:#dfddd7;--line-2:#c3c0b9;--accent:#0b0b0d;--on-accent:#f4f3f0;--chip-ink:#5a5a61;--warm:#6b4a1c;--cool:#163a6b;--edge-top:#ffffffd9;--edge-bottom:#28201812;--glass-ring:#fff9;--bloom:#ffffffd9;--bloom-2:#28201809;--glow:0 0 44px -14px #2820182e;--shadow:0 1px 2px #2820180f, 0 18px 40px -24px #28201857;--shadow-lift:0 2px 6px #28201814, 0 28px 60px -28px #2820186b}:root[data-theme=dark]{--bg:#0b0b0d;--surface:#141417;--surface-2:#1d1d21;--ink:#edece8;--ink-2:#c9c8c4;--ink-mut:#86868d;--line:#26262b;--line-2:#3b3b42;--accent:#dcdad5;--on-accent:#0b0b0d;--chip-ink:#9a9aa1;--warm:#fff0dc;--cool:#d3e4ff;--edge-top:#ffffff17;--edge-bottom:#00000047;--glass-ring:#ffffff0f;--bloom:#dcdad512;--bloom-2:#dcdad50b;--glow:0 0 44px -12px #dcdad51a;--shadow:0 1px 2px #00000059, 0 18px 40px -22px #000c;--shadow-lift:0 2px 4px #0000004d, 0 28px 60px -26px #000000e6}.theme-swap,.theme-swap *,.theme-swap :before,.theme-swap :after{transition:none!important}@media (forced-colors:active){body:before{display:none}.glass,.header,.row,.row:hover,.btn-ghost,.theme-toggle,.tag{-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none;background:canvas}.row:before,body:after{display:none}[data-glow]{color:canvastext;background-image:none}.contact{forced-color-adjust:none;color:canvastext;background:canvas}.contact .btn-solid{color:buttonface;background:buttontext}.wordmark svg,.status svg,.caret{forced-color-adjust:auto;fill:canvastext}.caret{background:canvastext}.progress{background:highlight}.rows,.row,.header,.site-footer,.footer-bar,.tag{border-color:canvastext}.nav-link[aria-current]{border-bottom-color:highlight}}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 1.75rem)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:var(--t-body);-webkit-font-smoothing:antialiased;margin:0;line-height:1.55;overflow-x:hidden}body:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(42vmax 42vmax at 18% 8%, in oklab, var(--bloom) 0%, transparent 62%), radial-gradient(38vmax 38vmax at 88% 32%, in oklab, var(--bloom-2) 0%, transparent 60%), radial-gradient(46vmax 46vmax at 62% 92%, in oklab, var(--bloom-2) 0%, transparent 64%);position:fixed;inset:-20vmax}body:after{content:"";z-index:-1;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-repeat:repeat;position:fixed;inset:0}@media (prefers-color-scheme:light){:root:not([data-theme=dark]) body:after{opacity:.028}}:root[data-theme=light] body:after{opacity:.028}.glass{background:var(--glass);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);box-shadow:inset 0 1px 0 var(--edge-top), inset 0 -1px 0 var(--edge-bottom), inset 0 0 0 1px var(--glass-ring), var(--shadow);border:1px solid #0000}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.glass{background:var(--surface)}}.mono,.eyebrow,.tag,.status,.btn,.nav-link,.wordmark,code,th,td,button{font-variant-ligatures:none;-webkit-font-variant-ligatures:none;font-feature-settings:"liga" 0, "clig" 0, "calt" 0}.mono,td,th,.num,.meta{font-variant-numeric:tabular-nums}p{text-wrap:pretty}.wide{width:100%;max-width:var(--rail);padding-inline:var(--gutter);margin-inline:auto}.bay{padding-block:var(--bay)}a{color:inherit;text-underline-offset:3px}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}::selection{background:var(--accent);color:var(--on-accent)}.contact ::selection{background:var(--on-accent);color:var(--accent)}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.042em;text-wrap:balance;margin:0;font-weight:760;line-height:1.03}.eyebrow{font-family:var(--font-mono);font-size:var(--t-mono);letter-spacing:.19em;text-transform:uppercase;color:var(--ink-mut);margin:0}.eyebrow-cycle{display:grid}.eyebrow-cycle>*{grid-area:1/1}.eyebrow-cycle .sizer{visibility:hidden;pointer-events:none}.eyebrow .idx{color:var(--accent);margin-right:.7rem}.contact .eyebrow .idx{color:var(--on-accent)}.sect-h{font-size:var(--t-h2);letter-spacing:-.045em;margin-block:.7rem 0}.sect-deck{color:var(--ink-2);font-size:var(--t-deck);max-width:46ch;margin-block:1rem 0;line-height:1.5}.sect-head{margin-bottom:clamp(1.75rem,4vh,2.75rem)}.top-fade{height:calc(env(safe-area-inset-top,0px) + var(--header-h) + 3.25rem);z-index:30;pointer-events:none;background:linear-gradient(to bottom, var(--bg) 0%, var(--bg) 52%, color-mix(in oklab, var(--bg) 55%, transparent) 76%, transparent 100%);position:fixed;inset:0 0 auto}@media (forced-colors:active){.top-fade{display:none}}.progress{display:none}@supports (animation-timeline:scroll()){@media (prefers-reduced-motion:no-preference){.progress{z-index:60;background:var(--accent);transform-origin:0;height:2px;animation-name:progress-grow;animation-duration:auto;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:scroll(root);display:block;position:fixed;inset:0 0 auto;transform:scaleX(0)}@keyframes progress-grow{to{transform:scaleX(1)}}}}.header{z-index:40;width:min(100% - 2*clamp(.75rem,3vw,1.5rem),62rem);height:var(--header-h);border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--glass-strong);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);box-shadow:inset 0 1px 0 var(--edge-top), inset 0 -1px 0 var(--edge-bottom), inset 0 0 0 1px var(--glass-ring), var(--shadow);position:fixed;top:clamp(.6rem,1.6vh,1.1rem);left:50%;transform:translate(-50%);container:dock/inline-size}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.header{background:var(--surface)}}.header-in{justify-content:space-between;align-items:center;gap:1rem;max-width:none;height:100%;padding-inline:1.15rem;display:flex}@media (max-width:560px){.header-in{padding-inline:.9rem}}.wordmark{font-family:var(--font-mono);font-size:var(--t-mono);letter-spacing:.12em;text-transform:lowercase;color:var(--ink);align-items:center;gap:.6rem;text-decoration:none;display:inline-flex}.wordmark .mark{border-radius:var(--radius-pill);background:color-mix(in srgb, var(--surface-2) 80%, transparent);width:32px;height:32px;box-shadow:inset 0 1px 0 var(--edge-top);flex:none;place-items:center;display:grid}.wordmark svg{color:var(--accent);flex:none}.nav{align-items:center;gap:.15rem;display:flex}.nav .theme-toggle{margin-left:.5rem}.nav-link{font-family:var(--font-mono);font-size:var(--t-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-mut);border-radius:var(--radius-pill);min-height:32px;transition:color var(--ease), background var(--ease);align-items:center;padding:.5rem .7rem;text-decoration:none;display:inline-flex}.nav-link:hover{color:var(--ink);background:var(--surface-2)}.nav-link[aria-current]{color:var(--ink);background:color-mix(in srgb, var(--surface-2) 90%, transparent);box-shadow:inset 0 1px 0 var(--edge-top)}.nav-wrap{align-items:center;display:flex}.nav-trigger{border-radius:var(--radius-pill);background:color-mix(in srgb, var(--surface-2) 80%, transparent);width:32px;height:32px;box-shadow:inset 0 1px 0 var(--edge-top);color:var(--ink-2);cursor:pointer;transition:color var(--ease), border-color var(--ease);border:1px solid #0000;place-items:center;display:none}.nav-trigger:hover{color:var(--ink);border-color:var(--line-2)}.bars{gap:4px;width:14px;display:grid}.bars i{width:100%;height:1.5px;transition:transform var(--ease), opacity var(--ease);background:currentColor;border-radius:2px;display:block}.bars[data-open] i:first-child{transform:translateY(2.75px)rotate(45deg)}.bars[data-open] i:last-child{transform:translateY(-2.75px)rotate(-45deg)}@media (prefers-reduced-motion:reduce){.bars i{transition:none}}.nav-panel{display:none}.nav-panel[data-open]{border:1px solid var(--line);border-radius:var(--radius);background:color-mix(in srgb, var(--surface) 97%, transparent);min-width:12.5rem;-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);box-shadow:inset 0 1px 0 var(--edge-top), inset 0 0 0 1px var(--glass-ring), var(--shadow-lift);gap:.15rem;padding:.5rem;display:grid;position:absolute;top:calc(100% + .7rem);right:.9rem}.nav-panel-link{font-family:var(--font-mono);font-size:var(--t-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2);border-radius:var(--radius-sm);align-items:center;min-height:44px;padding:.7rem .8rem;text-decoration:none;display:flex}.nav-panel-link:hover{color:var(--ink);background:var(--surface-2)}.nav-panel-foot{border-top:1px solid var(--line);justify-content:flex-start;margin-top:.25rem;padding:.45rem .4rem .15rem;display:flex}@container dock (max-width:500px){.nav{display:none}.nav-trigger{display:grid}}@container dock (min-width:500.01px){.nav-panel,.nav-panel[data-open]{display:none}}@supports not (container-type:inline-size){@media (max-width:548px){.nav{display:none}.nav-trigger{display:grid}}@media (min-width:549px){.nav-panel,.nav-panel[data-open]{display:none}}}.btn{font-family:var(--font-mono);font-size:var(--t-mono);letter-spacing:.13em;text-transform:uppercase;cursor:pointer;border:1px solid var(--accent);border-radius:var(--radius-pill);min-height:44px;transition:background var(--ease), color var(--ease), border-color var(--ease), box-shadow var(--ease), transform var(--ease);align-items:center;padding:.85rem 1.5rem;text-decoration:none;display:inline-flex}.btn:hover{box-shadow:var(--glow);transform:translateY(-1px)}@media (prefers-reduced-motion:reduce){.btn:hover{transform:none}}.btn-solid{background:var(--accent);color:var(--on-accent)}.btn-solid:hover{color:var(--ink);background:0 0}.btn-ghost{color:var(--ink);border-color:var(--line-2);background:color-mix(in srgb, var(--surface) 45%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:inset 0 1px 0 var(--edge-top)}.btn-ghost:hover{border-color:var(--accent);background:color-mix(in srgb, var(--surface) 70%, transparent);box-shadow:inset 0 1px 0 var(--edge-top), var(--glow)}.hero{min-height:100svh;padding-block:calc(var(--header-h) + clamp(3rem, 8vh, 5rem)) clamp(3.5rem, 9vh, 6rem);grid-template-columns:minmax(0,1fr);place-content:center normal;display:grid}.hero h1{font-size:var(--t-hero);letter-spacing:-.055em;margin-block:1.15rem 0}.hero h1 span{display:block}.hero h1 span+span{color:var(--ink-mut)}.hero-deck{color:var(--ink-2);font-size:var(--t-deck);max-width:50ch;margin-block:1.5rem 0;line-height:1.5}.hero-actions{flex-wrap:wrap;gap:.6rem;margin-top:2rem;display:flex}.hero-roles{font-family:var(--font-mono);font-size:var(--t-mono);color:var(--ink-mut);flex-wrap:wrap;gap:.45rem 1.75rem;margin-top:clamp(2.25rem,6vh,3.5rem);padding-top:1.2rem;display:flex}.hero-roles b{color:var(--ink-2);font-weight:400}.hero-roles a{color:var(--ink-2);border-bottom:1px solid var(--line-2);text-decoration:none}.hero-roles a:hover{color:var(--ink);border-color:var(--accent)}.rows{margin-inline:calc(-1 * var(--row-pad));flex-direction:column;gap:.6rem;display:flex}.row{isolation:isolate;padding:clamp(1.25rem, 2.2vw, 1.85rem) max(calc(var(--row-pad) - 1px), var(--card-pad-min));border-radius:var(--radius);color:inherit;background:color-mix(in srgb, var(--surface) 22%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--glass-ring) 45%, transparent);transition:background var(--ease-glass), box-shadow var(--ease-glass), transform var(--ease-glass), backdrop-filter var(--ease-glass);border:1px solid #0000;gap:.75rem clamp(1rem,2.5vw,2rem);text-decoration:none;display:grid;position:relative}.row:before{content:"";z-index:-1;border-radius:inherit;opacity:0;background:radial-gradient(60% 130% at 12% -10%, var(--edge-top) 0%, transparent 60%);transition:opacity var(--ease-glass);position:absolute;inset:0}.row:hover{background:var(--glass);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);box-shadow:inset 0 1px 0 var(--edge-top), inset 0 -1px 0 var(--edge-bottom), inset 0 0 0 1px var(--glass-ring), var(--shadow), var(--glow);transform:translateY(-3px)}.row:hover:before{opacity:1}@media (prefers-reduced-motion:reduce){.row,.row:before{transition:none}.row:hover{transform:none}}.row .num{font-family:var(--font-mono);font-size:var(--t-mono);color:var(--ink-mut);line-height:1.35}.row h3{font-size:var(--t-h3);letter-spacing:-.032em;text-wrap:pretty;line-height:1.14}.row .arrow,.more .arrow{vertical-align:baseline;color:var(--ink-mut);transition:transform var(--snap), color var(--ease);display:inline-block}.row:hover .arrow,.more:hover .arrow{color:var(--accent);transform:translate(2px,-2px)}@media (prefers-reduced-motion:reduce){.row:hover .arrow,.more:hover .arrow{transform:none}}.row p{color:var(--ink-2);max-width:58ch;margin-block:.55rem 0}.row-work{grid-template-columns:7rem minmax(0,1fr)}.row-meta{flex-direction:column;gap:.5rem;display:flex}.tags{flex-wrap:wrap;gap:.35rem;margin-top:.8rem;display:flex}.tag{font-family:var(--font-mono);font-size:var(--t-mono-xs);letter-spacing:.05em;color:var(--chip-ink);background:var(--surface-2);border-radius:var(--radius-pill);box-shadow:inset 0 1px 0 var(--edge-top);padding:.26rem .66rem}.status{font-family:var(--font-mono);font-size:var(--t-mono-xs);letter-spacing:.11em;text-transform:uppercase;color:var(--ink-mut);white-space:nowrap;align-items:center;gap:.42rem;display:inline-flex}.status svg{color:var(--accent);transform-origin:50%;flex:none}@media (prefers-reduced-motion:no-preference){.status[data-kind=open] svg{animation:22s linear infinite star-turn}.status[data-kind=running] svg{animation:6s steps(8,end) infinite star-turn}.status[data-kind=live] svg{animation:2.4s ease-in-out infinite star-live}}@keyframes star-turn{to{transform:rotate(360deg)}}@keyframes star-live{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.72)}}.row-post{grid-template-columns:7rem minmax(0,1fr) auto;align-items:baseline;padding-block:1.05rem}.row-post h3{font-size:var(--t-title);letter-spacing:-.022em;font-weight:700}.row-post .meta{font-family:var(--font-mono);font-size:var(--t-mono);color:var(--ink-mut);letter-spacing:.04em;white-space:nowrap}.more{font-family:var(--font-mono);font-size:var(--t-mono);letter-spacing:.1em;color:var(--ink);border-bottom:1px solid var(--accent);margin-top:1.4rem;padding-bottom:.2rem;text-decoration:none;display:inline-block}@media (max-width:760px){.row-post{grid-template-columns:2.5rem minmax(0,1fr)}.row-post .meta{grid-column:2}.row-work{grid-template-columns:minmax(0,1fr)}.row-work .row-meta{flex-flow:wrap;align-items:center;gap:.75rem}}.contact{background:var(--accent);color:var(--on-accent);border-radius:var(--radius);box-shadow:inset 0 1px 0 #ffffff1a, inset 0 -1px 0 #0000001f, var(--shadow-lift);margin-inline:calc(-1 * var(--row-pad));padding-block:clamp(3rem,8vh,5.5rem);padding-inline:max(calc(var(--row-pad) + clamp(.5rem, 2.5vw, 2rem)), calc(var(--card-pad-min) + .35rem))}.contact .eyebrow{color:color-mix(in srgb, var(--on-accent) 62%, transparent)}.contact h2{font-size:var(--t-h2);letter-spacing:-.05em;margin-block:.7rem 0}.contact p:not(.eyebrow){color:color-mix(in srgb, var(--on-accent) 80%, transparent);max-width:46ch;font-size:var(--t-deck);margin-block:1rem 0;line-height:1.5}.contact-actions{flex-wrap:wrap;gap:.6rem;margin-top:2rem;display:flex}.contact .btn{border-color:var(--on-accent)}.contact .btn-solid{background:var(--on-accent);color:var(--accent)}.contact .btn-solid:hover{color:var(--on-accent);background:0 0}.contact .btn-ghost{color:var(--on-accent);border-color:color-mix(in srgb, var(--on-accent) 45%, transparent);background:color-mix(in srgb, var(--on-accent) 8%, transparent);box-shadow:none}.contact .btn-ghost:hover{border-color:var(--on-accent);background:color-mix(in srgb, var(--on-accent) 15%, transparent);box-shadow:none}.site-footer{padding-top:clamp(1rem,3vh,2rem)}.footer-in{flex-wrap:wrap;justify-content:space-between;gap:2rem clamp(1rem,4vw,3rem);padding-block:clamp(2.5rem,6vh,4rem);display:flex}.footer-sign{font-family:var(--font-display);letter-spacing:-.04em;max-width:16ch;font-size:clamp(1.2rem,2.2vw,1.7rem);font-weight:760}.footer-links{flex-wrap:wrap;align-items:center;gap:.6rem 1.1rem;display:flex}.footer-links a{font-family:var(--font-mono);font-size:var(--t-mono);color:var(--ink-mut);border-bottom:1px solid #0000;text-decoration:none}.footer-links a:hover{color:var(--ink);border-bottom-color:var(--accent)}.footer-links .icon-link{border-bottom:0;padding:.3rem;display:inline-flex}.footer-links .icon-link:hover{color:var(--ink);border-bottom:0}.footer-links .icon-link svg{display:block}.footer-bar{font-family:var(--font-mono);font-size:var(--t-mono);color:var(--ink-mut);flex-wrap:wrap;justify-content:space-between;gap:.75rem;padding-block:1.25rem;display:flex}.footer-bar .build{font-variant-numeric:tabular-nums;letter-spacing:.04em}.theme-toggle{background:color-mix(in srgb, var(--surface-2) 80%, transparent);border-radius:var(--radius-pill);width:32px;height:32px;box-shadow:inset 0 1px 0 var(--edge-top);color:var(--ink-2);cursor:pointer;font-family:var(--font-mono);font-size:var(--t-mono);transition:color var(--ease), border-color var(--ease), background var(--ease);border:1px solid #0000;place-items:center;line-height:1;display:grid}.theme-toggle:hover{color:var(--ink);border-color:var(--line-2)}@media (pointer:coarse){.footer-links .icon-link{padding:.8rem}.footer-links a{padding-block:.5rem}.hero-roles a{padding-block:.4rem}.more{padding-block:.35rem}.row-post{padding-block:1.3rem}.nav-link{min-height:44px}.theme-toggle,.nav-trigger{width:44px;height:44px}.wordmark .mark{width:38px;height:38px}}@media (hover:none){.row{background:color-mix(in srgb, var(--surface) 55%, transparent);box-shadow:inset 0 1px 0 var(--edge-top), inset 0 0 0 1px var(--glass-ring), var(--shadow)}.row:active{background:var(--glass);transform:scale(.995)}.btn:active{transform:scale(.97)}.row .arrow{color:var(--accent)}}a,button{-webkit-tap-highlight-color:transparent}.header{top:max(clamp(.6rem, 1.6vh, 1.1rem), env(safe-area-inset-top))}.site-footer{padding-bottom:env(safe-area-inset-bottom)}.wide{padding-inline:max(var(--gutter), env(safe-area-inset-left))}@media (max-height:620px){.hero{min-height:auto;padding-block:calc(var(--header-h) + 2.5rem) 3rem}}@media (prefers-reduced-motion:no-preference){.js-reveal [data-reveal]{opacity:0;will-change:opacity, transform;transform:translateY(22px)}.js-reveal [data-reveal].is-in{opacity:1;transition:opacity .62s cubic-bezier(.16, 1, .3, 1) calc(var(--i,0) * 70ms), transform .62s cubic-bezier(.16, 1, .3, 1) calc(var(--i,0) * 70ms);will-change:auto;transform:none}}@supports ((-webkit-background-clip:text) or (background-clip:text)){@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){[data-glow]{--gx:50%;--gy:-100%;--ga:0;--glow-base:var(--ink);background-image:radial-gradient(34ch 16ch at var(--gx) var(--gy), color-mix(in oklab, var(--warm) calc(var(--ga) * 92%), var(--glow-base)) 0%, color-mix(in oklab, var(--cool) calc(var(--ga) * 70%), var(--glow-base)) 38%, var(--glow-base) 72%);color:#0000;-webkit-background-clip:text;background-clip:text}.hero h1 span+span{color:#0000;--glow-base:var(--ink-mut)}.contact [data-glow]{--glow-base:var(--on-accent)}}}.caret{vertical-align:-.14em;background:var(--accent);width:.5em;height:1em;margin-left:.28em;display:inline-block}
