:root{--bg:#f7f8fb;--card:#ffffffcc;--text:#0b1020;--muted:#5b647a;--line:#e7eaf2;--pri:#4f46e5;--pri2:#06b6d4;--shadow:0 20px 60px rgba(12,18,36,.12);--shadow2:0 14px 34px rgba(12,18,36,.14);--r:18px;--w:1120px}html[data-theme=dark]{--bg:#070a12;--card:#0c1120cc;--text:#eaf0ff;--muted:#a6b1cc;--line:#1b2440;--pri:#7c3aed;--pri2:#22d3ee;--shadow:0 20px 60px rgba(0,0,0,.35);--shadow2:0 14px 34px rgba(0,0,0,.42)}*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial;line-height:1.45;background:radial-gradient(1200px 800px at 15% 10%,rgba(79,70,229,.16),transparent 55%),radial-gradient(900px 700px at 85% 0%,rgba(6,182,212,.14),transparent 55%),var(--bg);color:var(--text);overflow-x:hidden}a{color:inherit;text-decoration:none}p{color:var(--muted)}textarea{resize:vertical}.container{width:min(var(--w),calc(100% - 40px));margin:0 auto}.row{display:flex;align-items:center}.topbar{position:fixed;inset:16px 0 auto 0;z-index:50;pointer-events:none}.topbar .container{pointer-events:auto;justify-content:space-between;gap:14px;padding:10px 12px;border:1px solid var(--line);border-radius:999px;background:var(--card);backdrop-filter:blur(12px);box-shadow:0 8px 22px rgba(0,0,0,.08)}.brand{display:flex;align-items:center;gap:10px;font-weight:800;letter-spacing:.2px}.brand .dot{width:10px;height:10px;border-radius:50%;background:linear-gradient(135deg,var(--pri),var(--pri2))}.brandLogo{width:26px;height:26px;object-fit:contain;border-radius:8px;display:block}.nav{gap:14px;font-weight:600;color:var(--muted)}.nav a{padding:8px 10px;border-radius:999px;transition:.2s}.nav a:hover{background:rgba(79,70,229,.08);color:var(--text)}.toggle{border:1px solid var(--line);background:transparent;color:var(--text);width:42px;height:42px;border-radius:999px;display:grid;place-items:center;font-weight:800;cursor:pointer;box-shadow:0 10px 26px rgba(0,0,0,.08);transition:.2s}.toggle:hover{transform:translateY(-1px)}.hero{position:relative;min-height:100vh;display:flex;align-items:center;padding:110px 0 60px}.vanta{position:absolute;inset:0;z-index:0}.heroOverlay{position:absolute;inset:0;z-index:1;background:radial-gradient(900px 600px at 15% 20%,rgba(255,255,255,.55),transparent 55%),linear-gradient(180deg,rgba(247,248,251,.62),rgba(247,248,251,.92))}html[data-theme=dark] .heroOverlay{background:radial-gradient(900px 600px at 15% 20%,rgba(255,255,255,.08),transparent 55%),linear-gradient(180deg,rgba(7,10,18,.35),rgba(7,10,18,.90))}.parallax{position:absolute;inset:0;z-index:2;pointer-events:none;overflow:hidden}.layer{position:absolute;inset:-10% -10%;border-radius:999px;filter:blur(18px);opacity:.62;transform:translate3d(0,0,0)}.l1{background:radial-gradient(circle at 30% 30%,rgba(79,70,229,.18),transparent 60%)}.l2{background:radial-gradient(circle at 70% 25%,rgba(6,182,212,.16),transparent 60%)}.l3{background:radial-gradient(circle at 20% 75%,rgba(79,70,229,.12),transparent 60%)}.l4{background:radial-gradient(circle at 80% 70%,rgba(6,182,212,.12),transparent 60%)}.l5{background:radial-gradient(circle at 45% 55%,rgba(14,165,233,.10),transparent 60%)}.l6{background:radial-gradient(circle at 55% 45%,rgba(167,139,250,.10),transparent 60%)}.heroGrid{position:relative;z-index:3;display:grid;grid-template-columns:1.15fr .85fr;gap:26px;align-items:center}.badge{display:inline-flex;align-items:center;gap:10px;padding:8px 12px;border:1px solid var(--line);border-radius:999px;background:var(--card);backdrop-filter:blur(10px);font-weight:800;color:var(--muted)}h1{font-size:clamp(34px,4.2vw,54px);line-height:1.03;margin:14px 0 12px;letter-spacing:-.6px}h2{font-size:clamp(26px,3vw,34px);margin:0 0 6px;letter-spacing:-.4px}.cta{gap:12px;margin-top:18px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;gap:10px;padding:12px 16px;border-radius:14px;border:1px solid var(--line);background:var(--card);backdrop-filter:blur(10px);font-weight:800;box-shadow:0 10px 26px rgba(0,0,0,.08);transition:.2s;cursor:pointer}.btn:hover{transform:translateY(-1px)}.btn.primary{border-color:transparent;background:linear-gradient(135deg,var(--pri),var(--pri2));color:white;box-shadow:0 16px 40px rgba(79,70,229,.22)}.btn.ghost{background:transparent;box-shadow:none}.btn.small{padding:10px 12px;border-radius:12px}.btn.fab{width:44px;height:44px;padding:0;display:grid;place-items:center;border-radius:14px;box-shadow:var(--shadow2);background:linear-gradient(135deg,rgba(79,70,229,.14),rgba(6,182,212,.10))}.btn.fab:hover{transform:translateY(-2px)}.meta{margin-top:16px;gap:10px;flex-wrap:wrap}.chip{display:inline-flex;align-items:center;gap:10px;padding:9px 12px;border-radius:999px;border:1px solid var(--line);background:rgba(255,255,255,.45)}html[data-theme=dark] .chip{background:rgba(12,17,32,.55)}.heroCard{display:flex;flex-direction:column;gap:12px;align-items:stretch}.glass{border:1px solid var(--line);border-radius:var(--r);background:linear-gradient(180deg,rgba(255,255,255,.70),rgba(255,255,255,.45));backdrop-filter:blur(14px);box-shadow:var(--shadow);padding:18px;transform-style:preserve-3d}html[data-theme=dark] .glass{background:linear-gradient(180deg,rgba(12,17,32,.70),rgba(12,17,32,.45))}.cardTop{gap:12px;justify-content:space-between}.avatar{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,var(--pri),var(--pri2));color:white}.title{flex:1}.name{font-weight:900}.role{color:var(--muted);font-weight:700;font-size:13px}.pill{display:inline-block;padding:6px 10px;border-radius:999px;border:1px solid var(--line);background:rgba(34,197,94,.10);color:#16a34a;font-weight:900;font-size:12px}html[data-theme=dark] .pill{color:#4ade80}.stats{margin-top:14px;display:grid;gap:10px}.stat{display:flex;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.45)}html[data-theme=dark] .stat{background:rgba(12,17,32,.45)}.stat .k{color:var(--muted);font-weight:900}.stat .v{font-weight:900}.cardBtns{margin-top:14px;gap:10px;flex-wrap:wrap}.hint{display:flex;gap:10px;align-items:center;color:var(--muted);font-weight:800;font-size:13px;padding:0 6px}.scrollHint{position:absolute;left:50%;bottom:22px;transform:translateX(-50%);z-index:4;display:flex;gap:10px;align-items:center;color:var(--muted);font-weight:900;background:var(--card);backdrop-filter:blur(10px);padding:8px 12px;border-radius:999px;border:1px solid var(--line);box-shadow:0 10px 26px rgba(0,0,0,.10);animation:bob 1.8s ease-in-out infinite;transition:.2s}.scrollHint:hover{transform:translateX(-50%) translateY(-2px) scale(1.02)}.scrollHint:hover span{letter-spacing:.25px}@keyframes bob{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(6px)}}.section{padding:86px 0}.secHead{max-width:760px;margin-bottom:22px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.card{border:1px solid var(--line);border-radius:var(--r);background:var(--card);backdrop-filter:blur(10px);padding:18px;box-shadow:0 10px 26px rgba(0,0,0,.06)}.card i{font-size:18px;color:var(--pri2)}.card h3{margin:10px 0 6px}.skillsWrap{display:grid;grid-template-columns:1fr 1fr;gap:14px}.skillsCol{border:1px solid var(--line);border-radius:calc(var(--r) + 6px);background:var(--card);backdrop-filter:blur(10px);padding:18px;box-shadow:0 10px 26px rgba(0,0,0,.06)}.skill{padding:12px 0;border-bottom:1px dashed rgba(0,0,0,.08)}html[data-theme=dark] .skill{border-bottom-color:rgba(255,255,255,.09)}.skill:last-child{border-bottom:0}.sHead{display:flex;justify-content:space-between;gap:12px;font-weight:900;color:var(--text)}.sHead span{display:flex;gap:10px;align-items:center}.pct{color:var(--muted)}.bar{position:relative;margin-top:10px;height:12px;border-radius:999px;border:1px solid var(--line);background:rgba(255,255,255,.50);overflow:hidden}html[data-theme=dark] .bar{background:rgba(12,17,32,.55)}.fill{height:100%;width:0%;border-radius:999px;background:linear-gradient(90deg,var(--pri),var(--pri2),#a78bfa,var(--pri2),var(--pri));background-size:260% 100%;filter:drop-shadow(0 0 10px rgba(6,182,212,.35)) drop-shadow(0 0 18px rgba(79,70,229,.25));position:relative}.fill:after{content:"";position:absolute;inset:-12px 0 -12px 0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.85),transparent);transform:translateX(-60%);filter:blur(2px);opacity:.9}.skill.run .fill{animation:laserMove .85s linear infinite,fillTo 1.2s cubic-bezier(.2,.8,.2,1) forwards}.skill.run .fill:after{animation:beam 1.05s ease-in-out infinite}.skill{--p:0}.skill.run{--p:1}@keyframes laserMove{0%{background-position:0% 0}100%{background-position:260% 0}}@keyframes beam{0%{transform:translateX(-60%)}100%{transform:translateX(160%)}}@keyframes fillTo{to{width:calc(var(--pct)*1%)}}.skillsNote{margin-top:10px}.tiny{display:flex;gap:10px;align-items:center;color:var(--muted);font-weight:900}.workGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.work{border:1px solid var(--line);border-radius:var(--r);background:var(--card);backdrop-filter:blur(10px);padding:18px;box-shadow:0 10px 26px rgba(0,0,0,.06)}.workIcon{width:46px;height:46px;border-radius:16px;display:grid;place-items:center;background:rgba(79,70,229,.10);color:var(--pri)}.tags{margin-top:12px;display:flex;gap:8px;flex-wrap:wrap}.tag{padding:6px 10px;border-radius:999px;border:1px solid var(--line);color:var(--muted);font-weight:800;font-size:12px}.contactCard{border:1px solid var(--line);border-radius:calc(var(--r) + 6px);background:rgba(255,255,255,.55);backdrop-filter:blur(18px);padding:22px;display:grid;grid-template-columns:1.1fr .9fr;gap:18px;box-shadow:var(--shadow)}html[data-theme=dark] .contactCard{background:rgba(12,17,32,.62)}.contactRow{display:flex;gap:12px;flex-wrap:wrap;margin-top:14px}.note{margin-top:14px;color:var(--muted);font-weight:800;display:flex;gap:10px;align-items:flex-start}.mini{border:1px solid var(--line);border-radius:var(--r);background:var(--card);backdrop-filter:blur(10px);padding:16px;display:grid;gap:12px}.miniTop{display:flex;justify-content:space-between;align-items:center;gap:10px}.miniTitle{display:flex;gap:10px;align-items:center;font-weight:1000;color:var(--text)}.miniBadge{display:flex;gap:8px;align-items:center;padding:6px 10px;border-radius:999px;border:1px solid var(--line);background:rgba(79,70,229,.08);color:var(--muted);font-weight:900;font-size:12px}.miniGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.miniBox{border:1px solid var(--line);border-radius:14px;padding:12px;background:rgba(255,255,255,.45)}html[data-theme=dark] .miniBox{background:rgba(12,17,32,.45)}.miniBox i{color:var(--pri2)}.miniBox b{display:block;margin-top:6px}.miniBox span{display:block;color:var(--muted);font-weight:800;font-size:12px;margin-top:2px}.miniLine{display:flex;gap:10px;align-items:center;color:var(--muted);font-weight:900}.miniCtas{display:flex;justify-content:center;margin-top:4px}.footer{margin:18px 0 0;display:flex;justify-content:center;gap:12px;flex-wrap:wrap;color:var(--muted);font-weight:800}.form{margin-top:14px}.fgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.field{display:grid;gap:8px;margin:0 0 12px}.field>span{font-weight:900;color:var(--muted);font-size:13px}.input{width:100%;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.55);padding:12px 14px;font:inherit;color:var(--text);outline:none;backdrop-filter:blur(10px)}html[data-theme=dark] .input{background:rgba(12,17,32,.55)}.input:focus{border-color:rgba(79,70,229,.55);box-shadow:0 0 0 4px rgba(79,70,229,.12)}.hp{position:absolute;left:-9999px;opacity:0}.toast{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);z-index:60;min-width:min(520px,calc(100% - 24px));padding:12px 14px;border-radius:16px;border:1px solid var(--line);background:var(--card);backdrop-filter:blur(12px);box-shadow:0 16px 40px rgba(0,0,0,.12);font-weight:900;display:none;gap:10px;align-items:center;justify-content:center;color:var(--text)}.toast.show{display:flex}.toast.ok i{color:#16a34a}.toast.err i{color:#ef4444}.reveal{opacity:0;transform:translate3d(0,16px,0) scale(.985);filter:blur(6px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.8,.2,1),filter .7s ease;will-change:transform,opacity}.reveal.in{opacity:1;transform:translate3d(0,0,0) scale(1);filter:blur(0)}@media (max-width:980px){.heroGrid{grid-template-columns:1fr;gap:18px}.grid3,.workGrid{grid-template-columns:1fr}.skillsWrap{grid-template-columns:1fr}.topbar{inset:10px 0 auto 0}.nav{display:none}.hero{padding-top:96px}.contactCard{grid-template-columns:1fr}.fgrid{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.reveal{transition:none}.scrollHint{animation:none}.btn:hover,.toggle:hover,.scrollHint:hover{transform:none}.skill.run .fill{animation:none}}.typeHero{margin-top:14px}.typeLine{font-weight:900;color:var(--muted);letter-spacing:.8px;text-transform:uppercase;font-size:12px}.typeWrap{display:flex;align-items:baseline;gap:10px;margin-top:8px}.typeText{font-weight:1000;letter-spacing:-1px;line-height:.95;font-size:clamp(56px,6.6vw,86px);background:linear-gradient(135deg,var(--text),rgba(79,70,229,.92));-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 14px 34px rgba(0,0,0,.10))}.cursor{width:10px;height:1.05em;display:inline-block;background:linear-gradient(180deg,var(--pri),var(--pri2));border-radius:4px;transform:translateY(3px);animation:blink 1s steps(1,end) infinite}@keyframes blink{50%{opacity:0}}.heroCard{padding-bottom:58px}.hint{padding-bottom:10px;position:relative;z-index:6}.scrollHint{bottom:12px;z-index:4}.projGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.proj{position:relative;display:flex;gap:14px;align-items:flex-start;padding:16px;border:1px solid var(--line);border-radius:var(--r);background:var(--card);backdrop-filter:blur(10px);box-shadow:0 10px 26px rgba(0,0,0,.06);transition:.2s}.proj:hover{transform:translateY(-2px)}.projIcon{width:52px;height:52px;border-radius:18px;display:grid;place-items:center;background:rgba(79,70,229,.10);color:var(--pri);flex:0 0 auto}.projBody h3{margin:0 0 6px}.projBody p{margin:0}.projMeta{display:flex;gap:10px;align-items:center;margin-top:10px;flex-wrap:wrap}.pill{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border-radius:999px;border:1px solid var(--line);font-weight:1000;font-size:12px}.pill.ok{background:rgba(34,197,94,.12);color:#16a34a}.pill.warn{background:rgba(245,158,11,.14);color:#b45309}.pill.soon{background:rgba(148,163,184,.18);color:var(--muted)}html[data-theme=dark] .pill.ok{color:#4ade80}html[data-theme=dark] .pill.warn{color:#fbbf24}.ext{position:absolute;right:14px;top:14px;color:var(--muted)}.proj.disabled{opacity:.72;cursor:not-allowed;filter:saturate(.85)}.proj.disabled:hover{transform:none}.proj.disabled .ext{display:none}@media (max-width:980px){.projGrid{grid-template-columns:1fr}}
/* Popup modal (from admin) */
.tn-modal{position:fixed;inset:0;display:none;align-items:center;justify-content:center;z-index:999}
.tn-modal.show{display:flex}
.tn-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.45);backdrop-filter:blur(6px)}
.tn-modal-card{position:relative;max-width:640px;width:calc(100% - 32px);border-radius:22px;border:1px solid rgba(255,255,255,.12);background:var(--card);box-shadow:0 18px 50px rgba(0,0,0,.35);padding:22px 22px 18px}
.tn-modal-title{margin:0 0 10px;font-weight:900}
.tn-modal-body{color:var(--text);opacity:.95}
.tn-modal-close{position:absolute;right:12px;top:12px;border:0;background:transparent;color:var(--text);opacity:.75;font-size:18px;cursor:pointer}
.tn-modal-close:hover{opacity:1}


