/* ============================================================
   CodeMines Academy — Main Stylesheet
   Fonts: Source Sans Pro + Source Serif Pro (Coursera-style)
   ============================================================ */

:root {
  --bg:        #f5f2ed;
  --surface:   #faf8f5;
  --white:     #ffffff;
  --border:    #e0dbd2;
  --border2:   #ede9e2;
  --accent:    #b56a1e;
  --accent-lt: #faeedd;
  --accent-dk: #8a4f14;
  --blue:      #1a55a0;
  --blue-lt:   #ddeaf7;
  --green:     #1e6e45;
  --green-lt:  #d4eddf;
  --red:       #b83232;
  --purple:    #5e3db8;
  --purple-lt: #ede6ff;
  --teal:      #0e7a72;
  --teal-lt:   #d2f0ee;
  --text:      #19160f;
  --body:      #38332a;
  --muted:     #7a7168;
  --hero-bg:   #0c1e36;
  --font-heading: 'Source Sans Pro', 'Helvetica Neue', Arial, sans-serif;
  --font-body:    'Source Sans Pro', 'Helvetica Neue', Arial, sans-serif;
  --font-serif:   'Source Serif Pro', Georgia, serif;
}

*,*::before,*::after { box-sizing:border-box; margin:0; padding:0 }
html { scroll-behavior:smooth }
body { background:var(--bg); color:var(--body); font-family:var(--font-body); font-size:16px; line-height:1.7; overflow-x:hidden }
h1,h2,h3,h4,h5,h6 { font-family:var(--font-heading); color:var(--text); line-height:1.2; font-weight:700 }
p { color:var(--body) }
a { text-decoration:none; color:inherit }
img { max-width:100% }

