@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@300;400;500;600;700&family=DM+Serif+Display:ital@0;1&family=DM+Mono:wght@400;500&display=swap');

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

:root{
  --ink:#07070f; --ink2:#0e0e1c; --ink3:#161624; --ink4:#1e1e2e;
  --gold:#d4a843; --gold2:#c49330;
  --gold-dim:rgba(212,168,67,.09); --gold-bd:rgba(212,168,67,.28);
  --chalk:#f0ede8; --chalk2:#b8b4ae; --chalk3:#6e6a64; --chalk4:#3a3830;
  --bd:rgba(255,255,255,.07); --bd2:rgba(255,255,255,.13); --bd3:rgba(255,255,255,.2);
  --blue:#5bb8f5; --blue-dim:rgba(91,184,245,.09); --blue-bd:rgba(91,184,245,.22);
  --teal:#3ecbb0; --teal-dim:rgba(62,203,176,.08); --teal-bd:rgba(62,203,176,.2);
  --violet:#9b7bff; --violet-dim:rgba(155,123,255,.08); --violet-bd:rgba(155,123,255,.2);
  --coral:#f07b6b; --coral-dim:rgba(240,123,107,.08); --coral-bd:rgba(240,123,107,.2);
  --mint:#5de8a8; --mint-dim:rgba(93,232,168,.07); --mint-bd:rgba(93,232,168,.2);
  --rose:#f472b6; --rose-dim:rgba(244,114,182,.08); --rose-bd:rgba(244,114,182,.2);
  --f-display:'DM Serif Display',Georgia,serif;
  --f-sans:'DM Sans',system-ui,sans-serif;
  --f-mono:'DM Mono',monospace;
  --r:8px; --r-lg:14px; --r-xl:20px;
}

html{scroll-behavior:smooth}
body{
  background:var(--ink); color:var(--chalk);
  font-family:var(--f-sans); font-size:15px;
  line-height:1.7; font-weight:300; overflow-x:hidden;
}

/* grain overlay */
body::after{
  content:''; position:fixed; inset:0; z-index:999;
  pointer-events:none; opacity:.028;
  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='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size:180px;
}

/* ── CURSOR ── */
.cursor-dot{
  width:6px; height:6px; background:var(--gold); border-radius:50%;
  position:fixed; pointer-events:none; z-index:9999;
  transform:translate(-50%,-50%);
}
.cursor-ring{
  width:32px; height:32px; border:1.5px solid rgba(212,168,67,.45);
  border-radius:50%; position:fixed; pointer-events:none; z-index:9998;
  transform:translate(-50%,-50%); transition:width .18s,height .18s,border-color .18s;
}
.cursor-ring.hover{width:48px; height:48px; border-color:var(--gold);}