/* ------------------------------------------------------------------
   Fullscreen Menu (cd-nav-trigger style based on provided index.html)
   ------------------------------------------------------------------ */

/* make the trigger look like a compact icon button */
.cd-nav-trigger{
  width:42px;
  height:42px;
  border-radius:999px;
  border:1px solid var(--line);
  background:transparent;
  color:var(--text);
  display:grid;
  place-items:center;
  font-weight:800;
  cursor:pointer;
  box-shadow:0 10px 26px rgba(0,0,0,.08);
  transition:.2s;
  position:relative;
  overflow:hidden;
}
.cd-nav-trigger:hover{ transform:translateY(-1px); }
.cd-nav-trigger i{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:18px;
  line-height:1;
  transition:transform .25s ease, opacity .2s ease;
}
.cd-nav-trigger .fa-xmark{ opacity:0; transform:scale(.82) rotate(-90deg); }
body.nav-is-visible .cd-nav-trigger .fa-bars{ opacity:0; transform:scale(.82) rotate(90deg); }
body.nav-is-visible .cd-nav-trigger .fa-xmark{ opacity:1; transform:scale(1) rotate(0); }


.mainmenunav{
  position:fixed;
  inset:0;
  z-index:121;
  display:none;
  pointer-events:none;
  --text:#0b1020;
  --muted:#475569;
  --line:rgba(15,23,42,.14);
}

