/* Adaptive glass: separate translucent material from crisp foreground text. */
:root,[data-theme="dark"]{color-scheme:dark;--page:#000;--ink:#f5f5f7;--muted:#aaaab2;--accent:#d3dedb;--line:#ffffff24;--fill:#ffffff0b;--glass-base:#151518b8;--glass-rim:#ffffff4d;--glint:#ffffff26;--shadow:#0007;--soft:#0b0b0d;--button:#f5f5f7;--button-ink:#151517;--bg:var(--page);--lime:var(--accent);--purple:#d5d5dd;--orange:#d6d0c8}
[data-theme="light"]{color-scheme:light;--page:#fff;--ink:#1d1d1f;--muted:#616168;--accent:#405b50;--line:#00000020;--fill:#00000003;--glass-base:#ffffffb5;--glass-rim:#00000022;--glint:#ffffffb0;--shadow:#20202c13;--soft:#f6f6f8;--button:#1d1d1f;--button-ink:#fff;--purple:#555762;--orange:#665e53}
html,body{background:var(--page);color:var(--ink)}body{background-image:none}body,.site-header,.case,.conversation,.writing-card,.expertise,.experience,.contact,.architecture-story{transition:background-color .35s,color .25s,border-color .25s,box-shadow .35s}
::selection{background:var(--ink);color:var(--page)}
.work,.writing,.case-body,.work-heading,.writing-heading{color:var(--ink)}
.story-chapter,.story-chapter.is-active{opacity:1}.story-chapter h3 em{color:var(--accent)}
.story-chapter{position:relative;padding-left:20px}.story-chapter:before{content:"";position:absolute;left:0;top:60px;bottom:60px;width:2px;background:var(--accent);transform:scaleY(.12);transform-origin:center;opacity:.2;transition:transform .6s var(--ease),opacity .6s}.story-chapter.is-active:before{transform:scaleY(1);opacity:.85}
.hero-title-wrap h1>span{animation-name:title-arrive}@keyframes title-arrive{from{transform:translateY(12px)}to{transform:translateY(0)}}
.reveal.is-pending{opacity:1;filter:none;transform:none}
.capabilities p,.case-body>p:not(.eyebrow):not(.case-footer),.case-detail,.writing-card>p:not(.eyebrow),.timeline article>p:not(.period){font-size:14px;line-height:1.85}
.case summary{font-size:13px;min-height:48px}.case-footer,.writing-meta,.tags span,.tool-list span{font-size:10px}.work-heading>p,.section-heading>p:not(.eyebrow),.story-intro>p:not(.eyebrow),.writing-intro>p{font-size:14px}
.story-chapter>p:not(.eyebrow):not(.chapter-tools){font-size:14px}.chapter-tools{font-size:10px}.scope div p,.scope-label span{font-size:11px}.playground-status{font-size:10px;letter-spacing:0}.hero-end>p>span{font-size:12px}.hero-end>p{font-size:14px}#navigation{font-size:12px}.hero-meta{font-size:10px}.node-kicker,.play-node>span:last-child{font-size:9px;letter-spacing:0}.play-node strong{font-size:21px}.brand small{font-size:8px}
.scene-ticket{background:var(--page);border-radius:12px;padding:5px 8px}.ticket-top{font-size:8px}.ticket-bottom{font-size:10px}
.skip{background:var(--button);color:var(--button-ink)}
[data-theme="light"] .visual-caption{border-color:#ffffff38}
[data-theme="light"] .story-visual{--liquid-body:#ffffffb8}
@media(max-width:800px){.hero-meta{font-size:8px}.hero-meta p:last-child{font-size:8px;max-width:145px}.node-kicker{font-size:7px}.play-node>span:last-child{font-size:7px;line-height:1.6}.play-node strong{font-size:14px}.play-node{height:156px}.playground-status{font-size:9px}.hero-end>p>span{font-size:12px}.hero-actions .button{font-size:10px}.story-chapter:before{top:35px;bottom:35px}.scene-ticket{padding:3px 5px}.ticket-top{font-size:6px}.brand small{font-size:6px}.theme-toggle{min-width:42px;min-height:42px}.menu-toggle{min-height:42px}}
.hero-title-wrap h1{color:var(--ink)}.hero-title-wrap h1 em,.title-period,h2 em,.expertise h2 em,.experience h2 em,.writing h2 em,.contact h2 em{color:var(--accent)}
.site-header,.site-header.is-scrolled,.play-node,.story-visual,.conversation,.writing-card{background:radial-gradient(ellipse at var(--glass-x,25%) var(--glass-y,0%),var(--glint),transparent 65%),linear-gradient(135deg,var(--fill),transparent),var(--glass-base);border:1px solid var(--glass-rim);box-shadow:inset 0 1px 0 #ffffffb3,inset 1px 0 0 #ffffff26,inset 0 -1px 0 #ffffff12,0 16px 45px var(--shadow);backdrop-filter:blur(28px) saturate(125%);-webkit-backdrop-filter:blur(28px) saturate(125%);color:var(--ink)}
.site-header{gap:18px}.theme-toggle{flex:0 0 40px;width:40px;height:40px;display:grid;place-items:center;order:3;border-radius:50%;padding:10px;border:1px solid var(--glass-rim);background:radial-gradient(circle at var(--glass-x,25%) var(--glass-y,0%),var(--glint),transparent 75%),var(--fill);box-shadow:inset 0 1px 0 #ffffff80,0 3px 9px var(--shadow);color:var(--ink);cursor:pointer;transition:transform .2s,box-shadow .2s}.theme-toggle:hover{transform:scale(1.08);box-shadow:inset 0 1px 0 #fff,0 5px 18px var(--shadow)}.theme-toggle:active{transform:scale(.94)}.theme-toggle svg{width:20px;height:20px}.theme-sun{display:block}.theme-moon{display:none}[data-theme="light"] .theme-sun{display:none}[data-theme="light"] .theme-moon{display:block}:focus-visible{outline:2px solid var(--accent);outline-offset:5px}
.brand,.brand-symbol,.menu-toggle,#navigation>a,.back-top,.contact-links,.email-link,.text-link,.geeknp-wordmark,.scene-caption strong,.education strong,.earlier strong{color:var(--ink)}.brand-symbol span,#navigation>a:hover,.text-link:hover,.writing-card h3 a:hover{color:var(--accent)}
.nav-contact,.conversation .button,.play-button{background:var(--button);color:var(--button-ink)!important;border-color:var(--line);box-shadow:inset 0 1px 0 #ffffff60,0 5px 14px var(--shadow)}.nav-contact:hover{background:var(--button);color:var(--button-ink)!important}
.brand small,.hero-meta,.hero-meta p>span:not(.status-dot),.node-kicker,.play-node>span:last-child,.hero-note,.play-status,.hero-bottom,.hero-bottom p,.section-heading>p:not(.eyebrow),.work-heading>p,.capabilities p,.case-body>p:not(.eyebrow):not(.case-footer),.case-detail,.case-footer,.story-intro>p:not(.eyebrow),.story-chapter>p:not(.eyebrow):not(.chapter-tools),.chapter-proof>span,.scene-topline,.scene-caption>.eyebrow,.scene-caption>span:last-child,.scene-navigation a,.employer>span,.timeline article>p:not(.period),.earlier>p:not(.eyebrow),.education,.writing-intro>p,.writing-card>p:not(.eyebrow),.writing-meta,.contact p:not(.eyebrow),.conversation label,.conversation small,.footer-name span,.site-footer>p{color:var(--muted)}
.eyebrow,.number,.cap-icon,.case .eyebrow,.case-detail h4,.story-chapter>.eyebrow,.chapter-tools,.chapter-proof strong,.period,.earlier span,.writing-card .eyebrow,.geeknp-wordmark>span:first-child{color:var(--accent)}
.expertise,.experience,.contact,.architecture-story{background:var(--soft);color:var(--ink)}.case{background:var(--fill);border-color:var(--line);box-shadow:inset 0 1px 0 var(--line)}.case:hover,.writing-card:hover{background:var(--glass-base);box-shadow:inset 0 1px 0 #ffffff80,0 18px 40px var(--shadow)}
.capabilities article,.capabilities article:last-child,.case details,.case-footer,.story-chapter,.timeline .employer,.timeline article,.earlier,.writing-meta,.scene-topline,.scene-navigation,.scene-navigation a+a,.visual-caption,.back-top,.email-link,.text-link{border-color:var(--line)}
.tags span,.tool-list span,.period span{background:var(--fill);border-color:var(--line);color:var(--muted);box-shadow:inset 0 1px 0 var(--line)}.tool-list span:hover{background:var(--line)}.conversation select{background:var(--soft);color:var(--ink);border-color:var(--line)}
.play-hero:before{background:radial-gradient(ellipse at 50% 60%,var(--line),transparent 65%)}.hero-spark,.cloud-glyph{color:var(--accent)}.packet-wires path{stroke:var(--accent)}.packet-wires .wire-dashed{stroke:var(--muted)}.wire-end{fill:var(--accent)}.story-skip{color:var(--ink);border-color:var(--line)}.scene-navigation a[aria-current="step"]{color:var(--ink);background:var(--fill);border-bottom-color:var(--accent)}.scene-navigation a:hover{background:var(--fill)}.scene-space:before{background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px)}.scene-orbit{border-color:var(--line)}
[data-theme="light"] .infra-plane{background:linear-gradient(135deg,#ffffffb0,#b8c7c850);border-color:#879d9f;box-shadow:-7px 9px 0 #a7b8bb80,0 16px 35px #0001}[data-theme="light"] .infra-plane.is-lit{background:linear-gradient(135deg,#e8f1ebd9,#9fb9aa99);border-color:#658574}[data-theme="light"] .plane-content>span,[data-theme="light"] .plane-content>b{color:#243b35}
.ticker{background:var(--soft);color:var(--ink);border-color:var(--line)}.ticker-track{color:var(--ink)}.scope-strip{border-color:var(--line);color:var(--ink)}.scope-strip p,.scope-strip span{color:var(--muted)}
[data-theme="light"] .cursor-dot{background:#303035;border-color:#fff}[data-theme="light"] .play-sticker{box-shadow:inset 0 1px 0 #fff,0 6px 18px #0002}.timeline article:before{background:var(--page);border-color:var(--accent)}.timeline article.current:before{background:var(--accent);box-shadow:0 0 0 5px var(--line)}
@media(max-width:800px){.site-header{gap:10px}.theme-toggle{order:0;margin-left:auto;flex-basis:38px;width:38px;height:38px}.menu-toggle{margin-left:0;background:var(--fill);color:var(--ink);border-color:var(--glass-rim)}#navigation{background:var(--glass-base);color:var(--ink);border-color:var(--glass-rim);backdrop-filter:blur(30px);-webkit-backdrop-filter:blur(30px)}}
.scene-ticket,.ticket-top>span,.ticket-bottom em,.hero-end>p>span,.playground-status,.scope div p,.scope-label span{color:var(--muted)}.scope strong>span{color:var(--accent)}.cv-link{color:var(--ink);border-color:var(--line)}.packet-button{color:var(--ink);background:var(--fill);border-color:var(--glass-rim)}.packet-button:hover{background:var(--line);color:var(--ink)}.hero-actions .primary{background:var(--button);color:var(--button-ink);border-color:var(--line)}[data-theme="light"] .node-slots i{border-color:#677b7580;background:repeating-linear-gradient(to bottom,#74897e55 0,#74897e55 3px,transparent 3px,transparent 7px)}[data-theme="light"] .node-slots i:after{background:#405b50}
@supports not (backdrop-filter:blur(10px)){.site-header,.site-header.is-scrolled,.play-node,.story-visual,.conversation,.writing-card{background:var(--soft)}}