/* ── NAV ── */
#navbar{
  position:fixed; top:0; left:0; right:0; z-index:400;
  display:flex; align-items:center; justify-content:space-between;
  padding:.9rem 3rem;
  background:rgba(7,7,15,.85); backdrop-filter:blur(20px) saturate(140%);
  border-bottom:1px solid var(--bd); transition:background .3s,border-color .3s;
}
#navbar.scrolled{background:rgba(7,7,15,.96); border-color:var(--bd2);}
.nav-logo{
  font-family:var(--f-display); font-size:16px; font-weight:400;
  font-style:italic; color:var(--chalk); text-decoration:none; letter-spacing:.01em;
}
.nav-logo span{color:var(--gold); font-style:italic;}
.nav-links{display:flex; gap:2rem; list-style:none;}
.nav-links a{
  font-family:var(--f-mono); font-size:11px; font-weight:500;
  letter-spacing:.1em; text-transform:uppercase; color:var(--chalk3);
  text-decoration:none; position:relative; padding-bottom:2px; transition:color .2s;
}
.nav-links a::after{
  content:''; position:absolute; bottom:0; left:0;
  width:0; height:1px; background:var(--gold); transition:width .25s;
}
.nav-links a:hover{color:var(--chalk);}
.nav-links a:hover::after{width:100%;}
.nav-cta{
  font-family:var(--f-mono); font-size:11px; font-weight:500;
  letter-spacing:.1em; text-transform:uppercase; color:var(--ink);
  background:var(--gold); padding:8px 20px; border-radius:var(--r);
  text-decoration:none; transition:background .2s,transform .2s,box-shadow .2s;
  box-shadow:0 0 18px rgba(212,168,67,.2);
}
.nav-cta:hover{background:#e6bb55; transform:translateY(-1px); box-shadow:0 4px 26px rgba(212,168,67,.38);}

/* ── HERO ── */
.hero{
  position:relative; z-index:1;
  min-height:100vh; display:flex; flex-direction:column;
  justify-content:center; align-items:center;
  padding:8rem 3rem 5rem; overflow:hidden;
  text-align:center;
}

.hero-grid-bg{
  position:absolute; inset:0; z-index:0;
  background-image:
    linear-gradient(rgba(212,168,67,.022) 1px,transparent 1px),
    linear-gradient(90deg,rgba(212,168,67,.022) 1px,transparent 1px);
  background-size:64px 64px;
  mask-image:radial-gradient(ellipse 70% 60% at 72% 40%,black 10%,transparent 70%);
}
.hero-glow{
  position:absolute; top:5%; right:-5%; width:560px; height:560px;
  background:radial-gradient(circle,rgba(212,168,67,.07) 0%,transparent 62%);
  pointer-events:none; animation:orb 12s ease-in-out infinite;
}
.hero-glow2{
  position:absolute; bottom:0; left:8%; width:420px; height:320px;
  background:radial-gradient(circle,rgba(91,184,245,.05) 0%,transparent 62%);
  pointer-events:none; animation:orb 15s ease-in-out infinite reverse;
}
@keyframes orb{0%,100%{transform:translate(0,0)} 50%{transform:translate(18px,-22px)}}

.hero-content{position:relative; z-index:1; max-width:860px; width:100%; display:flex; flex-direction:column; align-items:center;}

/* monogram */
.hero-monogram{
  width:88px; height:88px; margin-bottom:2rem; border-radius:50%;
  border:1px solid var(--gold-bd); background:var(--gold-dim);
  display:flex; align-items:center; justify-content:center;
  transition:transform .3s,box-shadow .3s; cursor:default;
}
.hero-monogram:hover{transform:scale(1.06); box-shadow:0 0 30px rgba(212,168,67,.2);}
.monogram-svg{width:60px; height:60px;}

.hero-kicker{display:flex; align-items:center; justify-content:center; gap:12px; margin-bottom:1.8rem;}
.kicker-line{width:36px; height:1px; background:var(--gold);}
.kicker-dot{
  width:6px; height:6px; border-radius:50%; background:var(--teal);
  animation:avail 2.2s ease-in-out infinite;
}
@keyframes avail{0%,100%{box-shadow:0 0 0 0 rgba(62,203,176,.6)} 50%{box-shadow:0 0 0 8px rgba(62,203,176,0)}}
.kicker-text{
  font-family:var(--f-mono); font-size:11.5px; font-weight:500;
  letter-spacing:.12em; text-transform:uppercase; color:var(--teal);
}

/* CONSISTENT headings — DM Serif Display, normal weight, no mixing */
.hero-name{
  font-family:var(--f-display); font-size:clamp(52px,7vw,90px);
  font-weight:400; font-style:normal;
  line-height:1.0; letter-spacing:-.01em;
  color:var(--chalk); margin-bottom:.5rem;
}
.hero-name .gold{color:var(--gold);}

.hero-tagline{text-align:center; 
  font-family:var(--f-mono); font-size:clamp(11px,1.4vw,13.5px);
  font-weight:400; letter-spacing:.18em; text-transform:uppercase;
  color:var(--chalk3); margin-bottom:1.8rem;
}
.hero-tagline .sep{color:var(--chalk4); margin:0 8px;}

.hero-desc{
  font-size:16px; color:var(--chalk2); max-width:500px;
  line-height:1.85; margin-bottom:2.6rem; font-weight:300;
}
.hero-desc strong{color:var(--chalk); font-weight:500;}

.hero-btns{display:flex; gap:10px; flex-wrap:wrap; margin-bottom:3.8rem; justify-content:center;}
.btn-gold{
  font-family:var(--f-mono); font-size:11.5px; font-weight:500;
  letter-spacing:.1em; text-transform:uppercase; color:var(--ink);
  background:var(--gold); padding:12px 24px; border-radius:var(--r);
  text-decoration:none; display:inline-flex; align-items:center; gap:8px;
  transition:transform .2s,box-shadow .2s,background .2s;
  box-shadow:0 0 20px rgba(212,168,67,.2);
}
.btn-gold:hover{background:#e6bb55; transform:translateY(-2px); box-shadow:0 6px 32px rgba(212,168,67,.4);}
.btn-outline{
  font-family:var(--f-mono); font-size:11.5px; font-weight:500;
  letter-spacing:.1em; text-transform:uppercase; color:var(--chalk);
  padding:11px 24px; border-radius:var(--r); border:1px solid var(--bd2);
  text-decoration:none; display:inline-flex; align-items:center; gap:8px;
  transition:all .2s; background:rgba(255,255,255,.03);
}
.btn-outline:hover{border-color:var(--gold-bd); background:var(--gold-dim); transform:translateY(-2px);}

.hero-stats{
  display:grid; grid-template-columns:repeat(5,1fr);
  gap:1px; border:1px solid var(--bd); border-radius:var(--r-lg);
  overflow:hidden; max-width:700px;
}
.hstat{
  background:rgba(255,255,255,.03); padding:1.1rem .9rem; text-align:center;
  transition:background .22s; border-right:1px solid var(--bd); cursor:default;
}
.hstat:last-child{border-right:none;}
.hstat:hover{background:var(--gold-dim);}
.hstat-n{
  font-family:var(--f-display); font-size:24px; font-weight:400;
  color:var(--gold); line-height:1; margin-bottom:5px;
}
.hstat-l{
  font-family:var(--f-mono); font-size:9.5px; font-weight:500;
  letter-spacing:.08em; text-transform:uppercase; color:var(--chalk3);
}

/* ── TICKER ── */
.role-ticker{
  background:var(--ink2); border-top:1px solid var(--bd);
  border-bottom:1px solid var(--bd); padding:.85rem 0;
  overflow:hidden; position:relative; z-index:1;
}
.ticker-track{display:flex; animation:tick 32s linear infinite; width:max-content;}
@keyframes tick{from{transform:translateX(0)} to{transform:translateX(-50%)}}
.ticker-item{
  display:inline-flex; align-items:center; gap:14px; padding:0 24px;
  font-family:var(--f-mono); font-size:11px; font-weight:500;
  letter-spacing:.1em; text-transform:uppercase; color:var(--chalk3);
  white-space:nowrap;
}
.ticker-item .sep{width:4px; height:4px; border-radius:50%; background:var(--gold); opacity:.4;}
.ticker-item.hi{color:var(--gold);}
.ticker-item.hi .sep{opacity:1;}

/* ── SECTIONS ── */
section{position:relative; z-index:1; padding:6rem 3rem;}
section:nth-child(even){background:var(--ink2);}

.sec-label{display:flex; align-items:center; gap:12px; margin-bottom:.75rem;}
.sec-label-line{width:28px; height:1px; background:var(--gold);}
.sec-label-text{
  font-family:var(--f-mono); font-size:10.5px; font-weight:500;
  letter-spacing:.15em; text-transform:uppercase; color:var(--gold);
}

/* CONSISTENT section headings — DM Serif Display, same weight, gold accent only via color */
.sec-h{
  font-family:var(--f-display); font-size:clamp(30px,4vw,48px);
  font-weight:400; font-style:normal;
  line-height:1.05; letter-spacing:-.005em;
  color:var(--chalk); margin-bottom:3rem;
}
.sec-h .gold{color:var(--gold);}

/* ── EXPERIENCE ── */
.exp-list{display:flex; flex-direction:column;}
.exp-item{
  display:grid; grid-template-columns:220px 1fr; gap:2.5rem;
  padding:2.5rem 0; border-bottom:1px solid var(--bd);
  position:relative; transition:background .2s;
}
.exp-item:first-child{border-top:1px solid var(--bd);}
.exp-item::before{
  content:''; position:absolute; left:-3rem; top:0; bottom:0;
  width:2px; background:transparent; transition:background .3s;
}
.exp-item:hover{background:rgba(212,168,67,.02);}
.exp-item:hover::before{background:var(--gold);}
.exp-logo{display:flex; align-items:center; gap:10px; margin-bottom:.65rem;}
.exp-logo-mark{
  width:36px; height:36px; border-radius:8px; display:flex;
  align-items:center; justify-content:center;
  font-family:var(--f-mono); font-size:11px; font-weight:500;
  border:1px solid var(--bd2); flex-shrink:0; color:var(--chalk2);
}
.exp-logo-name{font-family:var(--f-mono); font-size:11px; font-weight:500; letter-spacing:.06em; text-transform:uppercase;}
.exp-period{font-family:var(--f-mono); font-size:11px; color:var(--chalk3); letter-spacing:.04em; margin-bottom:2px;}
.exp-loc{font-family:var(--f-mono); font-size:10.5px; color:var(--chalk4);}
.exp-title{
  font-family:var(--f-sans); font-size:17px; font-weight:600;
  color:var(--chalk); line-height:1.25; margin-bottom:.75rem;
}
.exp-body{font-size:13.5px; color:var(--chalk2); line-height:1.8; margin-bottom:1rem; font-weight:300;}
.exp-tags{display:flex; flex-wrap:wrap; gap:6px;}
.exp-tag{
  font-family:var(--f-mono); font-size:10px; font-weight:500;
  letter-spacing:.05em; padding:3px 10px; border-radius:var(--r);
  transition:transform .15s; cursor:default;
}
.exp-tag:hover{transform:scale(1.04);}
.et-g{background:var(--gold-dim); border:1px solid var(--gold-bd); color:var(--gold);}
.et-b{background:var(--blue-dim); border:1px solid var(--blue-bd); color:var(--blue);}
.et-t{background:var(--teal-dim); border:1px solid var(--teal-bd); color:var(--teal);}

/* ── PROJECTS ── */
.proj-controls{display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:1rem; margin-bottom:2rem;}
.filter-row{display:flex; gap:5px; flex-wrap:wrap;}
.fp{
  font-family:var(--f-mono); font-size:10.5px; font-weight:500;
  letter-spacing:.07em; text-transform:uppercase; color:var(--chalk3);
  background:transparent; border:1px solid var(--bd); border-radius:var(--r);
  padding:6px 13px; cursor:pointer; transition:all .18s;
}
.fp:hover{border-color:var(--bd2); color:var(--chalk2);}
.fp.on{background:var(--gold); color:var(--ink); border-color:var(--gold); font-weight:600;}
.proj-count{font-family:var(--f-mono); font-size:10.5px; letter-spacing:.06em; color:var(--chalk3); text-transform:uppercase;}

.proj-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(290px,1fr)); gap:13px;}
.pc{
  background:var(--ink3); border:1px solid var(--bd); border-radius:var(--r-lg);
  padding:1.4rem; display:flex; flex-direction:column; gap:8px;
  text-decoration:none; color:inherit; position:relative; overflow:hidden;
  transition:transform .28s cubic-bezier(.22,.68,0,1.2),border-color .25s,box-shadow .28s;
}
.pc::before{content:''; position:absolute; inset:0; opacity:0; transition:opacity .3s; border-radius:var(--r-lg); z-index:0;}
.pc:hover{transform:translateY(-6px) scale(1.01);}
.pc:hover::before{opacity:1;}
.pc[data-c=de]:hover{border-color:var(--blue-bd);   box-shadow:0 14px 44px rgba(91,184,245,.11);}
.pc[data-c=de]::before{background:radial-gradient(ellipse 80% 50% at 50% 0%,rgba(91,184,245,.07),transparent);}
.pc[data-c=ai]:hover{border-color:var(--gold-bd);   box-shadow:0 14px 44px rgba(212,168,67,.11);}
.pc[data-c=ai]::before{background:radial-gradient(ellipse 80% 50% at 50% 0%,rgba(212,168,67,.07),transparent);}
.pc[data-c=ds]:hover{border-color:var(--violet-bd); box-shadow:0 14px 44px rgba(155,123,255,.11);}
.pc[data-c=ds]::before{background:radial-gradient(ellipse 80% 50% at 50% 0%,rgba(155,123,255,.07),transparent);}
.pc[data-c=bi]:hover{border-color:var(--teal-bd);   box-shadow:0 14px 44px rgba(62,203,176,.09);}
.pc[data-c=bi]::before{background:radial-gradient(ellipse 80% 50% at 50% 0%,rgba(62,203,176,.06),transparent);}
.pc[data-c=db]:hover{border-color:var(--coral-bd);  box-shadow:0 14px 44px rgba(240,123,107,.09);}
.pc[data-c=db]::before{background:radial-gradient(ellipse 80% 50% at 50% 0%,rgba(240,123,107,.06),transparent);}
.pc[data-c=nlp]:hover{border-color:var(--rose-bd);  box-shadow:0 14px 44px rgba(244,114,182,.09);}
.pc[data-c=nlp]::before{background:radial-gradient(ellipse 80% 50% at 50% 0%,rgba(244,114,182,.06),transparent);}
.pc-inner{position:relative; z-index:1; display:flex; flex-direction:column; gap:8px; height:100%;}
.pc-top{display:flex; align-items:flex-start; justify-content:space-between; gap:8px;}
.pc-badge{font-family:var(--f-mono); font-size:9.5px; font-weight:500; letter-spacing:.08em; text-transform:uppercase; padding:4px 9px; border-radius:4px;}
.b-de{background:var(--blue-dim);   color:var(--blue);   border:1px solid var(--blue-bd);}
.b-ai{background:var(--gold-dim);   color:var(--gold);   border:1px solid var(--gold-bd);}
.b-ds{background:var(--violet-dim); color:var(--violet); border:1px solid var(--violet-bd);}
.b-bi{background:var(--teal-dim);   color:var(--teal);   border:1px solid var(--teal-bd);}
.b-db{background:var(--coral-dim);  color:var(--coral);  border:1px solid var(--coral-bd);}
.b-nlp{background:var(--rose-dim);  color:var(--rose);   border:1px solid var(--rose-bd);}
.pc-ext{color:var(--chalk3); flex-shrink:0; transition:color .2s,transform .2s;}
.pc:hover .pc-ext{color:var(--chalk2); transform:translate(2px,-2px);}
.pc-icon{width:42px; height:42px; border-radius:10px; display:flex; align-items:center; justify-content:center; font-size:19px; transition:transform .3s cubic-bezier(.22,.68,0,1.4);}
.pc:hover .pc-icon{transform:scale(1.12) rotate(-4deg);}
.pc-title{font-family:var(--f-sans); font-size:14px; font-weight:600; color:var(--chalk); line-height:1.3;}
.pc-metric{font-family:var(--f-mono); font-size:9.5px; font-weight:500; letter-spacing:.05em; color:var(--gold); background:var(--gold-dim); border:1px solid var(--gold-bd); border-radius:var(--r); padding:3px 9px; display:inline-block; width:fit-content;}
.pc-desc{font-size:12.5px; color:var(--chalk2); line-height:1.65; flex:1;}
.pc-stack{display:flex; flex-wrap:wrap; gap:4px; margin-top:auto; padding-top:4px;}
.pc-tag{font-family:var(--f-mono); font-size:9.5px; color:var(--chalk3); background:rgba(255,255,255,.04); border:1px solid var(--bd); border-radius:var(--r); padding:2px 7px; transition:color .2s,border-color .2s;}
.pc:hover .pc-tag{color:var(--chalk2); border-color:var(--bd2);}

