@layer reset{*,:before,:after{box-sizing:border-box}html{color-scheme:light;scroll-behavior:smooth}html[data-theme=dark]{color-scheme:dark}body,h1,h2,h3,p,ul,ol,figure,blockquote{margin:0}ul,ol{padding:0}img,svg{max-width:100%;display:block}button,input,textarea,select{font:inherit}a{color:inherit}}@layer base{:root{--bg:#f3f4f1;--bg-elevated:#fbfbf8;--bg-soft:#eceeea;--text:#111419;--text-soft:#5f6975;--text-faint:#626c78;--border:#d9dee5;--border-strong:#bcc4ce;--blue:#496dff;--blue-ink:#3b5fdc;--blue-soft:#dfe6ff;--mint:#168f7b;--mint-soft:#d8f0e9;--violet:#855df4;--violet-soft:#eae2ff;--amber:#b86b18;--amber-soft:#f7e5cc;--shadow:0 24px 60px #141c2817;--header-bg:#f3f4f1d1;--grid-line:#1114190e;--font-sans:Inter, Geist, "Avenir Next", Avenir, "Segoe UI", Helvetica, Arial, sans-serif;--font-mono:"SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-standard:cubic-bezier(.4, 0, .2, 1);--radius-sm:.55rem;--radius-md:.9rem;--radius-lg:1.35rem;--shell:min(100% - 2.5rem, 78rem)}:root[data-theme=dark]{--bg:#090c10;--bg-elevated:#10161d;--bg-soft:#0d1218;--text:#edf2f5;--text-soft:#9aa7b4;--text-faint:#778694;--border:#25313d;--border-strong:#3b4a59;--blue:#82a3ff;--blue-ink:#82a3ff;--blue-soft:#18284d;--mint:#60d5c1;--mint-soft:#123b36;--violet:#ac91ff;--violet-soft:#2a2050;--amber:#f0ad61;--amber-soft:#402b15;--shadow:0 30px 80px #00000061;--header-bg:#090c10d1;--grid-line:#edf2f50e}html{background:var(--bg);font-family:var(--font-sans);scrollbar-gutter:stable;font-size:16px}body{background:radial-gradient(circle at 84% 8%, color-mix(in srgb, var(--blue) 8%, transparent), transparent 29rem), var(--bg);min-width:320px;min-height:100vh;color:var(--text);font-family:var(--font-sans);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-size:1rem;line-height:1.65;overflow-x:hidden}::selection{background:var(--blue);color:#fff}:focus-visible{outline:2px solid var(--blue);outline-offset:4px}h1,h2,h3{letter-spacing:-.045em;text-wrap:balance;font-weight:610;line-height:1.04}h1{font-size:clamp(3.25rem,8.7vw,7.35rem)}h2{font-size:clamp(2.3rem,5vw,4.7rem)}h3{font-size:clamp(1.45rem,2.4vw,2.2rem)}p{text-wrap:pretty}code,.mono{font-family:var(--font-mono)}}@layer components{.skip-link{z-index:1000;border-radius:var(--radius-sm);background:var(--text);color:var(--bg);transition:translate .18s var(--ease-out);padding:.7rem 1rem;font-weight:700;text-decoration:none;position:fixed;top:.75rem;left:.75rem;translate:0 -200%}.skip-link:focus{translate:0}.shell{width:var(--shell);margin-inline:auto}.site-header{z-index:100;background:var(--header-bg);backdrop-filter:blur(18px)saturate(135%);border-bottom:1px solid #0000;transition:border-color .18s;position:sticky;top:0}.site-header[data-reading-progress=true]:after{background:linear-gradient(90deg, var(--blue), var(--mint));content:"";opacity:.78;transform-origin:0;height:2px;animation:linear both reading-progress scroll(root);position:absolute;bottom:-1px;left:0;right:0;transform:scaleX(0)}html[data-motion=paused] .site-header[data-reading-progress=true]:after{display:none}.site-header[data-scrolled=true]{border-color:var(--border)}.header-inner{justify-content:space-between;align-items:center;gap:2rem;min-height:4.7rem;display:flex}.wordmark{color:var(--text);font-family:var(--font-mono);letter-spacing:-.04em;view-transition-name:wordmark;align-items:center;gap:.7rem;font-size:.92rem;font-weight:700;text-decoration:none;display:inline-flex}.wordmark-mark{border:1px solid var(--border-strong);background:var(--bg-elevated);width:2.1rem;height:2.1rem;transition:border-color .18s ease, transform .28s var(--ease-out);border-radius:50%;place-items:center;display:grid}.wordmark:hover .wordmark-mark{border-color:var(--blue);transform:rotate(-8deg)}.header-actions,.primary-nav,.nav-links{align-items:center;display:flex}.header-actions{gap:.65rem}.nav-links{gap:.25rem;list-style:none}.nav-link{min-height:2.65rem;color:var(--text-soft);border-radius:999px;align-items:center;padding:0 .9rem;font-size:.9rem;font-weight:650;text-decoration:none;transition:color .18s,background .18s;display:inline-flex;position:relative}.nav-link:hover,.nav-link[aria-current=page]{background:var(--bg-soft);color:var(--text)}.icon-button,.menu-button{border:1px solid var(--border);background:var(--bg-elevated);width:2.65rem;height:2.65rem;color:var(--text);cursor:pointer;transition:transform .18s var(--ease-out), border-color .18s ease, background .18s ease;border-radius:50%;flex:none;place-items:center;display:inline-grid}.icon-button:hover,.menu-button:hover{border-color:var(--border-strong);transform:translateY(-2px)}.icon-button svg,.menu-button svg{width:1.05rem;height:1.05rem}.theme-icon-sun,[data-theme=dark] .theme-icon-moon{display:none}[data-theme=dark] .theme-icon-sun{display:block}.menu-button{display:none}.section{padding-block:clamp(5rem,10vw,9rem);position:relative}.section+.section{border-top:1px solid var(--border)}.section-marker,.eyebrow,.meta-label{color:var(--text-faint);font-family:var(--font-mono);letter-spacing:.11em;text-transform:uppercase;font-size:.72rem;font-weight:650;line-height:1.3}.section-heading{grid-template-columns:minmax(0,1fr) minmax(16rem,28rem);align-items:end;gap:2.5rem;margin-bottom:clamp(2.5rem,5vw,4.5rem);display:grid}.section-heading .section-marker{margin-bottom:1.2rem;display:block}.section-heading p{color:var(--text-soft);font-size:clamp(1rem,1.5vw,1.16rem)}.button-row{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.button{min-height:3.2rem;transition:transform .22s var(--ease-out), background .18s ease, color .18s ease, border-color .18s ease;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:.65rem;padding:0 1.25rem;font-size:.92rem;font-weight:720;line-height:1;text-decoration:none;display:inline-flex}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--text);color:var(--bg)}.button-primary:hover{background:var(--blue);color:#fff}.button-secondary{border-color:var(--border);background:var(--bg-elevated);color:var(--text)}.button-secondary:hover{border-color:var(--border-strong)}.button svg,.text-link svg{width:.95rem;height:.95rem;transition:transform .2s var(--ease-out)}.button:hover svg,.text-link:hover svg{transform:translate(2px,-2px)}.text-link{color:var(--text);align-items:center;gap:.45rem;font-size:.92rem;font-weight:720;text-decoration:none;display:inline-flex}.text-link:after{position:absolute}.hero{align-items:center;min-height:min(53rem,100svh - 4.7rem);padding-block:clamp(4.5rem,10vw,8rem);display:grid;position:relative}.hero-grid{grid-template-columns:minmax(0,1.17fr) minmax(24rem,.83fr);align-items:center;gap:clamp(3rem,7vw,7rem);display:grid}.hero-copy{z-index:2;position:relative}.hero .eyebrow{align-items:center;gap:.65rem;margin-bottom:1.6rem;display:flex}.status-dot{background:var(--mint);width:.48rem;height:.48rem;box-shadow:0 0 0 .28rem color-mix(in srgb, var(--mint) 14%, transparent);border-radius:50%;position:relative}.hero h1{max-width:9.6ch}.hero h1 em{color:var(--blue);font-style:normal}.hero-lead{max-width:42rem;color:var(--text-soft);margin-top:1.8rem;font-size:clamp(1.08rem,2vw,1.35rem);line-height:1.55}.hero .button-row{margin-top:2.35rem}.hero-meta{color:var(--text-faint);font-family:var(--font-mono);flex-wrap:wrap;gap:.75rem 1.5rem;margin-top:2rem;font-size:.75rem;display:flex}.hero-visual{min-height:31rem;position:relative}.system-map{border:1px solid var(--border);border-radius:var(--radius-lg);background-color:var(--bg-elevated);background-image:linear-gradient(var(--grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--grid-line) 1px, transparent 1px);box-shadow:var(--shadow);isolation:isolate;background-size:3.2rem 3.2rem;position:absolute;inset:0;overflow:hidden}.system-map:before{z-index:-1;background:radial-gradient(circle, color-mix(in srgb, var(--blue) 18%, transparent), transparent 63%);content:"";filter:blur(20px);border-radius:50%;position:absolute;inset:15% 5% 0 20%}.system-map-glow{z-index:-1;background:radial-gradient(circle, color-mix(in srgb, var(--blue) 18%, transparent), transparent 68%);pointer-events:none;width:20rem;height:20rem;transition:transform .8s var(--ease-out), translate .8s var(--ease-out);border-radius:50%;position:absolute;top:33%;left:45%}.system-map[data-pointer-zone$=left] .system-map-glow{transform:translate(-.9rem)}.system-map[data-pointer-zone$=right] .system-map-glow{transform:translate(.9rem)}.system-map[data-pointer-zone^=top] .system-map-glow{translate:0 -.75rem}.system-map[data-pointer-zone^=bottom] .system-map-glow{translate:0 .75rem}.system-map-scan{z-index:1;background:linear-gradient(90deg, transparent 8%, color-mix(in srgb, var(--blue) 45%, transparent), transparent 92%);opacity:.48;pointer-events:none;height:1px;animation:map-scan 9s var(--ease-standard) infinite;position:absolute;top:4.5rem;left:0;right:0}.system-map-header{z-index:4;color:var(--text-faint);font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;justify-content:space-between;align-items:center;font-size:.65rem;display:flex;position:absolute;top:1rem;left:1rem;right:1rem}.system-map-status{align-items:center;gap:.45rem;display:inline-flex}.motion-toggle{min-height:2.75rem;color:inherit;cursor:pointer;font-family:inherit;font-size:inherit;letter-spacing:inherit;text-transform:inherit;background:0 0;border:0;border-radius:999px;align-items:center;margin:-.8rem -.75rem -.8rem 0;padding:.65rem .75rem;display:inline-flex}.motion-toggle:hover{color:var(--text)}.system-map-status:before{background:var(--mint);content:"";border-radius:50%;width:.42rem;height:.42rem}.system-map svg{width:100%;height:100%;overflow:visible}.map-path{fill:none;stroke:var(--border-strong);stroke-dasharray:4 7;stroke-linecap:round;stroke-width:1.3px}.map-path-strong{stroke:color-mix(in srgb, var(--blue) 70%, var(--border-strong))}.signal-path{fill:none;stroke:var(--blue);stroke-dasharray:1 320;stroke-linecap:round;stroke-width:4px;animation:5.4s linear infinite signal-flow}.signal-path.signal-two{stroke:var(--mint);animation-delay:-2.7s}.signal-path.signal-return{stroke:var(--violet);stroke-width:3px;animation-duration:6.8s;animation-delay:-4.1s}.map-node-body{transform-box:fill-box;transform-origin:50%;animation:7s ease-in-out infinite alternate map-node-float}.map-float-two{animation-duration:8.2s;animation-delay:-1.8s}.map-float-three{animation-duration:7.6s;animation-delay:-3.4s}.map-float-four{animation-duration:8.8s;animation-delay:-5.1s}.node-pulse{transform-box:fill-box;transform-origin:50%;animation:node-acknowledge 5.4s var(--ease-out) infinite}.map-float-two .node-pulse{animation-delay:.8s}.map-float-three .node-pulse{animation-delay:2.4s}.map-float-four .node-pulse{animation-delay:1.6s}.ai-orbit{transform-box:fill-box;transform-origin:50%;animation:22s linear infinite orbit-spin}.ai-halo{transform-box:fill-box;transform-origin:50%;animation:6s ease-in-out infinite ai-breathe}.ai-core{transform-box:fill-box;transform-origin:50%;animation:ai-core-pulse 3.6s var(--ease-out) infinite}.map-node rect{fill:var(--bg-elevated);stroke:var(--border-strong)}.map-node .node-accent{fill:var(--blue-soft);stroke:var(--blue)}.map-node .node-accent-mint{fill:var(--mint-soft);stroke:var(--mint)}.map-node text{fill:var(--text);font-family:var(--font-mono);letter-spacing:.02em;font-size:11px;font-weight:650}.hero-index{color:var(--text-faint);font-family:var(--font-mono);font-size:.66rem;position:absolute;bottom:1rem;right:1.25rem}.context-strip{border-block:1px solid var(--border);grid-template-columns:repeat(3,1fr);display:grid}.context-item{min-height:8.2rem;padding:1.55rem 2rem 1.5rem 0}.context-item+.context-item{border-left:1px solid var(--border);padding-left:2rem}.context-item .meta-label{margin-bottom:.8rem;display:block}.context-item p{max-width:22rem;color:var(--text);font-size:.95rem;font-weight:620;line-height:1.5}.project-list{gap:1.2rem;display:grid}.project-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-elevated);min-height:30rem;color:var(--text);transition:border-color .22s ease, transform .45s var(--ease-out), box-shadow .45s var(--ease-out);grid-template-columns:minmax(0,.9fr) minmax(24rem,1.1fr);text-decoration:none;display:grid;position:relative;overflow:hidden}.project-card:focus-visible{border-color:var(--border-strong);box-shadow:var(--shadow);transform:translateY(-5px)}.project-card-content{flex-direction:column;justify-content:space-between;padding:clamp(2rem,4vw,3.4rem);display:flex}.project-card-number{color:var(--text-faint);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:1rem;font-size:.69rem;display:flex}.project-card-title{margin-top:1.35rem}.project-card-summary{max-width:33rem;color:var(--text-soft);margin-top:1.2rem;font-size:1.03rem}.tag-list{flex-wrap:wrap;gap:.45rem;margin-top:2.3rem;list-style:none;display:flex}.tag{border:1px solid var(--border);color:var(--text-soft);font-family:var(--font-mono);border-radius:999px;padding:.38rem .58rem;font-size:.66rem}.project-card-action{justify-content:space-between;align-items:center;gap:1rem;margin-top:2.5rem;font-size:.9rem;font-weight:720;display:flex}.project-card-arrow{border:1px solid var(--border);width:2.7rem;height:2.7rem;transition:transform .26s var(--ease-out), background .18s ease, border-color .18s ease;border-radius:50%;place-items:center;display:grid}.project-card:focus-visible .project-card-arrow{background:var(--text);color:var(--bg);border-color:#0000;transform:rotate(-10deg)}.project-card-visual{border-left:1px solid var(--border);background-color:var(--bg-soft);background-image:linear-gradient(var(--grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--grid-line) 1px, transparent 1px);background-size:2.5rem 2.5rem;min-height:24rem;position:relative;overflow:hidden}.project-card-visual:after{background:linear-gradient(transparent, color-mix(in srgb, var(--bg-soft) 85%, transparent));content:"";pointer-events:none;height:35%;position:absolute;inset:auto 0 0}.project-card[data-accent=blue] .project-card-visual{--project-accent:var(--blue);--project-soft:var(--blue-soft)}.project-card[data-accent=mint] .project-card-visual{--project-accent:var(--mint);--project-soft:var(--mint-soft)}.project-card[data-accent=violet] .project-card-visual{--project-accent:var(--violet);--project-soft:var(--violet-soft)}.project-card[data-accent=amber] .project-card-visual{--project-accent:var(--amber);--project-soft:var(--amber-soft)}.project-visual-transition-professional-systems{view-transition-name:project-professional-systems}.project-visual-transition-easyhotkeys{view-transition-name:project-easyhotkeys}.project-visual-transition-nosleep{view-transition-name:project-nosleep}.project-visual-transition-laravisor{view-transition-name:project-laravisor}.project-visual-svg{width:100%;height:100%;transition:transform .6s var(--ease-out)}.project-card:focus-visible .project-visual-svg{transform:scale(1.025)}.visual-line{fill:none;stroke:var(--border-strong);stroke-dasharray:4 7;stroke-linecap:round;stroke-width:1.25px}.visual-signal{fill:none;stroke:var(--project-accent);stroke-dasharray:1 240;stroke-linecap:round;stroke-width:4px;opacity:.2;transition:opacity .18s;animation:4.8s linear infinite card-signal}.project-card:focus-visible .visual-signal{opacity:1;animation-duration:2.1s}.project-hero-visual[data-in-view=true] .visual-signal{opacity:.42;animation-duration:3.8s}.visual-node{fill:var(--bg-elevated);stroke:var(--border-strong)}.visual-node-accent{fill:var(--project-soft);stroke:var(--project-accent)}.visual-label{fill:var(--text);font-family:var(--font-mono);font-size:11px;font-weight:650}.visual-node-group{opacity:0;animation:visual-node-arrive .7s var(--ease-out) both;animation-play-state:paused}html[data-motion=running] [data-motion-scene][data-in-view=true] .visual-node-group{animation-play-state:running}.visual-node-process{animation-delay:.12s}.visual-node-output{animation-delay:.24s}.visual-chart{animation-delay:.36s}.visual-bar{transform-box:fill-box;transform-origin:bottom;animation:visual-bar-rise .85s var(--ease-out) both;animation-play-state:paused}html[data-motion=running] [data-motion-scene][data-in-view=true] .visual-bar{animation-play-state:running}.visual-bar-one{animation-delay:.42s}.visual-bar-two{animation-delay:.5s}.visual-bar-three{animation-delay:.58s}.visual-bar-four{animation-delay:.66s}.visual-key{transform-box:fill-box;transform-origin:50%;animation:key-press 5.2s var(--ease-out) infinite}.visual-key-letter{animation-delay:80ms}.visual-confirm{transform-box:fill-box;transform-origin:50%;animation:confirmation-pulse 5.2s var(--ease-out) infinite;animation-delay:.24s}.visual-orbit{transform-box:fill-box;transform-origin:50%;animation:24s linear infinite orbit-spin}.visual-moon{transform-box:fill-box;transform-origin:50%;animation:6.5s ease-in-out infinite alternate moon-drift}.visual-battery{transform-box:fill-box;transform-origin:50%;animation:battery-ready 5.8s var(--ease-out) infinite}.visual-status{transform-box:fill-box;transform-origin:50%;animation:status-pulse 4.8s var(--ease-out) infinite}.visual-status-two{animation-delay:.42s}.visual-status-three{animation-delay:.84s}.terminal-line{animation:terminal-line-ready 6s var(--ease-out) infinite}.terminal-line-two{animation-delay:.24s}.terminal-line-three{animation-delay:.48s}.terminal-line-four{animation-delay:.72s}.terminal-cursor{animation:1.1s step-end infinite terminal-cursor}html[data-motion=running] [data-motion-scene][data-in-view=true] :is(.visual-key,.visual-confirm,.visual-moon,.visual-battery,.visual-status,.terminal-line){animation-play-state:running}.capability-grid{border-block:1px solid var(--border);grid-template-columns:repeat(3,1fr);display:grid}.capability{min-height:23rem;padding:2.5rem 2.2rem 2.5rem 0}.capability+.capability{border-left:1px solid var(--border);padding-left:2.2rem}.capability-index{color:var(--blue-ink);font-family:var(--font-mono);letter-spacing:.1em;font-size:.68rem}.capability h3{margin-top:4.5rem;font-size:clamp(1.45rem,2vw,2rem)}.capability p{color:var(--text-soft);margin-top:1.2rem}.capability-stack{color:var(--text-faint);font-family:var(--font-mono);flex-wrap:wrap;gap:.55rem 1rem;margin-top:2rem;font-size:.69rem;display:flex}.statement{grid-template-columns:.7fr 1.3fr;align-items:start;gap:clamp(3rem,8vw,8rem);display:grid}.statement-copy h2{max-width:13ch}.statement-copy>p{max-width:43rem;color:var(--text-soft);margin-top:1.6rem;font-size:clamp(1.05rem,1.7vw,1.25rem)}.principle-list{list-style:none}.principle{border-top:1px solid var(--border);grid-template-columns:2.5rem 1fr;gap:1.1rem;padding-block:1.5rem;display:grid}.principle:last-child{border-bottom:1px solid var(--border)}.principle-number{color:var(--blue-ink);font-family:var(--font-mono);font-size:.72rem}.principle strong{margin-bottom:.35rem;font-size:1.02rem;display:block}.principle p{color:var(--text-soft);font-size:.92rem}.contact-panel{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-elevated);padding:clamp(2.2rem,6vw,5rem);position:relative;overflow:hidden}.contact-orbit{pointer-events:none;border-radius:50%;width:30rem;height:30rem;position:absolute;bottom:-13rem;right:-9rem}.contact-orbit:before{background:radial-gradient(circle, color-mix(in srgb, var(--blue) 14%, transparent), transparent 70%);content:"";border-radius:50%;position:absolute;inset:18%}.contact-orbit-ring{border:1px solid color-mix(in srgb, var(--blue) 46%, var(--border));border-radius:50%;animation:24s linear infinite orbit-spin;position:absolute;inset:0}.contact-orbit-ring:after{background:var(--blue);width:.65rem;height:.65rem;box-shadow:0 0 0 .35rem color-mix(in srgb, var(--blue) 14%, transparent);content:"";border-radius:50%;position:absolute;top:13%;left:12%}.contact-orbit-ring-two{border-color:color-mix(in srgb, var(--mint) 40%, var(--border));animation-duration:31s;animation-direction:reverse;inset:3.5rem}.contact-orbit-ring-two:after{background:var(--mint);width:.5rem;height:.5rem;box-shadow:0 0 0 .3rem color-mix(in srgb, var(--mint) 13%, transparent);inset:auto 8% 18% auto}.contact-orbit-core{border:1px dashed color-mix(in srgb, var(--violet) 40%, var(--border));border-radius:50%;animation:18s linear infinite orbit-spin;position:absolute;inset:9.5rem}.contact-panel h2{z-index:1;max-width:15ch;position:relative}.contact-panel p{z-index:1;max-width:40rem;color:var(--text-soft);margin-top:1.5rem;font-size:1.08rem;position:relative}.contact-panel .button-row{z-index:1;margin-top:2rem;position:relative}.site-footer{padding-block:2.6rem}.footer-inner{color:var(--text-faint);font-family:var(--font-mono);justify-content:space-between;align-items:center;gap:2rem;font-size:.68rem;display:flex}.footer-links{gap:1.25rem;list-style:none;display:flex}.footer-links a{text-decoration:none}.footer-links a:hover{color:var(--text)}.page-hero{padding-block:clamp(6rem,12vw,10rem) clamp(4rem,8vw,7rem)}.page-hero .eyebrow{margin-bottom:1.3rem;display:block}.page-hero h1{max-width:12ch;font-size:clamp(3.5rem,8vw,7rem)}.page-hero p{max-width:51rem;color:var(--text-soft);margin-top:1.8rem;font-size:clamp(1.1rem,2.2vw,1.4rem);line-height:1.55}.work-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.work-grid .project-card{grid-template-columns:1fr;min-height:43rem}.work-grid .project-card-visual{border-bottom:1px solid var(--border);border-left:0;grid-row:1;min-height:22rem}.work-grid .project-card-content{min-height:21rem}.filter-row{flex-wrap:wrap;gap:.55rem;margin-bottom:2rem;display:flex}.filter-chip{border:1px solid var(--border);color:var(--text-soft);cursor:pointer;font-family:var(--font-mono);background:0 0;border-radius:999px;padding:.6rem .8rem;font-size:.68rem}.filter-chip[aria-pressed=true]{border-color:var(--text);background:var(--text);color:var(--bg)}.project-page-hero{padding-block:clamp(5rem,10vw,9rem) clamp(3rem,6vw,5rem)}.project-page-hero h1{max-width:13ch;margin-top:1.2rem;font-size:clamp(3.5rem,8vw,7.2rem)}.project-page-summary{grid-template-columns:minmax(0,1.2fr) minmax(17rem,.8fr);gap:clamp(3rem,8vw,8rem);margin-top:clamp(2.5rem,6vw,5rem);display:grid}.project-page-summary>p{color:var(--text-soft);font-size:clamp(1.15rem,2.2vw,1.5rem);line-height:1.55}.project-meta{grid-template-columns:repeat(2,1fr);gap:1.2rem;display:grid}.project-meta-item{border-top:1px solid var(--border);padding-top:.8rem}.project-meta-item span:last-child{margin-top:.3rem;font-size:.9rem;font-weight:620;display:block}.project-meta-item dd{margin:0}.project-hero-visual{border-block:1px solid var(--border);background-color:var(--bg-soft);background-image:linear-gradient(var(--grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--grid-line) 1px, transparent 1px);background-size:3rem 3rem;height:clamp(24rem,55vw,43rem);overflow:hidden}.project-hero-visual .project-visual-svg{width:min(64rem,100%);height:100%;margin-inline:auto}.project-hero-visual[data-accent=blue]{--project-accent:var(--blue);--project-soft:var(--blue-soft)}.project-hero-visual[data-accent=mint]{--project-accent:var(--mint);--project-soft:var(--mint-soft)}.project-hero-visual[data-accent=violet]{--project-accent:var(--violet);--project-soft:var(--violet-soft)}.project-hero-visual[data-accent=amber]{--project-accent:var(--amber);--project-soft:var(--amber-soft)}.project-content{grid-template-columns:minmax(10rem,.45fr) minmax(0,1fr);gap:clamp(3rem,10vw,9rem);display:grid}.project-content+.project-content{border-top:1px solid var(--border);margin-top:clamp(4rem,8vw,7rem);padding-top:clamp(4rem,8vw,7rem)}.project-content-label{color:var(--text-faint);font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;font-size:.7rem}.project-content-body{max-width:49rem}.project-content-body h2{font-size:clamp(2rem,4vw,3.5rem)}.project-content-body h3{margin-top:2.5rem;font-size:1.3rem}.project-content-body p{color:var(--text-soft);margin-top:1.25rem;font-size:1.05rem}.project-content-body ul{color:var(--text-soft);gap:.8rem;margin-top:1.5rem;padding-left:1.2rem;display:grid}.decision-grid{grid-template-columns:repeat(2,1fr);gap:.8rem;margin-top:2rem;display:grid}.decision-card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-elevated);padding:1.4rem}.decision-card .meta-label{color:var(--blue-ink)}.decision-card h3{margin-top:1.5rem;font-size:1.25rem}.decision-card p{margin-top:.7rem;font-size:.92rem}.confidentiality-notice{border:1px solid color-mix(in srgb, var(--blue) 35%, var(--border));border-radius:var(--radius-md);background:color-mix(in srgb, var(--blue-soft) 45%, var(--bg-elevated));grid-template-columns:auto 1fr;gap:1rem;margin-top:2rem;padding:1.25rem;display:grid}.confidentiality-notice svg{width:1.1rem;height:1.1rem;color:var(--blue);margin-top:.15rem}.confidentiality-notice strong{font-size:.9rem;display:block}.confidentiality-notice p{margin-top:.35rem;font-size:.86rem}.next-project{border-top:1px solid var(--border);grid-template-columns:1fr auto;align-items:end;gap:2rem;padding-block:clamp(4rem,9vw,8rem);text-decoration:none;display:grid}.next-project .eyebrow{margin-bottom:1rem;display:block}.next-project h2{transition:color .18s}.next-project:hover h2{color:var(--blue)}.next-project-arrow{transition:transform .26s var(--ease-out);font-size:clamp(3rem,6vw,5rem);line-height:1}.next-project:hover .next-project-arrow{transform:translate(.5rem,-.5rem)}.about-intro{grid-template-columns:.7fr 1.3fr;gap:clamp(3rem,8vw,8rem);display:grid}.about-intro-copy p{color:var(--text-soft);font-size:clamp(1.15rem,2.3vw,1.6rem);line-height:1.55}.about-intro-copy p+p{margin-top:1.5rem}.about-principles{grid-template-columns:repeat(2,1fr);gap:1rem;display:grid}.about-principle{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-elevated);min-height:17rem;padding:2rem}.about-principle h3{margin-top:3rem;font-size:1.55rem}.about-principle p{color:var(--text-soft);margin-top:.9rem}.career-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(3rem,8vw,7rem);display:grid}.career-column-label{color:var(--text-faint);font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;margin-bottom:1.2rem;font-size:.7rem}.career-entry{border-top:1px solid var(--border);grid-template-columns:minmax(8.5rem,.42fr) minmax(0,1fr);gap:1.5rem;padding-block:1.7rem;display:grid}.career-entry:last-child{border-bottom:1px solid var(--border)}.career-entry-meta{color:var(--text-faint);font-family:var(--font-mono);text-transform:uppercase;flex-direction:column;gap:.35rem;font-size:.68rem;line-height:1.5;display:flex}.career-entry h4{font-size:1.2rem}.career-entry-organization{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;margin-top:.25rem;color:var(--blue-ink)!important;font-size:.72rem!important}.career-entry p{color:var(--text-soft);margin-top:.7rem;font-size:.92rem}.career-recognition{margin-top:3rem}.resume-header{border-bottom:1px solid var(--border);grid-template-columns:1fr auto;align-items:end;gap:2rem;padding-bottom:2.5rem;display:grid}.resume-header h1{font-size:clamp(3.3rem,7vw,6rem)}.resume-contact{color:var(--text-soft);margin-top:1rem}.resume-grid{grid-template-columns:minmax(13rem,.55fr) minmax(0,1.45fr);gap:clamp(3rem,9vw,8rem);display:grid}.resume-section+.resume-section{margin-top:4rem}.resume-section h2{letter-spacing:-.02em;font-size:1.05rem}.resume-section-body{margin-top:1.2rem}.resume-section-body>p{color:var(--text-soft);font-size:1.06rem}.resume-entry{border-top:1px solid var(--border);grid-template-columns:8rem 1fr;gap:1.4rem;padding-block:1.5rem;display:grid}.resume-entry:last-child{border-bottom:1px solid var(--border)}.resume-entry-meta{color:var(--text-faint);font-family:var(--font-mono);text-transform:uppercase;flex-direction:column;gap:.35rem;font-size:.69rem;line-height:1.45;display:flex}.resume-entry h3{font-size:1.2rem}.resume-entry p{color:var(--text-soft);margin-top:.5rem;font-size:.92rem}.resume-entry-type{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--blue-ink)!important;font-size:.68rem!important}.resume-entry ul{color:var(--text-soft);gap:.45rem;margin-top:.9rem;padding-left:1.1rem;font-size:.86rem;display:grid}.skill-group+.skill-group{margin-top:2rem}.skill-group h3{letter-spacing:-.01em;font-size:.9rem}.skill-group p{color:var(--text-soft);margin-top:.45rem;font-size:.88rem}.not-found{text-align:center;place-items:center;min-height:calc(100svh - 10rem);display:grid}.not-found-code{color:var(--blue-ink);font-family:var(--font-mono);letter-spacing:.1em;font-size:.72rem}.not-found h1{margin-top:1.5rem;font-size:clamp(3.5rem,10vw,8rem)}.not-found p{max-width:34rem;color:var(--text-soft);margin:1.5rem auto 0}.not-found .button-row{justify-content:center;margin-top:2rem}}@layer utilities{.sr-only{clip:rect(0, 0, 0, 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.reveal{opacity:0;transition:opacity .55s var(--ease-out), transform .55s var(--ease-out);transform:translateY(.8rem)}.reveal[data-visible=true],.no-js .reveal{opacity:1;transform:translateY(0)}html:not(.no-js) [data-intro]{opacity:0;transform:translateY(1.15rem)}html[data-motion-ready=true] [data-intro]{animation:intro-arrive .72s var(--ease-out) both;animation-delay:var(--intro-delay,90ms)}[data-intro="0"]{--intro-delay:90ms}[data-intro="1"]{--intro-delay:.18s}[data-intro="2"]{--intro-delay:.27s}[data-intro="3"]{--intro-delay:.36s}[data-intro="4"]{--intro-delay:.45s}html[data-motion=paused] .decorative-loop,html[data-motion=reduced] .decorative-loop,html[data-page-visible=false] .decorative-loop,[data-motion-scene]:not([data-in-view=true]) .decorative-loop{animation-play-state:paused!important}html[data-motion=paused] [data-intro],html[data-motion=reduced] [data-intro]{opacity:1;transform:none;animation:none!important}html[data-motion=paused] .visual-node-group,html[data-motion=reduced] .visual-node-group{opacity:1;animation:none!important}html[data-motion=paused] .visual-bar,html[data-motion=reduced] .visual-bar,html[data-motion=paused] :is(.visual-key,.visual-confirm,.visual-moon,.visual-status,.terminal-line),html[data-motion=reduced] :is(.visual-key,.visual-confirm,.visual-moon,.visual-status,.terminal-line){opacity:1;transform:none;animation:none!important}html[data-motion=paused] .visual-battery,html[data-motion=reduced] .visual-battery{opacity:1;animation:none!important}html[data-motion=paused] :is(.signal-path,.visual-signal),html[data-motion=reduced] :is(.signal-path,.visual-signal){opacity:0;animation:none!important}.delay-1{transition-delay:80ms}.delay-2{transition-delay:.16s}.delay-3{transition-delay:.24s}.mt-2{margin-top:2rem}.mt-2-5{margin-top:2.5rem}.mt-3{margin-top:3rem}.mt-3-5{margin-top:3.5rem}.stack-small>*+*{margin-top:.65rem}.no-js .motion-toggle{display:none}.no-js .visual-node-group{opacity:1;animation:none}.no-js .visual-bar{opacity:1;animation:none;transform:none}@keyframes signal-flow{0%{stroke-dashoffset:0}to{stroke-dashoffset:-640px}}@keyframes card-signal{to{stroke-dashoffset:-480px}}@keyframes intro-arrive{0%{opacity:0;transform:translateY(1.15rem)}to{opacity:1;transform:translateY(0)}}@keyframes page-exit{to{opacity:0;transform:translateY(-.35rem)}}@keyframes page-enter{0%{opacity:0;transform:translateY(.55rem)}}@keyframes reading-progress{to{transform:scaleX(1)}}@keyframes map-scan{0%,14%{opacity:0;transform:translateY(0)}18%{opacity:.48}58%{opacity:.3;transform:translateY(24rem)}62%,to{opacity:0;transform:translateY(24rem)}}@keyframes map-node-float{0%{transform:translateY(-2px)}to{transform:translateY(3px)}}@keyframes node-acknowledge{0%,68%,to{opacity:.8;transform:scale(1)}76%{opacity:1;transform:scale(1.75)}}@keyframes orbit-spin{to{transform:rotate(360deg)}}@keyframes ai-breathe{0%,to{opacity:.72;transform:scale(.98)}50%{opacity:1;transform:scale(1.03)}}@keyframes ai-core-pulse{0%,72%,to{transform:scale(1)}82%{transform:scale(1.45)}}@keyframes visual-node-arrive{0%{opacity:0}to{opacity:1}}@keyframes visual-bar-rise{0%{opacity:.2;transform:scaleY(.08)}to{transform:scaleY(1)}}@keyframes key-press{0%,12%,to{transform:translateY(0)}5%,8%{transform:translateY(4px)}}@keyframes confirmation-pulse{0%,10%,to{opacity:.82;transform:scale(.995)}16%,24%{opacity:1;transform:scale(1)}}@keyframes moon-drift{0%{transform:translate(-2px,1px)rotate(-1deg)}to{transform:translate(3px,-2px)rotate(1.5deg)}}@keyframes battery-ready{0%,70%,to{opacity:.82}80%{opacity:1}}@keyframes status-pulse{0%,62%,to{opacity:.55;transform:scale(.9)}72%,82%{opacity:1;transform:scale(1.35)}}@keyframes terminal-line-ready{0%,60%,to{opacity:.48}72%,88%{opacity:1}}@keyframes terminal-cursor{0%,48%{opacity:1}50%,to{opacity:.15}}}@view-transition{navigation:auto}::view-transition-old(root){animation:page-exit .18s var(--ease-standard) both}::view-transition-new(root){animation:page-enter .36s var(--ease-out) both}::view-transition-group(wordmark){animation-duration:.42s;animation-timing-function:var(--ease-out)}html[data-motion=paused]::view-transition-old(root),html[data-motion=paused]::view-transition-new(root),html[data-motion=paused]::view-transition-group(wordmark){animation:none}@media (hover:hover) and (pointer:fine){.project-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow);transform:translateY(-5px)}.project-card:hover .project-card-arrow{background:var(--text);color:var(--bg);border-color:#0000;transform:rotate(-10deg)}.project-card:hover .project-visual-svg{transform:scale(1.025)}.project-card:hover .visual-signal{opacity:1;animation:2.1s linear infinite card-signal}}@media (width<=960px){@layer components{.hero-grid,.section-heading,.statement,.about-intro,.career-grid,.project-page-summary,.resume-grid{grid-template-columns:1fr}.hero{min-height:auto}.hero h1{max-width:10ch}.hero-visual{min-height:31rem}.project-card{grid-template-columns:1fr}.project-card-visual{border-bottom:1px solid var(--border);border-left:0;grid-row:1}.capability-grid{border-bottom:0;grid-template-columns:1fr}.capability{border-bottom:1px solid var(--border);min-height:auto;padding:2.2rem 0}.capability+.capability{border-left:0;padding-left:0}.capability h3{margin-top:2.5rem}.work-grid{grid-template-columns:1fr}.project-content{grid-template-columns:1fr;gap:1.5rem}}}@media (width<=720px){@layer base{:root{--shell:min(100% - 1.35rem, 78rem)}}@layer components{.header-inner{min-height:4.2rem}.wordmark-name{display:none}.menu-button{display:inline-grid}.primary-nav{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-elevated);box-shadow:var(--shadow);padding:.65rem;display:none;position:absolute;top:calc(100% + .5rem);left:.7rem;right:.7rem}.site-header[data-menu-open=true] .primary-nav{display:block}.no-js .header-actions{display:none}.no-js .primary-nav{box-shadow:none;background:0 0;border:0;padding:0;display:block;position:static}.no-js .nav-links{gap:0;display:flex}.no-js .nav-link{width:auto;padding-inline:.55rem;font-size:.78rem}.nav-links{gap:.2rem;display:grid}.nav-link{border-radius:var(--radius-sm);width:100%;padding-inline:.85rem}.hero{padding-block:4rem 5rem}.hero-grid{gap:3.5rem}.hero-visual{min-height:25rem}.context-strip{grid-template-columns:1fr}.context-item{min-height:auto;padding:1.3rem 0}.context-item+.context-item{border-top:1px solid var(--border);border-left:0;padding-left:0}.section-heading{gap:1.5rem}.project-card,.work-grid .project-card{min-height:auto}.project-card-content,.work-grid .project-card-content{min-height:23rem;padding:1.5rem}.project-card-visual,.work-grid .project-card-visual{min-height:19rem}.project-card-summary{font-size:.95rem}.statement{gap:3.5rem}.contact-orbit{opacity:.45}.footer-inner{flex-direction:column;align-items:flex-start}.project-meta,.decision-grid,.about-principles{grid-template-columns:1fr}.project-page-hero h1,.page-hero h1{font-size:clamp(3.4rem,17vw,5.5rem)}.resume-header{grid-template-columns:1fr;align-items:start}.resume-entry{grid-template-columns:1fr;gap:.5rem}.career-entry{grid-template-columns:1fr;gap:.7rem}}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.reveal{opacity:1;transform:none}html:not(.no-js) [data-intro]{opacity:1;transform:none;animation:none!important}.motion-toggle,.site-header:after{display:none}.system-map-glow{transform:translate(0,0)!important}::view-transition-old(root),::view-transition-new(root),::view-transition-group(wordmark){animation:none!important}}@media print{:root,:root[data-theme=dark]{--bg:#fff;--bg-elevated:#fff;--text:#111;--text-soft:#333;--text-faint:#555;--border:#ccc}body{color:#111;background:#fff;font-size:10.5pt}.site-header,.site-footer,.resume-actions,.skip-link{display:none!important}.section{padding-block:1.5rem}.resume-header h1{font-size:34pt}.resume-entry,.resume-section,.skill-group{break-inside:avoid}a{text-decoration:none}@page{size:A4;margin:15mm}}
