:root{--charcoal:#2a2929;--deep:#232221;--card:#333231;--mint:#64ffda;--mist:#d0cbc7;--heading:#ccd6f6;--mute:#8d8885;--line:#d0cbc729;--sans:"Manrope", "Segoe UI", sans-serif;--display:"Syne", "Manrope", sans-serif;--header:76px;--duration-exit:.15s;--duration-enter:.21s;--duration-move:.42s;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--charcoal);color:var(--mist);font-family:var(--sans);margin:0;font-size:16.5px;line-height:1.6}img{max-width:100%;display:block}button,input,textarea{font:inherit;color:inherit}a{color:var(--mint)}:focus-visible{outline:2px solid var(--mint);outline-offset:3px}.skip{background:var(--mint);color:var(--deep);z-index:50;padding:8px 12px;font-weight:700;position:absolute;top:-48px;left:12px}.skip:focus{top:12px}.rail{z-index:30;flex-direction:column;align-items:center;gap:14px;display:flex;position:fixed;bottom:0;left:18px}.rail a{color:var(--mist);place-items:center;width:36px;height:36px;display:grid}.rail a:hover{color:var(--mint)}.rail:after{content:"";background:var(--mute);width:1px;height:90px}.site-header{z-index:20;height:var(--header);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#2a2929e0;border-bottom:1px solid #0000;align-items:center;display:flex;position:sticky;top:0}.site-header.is-scrolled{border-bottom-color:var(--line)}.header-inner,.wrap{width:min(1120px,100% - 48px);margin:0 auto}.header-inner{justify-content:space-between;align-items:center;gap:16px;display:flex}.brand{color:var(--heading);font-family:var(--display);align-items:center;gap:10px;font-weight:700;text-decoration:none;display:flex}.brand-mark{border-radius:14px;flex:none;width:54px;height:54px;overflow:hidden}.brand-mark img{object-fit:cover;width:100%;height:100%;transform:scale(1.62)}.nav{gap:6px;display:flex}.nav a{color:var(--mist);border-radius:999px;padding:8px 12px;font-weight:600;text-decoration:none}.nav a.is-active,.nav a:hover{color:var(--mint);background:#64ffda1a}.menu-toggle{border:1px solid var(--line);background:var(--card);color:var(--heading);border-radius:999px;padding:8px 14px;font-weight:700;display:none}.hero{grid-template-columns:1.05fr .95fr;align-items:center;gap:36px;padding:64px 0 36px;display:grid;position:relative;overflow:visible}.hero:before{content:"";width:420px;height:420px;left:var(--x,70%);top:var(--y,40%);pointer-events:none;background:radial-gradient(circle,#64ffda29,#0000 68%);position:absolute;translate:-50% -50%}.kicker{color:var(--mint);margin:0 0 12px;font-weight:700}h1,h2,h3{font-family:var(--display);color:var(--heading);letter-spacing:-.03em}h1{margin:0;font-size:clamp(3.2rem,6vw,5.4rem);font-weight:700;line-height:.92}.lede{max-width:36rem;color:var(--mist);margin:18px 0 0;font-size:1.12rem}.now{color:var(--heading);margin:16px 0 0;font-weight:600}.actions{flex-wrap:wrap;gap:10px;margin-top:26px;display:flex}.button{cursor:pointer;background:0 0;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;padding:12px 18px;font-weight:700;text-decoration:none;display:inline-flex}.button.primary{background:var(--mint);color:#17332e}.button.primary:hover{background:#8fffe6}.button.ghost{border-color:var(--line);color:var(--heading);background:0 0}.button.ghost:hover{border-color:var(--mint);color:var(--mint)}.portrait-slot{justify-self:end;width:min(100%,420px)}.portrait{aspect-ratio:4/5;object-fit:cover;object-position:58% 16%;border:2px solid var(--mint);border-radius:28px;width:100%;box-shadow:0 24px 50px #00000047}section{padding:42px 0;scroll-margin-top:92px}.section-head{justify-content:space-between;align-items:end;gap:16px;margin-bottom:18px;display:flex}h2{margin:0;font-size:2.2rem}.section-note{color:var(--mute);max-width:28rem;margin:0}.about-grid{grid-template-columns:1.35fr .8fr;gap:28px;display:grid}.prose p{margin:0 0 14px}.credential-list{background:var(--deep);border:1px solid var(--line);border-radius:18px;margin:0;padding:8px 18px;list-style:none}.credential-list li{border-top:1px solid var(--line);padding:12px 0}.credential-list li:first-child{border-top:0}.roles,.meter-board,.skill-groups{gap:12px;display:grid}.role,.meter-card,form,.stage{background:var(--deep);border:1px solid var(--line);border-radius:18px}.role.is-open{border-color:#64ffda73}.role-toggle{text-align:left;cursor:pointer;width:100%;color:inherit;background:0 0;border:0;grid-template-columns:1fr auto;gap:8px 16px;padding:16px 18px;display:grid}.role-org{font-family:var(--display);color:var(--heading);font-size:1.35rem;display:block}.role-title{color:var(--mint);margin-top:4px;font-weight:700;display:block}.role-dates{color:var(--mute);white-space:nowrap;font-weight:700}.role-body{color:var(--mist);padding:0 18px 16px}.role-body ul{margin:8px 0 0;padding-left:18px}.meter-board{grid-template-columns:1fr 1fr}.meter-card{padding:18px}.meter-card h3{font-family:var(--sans);margin:0 0 14px;font-size:1rem;font-weight:700}.meter{margin-top:12px}.meter-label{justify-content:space-between;margin-bottom:6px;font-size:.92rem;display:flex}.meter-label b{color:var(--mint);font-weight:700}.meter-track{background:#3c3b3a;border-radius:99px;height:7px;overflow:hidden}.meter-fill{border-radius:inherit;background:linear-gradient(90deg, #3dbea6, var(--mint));width:0;height:100%;transition:width .9s cubic-bezier(.2,.7,.2,1);display:block}.meter-board.is-on .meter-fill{width:var(--level)}.skill-group h3{font-family:var(--sans);color:var(--heading);margin:0 0 8px;font-size:.95rem}.chips,.filters,.stack-row,.dialog-actions{flex-wrap:wrap;gap:8px;display:flex}.chip,.filter{border:1px solid var(--line);background:var(--deep);color:var(--mist);cursor:pointer;border-radius:999px;padding:7px 12px;font-weight:600}.chip.is-static{cursor:default;color:var(--mute)}.chip.is-on,.filter.is-on{background:var(--mint);border-color:var(--mint);color:#17332e}.filters{margin-bottom:8px}.filter-status{min-height:1.5em;color:var(--mute)}.filter-status strong{color:var(--mint)}.linkish{color:var(--mint);cursor:pointer;background:0 0;border:0;padding:0;font-weight:700}.project-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.project-card{text-align:left;background:var(--deep);border:1px solid var(--line);cursor:pointer;width:100%;color:inherit;border-radius:18px;flex-direction:column;padding:0;display:flex;overflow:hidden}.project-card:hover{border-color:#64ffda8c}.media{aspect-ratio:16/10;background:#1c1b1b;position:relative;overflow:hidden}.media img{object-fit:cover;width:100%;height:100%}.media-ghost{background:#1c1b1b}.art{background:linear-gradient(#64ffda14 1px,#0000 1px) 0 0/22px 22px,linear-gradient(90deg,#64ffda14 1px,#0000 1px) 0 0/22px 22px,radial-gradient(280px 140px at 50% 45%,#64ffda2e,#0000 70%),#1c1b1b;place-items:center;height:100%;display:grid}.art svg{width:42%;height:auto}.card-body{gap:8px;padding:14px 16px 16px;display:grid}.meta{color:var(--mute);justify-content:space-between;font-size:.82rem;font-weight:700;display:flex}.card-title{font-family:var(--display);color:var(--heading);margin:0;font-size:1.35rem;font-weight:700}.project-card p,.stage p{margin:0}.stack-row span{color:var(--mint);background:#64ffda1a;border-radius:999px;padding:3px 8px;font-size:.78rem;font-weight:700}.empty{border:1px dashed var(--line);color:var(--mute);border-radius:18px;padding:28px}.contact-grid{grid-template-columns:.8fr 1.2fr;gap:28px;display:grid}.contact-list{margin:16px 0 0;padding:0;list-style:none}.contact-list li{margin:0 0 8px}.contact-list a{font-weight:700;text-decoration:none}.contact-list a:hover{text-decoration:underline}form{gap:8px;padding:16px;display:grid}label{color:var(--heading);font-size:.88rem;font-weight:700}input,textarea{border:1px solid var(--line);background:var(--charcoal);border-radius:12px;width:100%;padding:11px 12px}textarea{resize:vertical;min-height:120px}.form-note{color:var(--mute);font-size:.88rem}.site-footer{color:var(--mute);border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;gap:12px;padding:28px 0 48px;display:flex}.stage-root{z-index:40;background:#121111b8;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.stage{grid-template-columns:.9fr 1.1fr;gap:18px;width:min(880px,100%);max-height:min(86vh,760px);padding:16px;display:grid;overflow:auto}.stage .media{border-radius:14px}.stage h3{margin:8px 0;font-size:2rem}.stage ul{margin:8px 0 0;padding-left:18px}.close-row{grid-column:1/-1;justify-content:flex-end;display:flex}@keyframes fade{0%{opacity:0}to{opacity:1}}::view-transition{pointer-events:none}::view-transition-old(root){display:none}::view-transition-new(root){animation:none}::view-transition-old(.fade-out){animation:var(--duration-exit) ease-in fade reverse}::view-transition-new(.fade-in){animation:var(--duration-enter) ease-out var(--duration-exit) both fade}::view-transition-group(.morph){animation-duration:var(--duration-move)}::view-transition-image-pair(.morph){animation-name:via-blur}@keyframes via-blur{30%{filter:blur(3px)}}@media (width<=900px){.rail{display:none}.hero,.about-grid,.contact-grid,.project-grid,.meter-board,.stage{grid-template-columns:1fr}.portrait-slot{justify-self:start;width:min(100%,360px)}.menu-toggle{display:inline-flex}.nav{top:var(--header);background:var(--charcoal);border-bottom:1px solid var(--line);flex-direction:column;padding:8px 20px 16px;display:none;position:absolute;left:0;right:0}.nav.is-open{display:flex}.role-toggle{grid-template-columns:1fr}.header-inner,.wrap{width:min(1120px,100% - 32px)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.meter-fill{transition:none}::view-transition-old(*){animation-duration:0s!important;animation-delay:0s!important}::view-transition-new(*){animation-duration:0s!important;animation-delay:0s!important}::view-transition-group(*){animation-duration:0s!important;animation-delay:0s!important}}
