:root{
  --black:#07070d;--black-2:#0d0d18;--black-3:#14142a;
  --purple:#6c2bd9;--purple-2:#8b47f0;--purple-3:#a76ff7;
  --blue:#1a6bff;--blue-2:#3d8bff;
  --gold:#d4a017;--gold-2:#f0c040;--gold-3:#ffe083;
  --white:#f0eeff;--muted:#6b6b9a;
  --border:rgba(108,43,217,.18);--border-2:rgba(108,43,217,.32);
  --g-purple:linear-gradient(135deg,var(--purple),var(--blue));
  --g-gold:linear-gradient(135deg,var(--gold),var(--gold-3));
  --g-full:linear-gradient(135deg,var(--purple),var(--blue),var(--gold));
  --glow-p:rgba(108,43,217,.4);
  --fd:'Bebas Neue',sans-serif;--fb:'Cormorant Garamond',serif;
  --fs:'Space Grotesk',sans-serif;--fm:'DM Mono',monospace;
  --nav-h:70px;--ease:cubic-bezier(.22,1,.36,1);--ease-in:cubic-bezier(.55,0,1,.45);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:auto;}
body{background:var(--black);color:var(--white);font-family:var(--fs);overflow-x:hidden;cursor:none;}
::-webkit-scrollbar{width:3px;}
::-webkit-scrollbar-track{background:var(--black);}
::-webkit-scrollbar-thumb{background:var(--purple);border-radius:2px;}

/* PRELOADER */
#preloader{position:fixed;inset:0;z-index:9999;background:var(--black);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2rem;transition:opacity .8s var(--ease),transform .8s var(--ease);}
#preloader.done{opacity:0;transform:scale(1.04);pointer-events:none;}
.pre-logo{font-family:var(--fd);font-size:clamp(3rem,8vw,6rem);letter-spacing:.15em;background:var(--g-full);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:preGlow 1.8s ease infinite alternate;}
@keyframes preGlow{from{filter:brightness(1);}to{filter:brightness(1.4) drop-shadow(0 0 32px rgba(108,43,217,.9));}}
.pre-bar-wrap{width:min(320px,70vw);height:2px;background:rgba(255,255,255,.08);border-radius:2px;overflow:hidden;}
.pre-bar{height:100%;width:0%;border-radius:2px;background:var(--g-full);box-shadow:0 0 14px var(--glow-p);}
.pre-txt{font-family:var(--fm);font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);}
#pre-canvas{position:absolute;inset:0;pointer-events:none;opacity:.14;}
#veil{position:fixed;inset:0;z-index:7000;pointer-events:none;display:grid;grid-template-columns:repeat(5,1fr);}
.vcol{background:var(--black-3);transform:scaleY(0);transform-origin:bottom;}
#veil.exit .vcol{animation:vDown .65s var(--ease-in) forwards;}
#veil.enter .vcol{transform:scaleY(1);transform-origin:top;animation:vUp .65s var(--ease) forwards;}
#veil.exit .vcol:nth-child(1),#veil.exit .vcol:nth-child(5){animation-delay:0s;}
#veil.exit .vcol:nth-child(2),#veil.exit .vcol:nth-child(4){animation-delay:.06s;}
#veil.exit .vcol:nth-child(3){animation-delay:.12s;}
#veil.enter .vcol:nth-child(1),#veil.enter .vcol:nth-child(5){animation-delay:.1s;}
#veil.enter .vcol:nth-child(2),#veil.enter .vcol:nth-child(4){animation-delay:.05s;}
#veil.enter .vcol:nth-child(3){animation-delay:0s;}
@keyframes vDown{to{transform:scaleY(1);transform-origin:top;}}
@keyframes vUp{to{transform:scaleY(0);}}
#c-dot{position:fixed;width:7px;height:7px;border-radius:50%;background:var(--gold-2);z-index:8888;pointer-events:none;transform:translate(-50%,-50%);}
#c-ring{position:fixed;width:34px;height:34px;border-radius:50%;border:1.5px solid var(--purple-2);z-index:8887;pointer-events:none;transform:translate(-50%,-50%);opacity:.65;transition:width .3s,height .3s,border-color .3s,opacity .3s;}
body.c-hover #c-ring{width:56px;height:56px;border-color:var(--gold);opacity:.4;}
body.c-hover #c-dot{background:var(--gold-3);}
nav{position:fixed;top:0;left:0;right:0;z-index:1000;height:var(--nav-h);display:flex;align-items:center;justify-content:space-between;padding:0 4%;transition:background .4s;}
nav.scrolled{background:rgba(7,7,13,.88);backdrop-filter:blur(20px);border-bottom:1px solid var(--border);}
.nav-logo{font-family:var(--fd);font-size:1.6rem;letter-spacing:.12em;background:var(--g-gold);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-decoration:none;}
.nav-links{display:flex;gap:2rem;list-style:none;}
.nav-links a{font-family:var(--fs);font-size:.78rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:rgba(240,238,255,.5);text-decoration:none;transition:color .2s;position:relative;}
.nav-links a::after{content:'';position:absolute;bottom:-4px;left:0;width:0;height:1px;background:var(--gold-2);transition:width .3s var(--ease);}
.nav-links a:hover{color:var(--white);}
.nav-links a:hover::after,.nav-links a.active::after{width:100%;}
.nav-links a.active{color:var(--white);}
.nav-cta{padding:.5rem 1.4rem;background:transparent;border:1px solid var(--border-2);border-radius:3px;font-family:var(--fs);font-size:.75rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--purple-3);text-decoration:none;transition:background .25s,color .25s,box-shadow .25s;}
.nav-cta:hover{background:var(--purple);border-color:var(--purple);color:#fff;box-shadow:0 0 24px var(--glow-p);}
.ham{display:none;flex-direction:column;gap:5px;cursor:none;background:none;border:none;padding:4px;}
.ham span{display:block;width:22px;height:1.5px;background:var(--white);border-radius:1px;transition:.3s;}
.ham.open span:nth-child(1){transform:translateY(6.5px) rotate(45deg);}
.ham.open span:nth-child(2){opacity:0;}
.ham.open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg);}
.mob-nav{position:fixed;inset:0;top:var(--nav-h);z-index:900;background:rgba(7,7,13,.97);backdrop-filter:blur(30px);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:2.5rem;opacity:0;pointer-events:none;transition:opacity .35s var(--ease);}
.mob-nav.open{opacity:1;pointer-events:all;}
.mob-nav a{font-family:var(--fd);font-size:2.8rem;letter-spacing:.12em;color:rgba(240,238,255,.6);text-decoration:none;transition:color .2s;}
.mob-nav a:hover{color:var(--gold-2);}
#particle-canvas{position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.4;}

