/* =====================================================================
   ETS PRESTIGE v5 (2026-09-26) — sitewide template upgrade.
   Loaded LAST from includes/header.php. Overrides only; styles.css untouched.
   1 chrome (brand, banner)   2 inner-page header band   3 legacy page-content
   4 dark-hero contrast       5 corporate/misc fixes      6 course actions + notify
   7 homepage v5              8 dark mode                 9 mobile
   ===================================================================== */

/* ---------- 1. CHROME ---------- */
.chatets-banner { background: linear-gradient(90deg, #06121f, #0b2230 50%, #06121f); border-bottom: 1px solid rgba(94, 234, 212, 0.18); }
.chatets-banner a { color: #e2e8f0; }
.chatets-banner a b { color: #5eead4; font-weight: 700; }
.chatets-banner a:hover, .chatets-banner a:focus { color: #fff; }
.chatets-banner .badge-new { background: #5eead4; color: #04221f; }

/* ---------- 2. INNER-PAGE HEADER BAND (.page-header, shared) ---------- */
.page-header {
  position: relative; isolation: isolate; overflow: hidden;
  background:
    radial-gradient(900px 380px at 88% -10%, rgba(0, 179, 166, 0.22), transparent 62%),
    radial-gradient(700px 320px at -5% 120%, rgba(56, 189, 248, 0.10), transparent 60%),
    linear-gradient(180deg, #07101d 0%, #0b1627 100%);
  padding: clamp(2.75rem, 5vw, 4.25rem) 0 clamp(2.25rem, 4vw, 3.25rem);
  margin-bottom: 0;
  border-bottom: 1px solid rgba(94, 234, 212, 0.22);
}
.page-header::before {
  content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background-image: linear-gradient(rgba(148, 163, 184, 0.07) 1px, transparent 1px), linear-gradient(90deg, rgba(148, 163, 184, 0.07) 1px, transparent 1px);
  background-size: 48px 48px;
  -webkit-mask-image: radial-gradient(ellipse 70% 90% at 70% 0%, #000 25%, transparent 80%); mask-image: radial-gradient(ellipse 70% 90% at 70% 0%, #000 25%, transparent 80%);
}
.page-header .container { display: flex; flex-direction: column; }
.page-header h1, .page-header--v5 h1 {
  order: 2; color: #fff !important; margin: 0.6rem 0 0 !important;
  font-size: clamp(2.2rem, 4.2vw, 3.4rem) !important; line-height: 1.04 !important; letter-spacing: -0.03em; max-width: 52rem;
}
.page-header .breadcrumb, .page-header nav[aria-label="Breadcrumb"], .page-header nav[aria-label="breadcrumb"] { order: 1; margin: 0; }
.page-header > .container > *:not(h1):not(nav) { order: 3; }
.page-header .breadcrumb, .page-header .breadcrumb ol, .page-header ol.breadcrumb { color: #7f8ea3 !important; background: none !important; padding: 0 !important; margin: 0 !important; }
.page-header .breadcrumb a { color: #5eead4 !important; }
.page-header .breadcrumb li, .page-header .breadcrumb-item { color: #7f8ea3 !important; }
.page-header p, .page-header .lead { color: #b8c4d4 !important; font-size: var(--lede-size); line-height: 1.7; max-width: 46rem; margin: 1rem 0 0 !important; }
.page-header p a { color: #5eead4; }
.page-header .btn-outline { color: #e2e8f0; border-color: rgba(226, 232, 240, 0.3); background: rgba(255, 255, 255, 0.04); }
/* first block after a header band: no double gap */
.page-header + .content-section, .page-header + section, .page-header + .container, .page-header + div { padding-top: clamp(2.5rem, 4vw, 3.5rem) !important; margin-top: 0 !important; }

/* ---------- 3. LEGACY .page-content PAGES ---------- */
.container.page-content { padding-left: clamp(1.25rem, 4vw, 2.5rem); padding-right: clamp(1.25rem, 4vw, 2.5rem); padding-top: clamp(2.5rem, 4vw, 3.5rem); max-width: 80rem; margin-left: auto; margin-right: auto; }
.page-header--v5 + .container.page-content > .lead:first-child { margin-top: 0; }
.page-content > p, .page-content > ul, .page-content > ol, .page-content > h2, .page-content > h3 { max-width: 72ch; }
.page-content > h2 { margin-top: 2.5rem; }
.page-content > h3 { margin-top: 1.75rem; }
.page-content > p { color: #334155; line-height: 1.75; }

/* ---------- 4. DARK HEROES: legible body copy ---------- */
.dr-hero p, .retainer-hero p, .academy-hero p, .ai-hero p, .ev-hero p, .uap-hero p, .pf-hero p, .eb-hero p, .mk-hero p, .mk-index-hero p, .future-hero p, .chatets-splash-hero p {
  color: rgba(226, 232, 240, 0.9) !important; opacity: 1 !important;
}
.dr-hero p strong, .retainer-hero p strong, .academy-hero p strong, .ai-hero p strong, .ev-hero p strong { color: #fff; }
.dr-hero .tagline, .retainer-hero .tagline, .academy-hero .tagline, .ai-hero .tagline, .ev-hero .tagline { color: #5eead4 !important; font-style: normal !important; font-family: var(--font-mono); font-size: 0.95rem !important; letter-spacing: 0.08em; text-transform: uppercase; }
.dr-hero h1, .retainer-hero h1, .academy-hero h1, .ai-hero h1, .ev-hero h1 { font-size: clamp(2.3rem, 4.6vw, 3.8rem) !important; letter-spacing: -0.03em; line-height: 1.04; }
.dr-hero, .retainer-hero, .academy-hero, .ai-hero, .ev-hero { border-radius: 0 !important; margin-bottom: 0 !important; }

/* ---------- 5. CORPORATE / MISC ---------- */
.social-links { display: flex; flex-wrap: wrap; gap: 0.75rem 1.25rem; }
.social-link { display: inline-flex; align-items: center; gap: 0.45rem; }

/* ---------- 6. COURSE ACTIONS + NOTIFY FORM ---------- */
.course-cta { margin-top: 1.5rem; padding: 1.5rem; border-radius: var(--radius-card); background: #07101d; color: #cbd5e1; border: 1px solid rgba(94, 234, 212, 0.22); }
.course-cta h2 { color: #fff; font-size: 1.35rem !important; margin: 0 0 0.35rem; }
.course-cta > p { color: #94a3b8; margin: 0 0 1.1rem; font-size: 0.95rem; line-height: 1.6; }
.notify-form { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.6rem; }
.notify-form input[type="text"], .notify-form input[type="email"] { width: 100%; padding: 0.75rem 0.85rem; border-radius: 10px; border: 1px solid rgba(148, 163, 184, 0.3); background: rgba(255, 255, 255, 0.05); color: #fff; font: inherit; font-size: 0.95rem; }
.notify-form input::placeholder { color: #7f8ea3; }
.notify-form input:focus { outline: 2px solid #5eead4; outline-offset: 1px; }
.notify-form .notify-actions { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: var(--btn-gap); align-items: center; margin-top: 0.4rem; }
.notify-form .btn-outline, .course-cta .btn-outline { color: #e2e8f0; border-color: rgba(226, 232, 240, 0.3); background: rgba(255, 255, 255, 0.04); }
.course-cta .rr { list-style: none; padding: 0; margin: 1rem 0 0; display: flex; flex-wrap: wrap; gap: 0.4rem 1.2rem; font-family: var(--font-mono); font-size: 0.68rem; letter-spacing: 0.08em; text-transform: uppercase; color: #7f8ea3; }
.course-cta .rr li::before { content: "\2713  "; color: #5eead4; }
.seminar-badge.is-dated { background: #b91c1c; color: #fff; }
.detail-text a { color: var(--teal-deep); font-weight: 600; }

/* ---------- 8. DARK MODE ---------- */
.theme-dark .page-content > p { color: #b6c3d4; }
.theme-dark .chatets-banner { background: linear-gradient(90deg, #04070c, #0b1d27 50%, #04070c); }

/* ---------- 9. MOBILE ---------- */
@media (max-width: 720px) {
  .notify-form { grid-template-columns: 1fr; }
  .page-header h1, .page-header--v5 h1 { font-size: clamp(1.9rem, 8vw, 2.4rem) !important; }
  .chatets-banner .banner-inner { font-size: 0.78rem; }
}

/* v5b: legacy page-header-content variant (acronyms, comments, tradenames) */
.page-header .page-header-content { position: relative; max-width: 80rem; margin: 0 auto; padding: 0 clamp(1.25rem, 4vw, 2.5rem); text-align: left; }
.page-header .page-title { color: #fff !important; -webkit-text-fill-color: #fff !important; background: none !important; font-family: var(--font-family-heading); font-weight: 500; font-size: clamp(2.2rem, 4.2vw, 3.4rem) !important; line-height: 1.04; letter-spacing: -.03em; margin: 0 0 1rem; }
.page-header .page-subtitle { color: #b8c4d4 !important; font-size: var(--lede-size); line-height: 1.7; max-width: 46rem; margin: 0; }
.page-header .stats-info, .page-header .stats-bar { margin-top: 1.4rem; }
.page-header .stats-info { display: inline-block; font: 600 .72rem/1 var(--font-mono); letter-spacing: .12em; text-transform: uppercase; color: #5eead4 !important; border: 1px solid rgba(94,234,212,.4); padding: .6rem .9rem; border-radius: 999px; background: none !important; }
.page-header .stat-number { color: #fff !important; -webkit-text-fill-color: #fff !important; } .page-header .stat-label { color: #7f8ea3 !important; }
.page-header .stats-bar { justify-content: flex-start !important; }
