/* =========================
   Variables & Base
========================= */
:root{
  --primary-color:#667eea;
  --secondary-color:#764ba2;
  --accent-color:#f093fb;
  --text-color:#333;
  --light-bg:#f8f9fa;
  --dark-bg:#1a1a2e;
  --gradient-1:linear-gradient(135deg,#667eea 0%,#764ba2 100%);
  --gradient-2:linear-gradient(135deg,#f093fb 0%,#f5576c 100%);
  --gradient-3:linear-gradient(135deg,#4facfe 0%,#00f2fe 100%);
  --shadow:0 15px 35px rgba(0,0,0,.1);
  --shadow-hover:0 25px 50px rgba(0,0,0,.15);
}

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

body{
  font-family:'Poppins',sans-serif;
  line-height:1.6;color:var(--text-color);
  overflow-x:hidden;scroll-behavior:smooth;background:#fff;
}

/* Custom Scrollbar */
::-webkit-scrollbar{width:8px;height:8px}
::-webkit-scrollbar-track{background:#f1f1f1}
::-webkit-scrollbar-thumb{background:var(--gradient-1);border-radius:10px}

/* =========================
   Loader & Scroll Progress
========================= */
.loader{position:fixed;inset:0;background:var(--gradient-1);display:flex;justify-content:center;align-items:center;z-index:9999;transition:opacity .5s ease}
.loader-content{color:#fff;text-align:center}
.loader-spinner{width:50px;height:50px;margin:0 auto 20px;border:3px solid rgba(255,255,255,.3);border-top:3px solid #fff;border-radius:50%;animation:spin 1s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

.scroll-progress{position:fixed;top:0;left:0;height:4px;width:0;background:var(--gradient-1);z-index:9998;transition:width .1s ease}

/* =========================
   Navbar (desktop default)
========================= */
.navbar{
  position:fixed;top:20px;left:50%;transform:translateX(-50%);
  background:rgba(255,255,255,.95);backdrop-filter:blur(20px);
  border-radius:50px;padding:15px 30px;z-index:1000;box-shadow:var(--shadow);
  transition:all .3s ease; display:flex; align-items:center; gap:14px;
}
.navbar.scrolled{background:rgba(255,255,255,.98);transform:translateX(-50%) translateY(-5px)}
.nav-menu{display:flex;list-style:none;gap:30px;align-items:center}
.nav-menu a{color:var(--text-color);text-decoration:none;font-weight:500;font-size:14px;padding:8px 16px;border-radius:25px;transition:all .3s ease;position:relative}
.nav-menu a:hover,.nav-menu a.active{background:var(--gradient-1);color:#fff;transform:translateY(-2px)}

/* Hamburger button (hidden on desktop) */
.nav-toggle{display:none}
.nav-toggle .bar{width:24px;height:2px;background:#333;border-radius:2px}

/* =========================
   Sections & Container
========================= */
section{padding:100px 0;position:relative}
.container{max-width:1200px;margin:0 auto;padding:0 2rem}

.section-title{
  text-align:center;font-size:3rem;margin-bottom:1rem;font-weight:700;
  background:var(--gradient-1);-webkit-background-clip:text;-webkit-text-fill-color:transparent
}
.section-subtitle{text-align:center;font-size:1.2rem;color:#666;margin-bottom:4rem}

/* =========================
   Hero
========================= */
.hero{
  min-height:92vh;
  background:var(--gradient-1);
  display:flex;align-items:center;justify-content:center;
  color:#fff;text-align:center;position:relative;
  overflow:visible;
  padding-top:calc(var(--nav-h,84px) + 12px);  /* space under fixed nav */
  padding-bottom:28px;
}
.hero::before{
  content:'';position:absolute;inset:0;
  background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1000 1000"><polygon fill="rgba(255,255,255,0.05)" points="0,1000 1000,0 1000,1000"/></svg>');
}
.hero-particles{position:absolute;inset:0;overflow:hidden}
@media (max-width:860px){.hero-particles{opacity:.55}}

.hero-content{
  z-index:2;max-width:1100px;padding:0 2rem;
  display:grid;grid-template-columns:240px 1fr;gap:2.25rem;align-items:center;text-align:left;
}
.hero-left{display:flex;justify-content:center}
.hero-right{min-width:0}
.hero-image{width:220px;height:220px;border-radius:50%;margin:0 auto 30px;position:relative;overflow:hidden;border:5px solid rgba(255,255,255,.2);box-shadow:0 20px 40px rgba(0,0,0,.3);animation:float 3s ease-in-out infinite}
.hero-image img{width:100%;height:100%;object-fit:cover;border-radius:50%}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-20px)}}

.hero-title{
  font-size:3.6rem;margin-bottom:.5rem;font-weight:800;
  background:linear-gradient(45deg,#fff,#f0f0f0);-webkit-background-clip:text;-webkit-text-fill-color:transparent;
  animation:slideInUp 1s ease-out
}
.subtitle{font-size:1.4rem;margin-top:.25rem;margin-bottom:1rem;opacity:.9;animation:slideInUp 1s ease-out .2s both}
.description{font-size:1.1rem;margin-bottom:1.4rem;opacity:.85;max-width:800px;margin-left:auto;margin-right:auto;animation:slideInUp 1s ease-out .4s both}

.hero-points{margin:0 0 .75rem;padding-left:1.1rem;color:#f1f1f1;font-size:1.02rem}
.hero-points li{margin:.2rem 0}

.role-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:6px 0 18px}
.chip{background:rgba(255,255,255,.15);color:#fff;border:1px solid rgba(255,255,255,.25);padding:6px 12px;border-radius:999px;font-size:.9rem;backdrop-filter:blur(4px)}
.chip-soft{opacity:.9}

.cta-buttons{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;animation:slideInUp 1s ease-out .6s both}
.btn{padding:15px 35px;border:none;border-radius:50px;font-size:1rem;font-weight:600;text-decoration:none;transition:all .3s ease;cursor:pointer;display:inline-flex;align-items:center;gap:.5rem;position:relative;overflow:hidden;white-space:nowrap}
.btn::before{content:'';position:absolute;inset:0;left:-100%;background:rgba(255,255,255,.2);transition:left .5s ease}
.btn:hover::before{left:100%}
.btn-primary{background:rgba(255,255,255,.2);color:#fff;border:2px solid rgba(255,255,255,.3)}
.btn-primary:hover{background:#fff;color:var(--primary-color);transform:translateY(-3px);box-shadow:0 10px 25px rgba(0,0,0,.2)}
.btn-outline{background:transparent;color:#fff;border:2px solid #fff}
.btn-outline:hover{background:#fff;color:var(--primary-color);transform:translateY(-3px)}

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

/* Stack hero on phones */
@media (max-width:860px){
  .hero{min-height:auto}
  .hero-content{grid-template-columns:1fr;text-align:center;gap:1.1rem}
  .hero-image{width:160px;height:160px;margin:0 auto .5rem}
  .hero-title{font-size:2rem;line-height:1.15}
  .subtitle{font-size:1.05rem}
  .hero-points{font-size:.98rem;max-width:680px;margin-left:auto;margin-right:auto}
  .role-chips .chip{font-size:.82rem;padding:6px 10px}
}
@media (max-width:380px){
  .hero-title{font-size:1.8rem}
  .subtitle{font-size:.98rem}
  .chip{font-size:.78rem;padding:5px 9px}
}

/* =========================
   About
========================= */
.profile-img.profile-initials{
  width:150px;height:150px;border-radius:50%;margin:0 auto 1rem;display:grid;place-items:center;font-weight:800;font-size:3rem;letter-spacing:1px;color:#fff;background:var(--gradient-1);border:5px solid var(--primary-color);box-shadow:var(--shadow)
}
.about{background:var(--light-bg);position:relative}
.about::before{content:'';position:absolute;top:0;left:0;right:0;height:100px;background:linear-gradient(to bottom right,transparent 49%,var(--light-bg) 50%)}
.about-content{display:grid;grid-template-columns:1fr 2fr;gap:4rem;align-items:center}
.about-image{position:relative}
.about-card{background:#fff;padding:2rem;border-radius:30px;box-shadow:var(--shadow);text-align:center;transition:all .3s ease;position:relative;overflow:hidden}
.about-card::before{content:'';position:absolute;top:0;left:0;right:0;height:5px;background:var(--gradient-1)}
.about-card:hover{transform:translateY(-10px);box-shadow:var(--shadow-hover)}
.profile-img{width:150px;height:150px;border-radius:50%;margin:0 auto 1rem;overflow:hidden;border:5px solid var(--primary-color)}
.profile-img img{width:100%;height:100%;object-fit:cover}
.about-text{font-size:1.1rem;line-height:1.8;color:#666}
.about-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:3rem}
.stat-item{text-align:center;padding:2rem;background:#fff;border-radius:20px;box-shadow:var(--shadow);transition:all .3s ease}
.stat-item:hover{transform:translateY(-5px)}
.stat-number{font-size:2.5rem;font-weight:700;background:var(--gradient-1);-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.stat-label{color:#666;font-weight:500}

/* =========================
   Education / Skills / Experience / Projects / Awards
========================= */
.education{background:#fff}
.education-section{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-bottom:3rem}
.education-card{background:#fff;border-radius:25px;padding:2rem;border:1px solid #eee;transition:all .3s ease;box-shadow:var(--shadow);position:relative;overflow:hidden}
.education-card::before{content:'';position:absolute;top:0;left:0;right:0;height:5px;background:var(--gradient-1)}
.education-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-hover)}
.education-card h3{color:var(--text-color);font-size:1.3rem;margin-bottom:.5rem}
.education-card .degree{color:var(--primary-color);font-weight:600;margin-bottom:.5rem}
.education-card .gpa{color:#666;font-size:.9rem}
.education-card .date{background:var(--gradient-1);color:#fff;padding:.5rem 1rem;border-radius:20px;font-size:.9rem;font-weight:600;display:inline-block;margin:1rem 0}

.skills{background:#fff}
.skill-tags{display:flex;flex-wrap:wrap;gap:.5rem}
.skill-tag{background:var(--gradient-1);color:#fff;padding:.4rem .9rem;border-radius:20px;font-size:.85rem;font-weight:500;transition:all .3s ease;border:none}
.skill-tag:hover{transform:translateY(-2px);box-shadow:0 5px 15px rgba(102,126,234,.3)}

.journey-card{grid-column:1 / -1;background:#fff;border-radius:20px;box-shadow:var(--shadow);padding:1.25rem 1.5rem;border-left:6px solid var(--primary-color);margin-bottom:1rem}
.journey-card h3{margin-bottom:.25rem}
.skills-row{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem;align-items:stretch}
.skill-card{background:#fff;border-radius:18px;box-shadow:var(--shadow);padding:1.1rem 1.2rem;border:1px solid #eee}
.skill-card h4{display:flex;align-items:center;gap:.5rem;margin-bottom:.6rem;font-size:1.05rem}
.skill-card i{color:var(--primary-color)}
.tag-stack{display:flex;flex-wrap:wrap;gap:.45rem .5rem}
.skill-tag{padding:.35rem .75rem;font-size:.8rem;border-radius:999px}
@media (max-width:992px){.skills-row{grid-template-columns:repeat(2,1fr)}}
@media (max-width:540px){.skills-row{grid-template-columns:1fr}}

.experience{background:var(--light-bg);position:relative}
.timeline-container{position:relative;overflow-x:auto;overflow-y:hidden;padding:2rem 0;scrollbar-width:thin;scrollbar-color:var(--primary-color) #f1f1f1}
.timeline-container::-webkit-scrollbar{height:8px}
.timeline-container::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}
.timeline-container::-webkit-scrollbar-thumb{background:var(--gradient-1);border-radius:4px}
.timeline{display:flex;position:relative;min-width:max-content;padding:1rem 0}
.timeline::before{content:'';position:absolute;top:50%;left:0;right:0;height:3px;background:var(--gradient-1);z-index:1;border-radius:2px}
.timeline-item{position:relative;min-width:380px;margin-right:2rem;z-index:2}
.timeline-dot{display:none!important}
.timeline-content{background:#fff;border-radius:25px;padding:1.8rem;box-shadow:var(--shadow);border:1px solid #eee;transition:all .3s ease;margin-top:3rem;position:relative;overflow:hidden}
.timeline-content::before{content:'';position:absolute;top:0;left:0;right:0;height:5px;background:var(--gradient-1)}
.timeline-content:hover{transform:translateY(-8px);box-shadow:var(--shadow-hover)}
.timeline-date{background:var(--gradient-1);color:#fff;padding:.6rem 1.2rem;border-radius:25px;font-size:.9rem;font-weight:600;display:inline-block;margin-bottom:1rem;box-shadow:0 5px 15px rgba(102,126,234,.2)}
.timeline-title{font-size:1.4rem;font-weight:700;color:var(--text-color);margin-bottom:.5rem}
.timeline-subtitle{font-size:1.05rem;color:var(--primary-color);font-weight:600;margin-bottom:1rem}
.timeline-achievements{margin-bottom:1rem;padding-left:1.1rem}
.timeline-achievements li{color:#666;margin-bottom:.5rem;position:relative;list-style:none; padding-left:1.1rem;}
.timeline-achievements li::before{content:'▸';position:absolute;left:0; top:.15rem; color:var(--primary-color);font-weight:bold}
@media (max-width:768px){
  .timeline-achievements li{padding-left:1.2rem}
  .timeline-achievements li::before{top:.25rem}
}
.timeline-skills{display:flex;flex-wrap:wrap;gap:.5rem}
.scroll-hint{text-align:center;color:#666;font-size:.9rem;margin-top:1rem;display:flex;align-items:center;justify-content:center;gap:.5rem}

.projects{background:#fff}
.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2rem;margin-top:2rem}
.project-card{background:#fff;border-radius:25px;overflow:hidden;box-shadow:var(--shadow);transition:all .3s ease;position:relative}
.project-card:hover{transform:translateY(-10px);box-shadow:var(--shadow-hover)}
.project-header{background:var(--gradient-1);color:#fff;padding:2rem;text-align:center;position:relative;overflow:hidden}
.project-icon{font-size:3rem;margin-bottom:1rem;opacity:.9}
.project-content{padding:2rem}
.project-content p{color:#666;line-height:1.6;margin-bottom:1.2rem}
.project-links{display:flex;gap:1rem;margin-bottom:1rem}
.project-links a{color:var(--primary-color);text-decoration:none;font-weight:600;display:flex;align-items:center;gap:.5rem;transition:all .3s ease}
.project-links a:hover{transform:translateX(5px)}

.awards{background:#fff}
.certs-note{text-align:center;margin-top:2rem;padding:2rem;background:var(--light-bg);border-radius:20px}
.certs-note h4{color:var(--primary-color);margin-bottom:1rem}
.award-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:2rem}
.award-card{background:#fff;border-radius:25px;padding:1.8rem 2rem;border:1px solid #eee;box-shadow:var(--shadow)}
.award-card h3{margin-bottom:.35rem}
.award-card .muted{color:#666;margin-bottom:.5rem;font-weight:600}
/* allow long titles to wrap (fix Stanford link overflow) */
.award-card h3 a{color:var(--primary-color);text-decoration:none;font-weight:800;display:inline;letter-spacing:.2px;white-space:normal;overflow-wrap:break-word}
.award-card h3 a:hover{opacity:.9;text-decoration:underline}

/* =========================
   Contact & Footer
========================= */
.contact{background:var(--gradient-1);color:#fff;text-align:center;position:relative;overflow:hidden}
.contact::before{content:'';position:absolute;inset:0;background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1000 1000"><polygon fill="rgba(255,255,255,0.05)" points="0,0 1000,1000 0,1000"/></svg>')}
.contact .section-title{-webkit-text-fill-color:#fff;color:#fff}
.contact-form{max-width:600px;margin:0 auto;background:rgba(255,255,255,.1);padding:3rem;border-radius:25px;backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.2)}
.contact-lead{margin-bottom:1.5rem;opacity:.9}
.google-form-container{background:#fff;border-radius:15px;padding:1rem;margin-top:2rem}
.google-form-container iframe{width:100%;border:none;border-radius:10px}
.contact-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;margin-top:3rem;position:relative;z-index:2}
.contact-item{padding:2rem;background:rgba(255,255,255,.1);border-radius:20px;backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.2);transition:all .3s ease}
.contact-item:hover{transform:translateY(-5px);background:rgba(255,255,255,.15)}
.contact-item i{font-size:2.2rem;margin-bottom:1rem;color:rgba(255,255,255,.85)}
.contact-item .email{display:inline-block;font-size:.7rem;line-height:1.4;color:#fff;opacity:.95;text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;margin-bottom:.6rem}
.contact-item .email:hover{text-decoration:underline;opacity:1}
.footer{background:var(--dark-bg);color:#fff;text-align:center;padding:3rem 0}
.social-links{display:flex;justify-content:center;gap:1rem;margin-bottom:1.2rem}
.social-links a{width:44px;height:44px;background:var(--gradient-1);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.05rem;text-decoration:none;transition:all .3s ease}
.social-links a:hover{transform:translateY(-5px);box-shadow:0 10px 25px rgba(102,126,234,.3)}
.love-note{font-size:.9rem;opacity:.75;margin-top:.5rem}

/* =========================
   Reveal Animations
========================= */
.fade-in{opacity:0;transform:translateY(30px);transition:all .8s ease}
.fade-in.visible{opacity:1;transform:translateY(0)}
.slide-in-left{opacity:0;transform:translateX(-50px);transition:all .8s ease}
.slide-in-left.visible{opacity:1;transform:translateX(0)}
.slide-in-right{opacity:0;transform:translateX(50px);transition:all .8s ease}
.slide-in-right.visible{opacity:1;transform:translateX(0)}

/* =========================
   Floaters (behind content)
========================= */
.bg-floaters{
  position:absolute; inset:0; pointer-events:none; overflow:hidden;
  z-index:0; opacity:.25; font-size:0; /* never show stray text nodes */
}
.bg-floater{
  position:absolute; font-size:24px; color:rgba(255,255,255,.9);
  animation:floater-drift linear infinite; filter:drop-shadow(0 2px 4px rgba(0,0,0,.08));
}
@keyframes floater-drift{
  0%{ transform:translateY(40px) translateX(0) scale(1); opacity:0; }
  10%{ opacity:1; }
  90%{ opacity:1; }
  100%{ transform:translateY(-120vh) translateX(0) scale(1); opacity:0; }
}
section .container{ position:relative; z-index:1; } /* keep content above */

/* =========================
   Responsive (Navbar & Sections)
========================= */
@media (max-width:768px){
  /* make header a stable strip */
  .navbar{top:0;left:0;right:0;transform:none;border-radius:0;padding:10px 12px;justify-content:space-between}
  .navbar.scrolled{transform:none}

  /* hamburger shows on mobile */
  .nav-toggle{display:inline-flex;flex-direction:column;gap:4px;background:transparent;border:0;padding:8px;cursor:pointer;z-index:1001}
  .nav-toggle .bar{width:24px;height:2px;background:#333;border-radius:2px}

  /* dropdown menu */
  .nav-menu{
    position:absolute; top:100%; left:0; right:0;
    background:#fff; border-bottom:1px solid #eee; box-shadow:var(--shadow);
    display:none; flex-direction:column; gap:0; padding:8px 12px; z-index:1000;
    overflow-x:hidden; white-space:normal;
  }
  .nav-menu li{margin:0}
  .nav-menu a{display:block;padding:12px 10px;border-radius:10px;font-size:15px}
  .navbar.is-open .nav-menu{display:flex}

  /* when menu open, give hero extra top room */
  .navbar.is-open ~ section.hero{ padding-top: calc(var(--nav-h, 64px) + 220px); }

  .section-title{font-size:2rem}
  .about-content{grid-template-columns:1fr;text-align:center}
  .about-stats{grid-template-columns:1fr}
}

/* === Universal horizontal strip (snap + swipe) === */
.h-strip {
  position: relative;
}

.h-track {
  display: grid;
  grid-auto-flow: column;
  /* each card width adapts across phone→desktop */
  grid-auto-columns: clamp(280px, 85vw, 420px);
  gap: 1.25rem;

  overflow-x: auto;
  overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory;
  scroll-padding-left: 1rem;

  padding: .25rem 1rem .75rem; /* breathing room + scrollbar room */
}
.h-track::-webkit-scrollbar { height: 8px; }
.h-track::-webkit-scrollbar-thumb {
  background: var(--gradient-1);
  border-radius: 6px;
}

.h-card { scroll-snap-align: start; }

/* Desktop: show a little more per card if you like */
@media (min-width: 992px){
  .h-track { grid-auto-columns: clamp(320px, 42vw, 460px); }
}

/* optional: subtle snap “bump” on reduce motion off */
@media (prefers-reduced-motion: no-preference){
  .h-track { scroll-behavior: smooth; }
}

/* === Tiny nav arrows (optional) === */
.strip-nav {
  position: absolute; top: -46px; right: 1rem;
  display: flex; gap: .5rem;
}
.strip-btn{
  border: 0; border-radius: 999px; padding: .5rem .7rem;
  background: rgba(0,0,0,.05);
  box-shadow: var(--shadow);
  cursor: pointer;
}
.strip-btn:hover{ background: rgba(0,0,0,.08); }

.strip-btn[disabled]{ opacity:.4; cursor: not-allowed; }

/* === Experience: keep the center line, but lighter, and slim cards === */
.experience .h-track {
  background:
    linear-gradient(to right, transparent 0 1rem, rgba(102,126,234,.25) 1rem calc(100% - 1rem), transparent 0)
    top 50% / 100% 3px no-repeat;
}
.experience .timeline-content { padding: 1.4rem 1.5rem; }
.experience .timeline-item { min-width: 0; } /* not needed with h-track */
.experience .timeline-date { margin-bottom: .75rem; }

/* Make each experience/project card behave as a snap card */
.experience .timeline-content,
.projects .project-card { scroll-snap-align: start; }

/* Make experience strip match projects + add a centered line behind cards */
.h-strip[data-strip="experience"]{ position:relative; }
.h-strip[data-strip="experience"]::before{
  content:""; position:absolute; left:0; right:0; top:50%;
  height:3px; background:var(--gradient-1); border-radius:2px; z-index:0;
  opacity:.75;
}

/* ensure cards sit above the line */
.h-strip[data-strip="experience"] .h-card{ position:relative; z-index:1; }

/* card visuals (reuse your existing card look) */
.exp-card{
  background:#fff; border:1px solid #eee; border-radius:22px; box-shadow:var(--shadow);
  padding:1.4rem 1.6rem; min-width: 340px; /* same width as projects cards */
  scroll-snap-align: start; margin-right: 1rem;
}
@media (max-width:480px){ .exp-card{ min-width: 85%; } }

.exp-date{
  display:inline-block; background:var(--gradient-1); color:#fff;
  padding:.45rem .9rem; border-radius:999px; font-weight:600; font-size:.9rem; margin-bottom:.8rem;
}
.exp-title{ font-size:1.2rem; font-weight:700; margin-bottom:.25rem; color:var(--text-color); }
.exp-sub{ color:var(--primary-color); font-weight:600; margin-bottom:.8rem; }
.exp-list{ padding-left:1.05rem; margin:0 0 .8rem; }
.exp-list li{ color:#666; margin:.4rem 0; }



/* --- Certifications: remove dots/markers completely --- */
.certifications-title {
  text-align: center;
  font-weight: bold;
  color: #6c63ff; /* match your heading color */
}

.certifications-list {
  list-style: none;        /* remove dots */
  padding-left: 0;         /* remove indent */
  margin-left: 0;
  text-align: center;      /* center all links */
}

.certifications-list li {
  margin-bottom: 8px;      /* space between items */
}

.certifications-list a {
  text-decoration: underline;
  color: blue;
}


/* --- Hero: make 'Proven experience' / 'Aspirations' a bold centered subtitle
       and add breathing room above it --- */
.role-label{
  display: block;
  text-align: center;
  font-weight: 800;
  font-size: 1.25rem;      /* desktop size ~ your Education card titles */
  color: #ffffff;          /* keep it bright on the gradient */
  letter-spacing: .2px;
  margin: 18px auto 8px;   /* ↑ extra gap from the bullet list */
}

@media (max-width: 768px){
  .role-label{ font-size: 1.1rem; margin-top: 14px; }
}

/* also give a bit more space after the hero bullet list */
.hero-points{ margin-bottom: 1rem !important; }

.project-links a {
  pointer-events: auto;
}


/* Large title shrink a bit on tablets */
@media (max-width:992px){.hero-title{font-size:3rem}}