/* PAGE HEADER — compact inner-page style */
.page-header{min-height:42vh;padding-top:var(--nav-h);position:relative;overflow:hidden;display:flex;align-items:flex-end;border-bottom:1px solid var(--border);}
.ph-orb{position:absolute;border-radius:50%;filter:blur(80px);pointer-events:none;}
.ph-orb-1{width:500px;height:500px;background:rgba(212,160,23,.12);top:-30%;right:-5%;}
.ph-orb-2{width:350px;height:350px;background:rgba(108,43,217,.1);bottom:-20%;left:5%;}
.ph-grid{position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(108,43,217,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(108,43,217,.04) 1px,transparent 1px);background-size:60px 60px;}
#ph-wave{position:absolute;bottom:0;left:0;right:0;height:110px;pointer-events:none;opacity:.7;}
.ph-inner{position:relative;z-index:2;width:100%;max-width:1260px;margin:0 auto;padding:3rem 4%;display:grid;grid-template-columns:1fr auto;gap:2rem;align-items:flex-end;}
.ph-breadcrumb{display:flex;align-items:center;gap:.5rem;font-family:var(--fm);font-size:.65rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:1.2rem;animation:fadeUp .7s var(--ease) both;}
.ph-breadcrumb a{color:var(--muted);text-decoration:none;transition:color .2s;}
.ph-breadcrumb a:hover{color:var(--purple-3);}
.ph-breadcrumb-sep{color:var(--border-2);}
.ph-breadcrumb-cur{color:var(--gold-2);}
.ph-num{font-family:var(--fm);font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--purple-3);margin-bottom:.6rem;display:flex;align-items:center;gap:.6rem;animation:fadeUp .7s .05s var(--ease) both;}
.ph-num::before{content:'';width:18px;height:1px;background:var(--purple-3);}
.ph-title{font-family:var(--fd);font-size:clamp(3rem,6vw,5.5rem);letter-spacing:.04em;line-height:.95;animation:fadeUp .8s .1s var(--ease) both;}
.ph-title em{font-family:var(--fb);font-style:italic;background:var(--g-gold);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.ph-desc{font-size:.9rem;font-weight:300;color:rgba(240,238,255,.45);line-height:1.7;max-width:480px;margin-top:.9rem;animation:fadeUp .8s .18s var(--ease) both;}
/* Download CTA in header */
.ph-download{display:inline-flex;align-items:center;gap:.7rem;padding:.75rem 1.8rem;background:var(--g-gold);border:none;border-radius:3px;font-family:var(--fs);font-size:.8rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--black);text-decoration:none;cursor:none;transition:transform .25s,box-shadow .25s;animation:fadeUp .8s .22s var(--ease) both;white-space:nowrap;}
.ph-download:hover{transform:translateY(-2px);box-shadow:0 8px 28px rgba(212,160,23,.4);}
@keyframes fadeUp{from{opacity:0;transform:translateY(18px);}to{opacity:1;transform:translateY(0);}}