/* ── SKILLS ── */
.skills-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(235px,1fr)); gap:11px;}
.sg{border:1px solid var(--bd); border-radius:var(--r-lg); padding:1.2rem; position:relative; overflow:hidden; transition:border-color .25s,transform .25s; cursor:default;}
.sg::before{content:''; position:absolute; inset:0; opacity:0; transition:opacity .3s;}
.sg:hover{transform:translateY(-3px);}
.sg:hover::before{opacity:1;}
.sg-g{background:rgba(212,168,67,.03);}  .sg-g::before{background:radial-gradient(ellipse at 50% 0%,rgba(212,168,67,.07),transparent);}  .sg-g:hover{border-color:var(--gold-bd);}
.sg-b{background:rgba(91,184,245,.02);}  .sg-b::before{background:radial-gradient(ellipse at 50% 0%,rgba(91,184,245,.07),transparent);}  .sg-b:hover{border-color:var(--blue-bd);}
.sg-t{background:rgba(62,203,176,.02);}  .sg-t::before{background:radial-gradient(ellipse at 50% 0%,rgba(62,203,176,.06),transparent);}  .sg-t:hover{border-color:var(--teal-bd);}
.sg-v{background:rgba(155,123,255,.02);} .sg-v::before{background:radial-gradient(ellipse at 50% 0%,rgba(155,123,255,.06),transparent);} .sg-v:hover{border-color:var(--violet-bd);}
.sg-head{position:relative; z-index:1; display:flex; align-items:center; gap:8px; margin-bottom:10px;}
.sg-icon{font-size:15px;}
.sg-label{font-family:var(--f-mono); font-size:10px; font-weight:500; letter-spacing:.12em; text-transform:uppercase; color:var(--chalk2);}
.sg-tags{position:relative; z-index:1; display:flex; flex-wrap:wrap; gap:5px;}
.sg-tag{font-size:12px; color:var(--chalk2); background:rgba(255,255,255,.05); border:1px solid var(--bd); border-radius:var(--r); padding:3px 10px; transition:all .18s;}
.sg-tag:hover{transform:scale(1.05); border-color:var(--bd2); color:var(--chalk);}