body.nav-is-visible .mainmenunav{ display:block; pointer-events:auto; }
body.nav-is-visible .mainmenunav{ color:#0b1020; }

/* give the underlying page a premium transition while menu is open */
body.nav-is-visible #app,
body.nav-is-visible .topbar{
  filter: blur(10px) saturate(.9);
  transform: scale(.985);
  opacity:.55;
  transition: filter .35s ease, transform .35s cubic-bezier(.2,.8,.2,1), opacity .35s ease;
}
body:not(.nav-is-visible) #app,
body:not(.nav-is-visible) .topbar{
  transition: filter .35s ease, transform .35s cubic-bezier(.2,.8,.2,1), opacity .35s ease;
}

.cd-primary-nav{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  /* Requested: final menu background should be white, with glassmorphism feel */
  background:
    radial-gradient(1200px 600px at 18% 10%, rgba(99,102,241,.16), transparent 60%),
    radial-gradient(900px 500px at 82% 0%, rgba(16,185,129,.12), transparent 55%),
    radial-gradient(900px 700px at 50% 90%, rgba(14,165,233,.10), transparent 60%),
    #ffffff;
}

/* Close button */
.cd-nav-close{
  position:absolute;
  top:22px;
  right:22px;
  width:44px;
  height:44px;
  border-radius:999px;
  border:1px solid rgba(15,23,42,.14);
  background:rgba(255,255,255,.60);
  backdrop-filter: blur(16px);
  box-shadow:0 16px 40px rgba(15,23,42,.10);
  color:#0b1020;
  display:grid;
  place-items:center;
  cursor:pointer;
  transition:transform .18s ease, filter .18s ease;
}
.cd-nav-close:hover{ transform:translateY(-1px); filter:brightness(1.04); }

.cd-menu-grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:24px;
  width:min(var(--w), calc(100% - 40px));
  margin:0 auto;
  padding:22px;
  border-radius:28px;
  /* glassmorphism panel (less "boxed" content inside) */
  background:rgba(255,255,255,.58);
  border:1px solid rgba(15,23,42,.10);
  backdrop-filter: blur(24px);
  box-shadow:0 36px 110px rgba(15,23,42,.14);
}

