/* ═══════════════════════════════════════════════
   RESET & BASE (Scoped to Child Theme Sections)
═══════════════════════════════════════════════ */
.nav, .hero, .trust-strip, .pathway-sec, .why-sec, .cta-sec, .accred, footer,
.nav *, .hero *, .trust-strip *, .pathway-sec *, .why-sec *, .cta-sec *, .accred *, footer * {
  box-sizing: border-box;
}
.hero h1, .hero p, .why-sec h2, .why-sec p, .cta-sec h2, .cta-sec p, footer p {
  margin: 0;
  padding: 0;
}
html { scroll-behavior: smooth; }
body {
  font-family: 'Nunito Sans', sans-serif;
  background: var(--bg-base);
  color: var(--text-primary);
  line-height: 1.65;
  font-size: 15px;
  overflow-x: hidden;
  transition: background 0.35s ease, color 0.35s ease;
}
h1,h2,h3,h4,h5 { font-family: 'Urbanist', sans-serif; }
a { text-decoration: none; color: inherit; }
img { max-width: 100%; }

/* ═══════════════════════════════════════════════
   THEME TOGGLE
═══════════════════════════════════════════════ */
.theme-toggle {
  width: 36px; height: 36px;
  border-radius: 8px;
  background: var(--toggle-bg);
  border: 1px solid var(--border);
  display: flex; align-items: center; justify-content: center;
  cursor: pointer;
  transition: all 0.2s;
  flex-shrink: 0;
}
.theme-toggle:hover { background: var(--violet-pale); border-color: var(--violet-border); }
.theme-toggle i { font-size: 16px; color: var(--toggle-icon); transition: color 0.2s; }
.theme-toggle:hover i { color: var(--violet-bright); }
/* icon swap */
[data-theme="dark"]  .icon-sun  { display: block; }
[data-theme="dark"]  .icon-moon { display: none; }
[data-theme="light"] .icon-sun  { display: none; }
[data-theme="light"] .icon-moon { display: block; }

/* ═══════════════════════════════════════════════
   NAV
═══════════════════════════════════════════════ */
.nav {
  background: var(--nav-bg);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  padding: 0 2.5rem;
  display: flex; align-items: center; justify-content: space-between;
  height: 68px;
  position: sticky; top: 0; z-index: 200;
  border-bottom: 1px solid var(--nav-border);
  box-shadow: var(--shadow-nav);
  transition: background 0.35s, border-color 0.35s, box-shadow 0.35s;
}
.logo { display: flex; align-items: center; gap: 10px; }
.logo-mark {
  width: 36px; height: 36px; border-radius: 9px;
  background: transparent;
  border: 1px solid var(--violet);
  display: flex; align-items: center; justify-content: center;
  overflow: hidden;
  transition: border-color 0.35s;
}
.logo-mark img { width: 100%; height: 100%; object-fit: contain; padding: 5px; box-sizing: border-box; display: block; }
/* logo icon swap — mirrors the sun/moon theme toggle pattern */
[data-theme="dark"]  .logo-icon-dark  { display: block; }
[data-theme="dark"]  .logo-icon-light { display: none; }
[data-theme="light"] .logo-icon-dark  { display: none; }
[data-theme="light"] .logo-icon-light { display: block; }
.logo-name {
  font-family: 'Syne', sans-serif; font-size: 1.05rem;
  font-weight: 700; color: var(--text-primary); letter-spacing: -0.01em;
}
.logo-name span { color: var(--violet-bright); }
.nav-links { display: flex; align-items: center; }
.nav-links ul { display: flex; align-items: center; gap: 2rem; list-style: none; margin: 0; padding: 0; }
.nav-links ul li { display: inline-block; }
.nav-links ul li a {
  font-size: 0.83rem; color: var(--text-secondary);
  font-weight: 400; transition: color 0.2s; letter-spacing: 0.01em;
  /* explicit resets — parent theme (eduna-online-course/style.css) defines
     its own ".nav-links a" rule (border:1px solid #ccc; padding:10px 20px;
     display:inline-block; position:relative) under the same class name.
     Our rule above has higher specificity so color/font/etc already win,
     but specificity only wins for properties BOTH rules set — border,
     padding, display, position and text-decoration are never touched by
     this rule, so without an explicit reset they fall through to the
     parent's box-styled link and render as bordered, padded boxes. */
  border: none; padding: 0; display: block; position: static;
  text-decoration: none;
}
.nav-links ul li a:hover { color: var(--violet-bright); }
.nav-right, .nav-actions { display: flex; align-items: center; gap: 10px; }
.btn-ghost {
  font-size: 0.82rem; color: var(--text-secondary);
  padding: 0.45rem 1rem; border-radius: 6px;
  border: 1px solid var(--border-med);
  cursor: pointer; background: transparent;
  font-family: 'Nunito Sans', sans-serif; transition: all 0.2s;
}
.btn-ghost:hover { border-color: var(--violet-border); color: var(--violet-bright); }
.btn-v {
  background: var(--violet); color: #fff;
  padding: 0.45rem 1.25rem; border-radius: 6px;
  font-size: 0.82rem; font-weight: 500;
  cursor: pointer; border: none;
  transition: background 0.2s; font-family: 'DM Sans', sans-serif;
  display: inline-flex; align-items: center; justify-content: center;
}
.btn-v:hover { background: var(--violet-mid); }

