:root{--mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", "Courier New", monospace;--wrap:880px;--col-when:17ch;--fs-xs:.72rem;--fs-sm:.8rem;--fs-base:.9rem;--fs-md:1rem;--fs-lg:clamp(1.05rem, .98rem + .3vw, 1.2rem);--fs-huge:clamp(2.1rem, 1.15rem + 4.2vw, 4.4rem);--lh-tight:1.25;--lh-body:1.72}:root,:root[data-theme=dark]{--bg:#0a0a0b;--bg-2:#0e0e10;--rule:#24242a;--rule-strong:#36363e;--text:#d8d6d1;--dim:#8b8982;--accent:#e0a44a;--accent-dim:#6b4f22;--selection:#3a2f18}:root[data-theme=light]{--bg:#e9e7e2;--bg-2:#e3e0da;--rule:#c9c5bd;--rule-strong:#ada79c;--text:#16151a;--dim:#55524b;--accent:#8a5610;--accent-dim:#c8b48c;--selection:#d8cdb4}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:5rem}body{background:var(--bg);color:var(--text);font-family:var(--mono);font-size:var(--fs-base);line-height:var(--lh-body);font-variant-ligatures:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0}h1,h2,h3{font-weight:600;line-height:var(--lh-tight);margin:0}p{margin:0}ul,ol,dl,dd{margin:0;padding:0;list-style:none}a{color:inherit;text-decoration:none}canvas{display:block}::selection{background:var(--selection);color:var(--text)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.wrap{width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:clamp(1.15rem,5vw,2rem)}.skip-link{z-index:200;background:var(--accent);color:var(--bg);font-size:var(--fs-sm);padding:.5rem .9rem;transition:translate .15s linear;position:absolute;top:0;left:1rem;translate:0 -140%}.skip-link:focus-visible{translate:0}.site-header{z-index:100;background:var(--bg);border-bottom:1px solid #0000;transition:border-color .2s linear;position:sticky;top:0}.site-header.is-stuck{border-bottom-color:var(--rule)}.header-inner{align-items:center;gap:1rem;height:3.4rem;display:flex}.wordmark{font-size:var(--fs-sm);color:var(--text);letter-spacing:.02em;flex-shrink:0}.wordmark:before{content:"> ";color:var(--accent)}.nav{align-items:center;gap:1.35rem;margin-inline-start:auto;display:flex}.nav a{font-size:var(--fs-sm);color:var(--dim);transition:color .15s linear;position:relative}.nav a:hover{color:var(--text)}.nav a:after{content:"";transform-origin:0;background:currentColor;height:1px;transition:transform .2s cubic-bezier(.22,1,.36,1);position:absolute;bottom:-3px;left:0;right:0;transform:scaleX(0)}.nav a:hover:after,.nav a.is-active:after{transform:scaleX(1)}.nav a.is-active{color:var(--accent)}.header-actions{flex-shrink:0;align-items:center;gap:.75rem;margin-inline-start:1.35rem;display:flex}.ghost-btn{color:var(--dim);font-family:inherit;font-size:var(--fs-sm);cursor:pointer;background:0 0;border:0;padding:.4rem 0;transition:color .15s linear}.ghost-btn:hover{color:var(--accent)}:root[data-theme=dark] .theme-light-label,:root[data-theme=light] .theme-dark-label,.nav-toggle,.nav-toggle .nav-toggle-close,.nav-toggle[aria-expanded=true] .nav-toggle-open{display:none}.nav-toggle[aria-expanded=true] .nav-toggle-close{display:inline}.hero{border-bottom:1px solid var(--rule);padding-block:clamp(3.5rem,9vh,6.5rem) clamp(3rem,7vh,5rem);position:relative;overflow:hidden}.hero-stage{pointer-events:none;z-index:0;width:min(48%,460px);position:absolute;inset:0 0 0 auto;-webkit-mask-image:radial-gradient(closest-side,#000 45%,#0000 100%);mask-image:radial-gradient(closest-side,#000 45%,#0000 100%)}#hero-canvas{opacity:0;width:100%;height:100%;transition:opacity 1.4s linear}#hero-canvas.is-live{opacity:1}.hero-inner{z-index:1;position:relative}.meta{font-size:var(--fs-xs);color:var(--dim);letter-spacing:.14em;text-transform:uppercase}.hero-name{font-size:var(--fs-huge);letter-spacing:-.05em;margin-block:1.1rem 0;font-weight:600;line-height:1}.hero-role{font-size:var(--fs-lg);color:var(--accent);margin-block:.9rem 0}.hero-role:after{content:"_";margin-inline-start:.15em;animation:1.1s step-end infinite caret}@keyframes caret{0%,50%{opacity:1}50.01%,to{opacity:0}}.hero-role>span{white-space:nowrap;vertical-align:bottom;max-width:100%;animation:1.1s steps(25,end) .1s both type;display:inline-block;overflow:hidden}@keyframes type{0%{width:0}to{width:100%}}.hero-blurb{max-width:62ch;color:var(--text);margin-block:1.8rem 0}.hero-links{font-size:var(--fs-sm);flex-wrap:wrap;gap:1.1rem;margin-block:2rem 0;display:flex}.hero-links a{color:var(--dim);transition:color .15s linear}.hero-links a:hover{color:var(--accent)}.section{border-bottom:1px solid var(--rule);padding-block:clamp(3rem,7vh,4.75rem)}.section-label{font-size:var(--fs-xs);letter-spacing:.22em;text-transform:uppercase;color:var(--dim);align-items:center;gap:1.1rem;margin-block-end:2.5rem;font-weight:500;display:flex}.section-label:after{content:"";background:var(--rule);transform-origin:0;flex:1;height:1px}.js .section-label.is-shown:after{animation:.7s cubic-bezier(.22,1,.36,1) both draw-rule}@keyframes draw-rule{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.entries{flex-direction:column;gap:2.75rem;display:flex}.entry{grid-template-columns:var(--col-when) 1fr;gap:0 2.25rem;display:grid;position:relative}.entry:before{content:"";background:var(--accent);transform-origin:top;width:1px;transition:transform .28s cubic-bezier(.22,1,.36,1);position:absolute;top:.3rem;bottom:.3rem;left:-1rem;transform:scaleY(0)}.entry:hover:before{transform:scaleY(1)}.entry-when{font-size:var(--fs-sm);color:var(--dim);white-space:nowrap;padding-block-start:.15rem;transition:color .18s linear}.entry:hover .entry-when{color:var(--accent)}.dash{color:var(--rule-strong);padding-inline:.15em}.entry-title{font-size:var(--fs-md);color:var(--text)}.entry-org{font-size:var(--fs-sm);color:var(--dim);margin-block-start:.3rem}.entry-note{max-width:68ch;margin-block-start:.9rem}.entry-stack{font-size:var(--fs-sm);color:var(--dim);margin-block-start:1rem}.entry-actions{font-size:var(--fs-sm);flex-wrap:wrap;gap:1.2rem;margin-block-start:1rem;display:flex}.entry-actions a{color:var(--accent);border-bottom:1px solid var(--accent-dim);padding-block-end:1px;transition:border-color .15s linear}.entry-actions a:hover{border-bottom-color:var(--accent)}.notes{flex-direction:column;gap:.55rem;max-width:68ch;margin-block-start:1rem;display:flex}.notes li{padding-inline-start:1.5ch;position:relative}.notes li:before{content:"·";color:var(--accent);position:absolute;left:0}.specs{grid-template-columns:var(--col-when) 1fr;gap:1.15rem 2.25rem;display:grid}.specs dt{font-size:var(--fs-sm);color:var(--dim);letter-spacing:.06em}.specs dd{overflow-wrap:break-word;max-width:68ch}.specs-contact dd a{color:var(--accent);border-bottom:1px solid var(--accent-dim);padding-block-end:1px;transition:border-color .15s linear}.specs-contact dd a:hover{border-bottom-color:var(--accent)}.contact-line{max-width:62ch;margin-block-end:2.25rem}.site-footer{background:var(--bg-2);padding-block:2.25rem}.footer-inner{font-size:var(--fs-xs);color:var(--dim);flex-wrap:wrap;justify-content:space-between;gap:.4rem 1.5rem;display:flex}@media (width<=420px){.hero-role>span{white-space:normal;animation:none}}@media (width<=720px){html{scroll-padding-top:4.2rem}.nav-toggle{display:inline-block}.nav{background:var(--bg);border-bottom:1px solid var(--rule);opacity:0;visibility:hidden;flex-direction:column;align-items:flex-start;gap:0;margin:0;padding:.5rem clamp(1.15rem,5vw,2rem) 1.25rem;transition:opacity .18s linear,transform .18s linear,visibility 0s linear .18s;position:fixed;inset:3.4rem 0 auto;transform:translateY(-6px)}.nav.is-open{opacity:1;visibility:visible;transition:opacity .18s linear,transform .18s linear,visibility linear;transform:none}.nav a{width:100%;font-size:var(--fs-base);border-bottom:1px solid var(--rule);padding-block:.7rem}.nav a:after{display:none}.nav a:last-child{border-bottom:0}.header-actions{margin-inline-start:auto}.entry,.specs{grid-template-columns:1fr;gap:.5rem}.entry-when{padding-block-start:0}.specs{gap:.35rem}.specs dd{margin-block-end:1rem}.hero-stage{opacity:.3;width:100%;inset:0}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important;animation-delay:0s!important}}@media print{.site-header,.hero-stage,.hero-links{display:none}body{color:#000;background:#fff}.entry,.specs{break-inside:avoid}}