@media (max-width: 980px){
  .cd-menu-grid{ grid-template-columns:1fr; }
}

.cd-menu-eyebrow{
  font-weight:1000;
  letter-spacing:.18em;
  text-transform:uppercase;
  font-size:12px;
  color:rgba(71,85,105,.85);
  margin:2px 0 14px;
}

.cd-menu-list{
  list-style:none;
  padding:0;
  margin:0;
  display:flex;
  flex-direction:column;
  gap:10px;
}

/* Modern, premium: fewer frames, more typography */
.cd-menu-list a{
  display:flex;
  align-items:center;
  gap:14px;
  padding:10px 8px;
  border-radius:14px;
  font-weight:1000;
  letter-spacing:-.2px;
  font-size:clamp(18px, 2.2vw, 26px);
  color:#0b1020;
  transition: transform .18s ease, background .18s ease;
}
.cd-menu-list a:hover{
  transform: translateY(-1px);
  background: rgba(15,23,42,.04);
}
.cd-menu-list a i{
  width:26px;
  text-align:center;
  color: rgba(79,70,229,.95);
  opacity:1;
}
.cd-menu-list a .cd-menu-arrow{
  margin-left:auto;
  opacity:.55;
  transform:translateX(-2px);
  transition:transform .18s ease, opacity .18s ease;
}
.cd-menu-list a:hover .cd-menu-arrow{ transform:translateX(2px); opacity:.75; }


