/* =============================================
   VARIABLES & RESET
   ============================================= */
:root {
  --bg: #080808;
  --border: rgba(255,255,255,0.08);
  --border-hover: rgba(255,255,255,0.18);
  --text: #f0f0f0;
  --text-muted: rgba(255,255,255,0.68);
  --text-dim: rgba(255,255,255,0.38);

  --accent-about: #10b981;
  --accent-resume: #3b82f6;
  --accent-projects: #a855f7;
  --accent: var(--accent-about);
  --accent-glow: rgba(16,185,129,0.15);

  --nav-h: 62px;
  --radius: 14px;
  --radius-sm: 9px;

  --font-display: 'Playfair Display', Georgia, serif;
  --font-body: 'DM Sans', sans-serif;
  --font-mono: 'JetBrains Mono', monospace;
}

[data-page="resume"]   { --accent: var(--accent-resume);   --accent-glow: rgba(59,130,246,0.15); }
[data-page="projects"] { --accent: var(--accent-projects); --accent-glow: rgba(168,85,247,0.15); }

*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }

body {
  background: var(--bg);
  color: var(--text);
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.65;
  min-height: 100vh;
  overflow-x: hidden;
}

/* =============================================
   MESH BACKGROUND
   ============================================= */
.mesh-bg { position:fixed; inset:0; pointer-events:none; z-index:0; overflow:hidden; }
.mesh-orb {
  position:absolute; border-radius:50%;
  filter:blur(100px); opacity:0;
  transition: background 0.8s ease, opacity 0.8s ease;
}
.orb-1 { width:500px; height:500px; top:-100px; right:-100px; }
.orb-2 { width:400px; height:400px; bottom:-100px; left:-100px; }
.orb-3 { width:300px; height:300px; top:50%; left:50%; transform:translate(-50%,-50%); }

[data-page="about"]    .orb-1 { background:rgba(16,185,129,0.13); opacity:1; }
[data-page="about"]    .orb-2 { background:rgba(16,185,129,0.07); opacity:1; }
[data-page="about"]    .orb-3 { background:rgba(16,185,129,0.04); opacity:1; }
[data-page="resume"]   .orb-1 { background:rgba(59,130,246,0.13); opacity:1; }
[data-page="resume"]   .orb-2 { background:rgba(59,130,246,0.07); opacity:1; }
[data-page="resume"]   .orb-3 { background:rgba(59,130,246,0.04); opacity:1; }
[data-page="projects"] .orb-1 { background:rgba(168,85,247,0.13); opacity:1; }
[data-page="projects"] .orb-2 { background:rgba(168,85,247,0.07); opacity:1; }
[data-page="projects"] .orb-3 { background:rgba(168,85,247,0.04); opacity:1; }

.grain-overlay {
  position:fixed; inset:0; pointer-events:none; z-index:1;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.03'/%3E%3C/svg%3E");
  opacity:0.5;
}

/* =============================================
   NAVBAR
   ============================================= */
