/* ============================================================
   CEP — Center of Education Pride | Security Training Academy
   ============================================================ */

:root {
  --navy:         #0C1050;
  --navy-deep:    #070A33;
  --navy-light:   #1B2168;
  --burgundy:     #800626;
  --burgundy-lt:  #9B1030;
  --ivory:        #FBFAF7;
  --parchment:    #F4F2EC;
  --rule:         #E0DDD5;
  --text-muted:   #6B6860;
  --white:        #ffffff;
  --topbar-h:     40px;
  --header-h:     76px;
  --radius:       0.75rem;
  --radius-sm:    0.45rem;
  --radius-lg:    1.25rem;
  --shadow-sm:    0 1px 4px rgba(7,10,51,.1);
  --shadow-md:    0 4px 24px rgba(7,10,51,.14);
  --shadow-lg:    0 12px 48px rgba(7,10,51,.22);
  --font-display: 'Archivo Black', sans-serif;
  --font-body:    'Hind', sans-serif;
  --max-w:        1320px;
  --section-py:   clamp(4rem, 8vw, 7rem);
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
  font-family: var(--font-body);
  background: var(--navy-deep);
  color: var(--ivory);
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
  max-width: 100vw;
}
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
ul, ol { list-style: none; }
button { cursor: pointer; font-family: inherit; border: none; background: none; }
input, textarea, select { font-family: inherit; }
:focus-visible { outline: 2px solid var(--burgundy-lt); outline-offset: 3px; }

h1, h2, h3, h4, h5 {
  font-family: var(--font-display);
  letter-spacing: -0.02em;
  line-height: 1.05;
  text-transform: uppercase;
}
h1 { font-size: clamp(1.9rem, 5.5vw, 5rem); word-break: break-word; }
h2 { font-size: clamp(1.9rem, 3.5vw, 3.2rem); }
h3 { font-size: clamp(1.2rem, 2vw, 1.65rem); }
h4 { font-size: 1.1rem; }
p { max-width: 68ch; }

.eyebrow {
  font-family: var(--font-body);
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
}

.container { width:100%; max-width:var(--max-w); margin-inline:auto; padding-inline:clamp(.875rem,4vw,2.5rem); overflow-x:hidden; }
.section { padding-block: var(--section-py); }
.section-ivory  { background: var(--ivory); color: var(--navy-deep); }
.section-navy   { background: var(--navy); color: var(--ivory); }
.section-dark   { background: var(--navy-deep); color: var(--ivory); }
.section-parch  { background: var(--parchment); color: var(--navy-deep); }

.reveal { opacity:0; transform:translateY(1.5rem); transition:opacity .85s cubic-bezier(.16,1,.3,1),transform .85s cubic-bezier(.16,1,.3,1); transition-delay:var(--delay,0ms); }
.reveal.revealed { opacity:1; transform:none; }
@media (prefers-reduced-motion:reduce) { .reveal { opacity:1; transform:none; transition:none; } }