.cd-menu-info{
  display:flex;
  flex-direction:column;
  gap:14px;
  padding:6px 6px 6px 18px;
}
.cd-me{display:flex;gap:12px;align-items:center;}
.cd-me-dot{width:12px;height:12px;border-radius:50%;background:linear-gradient(135deg,var(--pri),var(--pri2));box-shadow:0 10px 24px rgba(79,70,229,.20)}
.cd-me-name{font-weight:1000;letter-spacing:-.2px;}
.cd-me-sub{color:rgba(71,85,105,.90);font-weight:800;font-size:13px;margin-top:2px}

.cd-info-list{display:grid;gap:10px;margin-top:8px}
.cd-info-item{
  display:flex;
  gap:12px;
  align-items:flex-start;
  padding:12px 12px;
  border-radius:16px;
  background:rgba(255,255,255,.42);
  border:1px solid rgba(15,23,42,.10);
  backdrop-filter: blur(18px);
  box-shadow:0 18px 55px rgba(15,23,42,.08);
}
.cd-info-item i{margin-top:3px;color:rgba(2,132,199,.92);width:20px;text-align:center}
.cd-info-k{font-weight:1000;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:rgba(71,85,105,.85)}
.cd-info-v{font-weight:1000;margin-top:4px;line-height:1.2}

