/* ══════════════════════════════════════════════════════════════════════
   MBBSAdmissions.com — "THE KINETIC GUIDE" homepage design system
   Vibe: app-native mentor (PhonePe / Zomato / BYJU'S energy).
   Indigo + safety-orange, Outfit + Plus Jakarta Sans, bento + pills.
   Self-contained: only index.html links this. Other pages keep styles.css.
   ══════════════════════════════════════════════════════════════════════ */

:root {
  /* Brand */
  --indigo:      #4F46E5;
  --indigo-d:    #4338CA;
  --indigo-dd:   #312E81;
  --orange:      #FB923C;
  --orange-d:    #F97316;
  --mint:        #F0FDF4;
  --sky:         #0EA5E9;
  --whatsapp:    #25D366;
  --whatsapp-d:  #1EBE5A;

  /* Ink / text (kept names app.js inline styles may reference) */
  --ink:         #1E1B39;
  --slate:       #56516E;
  --slate-light: #9590AC;
  --accent:      #4F46E5;
  --accent-hover:#4338CA;
  --accent-soft: rgba(79,70,229,0.08);
  --accent-subtle:#EEF0FF;

  --success:     #16A34A;
  --success-soft:rgba(22,163,74,0.10);
  --warning:     #D97706;
  --danger:      #DC2626;

  /* Surfaces */
  --white:       #FFFFFF;
  --bg:          #FFFFFF;
  --bg-soft:     #F5F4FF;      /* indigo-tinted alt */
  --bg-mint:     #F0FDF8;
  --surface:     #F5F4FF;
  --card:        #FFFFFF;
  --border:      #ECEAFB;
  --border-strong:#DEDAF6;

  /* On-dark */
  --on-ink:       #FFFFFF;
  --on-ink-muted: rgba(255,255,255,0.74);
  --on-ink-faint: rgba(255,255,255,0.50);
  --on-ink-line:  rgba(255,255,255,0.14);

  /* Type */
  --font-head: 'Outfit', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-body: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --text-xs: .75rem; --text-sm: .875rem; --text-base: 1rem; --text-lg: 1.125rem;
  --text-xl: 1.25rem; --text-2xl: 1.5rem; --text-3xl: 1.875rem; --text-4xl: 2.25rem;
  --text-h1: clamp(2.4rem, 6.5vw, 4.25rem);

  /* Spacing */
  --space-1:.25rem; --space-2:.5rem; --space-3:.75rem; --space-4:1rem;
  --space-5:1.25rem; --space-6:1.5rem; --space-8:2rem; --space-10:2.5rem;
  --space-12:3rem; --space-16:4rem; --space-20:5rem; --space-24:6rem;
  --section-y: clamp(3.5rem, 9vw, 6rem);

  /* Shape — super-rounded, sticker shadows */
  --r-sm: 14px; --r: 22px; --r-lg: 30px; --r-xl: 40px; --r-pill: 999px;
  --shadow-pop:  0 18px 40px -16px rgba(49,46,129,0.30);
  --shadow-soft: 0 10px 26px -14px rgba(49,46,129,0.22);
  --shadow-card: 0 4px 18px -10px rgba(49,46,129,0.20);
  --shadow-hard-indigo: 0 5px 0 0 var(--indigo-d);
  --shadow-hard-orange: 0 5px 0 0 var(--orange-d);
  --shadow-hard-wa:     0 5px 0 0 var(--whatsapp-d);

  --ease: cubic-bezier(0.34, 1.56, 0.64, 1);     /* springy */
  --ease-soft: cubic-bezier(0.4, 0, 0.2, 1);
}