/* ── TOPBAR ── */
.topbar { background:var(--hero-bg); padding:.48rem 0; font-size:.82rem; color:rgba(255,255,255,.7); border-bottom:1px solid rgba(255,255,255,.07) }
.topbar a { color:rgba(255,255,255,.7); transition:color .18s }
.topbar a:hover { color:#ffd87a }
.topbar i { color:#ffd87a; margin-right:.3rem }

/* ── NAVBAR ── */
.navbar { background:var(--white)!important; border-bottom:1px solid var(--border); padding:.85rem 0; box-shadow:0 1px 12px rgba(0,0,0,.07); position:sticky; top:0; z-index:1000 }
.navbar-brand { font-family:var(--font-heading); font-weight:800; font-size:1.45rem; color:var(--accent)!important; letter-spacing:-.5px }
.navbar-brand span { color:var(--text) }
.nav-link { color:var(--body)!important; font-size:.875rem; font-weight:600; padding:.4rem .9rem!important; border-radius:7px; transition:background .18s,color .18s }
.nav-link:hover,.nav-link.active { background:var(--accent-lt); color:var(--accent)!important }
.dropdown-menu { border:1px solid var(--border); border-radius:10px; box-shadow:0 8px 32px rgba(0,0,0,.1); padding:.5rem; background:var(--white); min-width:220px }
.dropdown-item { border-radius:7px; font-size:.875rem; color:var(--body); padding:.5rem .95rem; transition:background .15s }
.dropdown-item:hover { background:var(--accent-lt); color:var(--accent) }
.btn-nav { background:var(--accent); color:#fff!important; font-family:var(--font-heading); font-weight:700; font-size:.85rem; padding:.48rem 1.3rem; border-radius:8px; transition:background .2s; white-space:nowrap }
.btn-nav:hover { background:var(--accent-dk)!important }

/* ── FOOTER ── */
footer { background:var(--hero-bg); color:rgba(255,255,255,.65); padding:3.5rem 0 1.5rem }
.footer-brand { font-family:var(--font-heading); font-weight:800; font-size:1.5rem; color:var(--accent); margin-bottom:.5rem; display:block }
.footer-brand span { color:#fff }
.footer-desc { font-size:.84rem; line-height:1.75; color:rgba(255,255,255,.5); max-width:280px }
.footer-heading { font-family:var(--font-heading); font-weight:700; font-size:.88rem; color:#fff; margin-bottom:1rem; letter-spacing:.3px }
.footer-link { display:block; font-size:.84rem; color:rgba(255,255,255,.52); padding:.25rem 0; transition:color .18s }
.footer-link:hover { color:#ffd87a }
.footer-contact { display:flex; align-items:center; gap:.55rem; font-size:.84rem; color:rgba(255,255,255,.55); margin-bottom:.5rem }
.footer-contact.align-top { align-items:flex-start }
.footer-contact.align-top i { margin-top:3px }
.footer-contact i { color:#ffd87a; font-size:.83rem; width:15px; flex-shrink:0 }
.footer-contact a { color:rgba(255,255,255,.55) }
.footer-contact a:hover { color:#ffd87a }
.social-btn { width:34px; height:34px; border-radius:8px; border:1px solid rgba(255,255,255,.15); background:rgba(255,255,255,.06); display:inline-flex; align-items:center; justify-content:center; color:rgba(255,255,255,.6); font-size:.85rem; transition:all .18s; margin-right:.4rem }
.social-btn:hover { background:var(--accent); border-color:var(--accent); color:#fff }
.footer-bottom { border-top:1px solid rgba(255,255,255,.08); margin-top:2.5rem; padding-top:1.5rem; text-align:center; font-size:.8rem; color:rgba(255,255,255,.35) }
.footer-wa-btn { font-size:.82rem; padding:.6rem 1.3rem }

/* ── SHARED SECTION STYLES ── */
section { padding:5rem 0 }
.sec-label { font-size:.72rem; font-weight:700; letter-spacing:.8px; text-transform:uppercase; color:var(--accent); margin-bottom:.4rem }
.sec-label--light { color:#ffd87a }
.sec-heading { font-family:var(--font-heading); font-size:clamp(1.6rem,3.5vw,2.2rem); font-weight:800; color:var(--text); margin-bottom:.6rem }
.sec-heading--light { color:#fff }
.sec-sub { font-family:var(--font-serif); color:var(--muted); font-size:.97rem; line-height:1.85; max-width:560px }
.sec-sub--light { color:rgba(255,255,255,.6) }
.sec-line { width:42px; height:3px; background:var(--accent); border-radius:2px; margin:1rem 0 2.2rem }
.sec-line.center { margin-left:auto; margin-right:auto }
.sec-line--light { background:#ffd87a }
.section-white   { background:var(--white) }
.section-surface { background:var(--surface) }
.section-dark    { background:var(--hero-bg) }
.section-dark-grad { background:linear-gradient(135deg,#0c1e36 0%,#1a3a60 100%) }

/* ── BADGES ── */
.badge-live { background:#ffe0e0; color:var(--red); font-size:.65rem; font-weight:700; padding:.15rem .45rem; border-radius:4px }
.badge-job  { background:var(--green-lt); color:var(--green); font-size:.65rem; font-weight:700; padding:.15rem .45rem; border-radius:4px }
.badge-cert { background:var(--accent-lt); color:var(--accent); font-size:.65rem; font-weight:700; padding:.15rem .45rem; border-radius:4px }
.badge-lg { font-size:.78rem; padding:.25rem .65rem }

/* ── LIVE PULSE ── */
.live-badge { display:inline-flex; align-items:center; gap:.4rem; background:#e63946; color:#fff; font-family:var(--font-heading); font-size:.72rem; font-weight:700; padding:.25rem .65rem; border-radius:5px; animation:livepulse 2s infinite }
.live-dot { width:7px; height:7px; border-radius:50%; background:#fff; flex-shrink:0; animation:livepulse 1.5s infinite }
.live-dot--inline { display:inline-block; margin-right:.4rem }
@keyframes livepulse { 0%,100%{opacity:1} 50%{opacity:.75} }

/* ── COURSE CARD ── */
.course-card { background:var(--white); border:1px solid var(--border); border-radius:14px; overflow:hidden; height:100%; display:flex; flex-direction:column; transition:box-shadow .22s,transform .22s; box-shadow:0 2px 10px rgba(0,0,0,.04) }
.course-card:hover { box-shadow:0 10px 36px rgba(0,0,0,.1); transform:translateY(-3px) }
.course-card--accent { border-color:var(--accent) }
.course-card-bar { height:5px; width:100% }
.course-card-body { padding:1.4rem; flex:1; display:flex; flex-direction:column }
.course-icon { width:46px; height:46px; border-radius:10px; display:flex; align-items:center; justify-content:center; font-size:1.15rem; margin-bottom:.9rem; flex-shrink:0 }
.course-card h5 { font-family:var(--font-heading); font-weight:700; font-size:.975rem; color:var(--text); margin-bottom:.5rem; line-height:1.35 }
.course-meta { display:flex; flex-wrap:wrap; gap:.35rem .75rem; margin-bottom:.85rem }
.course-meta span { display:flex; align-items:center; gap:.3rem; font-size:.78rem; color:var(--muted); font-weight:500 }
.course-meta span i { color:var(--accent); font-size:.72rem }
.course-desc { font-size:.84rem; color:var(--muted); line-height:1.65; flex:1 }
.course-card-foot { padding:1rem 1.4rem; border-top:1px solid var(--border2); display:flex; align-items:center; justify-content:space-between; background:var(--surface) }
.btn-card { font-family:var(--font-heading); font-weight:700; font-size:.78rem; color:var(--accent); background:var(--accent-lt); border:1px solid #e8c89a; padding:.38rem .85rem; border-radius:7px; transition:background .18s; white-space:nowrap }
.btn-card:hover { background:#f0d5a5; color:var(--accent-dk) }
.enroll-count { font-size:.76rem; color:var(--muted); font-weight:500 }
.enroll-count i { color:var(--accent); margin-right:.3rem }

/* ── POPULAR FLAG ── */
.popular-flag { position:absolute; top:-.5rem; right:1rem; background:var(--accent); color:#fff; font-family:var(--font-heading); font-size:.68rem; font-weight:700; padding:.2rem .6rem; border-radius:4px; letter-spacing:.4px; z-index:2 }

/* ── STATS BAND ── */
.stats-band { background:var(--accent); padding:1.8rem 0 }
.stat-band-item { text-align:center; padding:.5rem 1rem }
.stat-band-item strong { font-family:var(--font-heading); font-size:1.85rem; font-weight:800; color:#fff; display:block; line-height:1 }
.stat-band-item span { font-size:.8rem; color:rgba(255,255,255,.78); font-weight:500; margin-top:.2rem; display:block }
.stat-band-item--border { border-right:1px solid rgba(255,255,255,.25) }
.stat-band-dark { background:var(--hero-bg); padding:3rem 0 }
.stat-band-dark .stat-band-item strong { color:#ffd87a }
.stat-band-dark .stat-band-item span { color:rgba(255,255,255,.6) }
.stat-band-dark .stat-band-item--border { border-right:1px solid rgba(255,255,255,.1) }

/* ── WHY CARD ── */
.why-card { background:var(--white); border:1px solid var(--border); border-radius:14px; padding:1.8rem; height:100%; box-shadow:0 2px 12px rgba(0,0,0,.04); transition:box-shadow .22s,transform .22s }
.why-card:hover { box-shadow:0 10px 36px rgba(0,0,0,.1); transform:translateY(-3px) }
.why-icon { width:52px; height:52px; border-radius:12px; display:flex; align-items:center; justify-content:center; font-size:1.3rem; margin-bottom:1.1rem }
.why-card h5 { font-family:var(--font-heading); font-weight:700; font-size:1.05rem; color:var(--text); margin-bottom:.5rem }
.why-card p { font-size:.875rem; color:var(--muted); line-height:1.7 }

/* ── PROCESS SECTION ── */
.process-section { background:var(--hero-bg); padding:5rem 0 }
.process-step { text-align:center; padding:1rem }
.step-num { width:56px; height:56px; border-radius:50%; background:var(--accent); color:#fff; font-family:var(--font-heading); font-weight:800; font-size:1.2rem; display:flex; align-items:center; justify-content:center; margin:0 auto 1.1rem }
.step-icon { width:64px; height:64px; border-radius:16px; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.12); display:flex; align-items:center; justify-content:center; font-size:1.5rem; margin:0 auto 1rem }
.process-step h5 { font-family:var(--font-heading); font-weight:700; font-size:1rem; color:#fff; margin-bottom:.4rem }
.process-step p { font-size:.85rem; color:rgba(255,255,255,.58); line-height:1.7; max-width:180px; margin:0 auto }
.process-connector { display:flex; align-items:center; justify-content:center; padding-top:1.8rem; color:rgba(255,255,255,.18); font-size:1.5rem }

/* ── TOOLS ── */
.tool-chip { background:var(--surface); border:1px solid var(--border); border-radius:10px; padding:.85rem 1rem; text-align:center; font-size:.8rem; font-weight:600; color:var(--body); transition:box-shadow .18s,transform .18s,border-color .18s }
.tool-chip:hover { box-shadow:0 4px 16px rgba(0,0,0,.08); transform:translateY(-2px); border-color:var(--accent) }
.tool-emoji { font-size:1.6rem; display:block; margin-bottom:.4rem }

/* ── TESTIMONIALS ── */
.testi-card { background:var(--white); border:1px solid var(--border); border-radius:14px; padding:1.8rem; height:100%; box-shadow:0 2px 10px rgba(0,0,0,.04); display:flex; flex-direction:column }
.testi-stars { color:#c09a14; font-size:.85rem; margin-bottom:.9rem }
.testi-text { font-family:var(--font-serif); font-size:.92rem; color:var(--body); line-height:1.85; flex:1; margin-bottom:1.2rem }
.testi-text::before { content:'\201C'; font-size:2rem; color:var(--accent); font-family:Georgia,serif; line-height:.5; display:block; margin-bottom:.5rem }
.testi-author { display:flex; align-items:center; gap:.8rem }
.testi-av { width:42px; height:42px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-family:var(--font-heading); font-weight:700; font-size:.88rem; color:#fff; flex-shrink:0 }
.testi-name { font-family:var(--font-heading); font-weight:700; font-size:.9rem; color:var(--text) }
.testi-role { font-size:.75rem; color:var(--muted) }

/* ── JOB SECTION ── */
.job-section { background:linear-gradient(135deg,#0c1e36 0%,#1a3a60 100%); padding:5rem 0 }
.job-stat { text-align:center }
.job-stat strong { font-family:var(--font-heading); font-size:2.2rem; font-weight:800; color:#ffd87a; display:block; line-height:1 }
.job-stat span { font-size:.82rem; color:rgba(255,255,255,.6); margin-top:.3rem; display:block }
.job-section-body { font-family:var(--font-serif); color:rgba(255,255,255,.68); line-height:1.88; margin-bottom:1.5rem }
.job-check-item { display:flex; align-items:center; gap:.5rem; color:rgba(255,255,255,.78); font-size:.9rem; margin-bottom:.5rem }
.job-check-item i { color:#ffd87a }
.company-pill { background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.12); color:rgba(255,255,255,.75); font-family:var(--font-heading); font-weight:700; font-size:.82rem; padding:.45rem 1rem; border-radius:7px; display:inline-block; margin:.3rem; transition:background .18s }
.company-pill:hover { background:rgba(255,255,255,.15) }
.alumni-panel { background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.1); border-radius:14px; padding:1.5rem }
.alumni-panel-title { font-family:var(--font-heading); font-weight:700; font-size:.85rem; color:rgba(255,255,255,.5); text-transform:uppercase; letter-spacing:.5px; margin-bottom:1rem }

/* ── BATCH CARDS ── */
.batch-card { background:var(--white); border:1px solid var(--border); border-radius:12px; padding:1.4rem 1.6rem; display:flex; align-items:center; gap:1.2rem; box-shadow:0 2px 10px rgba(0,0,0,.04); transition:box-shadow .2s,transform .2s; flex-wrap:wrap }
.batch-card:hover { box-shadow:0 8px 28px rgba(0,0,0,.09); transform:translateY(-2px) }
.batch-date-box { color:#fff; border-radius:10px; padding:.6rem .9rem; text-align:center; min-width:64px; flex-shrink:0 }
.batch-date-day { font-family:var(--font-heading); font-size:1.5rem; font-weight:800; line-height:1 }
.batch-date-mon { font-size:.72rem; font-weight:600; opacity:.85; text-transform:uppercase; letter-spacing:.5px }
.batch-info { flex:1; min-width:160px }
.batch-course { font-family:var(--font-heading); font-weight:700; font-size:.975rem; color:var(--text); margin-bottom:.2rem }
.batch-time { font-size:.82rem; color:var(--muted); font-weight:500 }
.batch-time i { margin-right:.3rem }
.batch-seats { font-size:.75rem; font-weight:700; padding:.18rem .55rem; border-radius:4px }
.batch-seats.low { background:#ffe0e0; color:var(--red) }
.batch-seats.ok  { background:var(--green-lt); color:var(--green) }
.btn-batch { font-family:var(--font-heading); font-weight:700; font-size:.8rem; padding:.5rem 1.1rem; border-radius:7px; border:none; cursor:pointer; color:#fff; white-space:nowrap; transition:filter .18s }
.btn-batch:hover { filter:brightness(.88) }

/* ── FAQ ── */
.faq-item { background:var(--white); border:1px solid var(--border); border-radius:10px; margin-bottom:.6rem; overflow:hidden }
.faq-q { display:flex; justify-content:space-between; align-items:center; padding:1.1rem 1.4rem; cursor:pointer; user-select:none; transition:background .18s; gap:1rem }
.faq-q:hover { background:var(--surface) }
.faq-q.open { background:var(--accent-lt) }
.faq-q h6 { font-family:var(--font-heading); font-weight:700; font-size:.95rem; color:var(--text); margin:0 }
.faq-icon { color:var(--accent); transition:transform .28s; flex-shrink:0; font-size:.85rem }
.faq-q.open .faq-icon { transform:rotate(45deg) }
.faq-a { font-size:.9rem; color:var(--body); font-family:var(--font-serif); line-height:1.82; padding:0 1.4rem 1.2rem; display:none }
.faq-a.open { display:block }

/* ── CTA FINAL ── */
.cta-final { background:var(--accent); padding:5rem 0; position:relative; overflow:hidden }
.cta-final::before { content:''; position:absolute; width:500px; height:500px; border-radius:50%; background:rgba(0,0,0,.1); top:-200px; right:-150px; pointer-events:none }
.cta-final-inner { position:relative; z-index:2 }
.cta-final h2 { font-family:var(--font-heading); font-size:clamp(1.8rem,4vw,2.8rem); font-weight:800; color:#fff; margin-bottom:1rem }
.cta-final p { font-family:var(--font-serif); color:rgba(255,255,255,.82); font-size:1rem; line-height:1.85; max-width:520px }
.btn-white { background:#fff; color:var(--accent); font-family:var(--font-heading); font-weight:700; font-size:.95rem; padding:.85rem 2rem; border-radius:9px; border:none; cursor:pointer; transition:opacity .2s,transform .15s; display:inline-flex; align-items:center; gap:.5rem }
.btn-white:hover { opacity:.92; transform:translateY(-1px); color:var(--accent) }
.btn-outline-white { background:transparent; color:#fff; font-family:var(--font-heading); font-weight:600; font-size:.95rem; padding:.85rem 2rem; border-radius:9px; border:2px solid rgba(255,255,255,.45); cursor:pointer; transition:border-color .2s; display:inline-flex; align-items:center; gap:.5rem }
.btn-outline-white:hover { border-color:#fff; color:#fff }

/* ── HERO (HOME) ── */
.hero { background:var(--hero-bg); min-height:92vh; display:flex; flex-direction:column; justify-content:center; position:relative; overflow:hidden; padding:5rem 0 3rem }
.hero-inner { position:relative; z-index:2 }
.hero-glow-1 { position:absolute; width:700px; height:700px; background:radial-gradient(circle,rgba(181,106,30,.16) 0%,transparent 65%); top:-180px; right:-150px; pointer-events:none }
.hero-glow-2 { position:absolute; width:500px; height:500px; background:radial-gradient(circle,rgba(26,85,160,.14) 0%,transparent 65%); bottom:-100px; left:-80px; pointer-events:none }
.hero-grid-bg { position:absolute; inset:0; background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px); background-size:60px 60px; pointer-events:none }
.hero-eyebrow { display:inline-flex; align-items:center; gap:.4rem; background:rgba(255,255,255,.08); color:#ffd87a; border:1px solid rgba(255,216,122,.22); font-size:.72rem; font-weight:700; letter-spacing:.7px; text-transform:uppercase; padding:.32rem .9rem; border-radius:30px }
.hero-eyebrow--mb { margin-bottom:1rem }
.hero h1 { font-size:clamp(2.2rem,5.5vw,3.8rem); font-weight:800; color:#fff; letter-spacing:-.8px; margin-bottom:1.2rem; line-height:1.12 }
.hero h1 em { font-style:normal; color:#ffd87a }
.hero-sub { font-family:var(--font-serif); font-size:1.08rem; color:rgba(255,255,255,.72); max-width:560px; line-height:1.9; margin-bottom:2.2rem }
.hero-cta-row { display:flex; flex-wrap:wrap; gap:.8rem; margin-bottom:2.8rem }
.btn-hero-primary { background:var(--accent); color:#fff; font-family:var(--font-heading); font-weight:700; font-size:1rem; padding:.9rem 2rem; border-radius:9px; border:none; cursor:pointer; transition:background .2s,transform .15s; display:inline-flex; align-items:center; gap:.5rem }
.btn-hero-primary:hover { background:var(--accent-dk); transform:translateY(-1px); color:#fff }
.btn-hero-primary--sm { font-size:.9rem }
.btn-hero-outline { background:transparent; color:#fff; font-family:var(--font-heading); font-weight:600; font-size:1rem; padding:.9rem 2rem; border-radius:9px; border:1.5px solid rgba(255,255,255,.3); cursor:pointer; transition:border-color .2s; display:inline-flex; align-items:center; gap:.5rem }
.btn-hero-outline:hover { border-color:#fff; color:#fff }
.hero-trust { display:flex; flex-wrap:wrap; gap:.8rem 2rem; align-items:center }
.hero-trust-item { display:flex; align-items:center; gap:.45rem; font-size:.82rem; color:rgba(255,255,255,.6); font-weight:500 }
.hero-trust-item i { color:#ffd87a; font-size:.8rem }

/* ── HERO PANEL ── */
.hero-panel { background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.1); border-radius:18px; padding:1.8rem; backdrop-filter:blur(10px) }
.hero-panel-title { font-family:var(--font-heading); font-weight:700; font-size:.85rem; color:rgba(255,255,255,.5); letter-spacing:.5px; text-transform:uppercase; margin-bottom:1rem }
.hero-panel-footer { text-align:center; margin-top:1rem }
.hero-panel-footer a { font-family:var(--font-heading); font-size:.8rem; font-weight:700; color:rgba(255,255,255,.5) }
.mini-course-card { background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.1); border-radius:11px; padding:.9rem 1rem; display:flex; align-items:center; gap:.85rem; margin-bottom:.6rem; transition:background .18s }
.mini-course-card:hover { background:rgba(255,255,255,.12) }
.mini-course-card:last-child { margin-bottom:0 }
.mini-icon { width:38px; height:38px; border-radius:9px; display:flex; align-items:center; justify-content:center; font-size:1.1rem; flex-shrink:0 }
.mini-course-info { flex:1; min-width:0 }
.mini-course-name { font-family:var(--font-heading); font-weight:700; font-size:.875rem; color:#fff; margin-bottom:.1rem }
.mini-course-meta { font-size:.73rem; color:rgba(255,255,255,.5) }
.mini-badge { font-size:.65rem; font-weight:700; padding:.15rem .45rem; border-radius:4px; margin-left:auto; white-space:nowrap; flex-shrink:0 }
.mini-badge.live { background:#ffe0e0; color:var(--red) }
.mini-badge.job  { background:var(--green-lt); color:var(--green) }
.scroll-down { position:absolute; bottom:2rem; left:50%; transform:translateX(-50%); display:flex; flex-direction:column; align-items:center; gap:.3rem; color:rgba(255,255,255,.35); font-size:.72rem; letter-spacing:.5px; text-transform:uppercase }
.scroll-down i { animation:bounce 2s infinite }
@keyframes bounce { 0%,100%{transform:translateY(0)} 50%{transform:translateY(5px)} }

/* ── VIEW ALL LINK ── */
.view-all-link { font-family:var(--font-heading); font-weight:700; font-size:.875rem; color:var(--accent) }
.view-all-link--light { color:rgba(255,255,255,.5) }

/* ── ABOUT PAGE ── */
.about-hero { background:var(--hero-bg); padding:5rem 0; position:relative; overflow:hidden }
.about-hero-glow { position:absolute; width:600px; height:600px; background:radial-gradient(circle,rgba(181,106,30,.15) 0%,transparent 65%); top:-200px; right:-100px; pointer-events:none }
.about-hero-inner { position:relative; z-index:2 }
.about-hero h1 { font-family:var(--font-heading); font-size:clamp(2rem,5vw,3rem); font-weight:800; color:#fff; letter-spacing:-.5px; margin-bottom:1.2rem }
.about-hero h1 span { color:#ffd87a }
.about-hero-sub { font-family:var(--font-serif); font-size:1.05rem; color:rgba(255,255,255,.72); line-height:1.9; max-width:500px }
.about-stat-card { background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.1); border-radius:12px; padding:1.2rem; text-align:center }
.about-stat-card strong { font-family:var(--font-heading); font-size:1.8rem; font-weight:800; color:#ffd87a; line-height:1; display:block }
.about-stat-card span { font-size:.8rem; color:rgba(255,255,255,.6); margin-top:.3rem; font-weight:500; display:block }
.story-text { font-family:var(--font-serif); font-size:.97rem; color:var(--body); line-height:1.9; margin-bottom:1.2rem }
.team-card { background:var(--white); border:1px solid var(--border); border-radius:14px; padding:1.8rem; text-align:center; height:100%; box-shadow:0 2px 12px rgba(0,0,0,.05) }
.team-av { width:72px; height:72px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-family:var(--font-heading); font-weight:700; font-size:1.3rem; color:#fff; margin:0 auto 1rem }
.team-card h5 { font-family:var(--font-heading); font-weight:700; font-size:1rem; color:var(--text); margin-bottom:.3rem }
.team-role { color:var(--accent); font-size:.82rem; font-weight:600; margin-bottom:.8rem }
.team-bio { font-size:.85rem; color:var(--muted); line-height:1.7 }
.alumni-grid { display:flex; flex-wrap:wrap; gap:1rem; justify-content:center }
.alumni-chip { background:var(--surface); border:1px solid var(--border); border-radius:10px; padding:.8rem 1.5rem; font-family:var(--font-heading); font-weight:700; font-size:.9rem; color:var(--muted) }

/* ── CONTACT PAGE ── */
.contact-hero { background:var(--hero-bg); padding:4rem 0; position:relative; overflow:hidden }
.contact-hero-glow { position:absolute; width:500px; height:500px; background:radial-gradient(circle,rgba(181,106,30,.15) 0%,transparent 65%); top:-150px; right:-100px; pointer-events:none }
.contact-hero-inner { position:relative; z-index:2 }
.contact-hero h1 { font-family:var(--font-heading); font-size:clamp(2rem,5vw,3rem); font-weight:800; color:#fff; letter-spacing:-.5px; margin-bottom:1rem }
.contact-hero h1 span { color:#ffd87a }
.contact-hero-sub { font-family:var(--font-serif); font-size:1rem; color:rgba(255,255,255,.7); max-width:500px; line-height:1.88 }
.form-label-custom { font-family:var(--font-heading); font-weight:600; font-size:.85rem; color:var(--text); margin-bottom:.4rem; display:block }
.alert-success { background:var(--green-lt); border:1px solid #a3d9bc; border-radius:9px; padding:1.2rem 1.5rem; margin-bottom:1.5rem }
.alert-success-title { font-family:var(--font-heading); font-weight:700; color:var(--green) }
.alert-success-title i { margin-right:.5rem }
.alert-success p { font-size:.88rem; color:var(--green); margin:.4rem 0 0 }
.alert-error { background:#fde8e8; border:1px solid #f5b0b0; border-radius:9px; padding:1rem 1.5rem; margin-bottom:1.5rem }
.alert-error-item { font-size:.875rem; color:var(--red) }
.wa-card { background:var(--green); border-radius:14px; padding:1.8rem; color:#fff }
.wa-card-title { font-family:var(--font-heading); font-weight:800; font-size:1.1rem; margin-bottom:.5rem }
.wa-card-body { color:rgba(255,255,255,.82); font-size:.88rem; line-height:1.75; margin-bottom:1.2rem }
.wa-card-btn { background:#fff; color:var(--green); font-family:var(--font-heading); font-weight:700; font-size:.9rem; padding:.75rem 1.5rem; border-radius:9px; display:inline-flex; align-items:center; gap:.5rem }
.contact-detail-item { display:flex; gap:1rem; padding:.9rem 0; border-bottom:1px solid var(--border2) }
.contact-detail-icon { width:38px; height:38px; border-radius:9px; background:var(--accent-lt); display:flex; align-items:center; justify-content:center; flex-shrink:0; color:var(--accent); font-size:.9rem }
.contact-detail-label { font-family:var(--font-heading); font-weight:700; font-size:.82rem; color:var(--muted); text-transform:uppercase; letter-spacing:.4px }
.contact-detail-value { font-size:.9rem; color:var(--body); font-weight:500 }
.contact-detail-value a { color:var(--blue); font-weight:500 }
.select-cursor { cursor:pointer }

/* ── COURSE LISTING ── */
.cat-label { font-size:.72rem; font-weight:700; letter-spacing:.8px; text-transform:uppercase; color:var(--accent); margin-bottom:.4rem }
.cat-heading { font-family:var(--font-heading); font-size:clamp(1.4rem,3vw,2rem); font-weight:800; color:var(--text); margin-bottom:.3rem }
.cat-line { width:40px; height:3px; background:var(--accent); border-radius:2px; margin-bottom:2rem }
.cat-section { padding:3.5rem 0; border-bottom:1px solid var(--border) }
.cat-section:last-of-type { border-bottom:none }
.filter-tab { background:var(--white); border:1.5px solid var(--border); border-radius:8px; font-family:var(--font-heading); font-weight:600; font-size:.82rem; color:var(--body); padding:.45rem 1rem; cursor:pointer; transition:all .18s }
.filter-tab:hover,.filter-tab.active { background:var(--accent); color:#fff; border-color:var(--accent) }
.filter-count { background:rgba(0,0,0,.08); border-radius:4px; padding:.1rem .4rem; font-size:.72rem; margin-left:.3rem }
.search-input-wrap { position:relative }
.search-input-wrap i { position:absolute; left:1rem; top:50%; transform:translateY(-50%); color:var(--muted); font-size:.9rem }
.search-input { width:100%; border:1.5px solid var(--border); border-radius:9px; padding:.8rem 1rem .8rem 2.5rem; font-size:.95rem; font-family:var(--font-body); color:var(--text); background:var(--surface); transition:border-color .18s; outline:none }
.search-input:focus { border-color:var(--accent) }
.search-input::placeholder { color:var(--muted) }
.search-input--textarea { resize:vertical; padding-left:1rem }
.select-input { width:100%; border:1.5px solid var(--border); border-radius:9px; padding:.8rem 1rem; font-size:.95rem; font-family:var(--font-body); color:var(--text); background:var(--surface); transition:border-color .18s; outline:none; cursor:pointer }
.select-input:focus { border-color:var(--accent) }
.btn-search { background:var(--accent); color:#fff; font-family:var(--font-heading); font-weight:700; font-size:.9rem; padding:.8rem 1.8rem; border:none; border-radius:9px; cursor:pointer; transition:background .2s; width:100% }
.btn-search:hover { background:var(--accent-dk) }
.search-tag { background:var(--accent-lt); color:var(--accent); border:1px solid #e8c89a; font-size:.78rem; font-weight:600; padding:.22rem .65rem; border-radius:20px; cursor:pointer; transition:background .15s }
.search-tag:hover { background:#f2d9b5 }
.search-popular-label { font-size:.8rem; color:var(--muted); font-weight:500 }
.search-bar-box { background:var(--white); border-radius:14px; box-shadow:0 8px 40px rgba(0,0,0,.15); padding:1.5rem; margin-top:-3rem; position:relative; z-index:10 }
.filter-section { padding:2.5rem 0 1.5rem }
.course-list-hero { background:var(--hero-bg); padding:4.5rem 0 5rem; position:relative; overflow:hidden }
.course-list-hero-glow1 { position:absolute; width:600px; height:600px; background:radial-gradient(circle,rgba(181,106,30,.18) 0%,transparent 65%); top:-200px; right:-100px; pointer-events:none }
.course-list-hero-glow2 { position:absolute; width:400px; height:400px; background:radial-gradient(circle,rgba(26,85,160,.15) 0%,transparent 65%); bottom:-100px; left:-50px; pointer-events:none }
.course-list-hero-inner { position:relative; z-index:2 }
.course-list-hero h1 { font-family:var(--font-heading); font-size:clamp(2rem,5vw,3.2rem); font-weight:800; color:#fff; letter-spacing:-.5px; margin-bottom:1rem }
.course-list-hero h1 em { font-style:normal; color:#ffd87a }
.course-list-hero-sub { font-family:var(--font-serif); font-size:1.05rem; color:rgba(255,255,255,.7); max-width:520px; line-height:1.88; margin-bottom:2rem }
.hero-mini-stat { text-align:center }
.hero-mini-stat-num { font-family:var(--font-heading); font-size:1.6rem; font-weight:800; color:#ffd87a; line-height:1 }
.hero-mini-stat-label { font-size:.78rem; color:rgba(255,255,255,.6); margin-top:.2rem; font-weight:500 }

/* ── COURSE DETAIL ── */
.page-hero { background:var(--hero-bg); padding:3.5rem 0 0 }
.page-hero h1 { font-family:var(--font-heading); font-size:clamp(1.75rem,4vw,2.6rem); font-weight:800; color:#fff; letter-spacing:-.5px; margin-bottom:1rem }
.page-hero h1 span { color:#ffd87a }
.hero-tag { background:rgba(255,255,255,.1); color:rgba(255,255,255,.8); border:1px solid rgba(255,255,255,.15); font-size:.78rem; font-weight:500; padding:.25rem .65rem; border-radius:5px }
.page-hero-strip { background:rgba(0,0,0,.25); margin-top:2rem; padding:1rem 0; border-top:1px solid rgba(255,255,255,.08) }
.page-hero-strip-item { display:flex; align-items:center; gap:.6rem; color:rgba(255,255,255,.8); font-size:.85rem; font-weight:500; padding:.3rem 1rem }
.page-hero-strip-item i { color:#ffd87a; font-size:.9rem }
.page-hero-strip-item strong { color:#fff }
.page-hero-meta { display:flex; flex-wrap:wrap; gap:.75rem 1.5rem; margin-bottom:.75rem; font-size:.875rem; font-weight:500; color:rgba(255,255,255,.75) }
.page-hero-meta .stars { color:#ffd87a }
.page-hero-meta i { color:#ffd87a }
.page-hero-sub { font-family:var(--font-serif); font-size:1rem; color:rgba(255,255,255,.78); max-width:580px; line-height:1.85; margin-bottom:1.4rem }
.breadcrumb { font-size:.82rem }
.breadcrumb-item a { color:rgba(255,255,255,.5) }
.breadcrumb-item.active { color:rgba(255,255,255,.7) }
.enroll-card { background:var(--white); border:1px solid var(--border); border-radius:14px; overflow:hidden; box-shadow:0 8px 32px rgba(0,0,0,.14); position:sticky; top:85px }
.enroll-card-head { background:var(--hero-bg); padding:1.5rem; text-align:center; border-bottom:1px solid rgba(255,255,255,.08) }
.enroll-card-head h4 { font-family:var(--font-heading); font-size:1rem; font-weight:700; color:#fff; margin:.5rem 0 .25rem }
.enroll-card-head p { color:rgba(255,255,255,.6); font-size:.8rem }
.enroll-live-label { color:#ffd87a; font-size:.78rem; font-weight:600 }
.batch-slots { padding:1.2rem 1.5rem; border-bottom:1px solid var(--border) }
.batch-slot-title { font-family:var(--font-heading); font-weight:700; font-size:.85rem; color:var(--text); margin-bottom:.8rem }
.batch-slot-item { display:flex; align-items:center; justify-content:space-between; background:var(--surface); border:1.5px solid var(--border); border-radius:9px; padding:.75rem 1rem; margin-bottom:.6rem; cursor:pointer; transition:border-color .18s }
.batch-slot-item:hover,.batch-slot-item.selected { border-color:var(--accent) }
.batch-slot-item.selected { background:var(--accent-lt) }
.batch-slot-date { font-family:var(--font-heading); font-weight:700; font-size:.9rem; color:var(--text) }
.batch-slot-day { font-size:.78rem; color:var(--muted); margin-top:.1rem }
.price-section { padding:1.2rem 1.5rem; border-bottom:1px solid var(--border) }
.price-main { font-family:var(--font-heading); font-size:2rem; font-weight:800; color:var(--text) }
.price-old { font-size:.95rem; color:var(--muted); text-decoration:line-through; margin-left:.4rem }
.price-save { background:var(--green-lt); color:var(--green); font-size:.72rem; font-weight:700; padding:.18rem .5rem; border-radius:4px; margin-left:.4rem }
.price-emi { font-size:.8rem; color:var(--muted); margin-top:.35rem }
.price-emi strong { color:var(--body) }
.btn-enroll { display:block; width:100%; background:var(--accent); color:#fff; font-family:var(--font-heading); font-weight:700; font-size:1rem; padding:.9rem; border:none; border-radius:9px; cursor:pointer; text-align:center; margin-top:1rem; transition:background .2s,transform .15s }
.btn-enroll:hover { background:var(--accent-dk); color:#fff; transform:translateY(-1px) }
.btn-enroll--sm { font-size:.9rem }
.btn-callback { display:block; width:100%; background:transparent; color:var(--blue); font-family:var(--font-heading); font-weight:600; font-size:.9rem; padding:.75rem; border:1.5px solid var(--blue); border-radius:9px; cursor:pointer; text-align:center; margin-top:.6rem; transition:background .18s }
.btn-callback:hover { background:var(--blue-lt); color:var(--blue) }
.guarantee-bar { text-align:center; color:var(--muted); font-size:.78rem; padding:.75rem 1.5rem; border-bottom:1px solid var(--border) }
.guarantee-bar i { color:var(--green); margin-right:.3rem }
.perks-list { padding:1rem 1.5rem }
.card-perk { display:flex; align-items:center; gap:.6rem; font-size:.84rem; color:var(--body); padding:.3rem 0 }
.card-perk i { color:var(--blue); font-size:.82rem; width:15px; flex-shrink:0 }
.content-block { background:var(--white); border:1px solid var(--border); border-radius:14px; padding:1.8rem 2rem; margin-bottom:1.4rem; box-shadow:0 2px 12px rgba(0,0,0,.04) }
.content-block-title { font-family:var(--font-heading); font-size:1.2rem; font-weight:700; color:var(--text); margin-bottom:1.2rem; padding-bottom:.75rem; border-bottom:2px solid var(--border2); display:flex; align-items:center; gap:.5rem }
.content-block-title i { color:var(--accent); font-size:.95rem }
.learn-grid { display:grid; grid-template-columns:1fr 1fr; gap:.65rem }
.learn-item { display:flex; align-items:flex-start; gap:.6rem; font-size:.9rem; color:var(--body); line-height:1.55 }
.learn-item i { color:var(--green); margin-top:3px; flex-shrink:0 }
.sub-nav { background:var(--white); border-bottom:1px solid var(--border); position:sticky; top:68px; z-index:900; overflow-x:auto; white-space:nowrap }
.sub-nav-inner { display:flex; padding:0 1rem }
.sub-nav a { display:inline-block; font-size:.83rem; font-weight:600; color:var(--muted); padding:.75rem 1rem; border-bottom:2px solid transparent; transition:color .18s,border-color .18s }
.sub-nav a:hover,.sub-nav a.active { color:var(--accent); border-bottom-color:var(--accent) }
.cur-header { display:flex; justify-content:space-between; align-items:center; background:var(--surface); border:1px solid var(--border); border-radius:10px; padding:1rem 1.2rem; cursor:pointer; transition:background .18s; user-select:none }
.cur-header:hover { background:#f0e9df }
.cur-header.open { background:var(--accent-lt); border-radius:10px 10px 0 0; border-bottom-color:transparent }
.cur-header h6 { font-family:var(--font-heading); font-weight:700; font-size:.95rem; color:var(--text); margin:0 }
.cur-meta { color:var(--muted); font-size:.8rem; margin-top:.15rem; font-weight:500 }
.cur-icon { color:var(--accent); transition:transform .28s; flex-shrink:0; margin-left:1rem }
.cur-icon--open { transform:rotate(180deg) }
.cur-header.open .cur-icon { transform:rotate(180deg) }
.cur-body { border:1px solid var(--border); border-top:none; border-radius:0 0 10px 10px; background:var(--white); display:none }
.cur-body.open { display:block }
.lesson-row { display:flex; align-items:center; gap:.8rem; padding:.7rem 1.2rem; border-bottom:1px solid var(--border2); font-size:.875rem; color:var(--body); transition:background .14s }
.lesson-row:last-child { border-bottom:none }
.lesson-row:hover { background:var(--surface) }
.lesson-icon { color:var(--blue); width:16px; flex-shrink:0; font-size:.875rem }
.lesson-icon--gold { color:#c09a14 }
.lesson-icon--muted { color:var(--muted) }
.lesson-dur { margin-left:auto; font-size:.78rem; color:var(--muted); font-weight:500; white-space:nowrap; padding-left:.5rem }
.lesson-live-badge { background:#ffe0e0; color:var(--red); font-size:.68rem; font-weight:700; padding:.15rem .45rem; border-radius:4px }
.lesson-rec-badge  { background:var(--blue-lt); color:var(--blue); font-size:.68rem; font-weight:700; padding:.15rem .45rem; border-radius:4px }
.instructor-card { background:var(--white); border:1px solid var(--border); border-radius:14px; padding:2rem; box-shadow:0 2px 14px rgba(0,0,0,.05) }
.instructor-av { width:90px; height:90px; border-radius:14px; display:flex; align-items:center; justify-content:center; font-family:var(--font-heading); font-size:2rem; font-weight:800; color:#fff; flex-shrink:0 }
.instructor-name { font-family:var(--font-heading); font-weight:700; font-size:1.15rem; color:var(--text) }
.instructor-role { color:var(--accent); font-size:.875rem; font-weight:600; margin-bottom:.5rem }
.instructor-stat { display:flex; align-items:center; gap:.4rem; font-size:.82rem; color:var(--muted); font-weight:500 }
.instructor-stat i { color:var(--blue) }
.instructor-bio { font-family:var(--font-serif); font-size:.92rem; color:var(--body); line-height:1.85; margin-top:.8rem }
.rating-big { font-family:var(--font-heading); font-size:3.8rem; font-weight:800; color:var(--accent); line-height:1 }
.rating-stars { color:#c09a14; font-size:.85rem; margin:.4rem 0 }
.rating-count { color:var(--muted); font-size:.82rem; font-weight:500; margin-bottom:1.5rem }
.rating-row { display:flex; align-items:center; gap:.7rem; font-size:.8rem; color:var(--body); margin-bottom:.3rem; font-weight:500 }
.rating-label { min-width:28px }
.bar-track { flex:1; height:7px; background:var(--border2); border-radius:4px; overflow:hidden; min-width:120px }
.bar-fill { height:100%; background:#c09a14; border-radius:4px }
.review-card { padding:1.4rem 0; border-bottom:1px solid var(--border2) }
.review-card:last-child { border-bottom:none }
.review-card--first { padding-top:0 }
.reviewer-av { width:40px; height:40px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-family:var(--font-heading); font-weight:700; font-size:.85rem; color:#fff; flex-shrink:0 }
.reviewer-name { font-weight:600; font-size:.9rem; color:var(--text) }
.reviewer-stars { color:#c09a14; font-size:.78rem }
.reviewer-date { margin-left:auto; font-size:.78rem; color:var(--muted) }
.review-text { font-family:var(--font-serif); font-size:.9rem; color:var(--body); line-height:1.85 }
.project-card { border-radius:12px; overflow:hidden; height:100% }
.project-card--cap { background:var(--accent-lt); border:1px solid var(--accent) }
.project-card--default { background:var(--white); border:1px solid var(--border) }
.project-card-head { padding:1.5rem 1.5rem 1rem; border-bottom:1px solid var(--border2) }
.project-label { font-family:var(--font-heading); font-size:.72rem; font-weight:700; color:var(--accent); letter-spacing:.5px; text-transform:uppercase; margin-bottom:.4rem }
.project-card-head h5 { font-family:var(--font-heading); font-size:1rem; font-weight:700; color:var(--text); margin:0 }
.project-card-body { padding:1rem 1.5rem }
.project-card-body p { font-size:.875rem; color:var(--muted); line-height:1.65 }
.project-card-tags { display:flex; flex-wrap:wrap; gap:.4rem; padding:0 1.5rem 1.2rem }
.project-tag { background:var(--border2); color:var(--body); font-size:.72rem; font-weight:500; padding:.2rem .6rem; border-radius:5px }

/* ── COURSE FILTER TABS (home) ── */
.cft { background:var(--white); border:1.5px solid var(--border); border-radius:8px; font-family:var(--font-heading); font-weight:600; font-size:.8rem; color:var(--body); padding:.42rem .95rem; cursor:pointer; transition:all .18s }
.cft:hover,.cft.active { background:var(--accent); color:#fff; border-color:var(--accent) }

/* ── UTILITIES ── */
@keyframes fadeUp { from{opacity:0;transform:translateY(16px)} to{opacity:1;transform:translateY(0)} }
.fade-up   { animation:fadeUp .6s ease both }
.fade-up-2 { animation:fadeUp .6s ease .12s both }
.fade-up-3 { animation:fadeUp .6s ease .24s both }
::-webkit-scrollbar { width:6px }
::-webkit-scrollbar-track { background:var(--bg) }
::-webkit-scrollbar-thumb { background:var(--border); border-radius:3px }

/* ── MOBILE RESPONSIVE ── */
@media(max-width:991px) {
  .hero { min-height:auto; padding:4rem 0 3rem }
  .hero h1 { font-size:clamp(2rem,6vw,3rem) }
  .hero-panel { margin-top:2rem }
  .job-section { padding:3rem 0 }
  .enroll-card { position:static; margin-top:2rem }
  .process-step p { max-width:100% }
}
@media(max-width:767px) {
  section { padding:3rem 0 }
  .process-section { padding:3rem 0 }
  .cta-final { padding:3rem 0 }
  .stats-band { padding:1.2rem 0 }
  .stat-band-item strong { font-size:1.4rem }
  .stat-band-item--border { border-right:none; border-bottom:1px solid rgba(255,255,255,.25) }
  .stat-band-dark .stat-band-item--border { border-bottom:1px solid rgba(255,255,255,.1) }
  .about-hero { padding:3rem 0 }
  .contact-hero { padding:3rem 0 }
  .course-list-hero { padding:3rem 0 4rem }
  .batch-card { gap:.75rem }
  .batch-info { min-width:120px }
  .hero-cta-row { flex-direction:column }
  .hero-cta-row .btn-hero-primary,
  .hero-cta-row .btn-hero-outline { width:100%; justify-content:center }
  .cta-final h2 { font-size:clamp(1.5rem,5vw,2rem) }
  .job-stat strong { font-size:1.6rem }
  .page-hero { padding:2.5rem 0 0 }
  .instructor-card .instructor-flex { flex-direction:column }
  .instructor-av { margin:0 auto }
  .team-card { padding:1.4rem }
}
@media(max-width:575px) {
  .learn-grid { grid-template-columns:1fr }
  .hero { padding:3rem 0 2.5rem }
  .sec-heading { font-size:clamp(1.4rem,5vw,1.9rem) }
  .batch-card { flex-direction:column; align-items:flex-start }
  .batch-card .btn-batch { width:100%; text-align:center }
  .batch-card .batch-seats { align-self:flex-start }
  .hero-trust { gap:.6rem 1rem }
  .about-stat-card strong { font-size:1.4rem }
  .rating-big { font-size:2.8rem }
  .content-block { padding:1.2rem }
  .content-block-title { font-size:1rem }
  .course-list-hero-inner .hero-stats-row { flex-wrap:wrap; gap:1rem }
}
@media(max-width:400px) {
  .navbar-brand { font-size:1.2rem }
  .btn-hero-primary,.btn-hero-outline { font-size:.9rem; padding:.75rem 1.4rem }
}

/* ── ADDITIONAL UTILITY CLASSES ── */
.text-gold { color:#ffd87a }
.icon-accent { color:var(--accent) }
.icon-blue   { color:var(--blue) }
.icon-green  { color:var(--green) }
.icon-purple { color:var(--purple) }
.topbar-wa-link { color:#ffd87a; font-weight:600 }
.navbar-toggle-icon { color:var(--body); font-size:1.1rem }
.course-card--relative { position:relative }
.faq-icon--open { transform:rotate(45deg) }
.hr-border { border-color:var(--border); margin:1.2rem 0 }
.instructor-info { flex:1; min-width:200px }
.btn-enroll--inline { width:auto; padding:.85rem 2.5rem; display:inline-block }
.section-bg-alt { background:var(--bg) }
.enroll-count-icon { color:var(--accent); margin-right:.3rem }