/* ── ROLE FIT ── */
.rfit-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(265px,1fr)); gap:11px;}
.rfit{border:1px solid var(--bd); border-radius:var(--r-lg); padding:1.3rem; position:relative; overflow:hidden; transition:border-color .25s,transform .25s; cursor:default;}
.rfit::before{content:''; position:absolute; inset:0; opacity:0; transition:opacity .3s;}
.rfit:hover{transform:translateY(-4px);}
.rfit:hover::before{opacity:1;}
.rfit.r1{background:rgba(91,184,245,.03);}  .rfit.r1::before{background:radial-gradient(ellipse at 0 100%,rgba(91,184,245,.09),transparent);}  .rfit.r1:hover{border-color:var(--blue-bd);}
.rfit.r2{background:rgba(212,168,67,.03);}  .rfit.r2::before{background:radial-gradient(ellipse at 0 100%,rgba(212,168,67,.09),transparent);}  .rfit.r2:hover{border-color:var(--gold-bd);}
.rfit.r3{background:rgba(155,123,255,.02);} .rfit.r3::before{background:radial-gradient(ellipse at 0 100%,rgba(155,123,255,.08),transparent);} .rfit.r3:hover{border-color:var(--violet-bd);}
.rfit.r4{background:rgba(62,203,176,.02);}  .rfit.r4::before{background:radial-gradient(ellipse at 0 100%,rgba(62,203,176,.07),transparent);}  .rfit.r4:hover{border-color:var(--teal-bd);}
.rfit.r5{background:rgba(91,184,245,.02);}  .rfit.r5::before{background:radial-gradient(ellipse at 0 100%,rgba(91,184,245,.07),transparent);}  .rfit.r5:hover{border-color:var(--blue-bd);}
.rfit.r6{background:rgba(240,123,107,.02);} .rfit.r6::before{background:radial-gradient(ellipse at 0 100%,rgba(240,123,107,.06),transparent);} .rfit.r6:hover{border-color:var(--coral-bd);}
.rfit-head{position:relative; z-index:1; display:flex; align-items:center; gap:9px; margin-bottom:.85rem;}
.rfit-icon{font-size:17px;}
.rfit-name{font-family:var(--f-sans); font-size:13.5px; font-weight:600; color:var(--chalk);}
.rfit-chips{position:relative; z-index:1; display:flex; flex-wrap:wrap; gap:5px;}
.rc{font-family:var(--f-mono); font-size:10.5px; color:var(--chalk2); background:rgba(255,255,255,.05); border:1px solid var(--bd); border-radius:var(--r); padding:3px 9px; transition:all .18s;}
.rc:hover{border-color:var(--bd2); color:var(--chalk);}
.rc.star{font-weight:500;}
.rfit.r1 .rc.star{color:var(--blue);   background:var(--blue-dim);   border-color:var(--blue-bd);}
.rfit.r2 .rc.star{color:var(--gold);   background:var(--gold-dim);   border-color:var(--gold-bd);}
.rfit.r3 .rc.star{color:var(--violet); background:var(--violet-dim); border-color:var(--violet-bd);}
.rfit.r4 .rc.star{color:var(--teal);   background:var(--teal-dim);   border-color:var(--teal-bd);}
.rfit.r5 .rc.star{color:var(--blue);   background:var(--blue-dim);   border-color:var(--blue-bd);}
.rfit.r6 .rc.star{color:var(--coral);  background:var(--coral-dim);  border-color:var(--coral-bd);}