.cd-socials{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}
.cd-social{
  display:inline-flex;
  align-items:center;
  gap:9px;
  padding:10px 12px;
  border-radius:999px;
  border:1px solid rgba(15,23,42,.10);
  background:rgba(255,255,255,.40);
  backdrop-filter: blur(18px);
  box-shadow:0 18px 55px rgba(15,23,42,.08);
  font-weight:1000;
  color:rgba(15,23,42,.92);
}
.cd-social i{color:rgba(2,132,199,.92)}
.cd-social span{font-size:13px;color:rgba(71,85,105,.92);font-weight:900}

.cd-menu-foot{display:flex;gap:10px;flex-wrap:wrap;margin-top:auto;opacity:.85}
.cd-foot-hint{display:inline-flex;align-items:center;gap:8px;font-weight:900;font-size:12px;color:rgba(71,85,105,.95);padding:8px 10px;border-radius:999px;border:1px solid rgba(15,23,42,.10);background:rgba(255,255,255,.40);backdrop-filter: blur(14px)}

/* overlays (circle expansion) */
.cd-overlay-nav,
.cd-overlay-content{
  position:fixed;
  inset:0;
  z-index:120;
  pointer-events:none;
  overflow:hidden;
}

.cd-overlay-nav span,
.cd-overlay-content span{
  position:absolute;
  width:42px;
  height:42px;
  border-radius:999px;
  top:var(--cd-circle-top, 18px);
  left:var(--cd-circle-left, calc(100% - 62px));
  transform:scale(0);
  transform-origin:center;
  transition:transform .55s cubic-bezier(.2,.8,.2,1);
}



