:root{--bg: #010205;--text-main: #f4f6fb;--text-soft: rgba(244, 246, 251, .74);--text-muted: rgba(244, 246, 251, .48);--line: rgba(255, 255, 255, .1);--line-strong: rgba(255, 255, 255, .18);--accent: #d8e8ff;--pointer-x: 0;--pointer-y: 0;--scroll-progress: 0;--max-width: 1180px;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--bg)}body{margin:0;min-width:320px;min-height:100vh;background:#010205;color:var(--text-main);font-family:Bahnschrift,Trebuchet MS,Segoe UI Variable Display,Segoe UI,sans-serif;line-height:1.5}::selection{background:#d8e8ff24;color:var(--text-main)}a{color:inherit;text-decoration:none}img,svg{display:block;max-width:100%}button,input,textarea,select{font:inherit}#root{min-height:100vh}.skip-link{position:fixed;top:1rem;left:1rem;z-index:60;padding:.75rem 1rem;border:1px solid var(--line-strong);border-radius:999px;background:#04050af0;transform:translateY(-170%);transition:transform .2s ease}.skip-link:focus-visible{transform:translateY(0)}:focus-visible{outline:2px solid rgba(216,232,255,.72);outline-offset:3px}.app-shell{position:relative;min-height:100vh;overflow-x:clip;isolation:isolate}.site-main{position:relative;z-index:1}.progress-bar{position:fixed;inset:0 auto auto 0;z-index:45;width:100%;height:1px;background:linear-gradient(90deg,#ffffff38,#d8e8ffd9);transform:scaleX(var(--scroll-progress));transform-origin:0 50%;pointer-events:none}.site-header{position:sticky;top:0;z-index:40;background:linear-gradient(180deg,#010205d1,#01020538)}.header-shell{width:min(100%,calc(var(--max-width) + 4rem));margin:0 auto;padding:1.1rem clamp(1rem,3vw,2rem);display:flex;align-items:center;justify-content:space-between;gap:1rem}.brand-lockup{display:flex;flex-direction:column;gap:.15rem}.brand-lockup strong{font-size:.82rem;letter-spacing:.18em;text-transform:uppercase}.brand-lockup span{color:var(--text-muted);font-size:.75rem}.nav-list{display:flex;flex-wrap:wrap;gap:1.2rem;margin:0;padding:0;list-style:none}.nav-link{position:relative;color:var(--text-muted);font-size:.86rem;letter-spacing:.08em;text-transform:uppercase;transition:color .2s ease}.nav-link:after{content:"";position:absolute;inset:auto 0 -.38rem;height:1px;background:#ffffffbf;transform:scaleX(0);transform-origin:0 50%;transition:transform .22s ease}.nav-link:hover,.nav-link.is-active{color:var(--text-main)}.nav-link:hover:after,.nav-link.is-active:after{transform:scaleX(1)}.section{position:relative;scroll-margin-top:5rem;padding:clamp(6.4rem,13vw,10.5rem) clamp(1rem,4vw,2rem)}.section--hero{min-height:calc(100svh - 1.5rem);display:flex;align-items:center;padding-top:clamp(6.8rem,11vw,9.6rem);padding-bottom:clamp(5rem,9vw,7.5rem)}.section--end{padding-bottom:4rem}.section-shell{width:min(100%,var(--max-width));margin:0 auto}.hero-layout{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.18fr) minmax(18rem,.82fr);gap:clamp(2.5rem,9vw,7rem);align-items:center}.hero-primary{display:grid;align-content:start;max-width:42rem}.hero-eyebrow,.section-eyebrow,.work-index{color:var(--text-muted);letter-spacing:.18em;text-transform:uppercase;font-size:.72rem}.hero-kicker{margin:1rem 0 .4rem;color:var(--text-soft);font-size:.95rem;letter-spacing:.08em;text-transform:uppercase}.hero-title{margin:0;max-width:7ch;font-size:clamp(4.5rem,15vw,10rem);line-height:.9;letter-spacing:-.08em;text-wrap:balance}.hero-role{max-width:20rem;margin:1.15rem 0 0;color:var(--text-soft);font-size:clamp(1rem,2vw,1.18rem);line-height:1.4}.hero-secondary{max-width:29rem;padding-bottom:0}.hero-intro{margin:0;max-width:24rem;font-size:clamp(1.2rem,2.1vw,1.56rem);line-height:1.28}.hero-caption{max-width:24rem;margin:1.15rem 0 0;color:var(--text-soft);font-size:1rem}.button-row{display:flex;flex-wrap:wrap;gap:.8rem}.contact-actions{display:flex;flex-wrap:wrap;gap:.8rem;justify-content:flex-end}.button-row--hero{margin:2.2rem 0 1.4rem}.button-pill{display:inline-flex;align-items:center;min-height:2.95rem;padding:.72rem 1.1rem;border-radius:999px;border:1px solid var(--line);transition:transform .2s ease,border-color .2s ease,color .2s ease,background-color .2s ease}.button-pill__content{display:inline-flex;align-items:center;gap:.72rem}.button-pill:hover{transform:translateY(-2px);border-color:var(--line-strong);color:var(--text-main)}.button-pill--ghost{background:#ffffff05;color:var(--text-soft)}.button-pill--primary{background:#ffffff0d;color:var(--text-main)}.button-pill--secondary{background:transparent;color:var(--text-soft)}.button-icon,.inline-icon{width:.95rem;height:.95rem;flex:none}.proof-line{display:flex;flex-wrap:wrap;gap:.8rem 1.2rem;margin:0;padding:0;list-style:none;color:var(--text-muted);font-size:.84rem;letter-spacing:.08em;text-transform:uppercase}.proof-line li{position:relative;padding-left:.82rem}.proof-line li:before{content:"";position:absolute;top:.48rem;left:0;width:.24rem;height:.24rem;border-radius:50%;background:#ffffff57}.section-heading{max-width:38rem;margin-bottom:clamp(3rem,5vw,4.5rem)}.section-heading h2{margin:1rem 0 .8rem;font-size:clamp(2.2rem,5vw,3.4rem);line-height:1;letter-spacing:-.05em}.section-heading p{margin:0;color:var(--text-soft);font-size:.98rem}.work-list{border-top:1px solid var(--line)}.work-row{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:clamp(2rem,4vw,3.5rem);padding:clamp(2.75rem,4vw,3.5rem) 0;border-bottom:1px solid var(--line)}.work-left{display:grid;gap:1rem;align-content:start}.work-left h3{margin:0;font-size:clamp(1.6rem,3vw,2.2rem);font-weight:500;letter-spacing:-.04em}.work-subtitle{margin:.25rem 0 0;color:var(--text-muted);font-size:.92rem;letter-spacing:.08em;text-transform:uppercase}.work-identity{margin:1rem 0 0;max-width:28rem;color:var(--text-soft);font-size:.98rem;line-height:1.45}.work-right{display:grid;gap:1.35rem;align-content:start}.work-visual{position:relative;overflow:hidden;contain:paint;width:min(100%,36rem);aspect-ratio:16 / 9;border:1px solid rgba(255,255,255,.1);border-radius:1.35rem;background:linear-gradient(180deg,#ffffff0a,#ffffff04),#ffffff05;box-shadow:0 1.5rem 3rem #00000047,inset 0 1px #ffffff0d}.work-visual:before{content:"";position:absolute;inset:0 0 auto;height:2rem;z-index:1;background:radial-gradient(circle at 1rem 50%,rgba(255,255,255,.22) 0 .14rem,transparent .16rem),radial-gradient(circle at 1.55rem 50%,rgba(255,255,255,.16) 0 .14rem,transparent .16rem),radial-gradient(circle at 2.1rem 50%,rgba(255,255,255,.12) 0 .14rem,transparent .16rem),linear-gradient(180deg,#ffffff09,#ffffff03)}.work-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#01020503,#0102051f),linear-gradient(120deg,rgba(255,255,255,.06),transparent 40%)}.work-visual img{width:100%;height:100%;object-fit:cover;filter:saturate(1.02) brightness(.97) contrast(1.02);transform:scale(1.01)}.work-summary{margin:0;max-width:34rem;color:var(--text-soft);font-size:1rem}.work-details,.work-stack,.stack-row ul{display:flex;flex-wrap:wrap;gap:.65rem .8rem;margin:0;padding:0;list-style:none}.work-details li,.work-stack li,.stack-row li{color:var(--text-muted);font-size:.9rem}.work-details li{position:relative;padding-left:.9rem}.work-details li:before{content:"";position:absolute;top:.45rem;left:0;width:.26rem;height:.26rem;border-radius:50%;background:#ffffff6b}.project-links{display:flex;flex-wrap:wrap;gap:.8rem}.project-links a{display:inline-flex;align-items:center;gap:.58rem;min-height:2.55rem;padding:.58rem .9rem;border:1px solid rgba(255,255,255,.1);border-radius:999px;background:#ffffff05;color:var(--text-main);font-size:.92rem;transition:transform .2s ease,border-color .2s ease,background-color .2s ease}.project-links a:hover{transform:translateY(-2px);border-color:var(--line-strong);background:#ffffff0b}.stack-table{border-top:1px solid var(--line)}.stack-row{display:grid;grid-template-columns:minmax(9rem,.38fr) minmax(0,1fr);gap:1.5rem;padding:1.35rem 0;border-bottom:1px solid var(--line)}.stack-row h3{margin:0;color:var(--text-main);font-size:.84rem;letter-spacing:.14em;text-transform:uppercase}.certificate-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1.25rem,3vw,2rem)}.certificate-card{display:grid;gap:1.2rem;padding:1.1rem;border:1px solid rgba(255,255,255,.11);border-radius:1.5rem;background:linear-gradient(180deg,#ffffff0a,#ffffff04),#04050a57;box-shadow:0 1.5rem 3rem #0000003d,inset 0 1px #ffffff0d}.certificate-visual{position:relative;overflow:hidden;contain:paint;aspect-ratio:16 / 11;border-radius:1rem;border:1px solid rgba(255,255,255,.1);background:#ffffff05}.certificate-visual:before{content:"";position:absolute;inset:0 0 auto;height:1.9rem;z-index:1;background:radial-gradient(circle at .95rem 50%,rgba(255,255,255,.2) 0 .14rem,transparent .16rem),radial-gradient(circle at 1.5rem 50%,rgba(255,255,255,.15) 0 .14rem,transparent .16rem),radial-gradient(circle at 2.05rem 50%,rgba(255,255,255,.11) 0 .14rem,transparent .16rem),linear-gradient(180deg,#ffffff08,#ffffff02)}.certificate-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#01020503,#0102051f),linear-gradient(120deg,rgba(255,255,255,.05),transparent 42%)}.certificate-visual img{width:100%;height:100%;object-fit:cover;filter:saturate(1) brightness(.98) contrast(1.01)}.certificate-copy{display:grid;gap:.55rem}.certificate-type{color:var(--text-muted);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase}.certificate-copy h3{margin:0;font-size:clamp(1.25rem,2.4vw,1.7rem);letter-spacing:-.04em}.certificate-issuer{color:var(--text-main)!important}.certificate-copy p{margin:0;color:var(--text-soft);line-height:1.5}.contact-panel,.education-card{border-top:1px solid var(--line);padding-top:2.5rem}.contact-panel{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2rem;align-items:end}.contact-copy h2,.education-card h2{margin:1rem 0 .8rem;font-size:clamp(2.2rem,5vw,3.6rem);line-height:.98;letter-spacing:-.05em}.contact-copy p,.education-card p{margin:0;color:var(--text-soft)}.contact-meta{margin-top:1rem}.contact-meta-separator{padding:0 .45rem}.contact-availability{margin-top:1rem!important;color:var(--text-main)!important}.contact-meta a{color:var(--text-muted)}.contact-meta a:hover{color:var(--text-main)}.education-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1.2rem;align-items:end}.education-years{color:var(--text-muted);font-size:.84rem;letter-spacing:.18em;text-transform:uppercase}.contact-signoff{max-width:34rem;margin:2rem 0 0;color:var(--text-muted);font-size:.96rem}.contact-footnote{margin:1rem 0 0;color:#f4f6fb61;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase}.ambient-scene{position:fixed;inset:0;z-index:0;overflow:clip;pointer-events:none}.ambient-layer,.ambient-stars,.ambient-shooting-stars{position:absolute;inset:-8%}.ambient-layer--base{background:radial-gradient(ellipse at 50% 82%,rgba(255,255,255,.016),transparent 31%),radial-gradient(circle at 20% 18%,rgba(112,130,170,.05),transparent 20%),radial-gradient(circle at 82% 16%,rgba(112,130,170,.04),transparent 18%),linear-gradient(180deg,#020307,#010205,#000103);transform:translate3d(calc(var(--pointer-x) * -10px),calc(var(--pointer-y) * -8px),0)}.ambient-layer--haze{background:radial-gradient(ellipse at 50% 42%,rgba(255,255,255,.026),transparent 18%),radial-gradient(ellipse at 50% 68%,rgba(114,142,191,.04),transparent 24%);transform:translate3d(calc(var(--pointer-x) * 12px),calc(var(--pointer-y) * 9px),0)}.ambient-layer--void{background:radial-gradient(ellipse at 50% 56%,rgba(0,0,0,.22),transparent 34%),radial-gradient(ellipse at 50% 118%,rgba(0,0,0,.72),transparent 38%),radial-gradient(circle at 50% 50%,transparent 0,rgba(0,0,0,.6) 79%)}.ambient-stars--far{transform:translate3d(calc(var(--pointer-x) * 5px),calc(var(--pointer-y) * 4px),0)}.ambient-stars--mid{transform:translate3d(calc(var(--pointer-x) * 10px),calc(var(--pointer-y) * 7px),0)}.ambient-stars--near{transform:translate3d(calc(var(--pointer-x) * 16px),calc(var(--pointer-y) * 12px),0)}.star-dot{position:absolute;border-radius:999px;background:#fffffff5;box-shadow:0 0 .4rem #ffffff24}.star-dot--pill{width:.42rem!important;border-radius:999px}.ambient-shooting-stars{inset:0}.shooting-star{position:absolute;width:7rem;height:1px;opacity:0;background:linear-gradient(90deg,#fff0,#ffffffe0,#fff0);box-shadow:0 0 .6rem #ffffff29;transform:rotate(-30deg)}@media(max-width:980px){.section{padding-top:clamp(5.5rem,10vw,8rem);padding-bottom:clamp(5.5rem,10vw,8rem)}.hero-layout,.work-row,.contact-panel,.education-card,.stack-row,.certificate-grid{grid-template-columns:1fr}.work-visual,.certificate-card{box-shadow:0 1rem 2rem #0000002e}.hero-layout{gap:2.75rem;align-items:start}.hero-secondary{max-width:32rem}}@media(max-width:720px){.header-shell{flex-direction:column;align-items:flex-start}.nav-list{gap:.9rem 1rem}.button-row{flex-direction:column;align-items:stretch}.button-pill,.contact-actions{justify-content:flex-start}.section{scroll-margin-top:6.5rem;padding:4.75rem 1rem}.section--hero{min-height:auto;padding-top:7rem;padding-bottom:4.5rem}.hero-layout{gap:2rem}.hero-kicker{margin-top:.9rem}.hero-title{max-width:none;font-size:clamp(3.6rem,20vw,5.8rem)}.hero-role{max-width:16rem;font-size:.98rem}.hero-secondary{max-width:none}.hero-intro{max-width:18rem;font-size:1.12rem}.hero-caption{max-width:22rem;font-size:.96rem}.proof-line{display:grid;gap:.55rem;font-size:.78rem}.proof-line li{padding-left:.75rem}.section-heading{margin-bottom:2.5rem}.section-heading h2{font-size:clamp(2rem,10vw,2.8rem)}.work-row{gap:1.5rem;padding:2rem 0}.work-left h3{font-size:clamp(1.55rem,8vw,2rem)}.work-identity,.work-summary{font-size:.95rem}.work-visual{width:100%;border-radius:1rem}.project-links a{min-height:2.45rem;padding:.54rem .82rem}.work-details,.work-stack,.stack-row ul{gap:.55rem .7rem}.certificate-card{gap:1rem;padding:.9rem;border-radius:1.2rem}.certificate-visual{border-radius:.9rem}.certificate-copy h3{font-size:1.3rem}.stack-row{gap:.85rem;padding:1rem 0}.contact-panel,.education-card{gap:1.35rem;padding-top:2rem}.contact-copy h2,.education-card h2{font-size:clamp(1.95rem,10vw,2.7rem)}.contact-meta{display:grid;gap:.25rem}.contact-meta-separator{display:none}.contact-signoff{margin-top:1.5rem}.contact-footnote{line-height:1.5}}@media(hover:none){.button-pill:hover,.project-links a:hover{transform:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.ambient-layer,.ambient-stars,.progress-bar,.shooting-star{transform:none!important}.shooting-star{display:none}.nav-link,.button-pill,.project-links a{transition:none}}