/* ── EDUCATION ── */
.edu-grid{display:grid; grid-template-columns:1.1fr .9fr; gap:13px;}
.edu-main{
  border:1px solid var(--gold-bd); border-radius:var(--r-xl); padding:2rem;
  background:rgba(212,168,67,.04); position:relative; overflow:hidden;
  transition:transform .28s,box-shadow .28s;
}
.edu-main::before{content:''; position:absolute; top:-30%; right:-15%; width:280px; height:280px; background:radial-gradient(circle,rgba(212,168,67,.09),transparent 60%); pointer-events:none;}
.edu-main:hover{transform:translateY(-4px); box-shadow:0 14px 50px rgba(212,168,67,.1);}
.edu-badge{font-family:var(--f-mono); font-size:10px; font-weight:500; letter-spacing:.1em; text-transform:uppercase; color:var(--ink); background:var(--gold); display:inline-block; padding:4px 12px; border-radius:4px; margin-bottom:1rem;}
.edu-deg{font-family:var(--f-sans); font-size:18px; font-weight:600; color:var(--chalk); line-height:1.25; margin-bottom:4px; position:relative; z-index:1;}
.edu-school{font-family:var(--f-mono); font-size:12px; font-weight:500; color:var(--blue); margin-bottom:2px;}
.edu-period{font-family:var(--f-mono); font-size:11px; color:var(--chalk3); margin-bottom:1.4rem;}
.edu-gpa-row{display:flex; align-items:baseline; gap:6px; margin-bottom:3px;}
.edu-gpa{font-family:var(--f-display); font-size:50px; font-weight:400; color:var(--gold); line-height:1; position:relative; z-index:1;}
.edu-gpa-of{font-size:15px; color:var(--chalk3);}
.edu-gpa-note{font-family:var(--f-mono); font-size:10px; color:var(--chalk3); letter-spacing:.1em; text-transform:uppercase; margin-bottom:1.2rem;}
.edu-course-lbl{font-family:var(--f-mono); font-size:10px; color:var(--chalk3); letter-spacing:.1em; text-transform:uppercase; display:block; margin-bottom:8px;}
.edu-courses{display:flex; flex-wrap:wrap; gap:5px;}
.edu-course{font-size:11.5px; color:var(--chalk2); background:rgba(255,255,255,.05); border:1px solid var(--bd); border-radius:var(--r); padding:3px 10px;}
.certs-card{border:1px solid var(--bd); border-radius:var(--r-xl); padding:1.8rem; background:rgba(255,255,255,.02); transition:transform .25s,border-color .25s;}
.certs-card:hover{transform:translateY(-4px); border-color:var(--bd2);}
.certs-lbl{font-family:var(--f-mono); font-size:10px; font-weight:500; letter-spacing:.14em; text-transform:uppercase; color:var(--chalk3); margin-bottom:1rem;}
.cert-row{display:flex; align-items:center; gap:11px; padding:10px 13px; border:1px solid var(--bd); border-radius:var(--r); margin-bottom:7px; background:rgba(255,255,255,.03); transition:all .2s; cursor:default;}
.cert-row:last-child{margin-bottom:0;}
.cert-row:hover{border-color:var(--bd2); background:rgba(255,255,255,.06); transform:translateX(4px);}
.cert-ico{width:28px; height:28px; border-radius:7px; display:flex; align-items:center; justify-content:center; font-size:13px; flex-shrink:0;}
.cert-name{font-size:13px; font-weight:500; color:var(--chalk);}
.cert-by{font-family:var(--f-mono); font-size:10px; color:var(--chalk3); margin-top:1px;}