/* ═══════════════════════════════════════════════
   HERO
═══════════════════════════════════════════════ */
.hero {
  background: var(--bg-base);
  padding: 6rem 2.5rem 5rem;
  position: relative; overflow: hidden;
  display: flex; align-items: center; gap: 5rem;
  transition: background 0.35s;
}
.hero-noise {
  position: absolute; inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.035'/%3E%3C/svg%3E");
  pointer-events: none; z-index: 0;
}
.hero-orb {
  position: absolute; border-radius: 50%; pointer-events: none;
  transition: opacity 0.35s;
}
.hero-orb-1 { width:600px;height:600px;background:radial-gradient(circle,rgba(124,58,237,0.18) 0%,transparent 70%);top:-150px;right:-100px; }
.hero-orb-2 { width:400px;height:400px;background:radial-gradient(circle,rgba(109,40,217,0.12) 0%,transparent 70%);bottom:-100px;left:20%; }
[data-theme="light"] .hero-orb-1 { background: radial-gradient(circle,rgba(51,99,68,0.10) 0%,transparent 70%); }
[data-theme="light"] .hero-orb-2 { background: radial-gradient(circle,rgba(43,84,57,0.07) 0%,transparent 70%); }
.hero-left { flex:1; position:relative; z-index:1; max-width:580px; }
.hero-pill {
  display: inline-flex; align-items: center; gap: 8px;
  background: var(--violet-pale);
  border: 1px solid var(--violet-border);
  color: var(--violet-bright);
  font-size: 0.7rem; font-weight: 500; letter-spacing: 0.12em;
  text-transform: uppercase; padding: 0.4rem 1rem;
  border-radius: var(--rad-pill); margin-bottom: 1.5rem;
  font-family: 'Syne', sans-serif;
}
.hero-pill-dot {
  width:6px;height:6px;border-radius:50%;
  background:var(--violet-bright);animation:pulse 2s infinite;
}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:0.5;transform:scale(0.8)}}
.hero h1 {
  font-size: clamp(2.2rem,4vw,3.2rem); font-weight: 800;
  color: var(--text-primary); line-height: 1.1;
  margin-bottom: 1.25rem; letter-spacing: -0.03em;
}
.hero h1 .accent { color: var(--violet-bright); }
.hero-sub {
  font-size: 1rem; color: var(--text-secondary);
  max-width: 460px; margin-bottom: 2.5rem;
  line-height: 1.75; font-weight: 300;
}
.hero-actions { display:flex; gap:12px; flex-wrap:wrap; margin-bottom:3rem; }
.btn-hero {
  background: var(--violet); color: #fff;
  padding: 0.85rem 2rem; border-radius: 9px;
  font-size: 0.9rem; font-weight: 500;
  display: inline-flex; align-items: center; gap: 8px;
  border: none; cursor: pointer; transition: all 0.25s;
  font-family: 'Nunito Sans', sans-serif;
  box-shadow: 0 0 32px var(--violet-border);
}
.btn-hero:hover { background:var(--violet-mid); box-shadow:0 0 48px var(--violet-50); transform:translateY(-1px); }
.btn-hero-out {
  background: transparent; color: var(--text-secondary);
  padding: 0.85rem 1.75rem; border-radius: 9px; font-size: 0.9rem;
  display: inline-flex; align-items: center; gap: 8px;
  border: 1px solid var(--border-med);
  cursor: pointer; transition: all 0.2s; font-family: 'DM Sans', sans-serif;
}
.btn-hero-out:hover { border-color: var(--violet-border); color: var(--violet-bright); }
.hero-stats {
  display:flex; gap:3rem; padding-top:2.5rem;
  border-top: 1px solid var(--border);
}
.stat-num { font-family:'Syne',sans-serif; font-size:1.9rem; font-weight:700; color:var(--text-primary); line-height:1; }
.stat-num b { color: var(--violet-bright); }
.stat-lbl { font-size:0.72rem; color:var(--text-muted); margin-top:5px; letter-spacing:0.04em; }
.hero-right { width:320px; flex-shrink:0; position:relative; z-index:1; }
.hero-card {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: 20px; padding: 1.5rem;
  backdrop-filter: blur(20px);
  box-shadow: var(--shadow-card);
  transition: background 0.35s, border-color 0.35s, box-shadow 0.35s;
}
.hero-card-label {
  font-family:'Syne',sans-serif; font-size:0.63rem; font-weight:600;
  letter-spacing:0.14em; text-transform:uppercase;
  color:var(--text-muted); margin-bottom:1.1rem;
}
.mini-course {
  display:flex; align-items:center; gap:10px; padding:0.8rem;
  border-radius:10px; background:var(--violet-pale);
  border: 1px solid var(--border); margin-bottom:8px;
  transition: all 0.2s; cursor:pointer;
}
.mini-course:hover { background:var(--violet-pale); border-color:var(--violet-border); }
.mini-icon { width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0; }
.mi-v { background:var(--violet-20); } .mi-v i { color:var(--violet-bright); font-size:16px; }
.mi-g { background:rgba(16,185,129,0.15); } .mi-g i { color:#6ee7b7; font-size:16px; }
.mi-a { background:rgba(245,158,11,0.15); } .mi-a i { color:#fcd34d; font-size:16px; }
.mini-name { font-size:0.82rem; font-weight:500; color:var(--text-primary); line-height:1.2; }
.mini-meta { font-size:0.68rem; color:var(--text-muted); margin-top:2px; }
.mini-badge { margin-left:auto; font-size:0.63rem; font-weight:600; padding:3px 9px; border-radius:var(--rad-pill); white-space:nowrap; flex-shrink:0; letter-spacing:0.04em; }
.mb-new { background:var(--violet-20); color:var(--violet-bright); }
.mb-hot { background:rgba(16,185,129,0.15); color:#6ee7b7; }
.mb-popular { background:rgba(245,158,11,0.15); color:#fcd34d; }
.hero-card-foot {
  display:flex; align-items:center; justify-content:space-between;
  margin-top:1.1rem; padding-top:1rem; border-top:1px solid var(--border);
}
.stars { color:#f59e0b; font-size:0.8rem; letter-spacing:1px; }
.rating-sub { font-size:0.66rem; color:var(--text-muted); }
.cpd-badge { display:flex; align-items:center; gap:5px; font-size:0.68rem; color:var(--text-muted); }
.cpd-icon { width:20px;height:20px;border-radius:50%;background:var(--violet-pale);display:flex;align-items:center;justify-content:center; }
.cpd-icon i { font-size:10px; color:var(--violet-bright); }

/* ═══════════════════════════════════════════════
   TRUST STRIP
═══════════════════════════════════════════════ */
.trust-strip {
  background: var(--bg-card);
  padding: 1rem 2.5rem;
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  transition: background 0.35s;
}
.trust-inner { display:flex; align-items:center; justify-content:center; gap:3rem; flex-wrap:wrap; }
.trust-item { display:flex; align-items:center; gap:8px; font-size:0.72rem; font-weight:500; color:var(--text-muted); letter-spacing:0.06em; text-transform:uppercase; }
.trust-item i { color:var(--violet-bright); font-size:15px; }

/* ═══════════════════════════════════════════════
   SECTION BASE
═══════════════════════════════════════════════ */
section { padding: 5rem 2.5rem; }
.sec-label {
  font-family:'Syne',sans-serif; font-size:0.65rem; font-weight:600;
  letter-spacing:0.15em; text-transform:uppercase; color:var(--violet-bright);
  margin-bottom:0.7rem; display:flex; align-items:center; gap:8px;
}
.sec-label::before { content:''; width:20px; height:2px; background:var(--violet); border-radius:2px; display:inline-block; }
.sec-title { font-family:'Syne',sans-serif; font-size:clamp(1.6rem,2.5vw,2.1rem); font-weight:700; color:var(--text-primary); margin-bottom:0.65rem; letter-spacing:-0.02em; line-height:1.2; }
.sec-sub { font-size:0.9rem; color:var(--text-secondary); max-width:500px; line-height:1.75; font-weight:300; }
.sec-head { display:flex; align-items:flex-end; justify-content:space-between; margin-bottom:2.75rem; gap:2rem; flex-wrap:wrap; }
.view-all { font-family:'Syne',sans-serif; font-size:0.78rem; font-weight:600; color:var(--violet-bright); display:flex; align-items:center; gap:5px; border-bottom:1px solid var(--violet-40); padding-bottom:2px; transition:gap 0.2s; }
.view-all:hover { gap:8px; }

/* ═══════════════════════════════════════════════
   PATHWAY SECTION
═══════════════════════════════════════════════ */
.pathway-sec { background: var(--bg-raised); padding: 5rem 2.5rem; transition: background 0.35s; }
.pathway-tabs { display:flex; gap:10px; margin-bottom:2rem; flex-wrap:wrap; }
.ptab {
  padding:0.6rem 1.5rem; border-radius:var(--rad-pill);
  font-family:'Syne',sans-serif; font-size:0.78rem; font-weight:600;
  cursor:pointer; border:1px solid var(--border-med);
  background:transparent; color:var(--text-muted);
  transition:all 0.2s; letter-spacing:0.03em;
}
.ptab.active, .ptab:hover { background:var(--violet); color:#fff; border-color:var(--violet); box-shadow:0 0 20px var(--violet-30); }
.ptab-amber.active,.ptab-amber:hover { background:#b45309; color:#fff; border-color:#b45309; box-shadow:0 0 20px rgba(180,83,9,0.3); }
.pathway-panel { display:none; } .pathway-panel.active { display:block; }
.level-tabs { display:flex; gap:8px; margin-bottom:2rem; flex-wrap:wrap; }
.ltab {
  padding:0.45rem 1.2rem; border-radius:var(--rad-pill);
  font-family:'Syne',sans-serif; font-size:0.72rem; font-weight:600;
  cursor:pointer; border:1px solid var(--border);
  background:transparent; color:var(--text-muted);
  transition:all 0.2s; letter-spacing:0.04em;
}
.ltab.active { background:var(--bg-card-3); color:var(--text-primary); border-color:var(--border-med); }
.ltab-amber.active { background:#78350f; color:#fcd34d; border-color:#92400e; }
.level-panel { display:none; } .level-panel.active { display:block; }
.level-header { display:flex; align-items:center; gap:12px; margin-bottom:1.75rem; padding-bottom:1rem; border-bottom:1px solid var(--border); }
.level-badge { font-family:'Syne',sans-serif; font-size:0.65rem; font-weight:700; letter-spacing:0.12em; text-transform:uppercase; padding:5px 14px; border-radius:var(--rad-pill); }
.lb-begin { background:rgba(16,185,129,0.12); color:#34d399; border:1px solid rgba(16,185,129,0.2); }
.lb-inter { background:var(--violet-pale); color:var(--violet-bright); border:1px solid var(--violet-glow); }
.lb-adv { background:rgba(239,68,68,0.1); color:#f87171; border:1px solid rgba(239,68,68,0.2); }
.lb-amber-begin { background:rgba(245,158,11,0.1); color:#fbbf24; border:1px solid rgba(245,158,11,0.2); }
.lb-amber-inter { background:rgba(245,158,11,0.15); color:#f59e0b; border:1px solid rgba(245,158,11,0.25); }
.lb-amber-adv { background:rgba(239,68,68,0.1); color:#f87171; border:1px solid rgba(239,68,68,0.2); }
.level-desc { font-size:0.78rem; color:var(--text-muted); }
.course-grid-full { display:grid; grid-template-columns:repeat(auto-fill,minmax(230px,1fr)); gap:10px; }
.c-item {
  background: var(--bg-card); border:1px solid var(--border);
  border-radius:var(--rad); padding:1rem 1.1rem;
  transition:all 0.2s; cursor:pointer;
  display:flex; align-items:flex-start; gap:10px;
  box-shadow: var(--shadow-card);
}
.c-item:hover { border-color:var(--violet-40); background:var(--violet-07); transform:translateY(-2px); box-shadow:0 6px 24px var(--violet-pale); }
.c-item-amber:hover { border-color:rgba(180,83,9,0.4); background:rgba(180,83,9,0.07); box-shadow:0 6px 24px rgba(180,83,9,0.1); }
.c-num { min-width:22px;height:22px;border-radius:6px;background:var(--violet-pale);color:var(--violet-bright);font-family:'Syne',sans-serif;font-size:0.62rem;font-weight:700;display:flex;align-items:center;justify-content:center;margin-top:1px;flex-shrink:0; }
.c-num-amber { background:rgba(180,83,9,0.15); color:#fbbf24; }
.c-item-name { font-size:0.82rem; font-weight:500; color:var(--text-secondary); line-height:1.35; }

/* ═══════════════════════════════════════════════
   FEATURED COURSES
═══════════════════════════════════════════════ */
.featured-sec { background: var(--bg-base); padding: 5rem 2.5rem; transition: background 0.35s; }
.course-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:1.25rem; }
.c-card {
  background: var(--bg-card); border:1px solid var(--border);
  border-radius:var(--rad-lg); overflow:hidden; transition:all 0.25s;
  box-shadow: var(--shadow-card);
}
.c-card:hover { border-color:var(--violet-border); transform:translateY(-4px); box-shadow:0 12px 40px var(--violet-15); }
.c-thumb { height:150px; display:flex; align-items:center; justify-content:center; position:relative; overflow:hidden; }
.ct-1 { background:var(--thumb-1); }
.ct-2 { background:var(--thumb-2); }
.ct-3 { background:var(--thumb-3); }
.ct-4 { background:var(--thumb-4); }
.c-thumb::after { content:''; position:absolute; inset:0; background:radial-gradient(circle at 70% 30%,var(--violet-15),transparent 60%); }
.c-thumb-badge { position:absolute; top:12px; left:12px; font-family:'Syne',sans-serif; font-size:0.6rem; font-weight:700; letter-spacing:0.1em; text-transform:uppercase; padding:4px 10px; border-radius:var(--rad-pill); background:var(--violet-85); color:#fff; z-index:1; }
.c-thumb-icon { width:60px;height:60px;border-radius:14px;border:1px solid rgba(255,255,255,0.15);display:flex;align-items:center;justify-content:center;position:relative;z-index:1; }
[data-theme="light"] .c-thumb-icon { border-color:rgba(0,0,0,0.1); }
.c-thumb-icon i { font-size:28px; color:rgba(255,255,255,0.7); }
[data-theme="light"] .c-thumb-icon i { color:rgba(0,0,0,0.45); }
.c-body { padding:1.25rem; }
.c-cat { font-family:'Syne',sans-serif; font-size:0.62rem; font-weight:700; letter-spacing:0.1em; text-transform:uppercase; color:var(--violet-bright); margin-bottom:0.5rem; }
.c-title { font-family:'Syne',sans-serif; font-size:0.95rem; font-weight:700; color:var(--text-primary); margin-bottom:0.45rem; line-height:1.3; }
.c-desc { font-size:0.8rem; color:var(--text-secondary); line-height:1.6; margin-bottom:1rem; font-weight:300; }
.c-meta { display:flex; gap:1.25rem; font-size:0.72rem; color:var(--text-muted); padding-top:0.85rem; border-top:1px solid var(--border); }
.c-meta-i { display:flex; align-items:center; gap:4px; }
.c-meta-i i { font-size:13px; color:var(--text-muted); }
.enrol-btn {
  margin-top:0.9rem; width:100%;
  background: var(--violet-pale); color:var(--violet-bright);
  padding:0.6rem; border-radius:7px;
  font-family:'Syne',sans-serif; font-size:0.78rem; font-weight:600;
  text-align:center; border:1px solid var(--violet-glow);
  cursor:pointer; transition:all 0.2s; letter-spacing:0.03em;
}
.enrol-btn:hover { background:var(--violet); color:#fff; border-color:var(--violet); box-shadow:0 0 20px var(--violet-30); }

/* ═══════════════════════════════════════════════
   WHY SECTION
═══════════════════════════════════════════════ */
.why-sec { background: var(--bg-raised); padding: 5rem 2.5rem; transition: background 0.35s; }
.why-grid { display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:center; margin-top:3rem; }
.why-visual {
  background: var(--bg-card); border:1px solid var(--border);
  border-radius:var(--rad-xl); padding:2rem; position:relative; overflow:hidden;
  box-shadow: var(--shadow-card); transition: background 0.35s, box-shadow 0.35s;
}
.why-glow { position:absolute;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,var(--violet-pale),transparent 70%);top:-60px;right:-60px;pointer-events:none; }
.why-row { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-bottom:10px; }
.why-mini { background:var(--violet-pale); border:1px solid var(--border); border-radius:12px; padding:1.1rem; transition:border-color 0.2s; }
.why-mini:hover { border-color:var(--violet-30); }
.why-mini i { font-size:22px; color:var(--violet-bright); margin-bottom:8px; display:block; }
.why-mini-t { font-family:'Syne',sans-serif; font-size:0.8rem; font-weight:600; color:var(--text-primary); }
.why-mini-s { font-size:0.7rem; color:var(--text-muted); margin-top:3px; font-weight:300; }
.prog-block { background:var(--violet-pale); border:1px solid var(--border); border-radius:12px; padding:1rem; }
.prog-row { margin-bottom:12px; } .prog-row:last-child { margin-bottom:0; }
.prog-top { display:flex; justify-content:space-between; font-size:0.72rem; margin-bottom:7px; }
.prog-name { color:var(--text-muted); } .prog-pct { color:var(--violet-bright); font-weight:500; }
.prog-bar { height:4px; background:var(--border); border-radius:var(--rad-pill); overflow:hidden; }
.prog-fill { height:100%; border-radius:var(--rad-pill); background:var(--violet); }
.prog-fill.done { background:#10b981; }
.why-pts { display:flex; flex-direction:column; gap:1.75rem; }
.why-pt { display:flex; gap:1.1rem; align-items:flex-start; }
.why-pt-icon { width:44px;height:44px;border-radius:12px;background:var(--violet-pale);border:1px solid var(--violet-20);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px; }
.why-pt-icon i { color:var(--violet-bright); font-size:20px; }
.why-pt h4 { font-family:'Syne',sans-serif; font-size:0.95rem; font-weight:700; color:var(--text-primary); margin-bottom:4px; }
.why-pt p { font-size:0.82rem; color:var(--text-secondary); line-height:1.65; font-weight:300; }

/* ═══════════════════════════════════════════════
   TESTIMONIALS
═══════════════════════════════════════════════ */
.testi-sec {
  background: var(--bg-card); padding: 5rem 2.5rem;
  border-top:1px solid var(--border); border-bottom:1px solid var(--border);
  transition: background 0.35s;
}
.testi-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:1.25rem; margin-top:3rem; }
.t-card {
  background: var(--bg-raised); border:1px solid var(--border);
  border-radius:var(--rad-lg); padding:1.75rem; transition:border-color 0.2s;
  box-shadow: var(--shadow-card);
}
.t-card:hover { border-color:var(--violet-30); }
.t-stars { color:#f59e0b; font-size:0.8rem; letter-spacing:2px; margin-bottom:1rem; }
.t-text { font-size:0.84rem; color:var(--text-secondary); line-height:1.75; margin-bottom:1.25rem; font-style:italic; font-weight:300; }
.t-author { display:flex; align-items:center; gap:10px; }
.t-avatar { width:38px;height:38px;border-radius:50%;background:var(--violet);display:flex;align-items:center;justify-content:center;font-family:'Syne',sans-serif;font-size:0.78rem;font-weight:700;color:#fff;flex-shrink:0; }
.t-name { font-family:'Syne',sans-serif; font-size:0.84rem; font-weight:700; color:var(--text-primary); }
.t-role { font-size:0.7rem; color:var(--text-muted); }

/* ═══════════════════════════════════════════════
   CTA
═══════════════════════════════════════════════ */
.cta-sec { background:var(--bg-base); text-align:center; padding:6rem 2.5rem; position:relative; overflow:hidden; transition: background 0.35s; }
.cta-orb { position:absolute; border-radius:50%; pointer-events:none; }
.cta-orb-1 { width:500px;height:500px;background:radial-gradient(circle,var(--violet-pale),transparent 70%);top:50%;left:50%;transform:translate(-50%,-50%); }
.cta-inner { max-width:580px; margin:0 auto; position:relative; z-index:1; }
.cta-icon { width:60px;height:60px;border-radius:16px;background:var(--violet-pale);border:1px solid var(--violet-30);display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem; }
.cta-icon i { color:var(--violet-bright); font-size:26px; }
.cta-inner h2 { font-family:'Syne',sans-serif; font-size:clamp(1.6rem,2.5vw,2.2rem); font-weight:800; color:var(--text-primary); margin-bottom:0.75rem; letter-spacing:-0.02em; }
.cta-inner p { font-size:0.9rem; color:var(--text-secondary); margin-bottom:2rem; line-height:1.75; font-weight:300; }
.cta-btns { display:flex; gap:12px; justify-content:center; flex-wrap:wrap; }
.btn-cta { background:var(--violet); color:#fff; padding:0.85rem 2.25rem; border-radius:9px; font-family:'Syne',sans-serif; font-size:0.88rem; font-weight:600; display:inline-flex; align-items:center; gap:7px; border:none; cursor:pointer; transition:all 0.25s; box-shadow:0 0 32px var(--violet-40); }
.btn-cta:hover { background:var(--violet-mid); transform:translateY(-1px); box-shadow:0 0 48px var(--violet-55); }
.btn-cta-out { background:transparent; color:var(--text-secondary); padding:0.85rem 1.75rem; border-radius:9px; font-family:'Syne',sans-serif; font-size:0.88rem; font-weight:600; border:1px solid var(--border-med); display:inline-flex; align-items:center; gap:7px; cursor:pointer; transition:all 0.2s; }
.btn-cta-out:hover { color:var(--violet-bright); border-color:var(--violet-border); }

/* ═══════════════════════════════════════════════
   ACCREDITATION
═══════════════════════════════════════════════ */
.accred { background:var(--bg-raised); border-top:1px solid var(--border); padding:1.5rem 2.5rem; transition: background 0.35s; }
.accred-inner { display:flex; align-items:center; gap:2rem; flex-wrap:wrap; }
.accred-lbl { font-family:'Syne',sans-serif; font-size:0.62rem; font-weight:700; letter-spacing:0.12em; text-transform:uppercase; color:var(--text-muted); white-space:nowrap; }
.accred-pills { display:flex; gap:10px; flex-wrap:wrap; }
.accred-pill { background:var(--violet-pale); border:1px solid var(--border); border-radius:6px; padding:0.4rem 1rem; font-family:'Syne',sans-serif; font-size:0.72rem; font-weight:600; color:var(--text-muted); transition:all 0.2s; }
.accred-pill:hover { border-color:var(--violet-border); color:var(--violet-bright); }

/* ═══════════════════════════════════════════════
   FOOTER — always dark
═══════════════════════════════════════════════ */
footer { background:#09090d; padding:3.5rem 2.5rem 2rem; border-top:1px solid rgba(255,255,255,0.06); --violet-bright: #8b5cf6; }
.footer-top { display:grid; grid-template-columns:1.8fr 1fr 1fr 1fr; gap:3rem; margin-bottom:2.5rem; padding-bottom:2rem; border-bottom:1px solid rgba(255,255,255,0.06); }
.ft-brand p { font-size:0.8rem; color:rgba(255,255,255,0.25); margin-top:0.85rem; line-height:1.75; max-width:220px; font-weight:300; }
.ft-col h5 { font-family:'Syne',sans-serif; font-size:0.62rem; font-weight:700; letter-spacing:0.12em; text-transform:uppercase; color:rgba(255,255,255,0.2); margin-bottom:1.1rem; }
.ft-col a { display:block; font-size:0.82rem; color:rgba(255,255,255,0.3); margin-bottom:0.6rem; transition:color 0.2s; font-weight:300; }
.ft-col a:hover { color:var(--violet-bright); }
.footer-bot { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:1rem; font-size:0.75rem; color:rgba(255,255,255,0.18); }
.social-row { display:flex; gap:8px; }
.soc { width:32px;height:32px;border-radius:8px;background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.07);display:flex;align-items:center;justify-content:center;transition:all 0.2s;cursor:pointer; }
.soc i { font-size:13px; color:rgba(255,255,255,0.25); }
.soc:hover { background:rgba(124,58,237,0.2); border-color:rgba(124,58,237,0.4); }
.soc:hover i { color:var(--violet-bright); }

/* ── footer logo always light on dark bg ── */
footer .logo-name { color: #fff; }

/* ═══════════════════════════════════════════════
   RESPONSIVE
═══════════════════════════════════════════════ */
@media(max-width:900px){
  .hero{flex-direction:column;gap:3rem}.hero-right{width:100%}
  .why-grid{grid-template-columns:1fr}.footer-top{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
  .mobile-menu-toggle { display: block !important; }
  .header-login-btn { display: none !important; }
  .nav-links {
    display: none;
    position: absolute;
    top: 68px;
    left: 0;
    width: 100%;
    background: var(--nav-bg);
    border-bottom: 1px solid var(--nav-border);
    padding: 1.5rem 2.5rem;
    flex-direction: column;
    align-items: flex-start;
    gap: 1.5rem;
    box-shadow: 0 4px 20px rgba(0,0,0,0.1);
  }
  .nav-links.active {
    display: flex;
  }
  .nav-links ul {
    flex-direction: column;
    align-items: flex-start;
    gap: 1.5rem;
    width: 100%;
  }
  .hero{padding:3.5rem 1.5rem 3rem}
  section,.pathway-sec,.featured-sec,.why-sec,.testi-sec,.cta-sec{padding:3.5rem 1.5rem}
  .footer-top{grid-template-columns:1fr}.hero-stats{gap:1.75rem}
}

