:root{
  --yellow:#43f3ff;
  --cyan:#43f3ff;
  --red:#ff3bd5;
  --purple:#8b5cff;
  --blue:#2b7cff;
  --violet:#7c3cff;
  --ink:#03050d;
  --ink2:#060a16;
  --ink3:#0a1020;
  --paper:#edf7ff;
  --muted:#8694aa;
  --line:rgba(108,186,255,.15);
  --line2:rgba(67,243,255,.24);
}

html{background:#03050d}
body{
  background:
    radial-gradient(circle at 78% 10%,rgba(63,35,150,.15),transparent 30%),
    radial-gradient(circle at 15% 34%,rgba(0,197,255,.08),transparent 28%),
    linear-gradient(180deg,#03050d 0%,#040712 44%,#02040b 100%);
}
body::selection{background:var(--cyan);color:#02040b}

/* Night City ambient layers */
.night-aurora{position:fixed;inset:-20%;z-index:-10;pointer-events:none;overflow:hidden;filter:blur(24px);opacity:.65}
.night-aurora span{position:absolute;border-radius:50%;will-change:transform;mix-blend-mode:screen}
.night-aurora span:nth-child(1){width:34vw;height:34vw;left:7%;top:8%;background:radial-gradient(circle,rgba(0,217,255,.22),rgba(0,217,255,0) 70%);animation:floatAuroraA 16s ease-in-out infinite alternate}
.night-aurora span:nth-child(2){width:38vw;height:38vw;right:2%;top:16%;background:radial-gradient(circle,rgba(128,62,255,.25),rgba(128,62,255,0) 70%);animation:floatAuroraB 19s ease-in-out infinite alternate}
.night-aurora span:nth-child(3){width:31vw;height:31vw;left:35%;bottom:0;background:radial-gradient(circle,rgba(255,36,190,.14),rgba(255,36,190,0) 70%);animation:floatAuroraC 21s ease-in-out infinite alternate}
@keyframes floatAuroraA{to{transform:translate3d(7vw,5vh,0) scale(1.12)}}
@keyframes floatAuroraB{to{transform:translate3d(-9vw,8vh,0) scale(.92)}}
@keyframes floatAuroraC{to{transform:translate3d(4vw,-7vh,0) scale(1.08)}}
.city-haze{position:fixed;inset:0;z-index:-9;pointer-events:none;background:linear-gradient(180deg,transparent 0 63%,rgba(15,43,90,.07) 73%,rgba(2,4,11,.65) 100%)}
.world-grid{z-index:-11;background:
  linear-gradient(rgba(60,147,255,.028) 1px,transparent 1px),
  linear-gradient(90deg,rgba(60,147,255,.028) 1px,transparent 1px),
  radial-gradient(circle at 65% 10%,rgba(139,92,255,.12),transparent 28%),
  radial-gradient(circle at 10% 60%,rgba(0,229,255,.07),transparent 25%);
  background-size:52px 52px,52px 52px,auto,auto;
  transform-origin:center 70%;
}
.world-grid::before{content:"";position:absolute;left:-20%;right:-20%;bottom:-42%;height:65%;background:
  linear-gradient(rgba(67,243,255,.045) 1px,transparent 1px),
  linear-gradient(90deg,rgba(67,243,255,.045) 1px,transparent 1px);
  background-size:65px 38px;transform:perspective(420px) rotateX(66deg);transform-origin:center top;mask-image:linear-gradient(#000,transparent 82%)}
.world-grid::after{background:linear-gradient(120deg,transparent 0 47%,rgba(67,243,255,.022) 47% 47.15%,transparent 47.15% 60%,rgba(139,92,255,.018) 60% 60.16%,transparent 60.16%)}
.scanlines{opacity:.045;background:repeating-linear-gradient(0deg,transparent 0 4px,rgba(255,255,255,.13) 5px);mix-blend-mode:screen}
#particles{opacity:.62;z-index:-8}
.cursor-glow{width:620px;height:620px;z-index:-7;background:radial-gradient(circle,rgba(50,164,255,.12) 0%,rgba(102,62,255,.055) 34%,transparent 68%);filter:blur(10px);will-change:transform}

/* Scroll progress */
.scroll-progress{position:fixed;left:0;right:0;top:0;height:2px;z-index:9999;background:rgba(255,255,255,.025)}
.scroll-progress i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--cyan),var(--purple),var(--red));box-shadow:0 0 12px rgba(67,243,255,.8);transform-origin:left center}

/* Boot animation */
.boot-screen{background:radial-gradient(circle at 50% 35%,#101834 0,#060916 42%,#02040a 100%);color:#eefcff;gap:16px;overflow:hidden}
.boot-screen::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 4px,rgba(67,243,255,.04) 5px),linear-gradient(90deg,transparent,rgba(67,243,255,.035),transparent);animation:bootScan 2.2s linear infinite}
.boot-screen::after{content:"NIGHT CITY // SECURE CHANNEL";position:absolute;left:28px;bottom:24px;font:600 8px var(--mono);letter-spacing:.18em;color:#4f7794}
@keyframes bootScan{from{transform:translateY(-6px)}to{transform:translateY(6px)}}
.boot-logo{position:relative;color:#e9fbff;text-shadow:-2px 0 var(--red),2px 0 var(--cyan),0 0 35px rgba(67,243,255,.28)}
.boot-logo span{color:var(--purple)}
.boot-logo::before,.boot-logo::after{content:attr(data-glitch);position:absolute;inset:0;pointer-events:none;opacity:.45}
.boot-logo::before{color:var(--red);clip-path:inset(12% 0 64% 0);transform:translateX(3px);animation:glitchSlice 1.3s steps(2,end) infinite}
.boot-logo::after{color:var(--cyan);clip-path:inset(63% 0 10% 0);transform:translateX(-3px);animation:glitchSlice .95s steps(2,end) infinite reverse}
.boot-console{display:flex;gap:16px;flex-wrap:wrap;font:500 8px var(--mono);letter-spacing:.08em;color:#607995}
.boot-console b{color:var(--cyan);font-weight:600;text-shadow:0 0 8px rgba(67,243,255,.5)}
.boot-line{height:3px;background:#101930;box-shadow:0 0 0 1px rgba(67,243,255,.08)}
.boot-line span{background:linear-gradient(90deg,var(--cyan),var(--purple),var(--red));box-shadow:0 0 18px var(--cyan)}
.boot-copy{color:#8ca8bd}
@keyframes glitchSlice{0%,88%,100%{transform:translateX(0)}90%{transform:translateX(-5px)}92%{transform:translateX(4px)}94%{transform:translateX(-2px)}}

/* Header */
.site-header{background:rgba(3,6,14,.72);border-bottom:1px solid rgba(89,151,255,.14);box-shadow:0 10px 50px rgba(0,0,0,.24)}
.site-header::before{width:24%;background:linear-gradient(90deg,var(--cyan),var(--purple));box-shadow:0 0 16px rgba(67,243,255,.45)}
.brand-mark{background:linear-gradient(135deg,var(--cyan),#3da2ff 47%,var(--purple));color:#02040a;box-shadow:0 0 28px rgba(67,243,255,.22)}
.brand-copy small{color:#8298ff}
.nav a:hover,.nav a.active{color:#d8fbff;text-shadow:0 0 12px rgba(67,243,255,.6)}
.nav a.active::after{background:linear-gradient(90deg,var(--cyan),var(--purple));box-shadow:0 0 10px rgba(67,243,255,.6)}
.header-cv{background:linear-gradient(100deg,rgba(21,31,61,.92),rgba(14,17,40,.92));color:#cbfbff;border:1px solid rgba(67,243,255,.42);box-shadow:inset 0 0 18px rgba(67,243,255,.035),0 0 22px rgba(67,243,255,.06)}
.header-cv:hover{background:linear-gradient(90deg,var(--cyan),#4f9dff 55%,var(--purple));color:#03050d;border-color:transparent;box-shadow:0 0 26px rgba(67,243,255,.2)}

/* Typography and neon hierarchy */
.overline{color:#68caff}
.section-index{background:linear-gradient(105deg,var(--cyan),#67a8ff);box-shadow:0 0 20px rgba(67,243,255,.14)}
.section-head h2 span,.split-heading h2 span,.contact h2 span,.project-hero h1 span,.archive-hero h1 span{color:#68eaff;text-shadow:0 0 28px rgba(67,243,255,.16)}
.text-link{color:#83f7ff;border-color:#4bd8ee}
.text-link:hover{text-shadow:0 0 15px rgba(67,243,255,.75)}

/* Hero entrance */
.hero{min-height:calc(100vh - 84px);padding-top:86px}
.hero::before{content:"2077";right:-.03em;top:.05em;color:rgba(91,75,255,.027);font-size:min(31vw,500px);letter-spacing:-.08em}
.hero::after{content:"";position:absolute;inset:auto -10% 0 -10%;height:2px;background:linear-gradient(90deg,transparent,var(--purple),var(--cyan),transparent);opacity:.28;box-shadow:0 0 18px rgba(67,243,255,.45)}
.eyebrow{border-left-color:var(--red);background:linear-gradient(90deg,rgba(255,59,213,.07),transparent);padding-block:6px;padding-right:12px}
.pulse-dot{background:var(--cyan);box-shadow:0 0 6px var(--cyan),0 0 20px rgba(67,243,255,.9)}
.hero-code{color:#667da2}
.hero-title{perspective:1000px}
.hero-title [data-hero-line]{display:inline-block;opacity:0;transform:translate3d(0,40px,0) rotateX(22deg);filter:blur(8px)}
body.page-ready .hero-title [data-hero-line]{animation:heroLineIn .86s cubic-bezier(.18,.82,.16,1) forwards}
body.page-ready .hero-title [data-hero-line]:nth-of-type(2){animation-delay:.12s}
body.page-ready .hero-title [data-hero-line]:nth-of-type(3){animation-delay:.24s}
@keyframes heroLineIn{to{opacity:1;transform:none;filter:blur(0)}}
.hero h1 span{color:#eaf7ff;text-shadow:0 0 24px rgba(100,150,255,.05)}
.hero h1 em{color:#5ff6ff;text-shadow:-2px 0 rgba(255,59,213,.9),2px 0 rgba(85,106,255,.8),0 0 34px rgba(67,243,255,.23)}
.hero h1 em::after{background:linear-gradient(90deg,var(--purple),var(--red));box-shadow:0 0 12px rgba(255,59,213,.38)}
[data-glitch]{position:relative}
[data-glitch]::before,[data-glitch]::after{content:attr(data-glitch);position:absolute;inset:0;pointer-events:none;opacity:0}
[data-glitch]::before{color:var(--red);transform:translateX(2px);clip-path:inset(18% 0 58% 0)}
[data-glitch]::after{color:#6e5dff;transform:translateX(-2px);clip-path:inset(58% 0 16% 0)}
body.page-ready [data-glitch]::before{animation:microGlitchA 4.4s steps(2,end) 1.2s infinite}
body.page-ready [data-glitch]::after{animation:microGlitchB 5.3s steps(2,end) 1.7s infinite}
@keyframes microGlitchA{0%,94%,100%{opacity:0;transform:translateX(2px)}95%{opacity:.55;transform:translateX(-5px)}96%{opacity:.2;transform:translateX(4px)}}
@keyframes microGlitchB{0%,91%,100%{opacity:0;transform:translateX(-2px)}92%{opacity:.4;transform:translateX(5px)}93%{opacity:.15;transform:translateX(-3px)}}
.hero-lead{border-left-color:rgba(67,243,255,.32);background:linear-gradient(90deg,rgba(67,243,255,.025),transparent);padding-block:8px;padding-right:12px}
.btn{overflow:hidden;isolation:isolate}
.btn::before{content:"";position:absolute;inset:-1px;z-index:-1;background:linear-gradient(110deg,transparent 20%,rgba(255,255,255,.34) 45%,transparent 70%);transform:translateX(-130%);transition:transform .55s ease}
.btn:hover::before{transform:translateX(130%)}
.btn-yellow{background:linear-gradient(105deg,#3ff5ff,#58a4ff 60%,#8d65ff);color:#02040b;box-shadow:0 0 28px rgba(67,243,255,.08)}
.btn-yellow:hover{background:linear-gradient(105deg,#7af9ff,#a472ff 70%,#ff68df)}
.btn-wire{border-color:rgba(124,105,255,.4);background:rgba(12,18,38,.5)}
.btn-wire:hover{border-color:var(--red);color:#ff9bea;box-shadow:0 0 22px rgba(255,59,213,.08)}
.hero-microstats{border-top-color:rgba(87,150,255,.18)}
.hero-microstats div{border-right-color:rgba(87,150,255,.14)}
.hero-marquee{background:linear-gradient(90deg,#2eefff,#4d8eff 46%,#8c54ff 74%,#ff3bd5);box-shadow:0 0 35px rgba(67,243,255,.16);color:#02040b}

/* Identity / glass neon */
.identity-card,.skill-card,.edu-secondary,.cert-card,.project-card-home,.archive-card,.detail-visual,.terminal{
  backdrop-filter:blur(10px);
}
.identity-card{background:linear-gradient(165deg,rgba(14,23,48,.78),rgba(5,8,18,.92));border-color:rgba(73,165,255,.27);box-shadow:24px 24px 80px rgba(0,0,0,.28),0 0 55px rgba(104,65,255,.06);transform-style:preserve-3d;will-change:transform}
.identity-card::before{background:linear-gradient(var(--cyan),var(--blue));box-shadow:0 0 14px rgba(67,243,255,.6)}
.identity-card::after{background:linear-gradient(var(--purple),var(--red));box-shadow:0 0 16px rgba(255,59,213,.45)}
.portrait-wrap{background:linear-gradient(150deg,#17244b,#070b16)}
.portrait-wrap::after{background:linear-gradient(180deg,transparent 52%,rgba(3,5,13,.94)),linear-gradient(90deg,rgba(0,223,255,.16),transparent 35%,rgba(133,69,255,.07));}
.portrait-wrap img{filter:saturate(.86) contrast(1.08) hue-rotate(4deg)}
.portrait-chrome{border-color:rgba(67,243,255,.48);filter:drop-shadow(0 0 5px rgba(67,243,255,.25))}
.portrait-id{color:#79f5ff;text-shadow:0 0 9px rgba(67,243,255,.45)}
.identity-info>p:last-child{color:#86a7ff}
.identity-bars b{background:linear-gradient(90deg,var(--cyan),#56aaff);box-shadow:0 0 12px rgba(67,243,255,.5)}
.identity-bars>div:nth-child(2) b{background:linear-gradient(90deg,#528dff,var(--purple));box-shadow:0 0 12px rgba(139,92,255,.45)}
.identity-bars>div:nth-child(3) b{background:linear-gradient(90deg,var(--purple),var(--red));box-shadow:0 0 12px rgba(255,59,213,.36)}
.identity-bars em{font-size:7px;color:#71839d}

/* Sections */
.intro::after{background:linear-gradient(90deg,var(--purple),var(--cyan),transparent)}
.inline-tags span:first-child{border-color:rgba(67,243,255,.7);color:#75f4ff;box-shadow:inset 0 0 12px rgba(67,243,255,.05)}
.stack-section{background:linear-gradient(180deg,rgba(78,60,180,.03),rgba(6,11,24,.18),transparent)}
.skill-grid{border-color:rgba(86,151,255,.16)}
.skill-card{background:linear-gradient(150deg,rgba(11,20,42,.62),rgba(5,8,17,.78));border-color:rgba(76,143,233,.16);transform-style:preserve-3d;will-change:transform}
.skill-card:hover{background:linear-gradient(150deg,rgba(17,31,63,.78),rgba(8,11,25,.9));box-shadow:0 20px 70px rgba(0,0,0,.34),0 0 45px rgba(69,156,255,.05)}
.skill-card.feature::before{background:linear-gradient(90deg,var(--cyan),var(--purple));box-shadow:0 0 14px rgba(67,243,255,.45)}
.skill-list span{background:rgba(21,33,61,.75);border:1px solid rgba(91,155,255,.09);color:#b9c9df}
.skill-card.feature .skill-list span:first-child{background:linear-gradient(100deg,var(--cyan),#6ba4ff);color:#02040b}
.terminal{background:rgba(3,7,15,.88);border-color:rgba(92,151,255,.18);box-shadow:0 0 55px rgba(75,65,185,.045)}
.terminal-bar{border-color:rgba(92,151,255,.12)}
.terminal-bar span:first-child{background:var(--red);box-shadow:0 0 8px rgba(255,59,213,.5)}
.terminal-bar span:nth-child(2){background:var(--purple);box-shadow:0 0 8px rgba(139,92,255,.5)}
.terminal-bar span:nth-child(3){background:var(--cyan);box-shadow:0 0 8px rgba(67,243,255,.5)}
.terminal-body i{color:#bc79ff}.terminal-result{color:#64eeff}.term-cursor{color:#ff6edb}
.career-list{border-top-color:rgba(92,151,255,.15)}
.career-item{border-bottom-color:rgba(92,151,255,.14)}
.career-item::before{height:2px;background:linear-gradient(90deg,var(--cyan),var(--purple),var(--red),transparent);box-shadow:0 0 12px rgba(67,243,255,.25)}
.career-date{color:#78f5ff}.career-company{color:#8b8cff}.career-item:first-child .career-status{color:#67f6ff;text-shadow:0 0 10px rgba(67,243,255,.5)}

/* Education and certs */
.education-layout{grid-template-columns:1.05fr .75fr 1fr;gap:18px;align-items:stretch}
.edu-main{background:linear-gradient(145deg,#2feffc 0%,#4388ff 48%,#7f55ff 100%);color:#02040b;box-shadow:0 20px 90px rgba(30,110,255,.1);transform-style:preserve-3d;will-change:transform}
.edu-main .overline{color:#051023;opacity:.72}.edu-main .progress{background:rgba(4,9,22,.22)}.edu-main .progress i{background:#040817;box-shadow:0 0 16px rgba(255,255,255,.1)}
.edu-secondary{padding:30px;border:1px solid rgba(92,151,255,.18);background:linear-gradient(150deg,rgba(16,24,53,.66),rgba(6,9,20,.88));clip-path:polygon(0 0,92% 0,100% 8%,100% 100%,0 100%);display:flex;flex-direction:column;min-height:360px}
.edu-secondary h3{font:900 clamp(38px,4vw,56px)/.88 var(--display);margin:54px 0 15px}
.edu-secondary>p:not(.overline){font:500 10px var(--mono);color:#8ea0b7}
.edu-secondary .edu-year{color:#6ff4ff}
.edu-status{margin-top:auto;border-top:1px solid rgba(92,151,255,.15);padding-top:18px;color:#9b86ff;font:600 8px var(--mono);letter-spacing:.12em}
.cert-grid{grid-template-columns:1fr;border-color:rgba(92,151,255,.15)}
.cert-card{min-height:81px;padding:14px 16px;border-color:rgba(92,151,255,.13);background:linear-gradient(120deg,rgba(15,25,51,.55),rgba(7,10,20,.7));transform-style:preserve-3d;will-change:transform}
.cert-badge{width:44px;height:44px;flex-basis:44px;background:linear-gradient(135deg,rgba(67,243,255,.14),rgba(139,92,255,.15));border:1px solid rgba(83,174,255,.24);color:#85f5ff;font:800 14px var(--display);box-shadow:inset 0 0 16px rgba(67,243,255,.05)}
.cert-badge.has-image{background:#fff}
.cert-code{margin:0 0 3px;color:#745fff;font:600 7px var(--mono);letter-spacing:.08em}
.cert-name{font-size:16px}.cert-year{color:#60eefa}
.language-strip{display:grid;grid-template-columns:repeat(3,1fr);margin-top:18px;border:1px solid rgba(89,151,255,.16);background:rgba(6,10,22,.55)}
.language-strip>div{padding:18px 20px;border-right:1px solid rgba(89,151,255,.13);display:grid;grid-template-columns:auto 1fr;gap:3px 16px;align-items:center}
.language-strip>div:last-child{border-right:0}.language-strip small{grid-row:1/3;color:#6d6fff;font:600 8px var(--mono)}.language-strip strong{font:800 18px var(--display)}.language-strip span{font:500 8px var(--mono);color:#708096}

/* Projects */
.project-card-home{border-color:rgba(85,148,255,.16);background:linear-gradient(160deg,rgba(10,17,36,.74),rgba(4,7,15,.9));overflow:hidden}
.project-card-home::before{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(120deg,transparent 32%,rgba(67,243,255,.07) 50%,transparent 68%);transform:translateX(-130%);transition:transform .8s ease}
.project-card-home:hover::before{transform:translateX(130%)}
.project-card-home:hover{box-shadow:0 22px 75px rgba(0,0,0,.36),0 0 46px rgba(92,65,255,.06)}
.project-code,.shot::after{background:linear-gradient(90deg,var(--cyan),#65a3ff);color:#02040b}
.project-mini-stack span,.archive-stack span,.detail-stack span{background:rgba(20,31,57,.65);border-color:rgba(90,149,255,.14);color:#aabdd3}
.project-open,.archive-action{color:#65f1ff}
.archive-hero h1{filter:drop-shadow(0 0 20px rgba(79,74,255,.04))}
.searchbox span{color:#6cecff}.filter-btn:hover,.filter-btn.active{background:linear-gradient(90deg,var(--cyan),#6b8fff,var(--purple));border-color:transparent;color:#02040b}
.archive-card{border-bottom-color:rgba(86,151,255,.13)}
.archive-card:hover{background:linear-gradient(90deg,rgba(32,70,126,.08),rgba(77,54,148,.05),transparent)}
.archive-title p{color:#7c83ff}.detail-visual::after{border-color:rgba(67,243,255,.24);box-shadow:inset 0 0 80px rgba(0,0,0,.3),0 0 40px rgba(67,243,255,.04)}
.meta-block{border-top-color:rgba(91,151,255,.17)}.detail-content li::marker{color:#67f6ff}.project-nav a{border-color:rgba(85,147,255,.18)}.project-nav a:hover{border-color:#6befff;color:#7ff5ff;box-shadow:inset 0 0 25px rgba(67,243,255,.025)}
.lightbox{background:rgba(1,3,8,.95);backdrop-filter:blur(12px)}.lightbox-close{border-color:#6df4ff;background:linear-gradient(90deg,var(--cyan),#798cff);color:#02040b}

/* Contact: no bright yellow wall */
.contact{background:linear-gradient(125deg,#071226 0%,#0b1230 42%,#21134a 77%,#2a0d35 100%);color:#eef9ff;border-top:1px solid rgba(67,243,255,.2);border-bottom:1px solid rgba(255,59,213,.14)}
.contact::before{color:rgba(116,94,255,.065);text-shadow:0 0 30px rgba(67,243,255,.08)}
.contact .section-index{background:linear-gradient(90deg,var(--cyan),var(--purple));color:#02040b}
.contact .overline{color:#6cecff;opacity:1}.contact-copy>p:last-child{color:#9aacc1}.contact-actions{border-top-color:rgba(90,153,255,.18)}
.contact-actions a{border-bottom-color:rgba(90,153,255,.16)}
.contact-actions a:hover{padding-left:12px;background:linear-gradient(90deg,rgba(67,243,255,.05),rgba(139,92,255,.04));color:#b6fbff;text-shadow:0 0 12px rgba(67,243,255,.2)}
.footer{background:#02040a;border-top-color:rgba(93,151,255,.14)}.footer-inner a{color:#74efff}

/* Better reveal effects */
.reveal{opacity:0;transform:translate3d(0,34px,0) scale(.985);filter:blur(7px);transition:opacity .72s var(--ease),transform .72s var(--ease),filter .72s var(--ease)}
.reveal.in{opacity:1;transform:none;filter:blur(0)}
.tilt-card{transition:transform .18s ease-out,box-shadow .25s ease,background .25s ease}

/* responsive */
@media(max-width:1080px){
  .education-layout{grid-template-columns:1fr 1fr}.cert-grid{grid-column:1/-1;grid-template-columns:1fr 1fr}
  .night-aurora{opacity:.52}
}
@media(max-width:780px){
  .night-aurora{opacity:.42;filter:blur(18px)}
  .world-grid::before{opacity:.55}
  .education-layout{grid-template-columns:1fr}.cert-grid{grid-column:auto;grid-template-columns:1fr 1fr}
  .language-strip{grid-template-columns:1fr}.language-strip>div{border-right:0;border-bottom:1px solid rgba(89,151,255,.13)}.language-strip>div:last-child{border-bottom:0}
  .hero::before{font-size:48vw;top:11%}
}
@media(max-width:520px){
  .cert-grid{grid-template-columns:1fr}.edu-secondary{min-height:300px}.edu-secondary h3{font-size:42px}
  .boot-console{display:grid;gap:5px}
}
@media(prefers-reduced-motion:reduce){
  .night-aurora span,.boot-logo::before,.boot-logo::after,[data-glitch]::before,[data-glitch]::after{animation:none!important}
  .hero-title [data-hero-line]{opacity:1!important;transform:none!important;filter:none!important}
  .cursor-glow{display:none!important}
}
body.page-ready .hero-title em[data-hero-line]{animation-delay:.14s}
body.page-ready .hero-title span[data-hero-line]:last-child{animation-delay:.28s}
.archive-enter{animation:archiveEnter .55s var(--ease) both;animation-delay:calc(var(--i,0)*55ms)}
@keyframes archiveEnter{from{opacity:0;transform:translate3d(-18px,10px,0);filter:blur(5px)}to{opacity:1;transform:none;filter:none}}


/* ---- Rework v3: fundo mais vivo + PT-BR ---- */
body{
  background:
    radial-gradient(circle at 12% 18%,rgba(0,220,255,.11),transparent 25%),
    radial-gradient(circle at 82% 14%,rgba(127,85,255,.12),transparent 28%),
    radial-gradient(circle at 56% 72%,rgba(255,59,213,.08),transparent 24%),
    linear-gradient(180deg,#02040b 0%,#040712 38%,#050915 72%,#02040b 100%);
  background-attachment: fixed;
}
body::before,
body::after{content:"";position:fixed;inset:-12%;pointer-events:none}
body::before{
  z-index:-13;
  background:
    radial-gradient(circle at 18% 24%, rgba(67,243,255,.12), transparent 26%),
    radial-gradient(circle at 82% 20%, rgba(139,92,255,.12), transparent 30%),
    radial-gradient(circle at 56% 78%, rgba(255,59,213,.07), transparent 25%),
    linear-gradient(120deg, rgba(67,243,255,.025), transparent 35%, rgba(139,92,255,.02) 65%, transparent 100%);
  filter: blur(8px);
  animation: bgFloat 22s ease-in-out infinite alternate;
}
body::after{
  z-index:-12;
  background:
    linear-gradient(115deg, transparent 0 27%, rgba(67,243,255,.055) 30%, transparent 33%),
    linear-gradient(295deg, transparent 0 62%, rgba(255,59,213,.045) 65%, transparent 68%),
    linear-gradient(180deg, rgba(255,255,255,.02), transparent 18%);
  mix-blend-mode: screen;
  opacity:.58;
  animation: bgSweep 26s linear infinite;
}
@keyframes bgFloat{to{transform:translate3d(3vw, -2vh, 0) scale(1.06)}}
@keyframes bgSweep{from{transform:translate3d(-2vw,0,0)}to{transform:translate3d(2vw,1vh,0)}}

.neon-beams{position:fixed;inset:0;pointer-events:none;z-index:-9;overflow:hidden;opacity:.62}
.neon-beams span{position:absolute;display:block;width:46vw;height:16vh;filter:blur(34px);mix-blend-mode:screen;opacity:.22;transform:rotate(-16deg)}
.neon-beams span:nth-child(1){left:-10vw;top:14vh;background:linear-gradient(90deg,transparent,rgba(67,243,255,.8),transparent);animation:beamMoveA 14s ease-in-out infinite alternate}
.neon-beams span:nth-child(2){right:-12vw;top:34vh;background:linear-gradient(90deg,transparent,rgba(139,92,255,.82),transparent);animation:beamMoveB 17s ease-in-out infinite alternate}
.neon-beams span:nth-child(3){left:24vw;bottom:12vh;background:linear-gradient(90deg,transparent,rgba(255,59,213,.7),transparent);animation:beamMoveC 19s ease-in-out infinite alternate}
@keyframes beamMoveA{to{transform:translate3d(12vw,3vh,0) rotate(-10deg)}}
@keyframes beamMoveB{to{transform:translate3d(-14vw,-4vh,0) rotate(-22deg)}}
@keyframes beamMoveC{to{transform:translate3d(8vw,-5vh,0) rotate(-7deg)}}

.city-haze{
  position:fixed;inset:0;z-index:-10;pointer-events:none;
  background:linear-gradient(180deg,transparent 0 58%,rgba(15,43,90,.08) 70%,rgba(2,4,11,.72) 100%);
}
.city-haze::before{
  content:"";position:absolute;left:0;right:0;bottom:0;height:30vh;
  background:linear-gradient(180deg,transparent,rgba(3,5,12,.15) 35%,rgba(2,4,10,.95) 100%);
  clip-path:polygon(0 100%,0 64%,4% 64%,4% 45%,8% 45%,8% 72%,14% 72%,14% 38%,18% 38%,18% 58%,24% 58%,24% 31%,28% 31%,28% 70%,34% 70%,34% 48%,39% 48%,39% 66%,44% 66%,44% 34%,48% 34%,48% 74%,56% 74%,56% 42%,61% 42%,61% 60%,66% 60%,66% 29%,71% 29%,71% 68%,77% 68%,77% 39%,82% 39%,82% 62%,88% 62%,88% 28%,93% 28%,93% 55%,100% 55%,100% 100%);
  opacity:.58;
}
.city-haze::after{
  content:"";position:absolute;left:0;right:0;bottom:4vh;height:14vh;opacity:.22;
  background:
    repeating-linear-gradient(90deg, rgba(67,243,255,.0) 0 18px, rgba(67,243,255,.35) 18px 20px, rgba(67,243,255,.0) 20px 46px),
    repeating-linear-gradient(90deg, rgba(255,59,213,.0) 0 36px, rgba(255,59,213,.28) 36px 38px, rgba(255,59,213,.0) 38px 72px);
  filter:blur(.4px);
  mask-image:linear-gradient(180deg,transparent 0, #000 35%, #000 100%);
  animation:windowPulse 7s steps(5) infinite;
}
@keyframes windowPulse{50%{opacity:.34}}

.world-grid{animation:gridDrift 30s linear infinite}
.world-grid::before{animation:gridDepth 22s ease-in-out infinite alternate}
.scanlines{opacity:.06;animation:scanDrift 10s linear infinite}
@keyframes gridDrift{from{background-position:0 0,0 0,0 0,0 0}to{background-position:52px 24px,24px 52px,0 0,0 0}}
@keyframes gridDepth{to{transform:perspective(420px) rotateX(66deg) translateY(-8px)}}
@keyframes scanDrift{from{transform:translateY(0)}to{transform:translateY(4px)}}

.hero::before{color:rgba(88,115,255,.05);text-shadow:0 0 40px rgba(139,92,255,.06)}
.hero-lead{background:linear-gradient(90deg,rgba(8,13,25,.25),transparent)}
.hero-copy,.identity-card,.terminal,.skill-card,.project-card-home,.edu-secondary,.cert-card,.archive-card,.detail-visual,.contact-grid{backdrop-filter:blur(5px)}

.archive-hero h1 span,.project-hero h1 span{color:#78f5ff}
.breadcrumb a{color:#9cc8ff}
.footer-inner p{color:#7d8ba2}
.footer-inner a:hover{color:#baf9ff}

@media(max-width:780px){
  .neon-beams{opacity:.42}
  .city-haze::before{height:24vh;opacity:.45}
  .city-haze::after{height:9vh;opacity:.16}
}
@media(prefers-reduced-motion:reduce){
  body::before,body::after,.neon-beams span,.world-grid,.world-grid::before,.scanlines,.city-haze::after{animation:none!important}
}


/* ---- Ajustes de legibilidade solicitados ---- */
.hero .hero-title-compact{
  font-size:clamp(64px,7.2vw,108px);
  line-height:.82;
  letter-spacing:-.045em;
  max-width:760px;
}
.hero .hero-title-compact span{
  color:#eaf7ff;
  text-shadow:-2px 0 rgba(255,59,213,.72),2px 0 rgba(67,243,255,.5),0 0 34px rgba(67,243,255,.11);
}

.language-strip{margin-top:24px}
.language-strip>div{
  padding:26px 28px;
  gap:6px 18px;
  min-height:112px;
}
.language-strip small{
  font-size:10px;
  letter-spacing:.12em;
  color:#8a85ff;
}
.language-strip strong{
  font-size:clamp(25px,2.2vw,32px);
  line-height:1;
  letter-spacing:.02em;
  color:#f1f8ff;
}
.language-strip span{
  font-size:11px;
  line-height:1.4;
  letter-spacing:.055em;
  color:#aab9cc;
}

@media(max-width:780px){
  .hero .hero-title-compact{font-size:clamp(62px,18vw,92px)}
  .language-strip>div{padding:24px 22px;min-height:104px}
  .language-strip strong{font-size:28px}
  .language-strip span{font-size:11px}
}
@media(max-width:520px){
  .hero .hero-title-compact{font-size:58px}
  .language-strip strong{font-size:26px}
  .language-strip span{font-size:10px}
}
