:root{color-scheme:dark;--bg: #050505;--bg-elevated: #0d0d0d;--surface: #141414;--surface-soft: #1c1c1c;--text: #f7f7f7;--muted: #a8a8a8;--muted-strong: #d1d1d1;--line: rgba(243, 246, 239, .14);--accent: #ffffff;--accent-ink: #050505;--shadow: rgba(0, 0, 0, .4);--max-width: 870px;--header-height: 57px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--bg)}body{margin:0;background:var(--bg);color:var(--text);font-size:15px;line-height:1.6;text-rendering:optimizeLegibility}body::selection{background:var(--accent);color:var(--accent-ink)}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;max-width:100%}main{overflow:clip}section[id]{scroll-margin-top:var(--header-height)}.site-header{align-items:center;backdrop-filter:blur(14px);background:#080807b8;border-bottom:1px solid var(--line);display:flex;height:var(--header-height);justify-content:space-between;left:0;padding:0 clamp(14px,3vw,40px);position:fixed;right:0;top:0;z-index:20}.brand-mark{align-items:baseline;display:inline-flex;gap:8px;letter-spacing:0}.brand-mark span{font-size:.9rem;font-weight:800;text-transform:uppercase;transition:color .18s ease}.brand-mark:hover span,.brand-mark:focus-visible span{color:var(--muted-strong)}.hero-section{align-items:center;display:flex;isolation:isolate;min-height:76svh;padding:calc(var(--header-height) + 33px) clamp(14px,4.5vw,66px) 54px;position:relative;--wave-opacity: 1;--wave-y: 0px}.hero-media{background:linear-gradient(120deg,rgba(255,255,255,.06),transparent 30%),#050505;inset:0;overflow:hidden;pointer-events:none;position:absolute;z-index:-2}.hero-media:before{background-image:linear-gradient(rgba(255,255,255,.065) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.065) 1px,transparent 1px);background-size:58px 58px;content:"";inset:-20%;opacity:.36;position:absolute;transform:rotate(-8deg);will-change:transform}.hero-media:after{background:linear-gradient(90deg,#050505f0,#050505ad 36%,#05050529),linear-gradient(180deg,#0505050a,#050505e6);content:"";inset:0;position:absolute;z-index:2}.line-pattern{inset:-12% -8% -14%;opacity:var(--wave-opacity);position:absolute;transform:translate3d(0,var(--wave-y),0);transition:opacity .12s linear;will-change:opacity,transform;z-index:3}.line-art{animation:line-drift 22s ease-in-out infinite alternate;height:100%;transform-origin:center;width:100%}.line-art path{--dash-cycle: -810;animation:wave-flow 9s linear infinite;fill:none;stroke:#ffffff57;stroke-dasharray:680 130;stroke-dashoffset:0;stroke-linecap:round;stroke-width:1.7}.line-art path:nth-child(2n){--dash-cycle: -670;animation-duration:10s;animation-direction:reverse;stroke:#ffffff38;stroke-dasharray:520 150;stroke-width:1.2}.line-art path:nth-child(3n){--dash-cycle: -980;animation-duration:14s;stroke:#ffffff75;stroke-dasharray:820 160}.line-art path:nth-child(4n){animation-duration:8.5s;animation-direction:reverse}.line-nodes span{animation:node-pulse 3.8s ease-in-out infinite;background:#fff;border-radius:999px;box-shadow:0 0 24px #ffffff57;height:4px;position:absolute;width:4px}.line-nodes span:nth-child(1){right:18%;top:18%}.line-nodes span:nth-child(2){animation-delay:.7s;right:42%;top:36%}.line-nodes span:nth-child(3){animation-delay:1.4s;right:12%;top:56%}.line-nodes span:nth-child(4){animation-delay:2.1s;right:34%;top:72%}.hero-content{max-width:720px}.eyebrow{color:var(--accent);font-size:.66rem;font-weight:800;letter-spacing:0;margin:0 0 14px;text-transform:uppercase}h1,h2,h3,p{overflow-wrap:anywhere}h1{font-size:clamp(3.35rem,6.8vw,6.15rem);letter-spacing:0;line-height:.92;margin:0;max-width:920px}.hero-name{align-items:center;display:flex;gap:clamp(16px,2.5vw,28px);text-wrap:balance}.hero-aka{display:inline-grid;gap:3px;line-height:1;padding-top:.12em;white-space:nowrap}.hero-aka span{color:var(--muted);font-size:clamp(.9rem,1.2vw,1.12rem);font-weight:850;letter-spacing:0}.hero-aka strong{color:var(--text);font-size:clamp(1.55rem,2.45vw,2.2rem);font-weight:850}.hero-copy{color:var(--muted-strong);font-size:clamp(.98rem,1.2vw,1.08rem);line-height:1.52;margin:22px 0 0;max-width:420px}.hero-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:26px}.button{align-items:center;border:1px solid var(--line);border-radius:8px;display:inline-flex;font-size:.8rem;font-weight:800;gap:9px;justify-content:center;min-height:40px;overflow:hidden;padding:9px 14px;position:relative;transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease}.button:after{background:linear-gradient(90deg,transparent,rgba(255,255,255,.34),transparent);content:"";inset:0;position:absolute;transform:translate(-115%);transition:transform .36s ease}.button:hover,.button:focus-visible{transform:translateY(-2px)}.button:hover:after,.button:focus-visible:after{transform:translate(115%)}.button-icon{fill:currentColor;flex:0 0 auto;height:15px;width:15px}.button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.button.secondary{background:#f3f6ef0f;color:var(--text)}.button.secondary:hover,.button.secondary:focus-visible{background:#f3f6ef1a;border-color:#f3f6ef47}.scroll-cue{align-items:center;bottom:20px;color:var(--muted);display:inline-flex;font-size:.68rem;font-weight:800;gap:8px;left:clamp(14px,4.5vw,66px);position:absolute;text-transform:uppercase}.scroll-cue:before{background:var(--accent);content:"";display:inline-block;height:1px;width:32px}.scroll-cue:hover:before,.scroll-cue:focus-visible:before{animation:cue-pulse .62s ease}.section-inner{margin:0 auto;max-width:var(--max-width);padding:84px clamp(14px,3vw,30px)}.ambient-section{isolation:isolate;overflow:hidden;position:relative}.ambient-section>.section-inner{position:relative;z-index:1}.section-art{contain:paint;inset:0;opacity:.46;overflow:hidden;pointer-events:none;position:absolute;z-index:0}.section-art:after{background:linear-gradient(90deg,rgba(5,5,5,.76),transparent 55%),linear-gradient(180deg,transparent 0%,rgba(5,5,5,.62) 100%);content:"";inset:0;position:absolute}.section-line-art{backface-visibility:hidden;height:68%;position:absolute;transform:translateZ(0);transform-origin:center;width:62%;will-change:transform}.section-line-art path{animation:ambient-dash 16s linear infinite;fill:none;stroke:#ffffff38;stroke-dasharray:360 96;stroke-linecap:round;stroke-width:1.25;vector-effect:non-scaling-stroke}.section-line-art path:nth-child(2n){animation-direction:reverse;animation-duration:21s;stroke:#ffffff26;stroke-dasharray:220 120}.section-line-art path:nth-child(3n){animation-duration:28s;stroke:#ffffff47;stroke-dasharray:520 160}.section-art-points span{animation:ambient-point 5.8s ease-in-out infinite;background:#ffffffd1;border-radius:999px;height:3px;position:absolute;width:3px}.section-art-points span:nth-child(2){animation-delay:1.3s}.section-art-points span:nth-child(3){animation-delay:2.6s}.section-art-focus .section-line-art{animation:ambient-float-focus 26s ease-in-out infinite alternate;height:80%;right:-14%;top:4%;width:58%}.section-art-focus .section-art-points span:nth-child(1){right:20%;top:22%}.section-art-focus .section-art-points span:nth-child(2){right:42%;top:54%}.section-art-focus .section-art-points span:nth-child(3){right:10%;top:74%}.section-art-projects{opacity:.38}.section-art-projects .section-line-art{animation:ambient-float-projects 32s ease-in-out infinite alternate;height:78%;left:-10%;top:9%;width:82%}.section-art-projects .section-line-art path{stroke-dasharray:170 90}.section-art-projects .section-art-points span:nth-child(1){left:18%;top:24%}.section-art-projects .section-art-points span:nth-child(2){left:48%;top:48%}.section-art-projects .section-art-points span:nth-child(3){left:32%;top:78%}.section-art-experience{opacity:.42}.section-art-experience .section-line-art{animation:ambient-float-experience 34s ease-in-out infinite alternate;height:120%;right:-6%;top:-12%;width:48%}.section-art-experience .section-line-art path{stroke-dasharray:440 140}.section-art-experience .section-art-points span:nth-child(1){right:22%;top:18%}.section-art-experience .section-art-points span:nth-child(2){right:12%;top:50%}.section-art-experience .section-art-points span:nth-child(3){right:32%;top:82%}.section-art-skills{opacity:.36}.section-art-skills .section-line-art{animation:ambient-float-skills 24s ease-in-out infinite alternate;height:88%;left:18%;top:0;width:70%}.section-art-skills .section-line-art path{stroke-dasharray:280 110}.section-art-skills .section-art-points span:nth-child(1){left:26%;top:30%}.section-art-skills .section-art-points span:nth-child(2){left:62%;top:42%}.section-art-skills .section-art-points span:nth-child(3){left:52%;top:68%}.section-art-contact{opacity:.5}.section-art-contact .section-line-art{animation:ambient-float-contact 30s ease-in-out infinite alternate;height:70%;right:-8%;top:14%;width:74%}.section-art-contact .section-line-art path{stroke-dasharray:620 190}.section-art-contact .section-art-points span:nth-child(1){right:18%;top:34%}.section-art-contact .section-art-points span:nth-child(2){right:46%;top:54%}.section-art-contact .section-art-points span:nth-child(3){right:30%;top:72%}.intro-band{background:var(--bg-elevated);border-bottom:1px solid var(--line);border-top:1px solid var(--line)}.two-column{align-items:start;display:grid;gap:clamp(26px,6vw,72px);grid-template-columns:minmax(0,.95fr) minmax(240px,1.05fr)}h2{font-size:clamp(1.7rem,4.2vw,3.9rem);letter-spacing:0;line-height:.96;margin:0}.section-heading{max-width:570px}.section-heading p:not(.eyebrow),.skills-section p,.contact-section p{color:var(--muted-strong);font-size:.94rem;margin:17px 0 0}.section-heading.compact p:not(.eyebrow){max-width:390px}.focus-switcher{display:grid;gap:18px}.focus-options{border-top:1px solid var(--line);display:grid}.focus-option{align-items:center;background:transparent;border:0;border-bottom:1px solid var(--line);color:var(--muted-strong);cursor:pointer;display:grid;gap:14px;grid-template-columns:34px 32px minmax(0,1fr);min-height:48px;padding:10px 0;text-align:left;transition:color .52s cubic-bezier(.16,1,.3,1),padding-left .52s cubic-bezier(.16,1,.3,1)}.focus-index{color:var(--muted);font-size:.64rem;font-weight:850}.focus-option-icon{background:#ffffff0e;border:1px solid var(--line);border-radius:8px;color:var(--muted-strong);height:32px;padding:7px;transition:background .52s cubic-bezier(.16,1,.3,1),border-color .52s cubic-bezier(.16,1,.3,1),color .52s cubic-bezier(.16,1,.3,1),transform .52s cubic-bezier(.16,1,.3,1);width:32px}.focus-label{min-width:0}.focus-option:hover,.focus-option:focus-visible,.focus-option.is-active{color:var(--text);padding-left:10px}.focus-option:hover .focus-option-icon,.focus-option:focus-visible .focus-option-icon,.focus-option.is-active .focus-option-icon{background:var(--text);border-color:var(--text);color:var(--accent-ink);transform:translateY(-1px)}.focus-option.is-active .focus-index{color:var(--text)}.focus-detail{background:linear-gradient(180deg,#ffffff13,#ffffff06);border:1px solid var(--line);border-radius:8px;min-height:172px;overflow:hidden;padding:21px 104px 21px 21px;position:relative;transition:border-color .62s cubic-bezier(.16,1,.3,1),transform .62s cubic-bezier(.16,1,.3,1)}.focus-detail:before{background:#ffffff1f;content:"";height:100%;left:0;position:absolute;top:0;transform:scaleY(.25);transform-origin:top;transition:transform .26s ease;width:1px}.focus-detail-icon{background:#ffffff12;border:1px solid var(--line);border-radius:8px;color:var(--text);height:76px;padding:18px;position:absolute;right:15px;top:15px;width:76px}.focus-switcher:hover .focus-detail:before,.focus-switcher:focus-within .focus-detail:before{transform:scaleY(1)}.focus-detail-content{animation:focus-detail-in .64s cubic-bezier(.16,1,.3,1) both}.focus-signal{color:var(--text);font-size:.66rem;font-weight:850;margin:0 0 9px;text-transform:uppercase}.focus-detail h3{font-size:clamp(1.1rem,1.95vw,1.65rem);line-height:1.05;margin:0}.focus-detail p:not(.focus-signal){color:var(--muted-strong);margin:12px 0 0}.focus-meter{background:#ffffff1a;bottom:0;height:2px;left:0;position:absolute;right:0}.focus-meter span{background:var(--text);display:block;height:100%;transition:width 1.5s cubic-bezier(.16,1,.3,1)}.projects-section{background:var(--bg)}.project-menu{border-bottom:1px solid var(--line);border-top:1px solid var(--line);display:grid;gap:0;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:36px}.project-menu a{color:var(--muted-strong);font-weight:800;min-height:63px;padding:17px;position:relative;transition:background .18s ease,color .18s ease}.project-menu a:after{content:"open";color:var(--muted);font-size:.62rem;opacity:0;position:absolute;right:17px;top:17px;transform:translate(-6px);transition:opacity .18s ease,transform .18s ease;text-transform:uppercase}.project-menu a+a{border-left:1px solid var(--line)}.project-menu a:hover,.project-menu a:focus-visible{background:var(--surface);color:var(--text)}.project-menu a:hover:after,.project-menu a:focus-visible:after{opacity:1;transform:translate(0)}.project-menu span{color:var(--accent);display:block;font-size:.64rem;margin-bottom:5px}.project-list{display:grid;gap:14px;margin-top:23px}.project-item{align-items:start;background:var(--surface);border:1px solid var(--line);border-radius:8px;display:grid;gap:clamp(15px,3.75vw,53px);grid-template-columns:66px minmax(0,1fr);padding:clamp(17px,3vw,32px);scroll-margin-top:calc(var(--header-height) + 18px);transition:border-color .18s ease,transform .18s ease,background .18s ease}.project-item:hover{background:#181818;border-color:#fff6;transform:translateY(-2px) rotateX(calc(var(--my, 0) * -1deg)) rotateY(calc(var(--mx, 0) * 1.4deg))}.project-index{color:var(--accent);font-size:1.5rem;font-weight:850;line-height:1}.project-meta{color:var(--accent);font-size:.66rem;font-weight:800;letter-spacing:0;margin:0 0 8px;text-transform:uppercase}.organization-link{align-items:center;display:inline-flex;gap:7px;text-decoration:none;transition:color .16s ease,transform .16s ease}.organization-link:hover,.organization-link:focus-visible{color:var(--text);transform:translateY(-1px)}.organization-link-icon{fill:currentColor;flex:0 0 auto;height:12px;opacity:.78;transition:opacity .16s ease,transform .16s ease;width:12px}.organization-link:hover .organization-link-icon,.organization-link:focus-visible .organization-link-icon{opacity:1;transform:translate3d(2px,-2px,0)}.project-item h3,.timeline-content h3,.skill-groups h3,.next-panel h3{font-size:clamp(1.1rem,1.95vw,1.65rem);letter-spacing:0;line-height:1.05;margin:0}.project-item p:not(.project-meta),.timeline-content p,.next-panel li{color:var(--muted-strong)}.project-item a{color:var(--text);display:inline-flex;font-weight:800;margin-top:14px;text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:5px;transition:color .16s ease,text-underline-offset .16s ease}.project-item a:hover,.project-item a:focus-visible{color:var(--muted-strong);text-underline-offset:8px}.experience-section{background:var(--bg-elevated)}.timeline{border-top:1px solid var(--line);margin-top:41px;position:relative}.timeline-item{border-bottom:1px solid var(--line);display:grid;gap:clamp(17px,3.75vw,60px);grid-template-columns:172px minmax(0,1fr);padding:27px 0;transition:border-color .18s ease,transform .18s ease}.timeline-item:hover{border-color:#ffffff52;transform:translate(4px)}.timeline-side{align-content:start;display:grid;gap:14px}.timeline-date{color:var(--muted);font-size:.78rem;font-weight:800}.timeline-logo{align-items:center;border-radius:8px;display:flex;height:78px;justify-content:center;overflow:hidden;width:148px}.timeline-logo.is-light{background:transparent}.timeline-logo img{height:100%;object-fit:contain;object-position:center;width:100%}.timeline-content ul,.skill-groups ul,.next-panel ul{list-style:none;margin:15px 0 0;padding:0}.timeline-content li{color:var(--muted-strong);padding-left:17px;position:relative}.timeline-content li+li{margin-top:8px}.timeline-content li:before{background:var(--accent);border-radius:999px;content:"";height:5px;left:0;position:absolute;top:.75em;width:5px}.skills-section{background:var(--bg)}.skills-section:before{animation:skills-field-drift 18s linear infinite;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:72px 72px;content:"";inset:-12%;opacity:.34;pointer-events:none;position:absolute;transform:rotate(-7deg);z-index:0}.skill-grid{align-items:start;display:grid;gap:clamp(28px,6vw,68px);grid-template-columns:minmax(360px,.95fr) minmax(340px,1.05fr)}.skills-intro{min-height:0;position:relative}.skills-intro>*{position:relative;z-index:1}.skills-title{font-size:clamp(2.45rem,3.9vw,3.75rem);line-height:1;max-width:8.9ch;overflow-wrap:normal;word-break:normal}.skill-groups{display:grid;gap:28px}.skill-group{display:grid;gap:12px}.skill-group-header{align-items:start;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;padding-bottom:10px}.skill-number{color:var(--muted);display:block;font-size:.64rem;font-weight:850;letter-spacing:0;margin-bottom:5px}.skill-groups ul{columns:2;column-gap:28px;margin-top:0}.skill-groups li{align-items:center;color:var(--muted-strong);display:flex;font-size:.9rem;font-weight:720;gap:9px;padding:4px 0;transition:color .16s ease,padding-left .16s ease}.skill-groups li:before{background:currentColor;border-radius:999px;content:"";flex:0 0 auto;height:5px;opacity:.58;width:5px}.skill-groups li span{min-width:0}.skill-groups li:hover{color:var(--text);padding-left:4px}.skill-group-header h3{margin:0}.contact-section{background:var(--surface-soft);border-top:1px solid var(--line)}.contact-layout{align-items:start;display:grid;gap:clamp(26px,6vw,68px);grid-template-columns:minmax(0,1fr) minmax(240px,285px)}.contact-layout[data-reveal]{transform:translateY(28px) scale(.985);transition:opacity .7s cubic-bezier(.16,1,.3,1) var(--reveal-delay, 0ms),transform .82s cubic-bezier(.16,1,.3,1) var(--reveal-delay, 0ms)}.contact-layout.is-visible>*{animation:contact-content-in .76s cubic-bezier(.16,1,.3,1) both}.contact-layout.is-visible>*:nth-child(2){animation-delay:.11s}.next-panel{background:#0808075c;border:1px solid var(--line);border-radius:8px;padding:21px;transition:border-color .18s ease,transform .18s ease}.next-panel:hover{border-color:#ffffff52;transform:translateY(-2px)}.next-panel li{border-top:1px solid var(--line);padding:10px 0}.next-panel a{align-items:center;color:var(--text);display:inline-flex;gap:8px;justify-content:space-between;min-width:0;text-decoration:underline;text-decoration-color:#ffffff8c;text-underline-offset:5px;transition:color .16s ease,text-decoration-color .16s ease,text-underline-offset .16s ease}.next-panel a:hover,.next-panel a:focus-visible{color:var(--muted-strong);text-decoration-color:var(--text);text-underline-offset:8px}.next-panel .external-row{width:100%}.next-panel .profile-button{background:#f3f6ef0e;border:1px solid rgba(243,246,239,.18);border-radius:8px;min-height:44px;padding:11px 12px;text-decoration:none;text-underline-offset:0;transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease}.next-panel .profile-button:hover,.next-panel .profile-button:focus-visible{background:#f3f6ef1a;border-color:#f3f6ef57;color:var(--text);text-decoration:none;text-underline-offset:0;transform:translateY(-2px)}.profile-link-label{align-items:center;display:inline-flex;gap:8px;min-width:0}.profile-link-icon{fill:currentColor;flex:0 0 auto;height:16px;opacity:.82;width:16px}.link-icon{fill:currentColor;flex:0 0 auto;height:14px;opacity:.74;transition:opacity .16s ease,transform .16s ease;width:14px}.next-panel a:hover .link-icon,.next-panel a:focus-visible .link-icon{opacity:1;transform:translate3d(2px,-2px,0)}.next-panel li:first-child{margin-top:6px}.detail-row{display:grid;gap:4px}.detail-row span{color:var(--muted);font-size:.64rem;font-weight:800;text-transform:uppercase}.detail-row strong{color:var(--text);font-size:.92rem;font-weight:800}.contact-rail{align-items:end;display:flex;flex-direction:column;padding:90px 20px 90px 132px;position:fixed;right:0;top:50%;transform:translate3d(0,-50%,0);width:232px;z-index:30}.contact-rail:before{content:"";inset:-32px -10px -32px -92px;pointer-events:none;position:absolute}.rail-nav{align-items:end;display:flex;flex-direction:column;gap:10px;position:relative}.rail-link{align-items:center;animation:rail-intro 1.12s cubic-bezier(.16,1,.3,1) both;background:#0808076b;backdrop-filter:blur(12px);border:1px solid var(--line);border-radius:8px;box-shadow:0 10px 28px #00000029;color:var(--muted-strong);display:inline-flex;font-size:.64rem;font-weight:850;height:42px;justify-content:center;overflow:hidden;padding:0;text-align:right;transition:background .62s cubic-bezier(.22,1,.36,1),border-color .62s cubic-bezier(.22,1,.36,1),box-shadow .62s cubic-bezier(.22,1,.36,1),color .62s cubic-bezier(.22,1,.36,1),gap .88s cubic-bezier(.16,1,.3,1),padding .88s cubic-bezier(.16,1,.3,1),transform .88s cubic-bezier(.16,1,.3,1),width .88s cubic-bezier(.16,1,.3,1);white-space:nowrap;width:42px}.rail-link:nth-child(2){animation-delay:70ms}.rail-link:nth-child(3){animation-delay:.14s}.rail-link:nth-child(4){animation-delay:.21s}.rail-link:nth-child(5){animation-delay:.28s}.rail-link:nth-child(6){animation-delay:.35s}.rail-link:before{background:currentColor;border-radius:999px;content:"";flex:0 0 auto;height:5px;opacity:.72;transition:opacity .64s ease,transform .78s cubic-bezier(.16,1,.3,1),width .78s cubic-bezier(.16,1,.3,1);width:5px}.rail-link span{display:block;max-width:0;opacity:0;overflow:hidden;transition:max-width .86s cubic-bezier(.16,1,.3,1),opacity .36s ease,transform .86s cubic-bezier(.16,1,.3,1);transform:translate(10px)}.contact-rail.is-expanded .rail-link,.contact-rail:focus-within .rail-link{gap:8px;justify-content:flex-end;padding:0 13px 0 15px;width:120px}.contact-rail.is-expanded .rail-link:before,.contact-rail:focus-within .rail-link:before{opacity:.32;transform:scale(.72);width:3px}.contact-rail.is-expanded .rail-link span,.contact-rail:focus-within .rail-link span{max-width:84px;opacity:1;transition:max-width .86s cubic-bezier(.16,1,.3,1),opacity .42s ease .12s,transform .86s cubic-bezier(.16,1,.3,1);transform:translate(0)}.rail-link.is-highlighted{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.rail-link:hover,.rail-link:focus-visible{background:#f3f6ef13;border-color:#f3f6ef57;box-shadow:0 16px 36px #00000038;color:var(--text);transform:translate3d(-6px,0,0) scale(1.03);width:132px}.rail-link.is-highlighted:hover,.rail-link.is-highlighted:focus-visible{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}[data-reveal]{opacity:0;transform:translateY(18px);transition:opacity .52s ease var(--reveal-delay, 0ms),transform .52s ease var(--reveal-delay, 0ms)}[data-reveal].is-visible{opacity:1;transform:translateY(0)}.reveal{animation:hero-in .78s ease both}@keyframes line-drift{0%{transform:translate3d(-1%,-1%,0) rotate(-8deg) scale(1.015)}to{transform:translate3d(2%,1%,0) rotate(-6deg) scale(1.035)}}@keyframes wave-flow{to{stroke-dashoffset:var(--dash-cycle)}}@keyframes node-pulse{0%,to{opacity:.45;transform:translateY(0) scale(.85)}50%{opacity:1;transform:translateY(-8px) scale(1.15)}}@keyframes ambient-dash{to{stroke-dashoffset:-456}}@keyframes ambient-point{0%,to{opacity:.25;transform:translateZ(0) scale(.85)}50%{opacity:.85;transform:translate3d(0,-6px,0) scale(1.15)}}@keyframes skills-field-drift{0%{background-position:0 0,0 0}to{background-position:144px 72px,72px 144px}}@keyframes ambient-float-focus{0%{transform:translate3d(-2%,-1%,0) rotate(-5deg) scale(1)}to{transform:translate3d(1%,2%,0) rotate(-2deg) scale(1.04)}}@keyframes ambient-float-projects{0%{transform:translate3d(1%,0,0) rotate(7deg) scale(1)}to{transform:translate3d(-2%,2%,0) rotate(4deg) scale(1.03)}}@keyframes ambient-float-experience{0%{transform:translate3d(0,-2%,0) rotate(2deg) scale(1.02)}to{transform:translate3d(-2%,1%,0) rotate(5deg) scale(1.05)}}@keyframes ambient-float-skills{0%{transform:translate3d(-1%,1%,0) rotate(-10deg) scale(1)}to{transform:translate3d(2%,-1%,0) rotate(-7deg) scale(1.04)}}@keyframes ambient-float-contact{0%{transform:translate3d(-2%,0,0) rotate(4deg) scale(1.01)}to{transform:translate3d(1%,-2%,0) rotate(7deg) scale(1.05)}}@keyframes cue-pulse{0%{transform:scaleX(1);transform-origin:left}50%{transform:scaleX(1.55);transform-origin:left}to{transform:scaleX(1);transform-origin:left}}@keyframes rail-intro{0%{opacity:0;transform:translate3d(16px,10px,0) scale(.92)}42%{opacity:1;transform:translate3d(-12px,-2px,0) scale(1.03)}74%{transform:translate3d(-3px,1px,0) scale(.99)}to{opacity:1;transform:translateZ(0) scale(1)}}@keyframes focus-detail-in{0%{opacity:0;transform:translate3d(0,8px,0)}to{opacity:1;transform:translateZ(0)}}@keyframes contact-content-in{0%{opacity:0;transform:translate3d(0,18px,0)}to{opacity:1;transform:translateZ(0)}}@keyframes hero-in{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;scroll-behavior:auto!important;transition-duration:1ms!important}}@media(max-width:760px){.hero-actions{justify-content:center}}@media(max-width:980px){.contact-rail{display:none}.hero-section{min-height:76svh}.hero-media:after{background:linear-gradient(90deg,#080807f2,#080807ad),linear-gradient(180deg,#0808071f,#080807f5)}.section-art{opacity:.28}.skills-section:before{opacity:.42}.section-art-skills{opacity:.56}.section-art-skills .section-line-art{height:104%;left:-18%;top:-4%;width:138%}.section-art-skills .section-line-art path{stroke:#ffffff42;stroke-width:1.45}.skills-intro{min-height:0}.skills-title{max-width:11ch}.section-line-art{height:78%;width:92%}.two-column,.skill-grid,.contact-layout,.timeline-item{grid-template-columns:1fr}.timeline-logo{height:70px;width:134px}.project-menu{grid-template-columns:1fr}.project-menu a+a{border-left:0;border-top:1px solid var(--line)}.project-item{grid-template-columns:1fr}.focus-detail{min-height:150px}.section-inner{padding-bottom:66px;padding-top:66px}}@media(max-width:560px){:root{--header-height: 56px}.site-header{padding:0 12px}.brand-mark{gap:6px}.brand-mark span{font-size:.84rem}.hero-section{min-height:76svh;padding:calc(var(--header-height) + 20px) 14px 42px}h1{font-size:2.8rem}.hero-name{align-items:flex-start;flex-direction:column;gap:10px;white-space:normal}.hero-aka{padding-top:0}.hero-copy{font-size:.94rem;line-height:1.5;max-width:30ch}.hero-actions{gap:8px;margin-top:22px}.hero-actions{justify-content:center}.button{min-height:44px;width:100%}.scroll-cue{bottom:14px;left:14px}.section-inner{padding:56px 14px}.project-menu a{min-height:56px;padding:14px}.project-menu a:after{right:14px;top:14px}.project-item,.next-panel{padding:15px}.project-item{gap:12px}.project-index{font-size:1.3rem}.focus-option{gap:10px;grid-template-columns:28px 30px minmax(0,1fr)}.focus-detail{padding:15px 82px 15px 15px}.focus-detail-icon{height:56px;padding:13px;right:12px;top:12px;width:56px}.timeline-item{gap:14px;padding:22px 0}.timeline-logo{height:64px;width:122px}.timeline-content li{padding-left:14px}.skill-grid{gap:24px}.skill-groups ul{columns:1}.skill-groups li{font-size:.88rem;padding:4px 0}.next-panel li{padding:9px 0}}@media(max-width:380px){.brand-mark span{font-size:.8rem}h1{font-size:2.48rem}.hero-copy{font-size:.9rem}}