/* MARQUEE */
.marquee-strip{position:relative;z-index:2;background:var(--black-3);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:1rem 0;overflow:hidden;}
.marquee-track{display:flex;gap:2.5rem;animation:marquee 30s linear infinite;white-space:nowrap;width:max-content;}
@keyframes marquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}
.mq-item{display:inline-flex;align-items:center;font-family:var(--fd);font-size:.82rem;letter-spacing:.1em;color:rgba(240,238,255,.25);flex-shrink:0;}
.mq-sep{color:var(--gold);font-size:.65rem;margin:0 .4rem;}

/* KINEMATIC SCENE */
.scene-track{position:relative;}
.scene{position:sticky;top:0;height:100vh;overflow:hidden;display:flex;align-items:center;justify-content:center;}
#scene-cv-track{height:320vh;}
#scene-cv{background:var(--black-2);}
.sc-grid{position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(108,43,217,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(108,43,217,.04) 1px,transparent 1px);background-size:55px 55px;}
.sc-orb{position:absolute;border-radius:50%;filter:blur(100px);pointer-events:none;}
.sc-orb-1{width:600px;height:600px;background:rgba(212,160,23,.12);top:-20%;right:-10%;}
.sc-orb-2{width:400px;height:400px;background:rgba(108,43,217,.1);bottom:-15%;left:-5%;}
#sc-wave{position:absolute;bottom:0;left:0;right:0;height:150px;pointer-events:none;}
.sc-content{position:relative;z-index:2;text-align:center;padding:0 4%;max-width:1000px;}
.sc-bgword{font-family:var(--fd);font-size:clamp(6rem,16vw,16rem);letter-spacing:.08em;line-height:.85;background:linear-gradient(135deg,rgba(212,160,23,.18),rgba(108,43,217,.12));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;user-select:none;}
.sc-tag{font-family:var(--fm);font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-2);margin-bottom:1rem;display:flex;align-items:center;justify-content:center;gap:.7rem;}
.sc-tag::before,.sc-tag::after{content:'';width:22px;height:1px;background:var(--gold-2);}
.sc-quote{font-family:var(--fb);font-style:italic;font-size:clamp(1.4rem,3vw,2.6rem);color:var(--white);line-height:1.4;max-width:780px;margin:0 auto;}
.sc-quote em{color:var(--gold-2);font-style:normal;}
.sc-line{height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);margin:1.4rem auto 0;width:0;}

/* CV BODY */
.cv-section{position:relative;z-index:2;padding:8rem 4%;}
.cv-inner{max-width:1260px;margin:0 auto;}
.cv-layout{display:grid;grid-template-columns:1fr 300px;gap:4rem;align-items:start;}

/* TIMELINE */
.tl-block{margin-bottom:4rem;}
.tl-block-title{font-family:var(--fd);font-size:1.5rem;letter-spacing:.06em;margin-bottom:1.8rem;display:flex;align-items:center;gap:.8rem;}
.tl-block-title::before{content:'';width:10px;height:10px;border-radius:50%;background:var(--g-full);flex-shrink:0;}
.timeline{position:relative;padding-left:1.6rem;}
.timeline::before{content:'';position:absolute;left:0;top:6px;bottom:0;width:1.5px;background:linear-gradient(180deg,var(--purple),var(--blue),rgba(108,43,217,.1));}
.tl-item{position:relative;margin-bottom:2.2rem;padding-left:1.4rem;}
.tl-item::before{content:'';position:absolute;left:-1.6rem;top:5px;width:13px;height:13px;border-radius:50%;background:var(--black);border:2px solid var(--border-2);transition:border-color .3s,background .3s;}
.tl-item:hover::before{border-color:var(--gold-2);background:var(--gold-2);}
.tl-period{font-family:var(--fm);font-size:.68rem;letter-spacing:.1em;color:var(--gold-2);margin-bottom:.3rem;}
.tl-title{font-family:var(--fd);font-size:1.05rem;letter-spacing:.04em;margin-bottom:.2rem;}
.tl-org{font-family:var(--fm);font-size:.75rem;color:var(--purple-3);margin-bottom:.5rem;}
.tl-desc{font-size:.84rem;font-weight:300;color:rgba(240,238,255,.48);line-height:1.7;}
.tl-tags{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.6rem;}
.tltag{padding:.2rem .55rem;border-radius:3px;font-family:var(--fm);font-size:.62rem;background:rgba(108,43,217,.14);color:var(--purple-3);border:1px solid rgba(108,43,217,.25);}