.cd-overlay-nav span{
  /* Final reveal color (requested white) */
  background:#ffffff;
}
.cd-overlay-content span{
  /* second layer to add depth */
  background:rgba(255,255,255,.92);
  backdrop-filter: blur(12px);
}
body.nav-is-visible .cd-overlay-nav span{ transform:scale(var(--cd-nav-scale, 200)); }
body.nav-is-visible .cd-overlay-content span{ transform:scale(var(--cd-content-scale, 120)); }

.cd-overlay-content span{ transition-delay:0s; }
.cd-overlay-nav span{ transition-delay:.06s; }
body.nav-is-closing .cd-overlay-nav span{ transition-delay:0s; }
body.nav-is-closing .cd-overlay-content span{ transition-delay:.06s; }


/* show content with a slight delay */
body.nav-is-visible .cd-primary-nav{ animation: cdMenuIn .25s ease .15s both; }
@keyframes cdMenuIn{ from{opacity:0;transform:translateY(6px)} to{opacity:1;transform:translateY(0)} }

/* Modern menu reveal: stagger items + right panel */
body.nav-is-visible .cd-menu-list li{
  opacity:0;
  transform:translateY(10px);
  animation: menuItemIn .45s cubic-bezier(.2,.8,.2,1) both;
  animation-delay: calc(.18s + (var(--i,0) * .045s));
}
@keyframes menuItemIn{ to{opacity:1;transform:translateY(0)} }

body.nav-is-visible .cd-menu-info{
  opacity:0;
  transform:translateY(10px);
  animation: menuInfoIn .50s cubic-bezier(.2,.8,.2,1) .26s both;
}
@keyframes menuInfoIn{ to{opacity:1;transform:translateY(0)} }

/* improve right controls spacing on topbar */
.topbar .container{ gap:14px; }
.nav{ margin-left:16px; }
@media (max-width: 860px){ .nav{ display:none; } }


.sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}


/* Topbar icon buttons */
.topActions{display:flex;gap:12px;align-items:center;}
.topActions .iconBtn, .cd-nav-trigger{width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:rgba(8,10,16,.22);backdrop-filter: blur(10px);color:var(--text);text-decoration:none;}
html[data-theme="light"] .topActions .iconBtn, html[data-theme="light"] .cd-nav-trigger{border:1px solid rgba(0,0,0,.10);background:rgba(255,255,255,.70);}
.cd-nav-trigger{position:relative;}
.cd-nav-trigger .cd-icon{display:inline-block;}
.cd-nav-trigger .sr{display:none;}


.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}


/* Menu glassmorphism + contrast */
body.nav-is-visible .cd-menu-grid{
  border-radius:28px;
  background:rgba(255,255,255,.62);
  border:1px solid rgba(15,23,42,.10);
  box-shadow:0 30px 90px rgba(15,23,42,.12);
  backdrop-filter: blur(22px);
}
body.nav-is-visible .cd-menu-list a{
  background:rgba(255,255,255,.40);
  border:1px solid rgba(15,23,42,.12);
  color:var(--text);
}
body.nav-is-visible .cd-menu-list a:hover{ filter:brightness(1.05); }
body.nav-is-visible .cd-menu-info h4{ color:var(--muted); }
body.nav-is-visible .cd-contact-val{ color:var(--text); }
body.nav-is-visible .cd-contact-block{ border-color:rgba(15,23,42,.10); }
