:root{--bg:#302f2c;--panel:#282724;--panel-hover:#33312c;--ink:#f1ede4;--muted:#bbb5ab;--faint:#a9a398;--line:#565248;--blue:#9bc4df;--gold:#d8c889;--selection:#4c5e68;--serif:Georgia, "Times New Roman", serif;--sans:"Segoe UI", Arial, sans-serif;--mono:Consolas, "Liberation Mono", monospace;--radius:7px;--page-width:900px;color-scheme:dark}:root[data-theme=light]{--bg:#f6f2e9;--panel:#eee9de;--panel-hover:#e8e1d3;--ink:#302f2c;--muted:#656158;--faint:#6b655a;--line:#bdb5a5;--blue:#315f7c;--gold:#d8c889;--selection:#d2dfdf;color-scheme:light}*{box-sizing:border-box}html{background:var(--bg);color:var(--ink);scroll-padding-top:24px}body{min-height:100svh;font:17px/1.65 var(--serif);-webkit-font-smoothing:antialiased;flex-direction:column;margin:0;display:flex}main{flex:1;min-width:0;padding-bottom:80px}main:focus{outline:none}a{color:var(--blue);text-underline-offset:5px;text-decoration-thickness:1px}a:hover{color:var(--ink)}button,summary{touch-action:manipulation}button{font:inherit}:focus-visible{outline:2px solid var(--blue);outline-offset:5px;border-radius:2px}::selection{background:var(--selection);color:var(--ink)}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:400}h1,h2{text-wrap:balance}h1{letter-spacing:-.035em;font-size:clamp(36px,5vw,50px);line-height:1.15}h2{letter-spacing:-.02em;font-size:28px;line-height:1.3}h3{font-size:21px;line-height:1.4}p{text-wrap:pretty}figure{margin:0}img{max-width:100%;height:auto;display:block}svg{max-width:100%}ul,ol{padding-left:1.3em}[hidden]{display:none!important}.content-width{width:min(var(--page-width), calc(100% - 48px));margin-inline:auto}.narrow{--page-width:660px}.eyebrow{font:10px/1.65 var(--mono);text-transform:uppercase;letter-spacing:.11em;color:var(--muted)}.tiny-node{border:1px solid var(--blue);flex-shrink:0;width:6px;height:6px;display:inline-block;transform:rotate(45deg)}.lead{font-size:21px;line-height:1.55}.small-meta{font:11px/1.7 var(--mono);color:var(--muted)}.inline-links{flex-wrap:wrap;gap:14px 24px;font-size:14px;display:flex}.soft-link{color:var(--ink);background:var(--panel);border-radius:var(--radius);border:1px solid #0000;align-items:center;gap:20px;padding:10px 17px;font-size:15px;text-decoration:none;display:inline-flex}.soft-link span{color:var(--blue);transition:transform .15s}.soft-link:hover{background:var(--panel-hover);border-color:var(--line)}.soft-link:hover span{transform:translate(2px,-2px)}.skip-link{z-index:50;background:var(--ink);color:var(--bg);padding:10px 16px;font-size:15px;position:fixed;top:12px;left:12px;transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}.site-header{z-index:10;justify-content:center;align-items:center;min-height:112px;padding:22px 20px 12px;display:flex;position:relative}.main-nav{align-items:center;gap:27px;font-size:15px;display:flex}.main-nav>a{color:var(--muted);align-items:center;min-height:44px;text-decoration:none;display:inline-flex;position:relative}.main-nav>a:hover,.main-nav a[aria-current=page]{color:var(--ink)}.main-nav>a:not(.home-link):after{content:"";background:var(--blue);opacity:0;border-radius:50%;width:3px;height:3px;transition:opacity .15s;position:absolute;bottom:3px;left:50%}.main-nav>a[aria-current=page]:after{opacity:1}.main-nav .home-link{letter-spacing:-.12em;padding-right:4px;font-size:25px;font-style:italic}.home-link span{color:var(--blue)}.more-menu{position:relative}.more-menu summary{cursor:pointer;min-height:44px;color:var(--muted);align-items:center;gap:8px;list-style:none;display:flex}.more-menu summary::-webkit-details-marker{display:none}.more-menu summary span{color:var(--blue);display:inline-block}.more-menu[open] summary span{transform:rotate(45deg)}.more-panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);width:200px;padding:10px 16px;position:absolute;top:calc(100% + 8px);right:-14px}.more-panel a{color:var(--ink);justify-content:space-between;align-items:center;gap:20px;padding:10px 0;text-decoration:none;display:flex}.more-panel a:hover{color:var(--blue)}.more-panel a span{color:var(--muted)}.home-main{padding-bottom:0}.home-stage{place-items:center;min-height:calc(100svh - 224px);padding:40px 24px 68px;display:grid}.home-intro{text-align:center;width:min(100%,520px)}.identity-mark{width:130px;display:block}.identity-mark.large{width:174px;margin:0 auto 6px;transition:transform .2s}.identity-mark.large:hover{transform:rotate(-2deg)}.home-kicker{font:10px/1.6 var(--mono);letter-spacing:.035em;color:var(--faint);margin:0 0 26px}.home-intro h1{letter-spacing:-.035em;margin-bottom:16px;font-size:clamp(43px,5.2vw,57px)}.home-intro h1 em{color:var(--gold);font-style:italic;font-weight:400}[data-theme=light] .home-intro h1 em{color:var(--blue)}.hello-dot{background:var(--blue);border-radius:50%;width:7px;height:7px;margin:0 0 6px 13px;display:inline-block}.home-lead{color:var(--ink);margin-bottom:22px;font-size:21px;line-height:1.5}.identity-lines{color:var(--muted);text-align:left;flex-direction:column;align-items:flex-start;gap:5px;margin:0 0 26px;padding:0;font-size:14px;list-style:none;display:inline-flex}.identity-lines li{align-items:center;gap:11px;display:flex}.home-actions{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.home-footnote{color:var(--faint);margin:25px 0 0;font-size:12px}.home-selected{margin-top:28px;padding-bottom:68px}.section-heading{margin-bottom:22px}.section-heading h2{font-size:25px}.page-intro{max-width:670px;padding:52px 0 42px}.page-intro .eyebrow{align-items:center;gap:10px;margin-bottom:20px;display:flex}.page-intro h1{margin-bottom:21px}.intro-description{color:var(--muted);max-width:650px;margin-bottom:0;font-size:18px;line-height:1.7}.card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin:0;padding:0;list-style:none;display:grid}.content-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);min-width:0;overflow:hidden}.card-cover{display:block;overflow:hidden}.card-cover img{aspect-ratio:16/10;object-fit:cover;width:100%;transition:transform .18s}.card-cover:hover img{transform:scale(1.015)}.card-body{padding:25px}.card-body h2{margin:14px 0 13px;font-size:25px}.card-body h2 a{color:var(--ink);text-decoration:none}.card-body h2 a:hover{color:var(--blue)}.card-arrow{color:var(--blue);margin-left:8px;font-size:18px;display:inline-block}.card-body>p{color:var(--muted);margin-bottom:22px;font-size:15px;line-height:1.65}.tags{flex-wrap:wrap;gap:7px;margin:18px 0 0;padding:0;list-style:none;display:flex}.tags li{font:10px/1.6 var(--mono);color:var(--muted);border:1px solid var(--line);border-radius:20px;padding:3px 9px}.empty-state{border:1px dashed var(--line);border-radius:var(--radius);max-width:690px;padding:40px 34px}.empty-symbol{font:24px/1.5 var(--mono);color:var(--gold);margin-bottom:23px;display:inline-block}[data-theme=light] .empty-symbol{color:var(--blue)}.empty-state h2{margin-bottom:15px;font-size:28px}.empty-state p{max-width:490px;color:var(--muted);font-size:16px}.empty-state a{font-size:14px}.index-note{color:var(--muted);max-width:660px;margin-top:30px;font-size:13px}.index-note>p{margin-top:10px}.draft-banner{border-left:2px solid var(--blue);background:var(--panel);color:var(--blue);font:12px/1.7 var(--mono);margin:20px 0;padding:12px 16px}.draft-label{font:10px/1.7 var(--mono);color:var(--blue);margin-top:10px;display:block}.context-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:38px;display:grid}.context-grid>section{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);padding:24px 22px}.context-grid h2{margin:15px 0 10px;font-size:26px}.context-grid p{color:var(--muted);margin-bottom:0;font-size:14px}.role-panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);padding:34px}.role-panel header h2{max-width:600px;margin-bottom:14px;font-size:31px}.role-employer{color:var(--muted);margin-bottom:28px;font-size:14px}.role-employer span{color:var(--blue);margin-inline:8px}.role-panel .lead{max-width:690px}.responsibilities{border-top:1px solid var(--line);margin:30px 0}.responsibilities details{border-bottom:1px solid var(--line)}.responsibilities summary{cursor:pointer;justify-content:space-between;align-items:center;gap:24px;padding:17px 0;font-size:17px;list-style:none;display:flex}.responsibilities summary::-webkit-details-marker{display:none}.responsibilities summary span{font-family:var(--mono);color:var(--blue)}.responsibilities details[open] summary span{transform:rotate(45deg)}.responsibilities p{color:var(--muted);max-width:670px;margin-bottom:22px;padding-right:28px;font-size:15px}.discretion-note{color:var(--muted);max-width:650px;margin-top:23px;font-size:12px}.about-layout{grid-template-columns:minmax(0,1fr) 235px;gap:55px;display:grid}.about-aside{padding-top:5px}.portrait{border-radius:var(--radius);width:100%;margin-bottom:24px}.margin-note{background:var(--panel);border:1px solid var(--line);border-radius:2px;padding:24px;transform:rotate(1.2deg)}.margin-note p{margin:20px 0;font-size:21px;line-height:1.55}.margin-note em{color:var(--blue)}.note-signature{color:var(--gold);font-size:30px;font-style:italic}.small-facts{margin-top:27px;font-size:13px}.small-facts>div{border-top:1px solid var(--line);padding:13px 0}.small-facts dt{color:var(--muted);font:10px/1.7 var(--mono);margin-bottom:5px}.small-facts dd{margin:0}.contact-block{border-block:1px solid var(--line);padding:25px 0 20px}.contact-email{letter-spacing:-.025em;overflow-wrap:anywhere;font-size:clamp(23px,4.5vw,35px);line-height:1.3;display:inline-block}.contact-block>p:last-child{color:var(--muted);max-width:480px;margin:23px 0 8px;font-size:16px}.contact-list{margin-top:20px;display:grid}.contact-list a{border-bottom:1px solid var(--line);color:var(--ink);justify-content:space-between;align-items:center;gap:15px;padding:13px 0;font-size:15px;text-decoration:none;display:flex}.contact-list a span,.contact-list a:hover{color:var(--blue)}.detail{padding-top:32px}.back-link{color:var(--muted);font-size:13px}.detail-header{max-width:760px;padding:36px 0}.detail-header h1{margin-bottom:22px}.detail-header .eyebrow{margin-bottom:20px}.detail-meta{font:11px/1.7 var(--mono);color:var(--muted);flex-wrap:wrap;gap:10px 22px;margin-top:24px;display:flex}.cover-image{margin:0 0 35px}.cover-image img{border-radius:var(--radius);width:100%}.project-facts{border-block:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:0 0 30px;padding:22px 0;display:grid}.project-facts dt{font:10px/1.7 var(--mono);text-transform:uppercase;color:var(--muted);margin-bottom:8px}.project-facts dd{margin:0;font-size:14px}.resource-links{flex-wrap:wrap;gap:8px 14px;display:flex}.article-contents{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);max-width:660px;margin:0 auto 35px;padding:16px 20px}.article-contents summary{cursor:pointer;color:var(--muted);font-size:14px}.article-contents ol{columns:2;column-gap:30px;margin-bottom:0;padding:0;font-size:13px;list-style:none}.article-contents li{break-inside:avoid;margin-bottom:8px}.article-contents .nested{padding-left:12px}.prose{min-width:0;font-size:17px;line-height:1.85}.article-body{max-width:660px;margin-inline:auto}.prose p{margin-bottom:24px}.prose h2{margin:40px 0 17px;scroll-margin-top:24px;font-size:29px}.prose h3{margin:30px 0 15px;scroll-margin-top:24px}.prose h2:first-child{margin-top:0}.prose li{margin-block:8px}.prose a{overflow-wrap:anywhere}.prose blockquote{border-left:2px solid var(--blue);color:var(--muted);margin:30px 0;padding-left:23px;font-size:21px;font-style:italic}.prose img{border-radius:var(--radius);max-width:100%;margin:28px 0}.prose code{font:.82em/1.7 var(--mono);overflow-wrap:anywhere}.prose :not(pre)>code{background:var(--panel);padding:2px 5px}.prose pre{border:1px solid var(--line);border-radius:var(--radius);max-width:100%;padding:20px;font-size:13px;overflow-x:auto}.prose pre code{overflow-wrap:normal}.prose table{border-collapse:collapse;max-width:100%;margin-block:25px;font-size:15px;display:block;overflow-x:auto}.prose th,.prose td{border-bottom:1px solid var(--line);text-align:left;padding:10px 15px}.prose th{font-weight:600}.prose hr{border:0;border-top:1px solid var(--line);margin-block:35px}.prose video{max-width:100%;height:auto}.astro-code,.astro-code span{color:var(--shiki-dark);background-color:var(--shiki-dark-bg)}[data-theme=light] .astro-code,[data-theme=light] .astro-code span{color:var(--shiki-light)!important;background-color:var(--shiki-light-bg)!important}.article-end{border-top:1px solid var(--line);max-width:660px;color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:16px;margin:45px auto 0;padding-top:25px;font-size:13px;display:flex}.article-end>span{font-family:var(--mono);color:var(--gold)}.related{margin-top:70px}.related>h2{font-size:25px}.site-footer{width:100%;font:11px/1.7 var(--mono);color:var(--faint);grid-template-columns:1fr auto 1fr;align-items:center;gap:12px 25px;padding:22px 32px 17px;display:grid}.site-footer nav{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px 18px;display:flex}.site-footer nav a{color:var(--muted);align-items:center;min-height:40px;text-decoration:none;display:inline-flex}.site-footer nav a:hover{color:var(--blue)}.theme-toggle{color:var(--muted);cursor:pointer;min-height:40px;font:11px var(--mono);background:0 0;border:0;justify-self:end;align-items:center;gap:8px;padding:8px 0 8px 10px;display:none}.js .theme-toggle{display:inline-flex}.theme-toggle:hover{color:var(--blue)}.theme-icon{font-size:18px}.site-footer small{font:9px var(--mono);text-align:center;grid-column:1/-1}@media (width<=760px){.site-header{min-height:88px;padding-top:13px}.main-nav{gap:23px;font-size:14px}.home-stage{min-height:calc(100svh - 235px);padding-top:20px;padding-bottom:45px}.home-intro h1{font-size:48px}.home-lead{font-size:20px}.home-kicker{margin-bottom:23px}.page-intro{padding-top:35px;padding-bottom:32px}.about-layout{grid-template-columns:minmax(0,1fr);gap:28px}.about-aside{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:25px;display:grid}.small-facts{margin-top:0}.portrait{grid-column:1/-1;max-width:300px}.context-grid{gap:11px}.context-grid>section{padding:20px 16px}.context-grid h2{font-size:24px}.context-grid p{font-size:13px}.role-panel{padding:25px}.role-panel header h2{font-size:28px}.site-footer{grid-template-columns:1fr auto;gap:9px 20px;padding-inline:24px}.site-footer nav{grid-area:1/1/auto/-1}.footer-note{grid-area:2/1;font-size:10px}.theme-toggle{grid-area:2/2}.site-footer small{grid-row:3}}@media (width<=560px){main{padding-bottom:50px}.content-width{width:calc(100% - 40px)}.main-nav{gap:20px;font-size:14px}.main-nav .home-link{font-size:23px}.home-main{padding-bottom:0}.home-stage{padding-inline:20px}.identity-mark.large{width:154px}.home-intro h1{font-size:43px}.home-lead{font-size:19px}.identity-lines{font-size:13px}.home-actions{gap:10px}.home-actions .soft-link{gap:12px;padding:10px 13px;font-size:14px}.home-footnote{font-size:11px}.page-intro h1{font-size:37px}.intro-description{font-size:17px}.context-grid{grid-template-columns:minmax(0,1fr);gap:12px}.context-grid>section{padding:18px 21px}.context-grid h2{margin:8px 0;font-size:24px}.context-grid p{font-size:14px}.role-panel{padding:24px 20px}.role-panel .lead{font-size:19px}.role-employer span{margin-inline:4px}.responsibilities summary{font-size:16px}.responsibilities p{padding-right:6px}.card-grid{grid-template-columns:minmax(0,1fr)}.empty-state{padding:30px 23px}.empty-state h2{font-size:26px}.about-aside{grid-template-columns:minmax(0,1fr);max-width:350px}.margin-note{transform:none}.contact-email{font-size:26px}.detail{padding-top:22px}.detail-header h1{font-size:37px}.project-facts{grid-template-columns:minmax(0,1fr);gap:20px}.article-contents ol{columns:1}.prose{font-size:16px;line-height:1.85}.prose h2{font-size:27px}.prose pre{padding:16px}.footer-note{max-width:180px}}@media (width<=350px){.main-nav{gap:15px;font-size:13px}.home-intro h1{font-size:38px}.identity-lines{font-size:12px}}@view-transition{navigation:auto}::view-transition-old(root),::view-transition-new(root){animation-duration:.12s}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}::view-transition-old(root),::view-transition-new(root){animation:none!important}}@media print{:root{--bg:white;--panel:white;--ink:black;--muted:#444;--blue:black;--line:#bbb}.site-header,.site-footer,.back-link,.article-contents,.article-end,.related{display:none}body{display:block}.content-width{width:100%}.about-layout{display:block}.about-aside{display:none}main{padding:0}.page-intro{padding-top:0}a{text-decoration:underline}figure,blockquote,pre{break-inside:avoid}}
