@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0;mix-blend-mode:plus-lighter}to{opacity:1;mix-blend-mode:plus-lighter}}@keyframes astroFadeOut{0%{opacity:1;mix-blend-mode:plus-lighter}to{opacity:0;mix-blend-mode:plus-lighter}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media (prefers-reduced-motion){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*),[data-astro-transition-scope]{animation:none!important}}.astro-route-announcer{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}:root{color-scheme:light;--bg:#fbfaf7;--bg-elevated:#fff;--bg-sunken:#f4f2ec;--text:#14131a;--text-muted:#57565f;--text-faint:#6b6a73;--accent:#8a5a22;--border:#e7e3db;--border-strong:#d5d0c5;--glow:138, 90, 34;--scrim:#fbfaf7b8;--portrait-blend:multiply;--portrait-filter:none;--portrait-opacity:.94;--portrait-mask:radial-gradient(circle closest-side at 50% 50%, #000 62%, transparent 97%);--shadow-sm:0 1px 2px #14131a0d, 0 1px 3px #14131a0a;--shadow-md:0 2px 4px #14131a0a, 0 12px 28px -12px #14131a29;--shadow-lg:0 4px 8px #14131a0d, 0 24px 48px -16px #14131a38;--font-sans:var(--font-inter,"Inter"), system-ui, -apple-system, "Segoe UI", Helvetica, Arial, sans-serif;--font-serif:var(--font-fraunces,"Fraunces"), "Iowan Old Style", "Palatino Linotype", Georgia, serif;--text-xs:.75rem;--text-sm:.875rem;--text-base:clamp(1rem, .97rem + .15vw, 1.0625rem);--text-md:clamp(1.0625rem, 1rem + .3vw, 1.1875rem);--text-lg:clamp(1.25rem, 1.14rem + .55vw, 1.5rem);--text-xl:clamp(1.5rem, 1.3rem + 1vw, 2.125rem);--text-2xl:clamp(2rem, 1.5rem + 2.4vw, 3.25rem);--text-3xl:clamp(2.5rem, 1.6rem + 4.2vw, 5rem);--max-width:68rem;--measure:36rem;--space-1:.5rem;--space-2:1rem;--space-3:1.5rem;--space-4:2.5rem;--space-5:4rem;--space-6:6rem;--space-7:8.5rem;--radius-sm:8px;--radius:14px;--radius-lg:20px;--ease:cubic-bezier(.16, 1, .3, 1);--ease-smooth:cubic-bezier(.4, 0, .2, 1);--ease-spring:cubic-bezier(.34, 1.4, .64, 1);--dur:.26s;--dur-slow:.52s;--header-height:4rem}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bg:#0d0c0d;--bg-elevated:#171618;--bg-sunken:#090809;--text:#f4f2ee;--text-muted:#a6a3a0;--text-faint:#8a878e;--accent:#dcb063;--border:#262428;--border-strong:#38353a;--glow:220, 176, 99;--scrim:#0d0c0db8;--shadow-sm:0 1px 2px #0006;--shadow-md:0 2px 4px #0000004d, 0 12px 28px -12px #000000b3;--shadow-lg:0 4px 8px #00000059, 0 24px 48px -16px #000c;--portrait-blend:normal;--portrait-filter:brightness(.82) contrast(1.05);--portrait-opacity:.74;--portrait-mask:radial-gradient(circle closest-side at 50% 50%, #000 54%, transparent 95%)}}:root[data-theme=dark]{color-scheme:dark;--bg:#0d0c0d;--bg-elevated:#171618;--bg-sunken:#090809;--text:#f4f2ee;--text-muted:#a6a3a0;--text-faint:#8a878e;--accent:#dcb063;--border:#262428;--border-strong:#38353a;--glow:220, 176, 99;--scrim:#0d0c0db8;--shadow-sm:0 1px 2px #0006;--shadow-md:0 2px 4px #0000004d, 0 12px 28px -12px #000000b3;--shadow-lg:0 4px 8px #00000059, 0 24px 48px -16px #000c;--portrait-blend:normal;--portrait-filter:brightness(.82) contrast(1.05);--portrait-opacity:.74;--portrait-mask:radial-gradient(circle closest-side at 50% 50%, #000 54%, transparent 95%)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height) + var(--space-3));-webkit-text-size-adjust:100%}::selection{background:rgba(var(--glow), .22);color:var(--text)}body{background:var(--bg);min-height:100vh;color:var(--text);font-family:var(--font-sans);font-size:var(--text-base);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;letter-spacing:-.006em;margin:0;line-height:1.6;position:relative}img{max-width:100%;display:block}a{color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:3px}.button,.card,.theme-toggle,.site-nav a,.site-header__brand,.contact-list a{-webkit-tap-highlight-color:transparent}.site-nav a:active,.site-header__brand:active{opacity:.6;transition-duration:60ms}.skip-link{left:var(--space-3);top:var(--space-3);z-index:10;background:var(--text);color:var(--bg);transition:transform .2s var(--ease);border-radius:8px;padding:.6em 1em;font-size:.9rem;text-decoration:none;position:absolute;transform:translateY(-200%)}.skip-link:focus-visible{transform:translateY(0)}p a,.now-list a,.interests a{color:var(--accent);border-bottom:1px solid rgba(var(--glow), .3);transition:border-color .2s var(--ease);text-decoration:none}p a:hover,.now-list a:hover,.interests a:hover{border-bottom-color:var(--accent)}.wrap{max-width:var(--max-width);padding:0 var(--space-3);margin:0 auto;position:relative}@media (width>=48rem){.wrap{padding:0 var(--space-4)}}.site-header{z-index:50;transition:background var(--dur) var(--ease-smooth), backdrop-filter var(--dur) var(--ease-smooth), border-color var(--dur) var(--ease-smooth);background:0 0;border-bottom:1px solid #0000;position:sticky;top:0}.site-header[data-scrolled]{background:var(--scrim);-webkit-backdrop-filter:saturate(180%)blur(20px);border-bottom-color:var(--border)}.site-header:after{content:"";background:var(--accent);height:2px;transform:scaleX(var(--progress,0));transform-origin:0;opacity:0;transition:opacity var(--dur) var(--ease-smooth);position:absolute;bottom:-1px;left:0;right:0}.site-header[data-scrolled]:after{opacity:1}.site-header .wrap{justify-content:space-between;align-items:center;gap:var(--space-2);height:var(--header-height);display:flex}.site-header__brand{border:1px solid var(--border);width:2.25rem;height:2.25rem;font-family:var(--font-serif);transition:border-color .25s var(--ease), color .25s var(--ease), transform .25s var(--ease);border-radius:999px;justify-content:center;align-items:center;font-size:.9rem;font-weight:600;text-decoration:none;display:inline-flex;position:relative}.site-header__brand:hover{border-color:var(--accent);color:var(--accent);transform:scale(1.06)}.site-header__end{align-items:center;gap:var(--space-3);display:flex}.site-nav{gap:var(--space-3);margin:0;padding:0;list-style:none;display:flex}.theme-toggle{border:1px solid var(--border);width:2.25rem;height:2.25rem;color:var(--text-muted);cursor:pointer;transition:border-color var(--dur) var(--ease-smooth), color var(--dur) var(--ease-smooth), background-color var(--dur) var(--ease-smooth), transform var(--dur) var(--ease-spring);background:0 0;border-radius:999px;justify-content:center;align-items:center;padding:0;display:inline-flex;position:relative}.theme-toggle:hover{border-color:var(--border-strong);background:var(--bg-elevated);color:var(--text);transform:scale(1.05)}.theme-toggle:active{transition-duration:80ms;transform:scale(.94)}.theme-toggle__icon{width:1.05rem;height:1.05rem;transition:transform var(--dur-slow) var(--ease-spring)}.theme-toggle:hover .theme-toggle__icon{transform:rotate(18deg)}.theme-toggle__sun{display:none}:root[data-theme=dark] .theme-toggle__sun{display:block}:root[data-theme=dark] .theme-toggle__moon{display:none}.site-nav a{color:var(--text-muted);letter-spacing:.01em;transition:color .2s var(--ease);padding:.5em 0;font-size:.9rem;text-decoration:none;display:inline-block;position:relative}.site-nav a:before{content:"";transform-origin:100%;height:1px;transition:transform .3s var(--ease);background:currentColor;position:absolute;bottom:.42em;left:0;right:0;transform:scaleX(0)}.site-nav a:hover:before{transform-origin:0;transform:scaleX(1)}@media (prefers-reduced-motion:reduce){.site-nav a:before{transition:none}}@media (width<=26rem){.site-nav{gap:var(--space-2)}.site-header .wrap{gap:var(--space-1)}.site-header__end{gap:var(--space-2)}.site-nav a{font-size:var(--text-sm)}}@media (width<=24.5rem){.site-header .wrap{padding-inline:.75rem}.site-nav,.site-header__end{gap:.5rem}.site-nav a{font-size:var(--text-xs)}.site-header__brand{width:1.85rem;height:1.85rem;font-size:.75rem}.theme-toggle{width:1.85rem;height:1.85rem}.theme-toggle__icon{width:.9rem;height:.9rem}}@media (hover:none){.site-nav a{padding:.8em 0}.site-header__brand:after,.theme-toggle:after{content:"";width:44px;height:44px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}}.site-nav a:hover,.site-nav a[aria-current=page]{color:var(--text)}.site-nav__marker{background:var(--accent);view-transition-name:nav-marker;border-radius:999px;height:2px;position:absolute;bottom:.1em;left:0;right:0}::view-transition-group(nav-marker){animation-duration:.42s;animation-timing-function:var(--ease)}main{min-height:60vh;padding:var(--space-5) 0 var(--space-7);position:relative}h1,h2,h3{font-family:var(--font-serif);letter-spacing:-.02em;color:var(--text);text-wrap:balance;font-weight:500;line-height:1.1}h1{font-size:var(--text-2xl);letter-spacing:-.028em;margin:0 0 var(--space-3)}h2{font-size:var(--text-xl);margin:0 0 var(--space-2)}h3{font-size:var(--text-md);letter-spacing:-.012em;margin:0 0 .3em;line-height:1.3}p{color:var(--text-muted);margin:0 0 var(--space-3);max-width:var(--measure);text-wrap:pretty}.kicker{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.13em;color:var(--accent);margin-bottom:var(--space-2);font-weight:600;display:block}.lede{font-size:var(--text-lg);letter-spacing:-.014em;color:var(--text);max-width:34rem;line-height:1.45}.section{margin-top:var(--space-6)}@media (width>=56rem){.section--split{gap:var(--space-5);grid-template-columns:13rem minmax(0,1fr);align-items:start;display:grid}.section--split>h2{top:calc(var(--header-height) + var(--space-3));font-family:var(--font-sans);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.12em;color:var(--text-faint);text-wrap:wrap;margin:0;padding-top:.15em;font-weight:600;position:sticky}}.section__body>:last-child{margin-bottom:0}.headline--display{font-size:var(--text-3xl)}.headline__line{display:block}.headline__word{vertical-align:bottom;margin-bottom:-.15em;padding-bottom:.15em;display:inline-block;overflow:hidden}.headline__word>span{display:inline-block}.js .hero .kicker{animation:enter .6s var(--ease) 60ms both}.js .portrait{animation:portrait-in .9s var(--ease) 40ms both}@keyframes portrait-in{0%{opacity:0;transform:scale(.97)}to{opacity:var(--portrait-opacity);transform:none}}.js .headline__word>span{animation:word-rise .78s var(--ease) both;animation-delay:calc(var(--i) * 48ms + 90ms);transform:translateY(105%)}.js .hero .kicker.reveal-done,.js .headline__word>span.reveal-done{opacity:1;animation:none;transform:none}@keyframes word-rise{0%{filter:blur(5px);transform:translateY(105%)}to{filter:blur();transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.js .headline__word>span{animation:none;transform:none}}.hero{padding-block:var(--space-2) var(--space-5)}.hero__aside{margin-top:var(--space-3)}.js .hero__aside{animation:enter var(--dur-slow) var(--ease) .38s both}.js .hero__aside.reveal-done{opacity:1;animation:none;transform:none}.kicker__time{color:var(--text-faint);font-variant-numeric:tabular-nums;margin-left:.5em;display:inline-block}@media (width>=60rem){.hero{gap:var(--space-6);padding-block:var(--space-4) var(--space-3);grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:center;display:grid}.hero__aside{margin-top:0}.hero h1{margin-bottom:var(--space-3)}.hero__lead>:last-child,.hero__aside>:last-child{margin-bottom:0}.hero--home{min-height:min(62vh,34rem)}}.button{background:var(--text);min-height:2.875rem;color:var(--bg);font-weight:500;font-size:var(--text-sm);letter-spacing:-.005em;white-space:nowrap;box-shadow:var(--shadow-sm);translate:var(--pull-x,0) var(--pull-y,0);transition:transform var(--dur) var(--ease-spring), translate .4s var(--ease), box-shadow var(--dur) var(--ease-smooth), background-color var(--dur) var(--ease-smooth), border-color var(--dur) var(--ease-smooth), color var(--dur) var(--ease-smooth);border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:.45em;padding:.75em 1.5em;text-decoration:none;display:inline-flex;position:relative}.button[data-pulling]{transition-duration:var(--dur), 90ms, var(--dur), var(--dur), var(--dur), var(--dur)}.button:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.button:active{box-shadow:var(--shadow-sm);transition-duration:80ms;transform:translateY(0)scale(.98)}.button__arrow{transition:transform var(--dur) var(--ease-spring);display:inline-block}.button:hover .button__arrow{transform:translate(3px)}main:focus{outline:none}.button--ghost{background:var(--bg-elevated);color:var(--text);border-color:var(--border);box-shadow:none}.button--ghost:hover{border-color:var(--border-strong);box-shadow:var(--shadow-sm)}.button-row{gap:var(--space-2);margin:var(--space-3) 0 0;flex-wrap:wrap;display:flex}.now-list{margin:var(--space-2) 0 0;gap:var(--space-2);padding:0;list-style:none;display:grid}@media (width>=60rem){.now-list{gap:var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr))}}.now-list li{color:var(--text-muted);max-width:var(--measure);padding-left:1.4em;position:relative}.now-list li:before{content:"";background:var(--accent);border-radius:999px;width:6px;height:6px;position:absolute;top:.7em;left:0}.history{margin:var(--space-2) 0 0;flex-direction:column;padding:0;list-style:none;display:flex}.history li{justify-content:space-between;align-items:baseline;gap:var(--space-2);padding:var(--space-2) var(--space-2) var(--space-2) 0;border-bottom:1px solid var(--border);border-radius:var(--radius-sm);transition:background-color var(--dur) var(--ease-smooth), padding-left var(--dur) var(--ease-smooth);display:flex}.history li:hover{background:var(--bg-sunken);padding-left:var(--space-2)}.history li:hover .history__org{color:var(--accent)}.history li:last-child{border-bottom:none}.history__org{color:var(--text);transition:color var(--dur) var(--ease-smooth);font-weight:550}.history__role{color:var(--text-muted);font-size:var(--text-sm);display:block}.history__years{color:var(--text-faint);font-size:var(--text-sm);white-space:nowrap;font-variant-numeric:tabular-nums}.interests{margin:var(--space-3) 0 0;gap:var(--space-3);padding:0;list-style:none;display:grid}@media (width>=48rem){.interests{gap:var(--space-4) var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr))}}.interests li{padding-left:var(--space-3);border-left:1px solid var(--border);transition:border-color var(--dur) var(--ease-smooth)}.interests li:hover{border-color:var(--accent)}.interests li:hover h3{color:var(--accent)}.interests h3{font-size:var(--text-md);transition:color var(--dur) var(--ease-smooth);margin-bottom:.25em}.interests p{margin:0}.pull-quote{font-family:var(--font-serif);font-size:var(--text-lg);color:var(--text);opacity:.85;border-left:2px solid var(--accent);padding-left:var(--space-3);margin:var(--space-4) 0;max-width:34rem;font-style:italic;line-height:1.4}.card-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),1fr));display:grid}.card{isolation:isolate;border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-4);background:var(--bg-elevated);box-shadow:var(--shadow-sm);transition:transform var(--dur) var(--ease-spring), box-shadow var(--dur) var(--ease-smooth), border-color var(--dur) var(--ease-smooth);position:relative}.card:before,.module:before{content:"";z-index:-1;border-radius:inherit;pointer-events:none;opacity:0;background:radial-gradient(16rem circle at var(--mx,50%) var(--my,0%), rgba(var(--glow), .1), transparent 70%);transition:opacity var(--dur-slow) var(--ease-smooth);position:absolute;inset:0}.card:hover:before,.module:hover:before{opacity:1}@media (hover:none){.card:before,.module:before{display:none}}.card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-lg);transform:translateY(-4px)}.card:active{transition-duration:80ms;transform:translateY(-1px)}.card p{max-width:none}.card__title{font-size:var(--text-md);margin-bottom:.35em}.card__links{gap:var(--space-2);margin-top:var(--space-2);font-size:var(--text-sm);display:flex}.card__links a{color:var(--accent);font-weight:500;text-decoration:none}.card__links a:hover{text-underline-offset:3px;text-decoration:underline}.card__arrow{transition:transform var(--dur) var(--ease-spring);display:inline-block}.card:hover .card__arrow,.card__links a:hover .card__arrow{transform:translate(3px)}.tag-list{flex-wrap:wrap;gap:.4em;margin:.7em 0 0;padding:0;list-style:none;display:flex}.tag-list li{font-size:var(--text-xs);color:var(--text-muted);background:var(--bg-sunken);border:1px solid #0000;border-radius:999px;padding:.3em .8em}.contact-list{margin:var(--space-3) 0 0;gap:var(--space-1);flex-direction:column;align-items:flex-start;padding:0;list-style:none;display:flex}.contact-list a{color:var(--text);font-family:var(--font-serif);font-size:var(--text-lg);letter-spacing:-.015em;transition:color var(--dur) var(--ease-smooth);padding:.35em 0;text-decoration:none;display:inline-block;position:relative}.contact-list a:after{content:"";transform-origin:100%;height:1px;transition:transform var(--dur) var(--ease);background:currentColor;position:absolute;bottom:.15em;left:0;right:0;transform:scaleX(0)}.contact-list a:hover{color:var(--accent)}.contact-list a:hover:after{transform-origin:0;transform:scaleX(1)}.site-footer{border-top:1px solid var(--border);padding:var(--space-4) 0;z-index:2;position:relative}.site-footer .wrap{justify-content:space-between;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--text-faint);display:flex}.site-footer__social{gap:var(--space-2);margin:0;padding:0;list-style:none;display:flex}.site-footer__social a{color:var(--text-muted);transition:color .15s var(--ease);text-decoration:none;position:relative}@media (hover:none){.site-footer__social a:after{content:"";position:absolute;inset:-.7rem 0}}.site-footer__social a:hover{color:var(--accent)}.note{font-size:var(--text-xs);color:var(--text-muted);border:1px dashed var(--border);padding:var(--space-2);margin-top:var(--space-4);border-radius:8px}.cursor-glow{pointer-events:none;z-index:0;background:radial-gradient(22rem circle at center, rgba(var(--glow), .07), transparent 70%);width:44rem;height:44rem;transform:translate3d(var(--glow-x,50vw), var(--glow-y,18vh), 0);will-change:transform;margin:-22rem 0 0 -22rem;position:fixed;top:0;left:0}@media (hover:none){.cursor-glow{display:none}}@media (prefers-reduced-motion:reduce){.cursor-glow{display:none}}.js.pre-reveal [data-reveal],.js.pre-reveal .hero .kicker,.js.pre-reveal .hero__aside,.js.pre-reveal .portrait{opacity:0}.js.reveal-ready [data-reveal]{opacity:var(--p,1);transform:translateY(calc((1 - var(--p,1)) * 20px))}.js.reveal-ready [data-reveal][data-settled]{opacity:1;transform:none}.js.reveal-ready [data-reveal].enter{animation:enter .72s var(--ease) var(--enter-delay,0s) both}@keyframes enter{0%{opacity:0;filter:blur(8px);transform:translateY(18px)scale(.985)}to{opacity:1;filter:blur();transform:none}}.scroll-cue{display:none}@media (width>=56rem){.scroll-cue{margin-top:var(--space-3);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.16em;color:var(--text-muted);transition:opacity .45s var(--ease);flex-direction:column;align-items:flex-start;gap:.75em;display:inline-flex}}.scroll-cue[data-hidden]{opacity:0;pointer-events:none}.scroll-cue__rail{background:var(--border);width:1px;height:2.75rem;position:relative;overflow:hidden}.scroll-cue__rail:after{content:"";background:linear-gradient(to bottom, transparent, var(--accent));height:45%;animation:scroll-cue 2.4s var(--ease) infinite;position:absolute;left:0;right:0}@keyframes scroll-cue{0%{opacity:0;transform:translateY(-100%)}30%{opacity:1}to{opacity:0;transform:translateY(240%)}}@media (prefers-reduced-motion:reduce){.scroll-cue__rail:after{opacity:1;animation:none;transform:none}}.hero__portrait{justify-content:flex-start;display:flex}@media (width<=59.99rem){.hero{flex-direction:column;display:flex}.hero__portrait{margin-bottom:var(--space-2);order:-1}.hero__portrait .portrait{max-width:8.5rem}}@media (width>=60rem){.hero__portrait{justify-content:flex-end}}.portrait{aspect-ratio:1;object-fit:cover;object-position:50% 42%;width:100%;max-width:17.5rem;height:auto;margin:0 0 var(--space-3);mix-blend-mode:var(--portrait-blend);filter:var(--portrait-filter);opacity:var(--portrait-opacity);-webkit-mask-image:var(--portrait-mask);mask-image:var(--portrait-mask);border-radius:50%;display:block}@media (width>=56rem){.hero__lead{transform:translateY(var(--drift,0px))}.hero__lead[data-drifting]{will-change:transform}}::view-transition-old(root){animation:page-out .18s var(--ease) both}::view-transition-new(root){animation:page-in .32s var(--ease) both}:root.theme-switching::view-transition-old(root),:root.theme-switching::view-transition-new(root){mix-blend-mode:normal;animation:none}:root.theme-switching::view-transition-old(root){z-index:0}:root.theme-switching::view-transition-new(root){z-index:1}:root.theme-switching .site-nav__marker{view-transition-name:none}@keyframes page-out{to{opacity:0;transform:scale(.994)}}@keyframes page-in{0%{opacity:0;transform:translateY(8px)}}@media (prefers-reduced-motion:reduce){::view-transition-old(root),::view-transition-new(root),::view-transition-group(nav-marker){animation:none}.card:before,.module:before{display:none}.js [data-reveal],.js.reveal-ready [data-reveal],.js.reveal-ready [data-reveal].enter,.js .hero .kicker,.js .hero__aside,.js .headline__word>span{opacity:1;animation:none;transform:none}.js .portrait{opacity:var(--portrait-opacity);animation:none;transform:none}.hero__lead{will-change:auto;transform:none}html{scroll-behavior:auto}}.stat-grid{gap:var(--space-2);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}@media (width<=26rem){.stat-grid{grid-template-columns:1fr}}.stat-band{margin-top:var(--space-4)}.stat-card{text-align:left;padding:var(--space-3)}.stat-card .stat-num{font-family:var(--font-serif);font-size:var(--text-xl);letter-spacing:-.02em;color:var(--accent);font-variant-numeric:tabular-nums;font-weight:600;line-height:1}.stat-card .stat-label{color:var(--text-muted);font-size:var(--text-xs);margin-top:.5em;line-height:1.4}.progress{align-items:center;gap:var(--space-2);margin-top:var(--space-3);display:flex}.progress-track{background:var(--bg-sunken);border:1px solid var(--border);border-radius:999px;flex:1;height:6px;overflow:hidden}.progress-fill{background:var(--accent);width:0%;height:100%;transition:width var(--dur-slow) var(--ease-spring);border-radius:999px}@media (prefers-reduced-motion:reduce){.progress-fill{transition:none}}.progress-label{font-size:var(--text-sm);color:var(--text-muted);white-space:nowrap;font-variant-numeric:tabular-nums}.module-list{gap:var(--space-3);flex-direction:column;display:flex}.module{isolation:isolate;border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-4);background:var(--bg-elevated);box-shadow:var(--shadow-sm);transition:border-color var(--dur) var(--ease-smooth), box-shadow var(--dur) var(--ease-smooth);position:relative}.module:hover{box-shadow:var(--shadow-md)}.module.is-done:before{content:"";left:-1px;top:var(--space-4);bottom:var(--space-4);background:var(--accent);border-radius:999px;width:3px;position:absolute}.module.is-done{border-color:var(--border-strong)}.module__head{gap:var(--space-3);flex-wrap:wrap;justify-content:space-between;align-items:baseline;display:flex}.module__number{font-family:var(--font-serif);font-size:var(--text-sm);color:var(--text-muted);font-variant-numeric:tabular-nums}.module h3{margin:.2em 0 0}.module__desc{margin-top:.4em}.module__check{font-size:var(--text-xs);color:var(--text-muted);cursor:pointer;user-select:none;white-space:nowrap;align-items:center;gap:.5em;margin:-.85em 0;padding:.85em 0;display:inline-flex}.module__check input{appearance:none;border:1.5px solid var(--border);cursor:pointer;width:1.05rem;height:1.05rem;transition:border-color .2s var(--ease), background-color .2s var(--ease);border-radius:4px;flex:none;place-content:center;display:inline-grid}.module__check input:checked{background:var(--accent);border-color:var(--accent)}.module__check input:checked:after{content:"";border-left:2px solid var(--bg);border-bottom:2px solid var(--bg);width:.5rem;height:.3rem;transform:rotate(-45deg)translate(1px,-1px)}.resource-list{margin:var(--space-2) 0 0;flex-direction:column;gap:.55em;padding:0;list-style:none;display:flex}.resource-list li{font-size:var(--text-sm);color:var(--text-muted);align-items:baseline;gap:.7em;display:flex}.resource-tag{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--accent);background:rgba(var(--glow), .12);border-radius:4px;flex:none;padding:.2em .5em;line-height:1.5}.callout{border-left:2px solid var(--accent);padding-left:var(--space-2);margin-top:var(--space-3)}.callout__label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--accent);margin-bottom:.35em;font-weight:500;display:block}.callout p{font-size:var(--text-sm);margin:0}.glossary-list{margin:var(--space-2) 0 0;border:1px solid var(--border);border-radius:10px;overflow:hidden}.glossary-list>div{gap:var(--space-2);padding:.85em var(--space-3);border-bottom:1px solid var(--border);grid-template-columns:9rem 1fr;display:grid}.glossary-list>div:last-child{border-bottom:none}.glossary-list dt{font-family:var(--font-serif);color:var(--text);margin:0;font-weight:600}.glossary-list dd{font-size:var(--text-sm);color:var(--text-muted);margin:0}@media (width<=30rem){.glossary-list>div{grid-template-columns:1fr;gap:.2em}}.table-wrap{margin-top:var(--space-2);border:1px solid var(--border);border-radius:10px;overflow-x:auto}.table-wrap table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}.table-wrap th,.table-wrap td{text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;padding:.6em .9em}.table-wrap th{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);background:var(--bg-elevated)}.table-wrap td.detail{white-space:normal;color:var(--text-muted)}.table-wrap td.wk{color:var(--accent);font-variant-numeric:tabular-nums;font-weight:500}.table-wrap tr:last-child td{border-bottom:none}.setup-list{margin:var(--space-2) 0 var(--space-3);flex-direction:column;gap:.6em;padding:0;list-style:none;display:flex}.setup-list li{font-size:var(--text-sm);color:var(--text-muted);padding-left:1.4em;position:relative}.setup-list li:before{content:"→";color:var(--accent);position:absolute;left:0}.resource-list a,.setup-list a{color:var(--accent);border-bottom:1px solid rgba(var(--glow), .3);transition:border-color .2s var(--ease);text-decoration:none}.resource-list a:hover,.setup-list a:hover{border-bottom-color:var(--accent)}@media print{.js [data-reveal],.js.reveal-ready [data-reveal],.js.pre-reveal [data-reveal],.js .hero .kicker,.js .hero__aside,.js .headline__word>span,.js .portrait{opacity:1!important;animation:none!important;transform:none!important}.cursor-glow,.scroll-cue,.theme-toggle,.skip-link{display:none!important}.site-header,.section--split>h2{position:static!important}:root{--bg:#fff;--bg-elevated:#fff;--text:#000;--text-muted:#333;--accent:#000;--border:#ccc}body{color:#000;background:#fff}main{padding-top:0}main a[href^=http]:after{content:" (" attr(href) ")";color:#555;word-break:break-all;font-size:.85em}.card,.interests li,.history li,.timeline-item,.module{break-inside:avoid}h1,h2,h3{break-after:avoid}.portrait{filter:none!important;mix-blend-mode:normal!important}}
