:root{--navy:#07111f;--navy-deep:#050d18;--navy-raised:#0c1a2c;--paper:#f4f6fa;--paper-dim:#e8ecf2;--red:#ff304f;--red-bright:#ff4964;--slate:#a5b0bf;--slate-ink:#566173;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", "SFMono-Regular", "SF Mono", monospace;--fs-hero:clamp(2.6rem, 8.4vw, 9.75rem);--fs-display:clamp(3rem, 7.2vw, 8.5rem);--fs-h2:clamp(2.5rem, 6.2vw, 7rem);--fs-h3:clamp(2.25rem, 4.6vw, 5rem);--fs-lead:clamp(1.0625rem, 1.3vw, 1.3125rem);--fs-body:1rem;--fs-mono:.75rem;--gutter:clamp(16px, 3.9vw, 56px);--container:1520px;--section-pad:clamp(96px, 15vh, 200px);--header-h:76px;--radius-lg:clamp(20px, 2.4vw, 36px);--ease-expo:cubic-bezier(.16, 1, .3, 1);--ease-out:cubic-bezier(.22, 1, .36, 1);--theme-speed:.8s}body[data-theme=dark],[data-theme-scope=dark]{--bg:var(--navy);--fg:var(--paper);--muted:var(--slate);--line:#f4f6fa1f;--surface:#f4f6fa0a}body[data-theme=light]{--bg:var(--paper);--fg:var(--navy);--muted:var(--slate-ink);--line:#07111f21;--surface:#07111f09}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--font-sans);font-size:var(--fs-body);color:var(--fg);background:var(--navy-deep);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-optical-sizing:auto;margin:0;line-height:1.6;overflow-x:clip}main{z-index:1;color:var(--fg);background-color:var(--bg);transition:background-color var(--theme-speed) var(--ease-out), color var(--theme-speed) var(--ease-out);display:block;position:relative}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}img,svg,video{max-width:100%;display:block}h1,h2,h3,p{margin:0}::selection{color:var(--paper);background:var(--red)}:focus-visible{outline:2px solid var(--red);outline-offset:4px;border-radius:4px}.container{width:100%;max-width:var(--container);padding-inline:var(--gutter);margin-inline:auto}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.skip-link{z-index:2000;color:var(--navy);background:var(--paper);transition:transform .3s var(--ease-expo);border-radius:999px;padding:10px 16px;font-weight:600;position:fixed;top:12px;left:12px;transform:translateY(-160%)}.skip-link:focus-visible{transform:none}.accent-dot{color:var(--red)}.text-link{transition:background-size .5s var(--ease-expo), color .3s;background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat}.text-link:hover,.text-link:focus-visible{background-size:100% 1px}.grain{z-index:60;pointer-events:none;opacity:.045;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}html.js [data-reveal]{opacity:0;transition:opacity .9s var(--ease-out), transform 1.2s var(--ease-expo);transition-delay:var(--reveal-delay,0s);transform:translateY(32px)}html.js [data-reveal].is-in{opacity:1;transform:none}.mask-line{margin-bottom:-.2em;padding-bottom:.2em;display:block;overflow:clip}.mask-line>span{display:inline-block}html.js .mask-line[data-reveal]{opacity:1;transform:none}html.js .mask-line[data-reveal]>span{transition:transform 1.2s var(--ease-expo);transition-delay:var(--reveal-delay,0s);transform:translateY(108%)}html.js .mask-line[data-reveal].is-in>span{transform:none}.intro-curtain{display:none}html.js .intro-curtain{z-index:1500;color:var(--paper);background:var(--navy-deep);transition:transform .9s var(--ease-expo) .25s;place-items:center;display:grid;position:fixed;inset:0}.intro-mark{width:56px;height:56px;animation:introMark .7s var(--ease-expo) both}html.is-ready .intro-curtain{transform:translateY(-101%)}html.is-ready .intro-mark{opacity:0;transition:opacity .3s, transform .4s var(--ease-expo);transform:translateY(-20px)}@keyframes introMark{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:none}}.cursor{display:contents}.cursor-dot,.cursor-ring{z-index:1000;pointer-events:none;opacity:0;border-radius:50%;position:fixed;top:0;left:0}html.has-cursor.cursor-visible .cursor-dot,html.has-cursor.cursor-visible .cursor-ring{opacity:1}html.has-cursor,html.has-cursor a,html.has-cursor button,html.has-cursor summary{cursor:none}.cursor-dot{background:var(--red);width:6px;height:6px;transition:opacity .3s, scale .3s var(--ease-expo);margin:-3px 0 0 -3px}.cursor-ring{mix-blend-mode:difference;width:40px;height:40px;transition:width .45s var(--ease-expo), height .45s var(--ease-expo), margin .45s var(--ease-expo), background-color .3s, border-color .3s, opacity .3s;border:1px solid #ffffffd9;place-items:center;margin:-20px 0 0 -20px;display:grid}.cursor-ring.is-link{background:#fff;width:64px;height:64px;margin:-32px 0 0 -32px}.cursor-ring.has-label{background:var(--red);mix-blend-mode:normal;border-color:#0000;width:108px;height:108px;margin:-54px 0 0 -54px}.cursor-label{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--navy);opacity:0;transition:opacity .25s, transform .4s var(--ease-expo);font-size:11px;font-weight:500;transform:scale(.6)}.cursor-ring.has-label .cursor-label{opacity:1;transform:none}.cursor-ring.has-label+.cursor-dot,html.has-cursor .cursor-ring.has-label~.cursor-dot{scale:0}html.cursor-on-red .cursor-dot,html.cursor-on-red .cursor-ring.has-label{background:#fff}[data-magnetic]{transition:translate .55s var(--ease-expo)}.site-header{--h-fg:var(--paper);--h-muted:var(--slate);--h-bg:var(--navy);--h-line:#f4f6fa14;z-index:100;color:var(--h-fg);background-color:var(--h-bg);border-bottom:1px solid var(--h-line);transition:transform .6s var(--ease-expo), color .5s var(--ease-out), background-color .5s var(--ease-out), border-color .5s var(--ease-out);position:fixed;top:0;left:0;right:0}.site-header[data-tone=light]{--h-fg:var(--navy);--h-muted:#3a4658;--h-bg:var(--paper);--h-line:#07111f14}.site-header[data-tone=red]{--h-fg:var(--navy);--h-muted:#3a4658;--h-bg:var(--red);--h-line:#07111f1f}.site-header[data-tone=footer]{--h-bg:var(--navy-deep)}.site-header.is-hidden{transform:translateY(-100%)}.site-header-inner{height:var(--header-h);max-width:var(--container);padding-inline:var(--gutter);justify-content:space-between;align-items:center;gap:24px;margin-inline:auto;display:flex}.brand{letter-spacing:-.01em;align-items:center;gap:12px;font-size:.9375rem;font-weight:600;display:inline-flex}.brand-mark{width:32px;height:32px;transition:transform .6s var(--ease-expo)}.brand:hover .brand-mark{transform:rotate(90deg)}.main-nav{align-items:center;gap:clamp(18px,2.4vw,36px);display:flex}.nav-link{align-items:baseline;gap:6px;padding:8px 0;font-size:.875rem;font-weight:500;display:inline-flex;position:relative}.nav-num{font-family:var(--font-mono);color:var(--red);font-size:.6875rem}.nav-link:after{content:"";transform-origin:100%;height:1px;transition:transform .5s var(--ease-expo);background:currentColor;position:absolute;bottom:2px;left:0;right:0;transform:scaleX(0)}.nav-link:hover:after,.nav-link:focus-visible:after,.nav-link[aria-current=page]:after{transform-origin:0;transform:scaleX(1)}.nav-link.nav-cta{color:#fff;background:var(--red);border-radius:999px;gap:6px;padding:7px 13px;transition:background-color .3s,box-shadow .3s;box-shadow:0 8px 22px -10px #ff304fd9}.nav-link.nav-cta:after{content:none}.nav-link.nav-cta:before{content:"";border-radius:inherit;animation:nav-cta-ping 3.2s var(--ease-expo) infinite;pointer-events:none;position:absolute;inset:0;box-shadow:0 0 #ff304f8c}.nav-link.nav-cta .nav-num{color:#ffffffc7}.nav-link.nav-cta:hover,.nav-link.nav-cta:focus-visible,.nav-link.nav-cta[aria-current=page]{background:#d91a3c;box-shadow:0 10px 26px -10px #ff304ff2}.nav-cta-arrow{transition:transform .4s var(--ease-expo);font-size:.95em;line-height:1;display:inline-block}.nav-cta:hover .nav-cta-arrow,.nav-cta:focus-visible .nav-cta-arrow{transform:translate(2px,-2px)}.mobile-link.nav-cta{color:var(--red)}.site-header[data-tone=red] .nav-link.nav-cta{background:var(--navy);box-shadow:0 8px 22px -10px #07111fb3}.site-header[data-tone=red] .nav-link.nav-cta:before{animation:none}@keyframes nav-cta-ping{0%{box-shadow:0 0 #ff304f8c}45%,to{box-shadow:0 0 0 12px #ff304f00}}@media (prefers-reduced-motion:reduce){.nav-link.nav-cta:before{animation:none}}.scroll-progress{background:var(--red);width:100%;height:2px;transform:scaleX(var(--progress,0));transform-origin:0;position:absolute;bottom:0;left:0}.menu-toggle{min-height:44px;font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:12px;padding:0 4px 0 16px;font-size:.75rem;display:none}.menu-toggle-lines{gap:6px;width:26px;display:grid;position:relative}.menu-toggle-lines span{height:1.5px;transition:transform .5s var(--ease-expo);background:currentColor;display:block}.menu-toggle[aria-expanded=true] .menu-toggle-lines span:first-child{transform:translateY(3.75px)rotate(45deg)}.menu-toggle[aria-expanded=true] .menu-toggle-lines span:last-child{transform:translateY(-3.75px)rotate(-45deg)}.mobile-menu{z-index:90;padding:calc(var(--header-h) + 24px) var(--gutter) 32px;color:var(--paper);background:var(--navy-deep);clip-path:inset(0 0 100%);transition:clip-path .7s var(--ease-expo);flex-direction:column;justify-content:space-between;display:flex;position:fixed;inset:0}.mobile-menu[hidden]{display:none}.mobile-menu.is-open{clip-path:inset(0)}body.menu-open .site-header{--h-fg:var(--paper);--h-bg:var(--navy-deep);--h-line:#f4f6fa14;transform:none}.mobile-menu-nav{gap:4px;display:grid}.mobile-link{letter-spacing:-.045em;opacity:0;transition:opacity .5s, transform .7s var(--ease-expo);transition-delay:calc(.12s + var(--i) * 50ms);align-items:baseline;gap:14px;padding:6px 0;font-size:clamp(2.5rem,11vw,4rem);font-weight:600;line-height:1.05;display:flex;transform:translateY(24px)}.mobile-link .nav-num{font-size:.8125rem}.mobile-menu.is-open .mobile-link{opacity:1;transform:none}.mobile-menu-foot{font-family:var(--font-mono);color:var(--slate);gap:14px;font-size:.8125rem;display:grid}.mobile-menu-socials{gap:20px;display:flex}.hero{min-height:100svh;padding:calc(var(--header-h) + 16px) 0 28px;display:flex;position:relative;overflow:clip}.hero-bg{pointer-events:none;position:absolute;inset:0}.hero-grid{background-image:linear-gradient(#f4f6fa0d 1px,#0000 1px),linear-gradient(90deg,#f4f6fa0d 1px,#0000 1px);background-position:50%;background-size:72px 72px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(80% 70% at 50% 45%,#000 30%,#0000 100%);mask-image:radial-gradient(80% 70% at 50% 45%,#000 30%,#0000 100%)}.hero-grid-lit{-webkit-mask-image:radial-gradient(220px circle at var(--gx,-400px) var(--gy,-400px), #000, transparent 75%);mask-image:radial-gradient(220px circle at var(--gx,-400px) var(--gy,-400px), #000, transparent 75%);background-image:linear-gradient(#ff304f8c 1px,#0000 1px),linear-gradient(90deg,#ff304f8c 1px,#0000 1px)}.hero-glow{width:70vmax;height:70vmax;transform:translate3d(var(--glow-x,70vw), var(--glow-y,30vh), 0);will-change:transform;background:radial-gradient(circle,#ff304f29 0%,#ff304f0d 35%,#0000 65%);border-radius:50%;margin:-35vmax 0 0 -35vmax;position:absolute;top:0;left:0}.hero-inner{transform-origin:50% 0;will-change:transform, opacity;flex-direction:column;justify-content:space-between;gap:40px;display:flex;position:relative}.hero-foot{justify-content:space-between;align-items:center;gap:24px;display:flex}.hero-foot-note{font-family:var(--font-mono);font-size:var(--fs-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);align-items:center;gap:10px;display:inline-flex}.hero-headline-wrap{margin-block:auto;position:relative}.hero-title{font-size:var(--fs-hero);letter-spacing:-.055em;font-weight:600;line-height:.92}.hero-line{white-space:nowrap;will-change:transform;display:block}.hero-line-indent{padding-left:1.15em}.hero-line-end{text-align:right}.w{vertical-align:top;margin:0 -.04em -.26em;padding:0 .04em .26em;display:inline-block;overflow:clip}.w-in{display:inline-block}html.js .w-in{transform-origin:0 100%;transition:transform 1.3s var(--ease-expo);transition-delay:calc(.55s + var(--i) * 75ms);transform:translateY(112%)rotate(5deg)}html.is-ready .w-in{transform:none}.hero-intro{right:0;top:calc(var(--fs-hero) * .92 + var(--fs-hero) * .08);width:min(26rem,32%);position:absolute}html.js .hero-intro,html.js .hero-foot{opacity:0;transition:opacity 1s var(--ease-out) 1.25s}html.is-ready .hero-intro,html.is-ready .hero-foot{opacity:1}.hero-hello{letter-spacing:-.025em;margin-bottom:10px;font-size:clamp(1.25rem,1.7vw,1.625rem);font-weight:600}.hero-hello-accent{color:var(--red)}.hero-lede{max-width:30ch;font-size:var(--fs-lead);color:var(--muted);line-height:1.5}.scroll-cue{min-height:44px;font-family:var(--font-mono);font-size:var(--fs-mono);letter-spacing:.1em;text-transform:uppercase;align-items:center;gap:14px;display:inline-flex}.scroll-cue-track{background:var(--line);width:1px;height:44px;position:relative;overflow:hidden}.scroll-cue-dot{background:var(--red);width:5px;height:12px;animation:scrollCue 2s var(--ease-expo) infinite;border-radius:3px;position:absolute;top:0;left:-2px}@keyframes scrollCue{0%{transform:translateY(-14px)}60%,to{transform:translateY(46px)}}.about{--border:#96a5b926;--border-hover:#ff304f75;--border-accent:#ff304fcc;--text-primary:var(--paper);--text-secondary:var(--slate);--text-muted:#68778b;--accent:var(--red);--accent-bright:var(--red-bright);--accent-dark:#c91839;--bg-secondary:#091522;padding-block:var(--section-pad)}.about-intro{grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:center;gap:clamp(40px,5vw,96px);display:grid}.profile-eyebrow{font-family:var(--font-mono);color:var(--text-secondary);margin-bottom:23px;font-size:15px;line-height:1.6}.eyebrow-accent{color:var(--accent);text-shadow:0 0 20px #ff304f52}.profile-title{letter-spacing:-.055em;font-size:clamp(40px,5vw,82px);font-weight:700;line-height:.98}.profile-name{white-space:nowrap;color:#0000;background:linear-gradient(96deg,#fff 12%,#dfe6f2 46%,#97a4b8 96%);-webkit-background-clip:text;background-clip:text}.profile-name .accent-dot{-webkit-text-fill-color:var(--accent)}.profile-bio{max-width:770px;color:var(--text-secondary);text-wrap:pretty;margin-top:28px;font-size:clamp(17px,1.2vw,20px);line-height:1.65}.profile-bio strong{color:var(--accent);transition:background-size .34s var(--ease-out), text-shadow .24s ease;background:linear-gradient(#ff304f80,#ff304f80) 0 92%/0% 1px no-repeat;font-weight:700}.profile-bio strong:hover{text-shadow:0 0 18px #ff304f57;background-size:100% 1px}.profile-facts{border-top:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,max-content));gap:24px clamp(32px,5vw,72px);margin:clamp(32px,4vw,48px) 0 0;padding-top:24px;display:grid}.profile-facts dt{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:6px;font-size:.6875rem}.profile-facts dd{margin:0;font-size:.9375rem;font-weight:500;line-height:1.4}.about-visual{perspective:1100px;justify-content:center;align-items:center;min-height:470px;display:flex;position:relative;overflow-x:clip}.portrait-glow{background:radial-gradient(circle,#ff304f21,#ff304f08 46%,#0000 72%);border-radius:50%;width:380px;max-width:90%;height:380px;position:absolute}.portrait-ring{pointer-events:none;border-radius:50%;position:absolute}.portrait-ring-outer{opacity:.48;border:1px dashed #ff304f7a;width:430px;max-width:104%;height:430px;max-height:104%;animation:44s linear infinite spin}.portrait-ring-inner{opacity:.3;border:1px solid #96a5b938;width:340px;max-width:88%;height:340px;max-height:88%;animation:60s linear infinite reverse spin}.portrait-orbit-dot-wrap{pointer-events:none;width:430px;max-width:104%;height:430px;max-height:104%;animation:22s linear infinite spin;position:absolute}.portrait-orbit-dot{background:var(--accent);border-radius:50%;width:8px;height:8px;animation:3.2s ease-in-out infinite pulseDot;position:absolute;top:-4px;left:50%}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulseDot{0%,to{opacity:1;box-shadow:0 0 14px #ff304fe6}50%{opacity:.45;box-shadow:0 0 24px #ff304f7a}}.portrait-frame{z-index:3;aspect-ratio:.92;background:var(--bg-secondary);width:302px;max-width:78%;transform:rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transform-style:preserve-3d;transition:transform .38s var(--ease-out), box-shadow .38s ease;border:1px solid #ff304fa6;border-radius:16px;position:relative;overflow:hidden;box-shadow:0 22px 60px #0000006b,0 0 42px #ff304f1a}.profile-image{object-fit:cover;object-position:center;filter:grayscale()contrast(1.05)brightness(.95);width:100%;height:100%;transition:filter .7s var(--ease-out), transform .8s var(--ease-out);position:absolute;inset:0}.portrait-frame:hover .profile-image{filter:grayscale(0%)contrast(1.02)brightness();transform:scale(1.03)}.portrait-frame:hover{box-shadow:0 26px 70px #00000075,0 0 48px #ff304f21}.portrait-tone-overlay,.portrait-scanlines,.portrait-inner-shadow{pointer-events:none;position:absolute;inset:0}.portrait-tone-overlay{mix-blend-mode:soft-light;background:linear-gradient(#ff304f14,#0000 40%,#050d1885)}.portrait-scanlines{opacity:.12;background-image:repeating-linear-gradient(#ffffff1a 0 1px,#0000 1px 3px)}.portrait-inner-shadow{box-shadow:inset 0 1px #ffffff29,inset 0 -40px 60px #050d1880}.location-info{z-index:5;background:#091522eb;border:1px solid #96a5b92e;border-radius:999px;align-items:center;gap:12px;padding:10px 16px 10px 13px;display:flex;position:absolute;bottom:8%;right:2%;box-shadow:0 12px 34px #00000059}.location-icon{color:var(--accent);font-size:17px;display:flex}.location-copy{flex-direction:column;gap:2px;display:flex}.location-label{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);font-size:10px}.location-place{font-size:14px;font-weight:500}.marquee{cursor:grab;touch-action:pan-y;-webkit-user-select:none;user-select:none;margin-block:var(--section-pad);border-block:1px solid var(--line);padding-block:clamp(20px,2.4vw,36px);overflow:clip}.marquee.is-dragging{cursor:grabbing}html.has-cursor .marquee{cursor:none}.marquee-track{will-change:transform;width:max-content;display:flex}.marquee-track span{letter-spacing:-.05em;white-space:nowrap;color:#0000;background:linear-gradient(#f4f6fa4d 0%,#f4f6fa12 100%);-webkit-background-clip:text;background-clip:text;align-items:center;padding-right:.45em;font-size:clamp(3rem,8vw,8.5rem);font-weight:600;line-height:1.1;display:inline-flex}.marquee-track span:nth-child(2n){color:var(--fg);background:0 0}.marquee-track span:after{content:"";background:var(--red);border-radius:50%;width:.14em;height:.14em;margin-left:.45em}.stack-wrap{scroll-margin-top:var(--header-h)}.stack-head{margin-bottom:clamp(40px,5vw,64px)}.stack-title{font-size:var(--fs-h2);letter-spacing:-.05em;font-weight:600;line-height:.95}.stack-title-accent{color:var(--red)}.stack-intro{max-width:40rem;font-size:var(--fs-lead);color:var(--muted);margin-top:clamp(20px,2.4vw,32px);line-height:1.55}.stack-categories{grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;margin-bottom:26px;display:grid}.stack-card{appearance:none;border:1px solid var(--border);text-align:left;min-height:158px;color:var(--text-primary);cursor:pointer;transition:transform .32s var(--ease-out), border-color .32s ease, box-shadow .32s ease;background:linear-gradient(145deg,#0e1c2ceb,#081421d6);border-radius:15px;flex-direction:column;justify-content:flex-start;padding:25px 24px 22px;display:flex;position:relative;overflow:hidden}.card-sheen{pointer-events:none;opacity:0;width:38%;transition:left .82s var(--ease-out), opacity .22s ease;background:linear-gradient(90deg,#0000,#ffffff0e,#0000);position:absolute;top:0;bottom:0;left:-48%;transform:skew(-18deg)}.stack-card:hover .card-sheen{opacity:1;left:120%}.stack-card:hover{border-color:var(--border-hover);transform:translateY(-5px);box-shadow:0 20px 44px #0000004d}.stack-card.active{border-color:var(--border-accent);background:linear-gradient(145deg,#ff304f18,#0a1422f5 52%);box-shadow:0 0 30px #ff304f14,inset 0 0 30px #ff304f09}.stack-card.active:before{content:"";background:linear-gradient(90deg, transparent, var(--accent), transparent);border-radius:2px;height:2px;position:absolute;top:0;left:22px;right:22px}.stack-card.active:after{content:"";background:var(--accent);width:13px;height:13px;position:absolute;bottom:-7px;left:50%;transform:translate(-50%)rotate(45deg)}.stack-card-title{z-index:2;align-items:center;gap:14px;font-size:16px;font-weight:650;display:flex;position:relative}.stack-icon{width:28px;min-width:28px;color:var(--accent);justify-content:center;font-size:21px;display:inline-flex}.stack-card p{z-index:2;max-width:200px;color:var(--text-secondary);margin:18px 42px 0;font-size:13px;line-height:1.55;position:relative}.stack-arrow{width:35px;height:35px;color:var(--text-secondary);border:1px solid #96a5b938;border-radius:50%;place-items:center;font-size:12px;transition:color .3s,border-color .3s,background .3s,transform .3s;display:grid;position:absolute;bottom:17px;right:17px}.stack-card:hover .stack-arrow,.stack-card.active .stack-arrow{color:#fff;background:#ff304f0f;border-color:#ff304f8c}.stack-card.active .stack-arrow{transform:rotate(180deg)}.stack-detail{background:linear-gradient(135deg,#ff304f0d,#08131ff7 38%,#08131ff7);border:1px solid #ff304f8c;border-radius:20px;grid-template-columns:minmax(270px,.72fr) minmax(640px,1.55fr);align-items:center;gap:52px;min-height:230px;padding:42px 52px;transition:opacity .22s,transform .22s;display:grid;position:relative;overflow:hidden;box-shadow:0 0 52px #ff304f0d,inset 0 1px #ffffff0d}.detail-pattern{pointer-events:none;opacity:.48;background-image:repeating-linear-gradient(135deg,#ff304f0b 0 1px,#0000 1px 9px);position:absolute;inset:0;-webkit-mask-image:radial-gradient(70% 80% at 6% 0,#000,#0000 72%);mask-image:radial-gradient(70% 80% at 6% 0,#000,#0000 72%)}.stack-detail-intro{z-index:2;border-right:1px solid var(--border);align-items:flex-start;gap:22px;min-height:118px;padding-right:42px;display:flex;position:relative}.detail-icon{width:46px;color:var(--accent);flex:0 0 46px;justify-content:center;font-size:37px;display:inline-flex}.stack-detail-intro h3{letter-spacing:-.038em;margin:2px 0 10px;font-size:clamp(28px,2.4vw,34px);font-weight:700;line-height:1.1}.stack-detail-intro p{max-width:330px;color:var(--text-secondary);font-size:16px;line-height:1.55}.stack-skills{z-index:2;flex-direction:column;gap:18px;min-width:0;display:flex;position:relative}.stack-skills[data-count="4"]{gap:21px}.skill-item{position:relative}.skill-row{grid-template-columns:minmax(250px,320px) minmax(260px,1fr);align-items:center;column-gap:clamp(38px,4vw,64px);display:grid}.skill-name{text-align:left;width:100%;min-width:0;color:var(--text-primary);transition:color .2s ease, transform .24s var(--ease-out);background:0 0;align-items:center;gap:12px;padding:0;font-size:14px;display:flex}.skill-name:not(button){cursor:help}.skill-name:hover{color:var(--accent-bright);transform:translate(4px)}.skill-label{min-width:0}.platform-icon{justify-content:center;width:28px;min-width:28px;font-size:17px;display:inline-flex}.skill-expand-icon{color:var(--text-muted);transition:transform .3s var(--ease-out), color .2s ease;margin-left:auto;padding-left:12px;font-size:10px}.skill-item.expanded .skill-expand-icon{color:var(--accent);transform:rotate(180deg)}.skill-bar{background:#96a5b91f;border-radius:999px;width:100%;height:8px;position:relative;overflow:hidden}.skill-bar:before{content:"";opacity:.35;background-image:repeating-linear-gradient(90deg,#0000 0 calc(25% - 1px),#96a5b942 calc(25% - 1px) 25%);position:absolute;inset:0}.skill-progress{width:calc(var(--progress,0) * 1%);border-radius:inherit;background:linear-gradient(90deg, var(--accent-dark), var(--accent) 55%, var(--accent-bright));transform-origin:0;height:100%;transition:transform .65s var(--ease-out);display:block;position:relative;overflow:hidden;transform:scaleX(0);box-shadow:0 0 16px #ff304f4d}.skill-progress:after{content:"";background:linear-gradient(90deg,#0000,#ffffff6b,#0000);width:34%;animation:3.8s cubic-bezier(.4,0,.2,1) infinite shimmerSweep;position:absolute;top:0;bottom:0;left:0}.skill-progress.is-visible{transform:scaleX(1)}@keyframes shimmerSweep{0%{transform:translate(-120%)}60%,to{transform:translate(320%)}}.subskills-collapse{opacity:0;transition:grid-template-rows .34s var(--ease-out), opacity .26s ease, margin-top .34s var(--ease-out);grid-template-rows:0fr;margin-top:0;display:grid}.subskills-inner{overflow:hidden}.skill-item.expanded .subskills-collapse{opacity:1;grid-template-rows:1fr;margin-top:13px}.subskill-row+.subskill-row{margin-top:9px}.subskill-row.has-bar{grid-template-columns:minmax(250px,320px) minmax(260px,1fr);align-items:center;column-gap:clamp(38px,4vw,64px);display:grid}.subskill-name{font-family:var(--font-mono);color:var(--text-secondary);align-items:center;gap:9px;padding-left:40px;font-size:11.5px;display:flex}.subskill-dot{background:#ff304fb8;border-radius:50%;flex:0 0 4px;width:4px;height:4px}.subskill-bar{background:#96a5b917;border-radius:999px;width:100%;height:6px;overflow:hidden}.subskill-progress{width:calc(var(--progress,0) * 1%);border-radius:inherit;transform-origin:0;height:100%;transition:transform .52s var(--ease-out);background:linear-gradient(90deg,#c91839cc,#ff304fd1);display:block;transform:scaleX(0)}.subskill-progress.is-visible{transform:scaleX(1)}.subskill-row.no-bar{font-family:var(--font-mono);color:var(--text-secondary);padding:3px 0 3px 40px;font-size:11.5px}.subskill-row.no-bar .subskill-name{padding-left:0}.skill-tooltip{z-index:9999;width:min(340px,100vw - 32px);color:var(--slate);opacity:0;visibility:hidden;pointer-events:none;background:#060f1bf7;border:1px solid #ff304f9e;border-radius:11px;padding:14px 16px;font-size:13px;line-height:1.55;transition:opacity .18s,visibility .18s,transform .18s;position:fixed;transform:translateY(6px);box-shadow:0 18px 44px #0000005c,0 0 28px #ff304f0f}.skill-tooltip.visible{opacity:1;visibility:visible;transform:translateY(0)}.collab{min-height:100svh;display:flex;position:relative;overflow-x:clip}.collab-fill{color:var(--navy);background:var(--red);clip-path:circle(150%);flex:1;align-items:center;display:flex}.collab-inner{gap:clamp(24px,4vh,48px);padding-block:clamp(120px,18vh,200px);display:grid}.collab-question{letter-spacing:-.025em;max-width:24ch;font-size:clamp(1.25rem,2.2vw,2.125rem);font-weight:500;line-height:1.25}.collab-question em{font-style:normal;font-weight:700}.collab-link{--ring:clamp(104px, 10vw, 176px);border-radius:12px;width:fit-content;font-size:clamp(3.4rem,14.6vw,17rem);display:block;position:relative}.collab-link:focus-visible{outline-color:var(--navy);outline-offset:8px}.collab-title{letter-spacing:-.065em;font-size:1em;font-weight:600;line-height:.9}.collab-letters{margin:0 -.08em -.08em -.02em;padding:0 .08em .08em .02em;display:inline-flex;overflow:clip}.collab-letter{transition:translate .6s var(--ease-expo), transform 1.1s var(--ease-expo);transition-delay:calc(var(--i) * 25ms), calc(var(--i) * 40ms);display:inline-block}html.js .collab:not(.is-in) .collab-letter{transform:translateY(105%)}.collab-link:hover .collab-letter,.collab-link:focus-visible .collab-letter{translate:0 -.07em}.collab-button{right:calc(var(--ring) * -.6);top:calc(.12em - var(--ring));width:var(--ring);aspect-ratio:1;place-items:center;display:grid;position:absolute}.collab-button:before{content:"";background:var(--navy);transition:transform .6s var(--ease-expo);border-radius:50%;position:absolute;inset:0}.collab-ring{width:100%;height:100%;fill:var(--paper);font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;font-size:12px;animation:18s linear infinite spin;position:absolute;inset:0}.collab-mobile-cta{display:none}.collab-arrow{color:var(--red);transition:transform .6s var(--ease-expo);font-size:clamp(1.5rem,2vw,2rem);position:relative}.collab-link:hover .collab-button:before,.collab-link:focus-visible .collab-button:before{transform:scale(1.08)}.collab-link:hover .collab-arrow,.collab-link:focus-visible .collab-arrow{transform:rotate(-45deg)}.floating-cta{right:var(--gutter);z-index:95;letter-spacing:-.01em;min-height:52px;color:var(--navy);background:var(--red);transition:translate .55s var(--ease-expo), transform .6s var(--ease-expo), opacity .4s var(--ease-out), visibility 0s linear 0s, background-color .3s;border-radius:999px;align-items:center;gap:12px;padding:6px 6px 6px 22px;font-size:.9375rem;font-weight:600;display:inline-flex;position:fixed;bottom:clamp(16px,3vh,28px);box-shadow:0 14px 34px #050d1859}.floating-cta-arrow{width:40px;height:40px;color:var(--red);background:var(--navy);transition:transform .6s var(--ease-expo);border-radius:50%;place-items:center;font-size:.9375rem;display:grid}.floating-cta:hover,.floating-cta:focus-visible{background:var(--red-bright)}.floating-cta:hover .floating-cta-arrow,.floating-cta:focus-visible .floating-cta-arrow{transform:rotate(-45deg)}.floating-cta:focus-visible{outline-color:var(--paper)}html.js .floating-cta:not(.is-shown),body.menu-open .floating-cta{opacity:0;visibility:hidden;transition:transform .5s var(--ease-expo), opacity .3s var(--ease-out), visibility 0s linear .5s;transform:translateY(24px)scale(.9)}.certs{padding-block:var(--section-pad)}.certs-grid{grid-template-columns:minmax(0,4fr) minmax(0,8fr);align-items:start;gap:clamp(32px,6vw,112px);display:grid}.certs-head{top:calc(var(--header-h) + 32px);position:sticky}.certs-title{letter-spacing:-.04em;font-size:clamp(2rem,3.4vw,3.5rem);font-weight:600;line-height:1.04;display:grid}.certs-title-accent{color:var(--red)}.certs-sub{max-width:30ch;font-size:var(--fs-lead);color:var(--muted);margin-top:20px;line-height:1.55}.cert-list{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.cert-list>li{border-bottom:1px solid var(--line)}.cert-row{cursor:pointer;isolation:isolate;grid-template-columns:44px minmax(0,1fr) auto 24px;align-items:center;gap:clamp(12px,2vw,28px);padding:26px 8px;list-style:none;display:grid;position:relative}.cert-row::-webkit-details-marker{display:none}.cert-row:before{content:"";z-index:-1;background:var(--surface);opacity:0;transition:opacity .4s;position:absolute;inset:0}.cert-row:hover:before,.cert[open] .cert-row:before{opacity:1}.cert-index,.cert-year{font-family:var(--font-mono);font-size:var(--fs-mono);letter-spacing:.08em;color:var(--muted);transition:color .3s}.cert-name{letter-spacing:-.015em;transition:translate .6s var(--ease-expo);font-size:clamp(1rem,1.35vw,1.3125rem);font-weight:500;line-height:1.35}.cert-row:hover .cert-name{translate:8px}.cert-row:hover .cert-index,.cert[open] .cert-index{color:var(--red)}.cert-toggle{width:12px;height:12px;transition:transform .5s var(--ease-expo);justify-self:end;position:relative}.cert-toggle:before,.cert-toggle:after{content:"";background:currentColor;width:100%;height:1.5px;margin-top:-.75px;position:absolute;top:50%;left:0}.cert-toggle:after{transform:rotate(90deg)}.cert[open] .cert-toggle{transform:rotate(135deg)}.cert-body{padding:4px 8px 32px calc(52px + clamp(12px,2vw,28px))}.cert[open] .cert-body{animation:certOpen .7s var(--ease-expo)}@keyframes certOpen{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}.cert-body img{border-radius:10px;width:auto;max-width:100%;max-height:min(70vh,620px);box-shadow:0 18px 50px #07111f24}.cert-preview{z-index:80;pointer-events:none;opacity:0;width:240px;transition:opacity .3s var(--ease-out), scale .5s var(--ease-expo);will-change:transform;background:#fff;border-radius:12px;position:fixed;top:0;left:0;overflow:hidden;scale:.7;box-shadow:0 30px 70px #07111f47}.cert-preview.is-visible{opacity:1;scale:1}.cert-preview img{width:100%;height:auto}main{border-radius:0 0 var(--radius-lg) var(--radius-lg)}.site-footer{--bg:var(--navy-deep);--fg:var(--paper);--muted:var(--slate);--line:#f4f6fa1f;z-index:0;color:var(--fg);background:var(--bg);padding-top:clamp(80px,13vh,150px);position:relative;overflow:clip}@media (width>=768px) and (height>=700px){.site-footer:not(.is-static){position:sticky;bottom:0}}.footer-label{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:14px;font-size:.6875rem}.footer-cols{grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:32px;display:grid}.footer-cols ul{color:var(--muted);gap:8px;margin:0;padding:0;font-size:.9375rem;list-style:none;display:grid}.footer-cols a{color:var(--fg)}.footer-cols i{width:1.2em;color:var(--muted)}.footer-soon small{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;margin-left:4px;font-size:.625rem}.footer-cta-item{margin-top:10px}.footer-cols a.footer-cta{white-space:nowrap;color:#fff;background:var(--red);border-radius:999px;align-items:center;gap:10px;min-height:44px;padding:0 20px;font-size:14px;font-weight:600;transition:background-color .3s,box-shadow .3s;display:inline-flex;box-shadow:0 10px 24px -12px #ff304fe6}.footer-cols a.footer-cta:hover,.footer-cols a.footer-cta:focus-visible{background:#d91a3c}.footer-cta span{transition:transform .4s var(--ease-expo);display:inline-block}.footer-cta:hover span,.footer-cta:focus-visible span{transform:translate(3px)}@media (width<=640px){.footer-cols a.footer-cta{gap:8px;padding:0 16px;font-size:13px}}.footer-top-link{align-self:end}.back-to-top{border:1px solid var(--line);min-height:44px;font-family:var(--font-mono);font-size:var(--fs-mono);letter-spacing:.1em;text-transform:uppercase;transition:translate .55s var(--ease-expo), border-color .3s, background-color .3s;border-radius:999px;align-items:center;gap:10px;padding:0 20px;display:inline-flex}.back-to-top:hover{border-color:var(--red);background:#ff304f1a}.footer-bottom{border-top:1px solid var(--line);font-family:var(--font-mono);color:var(--muted);justify-content:space-between;align-items:center;margin-top:clamp(40px,6vh,72px);padding-block:22px;font-size:.75rem;display:flex}.footer-mark{width:26px;height:26px;color:var(--paper)}.footer-wordmark{padding:0 var(--gutter) .22em;letter-spacing:-.065em;white-space:nowrap;text-align:center;color:#0000;background:linear-gradient(#f4f6faf2 0%,#f4f6fa14 92%);translate:0 var(--wordmark-y,0%);-webkit-background-clip:text;background-clip:text;margin:0;font-size:10.6vw;font-weight:700;line-height:.82}.footer-wordmark .accent-dot{-webkit-text-fill-color:var(--red)}@media (width<=1180px){.brand-word{display:none}.portrait-frame{width:270px}.portrait-ring-outer,.portrait-orbit-dot-wrap{width:380px;height:380px}.portrait-ring-inner{width:300px;height:300px}.stack-categories{scrollbar-width:none;grid-template-columns:repeat(5,minmax(190px,1fr));padding-bottom:12px;overflow-x:auto}.stack-categories::-webkit-scrollbar{display:none}.stack-detail{grid-template-columns:minmax(230px,.7fr) minmax(560px,1.5fr);gap:38px;padding:36px 38px}.skill-row,.subskill-row.has-bar{grid-template-columns:minmax(220px,270px) minmax(220px,1fr);column-gap:32px}}@media (width<=1023px){:root{--header-h:68px;--fs-hero:9.2vw}.main-nav{display:none}.menu-toggle{display:inline-flex}.brand-word{display:inline}.hero-intro{width:auto;max-width:34rem;margin-top:clamp(32px,6vh,56px);position:static}.certs-grid{grid-template-columns:1fr}.certs-head{position:static}.footer-cols{grid-template-columns:repeat(3,minmax(0,1fr))}.footer-top-link{grid-column:1/-1}}@media (width<=820px){.about-intro{grid-template-columns:1fr}.profile-title{font-size:clamp(32px,9.6vw,63px)}.about-visual{min-height:400px}.portrait-frame{width:min(270px,75vw)}.portrait-ring-outer,.portrait-orbit-dot-wrap{width:315px;height:315px}.portrait-ring-inner{width:248px;height:248px}.location-info{width:max-content;bottom:-2px;left:50%;right:auto;transform:translate(-50%)}.stack-categories{scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;gap:12px;width:100%;margin:0 0 22px;padding:10px 2px 14px;display:flex;overflow:auto visible}.stack-card{scroll-snap-align:start;flex:0 0 min(82vw,320px);width:min(82vw,320px);min-height:145px}.stack-card:hover{transform:none}.stack-detail{grid-template-columns:1fr;gap:30px;width:100%;padding:30px 24px}.stack-detail-intro{border-right:0;border-bottom:1px solid var(--border);padding:0 0 28px}.skill-row,.subskill-row.has-bar{grid-template-columns:minmax(210px,260px) minmax(180px,1fr);column-gap:26px}}@media (width<=767px){:root{--fs-hero:23.5vw;--section-pad:96px}.hero{padding-bottom:20px}.hero-headline-wrap{flex-direction:column;display:flex}.hero-intro{display:contents}.hero-hello{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);order:-1;align-items:center;gap:10px;margin-bottom:22px;font-size:.75rem;font-weight:500;display:flex}.hero-hello:before{content:"";background:var(--red);border-radius:50%;width:7px;height:7px}.hero-lede{order:1;max-width:30ch;margin-top:28px;font-size:1rem}html.js .hero-hello,html.js .hero-lede{opacity:0;transition:opacity 1s var(--ease-out) 1.25s}html.is-ready .hero-hello,html.is-ready .hero-lede{opacity:1}.hero-title{line-height:.86}.hero-line{white-space:normal}.hero-line[data-line="0"] .w{width:fit-content;display:block}.hero-line-indent{padding-left:0}.hero-line .w-and{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--red);margin:.95em .7em 0 .08em;font-size:.15em;font-weight:500}.hero-line[data-line="2"],.hero-line[data-line="3"]{letter-spacing:-.045em;color:#c9d1dc;font-size:.385em;line-height:1.02}.hero-line[data-line="2"]{margin-top:.55em}.hero-line-end{text-align:left}.hero-foot-note{display:none}.profile-facts{grid-template-columns:1fr;gap:16px}.profile-facts div{justify-content:space-between;gap:16px;display:flex}.profile-facts dt{margin:0}.profile-facts dd{text-align:right}.collab-link{font-size:18.5vw}.collab-button{display:none}.collab-mobile-cta{letter-spacing:-.01em;color:var(--paper);background:var(--navy);border-radius:999px;align-items:center;gap:12px;margin-top:28px;padding:6px 6px 6px 20px;font-size:.9375rem;font-weight:600;display:inline-flex}.collab-mobile-cta i{width:38px;height:38px;color:var(--navy);background:var(--red);border-radius:50%;place-items:center;display:grid}.floating-cta{right:14px;bottom:max(14px, env(safe-area-inset-bottom));gap:10px;min-height:44px;padding:4px 4px 4px 18px;font-size:.875rem}.floating-cta-arrow{width:36px;height:36px}.cert-row{grid-template-columns:32px minmax(0,1fr) 16px;padding:20px 4px}.cert-year{grid-area:2/2;margin-top:-8px}.cert-toggle{grid-area:1/3}.cert-body{padding:4px 0 24px}.footer-cols{grid-template-columns:1fr 1fr}.footer-top-link{grid-column:auto;justify-self:end}}@media (width<=620px){.stack-card{flex-basis:min(100vw - 64px,326px);width:min(100vw - 64px,326px)}.stack-detail{padding:26px 20px}.skill-row{grid-template-columns:1fr;row-gap:10px}.subskill-row.has-bar{grid-template-columns:1fr;row-gap:7px}.subskill-row.has-bar .subskill-bar{width:calc(100% - 40px);margin-left:40px}}@media (width<=390px){.stack-card{flex-basis:calc(100vw - 52px);width:calc(100vw - 52px)}}@media (hover:none){.cert-row:hover .cert-name,.skill-name:hover,.stack-card:hover{transform:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.001ms!important;transition-delay:0s!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.intro-curtain{display:none!important}}