.navbar {
  position:fixed; top:0; left:0; right:0;
  height:var(--nav-h); z-index:100;
  display:flex; align-items:center; justify-content:space-between;
  padding:0 36px;
  background:rgba(8,8,8,0.88);
  backdrop-filter:blur(24px);
  border-bottom:1px solid var(--border);
  transition:border-color 0.5s;
}
.nav-left { display:flex; align-items:center; gap:10px; }
.nav-avatar { width:32px; height:32px; border-radius:8px; object-fit:cover; border:1px solid var(--border); }
.nav-logo { font-family:var(--font-display); font-size:20px; font-weight:700; letter-spacing:-0.5px; }
.nav-dot { color:var(--accent); transition:color 0.5s; }
.nav-tabs {
  display:flex; align-items:center; gap:3px;
  background:rgba(255,255,255,0.03);
  border:1px solid var(--border); border-radius:40px; padding:4px;
}
.nav-tab {
  display:flex; align-items:center; gap:7px;
  padding:7px 22px; border-radius:30px; border:none;
  background:transparent; color:var(--text-dim);
  font-family:var(--font-body); font-size:14px; font-weight:500;
  cursor:pointer; transition:all 0.3s; white-space:nowrap;
}
.nav-tab:hover { color:var(--text); background:rgba(255,255,255,0.05); }
.nav-tab.active { background:var(--accent); color:#000; font-weight:600; }
.tab-num { font-family:var(--font-mono); font-size:10px; opacity:0.6; }
.nav-tab.active .tab-num { opacity:0.7; }
.nav-right { width:60px; }

/* =============================================
   FLOATING RESUME BUTTON
   ============================================= */
.float-resume-btn {
  position:fixed; bottom:28px; right:28px; z-index:200;
  display:flex; align-items:center; gap:8px;
  padding:11px 22px; border-radius:30px;
  background:var(--accent-resume);
  color:#fff; font-family:var(--font-body);
  font-size:14px; font-weight:600;
  text-decoration:none;
  box-shadow:0 4px 24px rgba(59,130,246,0.35), 0 0 0 1px rgba(59,130,246,0.2);
  transition:all 0.25s;
}
.float-resume-btn:hover {
  transform:translateY(-2px);
  box-shadow:0 8px 32px rgba(59,130,246,0.5), 0 0 0 1px rgba(59,130,246,0.3);
}

/* =============================================
   PAGE LAYOUT
   ============================================= */
.page {
  position:relative; z-index:10;
  padding-top:var(--nav-h); min-height:100vh;
  animation:fadeUp 0.45s ease both;
}
.page.hidden { display:none !important; }

@keyframes fadeUp {
  from { opacity:0; transform:translateY(16px); }
  to   { opacity:1; transform:translateY(0); }
}

.page-inner {
  max-width:1160px; margin:0 auto;
  padding:52px 48px 100px;
}

/* =============================================
   GLASS CARD
   ============================================= */
.glass-card {
  background:rgba(255,255,255,0.035);
  backdrop-filter:blur(16px);
  border:1px solid var(--border);
  border-radius:var(--radius);
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.06), 0 4px 24px rgba(0,0,0,0.3);
  transition:border-color 0.3s, box-shadow 0.3s;
}
.glass-card:hover { border-color:var(--border-hover); }

/* =============================================
   SHARED
   ============================================= */
.section-label {
  font-family:var(--font-mono); font-size:11px;
  text-transform:uppercase; letter-spacing:3px;
  color:var(--accent); margin-bottom:10px; transition:color 0.5s;
}
.page-title {
  font-family:var(--font-display);
  font-size:clamp(30px,4vw,46px);
  font-weight:700; line-height:1.1; margin-bottom:40px;
}
.accent-text        { color:var(--accent-about); }
.accent-text-blue   { color:var(--accent-resume); }
.accent-text-purple { color:var(--accent-projects); }

/* =============================================
   ABOUT PAGE
   ============================================= */
.about-hero {
  display:flex; align-items:center; gap:52px;
  padding:44px 0 52px;
  border-bottom:1px solid var(--border); margin-bottom:44px;
}
.avatar-wrap { position:relative; flex-shrink:0; }
.avatar-img { width:130px; height:130px; border-radius:26px; object-fit:cover; display:block; }
.avatar-ring {
  position:absolute; inset:-5px; border-radius:31px;
  border:2px solid var(--accent-about); opacity:0.45;
  animation:pulse-ring 3s ease-in-out infinite;
}
@keyframes pulse-ring {
  0%,100% { opacity:0.4; transform:scale(1); }
  50%      { opacity:0.85; transform:scale(1.025); }
}