/* SIDEBAR */
.cv-sidebar{position:sticky;top:calc(var(--nav-h) + 1.5rem);display:flex;flex-direction:column;gap:1.2rem;}
.sb-card{background:var(--black-2);border:1px solid var(--border);border-radius:10px;padding:1.4rem;position:relative;overflow:hidden;}
.sb-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--g-full);}
.sb-title{font-family:var(--fd);font-size:1rem;letter-spacing:.06em;margin-bottom:1rem;}
.lang-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:.7rem;}
.lang-name{font-size:.85rem;font-family:var(--fs);font-weight:500;}
.lang-dots{display:flex;gap:3px;}
.ldot{width:7px;height:7px;border-radius:50%;}
.lf{background:var(--gold-2);}
.le{background:rgba(255,255,255,.1);}
.award-item{display:flex;gap:.7rem;align-items:flex-start;margin-bottom:.9rem;padding-bottom:.9rem;border-bottom:1px solid var(--border);}
.award-item:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0;}
.award-icon{font-size:1.1rem;flex-shrink:0;margin-top:.1rem;}
.award-title{font-family:var(--fd);font-size:.88rem;letter-spacing:.03em;margin-bottom:.15rem;}
.award-org{font-family:var(--fm);font-size:.65rem;color:var(--muted);}
.cert-item{display:flex;align-items:center;gap:.6rem;padding:.45rem 0;border-bottom:1px solid var(--border);font-size:.82rem;}
.cert-item:last-child{border-bottom:none;}
.cert-dot{width:5px;height:5px;border-radius:50%;background:var(--purple-3);flex-shrink:0;}
/* Download CTA card */
.dl-card{background:var(--black-3);border:1px solid var(--border-2);border-radius:10px;padding:1.6rem;text-align:center;}
.dl-card-title{font-family:var(--fd);font-size:1.1rem;letter-spacing:.05em;margin-bottom:.4rem;}
.dl-card-sub{font-size:.8rem;font-weight:300;color:rgba(240,238,255,.4);margin-bottom:1.2rem;line-height:1.6;}
.dl-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.7rem 1.6rem;background:var(--g-gold);border:none;border-radius:3px;font-family:var(--fs);font-size:.8rem;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--black);cursor:none;text-decoration:none;transition:transform .2s,box-shadow .2s;width:100%;justify-content:center;}
.dl-btn:hover{transform:translateY(-2px);box-shadow:0 8px 28px rgba(212,160,23,.35);}

/* REVEAL */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s var(--ease),transform .8s var(--ease);}
.reveal.visible{opacity:1;transform:translateY(0);}
.reveal-l{opacity:0;transform:translateX(-28px);transition:opacity .8s var(--ease),transform .8s var(--ease);}
.reveal-l.visible{opacity:1;transform:translateX(0);}
.reveal-r{opacity:0;transform:translateX(28px);transition:opacity .8s var(--ease),transform .8s var(--ease);}
.reveal-r.visible{opacity:1;transform:translateX(0);}

/* FOOTER */
footer{background:var(--black-3);border-top:1px solid var(--border);padding:3.5rem 4% 2rem;position:relative;z-index:2;}
.footer-inner{max-width:1260px;margin:0 auto;}
.footer-top{display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:2.5rem;border-bottom:1px solid var(--border);gap:2rem;flex-wrap:wrap;}
.footer-logo{font-family:var(--fd);font-size:1.5rem;letter-spacing:.12em;background:var(--g-gold);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.footer-tagline{font-family:var(--fm);font-size:.7rem;letter-spacing:.08em;color:var(--muted);margin-top:.4rem;}
.footer-nav{display:flex;gap:1.5rem;flex-wrap:wrap;}
.footer-nav a{font-family:var(--fs);font-size:.75rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:rgba(240,238,255,.35);text-decoration:none;transition:color .2s;}
.footer-nav a:hover{color:var(--purple-3);}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:2rem;flex-wrap:wrap;gap:1rem;}
.footer-copy{font-family:var(--fm);font-size:.7rem;color:rgba(240,238,255,.2);}
.footer-social{display:flex;gap:.7rem;}
.footer-social a{width:34px;height:34px;border-radius:4px;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:.9rem;color:rgba(240,238,255,.4);transition:border-color .2s,color .2s,background .2s;cursor:none;}
.footer-social a:hover{border-color:var(--purple-2);color:var(--purple-3);background:rgba(108,43,217,.12);}

@media(max-width:1000px){.cv-layout{grid-template-columns:1fr;}.cv-sidebar{position:static;}}
@media(max-width:768px){.nav-links,.nav-cta{display:none;}.ham{display:flex;}.ph-inner{grid-template-columns:1fr;}.ph-download{display:none;}}