/* ── CONTACT ── */
.contact-grid{display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:start;}
.contact-left p{font-size:15px; color:var(--chalk2); line-height:1.85; margin-bottom:1.5rem;}
.avail-tag{display:inline-flex; align-items:center; gap:8px; background:rgba(62,203,176,.08); border:1px solid rgba(62,203,176,.22); border-radius:var(--r); padding:8px 16px;}
.avail-dot{width:6px; height:6px; border-radius:50%; background:var(--teal); animation:avail 2.2s ease-in-out infinite;}
.avail-text{font-family:var(--f-mono); font-size:11px; font-weight:500; color:var(--teal); letter-spacing:.06em; text-transform:uppercase;}
.clinks{display:flex; flex-direction:column; gap:9px;}
.clink{display:flex; align-items:center; gap:13px; border:1px solid var(--bd2); border-radius:var(--r-lg); padding:.95rem 1.2rem; text-decoration:none; color:var(--chalk); background:rgba(255,255,255,.03); transition:all .22s; position:relative; overflow:hidden;}
.clink::before{content:''; position:absolute; inset:0; opacity:0; transition:opacity .25s; background:linear-gradient(90deg,var(--gold-dim),transparent);}
.clink:hover{transform:translateX(6px); border-color:var(--gold-bd);}
.clink:hover::before{opacity:1;}
.clink-ico{width:36px; height:36px; border-radius:9px; display:flex; align-items:center; justify-content:center; flex-shrink:0; position:relative; z-index:1;}
.clink-ico svg{width:17px; height:17px;}
.clink-body{flex:1; position:relative; z-index:1;}
.clink-label{font-size:13px; font-weight:500; color:var(--chalk);}
.clink-sub{font-family:var(--f-mono); font-size:10px; color:var(--chalk3); margin-top:1px; letter-spacing:.04em;}
.clink-arrow{color:var(--chalk3); transition:transform .2s,color .2s; position:relative; z-index:1;}
.clink:hover .clink-arrow{transform:translateX(4px); color:var(--gold);}

/* ── FOOTER ── */
footer{position:relative; z-index:1; border-top:1px solid var(--bd); padding:1.75rem 3rem; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:10px; background:var(--ink);}
.footer-brand{font-family:var(--f-display); font-size:15px; color:var(--chalk2);}
.footer-note{font-family:var(--f-mono); font-size:11px; color:var(--chalk3); letter-spacing:.05em;}

/* ── SCROLL REVEAL ── */
.sr{opacity:0; transform:translateY(18px); transition:opacity .58s ease,transform .58s ease;}
.sr.in{opacity:1; transform:none;}
.sr.d1{transition-delay:.08s} .sr.d2{transition-delay:.16s} .sr.d3{transition-delay:.24s}

/* ── RESPONSIVE ── */
@media(max-width:900px){
  nav{padding:.85rem 1.5rem} .nav-links{display:none}
  .hero{padding:6rem 1.5rem 4rem}
  section{padding:4.5rem 1.5rem}
  .exp-item{grid-template-columns:1fr; gap:.6rem}
  .edu-grid{grid-template-columns:1fr}
  .contact-grid{grid-template-columns:1fr; gap:2.5rem}
  .hero-stats{grid-template-columns:repeat(3,1fr)}
  footer{padding:1.5rem}
}