/* Name shimmer */
.name-shimmer {
  background:linear-gradient(90deg, #f0f0f0 0%, #10b981 38%, #f0f0f0 55%, #f0f0f0 100%);
  background-size:200% auto;
  -webkit-background-clip:text; -webkit-text-fill-color:transparent;
  background-clip:text;
  animation:shimmer 4s linear infinite;
}
@keyframes shimmer { to { background-position:200% center; } }

.hero-name {
  font-family:var(--font-display);
  font-size:clamp(34px,5vw,58px);
  font-weight:800; line-height:1.05; margin-bottom:10px;
}
.hero-tagline {
  font-family:var(--font-mono); font-size:12px;
  color:var(--accent-about); text-transform:uppercase;
  letter-spacing:2px; margin-bottom:20px;
}
.hero-social { display:flex; gap:12px; flex-wrap:wrap; }
.social-pill {
  display:inline-flex; align-items:center; gap:8px;
  padding:9px 20px; border-radius:30px;
  border:1px solid var(--border);
  color:var(--text-muted); font-size:14px; font-weight:500;
  text-decoration:none; transition:all 0.2s;
}
.social-pill:hover { border-color:var(--accent-about); color:var(--text); background:rgba(16,185,129,0.07); }

/* Info strip */
.info-strip {
  display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); min-width:0;
  gap:12px; margin-bottom:40px;
}
.info-card { display:flex; align-items:center; gap:14px; padding:18px 20px; min-width:0; overflow:hidden; }
.info-icon { font-size:20px; flex-shrink:0; }
.info-card > div { min-width:0; overflow:hidden; }
.info-label {
  font-size:11px; text-transform:uppercase; letter-spacing:1.5px;
  color:var(--text-dim); font-family:var(--font-mono); margin-bottom:3px;
}
.info-val { font-size:14px; font-weight:500; color:var(--text); word-break:break-all; overflow-wrap:break-word; min-width:0; }