/* ── Buttons ── */
.btn {
  display:inline-flex; align-items:center; gap:.5rem;
  border-radius:999px; font-family:var(--font-body); font-size:.75rem; font-weight:700;
  letter-spacing:.16em; text-transform:uppercase; padding:.875rem 1.75rem;
  transition:background .25s,border-color .25s,color .25s,transform .2s; white-space:nowrap;
}
.btn:hover { transform:translateY(-1px); }
.btn-primary { background:var(--burgundy); color:var(--ivory); }
.btn-primary:hover { background:var(--burgundy-lt); }
.btn-outline { background:transparent; border:1.5px solid rgba(251,250,247,.3); color:var(--ivory); }
.btn-outline:hover { border-color:var(--ivory); background:rgba(251,250,247,.08); }
.btn-navy { background:var(--navy-deep); color:var(--ivory); }
.btn-navy:hover { background:var(--navy); }
.btn-whatsapp { background:#25D366; color:#fff; display:inline-flex; align-items:center; gap:.5rem; border-radius:999px; font-family:var(--font-body); font-size:.75rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; padding:.875rem 1.75rem; transition:background .25s,transform .2s; white-space:nowrap; }
.btn-whatsapp:hover { background:#1ebe5d; transform:translateY(-1px); }
.btn-sm { padding:.65rem 1.25rem; font-size:.6875rem; }

/* ── Cards ── */
.card { background:var(--navy); border:1px solid rgba(251,250,247,.1); border-radius:var(--radius); padding:2rem; transition:border-color .3s,transform .3s; overflow:hidden; }
.card:hover { border-color:rgba(128,6,38,.7); transform:translateY(-3px); }
.card-ivory { background:var(--ivory); color:var(--navy-deep); border:none; }
.card-ivory:hover { transform:translateY(-3px); box-shadow:var(--shadow-md); }
.card-number { font-family:var(--font-display); font-size:.6875rem; letter-spacing:.2em; color:var(--burgundy-lt); margin-bottom:1.5rem; }
.card h3 { margin-bottom:.75rem; }
.card p { font-size:.9375rem; line-height:1.6; color:rgba(251,250,247,.80); }
.card-ivory p { color:rgba(7,10,51,.75); }
.crest-badge { clip-path:polygon(0% 0%,100% 0%,100% 62%,50% 100%,0% 62%); background:var(--burgundy); width:2.25rem; height:2.5rem; display:flex; align-items:center; justify-content:center; font-family:var(--font-display); font-size:.625rem; color:var(--ivory); flex-shrink:0; margin-bottom:1rem; }

/* ── Page hero ── */
.page-hero { background:var(--navy-deep); padding-block:clamp(7rem,14vw,11rem) clamp(3rem,6vw,5rem); position:relative; overflow:hidden; }
.page-hero::before { content:''; position:absolute; inset:0; background:radial-gradient(120% 80% at 10% 0%,rgba(128,6,38,.35) 0%,transparent 55%),radial-gradient(90% 70% at 90% 10%,rgba(27,33,104,.9) 0%,transparent 60%); }
.page-hero .container { position:relative; }
.page-hero .eyebrow { color:var(--burgundy-lt); margin-bottom:1.25rem; }
.page-hero h1 { color:var(--ivory); margin-bottom:1.5rem; max-width:20ch; }
.page-hero .lead { font-size:clamp(1rem,1.8vw,1.2rem); color:rgba(251,250,247,.7); max-width:58ch; }
.page-hero-actions { margin-top:2.5rem; display:flex; gap:1rem; flex-wrap:wrap; }

.section-heading { margin-bottom:clamp(2.5rem,5vw,4rem); }
.section-heading .eyebrow { margin-bottom:1rem; }
.section-heading h2 { margin-bottom:1.25rem; }
.section-heading p { font-size:1.0625rem; color:rgba(251,250,247,.65); }
.section-ivory .section-heading p, .section-parch .section-heading p { color:rgba(7,10,51,.6); }
.section-heading.centered { text-align:center; }
.section-heading.centered p { margin-inline:auto; }
.rule { height:1px; background:linear-gradient(to right,transparent,var(--burgundy-lt),transparent); border:none; }

/* ============================================================
   TOP CONTACT BAR
   ============================================================ */
.header-topbar {
  position: fixed;
  inset-inline: 0;
  top: 0;
  z-index: 901;
  background: var(--navy-deep);
  border-bottom: 1px solid rgba(251,250,247,.08);
  height: var(--topbar-h);
}
.header-topbar-inner {
  max-width: var(--max-w);
  margin-inline: auto;
  padding-inline: clamp(1rem,4vw,2.5rem);
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}
.header-topbar-left { display:flex; align-items:center; gap:1.5rem; flex-wrap:wrap; }
.header-topbar-left a { font-size:.75rem; color:#ffffff; display:flex; align-items:center; gap:.4rem; transition:color .2s; font-weight:500; }
.header-topbar-left a:hover { color:#f0c0c0; }
.header-topbar-left i { color:#ff9999; font-size:.7rem; }
.topbar-whatsapp { background:#25D366; color:#fff !important; padding:.3rem .875rem; border-radius:999px; font-size:.7rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; display:flex; align-items:center; gap:.4rem; transition:background .2s !important; }
.topbar-whatsapp:hover { background:#1ebe5d !important; }

/* ============================================================
   HEADER — WHITE
   ============================================================ */
.site-header {
  position: fixed;
  inset-inline: 0;
  top: var(--topbar-h);
  z-index: 900;
  background: #ffffff;
  border-bottom: 1px solid rgba(7,10,51,.1);
  padding: .75rem clamp(1rem,3vw,2rem);
  transition: box-shadow .3s, padding .3s;
}
.site-header.scrolled { box-shadow: var(--shadow-md); padding-block: .5rem; }
.header-inner { max-width:var(--max-w); margin-inline:auto; display:flex; align-items:center; gap:1.5rem; }
.header-logo { display:flex; align-items:center; gap:.875rem; flex-shrink:0; text-decoration:none; }
.header-logo img { height:48px; width:auto; border-radius:4px; }
.header-logo-text { display:flex; flex-direction:column; gap:.1rem; }
.header-logo-name { font-family:var(--font-display); font-size:.875rem; color:var(--navy-deep); text-transform:uppercase; letter-spacing:-.01em; line-height:1.1; }
.header-logo-division { font-family:var(--font-body); font-size:.5rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:var(--burgundy); }
.header-nav { flex:1; display:none; }
@media (min-width:1200px) { .header-nav { display:block; } }
.header-nav ul { display:flex; align-items:center; gap:.25rem; justify-content:center; }
.nav-link { display:block; padding:.5rem .85rem; border-radius:999px; font-size:.8125rem; font-weight:500; color:rgba(7,10,51,.65); transition:background .2s,color .2s; }
.nav-link:hover, .nav-link.active { background:rgba(7,10,51,.07); color:var(--navy-deep); }
.nav-link.active { font-weight:700; }
.header-actions { display:flex; align-items:center; gap:.75rem; margin-left:auto; }

.hamburger { display:flex; flex-direction:column; gap:5px; width:44px; height:44px; align-items:center; justify-content:center; border-radius:999px; border:1.5px solid rgba(7,10,51,.2); transition:border-color .2s; }
.hamburger:hover { border-color:rgba(7,10,51,.5); }
.hamburger span { display:block; width:20px; height:1.5px; background:var(--navy-deep); }
.hamburger span:last-child { width:13px; background:var(--burgundy); }
@media (min-width:1200px) { .hamburger { display:none; } }

/* Mobile menu */
.mobile-menu { position:fixed; inset:0; z-index:950; background:var(--navy-deep); transform:translateX(100%); transition:transform .4s cubic-bezier(.16,1,.3,1); overflow-y:auto; }
.mobile-menu.open { transform:translateX(0); }
.mobile-menu-inner { padding:1.5rem 1.75rem 3rem; min-height:100%; display:flex; flex-direction:column; }
.mobile-menu-top { display:flex; align-items:center; justify-content:space-between; margin-bottom:3rem; }
.mobile-close { font-size:2rem; color:var(--ivory); width:44px; height:44px; display:flex; align-items:center; justify-content:center; border-radius:999px; border:1.5px solid rgba(251,250,247,.2); }
.mobile-close:hover { border-color:var(--ivory); }
.mobile-nav-list { margin-bottom:auto; }
.mobile-nav-link { display:block; font-family:var(--font-display); font-size:clamp(1.5rem,6vw,2.25rem); color:rgba(251,250,247,.7); padding:.65rem 0; border-bottom:1px solid rgba(251,250,247,.08); transition:color .2s; text-transform:uppercase; }
.mobile-nav-link:hover, .mobile-nav-link.active { color:var(--ivory); }
.mobile-menu-cta { margin-top:3rem; display:flex; flex-direction:column; gap:.75rem; }
.mobile-overlay { position:fixed; inset:0; z-index:940; background:rgba(7,10,51,.6); opacity:0; pointer-events:none; transition:opacity .4s; }
.mobile-overlay.open { opacity:1; pointer-events:auto; }

/* Body offset for topbar + header */
body { padding-top: calc(var(--topbar-h) + var(--header-h)); }

/* ============================================================
   FOOTER
   ============================================================ */
.site-footer { background:var(--navy-deep); color:var(--ivory); position:relative; overflow:hidden; }
.footer-top-rule { height:1px; background:linear-gradient(to right,transparent,var(--burgundy-lt),transparent); }
.site-footer::before { content:''; position:absolute; top:-6rem; right:-8rem; width:38rem; height:38rem; background:url('../assets/logo.jpg') center/contain no-repeat; opacity:.04; pointer-events:none; }
.footer-inner { max-width:var(--max-w); margin-inline:auto; padding:clamp(3.5rem,7vw,6rem) clamp(1rem,4vw,2.5rem) clamp(2rem,4vw,3.5rem); display:grid; grid-template-columns:1fr; gap:3.5rem; }
@media (min-width:1024px) { .footer-inner { grid-template-columns:1.2fr 1fr; gap:5rem; } }
.footer-logo-row { display:flex; align-items:center; gap:1.25rem; margin-bottom:1.5rem; }
.footer-logo-row img { height:64px; width:auto; border-radius:4px; }
.footer-logo-text { border-left:1.5px solid rgba(155,16,48,.6); padding-left:1.125rem; }
.footer-logo-name { font-family:var(--font-display); font-size:1rem; text-transform:uppercase; line-height:1.2; }
.footer-logo-sub { font-size:.55rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:rgba(251,250,247,.5); margin-top:.25rem; }
.footer-desc { font-size:.9375rem; color:rgba(251,250,247,.65); line-height:1.7; margin-bottom:1.5rem; max-width:50ch; }
.footer-tagline { font-family:var(--font-display); font-size:1.1rem; font-style:italic; color:rgba(251,250,247,.8); margin-bottom:2rem; text-transform:none; letter-spacing:0; }
.footer-newsletter label { display:block; font-size:.6875rem; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:rgba(251,250,247,.55); margin-bottom:.75rem; }
.footer-newsletter-row { display:flex; flex-direction:column; gap:.5rem; max-width:420px; }
@media (min-width:480px) { .footer-newsletter-row { flex-direction:row; } }
.footer-newsletter-row input { flex:1; background:rgba(251,250,247,.07); border:1px solid rgba(251,250,247,.18); color:var(--ivory); padding:.8rem 1rem; font-size:.9rem; border-radius:var(--radius-sm); transition:border-color .2s; }
.footer-newsletter-row input::placeholder { color:rgba(251,250,247,.4); }
.footer-newsletter-row input:focus { outline:none; border-color:var(--burgundy-lt); }
.footer-newsletter-row button { background:var(--burgundy); color:var(--ivory); padding:.8rem 1.5rem; font-size:.6875rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; border-radius:var(--radius-sm); transition:background .2s; white-space:nowrap; }
.footer-newsletter-row button:hover { background:var(--burgundy-lt); }
.newsletter-msg { margin-top:.75rem; font-size:.875rem; }
.newsletter-msg.success { color:#6fcf97; }
.newsletter-msg.error { color:#eb5757; }
.footer-columns { display:grid; grid-template-columns:1fr 1fr; gap:2.5rem; }
@media (min-width:640px) { .footer-columns { grid-template-columns:repeat(4,1fr); } }
.footer-col-title { font-family:var(--font-body); font-size:.6875rem; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:var(--burgundy-lt); border-bottom:1px solid rgba(251,250,247,.12); padding-bottom:.75rem; margin-bottom:1.25rem; }
.footer-columns ul { display:flex; flex-direction:column; gap:.625rem; }
.footer-columns a { font-size:.9rem; color:rgba(251,250,247,.65); transition:color .2s; }
.footer-columns a:hover { color:var(--ivory); }
.footer-contact { display:flex; flex-direction:column; gap:.875rem; }
.footer-contact dt { font-size:.55rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:rgba(251,250,247,.4); margin-bottom:.2rem; }
.footer-contact dd { font-size:.875rem; color:rgba(251,250,247,.75); }
.footer-contact a:hover { color:var(--ivory); }
.footer-socials { display:flex; flex-wrap:wrap; gap:.5rem; margin-top:1.5rem; }
.social-link { width:40px; height:40px; display:flex; align-items:center; justify-content:center; border:1.5px solid rgba(251,250,247,.18); border-radius:var(--radius-sm); color:rgba(251,250,247,.65); font-size:.85rem; transition:border-color .2s,color .2s; }
.social-link:hover { border-color:var(--burgundy-lt); color:var(--ivory); }
.footer-bottom { border-top:1px solid rgba(251,250,247,.1); }
.footer-bottom-inner { max-width:var(--max-w); margin-inline:auto; padding:1.5rem clamp(1rem,4vw,2.5rem); display:flex; flex-wrap:wrap; gap:.75rem; align-items:center; justify-content:space-between; }
.footer-bottom p { font-size:.8125rem; color:rgba(251,250,247,.45); }
.footer-bottom a { text-decoration:underline; text-underline-offset:3px; }
.footer-bottom a:hover { color:rgba(251,250,247,.75); }

/* ============================================================
   HOME HERO
   ============================================================ */
.home-hero { padding-top:2rem; padding-bottom:1.5rem; background:var(--navy-deep); position:relative; overflow:hidden; }
.home-hero::before { content:''; position:absolute; inset:0; background:radial-gradient(120% 90% at 8% 0%,rgba(128,6,38,.4) 0%,transparent 55%),radial-gradient(100% 80% at 92% 10%,rgba(27,33,104,.9) 0%,transparent 60%); }
.home-hero .container { position:relative; }
.bento-hero {
  display: grid;
  gap: .875rem;
  grid-template-columns: 1fr;
  grid-template-areas:
    "headline"
    "image"
    "crest";
  width: 100%;
  min-width: 0;
}
@media (min-width: 900px) {
  .bento-hero {
    grid-template-columns: 1.6fr 1fr;
    grid-template-rows: 1fr auto;
    grid-template-areas:
      "headline image"
      "headline crest";
    min-height: 78vh;
  }
}
.bento-tile { background:var(--navy); border:1px solid rgba(251,250,247,.1); border-radius:var(--radius-lg); overflow:hidden; position:relative; transition:border-color .35s; min-width:0; width:100%; }
.bento-tile:hover { border-color:rgba(128,6,38,.65); }
.bento-headline { grid-area:headline; padding:clamp(1.25rem,5vw,3.5rem); display:flex; flex-direction:column; justify-content:space-between; gap:2rem; min-height:300px; overflow:hidden; }
.bento-image { grid-area:image; min-height:260px; }
.bento-crest { grid-area:crest; }
.bento-image img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.bento-image-overlay { position:absolute; inset:0; background:linear-gradient(to top,var(--navy-deep) 0%,rgba(7,10,51,.2) 50%,transparent 100%); }
.bento-image-caption { position:absolute; bottom:1.5rem; left:1.5rem; right:1.5rem; font-family:var(--font-display); font-size:.875rem; color:var(--ivory); text-transform:uppercase; }
.bento-crest-inner { display:grid; grid-template-columns:auto 1fr; align-items:center; gap:1.25rem; padding:1.75rem; }
.bento-crest-inner img { height:56px; width:auto; flex-shrink:0; border-radius:4px; }
.bento-crest-inner h2 { font-size:1.05rem; color:var(--navy-deep); margin-bottom:.25rem; }
.bento-crest-inner .eyebrow { color:var(--burgundy); font-size:.5rem; }
.bento-crest-inner p { font-size:.85rem; color:rgba(7,10,51,.6); margin-top:.6rem; max-width:30ch; }
.bento-crest.bento-tile { background:var(--ivory); }
.hero-eyebrow { color:var(--burgundy-lt); margin-bottom:1rem; display:flex; align-items:center; gap:.75rem; }
.hero-eyebrow::before { content:''; display:block; width:.5rem; height:.5rem; border-radius:50%; background:var(--burgundy-lt); flex-shrink:0; }
.hero-headline { color:var(--ivory); }
.hero-headline span { color:var(--burgundy-lt); }
.hero-body { font-size:1.0625rem; color:rgba(251,250,247,.68); line-height:1.7; max-width:46ch; }
.hero-actions { display:flex; flex-wrap:wrap; gap:.875rem; }

/* HOME SECTIONS */
.programmes-grid { display:grid; grid-template-columns:1fr; gap:1rem; }
@media (min-width:600px) { .programmes-grid { grid-template-columns:1fr 1fr; } }
@media (min-width:960px) { .programmes-grid { grid-template-columns:repeat(3,1fr); } }
.programme-card { padding:2rem 1.75rem; display:flex; flex-direction:column; gap:1.25rem; }
.programme-card h3 { font-size:1.2rem; }
.programme-card p { font-size:.9375rem; color:rgba(251,250,247,.62); }
.programme-card.featured { grid-column:span 2; background:var(--navy-light); }
@media (max-width:599px) { .programme-card.featured { grid-column:span 1; } }

.pathway-grid { display:grid; gap:1rem; }
@media (min-width:900px) { .pathway-grid { grid-template-columns:1fr 2fr; } }
.pathway-image { border-radius:var(--radius-lg); overflow:hidden; max-height:480px; }
.pathway-image img { width:100%; height:100%; object-fit:cover; min-height:280px; }
.pathway-steps { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.pathway-step { background:var(--navy); border:1px solid rgba(251,250,247,.1); border-radius:var(--radius); padding:1.5rem; display:flex; gap:1rem; }
.pathway-step-num { font-family:var(--font-display); font-size:1.5rem; color:var(--burgundy-lt); flex-shrink:0; line-height:1; }
.pathway-step h3 { font-size:1rem; margin-bottom:.5rem; }
.pathway-step p { font-size:.875rem; color:rgba(251,250,247,.6); max-width:unset; }

.advantages-wrapper { display:grid; gap:1rem; }
@media (min-width:900px) { .advantages-wrapper { grid-template-columns:1fr 1fr; } }
.advantages-lead { background:var(--navy); border:1px solid rgba(251,250,247,.1); border-radius:var(--radius-lg); padding:clamp(2rem,4vw,3rem); display:flex; flex-direction:column; justify-content:space-between; gap:2rem; }
.advantages-grid { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.advantage-card { background:var(--navy); border:1px solid rgba(251,250,247,.1); border-radius:var(--radius); padding:1.5rem 1.25rem; }
.advantage-card h3 { font-size:.975rem; margin-bottom:.5rem; margin-top:.5rem; }
.advantage-card p { font-size:.875rem; color:rgba(251,250,247,.6); max-width:unset; }

.apply-band { display:grid; gap:1rem; }
@media (min-width:900px) { .apply-band { grid-template-columns:2fr 1fr; } }
.apply-image-tile { position:relative; border-radius:var(--radius-lg); overflow:hidden; min-height:360px; }
.apply-image-tile img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.apply-overlay { position:absolute; inset:0; background:rgba(7,10,51,.72); padding:clamp(2rem,5vw,4rem); display:flex; flex-direction:column; justify-content:flex-end; }
.apply-overlay .eyebrow { color:var(--burgundy-lt); margin-bottom:1.25rem; }
.apply-overlay h2 { color:var(--ivory); margin-bottom:1.25rem; }
.apply-overlay p { color:rgba(251,250,247,.75); margin-bottom:2rem; font-size:1rem; }
.apply-contact-tile { background:var(--ivory); border-radius:var(--radius-lg); padding:2.25rem; }
.apply-contact-tile h3 { font-family:var(--font-display); font-size:1.2rem; color:var(--navy-deep); margin-bottom:1.75rem; }
.apply-contact-list { display:flex; flex-direction:column; gap:1.25rem; }
.apply-contact-item { border-top:1px solid var(--rule); padding-top:1rem; }
.apply-contact-item dt { font-size:.55rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:var(--burgundy); margin-bottom:.3rem; }
.apply-contact-item dd { font-size:.9rem; color:rgba(7,10,51,.72); }

/* ABOUT */
.about-intro { display:grid; gap:3rem; align-items:center; }
@media (min-width:860px) { .about-intro { grid-template-columns:1fr 1fr; } }
.about-intro-image { border-radius:var(--radius-lg); overflow:hidden; }
.about-intro-image img { width:100%; height:100%; object-fit:cover; min-height:340px; }
.about-intro-text .eyebrow { color:var(--burgundy); margin-bottom:1rem; }
.about-intro-text h2 { margin-bottom:1.25rem; }
.about-intro-text p { color:rgba(7,10,51,.68); margin-bottom:1rem; font-size:1.0625rem; }
.mission-vision { display:grid; gap:1.5rem; }
@media (min-width:640px) { .mission-vision { grid-template-columns:1fr 1fr 1fr; } }
.mv-card { background:var(--ivory); border-radius:var(--radius); padding:2rem; border-top:4px solid var(--burgundy); }
.mv-card h3 { font-size:1rem; color:var(--navy-deep); margin-bottom:.875rem; }
.mv-card p { font-size:.9375rem; color:rgba(7,10,51,.65); max-width:unset; }
.values-grid { display:grid; gap:1.25rem; }
@media (min-width:600px) { .values-grid { grid-template-columns:1fr 1fr; } }
@media (min-width:960px) { .values-grid { grid-template-columns:repeat(3,1fr); } }
.value-item { display:flex; gap:1.125rem; padding:1.5rem; background:var(--navy); border-radius:var(--radius); border:1px solid rgba(251,250,247,.1); }
.value-icon { width:2.5rem; height:2.5rem; background:var(--burgundy); border-radius:var(--radius-sm); display:flex; align-items:center; justify-content:center; color:var(--ivory); font-size:1rem; flex-shrink:0; }
.value-item h4 { font-size:.975rem; margin-bottom:.4rem; }
.value-item p { font-size:.875rem; color:rgba(251,250,247,.6); max-width:unset; }
.team-grid { display:grid; gap:1.5rem; }
@media (min-width:540px) { .team-grid { grid-template-columns:1fr 1fr; } }
@media (min-width:900px) { .team-grid { grid-template-columns:repeat(4,1fr); } }
.team-card { background:var(--ivory); border-radius:var(--radius); overflow:hidden; text-align:center; }
.team-card-photo { width:100%; aspect-ratio:1; background:var(--parchment); display:flex; align-items:center; justify-content:center; }
.team-card-photo i { font-size:3.5rem; color:var(--rule); }
.team-card-body { padding:1.25rem 1rem; }
.team-card-body h4 { font-size:.975rem; color:var(--navy-deep); margin-bottom:.25rem; }
.team-card-body .role { font-size:.8rem; color:var(--burgundy); font-weight:600; letter-spacing:.08em; text-transform:uppercase; }
.team-card-body p { font-size:.85rem; color:rgba(7,10,51,.6); margin-top:.6rem; max-width:unset; }
.accreditation-row { display:flex; flex-wrap:wrap; gap:1.25rem; }
.accreditation-badge { background:var(--ivory); border-radius:var(--radius); padding:1.25rem 2rem; display:flex; flex-direction:column; align-items:center; gap:.5rem; min-width:160px; border-bottom:3px solid var(--burgundy); }
.accreditation-badge i { font-size:2rem; color:var(--navy); }
.accreditation-badge span { font-size:.8125rem; font-weight:700; color:var(--navy-deep); text-align:center; text-transform:uppercase; letter-spacing:.06em; }

/* TRAINING */
.training-overview-grid { display:grid; gap:3rem; align-items:start; }
@media (min-width:860px) { .training-overview-grid { grid-template-columns:1fr 1fr; } }
.tabs {}
.tab-list { display:flex; flex-wrap:wrap; gap:.5rem; margin-bottom:2rem; border-bottom:1px solid rgba(251,250,247,.12); padding-bottom:1rem; }
.tab-btn { padding:.6rem 1.25rem; border-radius:999px; font-size:.8125rem; font-weight:600; color:rgba(251,250,247,.6); border:1.5px solid rgba(251,250,247,.15); transition:all .25s; }
.tab-btn.active, .tab-btn:hover { background:var(--burgundy); border-color:var(--burgundy); color:var(--ivory); }
.tab-panel { display:none; }
.tab-panel.active { display:block; }
.course-detail { display:grid; gap:2.5rem; }
@media (min-width:860px) { .course-detail { grid-template-columns:1.4fr 1fr; align-items:start; } }
.course-detail-body h3 { margin-bottom:1rem; }
.course-detail-body p { color:rgba(251,250,247,.68); margin-bottom:1rem; font-size:1rem; line-height:1.7; }
.course-meta { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.course-meta-item { background:var(--navy-deep); border-radius:var(--radius-sm); padding:1rem; }
.course-meta-item dt { font-size:.6rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:var(--burgundy-lt); margin-bottom:.3rem; }
.course-meta-item dd { font-size:.9375rem; font-weight:600; }
.course-modules { margin-top:1.5rem; }
.course-modules h4 { font-size:.9rem; margin-bottom:1rem; color:rgba(251,250,247,.75); }
.module-list { display:flex; flex-direction:column; gap:.5rem; }
.module-list li { display:flex; align-items:baseline; gap:.75rem; font-size:.9375rem; color:rgba(251,250,247,.72); }
.module-list li::before { content:''; display:block; width:6px; height:6px; border-radius:50%; background:var(--burgundy-lt); flex-shrink:0; margin-top:.25rem; }
.course-aside { background:var(--navy); border:1px solid rgba(251,250,247,.1); border-radius:var(--radius); padding:1.75rem; position:sticky; top:calc(var(--topbar-h) + var(--header-h) + 1.5rem); }
.course-aside h4 { font-size:.875rem; margin-bottom:1.25rem; color:var(--ivory); }
.course-aside ul { display:flex; flex-direction:column; gap:.625rem; }
.course-aside li { display:flex; gap:.75rem; align-items:baseline; font-size:.9rem; color:rgba(251,250,247,.65); }
.course-aside li i { color:var(--burgundy-lt); font-size:.8rem; flex-shrink:0; }

/* ADMISSIONS */
.steps-list { counter-reset:steps; display:flex; flex-direction:column; gap:0; }
.step-item { counter-increment:steps; display:grid; grid-template-columns:3.5rem 1fr; gap:1.5rem; padding-bottom:2.5rem; position:relative; }
.step-item:not(:last-child)::before { content:''; position:absolute; left:1.6rem; top:3.5rem; bottom:0; width:2px; background:linear-gradient(to bottom,var(--burgundy),rgba(128,6,38,.1)); }
.step-num { width:3.25rem; height:3.25rem; background:var(--burgundy); border-radius:50%; display:flex; align-items:center; justify-content:center; font-family:var(--font-display); font-size:1.1rem; color:var(--ivory); flex-shrink:0; position:relative; z-index:1; }
.step-body h3 { margin-bottom:.75rem; font-size:1.15rem; }
.step-body p { font-size:.9375rem; color:rgba(251,250,247,.85); }
.step-body ul { margin-top:.75rem; display:flex; flex-direction:column; gap:.4rem; }
.step-body li { font-size:.9375rem; color:rgba(251,250,247,.85); display:flex; gap:.6rem; align-items:baseline; }
.step-body li::before { content:''; display:block; width:5px; height:5px; border-radius:50%; background:var(--burgundy-lt); flex-shrink:0; }

/* TABLES */
.intake-table-wrap { overflow-x:auto; }
.intake-table { width:100%; border-collapse:collapse; font-size:.9375rem; }
.intake-table th { background:var(--burgundy); color:var(--ivory); padding:.875rem 1.25rem; text-align:left; font-family:var(--font-display); font-size:.8125rem; letter-spacing:.08em; }
.intake-table td { padding:.875rem 1.25rem; border-bottom:1px solid rgba(7,10,51,.08); color:rgba(7,10,51,.78); }
.section-navy .intake-table td, .section-dark .intake-table td { border-bottom:1px solid rgba(251,250,247,.08); color:rgba(251,250,247,.78); }
.intake-table tr:nth-child(even) td { background:rgba(7,10,51,.03); }
.section-navy .intake-table tr:nth-child(even) td, .section-dark .intake-table tr:nth-child(even) td { background:rgba(251,250,247,.03); }
.intake-table .status-open { color:#27ae60; font-weight:700; }
.intake-table .status-soon { color:#e67e22; font-weight:700; }

/* REQUIREMENTS */
.req-grid { display:grid; gap:1.5rem; }
@media (min-width:640px) { .req-grid { grid-template-columns:1fr 1fr; } }
@media (min-width:960px) { .req-grid { grid-template-columns:repeat(3,1fr); } }
.req-card { background:var(--ivory); border-radius:var(--radius); padding:2rem; border-top:4px solid var(--burgundy); color:var(--navy-deep); }
.req-card h3 { font-size:1rem; margin-bottom:1rem; }
.req-list { display:flex; flex-direction:column; gap:.5rem; }
.req-list li { display:flex; gap:.75rem; align-items:baseline; font-size:.9rem; color:rgba(7,10,51,.82); }
.req-list li i { color:var(--burgundy); font-size:.85rem; flex-shrink:0; }
/* Requirements cards that appear on dark sections need light text */
.section-dark .req-list li, .section-navy .req-list li { color:rgba(251,250,247,.82); }
.section-dark .req-list li i, .section-navy .req-list li i { color:var(--burgundy-lt); }
.important-notice { background:var(--burgundy); border-radius:var(--radius); padding:2rem; display:flex; gap:1.25rem; align-items:flex-start; }
.important-notice i { font-size:1.5rem; color:rgba(251,250,247,.8); flex-shrink:0; margin-top:.2rem; }
.important-notice h4 { font-size:1rem; margin-bottom:.5rem; }
.important-notice p { font-size:.9375rem; color:rgba(251,250,247,.85); max-width:unset; }

/* STUDENT INFO */
.info-block { padding-block:3.5rem; border-bottom:1px solid rgba(251,250,247,.08); }
.info-block:last-child { border-bottom:none; }
.info-block h3 { font-size:1.35rem; margin-bottom:1.25rem; display:flex; align-items:center; gap:.875rem; }
.info-block h3 i { color:var(--burgundy-lt); font-size:1.1rem; }
.checklist { display:flex; flex-direction:column; gap:.625rem; }
.checklist li { display:flex; gap:.875rem; align-items:baseline; font-size:.9375rem; color:rgba(251,250,247,.72); }
.checklist li i { color:#6fcf97; font-size:.85rem; flex-shrink:0; }
.conduct-grid { display:grid; gap:1.25rem; }
@media (min-width:640px) { .conduct-grid { grid-template-columns:1fr 1fr; } }
.conduct-item { background:var(--navy); border-radius:var(--radius); padding:1.5rem; border-left:3px solid var(--burgundy); }
.conduct-item h4 { font-size:.975rem; margin-bottom:.5rem; }
.conduct-item p { font-size:.9rem; color:rgba(251,250,247,.62); max-width:unset; }
.support-cards { display:grid; gap:1.25rem; }
@media (min-width:640px) { .support-cards { grid-template-columns:1fr 1fr 1fr; } }
.support-card { text-align:center; padding:2rem 1.5rem; background:var(--ivory); border-radius:var(--radius); }
.support-card i { font-size:2.25rem; color:var(--burgundy); margin-bottom:1rem; }
.support-card h4 { font-size:.975rem; color:var(--navy-deep); margin-bottom:.625rem; }
.support-card p { font-size:.875rem; color:rgba(7,10,51,.65); max-width:unset; }

/* CONTACT */
.contact-layout { display:grid; gap:3rem; }
@media (min-width:860px) { .contact-layout { grid-template-columns:1fr 1.2fr; align-items:start; } }
.contact-info h3 { font-size:1.5rem; margin-bottom:1rem; }
.contact-info > p { font-size:1rem; color:rgba(251,250,247,.68); margin-bottom:2rem; }
.contact-detail-list { display:flex; flex-direction:column; gap:1.25rem; margin-bottom:2.5rem; }
.contact-detail { display:flex; gap:1rem; align-items:flex-start; }
.contact-detail-icon { width:2.75rem; height:2.75rem; background:rgba(128,6,38,.15); border:1px solid rgba(128,6,38,.3); border-radius:var(--radius-sm); display:flex; align-items:center; justify-content:center; color:var(--burgundy-lt); font-size:1rem; flex-shrink:0; }
.contact-detail dt { font-size:.6875rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:rgba(251,250,247,.45); margin-bottom:.25rem; }
.contact-detail dd { font-size:.9375rem; color:rgba(251,250,247,.8); }
.contact-hours { background:var(--navy); border:1px solid rgba(251,250,247,.1); border-radius:var(--radius); padding:1.5rem; margin-bottom:2rem; }
.contact-hours h4 { font-size:.875rem; margin-bottom:1rem; }
.hours-list { display:flex; flex-direction:column; gap:.5rem; }
.hours-row { display:flex; justify-content:space-between; font-size:.9rem; color:rgba(251,250,247,.68); border-bottom:1px solid rgba(251,250,247,.06); padding-bottom:.5rem; }
.hours-row:last-child { border-bottom:none; padding-bottom:0; }
.contact-form-card { background:var(--ivory); border-radius:var(--radius-lg); padding:clamp(2rem,4vw,3rem); }
.contact-form-card h3 { font-size:1.35rem; color:var(--navy-deep); margin-bottom:.5rem; }
.contact-form-card > p { font-size:.9375rem; color:rgba(7,10,51,.6); margin-bottom:2rem; }
.form-grid { display:grid; gap:1.25rem; }
.form-row { display:grid; gap:1.25rem; }
@media (min-width:540px) { .form-row { grid-template-columns:1fr 1fr; } }
.form-group { display:flex; flex-direction:column; gap:.45rem; }
.form-group label { font-size:.75rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:rgba(7,10,51,.65); }
.form-group input, .form-group select, .form-group textarea { background:var(--parchment); border:1.5px solid var(--rule); border-radius:var(--radius-sm); padding:.8rem 1rem; font-size:.9375rem; color:var(--navy-deep); transition:border-color .2s; width:100%; }
.form-group input:focus, .form-group select:focus, .form-group textarea:focus { outline:none; border-color:var(--burgundy); }
.form-group textarea { resize:vertical; min-height:130px; }
.form-success-msg { margin-top:1rem; color:#27ae60; font-size:.9375rem; font-weight:600; }
.map-placeholder { background:var(--navy); border-radius:var(--radius-lg); overflow:hidden; margin-top:3rem; }
.map-inner { aspect-ratio:16/6; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:1rem; color:rgba(251,250,247,.4); }
.map-inner i { font-size:2.5rem; }
.map-inner p { font-size:.9375rem; }

/* FAQ */
.faq-layout { display:grid; gap:3rem; }
@media (min-width:900px) { .faq-layout { grid-template-columns:1fr 2.5fr; align-items:start; } }
.faq-category-list { display:flex; flex-direction:column; gap:.375rem; }
.faq-category-btn { text-align:left; padding:.75rem 1rem; border-radius:var(--radius-sm); font-size:.9rem; font-weight:500; color:rgba(251,250,247,.65); background:transparent; border:1px solid rgba(251,250,247,.1); transition:all .2s; cursor:pointer; width:100%; }
.faq-category-btn:hover, .faq-category-btn.active { background:var(--burgundy); border-color:var(--burgundy); color:var(--ivory); }
.faq-group { margin-bottom:3rem; }
.faq-group-title { font-family:var(--font-body); font-size:.6875rem; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:var(--burgundy-lt); margin-bottom:1.25rem; padding-bottom:.75rem; border-bottom:1px solid rgba(251,250,247,.1); }
.accordion-item { border:1px solid rgba(251,250,247,.1); border-radius:var(--radius-sm); margin-bottom:.5rem; overflow:hidden; }
.accordion-btn { width:100%; text-align:left; padding:1.125rem 1.25rem; font-size:.9375rem; font-weight:600; color:rgba(251,250,247,.85); background:var(--navy); display:flex; justify-content:space-between; align-items:center; gap:1rem; cursor:pointer; transition:background .2s,color .2s; }
.accordion-btn::after { content:'+'; font-size:1.25rem; flex-shrink:0; transition:transform .3s; color:var(--burgundy-lt); }
.accordion-item.open .accordion-btn { background:var(--navy-light); color:var(--ivory); }
.accordion-item.open .accordion-btn::after { transform:rotate(45deg); }
.accordion-body { max-height:0; overflow:hidden; transition:max-height .4s cubic-bezier(.16,1,.3,1); background:var(--navy); }
.accordion-item.open .accordion-body { max-height:600px; }
.accordion-body-inner { padding:1rem 1.25rem 1.5rem; font-size:.9375rem; color:rgba(251,250,247,.88); line-height:1.7; }
.accordion-body-inner p { max-width:unset; }
.accordion-body-inner ul { margin-top:.75rem; display:flex; flex-direction:column; gap:.4rem; }
.accordion-body-inner li { display:flex; gap:.75rem; align-items:baseline; }
.accordion-body-inner li::before { content:''; display:block; width:5px; height:5px; border-radius:50%; background:var(--burgundy-lt); flex-shrink:0; }

/* BLOG */
.blog-toolbar { display:flex; flex-wrap:wrap; gap:1rem; align-items:center; justify-content:space-between; margin-bottom:2.5rem; }
.blog-search-wrap { position:relative; }
.blog-search-wrap i { position:absolute; left:.9rem; top:50%; transform:translateY(-50%); color:rgba(251,250,247,.4); }
#blog-search { background:var(--navy); border:1px solid rgba(251,250,247,.15); border-radius:999px; padding:.7rem 1rem .7rem 2.5rem; color:var(--ivory); font-size:.9rem; min-width:240px; transition:border-color .2s; }
#blog-search::placeholder { color:rgba(251,250,247,.4); }
#blog-search:focus { outline:none; border-color:var(--burgundy-lt); }
.blog-filters { display:flex; flex-wrap:wrap; gap:.5rem; }
.blog-filter-btn { padding:.5rem 1rem; border-radius:999px; font-size:.8rem; font-weight:600; border:1.5px solid rgba(251,250,247,.15); color:rgba(251,250,247,.6); background:transparent; cursor:pointer; transition:all .2s; }
.blog-filter-btn.active, .blog-filter-btn:hover { background:var(--burgundy); border-color:var(--burgundy); color:var(--ivory); }
.blog-grid { display:grid; gap:1.5rem; }
@media (min-width:600px) { .blog-grid { grid-template-columns:1fr 1fr; } }
@media (min-width:960px) { .blog-grid { grid-template-columns:repeat(3,1fr); } }
.blog-card { background:var(--navy); border:1px solid rgba(251,250,247,.1); border-radius:var(--radius); overflow:hidden; display:flex; flex-direction:column; transition:border-color .3s,transform .3s; }
.blog-card:hover { border-color:rgba(128,6,38,.65); transform:translateY(-3px); }
.blog-card-image { aspect-ratio:16/9; background:var(--navy-light); overflow:hidden; position:relative; }
.blog-card-image img { width:100%; height:100%; object-fit:cover; transition:transform .5s; }
.blog-card:hover .blog-card-image img { transform:scale(1.04); }
.blog-card-image-placeholder { width:100%; height:100%; display:flex; align-items:center; justify-content:center; }
.blog-card-image-placeholder i { font-size:2.5rem; color:rgba(251,250,247,.2); }
.blog-card-body { padding:1.5rem; flex:1; display:flex; flex-direction:column; }
.blog-card-cat { font-size:.625rem; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:var(--burgundy-lt); margin-bottom:.75rem; }
.blog-card-body h3 { font-size:1.05rem; margin-bottom:.75rem; line-height:1.2; }
.blog-card-body p { font-size:.875rem; color:rgba(251,250,247,.82); flex:1; max-width:unset; margin-bottom:1.25rem; }
.blog-card-meta { display:flex; gap:1rem; align-items:center; justify-content:space-between; margin-top:auto; }
.blog-card-date { font-size:.75rem; color:rgba(251,250,247,.4); }
.blog-card-read { font-size:.75rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--burgundy-lt); display:flex; align-items:center; gap:.4rem; }
.blog-featured { grid-column:1/-1; display:grid; }
@media (min-width:700px) { .blog-featured { grid-template-columns:1.4fr 1fr; } }
.blog-featured .blog-card-image { aspect-ratio:auto; min-height:280px; }
.blog-featured .blog-card-body { padding:2rem; justify-content:center; }
.blog-featured h3 { font-size:1.4rem; }

/* CTA BAND */
.cta-band { background:var(--navy); border-radius:var(--radius-lg); padding:clamp(3rem,6vw,5rem); text-align:center; position:relative; overflow:hidden; }
.cta-band::before { content:''; position:absolute; inset:0; background:radial-gradient(ellipse at 50% 0%,rgba(128,6,38,.45) 0%,transparent 65%); }
.cta-band > * { position:relative; }
.cta-band .eyebrow { color:var(--burgundy-lt); margin-bottom:1.25rem; }
.cta-band h2 { margin-bottom:1.25rem; }
.cta-band p { color:rgba(251,250,247,.68); font-size:1.0625rem; margin-inline:auto; margin-bottom:2.25rem; }
.cta-band-actions { display:flex; gap:1rem; justify-content:center; flex-wrap:wrap; }

/* UTILITY */
.text-burgundy { color:var(--burgundy-lt); }
.text-muted { color:rgba(251,250,247,.6); }
.text-navy-muted { color:rgba(7,10,51,.65); }
.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}.mt-4{margin-top:2rem}
.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.mb-3{margin-bottom:1.5rem}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}

/* ============================================================
   FLOATING WHATSAPP BUTTON
   ============================================================ */
.whatsapp-float {
  position: fixed;
  bottom: 2rem;
  right: 2rem;
  z-index: 999;
  background: #25D366;
  color: #fff;
  border-radius: 999px;
  display: flex;
  align-items: center;
  gap: .625rem;
  padding: .875rem 1.375rem .875rem 1.125rem;
  box-shadow: 0 4px 24px rgba(37,211,102,.45);
  font-family: var(--font-body);
  font-size: .8125rem;
  font-weight: 700;
  letter-spacing: .06em;
  text-decoration: none;
  transition: background .25s, transform .25s, box-shadow .25s;
  animation: wa-pulse 3s ease-in-out infinite;
}
.whatsapp-float:hover {
  background: #1ebe5d;
  transform: translateY(-3px);
  box-shadow: 0 8px 32px rgba(37,211,102,.55);
  animation: none;
}
.whatsapp-float i {
  font-size: 1.4rem;
  line-height: 1;
}
.whatsapp-float-label { line-height: 1; }
@keyframes wa-pulse {
  0%, 100% { box-shadow: 0 4px 24px rgba(37,211,102,.45); }
  50%       { box-shadow: 0 4px 32px rgba(37,211,102,.75), 0 0 0 8px rgba(37,211,102,.12); }
}
@media (max-width: 480px) {
  .whatsapp-float { padding: 1rem; border-radius: 50%; bottom: 1.25rem; right: 1.25rem; }
  .whatsapp-float-label { display: none; }
  .whatsapp-float i { font-size: 1.6rem; }
}

/* ── Fix logo display on white header ── */
.header-logo img { height: 48px; width: auto; object-fit: contain; }
.footer-logo-row img { height: 64px; width: auto; object-fit: contain; }
.topbar-address { font-size: .75rem; color: #ffffff; display: flex; align-items: center; gap: .4rem; font-weight:500; }
.topbar-address i { color: #ff9999; font-size: .7rem; }

/* Requirements page — programme cards on dark background */
.prog-req-list .card .req-list li { color: rgba(251,250,247,.88); }
.prog-req-list .card .req-list li i { color: var(--burgundy-lt); }
.prog-req-list .card p { color: rgba(251,250,247,.75); }

/* Blog card body text — ensure readable on dark card */
.blog-card-body h3 { color: var(--ivory); }

/* Course detail body text */
.course-detail-body p { color: rgba(251,250,247,.85); }

/* Mobile — prevent any grid from overflowing viewport */
@media (max-width: 899px) {
  .bento-hero { 
    display: flex;
    flex-direction: column;
    gap: .875rem;
  }
  .bento-tile {
    width: 100%;
    min-width: 0;
  }
  .bento-image {
    min-height: 220px;
    height: 220px;
  }
  .bento-headline {
    min-height: unset;
    padding: 1.75rem 1.25rem;
    gap: 1.5rem;
  }
  .hero-headline { font-size: clamp(1.75rem, 7vw, 2.8rem); }
  .hero-body { font-size: .9375rem; }
  .pathway-steps { grid-template-columns: 1fr; }
  .advantages-grid { grid-template-columns: 1fr; }
  .apply-band { grid-template-columns: 1fr; }
  .apply-image-tile { min-height: 280px; }
}

@media (max-width: 480px) {
  .header-topbar-left { gap: .75rem; }
  .header-topbar-left a { font-size: .7rem; }
  .header-topbar-right { display: none; }
}