/* ── Reset ───────────────────────────────────────────────────────────── */
* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; -webkit-text-size-adjust:100%; scroll-padding-top:140px; }
body {
  font-family: var(--font-body);
  font-size: var(--text-base);
  line-height: 1.6;
  color: var(--ink);
  background: var(--bg);
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
img, svg { display:block; max-width:100%; }
button { font-family:inherit; cursor:pointer; }
input, select, textarea { font-family:inherit; font-size:inherit; }
a { color:inherit; text-decoration:none; }
:focus { outline:none; }
:focus-visible { outline:3px solid var(--indigo); outline-offset:2px; border-radius:8px; }

h1,h2,h3,h4 { font-family:var(--font-head); }

/* ── Layout primitives ───────────────────────────────────────────────── */
.container { max-width:1140px; margin:0 auto; padding:0 var(--space-5); }
.section-eyebrow {
  display:inline-flex; align-items:center; gap:6px;
  font-family:var(--font-head);
  font-size:var(--text-xs); font-weight:700; letter-spacing:.08em; text-transform:uppercase;
  color:var(--indigo);
  background:var(--accent-subtle);
  padding:.4rem .8rem; border-radius:var(--r-pill);
  margin-bottom:var(--space-4);
}
.section-title {
  font-family:var(--font-head);
  font-size:clamp(1.9rem, 4.2vw, 3rem); font-weight:800; letter-spacing:-.02em;
  line-height:1.05; color:var(--ink); margin-bottom:var(--space-4);
}
.section-title .hl { color:var(--indigo); }
.section-title .hl-o { color:var(--orange-d); }
.section-sub { font-size:var(--text-lg); color:var(--slate); max-width:40rem; line-height:1.6; }
.center { text-align:center; }
.center .section-sub { margin-left:auto; margin-right:auto; }

/* ── Buttons ─────────────────────────────────────────────────────────── */
.btn {
  display:inline-flex; align-items:center; justify-content:center; gap:.55rem;
  font-family:var(--font-head); font-weight:700; font-size:var(--text-base);
  padding:.95rem 1.6rem; border:none; border-radius:var(--r-pill);
  transition: transform .18s var(--ease), box-shadow .18s var(--ease-soft), background .18s;
  white-space:nowrap; line-height:1;
}
.btn [data-lucide]{ width:18px; height:18px; }
.btn:active { transform:translateY(3px); }
.btn-primary { background:var(--orange); color:#3a1d00; box-shadow:var(--shadow-hard-orange); }
.btn-primary:hover { background:var(--orange-d); transform:translateY(-2px); box-shadow:0 9px 0 0 var(--orange-d); color:#fff; }
.btn-primary:active { box-shadow:0 2px 0 0 var(--orange-d); }
.btn-indigo { background:var(--indigo); color:#fff; box-shadow:var(--shadow-hard-indigo); }
.btn-indigo:hover { background:var(--indigo-d); transform:translateY(-2px); box-shadow:0 9px 0 0 var(--indigo-d); }
.btn-indigo:active { box-shadow:0 2px 0 0 var(--indigo-d); }
.btn-wa { background:var(--whatsapp); color:#fff; box-shadow:var(--shadow-hard-wa); }
.btn-wa:hover { background:var(--whatsapp-d); transform:translateY(-2px); box-shadow:0 9px 0 0 var(--whatsapp-d); }
.btn-wa:active { box-shadow:0 2px 0 0 var(--whatsapp-d); }
.btn-ghost { background:var(--white); color:var(--ink); border:2px solid var(--border-strong); }
.btn-ghost:hover { border-color:var(--indigo); color:var(--indigo); transform:translateY(-2px); }
.btn-lg { padding:1.1rem 2rem; font-size:var(--text-lg); }
.btn-block { width:100%; }

/* ── Nav ─────────────────────────────────────────────────────────────── */
nav {
  position:fixed; inset:0 0 auto 0; z-index:1000;
  display:flex; align-items:center; justify-content:space-between;
  height:68px; padding:0 var(--space-5);
  background:rgba(255,255,255,0.82);
  backdrop-filter:saturate(180%) blur(14px);
  -webkit-backdrop-filter:saturate(180%) blur(14px);
  border-bottom:1px solid var(--border);
  transition:box-shadow .2s;
}
nav.nav-scrolled { box-shadow:0 6px 24px -14px rgba(49,46,129,0.35); }
.nav-logo {
  display:inline-flex; align-items:center; gap:.5rem;
  font-family:var(--font-head); font-weight:800; font-size:var(--text-lg);
  letter-spacing:-.02em; color:var(--ink); white-space:nowrap; flex-shrink:0;
}
.nav-logo span { color:var(--indigo); }
.nav-links { list-style:none; display:flex; align-items:center; gap:var(--space-5); }
.nav-links a { font-family:var(--font-head); font-weight:600; font-size:var(--text-sm); color:var(--slate); transition:color .15s; white-space:nowrap; }
.nav-links a:hover { color:var(--indigo); }
.nav-cta { background:var(--indigo); color:#fff !important; padding:.6rem 1.1rem; border-radius:var(--r-pill); box-shadow:var(--shadow-hard-indigo); transition:transform .15s var(--ease); white-space:nowrap; }
.nav-cta:hover { transform:translateY(-2px); background:var(--indigo-d); }
.nav-hamburger {
  display:none; width:46px; height:46px; align-items:center; justify-content:center;
  background:var(--accent-subtle); border:none; color:var(--indigo); border-radius:14px;
}
.nav-hamburger [data-lucide]{ width:22px; height:22px; }

/* ══ CAREER PULSE — the signature "wow" timeline (sticky under nav) ════ */
.pulse {
  position:sticky; top:68px; z-index:900;
  background:linear-gradient(180deg, #ffffff, #faf9ff);
  border-bottom:1px solid var(--border);
  padding:.55rem var(--space-5);
  transition:transform .32s var(--ease-soft);
  will-change:transform;
}
.pulse.pulse-hidden { transform:translateY(-115%); }
.pulse-track {
  max-width:1140px; margin:0 auto;
  display:flex; align-items:center; gap:0;
  position:relative;
}
.pulse-node {
  flex:1; position:relative;
  display:flex; flex-direction:column; align-items:center; gap:5px;
  background:none; border:none; padding:.35rem 0;
  color:var(--slate-light); font-family:var(--font-head); font-weight:700;
  font-size:.72rem; letter-spacing:.02em;
  transition:color .2s;
}
.pulse-node .dot {
  width:18px; height:18px; border-radius:50%;
  background:var(--white); border:3px solid var(--border-strong);
  display:flex; align-items:center; justify-content:center;
  transition:all .25s var(--ease); position:relative; z-index:2;
}
.pulse-node .dot [data-lucide]{ width:10px; height:10px; color:transparent; }
.pulse-line {
  position:absolute; top:calc(.35rem + 9px); left:12%; right:12%; height:3px;
  background:var(--border-strong); z-index:1; border-radius:2px;
}
.pulse-line .fill {
  position:absolute; inset:0 100% 0 0; background:linear-gradient(90deg,var(--indigo),var(--orange));
  border-radius:2px; transition:right .5s var(--ease-soft);
}
.pulse-node:hover, .pulse-node.active { color:var(--indigo); }
.pulse-node.active .dot { background:var(--indigo); border-color:var(--indigo); transform:scale(1.18); box-shadow:0 0 0 5px var(--accent-soft); }
.pulse-node.active .dot [data-lucide]{ color:#fff; }
.pulse-pop {
  display:none;
  max-width:1140px; margin:.5rem auto 0;
  background:var(--ink); color:#fff;
  border-radius:var(--r); padding:var(--space-5) var(--space-6);
  box-shadow:var(--shadow-pop);
  animation:popIn .3s var(--ease);
}
.pulse-pop.show { display:block; }
.pulse-pop h4 { font-size:var(--text-lg); font-weight:800; margin-bottom:.35rem; display:flex; align-items:center; gap:.5rem; }
.pulse-pop h4 .tag { font-size:.65rem; background:var(--orange); color:#3a1d00; padding:.15rem .5rem; border-radius:var(--r-pill); font-weight:800; letter-spacing:.03em; text-transform:uppercase; }
.pulse-pop p { font-size:var(--text-sm); color:var(--on-ink-muted); line-height:1.6; }
@keyframes popIn { from{opacity:0; transform:translateY(-6px);} to{opacity:1; transform:none;} }

/* ── Hero — bento ────────────────────────────────────────────────────── */
#hero {
  padding:calc(68px + 56px + var(--space-12)) var(--space-5) var(--space-12);
  background:
    radial-gradient(60% 50% at 12% 0%, rgba(79,70,229,0.10), transparent 70%),
    radial-gradient(50% 45% at 95% 10%, rgba(251,146,60,0.12), transparent 70%),
    var(--bg);
}
.hero-inner { max-width:1140px; margin:0 auto; }
.hero-badge {
  display:inline-flex; align-items:center; gap:.5rem;
  background:var(--white); border:2px solid var(--border-strong);
  color:var(--ink); font-family:var(--font-head); font-weight:700;
  font-size:var(--text-xs); padding:.45rem .9rem; border-radius:var(--r-pill);
  box-shadow:var(--shadow-card); margin-bottom:var(--space-5);
}
.hero-badge [data-lucide]{ width:15px; height:15px; color:var(--success); }
.hero-title {
  font-family:var(--font-head); font-size:var(--text-h1); font-weight:800;
  letter-spacing:-.03em; line-height:1; color:var(--ink); margin-bottom:var(--space-5);
}
.hero-title .hl { color:var(--indigo); }
.hero-title .hl-o { background:linear-gradient(100deg,var(--orange-d),var(--orange)); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.hero-sub { font-size:var(--text-lg); color:var(--slate); max-width:34rem; margin-bottom:var(--space-6); }
.hero-sub strong { color:var(--ink); }
.hero-ctas { display:flex; gap:var(--space-3); flex-wrap:wrap; margin-bottom:var(--space-6); }

/* Bento grid */
.bento {
  display:grid; gap:var(--space-4);
  grid-template-columns:1.4fr 1fr;
  align-items:stretch;
}
.bento-main { display:flex; flex-direction:column; justify-content:center; }
.bento-side { display:grid; grid-template-rows:auto auto; gap:var(--space-4); }
.bento-card {
  background:var(--card); border:1px solid var(--border);
  border-radius:var(--r-lg); padding:var(--space-6);
  box-shadow:var(--shadow-card);
  transition:transform .25s var(--ease), box-shadow .25s var(--ease-soft);
}
.bento-card.lift:hover { transform:translateY(-4px); box-shadow:var(--shadow-pop); }
.bento-card.indigo { background:linear-gradient(150deg,var(--indigo),var(--indigo-dd)); color:#fff; border:none; }
.bento-card.indigo h3 { color:#fff; }
.bento-card.indigo p { color:var(--on-ink-muted); }
.bento-card.mint { background:var(--bg-mint); border-color:#CDEEDD; }

/* Quick search card (hero) */
.hero-search-card h3 { font-family:var(--font-head); font-weight:800; font-size:var(--text-base); margin-bottom:.25rem; }
.hero-search-card .muted { font-size:var(--text-xs); color:var(--slate); margin-bottom:var(--space-3); }
.hero-search { display:flex; flex-direction:column; gap:var(--space-2); }
.search-select {
  width:100%; background:var(--white); border:2px solid var(--border-strong);
  border-radius:14px; padding:.8rem .9rem; color:var(--ink); font-weight:600; font-size:var(--text-sm);
  transition:border-color .15s;
}
.search-select:focus { border-color:var(--indigo); }
.search-btn {
  display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
  background:var(--indigo); color:#fff; border:none; border-radius:14px;
  padding:.85rem; font-family:var(--font-head); font-weight:700; font-size:var(--text-sm);
  box-shadow:var(--shadow-hard-indigo); transition:transform .15s var(--ease);
}
.search-btn:hover { transform:translateY(-2px); background:var(--indigo-d); }
.search-btn [data-lucide]{ width:16px; height:16px; }

/* WhatsApp mini card */
.wa-mini { display:flex; align-items:center; gap:var(--space-3); }
.wa-mini .ic { width:46px; height:46px; border-radius:14px; background:rgba(37,211,102,0.14); color:var(--whatsapp-d); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.wa-mini .ic [data-lucide]{ width:24px; height:24px; }
.wa-mini h3 { font-size:var(--text-base); font-weight:800; }
.wa-mini p { font-size:var(--text-xs); color:var(--slate); }

/* Hero photo card (banner) */
.hero-photo { padding:0; overflow:hidden; position:relative; min-height:210px; }
.hero-photo img { width:100%; height:100%; object-fit:cover; display:block; }
.hero-photo-badge {
  position:absolute; left:var(--space-4); bottom:var(--space-4);
  background:rgba(15,12,40,0.60); backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px);
  color:#fff; border-radius:var(--r); padding:.55rem .9rem;
}
.hero-photo-badge strong { display:block; font-family:var(--font-head); font-weight:800; font-size:var(--text-base); }
.hero-photo-badge span { font-size:var(--text-xs); color:rgba(255,255,255,0.82); }

/* Reusable rounded media */
.media-rounded { border-radius:var(--r-lg); overflow:hidden; box-shadow:var(--shadow-card); }
.media-rounded img { width:100%; height:100%; display:block; object-fit:cover; }
.parents-photo { max-width:1140px; margin:0 auto var(--space-10); aspect-ratio:21/7; }
.contact-photo { margin-bottom:var(--space-6); aspect-ratio:16/10; }
.section-banner { max-width:1140px; margin:0 auto var(--space-10); aspect-ratio:24/7; }
@media (max-width:640px){ .parents-photo{ aspect-ratio:16/9; } .contact-photo{ aspect-ratio:16/9; } .section-banner{ aspect-ratio:16/9; } }

/* Hero stats (app.js counters target .hero-stat strong) */
.hero-stats { display:grid; grid-template-columns:repeat(2,1fr); gap:var(--space-4); }
.hero-stat { background:var(--bg-soft); border-radius:18px; padding:var(--space-4); text-align:center; }
.hero-stat strong { display:block; font-family:var(--font-head); font-size:var(--text-3xl); font-weight:800; color:var(--indigo); line-height:1; }
.hero-stat span { font-size:var(--text-xs); color:var(--slate); font-weight:600; }

/* ── Verify badges strip ─────────────────────────────────────────────── */
.verify-strip { padding:var(--space-6) var(--space-5); background:var(--bg-soft); }
.verify-strip-inner { max-width:1140px; margin:0 auto; display:flex; flex-wrap:wrap; gap:var(--space-3); justify-content:center; }
.verify-item {
  display:inline-flex; align-items:center; gap:.5rem;
  background:var(--white); border:2px solid var(--border);
  border-radius:var(--r-pill); padding:.55rem 1rem;
  font-family:var(--font-head); font-weight:700; font-size:var(--text-sm); color:var(--ink);
  box-shadow:var(--shadow-card);
}
.verify-item [data-lucide]{ width:18px; height:18px; color:var(--success); }
.verify-divider { display:none; }

/* ── Generic section paddings ────────────────────────────────────────── */
section[id] { scroll-margin-top:140px; }
#nmc-guidelines,#how-it-works,#countries,#university-search,#comparison,#courses,#faq,#testimonials,#contact,#trust-promise {
  padding:var(--section-y) var(--space-5);
}
#how-it-works,#university-search,#courses,#testimonials { background:var(--bg-soft); }
.sec-head { text-align:center; max-width:680px; margin:0 auto var(--space-12); }
.sec-head .section-sub { margin:0 auto; }

/* ── NMC guideline cards (expandable; app.js toggleNmcCard) ──────────── */
.nmc-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); gap:var(--space-4); align-items:start; max-width:1140px; margin:0 auto; }
.nmc-card { background:var(--card); border:2px solid var(--border); border-radius:var(--r); padding:var(--space-6); transition:transform .2s var(--ease), box-shadow .2s, border-color .2s, background .2s; }
.nmc-card.expandable { cursor:pointer; }
.nmc-card.expandable:hover { transform:translateY(-3px); box-shadow:var(--shadow-soft); border-color:var(--border-strong); }
.nmc-card[aria-expanded="true"] { border-color:var(--indigo); background:var(--accent-subtle); box-shadow:var(--shadow-soft); }
.nmc-card-header { display:flex; align-items:center; gap:var(--space-3); margin-bottom:var(--space-3); }
.nmc-card-header h3 { flex:1; font-size:var(--text-lg); font-weight:800; color:var(--ink); margin:0; }
.nmc-card .icon { width:44px; height:44px; border-radius:14px; background:var(--accent-subtle); color:var(--indigo); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.nmc-card .icon [data-lucide]{ width:22px; height:22px; }
.nmc-card[aria-expanded="true"] .icon { background:var(--indigo); color:#fff; }
.nmc-chevron { width:18px; height:18px; color:var(--slate-light); transition:transform .25s var(--ease); }
.nmc-card[aria-expanded="true"] .nmc-chevron { transform:rotate(180deg); color:var(--indigo); }
.nmc-summary { font-size:var(--text-sm); color:var(--slate); line-height:1.6; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.nmc-card[aria-expanded="true"] .nmc-summary { -webkit-line-clamp:unset; overflow:visible; }
.nmc-expand { display:grid; grid-template-rows:0fr; transition:grid-template-rows .3s var(--ease-soft); }
.nmc-expand > * { overflow:hidden; }
.nmc-card[aria-expanded="true"] .nmc-expand { grid-template-rows:1fr; }
.nmc-detail-list { list-style:none; display:flex; flex-direction:column; gap:var(--space-2); margin-top:var(--space-4); padding-top:var(--space-4); border-top:1px solid var(--border-strong); }
.nmc-detail-list li { position:relative; padding-left:1.2rem; font-size:var(--text-sm); color:var(--slate); line-height:1.6; }
.nmc-detail-list li::before { content:""; position:absolute; left:0; top:.55em; width:7px; height:7px; border-radius:50%; background:var(--orange); }
.nmc-detail-list strong { color:var(--ink); }
.nmc-alert { max-width:1140px; margin:var(--space-8) auto 0; display:flex; gap:var(--space-3); background:#FFF7ED; border:2px solid #FED7AA; border-radius:var(--r); padding:var(--space-5) var(--space-6); }
.nmc-alert [data-lucide]{ width:22px; height:22px; color:var(--orange-d); flex-shrink:0; margin-top:2px; }
.nmc-alert p { font-size:var(--text-sm); color:var(--ink); line-height:1.6; }
.nmc-alert strong { color:var(--orange-d); }
.nmc-alert a { color:var(--indigo); font-weight:700; }

/* ── Agent vs Authority ──────────────────────────────────────────────── */
.agent-vs { display:grid; grid-template-columns:1fr 1fr; gap:var(--space-5); max-width:1000px; margin:0 auto; }
.avs-col { border-radius:var(--r-lg); padding:var(--space-8); border:2px solid var(--border); }
.avs-col.bad { background:var(--bg-soft); }
.avs-col.good { background:linear-gradient(180deg,var(--mint),#fff); border-color:var(--success); box-shadow:var(--shadow-soft); }
.avs-head { display:flex; align-items:center; gap:var(--space-3); margin-bottom:var(--space-5); font-family:var(--font-head); font-size:var(--text-xl); font-weight:800; }
.avs-col.bad .avs-head { color:var(--slate); }
.avs-badge { width:42px; height:42px; border-radius:14px; display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; }
.avs-col.bad .avs-badge { background:rgba(220,38,38,0.1); color:var(--danger); }
.avs-col.good .avs-badge { background:var(--success); color:#fff; }
.avs-badge [data-lucide]{ width:22px; height:22px; }
.avs-list { list-style:none; display:flex; flex-direction:column; gap:var(--space-4); }
.avs-list li { display:flex; gap:var(--space-3); font-size:var(--text-sm); line-height:1.55; color:var(--slate); }
.avs-list li [data-lucide]{ width:18px; height:18px; flex-shrink:0; margin-top:2px; }
.avs-col.bad .avs-list li [data-lucide]{ color:var(--danger); }
.avs-col.good .avs-list li { color:var(--ink); }
.avs-col.good .avs-list li [data-lucide]{ color:var(--success); }
.avs-list strong { color:var(--ink); }

/* ── How it works ────────────────────────────────────────────────────── */
.hiw-steps { display:grid; grid-template-columns:repeat(4,1fr); gap:var(--space-5); max-width:1140px; margin:0 auto; }
.hiw-step { background:var(--card); border:1px solid var(--border); border-radius:var(--r); padding:var(--space-6); text-align:left; box-shadow:var(--shadow-card); transition:transform .2s var(--ease); }
.hiw-step:hover { transform:translateY(-4px); box-shadow:var(--shadow-soft); }
.hiw-step-num { font-family:var(--font-head); font-weight:800; font-size:var(--text-sm); color:var(--orange-d); margin-bottom:var(--space-3); }
.hiw-step-icon { width:52px; height:52px; border-radius:16px; background:var(--accent-subtle); color:var(--indigo); display:flex; align-items:center; justify-content:center; margin-bottom:var(--space-4); }
.hiw-step-icon [data-lucide]{ width:24px; height:24px; }
.hiw-step h3 { font-size:var(--text-lg); font-weight:800; color:var(--ink); margin-bottom:var(--space-2); }
.hiw-step p { font-size:var(--text-sm); color:var(--slate); line-height:1.6; }
.hiw-connector { display:none; }

/* ── Country tabs + cards (app.js renders cards) ─────────────────────── */
.country-tabs { display:flex; gap:var(--space-2); flex-wrap:wrap; justify-content:center; margin-bottom:var(--space-10); }
.tab-btn { font-family:var(--font-head); font-weight:700; font-size:var(--text-sm); color:var(--slate); background:var(--white); border:2px solid var(--border-strong); border-radius:var(--r-pill); padding:.55rem 1.1rem; transition:all .18s var(--ease); }
.tab-btn:hover { color:var(--indigo); transform:translateY(-2px); }
.tab-btn.active { background:var(--indigo); color:#fff; border-color:var(--indigo); box-shadow:var(--shadow-hard-indigo); }
.countries-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:var(--space-4); max-width:1140px; margin:0 auto; }
.country-card { background:var(--card); border:1px solid var(--border); border-radius:var(--r); padding:var(--space-6); display:flex; flex-direction:column; box-shadow:var(--shadow-card); transition:transform .22s var(--ease), box-shadow .22s; }
.country-card:hover { transform:translateY(-5px); box-shadow:var(--shadow-pop); }
.country-card-header { display:flex; align-items:center; gap:var(--space-3); margin-bottom:var(--space-4); }
.country-flag { font-size:2rem; line-height:1; }
.country-card-header h3 { font-size:var(--text-base); font-weight:800; color:var(--ink); }
.country-card-header span { font-size:var(--text-xs); color:var(--slate); }
.country-meta { display:flex; gap:var(--space-2); flex-wrap:wrap; margin-bottom:var(--space-4); }
.meta-tag { font-family:var(--font-head); font-size:var(--text-xs); font-weight:700; padding:.25rem .65rem; border-radius:var(--r-pill); background:var(--bg-soft); color:var(--slate); }
.meta-tag.green { background:var(--success-soft); color:var(--success); }
.meta-tag.blue { background:var(--accent-subtle); color:var(--indigo); }
.country-points { list-style:none; display:flex; flex-direction:column; gap:var(--space-2); margin-bottom:var(--space-5); }
.country-points li { display:flex; align-items:flex-start; gap:var(--space-2); font-size:var(--text-sm); color:var(--slate); line-height:1.5; }
.country-points li [data-lucide]{ width:16px; height:16px; color:var(--success); flex-shrink:0; margin-top:2px; }
.country-card-footer { display:flex; justify-content:space-between; align-items:center; padding-top:var(--space-4); border-top:1px solid var(--border); margin-top:auto; }
.fee-range strong { display:block; font-family:var(--font-head); font-size:var(--text-lg); font-weight:800; color:var(--ink); }
.fee-range span { font-size:var(--text-xs); color:var(--slate); }
.view-btn { display:inline-flex; align-items:center; gap:5px; font-family:var(--font-head); font-weight:700; font-size:var(--text-sm); color:var(--indigo); background:none; border:none; }
.view-btn [data-lucide]{ width:15px; height:15px; }

/* ── University search + cards ───────────────────────────────────────── */
.uni-search-bar { display:flex; gap:var(--space-2); flex-wrap:wrap; max-width:780px; margin:0 auto var(--space-10); background:var(--white); border:2px solid var(--border-strong); border-radius:var(--r); padding:var(--space-3); box-shadow:var(--shadow-card); }
.uni-search-bar select, .uni-search-bar input { flex:1; min-width:180px; background:var(--white); border:2px solid var(--border); border-radius:14px; padding:.8rem; font-size:var(--text-sm); color:var(--ink); }
.uni-search-bar select:focus, .uni-search-bar input:focus { border-color:var(--indigo); }
.uni-search-btn { background:var(--indigo); color:#fff; border:none; border-radius:14px; padding:0 1.4rem; font-family:var(--font-head); font-weight:700; font-size:var(--text-sm); box-shadow:var(--shadow-hard-indigo); }
.uni-results { display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:var(--space-3); max-width:1140px; margin:0 auto; }
.uni-card { background:var(--card); border:1px solid var(--border); border-radius:var(--r); padding:var(--space-5); box-shadow:var(--shadow-card); transition:transform .2s var(--ease); }
.uni-card:hover { transform:translateY(-4px); box-shadow:var(--shadow-soft); }
.uni-card-top { display:flex; justify-content:space-between; gap:var(--space-2); margin-bottom:var(--space-3); }
.uni-card h4 { font-size:var(--text-sm); font-weight:800; color:var(--ink); line-height:1.4; }
.nmc-tag { display:inline-flex; align-items:center; gap:4px; background:var(--success-soft); color:var(--success); font-family:var(--font-head); font-size:.72rem; font-weight:800; padding:.2rem .5rem; border-radius:var(--r-pill); white-space:nowrap; height:fit-content; }
.nmc-tag [data-lucide]{ width:11px; height:11px; }
.uni-details { display:flex; flex-direction:column; gap:.35rem; }
.uni-detail { font-size:var(--text-xs); color:var(--slate); display:flex; gap:.5rem; align-items:center; }
.uni-detail strong { color:var(--ink); font-weight:700; }
.uni-detail [data-lucide]{ width:13px; height:13px; color:var(--slate-light); }
.uni-actions { display:flex; gap:var(--space-2); margin-top:var(--space-4); padding-top:var(--space-4); border-top:1px solid var(--border); }
.uni-actions a, .uni-actions button {
  flex:1; display:inline-flex; align-items:center; justify-content:center; gap:.4rem;
  font-family:var(--font-head); font-weight:700; font-size:.78rem;
  padding:.6rem .5rem; border-radius:var(--r-pill); border:none; cursor:pointer;
  transition:transform .15s var(--ease), background .15s;
}
.uni-actions a:hover, .uni-actions button:hover { transform:translateY(-2px); }
.uni-cta-wa { background:var(--whatsapp); color:#fff; }
.uni-cta-wa:hover { background:var(--whatsapp-d); }
.uni-cta-form { background:var(--accent-subtle); color:var(--indigo); }
.uni-cta-form:hover { background:var(--indigo); color:#fff; }
.uni-actions [data-lucide]{ width:14px; height:14px; }

/* Quick-view trigger on card */
.uni-quickview {
  width:100%; margin-top:var(--space-4);
  display:inline-flex; align-items:center; justify-content:center; gap:.4rem;
  background:none; border:none; cursor:pointer;
  font-family:var(--font-head); font-weight:700; font-size:.78rem; color:var(--slate);
  transition:color .15s;
}
.uni-quickview:hover { color:var(--indigo); }
.uni-quickview [data-lucide]{ width:14px; height:14px; }

/* ── Quick-view drawer (slide-over / bottom sheet) ───────────────────── */
.uni-drawer-backdrop {
  position:fixed; inset:0; z-index:10000;
  background:rgba(30,27,57,0.5); backdrop-filter:blur(3px);
  opacity:0; visibility:hidden; transition:opacity .25s var(--ease-soft), visibility .25s;
}
.uni-drawer-backdrop.open { opacity:1; visibility:visible; }
.uni-drawer {
  position:fixed; top:0; right:0; z-index:10001;
  width:min(440px, 92vw); height:100dvh;
  background:var(--white);
  box-shadow:var(--shadow-pop);
  padding:var(--space-8) var(--space-6) calc(var(--space-8) + env(safe-area-inset-bottom));
  overflow-y:auto;
  transform:translateX(100%);
  transition:transform .32s var(--ease);
}
.uni-drawer.open { transform:translateX(0); }
.uni-drawer-close {
  position:absolute; top:var(--space-4); right:var(--space-4);
  width:40px; height:40px; border:none; border-radius:50%;
  background:var(--bg-soft); color:var(--slate);
  display:inline-flex; align-items:center; justify-content:center;
}
.uni-drawer-close:hover { background:var(--surface-2,#EDEBFB); color:var(--ink); }
.uni-drawer-close [data-lucide]{ width:20px; height:20px; }
.drawer-head { margin-bottom:var(--space-5); padding-right:var(--space-8); }
.drawer-flagline { display:inline-flex; align-items:center; gap:5px; font-family:var(--font-head); font-weight:700; font-size:var(--text-xs); text-transform:uppercase; letter-spacing:.04em; color:var(--indigo); margin-bottom:var(--space-2); }
.drawer-flagline [data-lucide]{ width:14px; height:14px; }
.drawer-head h3 { font-family:var(--font-head); font-size:var(--text-2xl); font-weight:800; color:var(--ink); line-height:1.1; margin-bottom:var(--space-3); }
.drawer-head .nmc-tag { font-size:.72rem; }
.drawer-facts { display:flex; flex-direction:column; gap:0; border:1px solid var(--border); border-radius:var(--r); overflow:hidden; }
.drawer-fact { display:flex; align-items:center; justify-content:space-between; gap:var(--space-4); padding:.85rem var(--space-4); border-bottom:1px solid var(--border); }
.drawer-fact:last-child { border-bottom:none; }
.drawer-fact:nth-child(odd) { background:var(--bg-soft); }
.drawer-fact .k { display:inline-flex; align-items:center; gap:.5rem; font-size:var(--text-sm); color:var(--slate); }
.drawer-fact .k [data-lucide]{ width:16px; height:16px; color:var(--indigo); flex-shrink:0; }
.drawer-fact .v { font-family:var(--font-head); font-weight:700; font-size:var(--text-sm); color:var(--ink); text-align:right; }
.drawer-note { font-size:var(--text-xs); color:var(--slate-light); line-height:1.6; margin:var(--space-4) 0 var(--space-6); }
.drawer-cta { display:flex; flex-direction:column; gap:var(--space-3); }
.drawer-cta a, .drawer-cta button {
  display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
  font-family:var(--font-head); font-weight:800; font-size:var(--text-sm);
  padding:.95rem; border-radius:var(--r-pill); border:none; cursor:pointer; min-height:52px;
  transition:transform .15s var(--ease), background .15s;
}
.drawer-cta a:hover, .drawer-cta button:hover { transform:translateY(-2px); }
.drawer-cta [data-lucide]{ width:18px; height:18px; }

@media (max-width: 560px) {
  .uni-drawer {
    top:auto; bottom:0; right:0; left:0;
    width:100%; height:auto; max-height:88dvh;
    border-radius:var(--r-xl) var(--r-xl) 0 0;
    transform:translateY(100%);
  }
  .uni-drawer.open { transform:translateY(0); }
}

/* ── Comparison featured + dialog ────────────────────────────────────── */
.compare-featured { display:grid; grid-template-columns:repeat(3,1fr); gap:var(--space-4); max-width:1000px; margin:0 auto var(--space-8); }
.compare-card { background:var(--card); border:2px solid var(--border); border-radius:var(--r); padding:var(--space-6); display:flex; flex-direction:column; box-shadow:var(--shadow-card); transition:transform .2s var(--ease); }
.compare-card:hover { transform:translateY(-4px); box-shadow:var(--shadow-soft); }
.compare-card.recommended { border-color:var(--indigo); box-shadow:0 0 0 2px var(--indigo), var(--shadow-soft); }
.compare-card h3 { display:flex; align-items:center; gap:.5rem; font-size:var(--text-lg); font-weight:800; color:var(--ink); margin-bottom:var(--space-4); flex-wrap:wrap; }
.compare-card .flag { font-size:1.8rem; }
.compare-badge { font-family:var(--font-head); font-size:.6rem; font-weight:800; letter-spacing:.04em; text-transform:uppercase; color:#fff; background:var(--indigo); border-radius:var(--r-pill); padding:.2rem .55rem; }
.compare-rows { display:flex; flex-direction:column; gap:var(--space-3); }
.compare-row { display:flex; justify-content:space-between; font-size:var(--text-sm); padding-bottom:var(--space-3); border-bottom:1px solid var(--border); }
.compare-row:last-child { border-bottom:none; padding-bottom:0; }
.compare-row .key { color:var(--slate); }
.compare-row .value { color:var(--ink); font-weight:700; }
.compare-actions { text-align:center; }

.compare-dialog { border:none; border-radius:var(--r-lg); padding:0; position:fixed; inset:0; margin:auto; max-width:min(96vw,1200px); width:100%; max-height:86vh; background:var(--white); box-shadow:var(--shadow-pop); }
.compare-dialog::backdrop { background:rgba(30,27,57,0.55); backdrop-filter:blur(4px); }
.compare-dialog-header { display:flex; align-items:center; justify-content:space-between; padding:var(--space-5) var(--space-6); border-bottom:1px solid var(--border); position:sticky; top:0; background:var(--white); }
.compare-dialog-header h3 { font-size:var(--text-lg); font-weight:800; }
.compare-dialog-close { width:40px; height:40px; display:flex; align-items:center; justify-content:center; background:var(--bg-soft); border:none; color:var(--slate); border-radius:12px; }
.compare-dialog-close:hover { color:var(--ink); }
.compare-wrapper { overflow:auto; max-height:calc(86vh - 64px); }
table.compare-table { table-layout:fixed; width:100%; min-width:1500px; border-collapse:separate; border-spacing:0; font-size:var(--text-sm); }
.compare-table thead th { background:var(--white); color:var(--ink); padding:var(--space-6) var(--space-3) var(--space-4); vertical-align:bottom; text-align:center; font-weight:800; white-space:nowrap; border-bottom:2px solid var(--border-strong); position:sticky; top:0; z-index:10; }
.compare-table thead th:first-child { text-align:left; }
.compare-table thead .country-flag { display:block; font-size:1.5rem; margin-bottom:var(--space-2); }
.compare-table thead .country-name { display:block; font-size:var(--text-sm); font-weight:800; }
.compare-table th:first-child, .compare-table td:first-child { position:sticky; left:0; background:var(--white); z-index:5; border-right:1px solid var(--border-strong); }
.compare-table thead th:first-child { z-index:15; }
.compare-table td:first-child { font-weight:700; color:var(--slate); font-size:var(--text-xs); text-transform:uppercase; letter-spacing:.02em; }
.compare-table tbody td { padding:var(--space-4) var(--space-3); border-bottom:1px solid var(--border); color:var(--ink); text-align:center; vertical-align:middle; }
.compare-table tbody td.fee-cell { font-variant-numeric:tabular-nums; white-space:nowrap; }
.compare-table tbody tr:hover td { background:var(--bg-soft); }
.compare-table .check.yes::before { content:"✓"; color:var(--success); font-weight:800; }
.compare-table .check { color:var(--success); font-weight:700; }
.compare-table .partial { color:var(--warning); font-weight:700; }
.compare-table .cross { color:var(--danger); font-weight:700; }
.compare-table .highlight-col { background:var(--accent-subtle) !important; }
.compare-table thead th.highlight-col { padding-top:calc(var(--space-6) + 18px); }
.compare-table thead th.highlight-col::before { content:"Best EU Recognition"; position:absolute; top:0; left:0; right:0; background:var(--indigo); color:#fff; font-size:10px; font-weight:800; padding:3px 0; text-align:center; letter-spacing:.05em; text-transform:uppercase; }
.safety-score { display:inline-flex; gap:4px; }
.safety-score .dot { width:7px; height:7px; border-radius:50%; background:var(--border-strong); }
.safety-score .dot.filled { background:var(--indigo); }

/* ── Courses ─────────────────────────────────────────────────────────── */
.courses-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:var(--space-4); max-width:1140px; margin:0 auto; }
.course-card { background:var(--card); border:1px solid var(--border); border-radius:var(--r); padding:var(--space-6); box-shadow:var(--shadow-card); transition:transform .2s var(--ease); }
.course-card:hover { transform:translateY(-4px); box-shadow:var(--shadow-soft); }
.course-card-top { display:flex; align-items:center; gap:var(--space-3); margin-bottom:var(--space-4); }
.course-icon { width:46px; height:46px; border-radius:14px; background:var(--accent-subtle); color:var(--indigo); display:flex; align-items:center; justify-content:center; }
.course-icon [data-lucide]{ width:22px; height:22px; }
.course-card-top h3 { font-size:var(--text-base); font-weight:800; color:var(--ink); }
.course-card-top span { font-size:var(--text-xs); color:var(--slate); }
.course-card-body { display:flex; flex-direction:column; gap:var(--space-2); padding-top:var(--space-4); border-top:1px solid var(--border); }
.course-row { display:flex; justify-content:space-between; font-size:var(--text-sm); }
.course-row span { color:var(--slate); }
.course-row strong { color:var(--ink); font-weight:700; }

/* ── For Parents (dark) ──────────────────────────────────────────────── */
#parents { padding:var(--section-y) var(--space-5); background:linear-gradient(150deg,var(--indigo-dd),var(--indigo) 70%); color:#fff; }
.parents-inner { max-width:1140px; margin:0 auto; }
.parents-inner .section-eyebrow { background:rgba(255,255,255,0.14); color:#fff; }
.parents-inner .section-title { color:#fff; }
.parents-inner .section-sub { color:var(--on-ink-muted); }
.parents-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:var(--space-5); }
.parent-card { background:rgba(255,255,255,0.07); border:1px solid var(--on-ink-line); border-radius:var(--r); padding:var(--space-6); transition:transform .2s var(--ease), background .2s; }
.parent-card:hover { transform:translateY(-4px); background:rgba(255,255,255,0.12); }
.parent-card .icon { width:48px; height:48px; border-radius:14px; background:rgba(251,146,60,0.22); color:var(--orange); display:flex; align-items:center; justify-content:center; margin-bottom:var(--space-4); }
.parent-card .icon [data-lucide]{ width:24px; height:24px; }
.parent-card h3 { font-size:var(--text-lg); font-weight:800; color:#fff; margin-bottom:var(--space-2); }
.parent-card p { font-size:var(--text-sm); color:var(--on-ink-muted); line-height:1.6; }

/* ── Testimonials (story cards) ──────────────────────────────────────── */
.testi-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:var(--space-5); max-width:1000px; margin:0 auto var(--space-8); }
.testi-card { background:var(--card); border:1px solid var(--border); border-radius:var(--r-lg); padding:var(--space-6); display:flex; flex-direction:column; gap:var(--space-4); box-shadow:var(--shadow-card); transition:transform .2s var(--ease); }
.testi-card:hover { transform:translateY(-4px); box-shadow:var(--shadow-soft); }
.testi-stars { color:var(--orange); font-size:var(--text-lg); letter-spacing:2px; }
.testi-quote { font-size:var(--text-sm); color:var(--slate); line-height:1.7; flex:1; }
.testi-author { display:flex; align-items:center; gap:var(--space-3); padding-top:var(--space-4); border-top:1px solid var(--border); }
.testi-avatar { width:44px; height:44px; border-radius:50%; background:linear-gradient(135deg,var(--indigo),var(--orange)); color:#fff; font-family:var(--font-head); font-size:var(--text-sm); font-weight:800; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.testi-author strong { display:block; font-size:var(--text-sm); font-weight:800; color:var(--ink); }
.testi-author span { font-size:var(--text-xs); color:var(--slate); }
.testi-footer { text-align:center; }

/* ── FAQ ─────────────────────────────────────────────────────────────── */
.faq-list { max-width:760px; margin:0 auto; display:flex; flex-direction:column; gap:var(--space-3); }
.faq-item { background:var(--card); border:2px solid var(--border); border-radius:var(--r); overflow:hidden; transition:border-color .2s; }
.faq-item[open] { border-color:var(--indigo); }
.faq-q { display:flex; justify-content:space-between; align-items:center; gap:var(--space-4); padding:var(--space-5) var(--space-6); font-family:var(--font-head); font-size:var(--text-base); font-weight:700; color:var(--ink); cursor:pointer; list-style:none; }
.faq-q::-webkit-details-marker { display:none; }
.faq-q::after { content:'+'; font-size:1.5rem; font-weight:400; color:var(--indigo); transition:transform .2s var(--ease); }
.faq-item[open] .faq-q::after { transform:rotate(45deg); }
.faq-a { padding:0 var(--space-6) var(--space-5); }
.faq-a p { font-size:var(--text-sm); color:var(--slate); line-height:1.7; }
.faq-a strong { color:var(--ink); }

/* ── Contact ─────────────────────────────────────────────────────────── */
.contact-inner { display:grid; grid-template-columns:1fr 1.15fr; gap:var(--space-12); max-width:1080px; margin:0 auto; align-items:start; }
.contact-methods { display:flex; flex-direction:column; gap:var(--space-3); margin-top:var(--space-6); }
.contact-method { display:flex; align-items:center; gap:var(--space-3); padding:var(--space-3); border:2px solid var(--border); border-radius:16px; }
.contact-method .icon { width:42px; height:42px; border-radius:12px; background:var(--accent-subtle); color:var(--indigo); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.contact-method .icon [data-lucide]{ width:18px; height:18px; }
.contact-method .label { font-size:var(--text-xs); color:var(--slate); }
.contact-method .value { font-size:var(--text-sm); color:var(--ink); font-weight:700; }
.contact-method .value a { color:var(--indigo); }
.trust-row { display:flex; gap:var(--space-6); flex-wrap:wrap; margin-top:var(--space-6); padding-top:var(--space-6); border-top:1px solid var(--border); }
.trust-stat strong { display:block; font-family:var(--font-head); font-size:var(--text-2xl); font-weight:800; color:var(--ink); }
.trust-stat span { font-size:var(--text-xs); color:var(--slate); }
.trust-rating-link { display:flex; flex-direction:column; }
.trust-rating-link:hover strong { color:var(--indigo); }

.contact-form { background:var(--bg-soft); border:1px solid var(--border); border-radius:var(--r-lg); padding:var(--space-8); }
.contact-form h3 { font-family:var(--font-head); font-size:var(--text-xl); font-weight:800; color:var(--ink); margin-bottom:var(--space-5); }
.form-group { margin-bottom:var(--space-4); }
.form-group label { display:block; font-family:var(--font-head); font-size:var(--text-xs); font-weight:700; color:var(--slate); margin-bottom:6px; }
.form-group input, .form-group select, .form-group textarea { width:100%; background:var(--white); border:2px solid var(--border-strong); border-radius:14px; padding:.85rem; color:var(--ink); font-size:var(--text-sm); transition:border-color .15s, box-shadow .15s; }
.form-group input:focus, .form-group select:focus, .form-group textarea:focus { border-color:var(--indigo); box-shadow:0 0 0 4px var(--accent-soft); }
.form-group textarea { resize:vertical; min-height:96px; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:var(--space-3); }
.submit-btn { width:100%; background:var(--orange); color:#3a1d00; border:none; border-radius:var(--r-pill); padding:1.1rem; font-family:var(--font-head); font-size:var(--text-base); font-weight:800; display:inline-flex; align-items:center; justify-content:center; gap:.5rem; box-shadow:var(--shadow-hard-orange); transition:transform .15s var(--ease); }
.submit-btn:hover { transform:translateY(-2px); background:var(--orange-d); color:#fff; }
.submit-btn [data-lucide]{ width:18px; height:18px; }
.urgent-tag { display:flex; align-items:center; justify-content:center; gap:.5rem; margin-top:var(--space-3); font-size:var(--text-xs); color:var(--slate); }
.urgent-dot { width:7px; height:7px; border-radius:50%; background:var(--success); animation:blink 1.6s infinite; }
@keyframes blink { 0%,100%{opacity:1;} 50%{opacity:.3;} }

/* ── Footer ──────────────────────────────────────────────────────────── */
footer { background:var(--ink); color:var(--on-ink-muted); padding:var(--space-16) var(--space-5) var(--space-6); }
.footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:var(--space-10); max-width:1140px; margin:0 auto var(--space-10); }
.footer-brand .nav-logo { color:#fff; font-size:var(--text-lg); margin-bottom:var(--space-3); }
.footer-brand .nav-logo span { color:var(--orange); }
.footer-brand p { font-size:var(--text-sm); line-height:1.7; color:var(--on-ink-faint); }
.footer-col h5 { font-family:var(--font-head); color:#fff; font-size:var(--text-xs); font-weight:800; letter-spacing:.08em; text-transform:uppercase; margin-bottom:var(--space-3); }
.footer-col a { display:block; color:var(--on-ink-faint); font-size:var(--text-sm); margin-bottom:var(--space-2); transition:color .15s; }
.footer-col a:hover { color:#fff; }
.footer-bottom { max-width:1140px; margin:0 auto; padding-top:var(--space-5); border-top:1px solid var(--on-ink-line); display:flex; justify-content:space-between; flex-wrap:wrap; gap:var(--space-2); font-size:var(--text-xs); color:var(--on-ink-faint); }
.footer-bottom strong { color:#fff; }
.built-by { display:inline-flex; align-items:center; gap:6px; }
.built-by-text { font-size:var(--text-xs); color:var(--on-ink-faint); text-transform:uppercase; letter-spacing:.06em; }
.built-by-link { display:inline-flex; align-items:center; gap:5px; font-family:var(--font-head); font-size:var(--text-xs); font-weight:800; background:linear-gradient(90deg,#a5b4fc,var(--orange)); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.built-by-heart { -webkit-text-fill-color:var(--orange); animation:heartbeat 1.4s ease-in-out infinite; display:inline-block; }
@keyframes heartbeat { 0%,100%{transform:scale(1);} 14%{transform:scale(1.25);} 28%{transform:scale(1);} 42%{transform:scale(1.15);} 56%{transform:scale(1);} }

/* ── Toast ───────────────────────────────────────────────────────────── */
.toast { position:fixed; top:84px; right:var(--space-5); background:var(--ink); color:#fff; padding:var(--space-3) var(--space-5); border-radius:var(--r-pill); font-size:var(--text-sm); font-weight:700; box-shadow:var(--shadow-pop); z-index:9999; display:none; }
.toast.show { display:block; animation:popIn .3s var(--ease); }

/* ── Chat widget ─────────────────────────────────────────────────────── */
#chat-widget { position:fixed; bottom:var(--space-6); right:var(--space-6); z-index:9999; }
.chat-trigger { width:60px; height:60px; border-radius:50%; background:var(--indigo); color:#fff; border:none; display:flex; align-items:center; justify-content:center; box-shadow:var(--shadow-pop); transition:transform .2s var(--ease); }
.chat-trigger:hover { transform:scale(1.08) rotate(-6deg); background:var(--indigo-d); }
.chat-trigger [data-lucide]{ width:26px; height:26px; }
.chat-window { position:absolute; bottom:74px; right:0; width:380px; max-width:calc(100vw - 2*var(--space-6)); background:var(--white); border:1px solid var(--border); border-radius:var(--r-lg); box-shadow:var(--shadow-pop); display:none; flex-direction:column; overflow:hidden; }
.chat-window.open { display:flex; animation:popIn .25s var(--ease); }
.chat-header { display:flex; align-items:center; gap:var(--space-3); padding:var(--space-4); background:linear-gradient(120deg,var(--indigo),var(--indigo-dd)); color:#fff; }
.chat-avatar { width:38px; height:38px; background:rgba(255,255,255,0.15); border-radius:50%; display:flex; align-items:center; justify-content:center; }
.chat-avatar [data-lucide]{ width:18px; height:18px; }
.chat-header-info h4 { font-size:var(--text-sm); font-weight:800; }
.chat-online { display:flex; align-items:center; gap:6px; font-size:var(--text-xs); color:var(--on-ink-muted); }
.chat-online .dot { width:6px; height:6px; border-radius:50%; background:#4ade80; }
.chat-close-btn { margin-left:auto; width:44px; height:44px; display:flex; align-items:center; justify-content:center; background:transparent; border:none; color:var(--on-ink-muted); border-radius:12px; }
.chat-close-btn:hover { background:rgba(255,255,255,0.12); color:#fff; }
.chat-close-btn [data-lucide]{ width:18px; height:18px; }
.chat-messages { flex:1; overflow-y:auto; padding:var(--space-4); display:flex; flex-direction:column; gap:var(--space-2); max-height:min(320px,40dvh); }
.chat-msg { max-width:84%; padding:.65rem .9rem; border-radius:18px; font-size:var(--text-sm); line-height:1.5; }
.chat-msg.bot { background:var(--bg-soft); color:var(--ink); border-bottom-left-radius:5px; align-self:flex-start; }
.chat-msg.user { background:var(--indigo); color:#fff; border-bottom-right-radius:5px; align-self:flex-end; }
.chat-typing { display:none; gap:4px; align-items:center; padding:.65rem .9rem; margin:0 var(--space-4); background:var(--bg-soft); border-radius:18px; border-bottom-left-radius:5px; width:fit-content; }
.chat-typing span { width:7px; height:7px; background:var(--slate-light); border-radius:50%; animation:typing 1.2s infinite; }
.chat-typing span:nth-child(2){ animation-delay:.15s; }
.chat-typing span:nth-child(3){ animation-delay:.3s; }
@keyframes typing { 0%,60%,100%{transform:translateY(0); opacity:.4;} 30%{transform:translateY(-4px); opacity:1;} }
.chat-quick { display:flex; gap:var(--space-2); flex-wrap:wrap; padding:var(--space-3) var(--space-4); border-top:1px solid var(--border); }
.quick-btn { background:var(--bg-soft); border:1px solid var(--border); border-radius:var(--r-pill); padding:.5rem .8rem; font-size:var(--text-xs); font-weight:600; color:var(--ink); min-height:36px; transition:all .15s; }
.quick-btn:hover { background:var(--indigo); color:#fff; border-color:var(--indigo); }
.chat-input-bar { display:flex; gap:var(--space-2); padding:var(--space-3) var(--space-4); border-top:1px solid var(--border); }
.chat-input { flex:1; background:var(--white); border:2px solid var(--border-strong); border-radius:14px; padding:.7rem; font-size:var(--text-sm); color:var(--ink); }
.chat-input:focus { border-color:var(--indigo); }
.chat-send { width:42px; height:42px; background:var(--indigo); color:#fff; border:none; border-radius:12px; display:flex; align-items:center; justify-content:center; }
.chat-send [data-lucide]{ width:18px; height:18px; }

/* ── Mobile sticky CTA ───────────────────────────────────────────────── */
.sticky-cta { display:none; position:fixed; left:0; right:0; bottom:0; z-index:9998; gap:var(--space-2); padding:.7rem var(--space-4) calc(.7rem + env(safe-area-inset-bottom)); background:rgba(255,255,255,0.94); backdrop-filter:saturate(180%) blur(14px); -webkit-backdrop-filter:saturate(180%) blur(14px); border-top:1px solid var(--border-strong); box-shadow:0 -8px 24px -12px rgba(49,46,129,0.3); }
.sticky-cta a { flex:1; display:inline-flex; align-items:center; justify-content:center; gap:.5rem; padding:.95rem; border-radius:var(--r-pill); font-family:var(--font-head); font-size:var(--text-sm); font-weight:800; min-height:52px; }
.sticky-cta [data-lucide]{ width:18px; height:18px; }
.sticky-cta-wa { background:var(--whatsapp); color:#fff; }
.sticky-cta-form { background:var(--orange); color:#3a1d00; }

/* ── Scroll reveal ───────────────────────────────────────────────────── */
[data-reveal] { opacity:0; transform:translateY(24px); transition:opacity .6s var(--ease-soft), transform .6s var(--ease); }
[data-reveal].is-visible { opacity:1; transform:none; }
[data-reveal][data-reveal-delay="1"]{ transition-delay:.08s; }
[data-reveal][data-reveal-delay="2"]{ transition-delay:.16s; }
[data-reveal][data-reveal-delay="3"]{ transition-delay:.24s; }

@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after { animation-duration:.01ms !important; transition-duration:.01ms !important; scroll-behavior:auto !important; }
  [data-reveal]{ opacity:1 !important; transform:none !important; }
}

/* ── Responsive ──────────────────────────────────────────────────────── */
@media (max-width: 960px) {
  .bento { grid-template-columns:1fr; }
  .hiw-steps { grid-template-columns:repeat(2,1fr); }
  .contact-inner { grid-template-columns:1fr; gap:var(--space-8); }
  .compare-featured { grid-template-columns:1fr; }
  .testi-grid { grid-template-columns:1fr; max-width:480px; }
  .agent-vs { grid-template-columns:1fr; }
  .footer-grid { grid-template-columns:1fr 1fr; gap:var(--space-8); }
}
@media (max-width: 720px) {
  .sticky-cta { display:flex; }
  body { padding-bottom:78px; }
  #chat-widget { bottom:calc(86px + env(safe-area-inset-bottom)); }
  .pulse-node { font-size:0; gap:0; }                 /* labels hide, dots stay */
  .pulse-node .dot { width:22px; height:22px; }
  .pulse-node.active { font-size:.72rem; }
}
/* Collapse the nav to a hamburger early enough that the link row never
   crowds the logo / CTA on tablets and narrow laptops. */
@media (max-width: 860px) {
  .nav-links { display:none; position:fixed; top:68px; left:0; right:0; height:calc(100dvh - 68px); background:#fff; flex-direction:column; padding:var(--space-6); gap:var(--space-2); z-index:999; border-top:1px solid var(--border); overflow-y:auto; }
  .nav-links.open { display:flex; }
  .nav-links a { padding:var(--space-4); font-size:var(--text-base); border-radius:14px; }
  .nav-links .nav-cta { align-self:flex-start; }
  .nav-hamburger { display:flex; }
}
@media (max-width: 640px) {
  .hiw-steps { grid-template-columns:1fr; }
  .hero-stats { grid-template-columns:repeat(2,1fr); }
  .form-row { grid-template-columns:1fr; }
  .footer-grid { grid-template-columns:1fr; }
  .footer-bottom { flex-direction:column; }
}
