*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;height:100%}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{display:flex;flex-direction:column;min-height:100vh}#root>footer{margin-top:auto}img,svg{display:block;max-width:100%}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}ul,ol{padding:0;margin:0;list-style:none}:root{--cream: #fff8e7;--cream-2: #ffe9c4;--paper: #f7f5ee;--ink: #0a0a0a;--ink-soft: #1a1a1a;--muted: #6b6258;--rule: #1a1a1a;--pink: #ff2e8b;--cobalt: #0033ff;--teal: #2dd4bf;--gold: #ffd400;--green: #00b86b;--holo-cyan: #79e4ff;--holo-pink: #ff7ae6;--holo-green: #b6ffb0;--serif: "Fraunces", Georgia, serif;--display: "Archivo Black", "Fraunces", sans-serif;--sans: "Inter", system-ui, sans-serif;--mono: "IBM Plex Mono", monospace;--shadow: 8px 8px 0 var(--ink);--shadow-sm: 4px 4px 0 var(--ink);--shadow-lg: 14px 14px 0 var(--ink);--gradient-holo: linear-gradient(110deg, var(--holo-pink) 0%, var(--cobalt) 22%, var(--holo-cyan) 44%, var(--holo-green) 66%, var(--gold) 88%, var(--holo-pink) 100%)}@property --hue{syntax: "<angle>"; inherits: false; initial-value: 0deg;}@property --rot{syntax: "<angle>"; inherits: false; initial-value: 0deg;}body{font-family:var(--sans);background:var(--cream);color:var(--ink);font-size:17px;line-height:1.55;overflow-x:hidden;cursor:none}@media (max-width: 900px){body{cursor:auto}}.holo-text{background:var(--gradient-holo);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:holoSweep 9s ease-in-out infinite}@keyframes holoSweep{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.demo-back{background:var(--ink);color:var(--gold);border:3px solid var(--ink);border-radius:0;box-shadow:var(--shadow-sm);backdrop-filter:none;font-family:var(--display);letter-spacing:.06em;transition:transform .15s,box-shadow .15s}.demo-back:hover{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--ink)}.trail{position:fixed;inset:0;z-index:9997;pointer-events:none;mix-blend-mode:multiply}.cursor{position:fixed;top:0;left:0;pointer-events:none;z-index:9998;width:64px;height:64px;transform:translate(-50%,-50%) scale(0);transition:transform .22s cubic-bezier(.2,.8,.2,1);will-change:transform;filter:drop-shadow(2px 2px 0 var(--ink))}.cursor svg{width:100%;height:100%;display:block}.cursor.active{transform:translate(-50%,-50%) scale(1)}.cursor.hover{transform:translate(-50%,-50%) scale(1.3)}.cursor .ring-1{animation:portalSpin 6s linear infinite;transform-origin:50% 50%;transform-box:fill-box}.cursor .ring-2{animation:portalSpinR 4s linear infinite;transform-origin:50% 50%;transform-box:fill-box}.cursor .ring-3{animation:portalSpin 3s linear infinite;transform-origin:50% 50%;transform-box:fill-box}.cursor.hover .ring-2{animation-duration:1.6s}@keyframes portalSpin{to{transform:rotate(360deg)}}@keyframes portalSpinR{to{transform:rotate(-360deg)}}@keyframes hueRotate{to{--hue: 360deg}}@media (max-width: 900px){.cursor,.trail{display:none}}.marquee{background:var(--ink);color:var(--cream);padding:14px 0;overflow:hidden;border-bottom:4px solid var(--ink)}.marquee.alt{background:var(--cobalt);color:var(--cream);border-top:4px solid var(--ink)}.marquee-track{display:inline-flex;gap:32px;white-space:nowrap;animation:marq 28s linear infinite;font-family:var(--display);font-size:15px;letter-spacing:.08em;text-transform:uppercase}.marquee-track span:before{content:" ◆  ";color:var(--gold)}.marquee.alt .marquee-track{animation-direction:reverse;animation-duration:38s}.marquee.alt .marquee-track span:before{content:" ●  ";color:var(--gold)}@keyframes marq{0%{transform:translate(0)}to{transform:translate(-50%)}}.masthead{position:sticky;top:0;z-index:50;background:var(--cream);border-bottom:3px solid var(--ink)}.masthead-inner{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:auto 1fr auto;gap:20px;align-items:center;padding:12px 28px}.masthead-title{font-family:var(--serif);font-weight:800;font-style:italic;font-size:22px;letter-spacing:-.02em;line-height:1;white-space:nowrap}.masthead-title a{color:inherit}.masthead-title .holo-text{font-style:normal}.masthead-nav{display:flex;gap:4px;justify-content:center;align-items:center}.masthead-nav a{padding:5px 9px;font-family:var(--display);font-size:10px;letter-spacing:.05em;white-space:nowrap;border:2.5px solid var(--ink);background:var(--cream);transition:transform .15s,box-shadow .15s,background .15s}.masthead-nav a:hover{background:var(--gold);transform:translate(-2px,-2px);box-shadow:var(--shadow-sm)}.masthead-cta{padding:8px 16px;font-family:var(--display);font-size:10px;letter-spacing:.08em;white-space:nowrap;background:var(--ink);color:var(--cream);border:2.5px solid var(--ink);box-shadow:var(--shadow-sm);transition:transform .15s,box-shadow .15s,background .15s}.masthead-cta:hover{background:var(--pink);transform:translate(-2px,-2px);box-shadow:var(--shadow)}.masthead-right{display:flex;align-items:center;gap:12px}.hamburger{display:none}.mobile-menu{display:none;position:fixed;inset:0;z-index:49;background:var(--cream);transform:translate(100%);transition:transform .32s ease;padding-top:80px}.mobile-menu.open{transform:translate(0)}.mobile-menu nav{display:flex;flex-direction:column;align-items:center;gap:24px;padding:40px 24px}.mobile-menu nav a{font-family:var(--display);font-size:22px;font-weight:700;letter-spacing:.12em;text-decoration:none;color:var(--ink)}.mobile-menu nav a.mobile-cta{background:var(--ink);color:var(--cream);padding:12px 28px}.container{max-width:1280px;margin:0 auto;padding:0 28px}section{padding:90px 0}.section{padding:90px 0}.divider{height:0;border-top:3px solid var(--ink);margin:0}.hero{padding:60px 0 80px;position:relative}.hero-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:48px;align-items:center}.hero-stamp{display:inline-flex;align-items:center;gap:8px;background:var(--gold);border:3px solid var(--ink);padding:8px 16px;font-family:var(--mono);font-size:12px;font-weight:700;letter-spacing:.14em;transform:rotate(-3deg);box-shadow:var(--shadow-sm);animation:stampPulse 4s ease-in-out infinite}.hero-stamp:before{content:"";width:9px;height:9px;border-radius:50%;background:var(--green);box-shadow:0 0 8px #00b86b99;animation:blink 1.4s steps(2) infinite}@keyframes blink{50%{opacity:.3}}@keyframes stampPulse{0%,to{transform:rotate(-3deg) translateY(0)}50%{transform:rotate(-2deg) translateY(-2px)}}.hero-eyebrow{font-family:var(--serif);font-style:italic;font-size:17px;color:var(--muted);margin-top:16px}.hero-eyebrow:before{content:"—  ";color:var(--cobalt)}.hero-name{font-family:var(--serif);font-weight:900;font-size:clamp(60px,11vw,168px);line-height:.88;letter-spacing:-.045em;margin:14px 0 8px}.hero-name .ln{display:block;overflow:hidden}.hero-name .ln>span{display:inline-block;transform:translateY(110%);animation:rise .9s cubic-bezier(.2,.8,.2,1) .2s forwards}.hero-name .ln:nth-child(2)>span{animation-delay:.34s}@keyframes rise{to{transform:translateY(0)}}.hero-name .ln em{font-style:italic;font-weight:600}.hero-name .ln em.holo{background:var(--gradient-holo);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:holoSweep 9s ease-in-out infinite}.underline-svg{display:block;width:56%;max-width:460px;margin:0 0 22px;color:var(--cobalt)}.underline-svg path{fill:none;stroke:currentColor;stroke-width:5;stroke-linecap:round;stroke-dasharray:700;stroke-dashoffset:700;animation:drawStroke 1.6s cubic-bezier(.2,.7,.2,1) 1.4s forwards}@keyframes drawStroke{to{stroke-dashoffset:0}}.hero-tag{font-family:var(--serif);font-style:italic;font-size:22px;max-width:580px;margin:0 0 28px;line-height:1.45;color:var(--ink-soft)}.hero-tag mark{background:var(--gold);padding:0 8px;border:2px solid var(--ink);font-style:normal;font-weight:600}.hero-tag .accent{background:var(--cobalt);color:var(--cream);padding:0 8px;font-style:normal;font-weight:600}.hero-actions{display:flex;gap:14px;flex-wrap:wrap}.btn{padding:14px 22px;font-family:var(--display);font-size:14px;letter-spacing:.06em;text-transform:uppercase;border:4px solid var(--ink);background:var(--cream);transition:transform .12s,box-shadow .12s;display:inline-flex;align-items:center;gap:10px;box-shadow:var(--shadow)}.btn:hover{transform:translate(-3px,-3px);box-shadow:11px 11px 0 var(--ink)}.btn:active{transform:translate(4px,4px);box-shadow:2px 2px 0 var(--ink)}.btn.primary{background:var(--cobalt);color:var(--cream)}.btn.secondary{background:var(--pink);color:var(--cream)}.portrait-frame{position:relative;width:100%;aspect-ratio:4 / 5;max-width:380px;margin-left:auto;background:var(--ink);border:5px solid var(--ink);box-shadow:14px 14px 0 var(--gold),14px 14px 0 5px var(--ink);transform:rotate(2deg);transition:transform .6s cubic-bezier(.2,.7,.2,1);overflow:hidden}.portrait-frame:hover{transform:rotate(-1deg)}.portrait-frame canvas{position:absolute;inset:0;width:100%!important;height:100%!important}.portrait-frame .mono{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--display);font-size:220px;line-height:1;color:var(--cream);letter-spacing:-.06em;mix-blend-mode:difference;pointer-events:none}.portrait-frame .badge{position:absolute;bottom:-22px;right:-22px;width:100px;height:100px;border-radius:50%;background:var(--gold);border:4px solid var(--ink);display:flex;align-items:center;justify-content:center;font-family:var(--display);font-size:11px;text-align:center;letter-spacing:.04em;transform:rotate(-12deg);animation:spinSlow 14s linear infinite;z-index:2}@keyframes spinSlow{to{transform:rotate(-12deg) rotate(360deg)}}.portrait-frame .corner{position:absolute;width:14px;height:14px;border:3px solid var(--cream);mix-blend-mode:difference}.portrait-frame .corner.tl{top:8px;left:8px;border-right:none;border-bottom:none}.portrait-frame .corner.tr{top:8px;right:8px;border-left:none;border-bottom:none}.portrait-frame .corner.bl{bottom:8px;left:8px;border-right:none;border-top:none}.portrait-frame .corner.br{bottom:8px;right:8px;border-left:none;border-top:none}.hero-stats{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-top:56px}.stat-card{padding:18px 16px;border:4px solid var(--ink);background:var(--cream);box-shadow:var(--shadow-sm);transform:rotate(var(--rot, 0deg));transition:transform .25s cubic-bezier(.5,1.5,.5,1),box-shadow .25s;will-change:transform}.stat-card:nth-child(1){--rot: -1.2deg;background:var(--gold)}.stat-card:nth-child(2){--rot: 1.2deg;background:var(--pink);color:var(--cream)}.stat-card:nth-child(3){--rot: -1.2deg;background:var(--cobalt);color:var(--cream)}.stat-card:nth-child(4){--rot: 1.2deg;background:var(--green);color:var(--cream)}.stat-card:nth-child(5){--rot: -.9deg;background:var(--cream-2)}.stat-card:nth-child(6){--rot: .9deg;background:var(--ink);color:var(--gold)}.stat-card:hover{transform:rotate(0) translate(-3px,-5px);box-shadow:12px 12px 0 var(--ink)}.stat-num{font-family:var(--serif);font-weight:900;font-size:44px;line-height:1;letter-spacing:-.04em}.stat-lbl{font-family:var(--mono);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;margin-top:6px;font-weight:700}.s-eyebrow{display:inline-block;padding:7px 14px;background:var(--ink);color:var(--cream);font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;margin-bottom:18px}.s-title{font-family:var(--serif);font-weight:800;font-size:clamp(40px,6vw,84px);line-height:.98;letter-spacing:-.035em;margin:0 0 18px}.s-title em.holo{font-style:italic;background:var(--gradient-holo);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:holoSweep 9s ease-in-out infinite;font-weight:800}.s-title em.cobalt{font-style:italic;color:var(--cobalt);font-weight:800}.s-title em.stamp{font-style:normal;font-family:var(--display);background:var(--gold);padding:0 14px;border:4px solid var(--ink);display:inline-block;transform:rotate(-2deg);box-shadow:var(--shadow-sm);font-size:.85em;vertical-align:.05em}.s-deck{font-family:var(--serif);font-style:italic;font-size:22px;max-width:720px;margin:0 0 56px;line-height:1.45;color:var(--muted)}.about{display:grid;grid-template-columns:2fr 1fr;gap:50px;align-items:start}.about-text{column-count:2;column-gap:32px;column-rule:1.5px solid var(--rule)}.about-text p{font-size:16px;line-height:1.7;margin:0 0 14px;break-inside:avoid}.about-text p:first-child:first-letter{font-family:var(--serif);font-weight:900;font-size:96px;float:left;line-height:.85;padding:6px 12px 0 0;color:var(--cobalt)}.about-text strong{background:var(--gold);padding:0 5px;border:1.5px solid var(--ink);font-weight:600}.about-side{padding:26px 24px;background:var(--pink);color:var(--cream);border:4px solid var(--ink);box-shadow:var(--shadow);transform:rotate(1deg);transition:transform .3s}.about-side:hover{transform:rotate(0)}.about-side h4{font-family:var(--display);font-size:18px;letter-spacing:.04em;text-transform:uppercase;margin:0 0 16px;display:inline-block;padding:4px 10px;background:var(--ink);color:var(--gold);transform:rotate(-2deg)}.about-side ul{list-style:none;padding:0;margin:0;font-size:14px;line-height:1.65}.about-side ul li{padding:10px 0;border-bottom:1.5px dashed rgba(255,255,255,.4);display:flex;justify-content:space-between;gap:12px}.about-side ul li:last-child{border-bottom:none}.about-side ul li .k{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;align-self:center}.about-side ul li .v{font-family:var(--serif);font-style:italic;font-size:15px;text-align:right}.about-side .stack-strip{display:flex;flex-wrap:wrap;gap:6px;margin-top:16px}.about-side .stack-chip{padding:4px 10px;background:var(--cream);color:var(--ink);border:2px solid var(--ink);font-family:var(--mono);font-size:11px;font-weight:700;box-shadow:3px 3px 0 var(--ink);transition:transform .15s}.about-side .stack-chip:hover{transform:translate(-1px,-1px);box-shadow:4px 4px 0 var(--ink)}.timeline{position:relative;display:flex;flex-direction:column;gap:28px;margin-top:18px}.timeline:before{content:"";position:absolute;left:28px;top:6px;bottom:6px;width:4px;background:var(--ink)}.tline-row{position:relative;display:grid;grid-template-columns:200px 1fr;gap:28px;padding-left:64px}.tline-row:before{content:"";position:absolute;left:19px;top:14px;width:22px;height:22px;background:var(--gold);border:4px solid var(--ink);box-shadow:3px 3px 0 var(--ink);transform:rotate(45deg);z-index:1}.tline-row:nth-child(2):before{background:var(--pink)}.tline-row:nth-child(3):before{background:var(--cobalt)}.tline-row:nth-child(4):before{background:var(--green)}.tline-when{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:700;padding-top:8px;color:var(--ink)}.tline-when small{display:block;font-size:10.5px;color:var(--muted);letter-spacing:.12em;margin-top:4px;font-weight:500}.tline-card{padding:22px 26px;background:var(--cream);border:4px solid var(--ink);box-shadow:var(--shadow-sm);position:relative;transition:transform .2s,box-shadow .2s}.tline-card:hover{transform:translate(-3px,-4px);box-shadow:var(--shadow)}.tline-card .role-tag{display:inline-block;padding:4px 10px;background:var(--ink);color:var(--cream);font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;font-weight:700;text-transform:uppercase;margin-bottom:10px}.tline-card h3{font-family:var(--serif);font-weight:800;font-size:26px;letter-spacing:-.015em;margin:0 0 4px;line-height:1.1}.tline-card .place{font-family:var(--serif);font-style:italic;font-size:14.5px;color:var(--cobalt);margin:0 0 12px}.tline-card ul{margin:0;padding-left:20px;font-size:14px;line-height:1.65}.tline-card ul li{margin-bottom:6px}.tline-card ul li strong{background:var(--gold);padding:0 4px;font-weight:700}.tline-card .sub-roles{margin-top:14px;padding-top:14px;border-top:2px dashed var(--ink);display:flex;flex-direction:column;gap:12px}.tline-card .sub-role h4{font-family:var(--display);font-size:13px;letter-spacing:.08em;margin:0 0 6px;display:inline-block;padding:2px 8px;background:var(--cobalt);color:var(--cream)}.tline-card .sub-role h4.pink{background:var(--pink)}.stack-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.stack-block{padding:18px 20px;background:var(--cream);border:4px solid var(--ink);box-shadow:var(--shadow-sm);transition:transform .2s,box-shadow .2s;transform:rotate(var(--rot, 0deg))}.stack-block:nth-child(odd){--rot: -.4deg}.stack-block:nth-child(2n){--rot: .4deg;background:var(--cream-2)}.stack-block:hover{transform:rotate(0) translate(-3px,-4px);box-shadow:var(--shadow)}.stack-block h4{font-family:var(--display);font-size:12px;letter-spacing:.16em;margin:0 0 12px;padding:4px 10px;display:inline-block;background:var(--ink);color:var(--gold);transform:rotate(-1deg)}.stack-block:nth-child(2) h4{background:var(--pink);color:var(--cream)}.stack-block:nth-child(4) h4{background:var(--cobalt);color:var(--cream)}.stack-block:nth-child(6) h4{background:var(--green);color:var(--cream)}.stack-block:nth-child(8) h4{background:var(--pink);color:var(--cream)}.stack-block:nth-child(10) h4{background:var(--cobalt);color:var(--cream)}.stack-block:nth-child(12) h4{background:var(--green);color:var(--cream)}.stack-block:nth-child(3) h4{background:var(--gold);color:var(--ink)}.stack-block:nth-child(5) h4{background:var(--gold);color:var(--ink)}.stack-block:nth-child(7) h4{background:var(--gold);color:var(--ink)}.stack-block .chips{display:flex;flex-wrap:wrap;gap:6px}.stack-block .chip{padding:5px 10px;font-family:var(--mono);font-size:11px;font-weight:700;background:var(--cream);border:2px solid var(--ink);transition:transform .15s,background .15s}.stack-block:nth-child(2n) .chip{background:var(--cream)}.stack-block .chip:hover{background:var(--gold);transform:translate(-1px,-1px)}.creds{display:grid;grid-template-columns:1.2fr 1fr;gap:28px}.creds-block{padding:26px;border:4px solid var(--ink);box-shadow:var(--shadow-sm);background:var(--cream);transform:rotate(var(--rot, 0deg))}.creds-block:nth-child(1){--rot: -.6deg}.creds-block:nth-child(2){--rot: .6deg;background:var(--cobalt);color:var(--cream)}.creds-block h4{font-family:var(--display);font-size:14px;letter-spacing:.14em;margin:0 0 18px;padding:5px 12px;display:inline-block;background:var(--ink);color:var(--gold);transform:rotate(-1.5deg)}.creds-block:nth-child(2) h4{background:var(--gold);color:var(--ink)}.cert-list,.ind-list{display:flex;flex-wrap:wrap;gap:10px}.cert-pill{padding:8px 14px;background:var(--cream);border:3px solid var(--ink);font-family:var(--mono);font-size:12px;font-weight:700;letter-spacing:.04em;box-shadow:3px 3px 0 var(--ink);transition:transform .15s,background .15s;display:inline-flex;align-items:center;gap:6px}.cert-pill:before{content:"✓";color:var(--green);font-weight:900}.cert-pill:hover{transform:translate(-2px,-2px);box-shadow:5px 5px 0 var(--ink);background:var(--gold)}.ind-pill{padding:8px 14px;background:var(--gold);color:var(--ink);border:3px solid var(--ink);font-family:var(--display);font-size:12px;letter-spacing:.1em;box-shadow:3px 3px 0 var(--ink);transition:transform .15s}.ind-pill:hover{transform:translate(-2px,-2px);box-shadow:5px 5px 0 var(--ink)}.life{display:grid;grid-template-columns:2fr 1fr;gap:24px}.life-block{padding:24px 28px;border:4px solid var(--ink);box-shadow:var(--shadow-sm);background:var(--cream);transform:rotate(var(--rot, 0deg))}.life-block:nth-child(1){--rot: -.6deg;background:var(--pink);color:var(--cream)}.life-block:nth-child(2){--rot: .6deg;background:var(--green);color:var(--cream)}.life-block h4{font-family:var(--display);font-size:14px;letter-spacing:.14em;margin:0 0 14px;padding:4px 12px;display:inline-block;background:var(--ink);color:var(--gold);transform:rotate(-2deg)}.life-block .hobby-list{display:flex;flex-wrap:wrap;gap:10px}.hobby{padding:8px 14px;background:var(--cream);color:var(--ink);border:3px solid var(--ink);font-family:var(--mono);font-size:12px;font-weight:700;box-shadow:3px 3px 0 var(--ink);transition:transform .15s}.hobby:hover{transform:translate(-2px,-2px);box-shadow:5px 5px 0 var(--ink)}.hobby em{font-style:italic;color:var(--cobalt);font-weight:500}.life-block .lang-list{display:flex;flex-direction:column;gap:8px}.lang-row{display:flex;justify-content:space-between;gap:12px;padding:8px 12px;background:var(--cream);color:var(--ink);border:3px solid var(--ink);font-family:var(--mono);font-size:12px;font-weight:700;box-shadow:3px 3px 0 var(--ink)}.lang-row .level{font-family:var(--serif);font-style:italic;font-weight:800;color:var(--cobalt)}.projects-wrap{position:relative;overflow:hidden;margin:0 auto;padding:16px 28px 28px}.projects-track{display:flex;gap:24px;will-change:transform;transition:transform .45s cubic-bezier(.2,.7,.2,1);padding-right:30vw}.pcard{position:relative;flex:0 0 460px;max-width:460px;padding:26px;background:var(--cream);border:5px solid var(--ink);box-shadow:var(--shadow);display:flex;flex-direction:column;gap:14px;transition:transform .3s cubic-bezier(.5,1.4,.5,1),box-shadow .3s,background .3s;transform:rotate(var(--rot, 0deg))}.pcard:nth-child(odd){--rot: -.8deg}.pcard:nth-child(2n){--rot: .8deg;background:var(--cream-2)}.pcard:nth-child(6n+1){--rot: -.6deg}.pcard:nth-child(6n+3){--rot: -.4deg}.pcard:nth-child(6n+5){--rot: -.9deg}.pcard:hover{transform:rotate(0) translate(-4px,-6px);box-shadow:var(--shadow-lg);z-index:3}.pcard .head{display:flex;align-items:center;gap:14px}.pcard .logo{width:60px;height:60px;background:var(--cobalt);color:var(--cream);border:4px solid var(--ink);box-shadow:4px 4px 0 var(--ink);display:flex;align-items:center;justify-content:center;font-family:var(--display);font-size:18px;transform:rotate(-4deg);letter-spacing:.04em}.pcard:nth-child(2n) .logo{background:var(--pink)}.pcard .name{font-family:var(--serif);font-weight:900;font-size:36px;line-height:1;letter-spacing:-.025em}.pcard .name em.h{font-style:italic;color:var(--cobalt)}.pcard .role{align-self:flex-start;padding:7px 12px;background:var(--ink);color:var(--cream);font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.06em}.pcard .desc{font-size:14.5px;line-height:1.65;margin:0}.pcard .pull{font-family:var(--serif);font-style:italic;font-size:19px;line-height:1.4;padding-left:14px;border-left:3px solid var(--cobalt);color:var(--ink-soft);margin:4px 0}.pcard .tags{display:flex;flex-wrap:wrap;gap:6px}.pcard .tag{padding:3px 9px;font-family:var(--mono);font-size:11px;font-weight:700;background:var(--cream);border:2px solid var(--ink)}.pcard:nth-child(2n) .tag{background:var(--cream)}.pcard .metrics{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;padding-top:14px;border-top:3px solid var(--ink)}.pmetric{padding:10px 12px;border:3px solid var(--ink);background:var(--gold)}.pcard .pmetric{background:var(--gold)}.pcard:nth-child(6n+2) .pmetric{background:var(--green);color:var(--cream)}.pcard:nth-child(6n+3) .pmetric{background:var(--pink);color:var(--cream)}.pcard:nth-child(6n+4) .pmetric{background:var(--cobalt);color:var(--cream)}.pcard:nth-child(6n+5) .pmetric{background:var(--gold)}.pcard:nth-child(6n+6) .pmetric{background:var(--ink);color:var(--gold)}.pmetric .num{font-family:var(--serif);font-weight:900;font-size:28px;letter-spacing:-.03em;line-height:1}.pmetric .lbl{font-family:var(--mono);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;margin-top:4px;font-weight:700}.scroll-rail{display:flex;align-items:center;gap:14px;margin-top:22px;font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.scroll-rail .bar{flex:1;height:4px;background:#0000001a;border:2px solid var(--ink);position:relative}.scroll-rail .bar:after{content:"";position:absolute;left:0;top:-2px;bottom:-2px;width:var(--p, 20%);background:var(--gradient-holo);background-size:200% 100%;animation:holoSweep 6s linear infinite;border:2px solid var(--ink);border-top:none;border-bottom:none;transition:width .3s ease}.cgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.clink{position:relative;display:flex;flex-direction:column;gap:8px;padding:22px;background:var(--cream);border:4px solid var(--ink);box-shadow:var(--shadow);color:var(--ink);transition:transform .18s cubic-bezier(.5,1.5,.5,1),box-shadow .18s;transform:rotate(var(--rot, 0deg));overflow:hidden}.clink:nth-child(1){--rot: -1deg}.clink:nth-child(2){--rot: 1deg;background:var(--gold)}.clink:nth-child(3){--rot: -1deg;background:var(--cobalt);color:var(--cream)}.clink:nth-child(4){--rot: 1deg;background:var(--pink);color:var(--cream)}.clink:nth-child(5){--rot: -1deg}.clink:nth-child(6){--rot: 1deg;background:var(--green);color:var(--cream)}.clink:after{content:"";position:absolute;inset:-3px;background:var(--gradient-holo);background-size:220% 220%;opacity:0;pointer-events:none;mix-blend-mode:multiply;transition:opacity .3s;animation:holoSweep 6s linear infinite}.clink:hover{transform:rotate(0) translate(-3px,-3px);box-shadow:12px 12px 0 var(--ink)}.clink:hover:after{opacity:.18}.clink svg{width:28px;height:28px}.clink .lab{font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.clink .val{font-family:var(--serif);font-weight:800;font-size:22px;letter-spacing:-.02em;line-height:1.1}.foot{background:var(--ink);color:var(--cream);padding:36px 28px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px;font-family:var(--mono);font-size:12px;letter-spacing:.06em}.foot-stamp{display:inline-block;padding:4px 10px;background:var(--gold);color:var(--ink);border:2px solid var(--cream);font-weight:700;letter-spacing:.16em;text-transform:uppercase}.foot-set{font-family:var(--serif);font-style:italic}.foot-set strong{font-family:var(--display);font-style:normal;color:var(--gold)}.reveal{opacity:0;transform:translateY(30px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}.reveal.in{opacity:1;transform:translateY(0)}.reveal.spring{transition:opacity .7s cubic-bezier(.5,1.5,.5,1),transform .7s cubic-bezier(.5,1.5,.5,1)}.confetti{position:fixed;inset:0;z-index:9990;pointer-events:none}@media (max-width: 880px){.masthead-inner{grid-template-columns:1fr auto;gap:6px;padding:10px 18px}.masthead-nav,.masthead-right .masthead-cta{display:none}.mobile-menu{display:block}.hamburger{display:flex;flex-direction:column;justify-content:space-between;width:28px;height:20px;background:none;border:none;cursor:pointer;padding:0;z-index:51}.hamburger span{display:block;width:100%;height:2px;background:var(--ink);transition:transform .3s,opacity .3s}.hamburger.open span:nth-child(1){transform:translateY(9px) rotate(45deg)}.hamburger.open span:nth-child(2){opacity:0}.hamburger.open span:nth-child(3){transform:translateY(-9px) rotate(-45deg)}.container{padding:0 18px}.hero-grid{grid-template-columns:1fr;gap:28px}.portrait-frame{margin:0 auto;max-width:280px}.hero-stats{grid-template-columns:repeat(2,1fr)}.stat-num{font-size:32px!important}.about{grid-template-columns:1fr;gap:28px}.about-text{column-count:1}.pcard{flex:0 0 86vw;max-width:86vw}.cgrid,.stack-grid,.creds,.life{grid-template-columns:1fr}.tline-row{grid-template-columns:1fr;padding-left:56px;gap:12px}.tline-when{padding-top:0}.timeline:before{left:22px}.tline-row:before{left:13px}.course-hero{grid-template-columns:1fr}.course-hero-right{display:none}.course-grid{grid-template-columns:1fr}.course-notify-inner{grid-template-columns:1fr;gap:40px}.course-stats{flex-wrap:wrap}}.masthead-nav a.nav-active{background:var(--cobalt);color:var(--cream);border:2px solid var(--ink);box-shadow:var(--shadow-sm)}.course-hero{max-width:1280px;margin:0 auto;padding:80px 28px 64px;border-bottom:3px solid var(--ink);display:grid;grid-template-columns:3fr 2fr;gap:60px;align-items:center}.course-hero-right{display:flex;align-items:center;justify-content:center}.course-deck{position:relative;width:360px;height:280px}.course-deck-card{position:absolute;width:270px;border:3px solid var(--ink);background:var(--cream);overflow:hidden;transition:transform .25s,box-shadow .25s}.cdc-1{top:0;left:0;z-index:4;box-shadow:9px 9px 0 var(--ink);transform:rotate(-5deg)}.cdc-2{top:22px;left:26px;z-index:3;box-shadow:8px 8px 0 var(--ink);transform:rotate(2.5deg)}.cdc-3{top:44px;left:52px;z-index:2;box-shadow:7px 7px 0 var(--ink);transform:rotate(-2deg)}.cdc-4{top:66px;left:78px;z-index:1;box-shadow:6px 6px 0 var(--ink);transform:rotate(3.5deg)}.course-deck-card:hover{transform:rotate(0) translate(-6px,-6px)!important;z-index:10;box-shadow:14px 14px 0 var(--ink)!important}.cdc-accent{height:7px;flex-shrink:0}.cdc-body{padding:14px 16px;display:flex;flex-direction:column;gap:6px}.cdc-num{font-family:var(--mono);font-size:10px;opacity:.3;letter-spacing:.12em}.cdc-title{font-family:var(--serif);font-size:15px;font-weight:900;line-height:1.2}.cdc-hrs{font-family:var(--display);font-size:9px;letter-spacing:.14em;opacity:.55;margin-top:4px}.course-hero-title{font-family:var(--serif);font-size:clamp(52px,8vw,96px);font-weight:900;line-height:1;margin-bottom:20px}.course-hero-title em.holo{font-style:italic;background:var(--gradient-holo);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:holoSweep 9s ease-in-out infinite}.course-hero-sub{font-family:var(--mono);font-size:15px;line-height:1.7;max-width:520px;opacity:.7;margin-bottom:48px}.course-stats{display:flex;border:3px solid var(--ink);width:fit-content}.course-stat{padding:14px 28px;border-right:3px solid var(--ink);text-align:center}.course-stat:last-child{border-right:none}.course-stat:nth-child(1){background:var(--gold)}.course-stat:nth-child(2){background:var(--pink);color:var(--cream)}.course-stat:nth-child(3){background:var(--cobalt);color:var(--cream)}.course-stat:nth-child(4){background:var(--ink);color:var(--cream)}.course-stat-num{font-family:var(--display);font-size:28px;line-height:1;display:block}.course-stat-lbl{font-family:var(--mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;opacity:.5;margin-top:4px;display:block}.course-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px;margin-top:40px}.course-card{position:relative;border:3px solid var(--ink);background:var(--cream);display:flex;flex-direction:column;overflow:hidden;transform:rotate(-.5deg);transition:transform .2s,box-shadow .2s}.course-card-alt{background:var(--cream-2);transform:rotate(.5deg)}.course-card:hover{transform:rotate(0) translate(-4px,-4px);box-shadow:var(--shadow)}.course-accent{height:7px;flex-shrink:0}.course-body{padding:26px 26px 20px;flex:1;display:flex;flex-direction:column;gap:16px}.course-meta{display:flex;justify-content:space-between;align-items:center}.course-num{font-family:var(--mono);font-size:11px;opacity:.35;letter-spacing:.1em}.course-level{font-family:var(--mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;padding:4px 10px;border:2px solid var(--ink);font-weight:700}.course-level-beginner{background:var(--teal)}.course-level-intermediate{background:var(--gold)}.course-level-advanced{background:var(--pink);color:#fff}.course-title{font-family:var(--serif);font-size:28px;font-weight:900;line-height:1.1}.course-desc{font-size:14px;line-height:1.65;opacity:.72}.course-footer{display:flex;justify-content:space-between;align-items:center;padding-top:16px;border-top:2px solid var(--ink);margin-top:auto}.course-duration{font-family:var(--mono);font-size:12px;opacity:.6}.course-price{font-family:var(--display);font-size:24px}.course-cta{display:block;margin:0 26px 26px;padding:13px;text-align:center;font-family:var(--display);font-size:11px;letter-spacing:.1em;border:3px solid var(--ink);background:var(--ink);color:var(--cream);box-shadow:var(--shadow-sm);transition:all .15s;cursor:pointer}.course-cta:hover{transform:translate(-3px,-3px);box-shadow:var(--shadow);background:var(--cobalt)}.course-cta-disabled{background:var(--cream-2);color:var(--ink);border-color:var(--ink);box-shadow:none;opacity:.55;pointer-events:none;cursor:default}.course-soon-stamp{position:absolute;top:14px;right:16px;z-index:2;padding:4px 10px;background:var(--gold);border:2px solid var(--ink);box-shadow:3px 3px 0 var(--ink);font-family:var(--display);font-size:9px;letter-spacing:.2em;transform:rotate(2deg);pointer-events:none}.course-overlay{position:absolute;inset:0;background:#0a0a0ad1;backdrop-filter:blur(2px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;z-index:10}.course-overlay-icon{font-size:38px}.course-overlay-label{font-family:var(--mono);font-size:13px;letter-spacing:.22em;color:var(--cream);text-transform:uppercase}.course-overlay-sub{font-family:var(--mono);font-size:10px;color:#fff8e773;letter-spacing:.1em}.course-notify{background:var(--ink);color:var(--cream);border-top:3px solid var(--ink);padding:80px 0}.course-notify-inner{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}.course-notify-title{font-family:var(--serif);font-size:clamp(36px,4vw,52px);font-weight:900;line-height:1.1;margin-top:12px}.course-notify-sub{font-family:var(--mono);font-size:13px;opacity:.5;margin-top:16px;line-height:1.7}.course-notify-input-row{display:flex}.course-notify-input{flex:1;padding:15px 16px;font-family:var(--mono);font-size:13px;border:2px solid rgba(255,248,231,.25);border-right:none;background:#fff8e70f;color:var(--cream);outline:none}.course-notify-input::placeholder{opacity:.3}.course-notify-input:focus{border-color:var(--gold)}.course-notify-btn{padding:15px 28px;font-family:var(--display);font-size:11px;letter-spacing:.1em;background:var(--gold);color:var(--ink);border:2px solid var(--gold);cursor:pointer;white-space:nowrap;transition:all .15s}.course-notify-btn:hover{background:var(--pink);color:#fff;border-color:var(--pink)}.course-notify-note{font-family:var(--mono);font-size:10px;opacity:.3;margin-top:10px}
