.home{overflow-x:clip}.home-hero-bg{will-change:transform}.home-aurora{position:absolute;left:50%;top:35%;width:min(140vw,900px);height:min(140vw,900px);margin-left:-50%;margin-top:-50%;background:conic-gradient(from 220deg at 50% 50%,rgba(255,45,120,.14),transparent 25%,rgba(147,51,234,.12),transparent 50%,rgba(34,211,238,.08),transparent 75%,rgba(255,45,120,.1));filter:blur(48px);opacity:.75;pointer-events:none;animation:home-aurora-drift 22s ease-in-out infinite}@keyframes home-aurora-drift{0%,to{transform:rotate(0) scale(1);opacity:.7}50%{transform:rotate(180deg) scale(1.08);opacity:.85}}@media (prefers-reduced-motion: reduce){.home-aurora{animation:none;opacity:.55}}.home-hero-panel{position:relative;overflow:hidden}.home-hero-panel:after{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border-radius:inherit;padding:1px;background:linear-gradient(125deg,rgba(255,45,120,.35),rgba(147,51,234,.15) 40%,transparent 60%,rgba(34,211,238,.2));-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;opacity:.65}.home-hero-tagline-accent{display:block;margin-top:calc(var(--unit) * .75);font-family:var(--font-display);font-size:clamp(1.5rem,3.5vw,2.25rem);font-weight:700;font-style:normal;letter-spacing:-.03em;line-height:1.1;background:linear-gradient(100deg,var(--neon) 0%,#c026d3 38%,var(--cyan) 95%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 40px rgba(147,51,234,.25))}html.theme-light .home-hero-tagline-accent{filter:drop-shadow(0 0 28px rgba(124,58,237,.15))}.home-quick-nav{display:flex;flex-wrap:wrap;align-items:center;gap:calc(var(--unit) * 1);margin-top:calc(var(--unit) * 3);padding-top:calc(var(--unit) * 2.5);border-top:1px solid var(--border)}.home-quick-nav a{font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);text-decoration:none;padding:calc(var(--unit) * .75) calc(var(--unit) * 1.25);border-radius:999px;border:1px solid var(--border);background:#ffffff05;transition:color .25s var(--ease),border-color .25s var(--ease),box-shadow .35s var(--ease),transform .25s var(--ease)}.home-quick-nav a:hover{color:var(--white);border-color:#ff2d7866;box-shadow:0 0 28px #ff2d781f;transform:translateY(-2px)}.home-scroll-cue{position:absolute;bottom:calc(var(--unit) * 3);left:max(calc(var(--unit) * 3),(100vw - 1120px) / 2 + var(--unit) * 3);font-family:var(--font-mono);font-size:.625rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin:0;z-index:2}.home-stats{position:relative;padding:calc(var(--unit) * 7) 0;border-block:1px solid var(--border);background:linear-gradient(180deg,rgba(255,45,120,.03),transparent 55%),var(--bg-elevated)}html.theme-light .home-stats{background:linear-gradient(180deg,rgba(124,58,237,.06),transparent 52%),linear-gradient(165deg,#ffffffeb,#f3f4fcfa),var(--bg-elevated);box-shadow:inset 0 1px #ffffffa6}.home-stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:calc(var(--unit) * 1.5);max-width:1120px;margin:0 auto;width:min(1120px,100% - calc(var(--unit) * 6))}@media (min-width: 900px){.home-stats-grid{grid-template-columns:repeat(4,1fr);gap:calc(var(--unit) * 2)}}.home-stat-card{position:relative;padding:calc(var(--unit) * 2.5) calc(var(--unit) * 2);border-radius:calc(var(--unit) * 1.25);border:1px solid var(--border);background:linear-gradient(160deg,#ffffff0d,#fff0);box-shadow:0 0 0 1px #ffffff05 inset;overflow:hidden;transition:border-color .35s var(--ease),box-shadow .35s var(--ease)}.home-stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--neon),var(--purple),var(--cyan));opacity:.65}.home-stat-card:hover{border-color:#9333ea59;box-shadow:0 16px 48px #00000040}html.theme-light .home-stat-card{background:linear-gradient(165deg,#fffffffa,#f7f8ffe0);box-shadow:0 1px #ffffffe6 inset,0 12px 40px #4c3c780f}html.theme-light .home-stat-card:hover{border-color:#7c3aed38;box-shadow:0 1px #fffffff2 inset,0 16px 48px #4c3c781a,0 0 0 1px #c026830f}.home-stat-card .stat-value{display:block;font-family:var(--font-display);font-size:clamp(1.75rem,4vw,2.35rem);font-weight:800;letter-spacing:-.03em;line-height:1;margin-bottom:calc(var(--unit) * 1.25);background:linear-gradient(125deg,var(--neon) 0%,#e879f9 42%,var(--purple) 100%);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}html.theme-light .home-stat-card .stat-value{background:linear-gradient(125deg,var(--neon) 0%,#8b5cf6 38%,var(--purple-deep) 100%);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;filter:drop-shadow(0 2px 16px rgba(124,58,237,.12))}.home-stat-card .stat-label{font-size:.6875rem;line-height:1.45;color:var(--muted)}html.theme-light .home-glance{position:relative}html.theme-light .home-glance:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(ellipse 80% 50% at 50% 0%,rgba(124,58,237,.05),transparent 60%)}.home-glance{padding:calc(var(--unit) * 8) 0}.home-glance-intro{max-width:52ch;margin:0 auto calc(var(--unit) * 5);text-align:center}.home-glance-intro .section-heading{margin-bottom:calc(var(--unit) * 2)}.home-glance-lead{font-family:var(--font-serif);font-style:italic;font-size:clamp(1.0625rem,1.8vw,1.2rem);color:var(--muted);line-height:1.6;margin:0}.home-glance-grid{display:grid;gap:calc(var(--unit) * 2)}@media (min-width: 768px){.home-glance-grid{grid-template-columns:repeat(3,1fr);align-items:stretch}}.home-glance-card{position:relative;padding:calc(var(--unit) * 3);border-radius:calc(var(--unit) * 1.5);border:1px solid var(--border);background:linear-gradient(180deg,rgba(147,51,234,.06),transparent 55%),var(--bg-elevated);min-height:100%;display:flex;flex-direction:column;gap:calc(var(--unit) * 1.5);transition:transform .35s var(--ease),border-color .35s var(--ease),box-shadow .35s var(--ease)}.home-glance-card:hover{transform:translateY(-6px);border-color:#ff2d7840;box-shadow:0 24px 56px #00000047}html.theme-light .home-glance-card{background:linear-gradient(185deg,#ffffffb8,#f5f6fff2),linear-gradient(135deg,rgba(124,58,237,.05),transparent 42%);box-shadow:0 1px #ffffffd9 inset,0 10px 32px #4c3c780d}html.theme-light .home-glance-card:hover{border-color:#c0268333;box-shadow:0 1px #ffffffe6 inset,0 20px 48px #4c3c7817,0 0 40px #c026830f}.home-glance-kicker{font-family:var(--font-mono);font-size:.625rem;letter-spacing:.14em;text-transform:uppercase;color:var(--neon);opacity:.95}.home-glance-card p{flex:1;margin:0;font-size:.9375rem;line-height:1.58;color:var(--muted)}.home-glance-card .inline-link{align-self:flex-start;margin-top:auto}.home-featured .project-card{transition:transform .35s var(--ease),border-color .35s var(--ease),box-shadow .45s var(--ease)}.home-featured .project-card:hover{box-shadow:0 0 0 1px #9333ea33,0 20px 60px #00000059}.hero-tagline-wrap{margin-bottom:calc(var(--unit) * 4)}.hero-tagline-wrap .hero-tagline{margin-bottom:0;max-width:38ch}.home-backdrop-wrap{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden;pointer-events:none}.home-backdrop-canvas{display:block;width:100%;height:100%}.home-hero .hero-bg{z-index:1}.home-hero:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:2;background:linear-gradient(185deg,transparent 0%,transparent 42%,rgba(100,40,200,.07) 68%,rgba(255,45,100,.1) 100%);mix-blend-mode:screen;opacity:.42;mask-image:linear-gradient(to bottom,#0003,#000);-webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,.25) 0%,rgba(0,0,0,1) 100%)}html.theme-light .home-hero:after{inset:auto;bottom:0;left:0;right:0;top:auto;height:48%;opacity:1;mix-blend-mode:normal;mask-image:none;-webkit-mask-image:none;background:linear-gradient(180deg,transparent 0%,transparent 28%,rgba(124,58,237,.06) 72%,rgba(219,39,119,.05) 100%)}html.theme-light .home-hero{background:linear-gradient(168deg,#fbfbff,#f4f2fb 38%,#faf9ff 72%,#f6f4fc)}html.theme-light .home-backdrop-wrap{opacity:1;filter:none}html.theme-light .home-hero .home-aurora{opacity:.38;filter:blur(52px)}html.theme-light .home-hero .hero-grid{opacity:.38;background-image:linear-gradient(rgba(124,58,237,.11) 1px,transparent 1px),linear-gradient(90deg,rgba(192,38,131,.09) 1px,transparent 1px)}html.theme-light .home-hero .blob{opacity:.26}html.theme-light .home-hero .blob-a{background:#7c3aed61}html.theme-light .home-hero .blob-b{background:radial-gradient(circle at 30% 30%,#c0268352,#7c3aed38)}html.theme-light .home-hero .blob-c{background:radial-gradient(circle at 50% 50%,#0891b238,#5b21b62e)}.home-hero-light-fx{display:none}html.theme-light .home-hero-light-fx{display:block;position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;overflow:hidden}html.theme-light .home-hero-light-fx:before{content:"";position:absolute;top:-25%;right:-25%;bottom:-25%;left:-25%;background:radial-gradient(ellipse 55% 48% at 22% 38%,rgba(124,58,237,.2),transparent 58%),radial-gradient(ellipse 50% 44% at 82% 62%,rgba(244,63,131,.16),transparent 55%),radial-gradient(ellipse 40% 38% at 55% 18%,rgba(34,211,238,.1),transparent 50%);animation:home-hero-light-orbs 36s ease-in-out infinite alternate}html.theme-light .home-hero-light-fx:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(115deg,transparent 0%,transparent 42%,rgba(255,255,255,.14) 50%,transparent 58%,transparent 100%);background-size:220% 100%;animation:home-hero-light-sweep 22s ease-in-out infinite;mix-blend-mode:overlay;opacity:.35}html.theme-light .home-hero .hero-blobs{z-index:2}@keyframes home-hero-light-orbs{0%{transform:translate(0) scale(1);opacity:1}to{transform:translate(1.5%,-1%) scale(1.03);opacity:.96}}@keyframes home-hero-light-sweep{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}@media (prefers-reduced-motion: reduce){html.theme-light .home-hero-light-fx:before,html.theme-light .home-hero-light-fx:after{animation:none}html.theme-light .home-hero-light-fx:after{opacity:.25}}.home-hud{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;pointer-events:none;font-family:var(--font-mono);font-size:clamp(.5rem,1.1vw,.5625rem);letter-spacing:.12em;color:#a0afcd61;line-height:1.45}html.theme-light .home-hud{color:#f5f6ffeb}html.theme-light .home-hud-corner{padding:calc(var(--unit) * .6) calc(var(--unit) * .9);border-radius:4px;background:#16102a85;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 0 0 1px #ffffff14 inset,0 8px 24px #281e501f}html.theme-light .home-hud-scanline{opacity:.05;background:repeating-linear-gradient(0deg,transparent,transparent 3px,rgba(60,40,100,.05) 3px,rgba(60,40,100,.05) 4px);mix-blend-mode:multiply}.home-hud-corner{position:absolute;display:flex;flex-direction:column;gap:.25em;max-width:min(44vw,220px)}.home-hud-corner span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-hud-corner--tl{top:calc(var(--unit) * 2);left:calc(var(--unit) * 2);text-align:left}.home-hud-corner--tr{top:calc(var(--unit) * 2);right:calc(var(--unit) * 2);text-align:right;align-items:flex-end}.home-hud-corner--bl{bottom:calc(var(--unit) * 2);left:calc(var(--unit) * 2)}.home-hud-corner--br{bottom:calc(var(--unit) * 2);right:calc(var(--unit) * 2);text-align:right;align-items:flex-end}.home-hud-scanline{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,.14) 2px,rgba(0,0,0,.14) 3px);opacity:.12;mix-blend-mode:overlay;pointer-events:none}@media (max-width: 640px){.home-hud-corner--tl,.home-hud-corner--tr{max-width:38vw}.home-hud-corner--bl,.home-hud-corner--br{display:none}}.home-hero .hero-inner.home-hero-panel{z-index:5}.home-hero .home-scroll-cue{z-index:6}.home-hero .ghost-text{text-shadow:1.5px 0 rgba(255,55,130,.4),-1.5px 0 rgba(55,190,255,.32),0 0 50px rgba(147,51,234,.18)}html.theme-light .home-hero .ghost-text{color:transparent;-webkit-text-stroke:0;filter:none;background:linear-gradient(102deg,#4c1d95,#86198f 38%,#0e7490 92%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;text-shadow:none}html.theme-light .home-hero .hero-eyebrow{color:#7c3aedbf}html.theme-light .home-hero .hero-tagline{color:#43405a}html.theme-light .home-hero-tagline-accent{filter:none}html.theme-light .home-hero-panel{background:linear-gradient(145deg,#ffffffeb,#fcfbffb8 45%,#f8f5ffe0);box-shadow:inset 0 0 0 1px #ffffffd9,0 1px #7c3aed0f inset,0 24px 48px #4c3c7812}html.theme-light .home-hero-panel:after{opacity:.45;background:linear-gradient(125deg,rgba(192,38,131,.22),rgba(124,58,237,.12) 42%,transparent 58%,rgba(8,145,178,.12))}html.theme-light .home-hero .home-quick-nav{border-top-color:#4c3c781a}html.theme-light .home-hero .home-quick-nav a{color:#4b4568;border-color:#4c3c781f;background:#ffffff8c}html.theme-light .home-hero .home-quick-nav a:hover{color:var(--purple-deep);border-color:#7c3aed47;box-shadow:0 4px 20px #7c3aed1a}html.theme-light .home-hero .home-scroll-cue{color:#4b45688c}.home-hero .hero-eyebrow{animation:home-eyebrow-glitch 7s ease-in-out infinite}@keyframes home-eyebrow-glitch{0%,94%,to{transform:translate(0);opacity:1}95%{transform:translate(-1px,.5px);opacity:.92}96%{transform:translate(1px,-.5px);opacity:1}}@media (prefers-reduced-motion: reduce){.home-hero .hero-eyebrow{animation:none}}.about-stack{display:flex;flex-direction:column;gap:calc(var(--unit) * 5)}.about-intro .section-heading{margin-bottom:0}.about-heading-tight{max-width:18ch}.about-split,.about-freya-split{display:grid;gap:calc(var(--unit) * 5);align-items:start}@media (min-width: 900px){.about-split{grid-template-columns:minmax(280px,.95fr) 1.05fr;align-items:center}.about-freya-split{grid-template-columns:1fr minmax(280px,.95fr);align-items:center}}.about-freya{position:relative;overflow:hidden}.about-freya:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(ellipse 70% 55% at 20% 80%,rgba(147,51,234,.07),transparent 55%),radial-gradient(ellipse 50% 40% at 90% 20%,rgba(255,45,120,.06),transparent 50%);opacity:.9}html.theme-light .about-freya:before{background:radial-gradient(ellipse 75% 60% at 15% 85%,rgba(124,58,237,.08),transparent 55%),radial-gradient(ellipse 55% 45% at 92% 18%,rgba(192,38,131,.07),transparent 50%)}.about-freya-wrap{position:relative;z-index:1}.about-freya-copy .section-heading{margin-bottom:calc(var(--unit) * 3)}.photo-carousel{width:100%;max-width:520px;margin-inline:auto}.about-freya .photo-carousel{margin-inline:auto 0}@media (max-width: 899px){.about-freya .photo-carousel{margin-inline:auto}}.photo-carousel-shell{position:relative;border-radius:calc(var(--unit) * 1.5 + 2px);padding:2px;background:linear-gradient(130deg,#ff2d78d9,#9333ea73 36%,#22d3ee66 68%,#ff2d78bf);background-size:200% 200%;animation:carousel-border-shift 12s ease-in-out infinite;box-shadow:0 0 60px #9333ea24,0 24px 48px #0000004d}html.theme-light .photo-carousel-shell{box-shadow:0 0 48px #7c3aed1f,0 20px 40px #4c3c781a}.photo-carousel-viewport{position:relative;border-radius:calc(var(--unit) * 1.5);overflow:hidden;aspect-ratio:4 / 3;background:linear-gradient(145deg,#140c1ee6,#08080ef2);box-shadow:inset 0 0 0 1px #ffffff0a}html.theme-light .photo-carousel-viewport{background:linear-gradient(145deg,#ffffff8c,#e6e8f5fa);box-shadow:inset 0 0 0 1px #7c3aed14}@keyframes carousel-border-shift{0%,to{background-position:0% 50%;filter:hue-rotate(0deg)}50%{background-position:100% 50%;filter:hue-rotate(14deg)}}@media (prefers-reduced-motion: reduce){.photo-carousel-shell{animation:none}}.photo-carousel-inner{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;overflow:hidden;z-index:0}.photo-carousel-slide{position:absolute;top:0;right:0;bottom:0;left:0}.photo-carousel-img{width:100%;height:100%;object-fit:cover;object-position:center 28%;display:block;transform-origin:center center}.photo-carousel--freya .photo-carousel-img{object-position:center 35%}.photo-carousel-scan{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:repeating-linear-gradient(0deg,transparent,transparent 3px,rgba(255,255,255,.02) 3px,rgba(255,255,255,.02) 4px);mix-blend-mode:overlay;opacity:.35}html.theme-light .photo-carousel-scan{opacity:.2}.photo-carousel-caption-wrap{position:absolute;left:0;right:0;bottom:0;z-index:3;padding:calc(var(--unit) * 2) calc(var(--unit) * 2.5);background:linear-gradient(0deg,rgba(4,4,10,.82) 0%,rgba(4,4,10,.2) 55%,transparent 100%)}html.theme-light .photo-carousel-caption-wrap{background:linear-gradient(0deg,rgba(14,14,24,.75) 0%,rgba(14,14,24,.12) 55%,transparent 100%)}.photo-carousel-caption{margin:0;font-family:var(--font-serif);font-size:clamp(.9375rem,1.8vw,1.0625rem);font-style:italic;color:#f5f5fcf2;line-height:1.45;text-shadow:0 1px 12px rgba(0,0,0,.45)}html.theme-light .photo-carousel-caption{color:#fffffffa}.photo-carousel-controls{display:flex;align-items:center;justify-content:center;gap:calc(var(--unit) * 2);margin-top:calc(var(--unit) * 2)}.photo-carousel-btn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border-radius:50%;border:1px solid var(--border-strong);background:linear-gradient(165deg,#ffffff0f,#00000026);color:var(--white);cursor:pointer;transition:transform .25s var(--ease),border-color .25s var(--ease),box-shadow .3s var(--ease),color .2s ease}.photo-carousel-btn:hover{transform:scale(1.06);border-color:#ff2d7873;color:var(--neon);box-shadow:0 0 28px #ff2d7826}html.theme-light .photo-carousel-btn{background:linear-gradient(165deg,#fffffff2,#edeefae0);box-shadow:0 4px 16px #4c3c7814}html.theme-light .photo-carousel-btn:hover{border-color:#7c3aed59;color:var(--purple-deep);box-shadow:0 6px 24px #7c3aed1f}.photo-carousel-dots{display:flex;gap:calc(var(--unit) * 1);align-items:center}.photo-carousel-dot{width:8px;height:8px;padding:0;border:none;border-radius:50%;background:var(--border-strong);cursor:pointer;transition:transform .25s var(--ease),background .25s var(--ease),box-shadow .3s var(--ease)}.photo-carousel-dot.is-active{background:linear-gradient(135deg,var(--neon),var(--purple-deep));transform:scale(1.25);box-shadow:0 0 16px #ff2d7859}html.theme-light .photo-carousel-dot.is-active{box-shadow:0 0 14px #7c3aed59}html.theme-light .home .skills.section{position:relative}html.theme-light .home .skill-card{background:linear-gradient(168deg,#ffffffe6,#f3f4fcd9);box-shadow:0 1px #ffffffe6 inset,0 10px 32px #4c3c780d}html.theme-light .home .skill-card:hover{border-color:#7c3aed33;box-shadow:0 1px #fffffff2 inset,0 18px 44px #4c3c7814,0 0 36px #c026830d}html.theme-light .home .skills.section:after{content:"";position:absolute;left:50%;bottom:0;transform:translate(-50%);width:min(720px,90%);height:1px;background:linear-gradient(90deg,transparent,rgba(124,58,237,.2),transparent)}html.theme-light .home-featured .project-card{background:linear-gradient(165deg,#ffffffe0,#f1f2fcf5);box-shadow:0 1px #fffc inset}html.theme-light .home-featured .project-card:hover{box-shadow:0 0 0 1px #7c3aed26,0 22px 50px #4c3c781a}html.theme-light .home .contact.strip{background:linear-gradient(90deg,rgba(124,58,237,.06),transparent 40%,rgba(192,38,131,.05));border-top:1px solid var(--border)}.page-resume .resume-main{padding-top:calc(var(--unit) * 8);padding-bottom:calc(var(--unit) * 10)}.resume-hero{position:relative;padding-bottom:calc(var(--unit) * 6)}.resume-hero:before{content:"";position:absolute;pointer-events:none;inset:-20% -10% auto;height:min(480px,55vh);background:radial-gradient(ellipse 60% 50% at 50% 0%,rgba(147,51,234,.18),transparent 72%),radial-gradient(ellipse 45% 40% at 70% 20%,rgba(255,45,120,.1),transparent 70%);opacity:.9;z-index:0}.resume-hero-inner{position:relative;z-index:1}.resume-hero-label{margin-bottom:calc(var(--unit) * 2)}.resume-name{font-family:var(--font-display);font-size:clamp(2.5rem,7vw,3.75rem);font-weight:800;letter-spacing:-.04em;line-height:1;margin:0 0 calc(var(--unit) * 1)}.resume-headline{font-family:var(--font-serif);font-size:clamp(1.25rem,2.5vw,1.5rem);font-style:italic;color:var(--muted);margin:0 0 calc(var(--unit) * 2)}.resume-meta-line{font-family:var(--font-mono);font-size:.75rem;letter-spacing:.04em;color:var(--muted);margin:0 0 calc(var(--unit) * 3)}.resume-meta-line a{color:var(--white);text-decoration:none;border-bottom:1px solid rgba(147,51,234,.35);transition:border-color .2s var(--ease),color .2s var(--ease)}.resume-meta-line a:hover{color:var(--neon);border-color:#ff2d7880}.resume-meta-sep{margin:0 calc(var(--unit) * 1);opacity:.45}.resume-hero-actions{display:flex;flex-wrap:wrap;gap:calc(var(--unit) * 1.5)}.resume-block{padding-top:calc(var(--unit) * 2);padding-bottom:calc(var(--unit) * 2)}.resume-h2{font-family:var(--font-display);font-size:clamp(1.35rem,2.5vw,1.65rem);font-weight:700;letter-spacing:-.03em;margin:0 0 calc(var(--unit) * 3);padding-bottom:calc(var(--unit) * 1.5);border-bottom:1px solid var(--border);background:linear-gradient(90deg,#ff2d7859,#9333ea59);background-size:120px 2px;background-repeat:no-repeat;background-position:0 100%}.resume-summary-layout{display:grid;gap:calc(var(--unit) * 3);align-items:start}@media (min-width: 900px){.resume-summary-layout{grid-template-columns:minmax(0,1.2fr) minmax(0,.9fr);gap:calc(var(--unit) * 5)}}.resume-summary p{font-family:var(--font-serif);font-style:italic;font-size:clamp(1.05rem,1.6vw,1.15rem);color:var(--muted);line-height:1.65;margin:0 0 calc(var(--unit) * 2)}.resume-summary p:last-child{margin-bottom:0}.resume-bullets .inline-tag-hit{font-style:normal}.resume-spotlight-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10050;display:flex;align-items:center;justify-content:center;padding:calc(var(--unit) * 2);pointer-events:auto}.resume-spotlight-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;border:none;padding:0;margin:0;cursor:pointer;background:#040408b8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}html.theme-light .resume-spotlight-backdrop{background:#fafafcd1}.resume-spotlight-panel{position:relative;width:min(100%,420px);max-height:min(78vh,520px);overflow:auto;padding:calc(var(--unit) * 3);border-radius:calc(var(--unit) * 1.5);border:1px solid var(--border);background:linear-gradient(165deg,rgba(255,255,255,.06),transparent 40%),linear-gradient(180deg,var(--bg-elevated),rgba(6,6,8,.92));box-shadow:0 0 0 1px #ffffff0a inset,0 24px 80px #00000073}html.theme-light .resume-spotlight-panel{background:var(--bg-elevated);box-shadow:0 24px 80px #0000001f}.resume-spotlight-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:calc(var(--unit) * 2);margin-bottom:calc(var(--unit) * 1.5)}.resume-spotlight-title{font-family:var(--font-display);font-size:1.35rem;font-weight:700;letter-spacing:-.03em;margin:0;line-height:1.2}.resume-spotlight-close{flex-shrink:0;width:2rem;height:2rem;display:inline-flex;align-items:center;justify-content:center;font-size:1.35rem;line-height:1;color:var(--muted);background:#ffffff0d;border:1px solid var(--border);border-radius:calc(var(--unit) * .75);cursor:pointer;transition:color .2s var(--ease),background .2s var(--ease),border-color .2s var(--ease)}.resume-spotlight-close:hover{color:var(--white);border-color:#9333ea73;background:#9333ea1f}.resume-spotlight-lead{font-family:var(--font-mono);font-size:.625rem;letter-spacing:.16em;text-transform:uppercase;color:var(--neon);margin:0 0 calc(var(--unit) * 1.5);opacity:.95}.resume-spotlight-list{margin:0;padding-left:1.1rem;font-size:.9375rem;line-height:1.55;color:var(--muted)}.resume-spotlight-list li{margin-bottom:calc(var(--unit) * 1)}.resume-spotlight-list li:last-child{margin-bottom:0}.resume-spotlight-sections{margin:0;padding:0;list-style:none}.resume-spotlight-sections li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:calc(var(--unit) * 1.25);padding:calc(var(--unit) * 1.25) 0;border-bottom:1px solid var(--border);font-size:.9375rem;line-height:1.45;color:var(--muted)}.resume-spotlight-sections li:first-child{padding-top:0}.resume-spotlight-sections li:last-child{border-bottom:none;padding-bottom:0}.resume-spotlight-section-title{flex:1 1 12rem;min-width:0;color:var(--white)}.resume-spotlight-jump{flex-shrink:0;font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.06em;text-transform:uppercase;color:var(--neon);background:#9333ea1f;border:1px solid rgba(147,51,234,.35);border-radius:calc(var(--unit) * .75);padding:calc(var(--unit) * .65) calc(var(--unit) * 1.1);cursor:pointer;transition:background .2s var(--ease),border-color .2s var(--ease),transform .2s var(--ease)}.resume-spotlight-jump:hover{background:#9333ea33;border-color:#ff2d7866;transform:translateY(-1px)}.resume-spotlight-jump:focus-visible{outline:2px solid rgba(147,51,234,.65);outline-offset:2px}.page-resume [id^=resume-section-]{scroll-margin-top:calc(var(--unit) * 14)}.resume-spotlight-actions{margin-top:calc(var(--unit) * 2.5);padding-top:calc(var(--unit) * 2);border-top:1px solid var(--border)}.resume-spotlight-link{font-size:.8125rem;padding:calc(var(--unit) * .75) calc(var(--unit) * 1.5)}.resume-soft-skills{padding:calc(var(--unit) * 2.5);border-radius:calc(var(--unit) * 1.5);border:1px solid var(--border);background:linear-gradient(165deg,rgba(255,255,255,.04),transparent 45%),linear-gradient(180deg,var(--bg-elevated),rgba(6,6,8,.5));box-shadow:0 0 0 1px #ffffff08 inset}html.theme-light .resume-soft-skills{background:linear-gradient(165deg,rgba(0,0,0,.02),transparent 45%),var(--bg-elevated)}.resume-soft-h3{font-family:var(--font-mono);font-size:.625rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--neon);margin:0 0 calc(var(--unit) * 2);opacity:.95}.resume-soft-list{margin:0;padding:0;list-style:none}.resume-soft-list li{position:relative;padding-left:calc(var(--unit) * 2);margin-bottom:calc(var(--unit) * 1.35);font-size:.9375rem;line-height:1.5;color:var(--muted)}.resume-soft-list li:last-child{margin-bottom:0}.resume-soft-list li:before{content:"";position:absolute;left:0;top:.55em;width:5px;height:5px;border-radius:1px;background:linear-gradient(135deg,#ff2d78e6,#9333ead9);opacity:.85}.resume-jobs{display:flex;flex-direction:column;gap:calc(var(--unit) * 3)}.resume-job-card{padding:calc(var(--unit) * 3);border-radius:calc(var(--unit) * 1.5);border:1px solid var(--border);background:linear-gradient(165deg,rgba(255,255,255,.04),transparent 45%),linear-gradient(180deg,var(--bg-elevated),rgba(6,6,8,.5));box-shadow:0 0 0 1px #ffffff08 inset}html.theme-light .resume-job-card{background:linear-gradient(165deg,rgba(0,0,0,.02),transparent 45%),var(--bg-elevated)}.resume-job-head{margin-bottom:calc(var(--unit) * 2)}.resume-job-title{font-family:var(--font-display);font-size:1.2rem;font-weight:700;margin:0 0 calc(var(--unit) * .75);letter-spacing:-.02em}.resume-job-company{font-family:var(--font-mono);font-size:.8125rem;color:var(--white);margin:0 0 calc(var(--unit) * .5)}.resume-job-dates{font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.06em;text-transform:uppercase;color:var(--neon);margin:0;opacity:.9}.resume-bullets{margin:0;padding-left:1.15rem;font-size:.9375rem;line-height:1.58;color:var(--muted)}.resume-bullets li{margin-bottom:calc(var(--unit) * 1.25)}.resume-bullets li:last-child{margin-bottom:0}.resume-bullets--tight li{margin-bottom:calc(var(--unit) * .75)}.resume-projects{display:grid;gap:calc(var(--unit) * 2)}@media (min-width: 768px){.resume-projects{grid-template-columns:repeat(2,1fr)}}.resume-project-card{padding:calc(var(--unit) * 2.5);border-radius:calc(var(--unit) * 1.25);border:1px solid var(--border);background:#ffffff05;transition:border-color .3s var(--ease),box-shadow .3s var(--ease)}html.theme-light .resume-project-card{background:#00000005}.resume-project-card:hover{border-color:#9333ea59;box-shadow:0 12px 40px #0003}.resume-project-name{font-family:var(--font-display);font-size:1.05rem;font-weight:600;margin:0 0 calc(var(--unit) * .5);letter-spacing:-.02em}.resume-project-dates{font-family:var(--font-mono);font-size:.625rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 calc(var(--unit) * 1.5)}.resume-skills{display:grid;gap:calc(var(--unit) * 2.5)}@media (min-width: 640px){.resume-skills{grid-template-columns:repeat(2,1fr)}}.resume-skill-label{font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.12em;text-transform:uppercase;color:var(--neon);margin:0 0 calc(var(--unit) * 1.25);opacity:.9}.resume-skill-tags{display:flex;flex-wrap:wrap;gap:calc(var(--unit) * .75);margin:0;padding:0;list-style:none}.resume-skill-tags li{font-family:var(--font-mono);font-size:.6875rem;padding:0;border-radius:999px;border:none;background:none;list-style:none}.resume-skill-tag-link,.resume-skill-tag-static{display:inline-flex;align-items:center;padding:calc(var(--unit) * .6) calc(var(--unit) * 1.1);border-radius:999px;border:1px solid var(--border);background:#ffffff08;color:var(--muted)}.resume-skill-tag-link{text-decoration:none;cursor:pointer;transition:color .2s var(--ease),border-color .2s var(--ease),background .2s var(--ease),box-shadow .3s var(--ease),transform .2s var(--ease)}.resume-skill-tag-link:hover{color:var(--white);border-color:#9333ea80;background:#9333ea1a;box-shadow:0 0 24px #9333ea26;transform:translateY(-2px)}.resume-skill-tag-static{cursor:default;opacity:.85}.resume-edu-note{font-family:var(--font-serif);font-style:italic;font-size:.9375rem;color:var(--muted);max-width:52ch;margin:calc(var(--unit) * 3) 0 calc(var(--unit) * 2)}.resume-pdf-again{margin:0}@media print{.site-header,.site-footer,.grain,.cursor-dot,.cursor-ring,.resume-spotlight-root,.resume-hero-actions .btn-ghost{display:none!important}.page-resume .inline-tag-hit{all:unset;font:inherit;font-style:italic;color:inherit;display:inline}.page-resume .resume-main{padding-top:calc(var(--unit) * 2)}.resume-job-card,.resume-project-card{break-inside:avoid;box-shadow:none}}*,*:before,*:after{box-sizing:border-box}:root{--unit: 8px;--purple: #9333ea;--purple-deep: #6d28d9;--purple-muted: rgba(147, 51, 234, .38);--neon: #ff2d78;--neon-dim: rgba(255, 45, 120, .45);--cyan: #22d3ee;--cyan-dim: rgba(34, 211, 238, .12);--bg: #060608;--bg-elevated: #0e0e12;--surface: #12121a;--white: #f0f0f5;--muted: #8b8b9c;--border: rgba(255, 255, 255, .06);--border-strong: rgba(255, 255, 255, .12);--logo-tint: #c4b5fd;--ease: cubic-bezier(.22, 1, .36, 1);--font-mono: "DM Mono", ui-monospace, monospace;--font-serif: "Instrument Serif", Georgia, serif;--font-display: "Syne", system-ui, sans-serif;--shadow-glow: 0 0 100px rgba(147, 51, 234, .14);--shadow-neon: 0 0 48px rgba(255, 45, 120, .22);--cursor-size: 6px;--ring-size: 36px}html.theme-light{--bg: #e8eaf5;--bg-elevated: #f3f4fc;--surface: #ffffff;--white: #0c0c12;--muted: #4b4b5c;--border: rgba(76, 60, 120, .09);--border-strong: rgba(76, 60, 120, .14);--purple-deep: #6d28d9;--purple: #7c3aed;--neon: #c02683;--neon-dim: rgba(192, 38, 131, .42);--cyan-dim: rgba(8, 145, 178, .1);--logo-tint: #5b21b6;--shadow-glow: 0 0 80px rgba(124, 58, 237, .12);--shadow-neon: 0 0 48px rgba(192, 38, 131, .14);--home-light-veil: radial-gradient(ellipse 120% 80% at 50% -20%, rgba(124, 58, 237, .09), transparent 50%), radial-gradient(ellipse 90% 50% at 100% 30%, rgba(192, 38, 131, .06), transparent 45%), radial-gradient(ellipse 70% 45% at 0% 70%, rgba(34, 211, 238, .05), transparent 40%)}html{scroll-behavior:smooth}a:focus-visible,button:focus-visible{outline:2px solid var(--neon);outline-offset:3px}a:focus:not(:focus-visible),button:focus:not(:focus-visible){outline:none}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}body{margin:0;font-family:var(--font-mono);font-size:clamp(13px,1.45vw,14px);font-weight:400;line-height:1.58;color:var(--white);background-color:var(--bg);min-height:100vh;-webkit-font-smoothing:antialiased;isolation:isolate;position:relative}#root{position:relative;z-index:1;min-height:100vh;background-color:var(--bg);color:var(--white)}html.theme-light #root{background-image:var(--home-light-veil);background-attachment:fixed}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.page-transition{position:relative;z-index:2}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.014) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.014) 1px,transparent 1px);background-size:56px 56px;mask-image:radial-gradient(ellipse 85% 70% at 50% 42%,black 25%,transparent 78%);-webkit-mask-image:radial-gradient(ellipse 85% 70% at 50% 42%,black 25%,transparent 78%)}html.theme-light body:before{background-image:linear-gradient(rgba(0,0,0,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.04) 1px,transparent 1px)}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;opacity:.06;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,.28) 2px,rgba(0,0,0,.28) 3px);mix-blend-mode:overlay}html.theme-light body:after{opacity:.06;mix-blend-mode:multiply}@media (prefers-reduced-motion: reduce){body:after{opacity:.06}}body.is-touch .cursor-dot,body.is-touch .cursor-ring{display:none!important}@media (pointer: fine){body:not(.is-touch){cursor:none}body:not(.is-touch) a,body:not(.is-touch) button,body:not(.is-touch) .theme-toggle,body:not(.is-touch) .nav-toggle{cursor:none}}.grain{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:1;opacity:.018;mix-blend-mode:normal;contain:strict}html.theme-light .grain{opacity:.012}.grain:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.cursor-dot{position:fixed;left:0;top:0;width:var(--cursor-size);height:var(--cursor-size);border-radius:50%;background:var(--neon);box-shadow:0 0 12px var(--neon-dim);pointer-events:none;z-index:10001;mix-blend-mode:normal}.cursor-ring{position:fixed;left:0;top:0;width:var(--ring-size);height:var(--ring-size);border-radius:50%;border:1px solid rgba(147,51,234,.75);pointer-events:none;z-index:10000;opacity:.55}.site-header{position:fixed;top:0;left:0;right:0;z-index:100;padding:calc(var(--unit) * 2) 0;border-bottom:1px solid var(--border);background:linear-gradient(to bottom,var(--bg) 0%,rgba(6,6,8,.94) 50%,transparent 100%)}html.theme-light .site-header{background:linear-gradient(to bottom,var(--bg) 0%,rgba(244,244,248,.96) 50%,transparent 100%)}.header-glow{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(60% 90% at 50% -30%,rgba(147,51,234,.14),transparent 72%),radial-gradient(40% 60% at 85% 0%,rgba(255,45,120,.08),transparent 55%)}html.theme-light .header-glow{background:radial-gradient(60% 90% at 50% -30%,rgba(124,58,237,.1),transparent 72%),radial-gradient(40% 60% at 85% 0%,rgba(219,39,119,.06),transparent 55%)}.nav{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:calc(var(--unit) * 2);position:relative}.site-search{position:relative;flex:1 1 200px;min-width:0;max-width:min(420px,100%);z-index:5}.site-search-field{position:relative;display:flex;align-items:center}.site-search-top{position:relative}.site-search-field--composite{border:1px solid var(--border-strong);border-radius:2px;background:#08080ea6;min-height:2.75rem;transition:border-color .25s var(--ease),box-shadow .3s var(--ease)}.site-search-field--composite:focus-within{border-color:#ff2d7873;box-shadow:0 0 0 1px #ff2d781f,0 0 28px #9333ea1f}html.theme-light .site-search-field--composite{background:#ffffffeb}.site-search-inner{display:flex;flex-wrap:wrap;align-items:center;gap:6px;flex:1 1 auto;min-width:0;padding:calc(var(--unit) * .85) calc(var(--unit) * 6) calc(var(--unit) * .85) calc(var(--unit) * 5)}.site-search-input--embedded{flex:1 1 120px;min-width:5rem;width:auto;padding:calc(var(--unit) * .35) 0;margin:0;border:none!important;border-radius:0;background:transparent!important;box-shadow:none!important}.site-search-input--embedded:focus{box-shadow:none!important}.site-search-chip{display:inline-flex;align-items:center;gap:2px;max-width:100%;padding:2px 2px 2px 8px;font-family:var(--font-mono);font-size:.65rem;letter-spacing:.04em;color:var(--white);background:#9333ea38;border:1px solid rgba(147,51,234,.45);border-radius:3px}.site-search-chip-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:9rem}.site-search-chip-remove{display:inline-flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;margin:0;padding:0;font:inherit;line-height:1;color:var(--muted);background:transparent;border:none;border-radius:2px;cursor:pointer;transition:color .15s ease,background .15s ease}.site-search-chip-remove:hover{color:var(--white);background:#ff2d7833}.site-search-icon{position:absolute;left:calc(var(--unit) * 1.75);color:var(--muted);pointer-events:none;opacity:.85}.site-search-input{width:100%;margin:0;padding:calc(var(--unit) * 1.25) calc(var(--unit) * 6) calc(var(--unit) * 1.25) calc(var(--unit) * 5);font-family:var(--font-mono);font-size:.75rem;letter-spacing:.04em;color:var(--white);background:#08080ea6;border:1px solid var(--border-strong);border-radius:2px;outline:none;transition:border-color .25s var(--ease),box-shadow .3s var(--ease),background .25s ease}.site-search-input::placeholder{color:var(--muted);opacity:.85}.site-search-input:hover{border-color:#9333ea59}.site-search-input:focus{border-color:#ff2d7873;box-shadow:0 0 0 1px #ff2d781f,0 0 28px #9333ea1f;background:#0a0a12e0}html.theme-light .site-search-input{background:#ffffffeb;color:var(--white);box-shadow:0 1px #ffffffe6 inset}html.theme-light .site-search-input:focus{box-shadow:0 0 0 1px #7c3aed33,0 8px 28px #4c3c781a}.site-search-kbd{position:absolute;right:calc(var(--unit) * 1.5);top:50%;transform:translateY(-50%);padding:2px 6px;font-family:var(--font-mono);font-size:.5625rem;letter-spacing:.06em;color:var(--muted);border:1px solid var(--border);border-radius:3px;background:#00000040;pointer-events:none;opacity:.75}html.theme-light .site-search-kbd{background:#0000000d}.site-search-tag-bar{display:flex;flex-wrap:wrap;align-items:center;gap:calc(var(--unit) * 1);margin-top:8px;padding:calc(var(--unit) * .75) calc(var(--unit) * 1.25);border-radius:2px;border:1px solid var(--border);background:#9333ea0f}.site-search-tag-bar-label{font-family:var(--font-mono);font-size:.5625rem;letter-spacing:.1em;text-transform:uppercase;color:var(--neon-dim)}.site-search-tag-toggle{display:inline-flex;border-radius:2px;border:1px solid var(--border-strong);overflow:hidden}.site-search-tag-opt{margin:0;padding:calc(var(--unit) * .5) calc(var(--unit) * 1.1);font-family:var(--font-mono);font-size:.625rem;letter-spacing:.04em;color:var(--muted);background:transparent;border:none;cursor:pointer;transition:background .15s ease,color .15s ease}.site-search-tag-opt+.site-search-tag-opt{border-left:1px solid var(--border)}.site-search-tag-opt.is-on{color:var(--white);background:#ff2d781f}.site-search-tag-opt:hover{color:var(--neon)}.site-search-code{font-family:var(--font-mono);font-size:.8125em;padding:.1em .35em;border-radius:2px;background:#ffffff0f}html.theme-light .site-search-tag-bar{background:#7c3aed0f}.site-search-stack{position:absolute;top:100%;left:0;right:0;margin-top:6px;z-index:200;display:flex;flex-direction:column;gap:0}.site-search-suggest{max-height:min(220px,40vh);overflow:auto;border:1px solid var(--border-strong);border-radius:2px 2px 0 0;background:linear-gradient(165deg,#0e0e16fa,#08080cfc);box-shadow:0 0 0 1px #ffffff0a inset,0 12px 40px #00000059}html.theme-light .site-search-suggest{background:linear-gradient(165deg,#fff,#f8f7fc);box-shadow:0 12px 32px #281e501a}.site-search-suggest-hit{display:flex;align-items:center;justify-content:space-between;gap:calc(var(--unit) * 1.5);width:100%;margin:0;padding:calc(var(--unit) * 1) calc(var(--unit) * 1.75);text-align:left;font:inherit;color:inherit;background:transparent;border:none;border-bottom:1px solid var(--border);cursor:pointer;transition:background .12s ease}.site-search-suggest-hit:last-child{border-bottom:none}.site-search-suggest-empty{margin:0;padding:calc(var(--unit) * 1.75) calc(var(--unit) * 2);font-family:var(--font-serif);font-size:.875rem;font-style:italic;color:var(--muted);line-height:1.4}.site-search-suggest-hit:hover,.site-search-suggest-hit.is-active{background:#ff2d7814}.site-search-suggest-label{font-family:var(--font-display);font-size:.875rem;font-weight:600;color:var(--white)}.site-search-suggest-slug{font-family:var(--font-mono);font-size:.6rem;color:var(--muted);opacity:.9}.site-search-panel{position:absolute;top:calc(100% + 6px);left:0;right:0;max-height:min(70vh,420px);overflow:auto;z-index:200;border:1px solid var(--border-strong);border-radius:2px;background:linear-gradient(165deg,#0e0e16fa,#08080cfc);box-shadow:0 0 0 1px #ffffff0a inset,0 20px 50px #00000073,0 0 40px #9333ea1a}.site-search-stack .site-search-panel{position:relative;top:auto;left:auto;right:auto;margin-top:0}.site-search-stack .site-search-panel.site-search-panel--below-suggest{border-top:none;border-radius:0 0 2px 2px}.site-search-stack .site-search-suggest:only-child{border-radius:2px}.site-search-stack .site-search-panel:only-child{border-radius:2px}html.theme-light .site-search-panel{background:linear-gradient(165deg,#fff,#f8f7fc);box-shadow:0 20px 48px #281e501f}.site-search-empty{margin:0;padding:calc(var(--unit) * 2.5);font-family:var(--font-serif);font-size:.9375rem;font-style:italic;color:var(--muted);line-height:1.45}.site-search-list{list-style:none;margin:0;padding:calc(var(--unit) * .75) 0}.site-search-hit{display:grid;grid-template-columns:minmax(52px,auto) 1fr;grid-template-rows:auto auto;column-gap:calc(var(--unit) * 1.5);row-gap:2px;width:100%;margin:0;padding:calc(var(--unit) * 1.25) calc(var(--unit) * 2);text-align:left;font:inherit;color:inherit;background:transparent;border:none;border-top:1px solid var(--border);cursor:pointer;transition:background .15s ease}.site-search-list li:first-child .site-search-hit{border-top:none}.site-search-hit-type{grid-row:1 / span 2;align-self:center;font-family:var(--font-mono);font-size:.5625rem;letter-spacing:.12em;text-transform:uppercase;color:var(--neon-dim)}.site-search-hit-title{grid-column:2;font-family:var(--font-display);font-size:.9375rem;font-weight:600;letter-spacing:-.02em;color:var(--white)}.site-search-hit-sub{grid-column:2;font-family:var(--font-mono);font-size:.625rem;color:var(--muted);letter-spacing:.04em}.site-search-hit:hover,.site-search-hit.is-active{background:#ff2d7814}html.theme-light .site-search-hit:hover,html.theme-light .site-search-hit.is-active{background:#7c3aed14}@media (max-width: 768px){.nav .brand{order:0}.nav .nav-toggle{order:1;margin-left:auto}.site-search{order:2;flex-basis:100%;max-width:none}.nav-links{order:3}.site-search-kbd{display:none}}.brand{display:flex;align-items:center;gap:calc(var(--unit) * 1.5);min-width:0}.nav-avatar{width:40px;height:40px;border-radius:2px;object-fit:cover;object-position:50% 18%;border:1px solid rgba(255,45,120,.35);flex-shrink:0;box-shadow:0 0 0 1px #00000059,0 0 20px #9333ea26;filter:contrast(1.05) saturate(.92)}.container{width:min(1120px,100% - calc(var(--unit) * 6));margin-inline:auto}.logo{font-family:var(--font-mono);font-size:.8125rem;letter-spacing:.02em;color:var(--logo-tint);text-decoration:none;font-weight:500;transition:opacity .25s var(--ease)}.logo:hover{opacity:.85}.nav-links{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:calc(var(--unit) * 3)}.nav-link{position:relative;font-family:var(--font-mono);font-size:.6875rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--white);text-decoration:none;padding:var(--unit) 0;transition:color .25s var(--ease)}.nav-link:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:linear-gradient(90deg,var(--neon),var(--purple));transform:scaleX(0);transform-origin:left;transition:transform .28s var(--ease)}.nav-link:hover:after,.nav-link[aria-current=page]:after{transform:scaleX(1)}.nav-theme{margin-left:calc(var(--unit) * 1)}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;color:var(--muted);background:transparent;border:1px solid var(--border);cursor:pointer;transition:border-color .25s var(--ease),color .25s var(--ease),background .25s var(--ease)}.theme-toggle:hover{border-color:var(--neon-dim);color:var(--neon);background:#ff2d780f}.theme-icon{display:block}html:not(.theme-light) .theme-icon-moon{display:none}html.theme-light .theme-icon-sun{display:none}.nav-toggle{display:none;flex-direction:column;justify-content:center;gap:6px;width:40px;height:40px;padding:0;background:transparent;border:1px solid var(--border);cursor:pointer;z-index:2}.nav-toggle-bar{display:block;width:18px;height:1px;margin:0 auto;background:var(--white);transition:transform .3s var(--ease),opacity .3s ease}body.nav-open .nav-toggle-bar:first-child{transform:translateY(3.5px) rotate(45deg)}body.nav-open .nav-toggle-bar:last-child{transform:translateY(-3.5px) rotate(-45deg)}@media (max-width: 768px){.nav-toggle{display:flex}.nav-links{position:fixed;right:0;bottom:0;left:0;top:0;flex-direction:column;justify-content:center;gap:calc(var(--unit) * 4);background:#050508fa;opacity:0;visibility:hidden;transition:opacity .35s var(--ease),visibility .35s}html.theme-light .nav-links{background:#f6f6f9fa}body.nav-open .nav-links{opacity:1;visibility:visible}.nav-link{font-size:.75rem}}.hero{position:relative;min-height:min(920px,92dvh);display:flex;flex-direction:column;justify-content:center;padding:calc(var(--unit) * 8) 0 calc(var(--unit) * 6);overflow:hidden}.hero-bg{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.hero-grid{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.42;background-image:linear-gradient(rgba(255,45,120,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(147,51,234,.09) 1px,transparent 1px);background-size:48px 48px;mask-image:radial-gradient(ellipse 70% 60% at 50% 40%,black 20%,transparent 75%);-webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 40%,black 20%,transparent 75%)}html.theme-light .hero-grid{opacity:.5}.hero-blobs{position:absolute;top:0;right:0;bottom:0;left:0}.blob{position:absolute;border-radius:50%;filter:blur(56px);opacity:.34;transform:translateZ(0)}.blob-a{width:min(50vw,420px);height:min(50vw,420px);top:10%;left:-10%;background:#6d28d959}.blob-b{width:min(40vw,360px);height:min(40vw,360px);bottom:15%;right:-5%;background:radial-gradient(circle at 30% 30%,#ff2d7838,#8b5cf62e)}.blob-c{width:min(35vw,280px);height:min(35vw,280px);top:45%;left:40%;background:radial-gradient(circle at 50% 50%,#22d3ee1a,#5b21b629)}.hero-inner{position:relative;z-index:1;padding:calc(var(--unit) * 1.5) calc(var(--unit) * 2);border:1px solid var(--border);background:linear-gradient(145deg,rgba(255,45,120,.03),transparent 40%,rgba(147,51,234,.04));box-shadow:inset 0 0 0 1px #ffffff08,0 0 80px #00000059}.hero-inner:before,.hero-inner:after{content:"";position:absolute;width:10px;height:10px;border:1px solid var(--neon-dim);pointer-events:none;opacity:.7}.hero-inner:before{top:-1px;left:-1px;border-right:none;border-bottom:none}.hero-inner:after{bottom:-1px;right:-1px;border-left:none;border-top:none}html.theme-light .hero-inner{background:linear-gradient(145deg,rgba(219,39,119,.04),transparent 45%,rgba(124,58,237,.05));box-shadow:inset 0 0 0 1px #0000000a}@media (max-width: 560px){.hero-inner{padding:calc(var(--unit) * 1.25) calc(var(--unit) * 1.5)}.hero-inner:before,.hero-inner:after{width:8px;height:8px}}.hero-eyebrow{font-family:var(--font-mono);font-size:clamp(.6875rem,1.2vw,.75rem);letter-spacing:.16em;text-transform:uppercase;color:var(--neon-dim);margin:0 0 calc(var(--unit) * 3)}.hero-name{margin:0 0 calc(var(--unit) * 3);padding:0;line-height:.92}.hero-name-line{display:block;font-family:var(--font-display);font-size:clamp(3.25rem,14vw,8.5rem);font-weight:800;letter-spacing:-.03em;line-height:.88}.ghost-text{color:transparent;-webkit-text-stroke:1.5px var(--white);filter:drop-shadow(0 0 28px rgba(255,45,120,.15)) drop-shadow(0 0 40px rgba(147,51,234,.12))}html.theme-light .ghost-text{-webkit-text-stroke-color:var(--white);filter:drop-shadow(0 0 20px rgba(124,58,237,.12))}@media (max-width: 480px){.ghost-text{-webkit-text-stroke-width:1px}}.hero-tagline{font-family:var(--font-serif);font-size:clamp(1.125rem,2.4vw,1.5rem);font-style:italic;font-weight:400;color:var(--muted);max-width:28ch;margin:0 0 calc(var(--unit) * 4);line-height:1.45}.hero-ctas{display:flex;flex-wrap:wrap;gap:calc(var(--unit) * 2)}.btn{display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:.75rem;font-weight:500;letter-spacing:.06em;text-decoration:none;padding:calc(var(--unit) * 1.75) calc(var(--unit) * 3);transition:transform .25s var(--ease),background .25s var(--ease),border-color .25s var(--ease),color .25s var(--ease),box-shadow .25s var(--ease)}.btn-primary{color:#0a0a0c;background:linear-gradient(135deg,var(--neon) 0%,#c026d3 48%,var(--purple-deep) 100%);border:1px solid rgba(255,255,255,.12);clip-path:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,0 100%);box-shadow:0 0 #ff2d7800;text-shadow:0 1px 0 rgba(255,255,255,.12)}.btn-primary:hover{filter:brightness(1.06);transform:translateY(-2px);box-shadow:var(--shadow-neon),0 16px 48px #9333ea4d}html.theme-light .btn-primary{color:#fff;text-shadow:none}.btn-primary--outline{color:var(--white);background:#ff2d780f;border:1px solid rgba(255,45,120,.42);clip-path:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,0 100%);text-shadow:none;box-shadow:0 0 32px #9333ea1f}.btn-primary--outline:hover{filter:brightness(1.08);background:#ff2d781f;border-color:#ff2d788c;box-shadow:var(--shadow-neon),0 12px 40px #9333ea33}html.theme-light .btn-primary--outline{color:var(--white)}.btn-ghost{color:var(--white);background:transparent;border:1px solid var(--border-strong)}.btn-ghost:hover{border-color:var(--neon-dim);color:var(--neon);box-shadow:0 0 24px #ff2d7814}.scroll-hint{position:absolute;bottom:calc(var(--unit) * 4);left:max(calc(var(--unit) * 3),(100vw - 1120px) / 2 + var(--unit) * 3);font-family:var(--font-mono);font-size:.625rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin:0;z-index:2}@media (max-width: 768px){.scroll-hint{left:calc(var(--unit) * 3)}}.load-item{opacity:1;animation:load-rise .85s var(--ease) both}.load-item:nth-child(1){animation-delay:.05s}.load-item:nth-child(2){animation-delay:.14s}.load-item:nth-child(3){animation-delay:.22s}.load-item:nth-child(4){animation-delay:.3s}.load-item:nth-child(5){animation-delay:.38s}@keyframes load-rise{0%{transform:translateY(18px)}to{transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.load-item{animation:none}}.stats{border-block:1px solid var(--border);background:linear-gradient(180deg,rgba(255,45,120,.04),transparent 45%),var(--bg-elevated);box-shadow:inset 0 1px #ffffff0a}.stats-inner{display:grid;grid-template-columns:repeat(4,1fr);max-width:1120px;margin:0 auto;width:min(1120px,100% - calc(var(--unit) * 6))}.stat{padding:calc(var(--unit) * 3) calc(var(--unit) * 2.5);border-right:1px solid var(--border);text-align:left;display:flex;flex-direction:column;justify-content:center;min-height:0}.stat:last-child{border-right:none}.stat-value{display:block;font-family:var(--font-display);font-size:clamp(1.75rem,4vw,2.5rem);font-weight:700;line-height:1.02;margin-bottom:calc(var(--unit) * 1);background:linear-gradient(125deg,var(--neon) 0%,#e879f9 40%,var(--purple) 100%);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}html.theme-light .stat-value{background:none;color:var(--purple-deep);-webkit-text-fill-color:currentColor}.stat-label{font-family:var(--font-mono);font-size:.625rem;line-height:1.35;color:var(--muted);letter-spacing:.06em;text-transform:uppercase;max-width:26ch}@media (max-width: 900px){.stats-inner{grid-template-columns:repeat(2,1fr)}.stat:nth-child(2){border-right:none}.stat:nth-child(1),.stat:nth-child(2){border-bottom:1px solid var(--border)}}@media (max-width: 520px){.stats-inner{grid-template-columns:1fr}.stat{border-right:none;border-bottom:1px solid var(--border)}.stat:last-child{border-bottom:none}}.section{padding:calc(var(--unit) * 7) 0}section.contact{padding:calc(var(--unit) * 5) 0}[id]{scroll-margin-top:calc(var(--unit) * 10)}.section-label{font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.2em;text-transform:uppercase;color:var(--neon-dim);margin:0 0 calc(var(--unit) * 2)}.center-label,.center-heading{text-align:center}.center-heading{margin-left:auto;margin-right:auto}.section-heading{font-family:var(--font-display);font-size:clamp(1.75rem,4vw,2.75rem);font-weight:700;line-height:1.06;letter-spacing:-.02em;margin:0 0 calc(var(--unit) * 5)}.center-heading{max-width:20ch}.about-copy p,.about-freya-copy p{font-family:var(--font-serif);font-size:clamp(1.0625rem,1.8vw,1.1875rem);line-height:1.65;color:var(--muted);margin:0 0 calc(var(--unit) * 3)}.about-copy p:last-child,.about-freya-copy p:last-child{margin-bottom:0}.about-cta-line{margin-top:calc(var(--unit) * 1)!important;margin-bottom:0!important;font-family:var(--font-mono);font-size:.8125rem;letter-spacing:.04em}.about-cta-sep{opacity:.4}.about-cmd{font-family:var(--font-mono);font-size:.92em;font-style:normal;letter-spacing:.04em;color:var(--neon);font-weight:500}html.theme-light .about-cmd{color:var(--purple-deep)}.skills-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:calc(var(--unit) * 2)}.skill-card{position:relative;padding:calc(var(--unit) * 3);background:linear-gradient(165deg,rgba(255,45,120,.04),var(--surface) 38%);border:1px solid var(--border);box-shadow:inset 0 0 0 1px #ffffff05;transition:transform .28s var(--ease),border-color .28s var(--ease),box-shadow .28s var(--ease)}.skill-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--neon),var(--cyan),var(--purple-deep));transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}.skill-card:hover{transform:translateY(-4px);border-color:#ff2d7838;box-shadow:var(--shadow-glow),0 0 36px #ff2d780f}.skill-card:hover:before{transform:scaleX(1)}.skill-cat{display:block;font-family:var(--font-mono);font-size:.625rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:calc(var(--unit) * 1)}.skill-title{font-family:var(--font-display);font-size:1.125rem;font-weight:700;margin:0 0 calc(var(--unit) * 2);letter-spacing:-.02em;line-height:1.12}.skill-tags{display:flex;flex-wrap:wrap;gap:calc(var(--unit) * 1)}.skill-tags .tag-pill{font-family:var(--font-mono);font-size:.6rem;letter-spacing:.06em;padding:calc(var(--unit) * .5) calc(var(--unit) * 1);background:#08080c73;border:1px solid var(--border);border-left:2px solid var(--neon-dim);color:var(--muted)}html.theme-light .skill-tags .tag-pill{background:#ffffffb3;border-left-color:var(--neon-dim)}@media (max-width: 900px){.skills-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 560px){.skills-grid{grid-template-columns:1fr}}.project-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:calc(var(--unit) * 2);margin-bottom:calc(var(--unit) * 4)}.project-card{position:relative;display:flex;flex-direction:column;padding:calc(var(--unit) * 4);background:linear-gradient(160deg,rgba(34,211,238,.03),var(--surface) 42%);border:1px solid var(--border);text-decoration:none;color:inherit;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff05;transition:transform .28s var(--ease),border-color .28s var(--ease),box-shadow .28s var(--ease)}.project-card:before{content:"";position:absolute;top:-40%;left:-40%;width:80%;height:80%;background:radial-gradient(circle at 0 0,rgba(255,45,120,.18) 0%,rgba(147,51,234,.15) 45%,transparent 68%);opacity:0;transition:opacity .35s var(--ease);pointer-events:none}.project-card:hover{transform:translateY(-6px);border-color:#ff2d7833;box-shadow:var(--shadow-glow),0 0 40px #ff2d7812}.project-card:hover:before{opacity:1}.project-idx{font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.1em;color:var(--muted);margin-bottom:calc(var(--unit) * 2)}.project-card-title{font-family:var(--font-display);font-size:1.25rem;font-weight:700;margin:0 0 calc(var(--unit) * 2);letter-spacing:-.02em;line-height:1.08}.project-card-desc{font-family:var(--font-serif);font-size:1rem;font-style:italic;color:var(--muted);line-height:1.5;margin:0 0 calc(var(--unit) * 3);flex:1}.project-card-link{font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.08em;text-transform:uppercase;color:var(--neon)}.work-more{text-align:center;margin:0}.inline-link{font-family:var(--font-mono);font-size:.75rem;color:var(--muted);text-decoration:none;letter-spacing:.04em;transition:color .25s var(--ease)}.inline-link:hover{color:var(--neon)}@media (max-width: 900px){.project-cards{grid-template-columns:1fr}}.contact-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:calc(var(--unit) * 3)}.contact-heading{margin-bottom:0}.site-footer{position:relative;z-index:2;padding:calc(var(--unit) * 4) 0 calc(var(--unit) * 6);border-top:1px solid var(--border);background:linear-gradient(0deg,transparent 60%,rgba(147,51,234,.04))}.footer-inner{display:flex;flex-direction:column;gap:calc(var(--unit) * 2)}.footer-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:calc(var(--unit) * 2);width:100%}.footer-nav{display:flex;flex-wrap:wrap;align-items:center;gap:calc(var(--unit) * 1.5)}.footer-nav a{font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);text-decoration:none;transition:color .2s var(--ease)}.footer-nav a:hover{color:var(--neon)}.footer-copy{margin:0;font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.04em;color:var(--muted)}.footer-llc{color:var(--white)}.footer-status{margin:0;display:flex;align-items:center;gap:calc(var(--unit) * 1.5);font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.06em;color:var(--muted)}.status-dot{width:8px;height:8px;border-radius:50%;background:var(--neon);box-shadow:0 0 14px var(--neon-dim),0 0 28px #9333ea59;animation:pulse-dot 2.5s ease-in-out infinite}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.65;transform:scale(.92)}}@media (prefers-reduced-motion: reduce){.status-dot{animation:none}}.reveal{opacity:0;transform:translateY(24px);transition:opacity .65s var(--ease),transform .65s var(--ease)}.reveal.visible{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion: reduce){.reveal{opacity:1;transform:none;transition:none}}.page-work .work-main{padding-top:calc(var(--unit) * 8)}.work-hero{padding-bottom:calc(var(--unit) * 5)}.work-page-title{font-family:var(--font-display);font-size:clamp(2.5rem,7vw,4rem);font-weight:700;letter-spacing:-.03em;line-height:1.02;margin:0 0 calc(var(--unit) * 2)}.work-page-lead{font-family:var(--font-serif);font-size:clamp(1.125rem,2vw,1.35rem);font-style:italic;color:var(--muted);max-width:42ch;margin:0;line-height:1.55}.project-block{padding:calc(var(--unit) * 7) 0;position:relative}.project-block-inner{display:grid;grid-template-columns:minmax(120px,.35fr) 1fr;gap:calc(var(--unit) * 4);align-items:start}.project-main{min-width:0}.project-block-inner--demo .project-main--demo{display:grid;grid-template-columns:1fr minmax(240px,38%);gap:calc(var(--unit) * 4);align-items:start}.project-main--demo .project-body{max-width:none}.project-media{position:sticky;top:calc(var(--unit) * 10);align-self:start}.project-media-label{margin:0 0 calc(var(--unit) * 1);font-family:var(--font-mono);font-size:.5625rem;letter-spacing:.16em;text-transform:uppercase;color:var(--neon-dim)}@media (max-width: 960px){.project-block-inner--demo .project-main--demo{grid-template-columns:1fr}.project-media{position:relative;top:auto}}.project-num-wrap{position:relative;min-height:120px}.project-num{position:absolute;left:0;top:-.5rem;font-family:var(--font-display);font-size:clamp(4rem,12vw,7.5rem);font-weight:700;line-height:.82;letter-spacing:-.04em;pointer-events:none;opacity:.9}.project-body{position:relative;z-index:1;max-width:780px}.project-meta{display:flex;flex-wrap:wrap;align-items:center;gap:calc(var(--unit) * 2);margin-bottom:calc(var(--unit) * 2)}.badge{font-family:var(--font-mono);font-size:.625rem;letter-spacing:.14em;text-transform:uppercase;padding:calc(var(--unit) * .5) calc(var(--unit) * 1.5);border:1px solid var(--border-strong);border-left:2px solid var(--neon-dim);color:var(--muted);background:#0003}.project-dates{font-family:var(--font-mono);font-size:.6875rem;color:var(--muted);letter-spacing:.06em}.project-title{font-family:var(--font-display);font-size:clamp(1.75rem,4vw,2.45rem);font-weight:700;letter-spacing:-.03em;line-height:1.02;margin:0 0 calc(var(--unit) * 2)}.project-role{font-family:var(--font-mono);font-size:.75rem;color:var(--neon);margin:calc(var(--unit) * -1) 0 calc(var(--unit) * 2);letter-spacing:.06em}.project-desc{font-family:var(--font-serif);font-size:clamp(1.0625rem,1.6vw,1.125rem);font-style:italic;line-height:1.48;color:var(--muted);margin:0 0 calc(var(--unit) * 3)}.inline-tag-hit{display:inline;font:inherit;font-style:italic;font-size:inherit;line-height:inherit;color:var(--white);background:linear-gradient(120deg,#9333ea38,#ff2d782e,#9333ea26);border:none;padding:.08em .28em;margin:0 -.02em;border-radius:.28em;box-shadow:0 0 0 1px #9333ea40;cursor:pointer;transition:box-shadow .25s var(--ease),transform .2s var(--ease),background .25s var(--ease)}a.inline-tag-hit{text-decoration:none;color:var(--white)}a.inline-tag-hit:visited{color:var(--white)}.inline-tag-hit:hover{box-shadow:0 0 0 1px #ff2d7873,0 4px 20px #9333ea33;transform:translateY(-1px)}.inline-tag-hit:focus-visible{outline:2px solid rgba(147,51,234,.75);outline-offset:2px}html.theme-light .inline-tag-hit{background:linear-gradient(120deg,#9333ea1f,#ff2d781a);box-shadow:0 0 0 1px #9333ea33}.page-work .project-desc .inline-tag-hit,.page-work .impact-note .inline-tag-hit{font-style:italic}.tech-tags{list-style:none;margin:0 0 calc(var(--unit) * 4);padding:0;display:flex;flex-wrap:wrap;gap:calc(var(--unit) * 1)}.tech-tags li{padding:0;margin:0;list-style:none}.tag-pill{display:inline-block;font-family:var(--font-mono);font-size:.6rem;letter-spacing:.06em;padding:calc(var(--unit) * .75) calc(var(--unit) * 1.5);background:#06060aa6;border:1px solid var(--border);border-left:2px solid var(--neon-dim);color:var(--muted);text-decoration:none;transition:border-color .25s var(--ease),color .25s var(--ease),background .25s var(--ease),box-shadow .25s var(--ease)}.tag-pill:hover{border-color:#ff2d7859;border-left-color:var(--neon);color:var(--white);background:#ff2d7814;box-shadow:0 0 20px #ff2d781f}.skill-tags .tag-pill:hover{color:var(--white)}html.theme-light .tag-pill{background:#ffffffd9}html.theme-light .tag-pill:hover{color:#fff;background:linear-gradient(135deg,var(--neon),var(--purple-deep));border-color:transparent;border-left-color:#fff}.tag-pill.tag-pill-static{cursor:default}a.tag-pill.tag-pill-static:hover{border-color:var(--border);border-left-color:var(--neon-dim);color:var(--muted);background:#06060aa6;box-shadow:none}.impact-callout{margin:0 0 calc(var(--unit) * 2);padding:calc(var(--unit) * 3);border-left:3px solid var(--neon);background:linear-gradient(90deg,#ff2d7812,#9333ea0d);box-shadow:inset 0 0 0 1px #ffffff08}html.theme-light .impact-callout{border-left-color:var(--purple-deep);background:#7c3aed0f}.impact-callout--secondary{border-left-color:var(--cyan);background:linear-gradient(90deg,#22d3ee12,#9333ea0a)}html.theme-light .impact-callout--secondary{border-left-color:#0891b2;background:#0891b20f}.impact-label{font-family:var(--font-mono);font-size:.5625rem;letter-spacing:.16em;text-transform:uppercase;color:var(--neon-dim);display:block;margin-bottom:calc(var(--unit) * 1)}.impact-stat{font-family:var(--font-display);font-size:clamp(1.5rem,3vw,2rem);font-weight:700;margin:0 0 calc(var(--unit) * 1);letter-spacing:-.02em;line-height:1.08}.impact-note{font-family:var(--font-mono);font-size:.6875rem;color:var(--muted);margin:0;line-height:1.5}.project-details{margin-top:calc(var(--unit) * 3);border:1px solid var(--border);background:linear-gradient(180deg,#22d3ee0a,#ffffff05);border-radius:0;box-shadow:inset 0 0 0 1px #22d3ee0f}html.theme-light .project-details{background:#00000005}.project-details-summary{display:flex;align-items:center;justify-content:space-between;gap:calc(var(--unit) * 2);font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.12em;text-transform:uppercase;padding:calc(var(--unit) * 2) calc(var(--unit) * 2.5);cursor:pointer;list-style:none;transition:background .25s var(--ease)}.project-details-summary::-webkit-details-marker{display:none}.project-details-summary:after{content:"+";flex-shrink:0;font-weight:400;opacity:.45;transition:transform .25s var(--ease)}.project-details[open] .project-details-summary:after{transform:rotate(45deg)}.project-details .project-details-summary:hover{background:#ff2d780f}.media-frame{position:relative;padding:calc(var(--unit) * 2) calc(var(--unit) * 2.5) calc(var(--unit) * 2.5);border-top:1px solid rgba(34,211,238,.12)}.media-frame:before{content:"SIGNAL";position:absolute;top:calc(var(--unit) * 1.5);right:calc(var(--unit) * 2.5);font-family:var(--font-mono);font-size:.5rem;letter-spacing:.2em;color:var(--neon-dim);opacity:.65;pointer-events:none}.media-frame--coming-soon:before{content:"NO SIGNAL";color:#f43f5e8c;opacity:.85}.project-demo{display:block;width:100%;max-height:min(70vh,560px);border-radius:2px;background:#050508;border:1px solid var(--border-strong);box-shadow:0 0 40px #00000080}.project-demo--hidden{display:none!important}.demo-fallback{border:1px dashed var(--border-strong);border-radius:4px;padding:calc(var(--unit) * 3);background:var(--surface)}.demo-fallback-text{font-family:var(--font-mono);font-size:.6875rem;line-height:1.55;color:var(--muted);margin:0}.demo-fallback-text code{font-size:.85em;color:var(--neon)}.demo-coming-soon{position:relative;overflow:hidden;width:100%;min-height:min(52vw,360px);max-height:min(70vh,560px);border-radius:2px;background:radial-gradient(ellipse 120% 80% at 20% 0%,rgba(147,51,234,.22),transparent 55%),radial-gradient(ellipse 90% 60% at 100% 100%,rgba(244,63,94,.18),transparent 50%),linear-gradient(165deg,#07060c,#0c0a12 45%,#08070d);border:1px solid rgba(244,63,94,.25);box-shadow:0 0 0 1px #0006 inset,0 0 48px #9333ea1f,0 24px 48px #00000073}.demo-coming-soon__grain{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.12;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");mix-blend-mode:overlay}.demo-coming-soon__scan{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,.13) 2px,rgba(0,0,0,.13) 3px);opacity:.35}@media (prefers-reduced-motion: no-preference){.demo-coming-soon__scan{animation:demo-scan-drift 14s linear infinite}}@keyframes demo-scan-drift{0%{transform:translateY(0)}to{transform:translateY(24px)}}.demo-coming-soon__bars{position:absolute;left:0;right:0;bottom:0;display:flex;height:6px;opacity:.85;pointer-events:none}.demo-coming-soon__bars span{flex:1;height:100%}.demo-coming-soon__bars span:nth-child(1){background:#b9d4f3}.demo-coming-soon__bars span:nth-child(2){background:#f3e6b9}.demo-coming-soon__bars span:nth-child(3){background:#b9f3c8}.demo-coming-soon__bars span:nth-child(4){background:#f3b9d4}.demo-coming-soon__bars span:nth-child(5){background:#c8b9f3}.demo-coming-soon__bars span:nth-child(6){background:#f3c8b9}.demo-coming-soon__bars span:nth-child(7){background:#6ee7b7}.demo-coming-soon__glitch-wrap{position:absolute;top:14%;left:50%;transform:translate(-50%);z-index:1}.demo-coming-soon__glitch{position:relative;display:block;font-family:var(--font-mono);font-size:clamp(3.5rem,14vw,5.5rem);font-weight:700;letter-spacing:.02em;line-height:1;color:#fafafc0f;text-shadow:2px 0 rgba(244,63,94,.45),-2px 0 rgba(34,211,238,.35)}.demo-coming-soon__glitch:before,.demo-coming-soon__glitch:after{content:attr(data-text);position:absolute;left:0;top:0;width:100%;overflow:hidden;clip-path:inset(0 0 58% 0)}.demo-coming-soon__glitch:before{color:#f43f5e8c;transform:translate(-2px,-1px);opacity:.9}.demo-coming-soon__glitch:after{color:#22d3ee73;transform:translate(2px,1px);clip-path:inset(42% 0 0 0);opacity:.85}@media (prefers-reduced-motion: no-preference){.demo-coming-soon__glitch{animation:demo-glitch-nudge 4.5s ease-in-out infinite}}@keyframes demo-glitch-nudge{0%,90%,to{transform:translate(0);filter:none}91%{transform:translate(-1px,1px);filter:hue-rotate(8deg)}93%{transform:translate(2px,-1px)}95%{transform:translate(-2px)}}@media (prefers-reduced-motion: reduce){.demo-coming-soon__scan,.demo-coming-soon__glitch{animation:none!important}}.demo-coming-soon__body{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:calc(var(--unit) * 5) calc(var(--unit) * 3) calc(var(--unit) * 4);min-height:min(52vw,360px)}.demo-coming-soon__tag{margin:0 0 calc(var(--unit) * 1.5);font-family:var(--font-mono);font-size:.5625rem;letter-spacing:.35em;color:#f43f5ebf;text-transform:uppercase}.demo-coming-soon__title{margin:0 0 calc(var(--unit) * 1);font-family:var(--font-display);font-size:clamp(1.15rem,3.2vw,1.5rem);font-weight:600;letter-spacing:-.02em;background:linear-gradient(120deg,#fafafa,#e4e4f0 40%,#c4b5fd);-webkit-background-clip:text;background-clip:text;color:transparent}.demo-coming-soon__meta{margin:0;max-width:22em;font-family:var(--font-mono);font-size:.625rem;line-height:1.6;color:var(--muted);opacity:.9}.demo-coming-soon__addr{position:absolute;bottom:calc(var(--unit) * 2);left:50%;transform:translate(-50%);margin:0;font-family:var(--font-mono);font-size:.5rem;letter-spacing:.06em;color:#94a3b859;pointer-events:none;z-index:2}html.theme-light .demo-coming-soon{background:radial-gradient(ellipse 120% 80% at 20% 0%,rgba(147,51,234,.12),transparent 55%),radial-gradient(ellipse 90% 60% at 100% 100%,rgba(244,63,94,.1),transparent 50%),linear-gradient(165deg,#f8f7fc,#f1eff8 45%,#faf9ff);border-color:#9333ea38;box-shadow:0 0 0 1px #fff9 inset,0 12px 40px #0f172a14}html.theme-light .demo-coming-soon__glitch{color:#0f172a0f}html.theme-light .demo-coming-soon__title{background:linear-gradient(120deg,#0f172a,#334155,#6d28d9);-webkit-background-clip:text;background-clip:text;color:transparent}html.theme-light .demo-coming-soon__meta{color:var(--muted)}.project-divider{height:1px;width:min(1120px,100% - calc(var(--unit) * 6));margin:0 auto;background:linear-gradient(90deg,transparent,rgba(255,45,120,.35),rgba(147,51,234,.35),transparent);opacity:.85}.work-footer-cta{text-align:center;padding-bottom:calc(var(--unit) * 8)}.work-footer-cta .section-heading{margin-bottom:calc(var(--unit) * 3)}.back-home{margin:calc(var(--unit) * 4) 0 0}.page-tags .tags-main{padding-top:calc(var(--unit) * 8);padding-bottom:calc(var(--unit) * 10)}.tags-hero{position:relative;padding-bottom:calc(var(--unit) * 2)}.tags-hero:before{content:"";position:absolute;pointer-events:none;top:-40%;left:50%;transform:translate(-50%);width:min(100vw,900px);height:min(70vh,520px);background:radial-gradient(ellipse 50% 45% at 50% 40%,rgba(147,51,234,.16),transparent 70%),radial-gradient(ellipse 40% 35% at 60% 55%,rgba(255,45,120,.1),transparent 65%);opacity:.9;z-index:0}.tags-hero>*{position:relative;z-index:1}.tags-hero-label{margin-bottom:calc(var(--unit) * 2)}.tags-page-title{font-family:var(--font-display);font-size:clamp(2.5rem,7.5vw,4rem);font-weight:700;letter-spacing:-.04em;line-height:.98;margin:0 0 calc(var(--unit) * 2);display:flex;flex-direction:column;gap:calc(var(--unit) * .25)}.tags-page-title-line{display:block}.tags-page-title-line--accent{font-style:italic;font-family:var(--font-serif);font-weight:400;font-size:.72em;letter-spacing:-.02em;background:linear-gradient(105deg,var(--neon) 0%,var(--purple) 45%,var(--cyan) 100%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 40px rgba(147,51,234,.25))}html.theme-light .tags-page-title-line--accent{filter:drop-shadow(0 0 24px rgba(124,58,237,.15))}.tags-page-lead{font-family:var(--font-serif);font-size:clamp(1.125rem,2vw,1.35rem);font-style:italic;color:var(--muted);max-width:42ch;margin:0;line-height:1.55}.tag-directory{display:flex;flex-wrap:wrap;gap:calc(var(--unit) * 1.25);margin-top:calc(var(--unit) * 5);padding:calc(var(--unit) * 3) 0 0;border-top:1px solid var(--border)}.tag-directory-link{font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);text-decoration:none;padding:calc(var(--unit) * 1) calc(var(--unit) * 1.75);border-radius:999px;border:1px solid var(--border);background:linear-gradient(145deg,#ffffff0a,#fff0);box-shadow:0 0 0 1px #ffffff05 inset;transition:color .25s var(--ease),border-color .25s var(--ease),box-shadow .35s var(--ease),transform .25s var(--ease)}.tag-directory-link:hover{color:var(--white);border-color:#9333ea73;box-shadow:0 0 24px #9333ea1f;transform:translateY(-2px)}html.theme-light .tag-directory-link{background:linear-gradient(145deg,#00000008,#0000)}html.theme-light .tag-directory-link:hover{border-color:#7c3aed59}.tag-sections{padding-bottom:calc(var(--unit) * 6)}.tag-section{padding:calc(var(--unit) * 5) calc(var(--unit) * 3);margin-bottom:calc(var(--unit) * 2);border-radius:calc(var(--unit) * 1.5);border:1px solid var(--border);background:linear-gradient(165deg,rgba(255,255,255,.03) 0%,transparent 42%),linear-gradient(180deg,var(--bg-elevated),rgba(6,6,8,.4));box-shadow:0 1px #ffffff0a inset;transition:border-color .35s var(--ease),box-shadow .35s var(--ease)}html.theme-light .tag-section{background:linear-gradient(165deg,rgba(0,0,0,.02) 0%,transparent 42%),linear-gradient(180deg,var(--bg-elevated),#fff)}.tag-section--highlight{border-color:#9333ea73;box-shadow:0 0 0 1px #9333ea1f,0 20px 48px #00000040}html.theme-light .tag-section--highlight{box-shadow:0 0 0 1px #7c3aed33,0 16px 40px #0000000f}.tag-section-title{margin:0 0 calc(var(--unit) * 2.5);font-family:var(--font-display);font-size:clamp(1.35rem,3vw,1.75rem);font-weight:600;letter-spacing:-.03em;line-height:1.15;display:flex;align-items:baseline;gap:calc(var(--unit) * 1.5)}.tag-section-title-num{font-family:var(--font-mono);font-size:.65rem;font-weight:400;letter-spacing:.08em;color:var(--neon);opacity:.85}.tag-section-list{margin:0;padding:0;list-style:none;font-family:var(--font-serif);font-style:italic;font-size:clamp(1.02rem,1.6vw,1.125rem);color:var(--muted);line-height:1.65}.tag-section-list li{position:relative;padding-left:calc(var(--unit) * 3);margin-bottom:calc(var(--unit) * 2)}.tag-section-list li:before{content:"";position:absolute;left:0;top:.55em;width:6px;height:6px;border-radius:50%;background:linear-gradient(135deg,var(--purple),var(--neon));opacity:.65}.tag-section-list li:last-child{margin-bottom:0}.tag-section-list a{color:var(--white);text-decoration:none;border-bottom:1px solid rgba(147,51,234,.35);transition:color .2s var(--ease),border-color .2s var(--ease)}.tag-section-list a:hover{color:var(--neon);border-color:#ff2d788c}.tag-section-title .tag-pill{font-size:.75rem;padding:calc(var(--unit) * .75) calc(var(--unit) * 1.5)}.tag-usage-list{margin:0;padding-left:1.2rem;font-family:var(--font-serif);font-style:italic;font-size:clamp(1rem,1.5vw,1.0625rem);color:var(--muted);line-height:1.5}.tag-usage-list li{margin-bottom:calc(var(--unit) * 1)}.tag-usage-list li:last-child{margin-bottom:0}.tag-usage-list a{color:var(--white);text-decoration:underline;text-decoration-color:#8b5cf659;text-underline-offset:3px;transition:text-decoration-color .25s var(--ease)}.tag-usage-list a:hover{text-decoration-color:var(--purple)}.tag-usage-note{font-family:var(--font-mono);font-size:.6875rem;font-style:normal;letter-spacing:.03em;color:var(--muted)}@media (max-width: 768px){.project-block-inner{grid-template-columns:1fr}.project-num-wrap{min-height:80px}.project-num{position:relative;top:0;font-size:clamp(3rem,18vw,5rem)}}