/* About text */
.about-body { margin-bottom:52px; }
.about-text-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:16px; }
.about-text-block { padding:28px; }
.about-block-title {
  font-family:var(--font-display); font-size:20px;
  font-weight:700; margin-bottom:12px; color:#fff;
}
.about-text-block p { color:var(--text-muted); font-size:15px; line-height:1.8; }
.about-text-block strong { color:#fff; font-weight:600; }

/* Contact */
.contact-section { margin-bottom:52px; }
.contact-wrap {
  display:grid; grid-template-columns:280px 1fr;
  gap:44px; padding:38px; margin-top:16px;
}
.contact-title {
  font-family:var(--font-display); font-size:30px;
  font-weight:700; line-height:1.2; margin-bottom:12px;
}
.contact-sub { color:var(--text-muted); font-size:15px; line-height:1.75; }
.contact-form { display:flex; flex-direction:column; gap:14px; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.form-group { display:flex; flex-direction:column; gap:6px; }
.form-group label {
  font-size:11px; text-transform:uppercase; letter-spacing:1.5px;
  color:var(--text-dim); font-family:var(--font-mono);
}
.form-group input, .form-group textarea {
  background:rgba(255,255,255,0.04);
  border:1px solid var(--border); border-radius:var(--radius-sm);
  padding:11px 15px; color:var(--text);
  font-family:var(--font-body); font-size:15px;
  transition:border-color 0.2s, background 0.2s;
  resize:none; outline:none;
}
.form-group input:focus, .form-group textarea:focus {
  border-color:var(--accent-about); background:rgba(16,185,129,0.04);
}
.form-group input::placeholder, .form-group textarea::placeholder { color:var(--text-dim); }
.submit-btn {
  display:inline-flex; align-items:center; gap:9px;
  padding:12px 26px; border-radius:var(--radius-sm); border:none;
  background:var(--accent-about); color:#000;
  font-family:var(--font-body); font-size:15px; font-weight:600;
  cursor:pointer; align-self:flex-start; transition:all 0.2s;
}
.submit-btn:hover { opacity:0.9; transform:translateY(-1px); }
.submit-btn:disabled { opacity:0.5; cursor:not-allowed; }
.form-msg { font-size:13px; min-height:20px; color:var(--accent-about); }
.form-msg.error { color:#f87171; }

/* =============================================
   RESUME PAGE
   ============================================= */
.resume-header { margin-bottom:40px; }
.resume-grid { display:grid; grid-template-columns:1fr 1fr; gap:22px; align-items:start; }
.resume-col { display:flex; flex-direction:column; gap:22px; }

.resume-section { padding:28px; }
.resume-sec-header {
  display:flex; align-items:center; gap:12px;
  margin-bottom:22px; padding-bottom:16px;
  border-bottom:1px solid var(--border);
}
.resume-sec-icon { font-size:20px; }
.resume-sec-header h3 { font-family:var(--font-display); font-size:20px; font-weight:700; }

.timeline-item { display:flex; gap:16px; }
.tl-dot { width:10px; height:10px; border-radius:50%; flex-shrink:0; margin-top:6px; }
.tl-dot.blue { background:var(--accent-resume); box-shadow:0 0 8px rgba(59,130,246,0.5); }
.tl-content { flex:1; }
.tl-title { font-weight:600; font-size:15px; margin-bottom:4px; color:#fff; }
.tl-org { color:var(--accent-resume); font-size:14px; margin-bottom:4px; }
.tl-meta { color:var(--text-dim); font-size:12px; font-family:var(--font-mono); margin-bottom:10px; }
.tl-badge {
  display:inline-block; padding:3px 12px; border-radius:20px;
  background:rgba(59,130,246,0.12); border:1px solid rgba(59,130,246,0.25);
  color:var(--accent-resume); font-size:12px; font-family:var(--font-mono);
}
.tl-bullets { padding-left:18px; color:var(--text-muted); font-size:14px; line-height:1.75; }
.tl-bullets li { margin-bottom:5px; }

/* Skills — colored per category */
.skills-category { margin-bottom:18px; }
.skills-cat-label {
  font-size:12px; text-transform:uppercase; letter-spacing:1.5px;
  color:#fff; font-family:var(--font-mono); font-weight:500;
  margin-bottom:9px;
}
.skills-tags { display:flex; flex-wrap:wrap; gap:7px; }
.skill-tag {
  padding:5px 13px; border-radius:20px; font-size:13px; font-weight:500;
  transition:all 0.2s; cursor:default;
}
/* Per-category tag colors */
.tag-prog   { background:rgba(255,255,255,0.08); border:1px solid rgba(255,255,255,0.15); color:#e2e8f0; }
.tag-ml     { background:rgba(16,185,129,0.12);  border:1px solid rgba(16,185,129,0.28);  color:#10b981; }
.tag-nlp    { background:rgba(6,182,212,0.12);   border:1px solid rgba(6,182,212,0.28);   color:#06b6d4; }
.tag-data   { background:rgba(59,130,246,0.12);  border:1px solid rgba(59,130,246,0.28);  color:#60a5fa; }
.tag-deploy { background:rgba(249,115,22,0.12);  border:1px solid rgba(249,115,22,0.28);  color:#fb923c; }
.tag-db     { background:rgba(234,179,8,0.12);   border:1px solid rgba(234,179,8,0.28);   color:#eab308; }
.tag-tools  { background:rgba(168,85,247,0.12);  border:1px solid rgba(168,85,247,0.28);  color:#c084fc; }
.tag-fam    { background:rgba(255,255,255,0.04); border:1px solid rgba(255,255,255,0.1);  color:var(--text-dim); }

.skill-tag:hover { transform:translateY(-1px); filter:brightness(1.15); }

/* Certifications — colored left accent border */
.certs-grid { display:flex; flex-direction:column; gap:8px; }
.cert-item {
  display:flex; align-items:center; gap:12px;
  padding:11px 14px 11px 0;
  border-radius:var(--radius-sm);
  border:1px solid var(--border);
  background:rgba(255,255,255,0.02);
  overflow:hidden; position:relative;
  transition:border-color 0.2s, background 0.2s;
}
.cert-item::before {
  content:''; position:absolute; left:0; top:0; bottom:0;
  width:3px; flex-shrink:0;
}
.cert-item.ibm::before      { background:#60a5fa; }
.cert-item.google::before   { background:#eab308; }
.cert-item.meta::before     { background:#3b82f6; }
.cert-item.nvidia::before   { background:#84cc16; }
.cert-item.bcg::before      { background:#a855f7; }
.cert-item.jpmorgan::before { background:#93c5fd; }
.cert-item.coursera::before { background:#fb923c; }
.cert-item.apna::before     { background:#34d399; }

.cert-link { text-decoration:none; cursor:pointer; }
.cert-link:hover { border-color:rgba(255,255,255,0.2); background:rgba(255,255,255,0.04); }
.cert-link:hover .cert-arrow { opacity:1; }

.cert-org {
  font-size:10px; font-weight:700; padding:2px 9px;
  border-radius:4px; font-family:var(--font-mono);
  flex-shrink:0; min-width:72px; text-align:center;
  text-transform:uppercase; letter-spacing:0.5px;
  margin-left:14px;
}
.cert-org.ibm      { background:rgba(59,130,246,0.12);  color:#60a5fa; }
.cert-org.google   { background:rgba(234,179,8,0.12);   color:#eab308; }
.cert-org.meta     { background:rgba(59,130,246,0.12);  color:#3b82f6; }
.cert-org.nvidia   { background:rgba(132,204,22,0.12);  color:#84cc16; }
.cert-org.bcg      { background:rgba(168,85,247,0.12);  color:#a855f7; }
.cert-org.jpmorgan { background:rgba(147,197,253,0.12); color:#93c5fd; }
.cert-org.coursera { background:rgba(249,115,22,0.12);  color:#fb923c; }
.cert-org.apna     { background:rgba(52,211,153,0.12);  color:#34d399; }

.cert-name { font-size:14px; color:var(--text-muted); flex:1; line-height:1.4; }
.cert-arrow { opacity:0; flex-shrink:0; color:var(--text-dim); transition:all 0.2s; margin-right:4px; }

/* =============================================
   PROJECTS PAGE
   ============================================= */
.projects-header { margin-bottom:32px; }
.stack-filters { display:flex; gap:10px; flex-wrap:wrap; margin-bottom:36px; }
.filter-pill {
  padding:9px 22px; border-radius:30px;
  border:1px solid var(--border); background:transparent;
  color:var(--text-muted); font-family:var(--font-body);
  font-size:14px; font-weight:500; cursor:pointer;
  transition:all 0.25s; white-space:nowrap;
}
.filter-pill:hover { border-color:var(--accent-projects); color:var(--text); }
.filter-pill.active { background:var(--accent-projects); border-color:var(--accent-projects); color:#fff; font-weight:600; }

.featured-label, .github-label {
  font-family:var(--font-mono); font-size:11px;
  text-transform:uppercase; letter-spacing:3px;
  color:var(--text-dim); margin-bottom:16px;
}
.featured-label { color:var(--accent-projects); }

.featured-grid {
  display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr));
  gap:16px; margin-bottom:52px;
}
.github-grid {
  display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr));
  gap:14px; margin-bottom:48px;
}

.project-card {
  padding:22px; position:relative; overflow:hidden;
  transition:transform 0.3s, box-shadow 0.3s;
}
.project-card:hover {
  transform:translateY(-4px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.08), 0 16px 44px rgba(0,0,0,0.4);
}

.featured-card { border-color:rgba(168,85,247,0.28); }
.featured-card::before {
  content:''; position:absolute; inset:0;
  background:radial-gradient(ellipse at top left, rgba(168,85,247,0.08) 0%, transparent 70%);
  pointer-events:none;
}
.featured-glow {
  position:absolute; top:0; left:0; right:0; height:2px;
  background:linear-gradient(90deg, transparent, var(--accent-projects), transparent);
  animation:glow-sweep 3s ease-in-out infinite;
}
@keyframes glow-sweep { 0%,100%{opacity:0.4} 50%{opacity:1} }

.project-card-top { display:flex; align-items:center; justify-content:space-between; margin-bottom:13px; }
.project-stack-badge { font-size:11px; padding:3px 11px; border-radius:20px; font-family:var(--font-mono); font-weight:500; }
.project-stack-badge.ds { background:rgba(16,185,129,0.12); color:#10b981; border:1px solid rgba(16,185,129,0.25); }
.project-stack-badge.da { background:rgba(59,130,246,0.12); color:#3b82f6; border:1px solid rgba(59,130,246,0.25); }
.project-stack-badge.sd { background:rgba(168,85,247,0.12); color:#a855f7; border:1px solid rgba(168,85,247,0.25); }
.project-stack-badge.ga { background:rgba(249,115,22,0.12); color:#f97316; border:1px solid rgba(249,115,22,0.25); }

.project-links { display:flex; gap:8px; }
.proj-link {
  display:flex; align-items:center; justify-content:center;
  width:32px; height:32px; border-radius:7px;
  border:1px solid var(--border);
  color:var(--text-muted); text-decoration:none; transition:all 0.2s;
}
.proj-link:hover { border-color:var(--accent-projects); color:var(--text); }
.proj-link.live { border-color:rgba(168,85,247,0.3); color:var(--accent-projects); }

.project-title { font-family:var(--font-display); font-size:17px; font-weight:700; margin-bottom:9px; line-height:1.3; color:#fff; }
.project-desc { color:var(--text-muted); font-size:14px; line-height:1.7; margin-bottom:16px; }
.project-tags { display:flex; flex-wrap:wrap; gap:6px; }
.ptag {
  font-size:11px; padding:3px 9px; border-radius:4px;
  background:rgba(255,255,255,0.06); color:rgba(255,255,255,0.55);
  border:1px solid var(--border); font-family:var(--font-mono);
}

.github-card { padding:18px; }
.github-card .project-title { font-size:15px; }
.github-card .project-desc { font-size:13px; }

/* GenAI empty */
.genai-empty { margin-bottom:40px; }
.empty-state { padding:52px; text-align:center; max-width:440px; margin:0 auto; }
.empty-icon { font-size:44px; margin-bottom:16px; }
.empty-state h3 { font-family:var(--font-display); font-size:22px; margin-bottom:10px; }
.empty-state p { color:var(--text-muted); font-size:15px; line-height:1.7; }

.hero-btn {
  display:inline-flex; align-items:center; gap:8px;
  padding:10px 22px; border-radius:9px;
  font-size:14px; font-weight:500;
  text-decoration:none; cursor:pointer;
  transition:all 0.2s; font-family:var(--font-body);
}
.hero-btn-outline {
  border:1px solid var(--border); color:var(--text-muted); background:transparent;
}
.hero-btn-outline:hover { border-color:var(--accent-projects); color:var(--text); background:rgba(168,85,247,0.08); }

.github-loading { grid-column:1/-1; text-align:center; padding:44px; color:var(--text-dim); font-size:15px; }
.loading-dots { display:inline-flex; gap:7px; margin-bottom:12px; }
.loading-dots span {
  width:7px; height:7px; border-radius:50%;
  background:var(--accent-projects);
  animation:dot-bounce 1.2s ease-in-out infinite;
}
.loading-dots span:nth-child(2) { animation-delay:0.2s; }
.loading-dots span:nth-child(3) { animation-delay:0.4s; }
@keyframes dot-bounce { 0%,80%,100%{transform:scale(0.6);opacity:0.4} 40%{transform:scale(1);opacity:1} }

/* =============================================
   RESPONSIVE
   ============================================= */
@media (max-width:900px) {
  .page-inner { padding:36px 24px 80px; }
  .about-hero { flex-direction:column; gap:24px; text-align:center; }
  .hero-social { justify-content:center; }
  .about-text-grid { grid-template-columns:1fr; }
  .contact-wrap { grid-template-columns:1fr; gap:28px; }
  .resume-grid { grid-template-columns:1fr; }
  .featured-grid { grid-template-columns:1fr; }
  .github-grid { grid-template-columns:1fr 1fr; }
}

@media (max-width:580px) {
  body { font-size:15px; }
  .navbar { padding:0 16px; }
  .nav-tab { padding:6px 13px; font-size:13px; }
  .tab-num { display:none; }
  .form-row { grid-template-columns:1fr; }
  .info-strip { grid-template-columns:1fr 1fr; }
  .avatar-img { width:100px; height:100px; }
  .github-grid { grid-template-columns:1fr; }
  .filter-pill { padding:7px 16px; font-size:13px; }
}

/* Global hidden utility */
.hidden { display: none !important; }

/* Resume page download button */
.resume-title-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 40px;
  flex-wrap: wrap;
  gap: 16px;
}
.resume-title-row .page-title { margin-bottom: 0; }

.resume-dl-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 22px;
  border-radius: 30px;
  background: var(--accent-resume);
  color: #fff;
  font-family: var(--font-body);
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
  box-shadow: 0 4px 20px rgba(59,130,246,0.3);
  transition: all 0.25s;
  flex-shrink: 0;
}
.resume-dl-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 28px rgba(59,130,246,0.45);
}