/* ==========================================================================
   BookMikeToday.com — Design System
   Paste this entire file into GoHighLevel: Site/Funnel Settings > Custom CSS
   (or a Website's global "Custom CSS" field). Load once, site-wide.
   ========================================================================== */

/* Fonts (Montserrat, Inter, Merriweather, Mrs Saint Delafield) are linked in each page <head> by build/render.js so they load in parallel with this file. */

/* -------------------------------------------------------------------------
   1. Design tokens
   ------------------------------------------------------------------------- */
:root {
  /* Corporate (default) palette — from client spec */
  --c-midnight-navy: #000a18;
  --c-executive-blue: #011837;
  --c-electric-blue: #011c42;
  --c-white: #ffffff;
  --c-soft-gray: #f2f5f8;
  --c-charcoal: #1a2430;
  --c-action-gold: #f8a309;
  --c-action-gold-hover: #ffb733;

  /* Entrepreneurship accents */
  --c-deep-purple: #40236b;
  --c-royal-purple: #6937a8;
  --c-premium-gold: #f5b323;

  /* College accents */
  --c-royal-blue: #174e9a;
  --c-bright-gold: #f5b323;
  --c-fresh-cyan: #1da8d8;

  /* School accents */
  --c-deep-blue: #123c70;
  --c-bright-blue: #168bcb;
  --c-energetic-gold: #f5b323;
  --c-limited-orange: #ef7423;

  /* Semantic tokens — theme is swapped per section via [data-theme] */
  --theme-primary: var(--c-executive-blue);
  --theme-primary-dark: var(--c-midnight-navy);
  --theme-accent: var(--c-action-gold);
  --theme-accent-2: var(--c-action-gold);

  --text-on-dark: #ffffff;
  --text-on-dark-muted: rgba(255, 255, 255, 0.78);
  --text-on-light: var(--c-charcoal);
  --text-on-light-muted: #4b5a6a;

  --border-hairline: rgba(255, 255, 255, 0.14);
  --border-hairline-light: #e3e9ef;

  /* Type scale (fluid) */
  --font-display: 'Montserrat', 'Archivo Black', sans-serif;
  --font-body: 'Inter', 'Source Sans 3', sans-serif;
  --font-quote: 'Merriweather', 'Libre Baskerville', serif;

  --fs-eyebrow: clamp(0.75rem, 0.7rem + 0.2vw, 0.85rem);
  --fs-h1: clamp(2.25rem, 1.7rem + 2.4vw, 4rem);
  --fs-h2: clamp(1.75rem, 1.45rem + 1.3vw, 2.75rem);
  --fs-h3: clamp(1.25rem, 1.1rem + 0.6vw, 1.625rem);
  --fs-h4: clamp(1.1rem, 1.02rem + 0.3vw, 1.25rem);
  --fs-body-lg: clamp(1.05rem, 1rem + 0.2vw, 1.2rem);
  --fs-body: 1rem;
  --fs-small: 0.875rem;

  /* Spacing scale (8px base) */
  --sp-1: 0.5rem;
  --sp-2: 1rem;
  --sp-3: 1.5rem;
  --sp-4: 2rem;
  --sp-5: 3rem;
  --sp-6: 4rem;
  --sp-7: 6rem;
  --sp-8: 8rem;

  --radius-sm: 8px;
  --radius-md: 14px;
  --radius-lg: 22px;
  --radius-pill: 999px;

  --shadow-card: 0 8px 30px rgba(1, 10, 24, 0.08);
  --shadow-card-dark: 0 12px 40px rgba(0, 0, 0, 0.35);
  --shadow-button: 0 6px 18px rgba(248, 163, 9, 0.35);

  --container-max: 1200px;
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --dur-fast: 160ms;
  --dur-base: 280ms;
  --dur-slow: 480ms;

  --header-h: 84px;
}

/* Audience theme overrides — set data-theme on <body> or a section wrapper */
[data-theme='entrepreneur'] {
  --theme-primary: var(--c-deep-purple);
  --theme-primary-dark: #2a1749;
  --theme-accent: var(--c-premium-gold);
  --theme-accent-2: var(--c-royal-purple);
}
[data-theme='college'] {
  --theme-primary: var(--c-royal-blue);
  --theme-primary-dark: #0f3568;
  --theme-accent: var(--c-bright-gold);
  --theme-accent-2: var(--c-fresh-cyan);
}
[data-theme='school'] {
  --theme-primary: var(--c-deep-blue);
  --theme-primary-dark: #0b2749;
  --theme-accent: var(--c-energetic-gold);
  --theme-accent-2: var(--c-limited-orange);
}

/* -------------------------------------------------------------------------
   2. Reset + base
   ------------------------------------------------------------------------- */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
    scroll-behavior: auto !important;
  }
}

body {
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--fs-body);
  line-height: 1.6;
  color: var(--text-on-light);
  background: var(--c-white);
  -webkit-font-smoothing: antialiased;
}

img, svg, video { display: block; max-width: 100%; height: auto; }
/* Graceful placeholder for not-yet-uploaded images: hide the browser's
   broken-image alt text visually (still exposed to screen readers via the
   accessibility tree) and show a soft gradient block instead of an error. */
img {
  background: linear-gradient(135deg, var(--c-soft-gray), #dce3ea);
  color: transparent;
  font-size: 0;
}
.section-navy img, .section-dark img, .hero-media img, .card-dark img {
  background: linear-gradient(135deg, rgba(255,255,255,0.08), rgba(255,255,255,0.03));
}
a { color: inherit; text-decoration: none; }
button {
  font: inherit;
  cursor: pointer;
  color: inherit;
  background: none;
  border: none;
  padding: 0;
  margin: 0;
  text-align: inherit;
  appearance: none;
  -webkit-appearance: none;
}
ul, ol { margin: 0; padding: 0; list-style: none; }
h1, h2, h3, h4, p { margin: 0; }

h1, h2, h3, h4, .font-display {
  font-family: var(--font-display);
  font-weight: 800;
  line-height: 1.08;
  letter-spacing: -0.01em;
  text-transform: uppercase;
}
h1 { font-size: var(--fs-h1); }
h2 { font-size: var(--fs-h2); }
h3 { font-size: var(--fs-h3); }
h4 { font-size: var(--fs-h4); }

.eyebrow {
  display: inline-block;
  font-family: var(--font-body);
  font-weight: 700;
  font-size: var(--fs-eyebrow);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--theme-accent);
  margin-bottom: var(--sp-2);
}

.lede { font-size: var(--fs-body-lg); color: var(--text-on-light-muted); max-width: 62ch; }
.section-navy .lede, .section-dark .lede { color: var(--text-on-dark-muted); }

blockquote, .quote {
  font-family: var(--font-quote);
  font-style: italic;
}

/* Skip link */
.skip-link {
  position: absolute;
  left: -999px;
  top: 0;
  background: var(--c-action-gold);
  color: var(--c-midnight-navy);
  padding: 12px 20px;
  z-index: 1000;
  font-weight: 700;
  border-radius: 0 0 var(--radius-sm) 0;
}
.skip-link:focus {
  left: 0;
}

:focus-visible {
  outline: 3px solid var(--c-action-gold);
  outline-offset: 3px;
  border-radius: 4px;
}

/* -------------------------------------------------------------------------
   3. Layout primitives
   ------------------------------------------------------------------------- */
.container {
  width: 100%;
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: var(--sp-3);
}
@media (min-width: 768px) {
  .container { padding-inline: var(--sp-4); }
}

.section { padding-block: var(--sp-7); }
@media (max-width: 640px) {
  .section { padding-block: var(--sp-5); }
}
.section-tight { padding-block: var(--sp-5); }

.section-navy, .section-dark {
  background: var(--theme-primary-dark);
  color: var(--text-on-dark);
}
.section-navy h1, .section-navy h2, .section-navy h3, .section-navy h4,
.section-dark h1, .section-dark h2, .section-dark h3, .section-dark h4 { color: var(--text-on-dark); }
.section-soft { background: var(--c-soft-gray); }
.section-white { background: var(--c-white); }

.grid { display: grid; gap: var(--sp-3); }
/* Prevent grid/flex tracks from being blown wide by a child's intrinsic
   content size (e.g. an <img width height> attribute) — the default
   `min-width: auto` on grid/flex items ignores max-width:100% on images. */
.grid > *, .flex > * { min-width: 0; }
.grid-2 { grid-template-columns: repeat(2, 1fr); }
.grid-3 { grid-template-columns: repeat(3, 1fr); }
.grid-4 { grid-template-columns: repeat(4, 1fr); }
.grid-5 { grid-template-columns: repeat(5, 1fr); }
.grid-6 { grid-template-columns: repeat(6, 1fr); }
@media (max-width: 1100px) {
  .grid-5, .grid-6 { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 980px) {
  .grid-3, .grid-4 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 700px) {
  .grid-5, .grid-6 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
  .grid-2, .grid-3, .grid-4, .grid-5, .grid-6 { grid-template-columns: 1fr; }
}

.flex { display: flex; }
.items-center { align-items: center; }
.justify-between { justify-content: space-between; }
.gap-1 { gap: var(--sp-1); }
.gap-2 { gap: var(--sp-2); }
.gap-3 { gap: var(--sp-3); }
.text-center { text-align: center; }
.mx-auto { margin-inline: auto; }

.stack { display: flex; flex-direction: column; }
.stack > * + * { margin-top: var(--sp-3); }

/* -------------------------------------------------------------------------
   4. Buttons
   ------------------------------------------------------------------------- */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  min-height: 48px;
  padding: 0.9rem 1.75rem;
  border-radius: var(--radius-pill);
  font-family: var(--font-body);
  font-weight: 700;
  font-size: 0.95rem;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  border: 2px solid transparent;
  white-space: nowrap;
  transition: transform var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);
  touch-action: manipulation;
}
.btn:hover { transform: translateY(-2px); }
.btn:active { transform: translateY(0); }

.btn-primary {
  background: var(--c-action-gold);
  color: var(--c-midnight-navy);
  box-shadow: var(--shadow-button);
}
.btn-primary:hover { background: var(--c-action-gold-hover); }

.btn-outline {
  background: transparent;
  color: var(--text-on-dark);
  border-color: rgba(255, 255, 255, 0.55);
}
.btn-outline:hover { background: rgba(255, 255, 255, 0.1); border-color: #fff; }

.section-white .btn-outline, .section-soft .btn-outline {
  color: var(--theme-primary);
  border-color: var(--theme-primary);
}
.section-white .btn-outline:hover, .section-soft .btn-outline:hover {
  background: var(--theme-primary);
  color: var(--c-white);
}

.btn-play {
  width: 64px; height: 64px; border-radius: 50%;
  background: rgba(255, 255, 255, 0.95);
  color: var(--theme-primary-dark);
  display: inline-flex; align-items: center; justify-content: center;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.35);
}
.btn-play svg { width: 22px; height: 22px; margin-left: 3px; }

/* -------------------------------------------------------------------------
   5. Cards
   ------------------------------------------------------------------------- */
.card {
  background: var(--c-white);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-card);
  padding: var(--sp-3);
  transition: transform var(--dur-base) var(--ease-out), box-shadow var(--dur-base) var(--ease-out);
}
.card:hover { transform: translateY(-4px); box-shadow: 0 16px 40px rgba(1, 10, 24, 0.14); }

.card-icon {
  width: 56px; height: 56px;
  display: inline-flex; align-items: center; justify-content: center;
  border-radius: var(--radius-sm);
  background: color-mix(in srgb, var(--theme-primary) 8%, transparent);
  color: var(--theme-primary);
  margin-bottom: var(--sp-2);
}
.card-icon svg { width: 28px; height: 28px; }

.card-dark {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid var(--border-hairline);
  color: var(--text-on-dark);
}
.card-dark .card-icon { background: rgba(248, 163, 9, 0.14); color: var(--c-action-gold); }

/* -------------------------------------------------------------------------
   6. Header / navigation
   ------------------------------------------------------------------------- */
.site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: var(--c-midnight-navy);
  border-bottom: 1px solid transparent;
  transition: border-color var(--dur-base) var(--ease-out), box-shadow var(--dur-base) var(--ease-out);
}
.site-header.is-scrolled {
  background: var(--c-midnight-navy);
  border-color: var(--border-hairline);
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.25);
}

.header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: var(--header-h);
  gap: var(--sp-3);
  transition: height var(--dur-base) var(--ease-out);
}
.site-header.is-scrolled .header-inner { height: 64px; }

.brand {
  display: flex; align-items: center; gap: 0.6rem;
  font-family: var(--font-display); color: #fff; font-size: 1.15rem; letter-spacing: 0.02em;
}
.brand-logo {
  height: 44px; width: auto; background: none;
  transition: height var(--dur-base) var(--ease-out);
}
.site-header.is-scrolled .brand-logo { height: 34px; }
.site-footer .brand-logo { height: 40px; }

.primary-nav { display: none; }
@media (min-width: 1200px) {
  .primary-nav { display: flex; align-items: center; gap: var(--sp-2); }
}
.primary-nav > ul { display: flex; align-items: center; gap: 0.05rem; }
.nav-link {
  display: flex; align-items: center; gap: 0.3rem;
  color: #fff;
  font-weight: 600; font-size: 0.78rem; letter-spacing: 0.02em; text-transform: uppercase;
  padding: 0.7rem 0.55rem;
  border-radius: var(--radius-sm);
  position: relative;
  white-space: nowrap;
  transition: color var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out);
}
.nav-link:hover, .nav-link[aria-expanded='true'] { color: var(--c-action-gold); background: rgba(255, 255, 255, 0.06); }
.nav-item.is-active > .nav-link, .nav-link.is-current { color: var(--c-action-gold); }
.nav-link::after {
  content: '';
  position: absolute; left: 0.85rem; right: 0.85rem; bottom: 0.35rem; height: 2px;
  background: var(--c-action-gold);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform var(--dur-base) var(--ease-out);
}
.nav-link:hover::after, .nav-link[aria-expanded='true']::after, .nav-item.is-active > .nav-link::after {
  transform: scaleX(1);
}
.nav-item { position: relative; }
.nav-chevron { width: 11px; height: 11px; transition: transform var(--dur-base) var(--ease-out); opacity: 0.7; }
.nav-link[aria-expanded='true'] .nav-chevron { transform: rotate(180deg); opacity: 1; }

.mega-menu {
  position: absolute;
  top: calc(100% + 10px);
  left: 0;
  min-width: 280px;
  background: var(--c-midnight-navy);
  border-radius: var(--radius-md);
  box-shadow: 0 24px 50px rgba(0, 0, 0, 0.4);
  padding: 0.6rem;
  opacity: 0;
  visibility: hidden;
  transform: translateY(6px) scale(0.98);
  transform-origin: top left;
  transition: opacity var(--dur-base) var(--ease-out), transform var(--dur-base) var(--ease-out), visibility var(--dur-base);
}
.mega-menu::before {
  content: '';
  position: absolute; top: -6px; left: 1.4rem;
  width: 12px; height: 12px;
  background: var(--c-midnight-navy);
  transform: rotate(45deg);
  border-radius: 2px 0 0 0;
}
.mega-menu.mega-menu-wide { min-width: 340px; column-count: 2; column-gap: 0.25rem; }
.nav-item:hover > .mega-menu,
.nav-item:focus-within > .mega-menu,
.mega-menu.is-open {
  opacity: 1; visibility: visible; transform: translateY(0) scale(1);
}
.mega-menu a {
  display: flex; align-items: center; gap: 0.6rem;
  padding: 0.6rem 0.75rem;
  border-radius: var(--radius-sm);
  color: #fff;
  font-weight: 600;
  font-size: 0.87rem;
  break-inside: avoid;
  transition: background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), padding-left var(--dur-fast) var(--ease-out);
}
.mega-menu a::before {
  content: '';
  width: 4px; height: 4px; border-radius: 50%;
  background: var(--c-action-gold);
  flex-shrink: 0;
  opacity: 0;
  transition: opacity var(--dur-fast) var(--ease-out);
}
.mega-menu a:hover { background: #fff; color: var(--c-electric-blue); padding-left: 0.9rem; }
.mega-menu a:hover::before { opacity: 1; }
.mega-menu a.is-current { color: var(--c-action-gold); }
.mega-menu a.is-current:hover { background: #fff; color: var(--c-action-gold); }

.header-cta { display: flex; align-items: center; gap: var(--sp-2); }
.header-cta .btn { padding: 0.7rem 1.4rem; min-height: 44px; font-size: 0.85rem; }

.menu-toggle {
  display: inline-flex;
  width: 44px; height: 44px;
  align-items: center; justify-content: center;
  background: transparent; border: none; color: #fff;
}
@media (min-width: 1200px) { .menu-toggle { display: none; } }

/* Animated hamburger → X */
.hamburger { position: relative; width: 22px; height: 16px; }
.hamburger span {
  position: absolute; left: 0; width: 100%; height: 2px;
  background: currentColor; border-radius: 2px;
  transition: transform var(--dur-base) var(--ease-out), opacity var(--dur-base) var(--ease-out), top var(--dur-base) var(--ease-out);
}
.hamburger span:nth-child(1) { top: 0; }
.hamburger span:nth-child(2) { top: 7px; }
.hamburger span:nth-child(3) { top: 14px; }
.menu-toggle[aria-expanded='true'] .hamburger span:nth-child(1) { top: 7px; transform: rotate(45deg); }
.menu-toggle[aria-expanded='true'] .hamburger span:nth-child(2) { opacity: 0; transform: scaleX(0); }
.menu-toggle[aria-expanded='true'] .hamburger span:nth-child(3) { top: 7px; transform: rotate(-45deg); }

/* Mobile nav */
.mobile-nav {
  position: fixed; inset: 0;
  background: var(--c-midnight-navy);
  z-index: 200;
  padding: var(--sp-3);
  overflow-y: auto;
  transform: translateX(100%);
  transition: transform var(--dur-slow) var(--ease-out);
}
.mobile-nav.is-open { transform: translateX(0); }
.mobile-nav-header { display: flex; justify-content: flex-end; margin-bottom: var(--sp-3); }
.mobile-nav-close { width: 44px; height: 44px; color: #fff; background: none; border: none; }
.mobile-nav ul { display: flex; flex-direction: column; }
.mobile-nav-link {
  display: flex; align-items: center; justify-content: space-between;
  padding: var(--sp-2) 0.25rem;
  color: #fff; font-weight: 700; font-size: 1.1rem; text-transform: uppercase;
  border-bottom: 1px solid var(--border-hairline);
}
.mobile-submenu { display: none; padding-left: var(--sp-2); }
.mobile-submenu.is-open { display: block; }
.mobile-submenu a { display: block; padding: 0.6rem 0; color: var(--text-on-dark-muted); font-weight: 500; text-transform: none; font-size: 1rem; }
.mobile-nav-link.is-current, .mobile-submenu a.is-current { color: var(--c-action-gold); }
@media (min-width: 1200px) { .mobile-nav, .menu-toggle { display: none !important; } }

@media (min-width: 1200px) {
  .container:has(.mobile-nav) { display: contents; }
}

/* -------------------------------------------------------------------------
   7. Hero
   ------------------------------------------------------------------------- */
.hero {
  position: relative;
  color: var(--text-on-dark);
  background: var(--theme-primary-dark);
  overflow: hidden;
}
.hero-media {
  position: absolute; inset: 0;
  z-index: 0;
}
.hero-media img {
  width: 100%; height: 100%; object-fit: cover;
  object-position: 90% center;
  transform-origin: right center;
  animation: hero-zoom 24s ease-in-out infinite alternate;
}
@keyframes hero-zoom {
  from { transform: scale(1); }
  to { transform: scale(1.08); }
}
.hero-media::after {
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(100deg, rgba(0, 10, 24, 0.94) 8%, rgba(0, 10, 24, 0.55) 55%, rgba(0, 10, 24, 0.2) 100%);
}
.hero-content {
  position: relative; z-index: 1;
  padding-top: 48px; /* 0.5in below the sticky nav */
  padding-bottom: var(--sp-4);
  display: grid;
  gap: var(--sp-4);
}
.hero-content .lede {
  color: var(--text-on-dark-muted);
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.55);
}
@media (min-width: 900px) {
  .hero-content { grid-template-columns: 1.1fr 0.9fr; align-items: center; padding-top: 48px; padding-bottom: var(--sp-8); }
}
.hero-actions { display: flex; flex-wrap: nowrap; gap: 0.35rem; margin-top: var(--sp-3); }
.hero-actions .btn {
  padding: 0.5rem 0.55rem;
  font-size: 0.58rem;
  min-height: 36px;
  letter-spacing: 0.01em;
  white-space: nowrap;
  flex: 1 1 auto;
  min-width: 0;
}
@media (min-width: 640px) {
  .hero-actions .btn { padding: 0.7rem 1.1rem; font-size: 0.75rem; min-height: 42px; }
}
@media (min-width: 900px) {
  .hero-actions { gap: var(--sp-2); margin-top: var(--sp-4); }
  .hero-actions .btn { padding: 0.9rem 1.75rem; font-size: 0.95rem; min-height: 48px; }
}

.hero-media-strip {
  position: relative; z-index: 1;
  padding-block: var(--sp-3);
  border-top: 1px solid var(--border-hairline);
}
.hero-media-strip .container {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.hero-media-strip .container::-webkit-scrollbar { display: none; }
.hero-media-strip img {
  max-width: 1056px; width: 100%; min-width: 640px; height: auto;
  margin-inline: auto;
  opacity: 0.85;
  background: none;
}
@media (min-width: 700px) {
  .hero-media-strip img { min-width: 0; }
}

.hero-stats-strip {
  position: relative; z-index: 1;
  background: rgba(255, 255, 255, 0.06);
  border-top: 1px solid var(--border-hairline);
}
.stat-item { text-align: center; padding-block: var(--sp-3); }
.stat-number { font-family: var(--font-display); font-size: clamp(1.75rem, 1.4rem + 1.4vw, 2.75rem); color: var(--c-action-gold); }
.stat-label { font-size: var(--fs-small); color: var(--text-on-dark-muted); text-transform: uppercase; letter-spacing: 0.06em; margin-top: 0.25rem; }

/* -------------------------------------------------------------------------
   8. Components: accordion, tabs, testimonials, forms
   ------------------------------------------------------------------------- */
.accordion-item { border-bottom: 1px solid var(--border-hairline-light); }
.accordion-trigger {
  width: 100%;
  display: flex; align-items: center; justify-content: space-between;
  padding: var(--sp-2) 0;
  background: none; border: none; text-align: left;
  font-family: var(--font-display); font-weight: 800; font-size: 1.05rem;
  color: var(--text-on-light);
}
.accordion-icon { width: 20px; height: 20px; flex-shrink: 0; transition: transform var(--dur-base) var(--ease-out); }
.accordion-trigger[aria-expanded='true'] .accordion-icon { transform: rotate(45deg); }
.accordion-panel {
  overflow: hidden;
  max-height: 0;
  transition: max-height var(--dur-slow) var(--ease-out);
}
.accordion-panel-inner { padding-bottom: var(--sp-3); color: var(--text-on-light-muted); }

.tabs { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-bottom: var(--sp-4); }
.tab-btn {
  padding: 0.65rem 1.4rem;
  border-radius: var(--radius-pill);
  border: 2px solid var(--border-hairline-light);
  background: var(--c-white);
  font-weight: 700; font-size: 0.85rem; text-transform: uppercase; letter-spacing: 0.04em;
  color: var(--text-on-light-muted);
}
.tab-btn[aria-selected='true'] { background: var(--theme-primary); border-color: var(--theme-primary); color: #fff; }
.tab-panel { display: none; }
.tab-panel.is-active { display: block; }
.tab-panel.is-active.grid { display: grid; }

.testimonial-slide { display: none; }
.testimonial-slide.is-active { display: block; animation: fade-in var(--dur-slow) var(--ease-out); }
@keyframes fade-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
.testimonial-dots { display: flex; gap: 0.5rem; justify-content: center; margin-top: var(--sp-3); }
.testimonial-dot { width: 9px; height: 9px; border-radius: 50%; background: var(--border-hairline-light); border: none; padding: 0; }
.testimonial-dot[aria-current='true'] { background: var(--theme-accent); width: 24px; border-radius: var(--radius-pill); transition: width var(--dur-base) var(--ease-out); }

.form-field { display: flex; flex-direction: column; gap: 0.4rem; margin-bottom: var(--sp-3); }
.form-field label { font-weight: 700; font-size: 0.88rem; color: var(--text-on-light); }
.form-field .hint { font-size: 0.8rem; color: var(--text-on-light-muted); }
.form-field input, .form-field select, .form-field textarea {
  padding: 0.85rem 1rem;
  border-radius: var(--radius-sm);
  border: 1.5px solid var(--border-hairline-light);
  font: inherit; font-size: 1rem;
  background: #fff;
  min-height: 48px;
}
.form-field textarea { min-height: 120px; resize: vertical; }
.form-field input:focus, .form-field select:focus, .form-field textarea:focus {
  border-color: var(--theme-primary);
}
.form-field.has-error input, .form-field.has-error select, .form-field.has-error textarea { border-color: #d92d20; }
.form-error { color: #d92d20; font-size: 0.82rem; display: none; }
.form-field.has-error .form-error { display: block; }
.form-row { display: grid; gap: var(--sp-2); }
@media (min-width: 640px) { .form-row-2 { grid-template-columns: 1fr 1fr; } }

.form-progress { display: flex; gap: 0.4rem; margin-bottom: var(--sp-4); }
.form-progress-step { flex: 1; height: 4px; border-radius: var(--radius-pill); background: var(--border-hairline-light); }
.form-progress-step.is-done, .form-progress-step.is-active { background: var(--theme-accent); }
.form-step { display: none; }
.form-step.is-active { display: block; animation: fade-in var(--dur-base) var(--ease-out); }

/* -------------------------------------------------------------------------
   9. Sticky mobile booking bar
   ------------------------------------------------------------------------- */
.mobile-booking-bar {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 90;
  display: flex; gap: 0.75rem;
  padding: 0.75rem;
  background: var(--c-midnight-navy);
  border-top: 1px solid var(--border-hairline);
  padding-bottom: max(0.75rem, env(safe-area-inset-bottom));
}
.mobile-booking-bar .btn { flex: 1; }
@media (min-width: 1200px) { .mobile-booking-bar { display: none; } }

/* -------------------------------------------------------------------------
   9c. Third-party embed placeholder (GHL forms, calendars, etc.)
   ------------------------------------------------------------------------- */
.ghl-embed-placeholder {
  min-height: 420px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  text-align: center;
  padding: var(--sp-4);
  background: var(--c-soft-gray);
  border: 2px dashed var(--border-hairline-light);
  border-radius: var(--radius-md);
}
.ghl-embed-placeholder-label {
  font-family: var(--font-display);
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  font-size: 0.9rem;
  color: var(--theme-primary);
}
.ghl-embed-placeholder-hint {
  font-size: 0.85rem;
  color: var(--text-on-light-muted);
  max-width: 40ch;
}

/* -------------------------------------------------------------------------
   9b. Video modal (global, injected once via the footer partial)
   ------------------------------------------------------------------------- */
.video-modal {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 300;
  background: rgba(0, 10, 24, 0.92);
  align-items: center;
  justify-content: center;
  padding: 1.5rem;
}
.video-modal.is-open { display: flex; }
.video-modal-inner { width: 100%; max-width: 960px; aspect-ratio: 16/9; position: relative; }
.video-modal-close {
  position: absolute; top: -48px; right: 0;
  width: 40px; height: 40px;
  background: none; border: none; color: #fff;
}
.video-modal-frame { width: 100%; height: 100%; border: 0; border-radius: 12px; }

/* -------------------------------------------------------------------------
   10. Footer
   ------------------------------------------------------------------------- */
.site-footer { background: var(--c-midnight-navy); color: var(--text-on-dark-muted); }
.footer-grid { display: grid; gap: var(--sp-4); padding-block: var(--sp-6); }
.footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--sp-3); }
.footer-grid > .footer-col:first-child { grid-column: 1 / -1; }
.footer-col ul > li { overflow-wrap: anywhere; line-height: 1.35; }
.footer-h4-next { margin-top: var(--sp-4); }
.footer-contact { list-style: none; margin: 0; padding: 0; }
@media (min-width: 860px) { .footer-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (min-width: 1180px) { .footer-grid { grid-template-columns: 1.25fr repeat(4, minmax(0, 1fr)); column-gap: var(--sp-4); } .footer-grid > .footer-col:first-child { grid-column: auto; } }
.footer-col h4 { color: #fff; font-size: 0.85rem; letter-spacing: 0.06em; margin-bottom: var(--sp-2); }
.footer-col ul > li + li { margin-top: 0.6rem; }
.footer-col a:hover { color: #fff; }
.footer-bottom {
  border-top: 1px solid var(--border-hairline);
  padding-block: var(--sp-3);
  display: flex; flex-wrap: wrap; gap: var(--sp-2);
  justify-content: space-between; align-items: center;
  font-size: 0.82rem;
}
.social-row { display: flex; gap: 0.6rem; }
.social-row a { width: 38px; height: 38px; border-radius: 50%; border: 1px solid var(--border-hairline); display: inline-flex; align-items: center; justify-content: center; }
.social-row a:hover { background: var(--c-action-gold); color: var(--c-midnight-navy); border-color: var(--c-action-gold); }

/* -------------------------------------------------------------------------
   11. Utilities
   ------------------------------------------------------------------------- */
.visually-hidden {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}
.mt-0 { margin-top: 0; }
.badge-check { color: var(--c-action-gold); flex-shrink: 0; width: 20px; height: 20px; }
.checklist li { display: flex; gap: 0.6rem; align-items: flex-start; padding-block: 0.4rem; }
.breadcrumbs { display: flex; gap: 0.4rem; align-items: center; font-size: 0.85rem; color: var(--text-on-light-muted); padding-block: var(--sp-2); }
.breadcrumbs a:hover { color: var(--theme-primary); }
.fade-in-up { opacity: 0; transform: translateY(24px); transition: opacity var(--dur-slow) var(--ease-out), transform var(--dur-slow) var(--ease-out); }
.fade-in-up.is-visible { opacity: 1; transform: translateY(0); }
@media (prefers-reduced-motion: reduce) {
  .fade-in-up { opacity: 1; transform: none; }
}

.diag-lines {
  position: absolute; inset: 0; pointer-events: none; opacity: 0.06;
  background-image: repeating-linear-gradient(-45deg, #fff 0 2px, transparent 2px 40px);
}
.fingerprint-motif {
  position: absolute; pointer-events: none; opacity: 0.08; z-index: 0;
}

.logo-strip { display: flex; flex-wrap: wrap; gap: var(--sp-5); align-items: center; justify-content: center; }
.logo-strip img { max-height: 32px; width: auto; filter: grayscale(1); opacity: 0.7; }

/* -------------------------------------------------------------------------
   11b. Infinite-scroll trusted-by logo marquee (white/transparent logos
   over a dark background image, since they need a dark backdrop to read)
   ------------------------------------------------------------------------- */
.trusted-marquee-section {
  position: relative;
  overflow: hidden;
  padding-block: var(--sp-6);
  background: var(--c-midnight-navy);
}
.trusted-marquee-bg {
  position: absolute; inset: 0;
  z-index: 0;
}
.trusted-marquee-bg img {
  width: 100%; height: 100%; object-fit: cover;
  object-position: center 62%;
  background: none;
}
.trusted-marquee-bg::after {
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(0,10,24,0.75), rgba(0,10,24,0.55) 40%, rgba(0,10,24,0.85));
}
.trusted-marquee-content { position: relative; z-index: 1; }

.logo-marquee {
  overflow: hidden;
  width: 100%;
  margin-top: var(--sp-4);
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
  mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}
.logo-marquee-track {
  display: flex;
  align-items: center;
  width: max-content;
  animation: marquee-scroll 70s linear infinite;
}
.logo-marquee:hover .logo-marquee-track { animation-play-state: paused; }
.logo-marquee-track img {
  height: 64px; width: auto; flex-shrink: 0;
  margin-right: var(--sp-5);
  background: none;
}
@keyframes marquee-scroll {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}
@media (max-width: 900px) {
  .logo-marquee-track img { height: 50px; margin-right: var(--sp-4); }
  .logo-marquee-track { animation-duration: 50s; }
}
@media (max-width: 640px) {
  .logo-marquee-track img { height: 38px; margin-right: var(--sp-3); }
  .logo-marquee-track { animation-duration: 38s; }
}

/* -------------------------------------------------------------------------
   Meet Mike page (.mm-*) — follows the approved "02. Meet Mike" design
   ------------------------------------------------------------------------- */
.mm-hero {
  position: relative;
  overflow: hidden;
  background: var(--c-midnight-navy);
  color: var(--text-on-dark);
  min-height: clamp(520px, 52vw, 700px);
  display: flex;
  align-items: center;
}
.mm-hero-media { position: absolute; inset: 0; z-index: 0; }
.mm-hero-media img {
  width: 100%; height: 100%; object-fit: cover;
  object-position: 85% center;
  background: none;
}
.mm-hero-media::after {
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(100deg, rgba(0, 10, 24, 0.96) 6%, rgba(0, 10, 24, 0.7) 40%, rgba(0, 10, 24, 0) 70%);
}
.mm-hero-content { position: relative; z-index: 1; padding-block: var(--sp-6); }
.mm-hero-copy { max-width: 620px; }
.mm-hero h1 {
  font-size: clamp(2rem, 1.3rem + 2.6vw, 3.5rem);
  line-height: 1.04;
  color: #fff;
}
.mm-hero h1 span { display: block; color: var(--c-action-gold); }
.mm-rule { display: block; width: 52px; height: 3px; background: var(--c-action-gold); margin: var(--sp-3) 0; }
.mm-hero-body { font-size: var(--fs-body-lg); line-height: 1.6; color: rgba(255, 255, 255, 0.92); max-width: 52ch; text-shadow: 0 1px 3px rgba(0, 0, 0, 0.5); }
.mm-watch {
  display: inline-flex; align-items: center; gap: 0.9rem;
  margin-top: var(--sp-4);
  color: #fff;
  transition: transform var(--dur-fast) var(--ease-out);
}
.mm-watch:hover { transform: translateX(3px); }
.mm-watch-icon {
  display: grid; place-items: center;
  width: 56px; height: 56px; border-radius: 50%;
  background: var(--c-action-gold); color: var(--c-midnight-navy);
  box-shadow: var(--shadow-button);
  flex-shrink: 0;
}
.mm-watch-icon svg { margin-left: 3px; }
.mm-watch-text { font-weight: 800; letter-spacing: 0.04em; text-transform: uppercase; line-height: 1.25; }
.mm-watch-text small { display: block; font-weight: 600; font-size: 0.78rem; letter-spacing: 0.06em; color: var(--c-action-gold); margin-top: 2px; }

@media (max-width: 800px) {
  .mm-hero { min-height: 0; display: block; }
  .mm-hero-media { position: relative; inset: auto; height: 300px; }
  .mm-hero-media img { object-position: 82% 20%; }
  .mm-hero-media::after { background: linear-gradient(180deg, rgba(0, 10, 24, 0) 45%, var(--c-midnight-navy) 100%); }
  .mm-hero-content { padding-top: 0; padding-bottom: var(--sp-5); margin-top: -24px; }
}

/* By the numbers */
.mm-numbers { padding-block: var(--sp-5); border-bottom: 1px solid var(--border-hairline-light); }
.mm-numbers-grid { display: grid; grid-template-columns: 0.8fr 2.2fr; gap: var(--sp-5); align-items: center; }
.mm-numbers-title h2, .mm-journey-title h2, .mm-media-title h2, .mm-books-head h2, .mm-testimonials-head h2 {
  font-size: var(--fs-h3); color: var(--c-executive-blue);
}
.mm-stats { display: grid; grid-template-columns: repeat(4, 1fr); }
.mm-stat { text-align: center; padding-inline: var(--sp-2); }
.mm-stat + .mm-stat { border-left: 1px solid var(--border-hairline-light); }
.mm-stat-icon { width: 36px; height: 36px; margin: 0 auto var(--sp-1); color: var(--c-executive-blue); }
.mm-stat .stat-number { color: var(--c-executive-blue); font-size: clamp(1.3rem, 1rem + 0.9vw, 1.75rem); line-height: 1.1; white-space: nowrap; }
.mm-stat-label { font-size: 0.74rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--c-charcoal); margin-top: 0.4rem; }
.mm-stat-label-top { margin: 0 0 0.3rem; }
@media (max-width: 900px) {
  .mm-numbers-grid { grid-template-columns: 1fr; gap: var(--sp-3); }
  .mm-numbers-title { text-align: center; }
  .mm-stats { grid-template-columns: repeat(2, 1fr); row-gap: var(--sp-4); }
  .mm-stat:nth-child(3) { border-left: 0; }
}

/* Why planners book Mike */
.mm-why-head { max-width: 780px; margin-inline: auto; text-align: center; }
.mm-why-head h2 { font-size: var(--fs-h2); color: var(--c-executive-blue); }
.mm-why-head h2 span { color: var(--c-action-gold); }
.mm-why-body { margin-top: var(--sp-3); color: var(--text-on-light-muted); font-size: var(--fs-body-lg); }
.mm-why-tiles { margin-top: var(--sp-5); }
.mm-tile { background: #fff; border-radius: var(--radius-md); padding: var(--sp-4); box-shadow: var(--shadow-card); border-top: 3px solid var(--c-action-gold); }
.mm-tile h4 { margin: var(--sp-2) 0 var(--sp-1); color: var(--c-executive-blue); font-size: 1rem; }
.mm-tile p { color: var(--text-on-light-muted); font-size: 0.95rem; }

/* The journey */
.mm-journey { padding-block: var(--sp-6); }
.mm-journey-grid { display: grid; grid-template-columns: 0.8fr 2.2fr; gap: var(--sp-5); align-items: start; }
.mm-timeline { display: grid; grid-template-columns: repeat(5, 1fr); }
.mm-step { text-align: center; padding-inline: 0.6rem; position: relative; }
.mm-step-icon { width: 38px; height: 38px; margin: 0 auto var(--sp-2); color: var(--c-executive-blue); }
.mm-dot { display: block; position: relative; height: 12px; margin-bottom: var(--sp-2); }
.mm-dot::before {
  content: ''; position: absolute; left: 50%; top: 50%;
  width: 10px; height: 10px; margin: -5px 0 0 -5px;
  border-radius: 50%; background: var(--c-action-gold); z-index: 1;
}
.mm-dot::after {
  content: ''; position: absolute; left: 50%; top: 50%;
  width: 100%; height: 2px; margin-top: -1px;
  background: var(--c-action-gold); opacity: 0.55;
}
.mm-step:last-child .mm-dot::after { display: none; }
.mm-step h4 { font-size: 0.88rem; color: var(--c-executive-blue); margin-bottom: 0.5rem; }
.mm-step p { font-size: 0.82rem; line-height: 1.5; color: var(--text-on-light-muted); }
@media (max-width: 900px) {
  .mm-journey-grid { grid-template-columns: 1fr; gap: var(--sp-4); }
  .mm-journey-title { text-align: center; }
  .mm-timeline { grid-template-columns: repeat(2, 1fr); row-gap: var(--sp-4); }
  .mm-dot::after { display: none; }
}
@media (max-width: 520px) { .mm-timeline { grid-template-columns: 1fr; } }

/* Philosophy */
.mm-philosophy { position: relative; overflow: hidden; padding-block: var(--sp-6); background: var(--c-executive-blue); }
.mm-philosophy-media {
  position: absolute; top: 0; right: 0; bottom: 0; width: 52%; z-index: 0;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 38%);
  mask-image: linear-gradient(90deg, transparent, #000 38%);
}
.mm-philosophy-media img { width: 100%; height: 100%; object-fit: cover; object-position: 60% center; transform: scale(1.18); transform-origin: 38% 45%; background: none; }
.mm-philosophy-grid { position: relative; z-index: 1; display: grid; grid-template-columns: 1.25fr 1fr 1fr; gap: var(--sp-4); align-items: center; }
.mm-philosophy-lines { grid-column: 1; }
.mm-philosophy-lines h2 { font-size: clamp(1.3rem, 1rem + 0.9vw, 1.85rem); line-height: 1.12; }
.mm-philosophy-lines h2 .is-underlined { display: inline-block; padding-bottom: 0.5rem; margin-bottom: 0.5rem; position: relative; }
.mm-philosophy-lines h2 .is-underlined::after { content: ''; position: absolute; left: 0; bottom: 0; width: 44px; height: 3px; background: var(--c-action-gold); }
.mm-philosophy-quote { grid-column: 2; }
.mm-philosophy-quote p { font-size: var(--fs-body-lg); line-height: 1.65; color: rgba(255, 255, 255, 0.92); }
.mm-signature { display: block; margin-top: var(--sp-2); font-family: 'Mrs Saint Delafield', cursive; font-size: 3rem; line-height: 1; color: var(--c-action-gold); }
@media (max-width: 900px) {
  .mm-philosophy { padding-block: 0 var(--sp-5); }
  .mm-philosophy-media { position: relative; width: 100%; height: 240px; margin-bottom: var(--sp-4);
    -webkit-mask-image: linear-gradient(180deg, #000 55%, transparent); mask-image: linear-gradient(180deg, #000 55%, transparent); }
  .mm-philosophy-grid { grid-template-columns: 1fr; gap: var(--sp-3); }
  .mm-philosophy-lines, .mm-philosophy-quote { grid-column: 1; }
}

/* Media & recognition */
.mm-media { padding-block: var(--sp-5) var(--sp-5); }
.mm-media-grid { display: grid; grid-template-columns: 0.8fr 2.2fr; gap: var(--sp-5); align-items: center; margin-bottom: var(--sp-4); }
.mm-media-logos img { width: 100%; max-width: 860px; height: auto; background: none; filter: invert(1) brightness(0.28); opacity: 0.9; }
@media (max-width: 900px) {
  .mm-media-grid { grid-template-columns: 1fr; gap: var(--sp-3); text-align: center; }
  .mm-media-logos { overflow-x: auto; }
  .mm-media-logos img { min-width: 640px; margin-inline: auto; }
}
.mm-btn-navy { background: var(--c-executive-blue); color: #fff; border-color: var(--c-executive-blue); min-height: 42px; padding: 0.65rem 1.5rem; font-size: 0.8rem; }
.mm-btn-navy:hover { background: var(--c-midnight-navy); }

/* Books */
.mm-books { padding-block: var(--sp-5) var(--sp-6); }
.mm-books-head { margin-bottom: var(--sp-4); }
.mm-books-row { display: grid; grid-template-columns: repeat(7, 1fr); gap: var(--sp-2); align-items: end; }
.mm-books-row a { display: block; transition: transform var(--dur-base) var(--ease-out); }
.mm-books-row a:hover { transform: translateY(-6px); }
.mm-books-row img { width: 100%; height: auto; border-radius: 3px; box-shadow: 0 10px 24px rgba(1, 10, 24, 0.28); background: none; }
@media (max-width: 900px) { .mm-books-row { grid-template-columns: repeat(4, 1fr); } }
@media (max-width: 520px) { .mm-books-row { grid-template-columns: repeat(3, 1fr); } }

/* Testimonials */
.mm-testimonials { padding-block: var(--sp-5) var(--sp-6); }
.mm-testimonials-head { margin-bottom: var(--sp-4); }
.mm-quote { margin: 0; padding: var(--sp-3); border: 1px solid var(--border-hairline-light); border-radius: var(--radius-sm); background: #fff; display: flex; flex-direction: column; }
.mm-quote-mark { font-family: var(--font-quote); font-size: 3.5rem; line-height: 0.8; color: var(--c-action-gold); height: 1.8rem; }
.mm-quote blockquote { margin: var(--sp-1) 0 var(--sp-3); font-family: var(--font-body); font-style: normal; font-size: 0.95rem; line-height: 1.6; color: var(--c-charcoal); flex: 1; }
.mm-quote figcaption { display: flex; align-items: center; gap: 0.85rem; font-size: 0.78rem; line-height: 1.45; color: var(--text-on-light-muted); }
.mm-quote figcaption strong { display: block; font-size: 0.82rem; letter-spacing: 0.04em; text-transform: uppercase; color: var(--c-executive-blue); }
.mm-avatar { display: grid; place-items: center; width: 46px; height: 46px; border-radius: 50%; flex-shrink: 0; background: var(--c-executive-blue); color: var(--c-action-gold); font-family: var(--font-display); font-weight: 800; font-size: 0.85rem; }

/* -------------------------------------------------------------------------
   Books page (.bk-*) — cinematic hero, floating 3D covers, series showcases
   ------------------------------------------------------------------------- */
.bk-h2 { font-size: var(--fs-h2); line-height: 1.08; }
.bk-h2 em { font-style: normal; color: var(--c-action-gold); }
.bk-orb { position: absolute; border-radius: 50%; filter: blur(90px); pointer-events: none; z-index: 0; }
.bk-orb-1 { width: 520px; height: 520px; right: -120px; top: -140px; background: rgba(23, 78, 154, 0.55); }
.bk-orb-2 { width: 380px; height: 380px; left: -120px; bottom: -120px; background: rgba(248, 163, 9, 0.18); }
.bk-orb-3 { width: 460px; height: 460px; left: -160px; top: 10%; background: rgba(23, 78, 154, 0.4); }

/* Hero */
.bk-hero { position: relative; overflow: hidden; background: var(--c-midnight-navy); color: #fff; padding-top: var(--sp-6); }
.bk-hero-bg { position: absolute; inset: 0; z-index: 0; }
.bk-hero-bg img { width: 100%; height: 100%; object-fit: cover; object-position: center 55%; opacity: 0.5; background: none; filter: saturate(1.1); }
.bk-hero-bg::after { content: ''; position: absolute; inset: 0;
  background: linear-gradient(90deg, rgba(0, 10, 24, 0.97) 0%, rgba(0, 10, 24, 0.82) 42%, rgba(0, 10, 24, 0.5) 100%),
              linear-gradient(180deg, rgba(0, 10, 24, 0.2) 70%, var(--c-midnight-navy) 100%); }
.bk-hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: 0.95fr 1.05fr; gap: var(--sp-4); align-items: center; }
.bk-hero-copy h1 { font-size: clamp(2.1rem, 1.2rem + 2.7vw, 3.7rem); line-height: 1.02; color: #fff; }
.bk-hero-copy h1 span { display: block; color: var(--c-action-gold); text-shadow: 0 0 40px rgba(248, 163, 9, 0.35); }
.bk-hero-lead { font-family: var(--font-display); font-weight: 800; font-size: clamp(1.1rem, 1rem + 0.5vw, 1.45rem); line-height: 1.25; margin-bottom: var(--sp-2); }
.bk-hero-body { font-size: var(--fs-body-lg); color: rgba(255, 255, 255, 0.86); max-width: 54ch; margin-bottom: var(--sp-2); }
.bk-hero-actions { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-top: var(--sp-3); }
.bk-hero-actions .btn { padding: 0.8rem 1.35rem; font-size: 0.82rem; }
.bk-arrow { transition: transform var(--dur-fast) var(--ease-out); }
.btn:hover .bk-arrow, .bk-link:hover .bk-arrow { transform: translateX(4px); }

/* floating cover stage */
.bk-stage { position: relative; height: clamp(400px, 42vw, 620px); perspective: 1400px; transform-style: preserve-3d; }
.bk-stage-glow { position: absolute; left: 50%; top: 52%; width: 90%; height: 80%; translate: -50% -50%;
  background: radial-gradient(closest-side, rgba(248, 163, 9, 0.34), rgba(23, 78, 154, 0.28) 55%, transparent 75%); filter: blur(24px); }
.bk-float { position: absolute; height: auto; border-radius: 4px; background: none;
  box-shadow: 0 30px 60px rgba(0, 0, 0, 0.6), 0 0 0 1px rgba(255, 255, 255, 0.08);
  animation: bk-bob 7s ease-in-out infinite; transition: transform 0.25s var(--ease-out); will-change: transform; }
.bk-f3 { width: 40%; left: 50%; top: 50%; z-index: 5; transform: translate(-50%, -50%) translate3d(calc(var(--mx, 0) * 16px), calc(var(--my, 0) * 12px), 80px) rotateY(-8deg); animation-delay: -1s; }
.bk-f2 { width: 31%; left: 22%; top: 60%; z-index: 4; transform: translate(-50%, -50%) translate3d(calc(var(--mx, 0) * 28px), calc(var(--my, 0) * 18px), 20px) rotateY(18deg) rotateZ(-3deg); animation-delay: -3s; }
.bk-f4 { width: 31%; left: 79%; top: 44%; z-index: 4; transform: translate(-50%, -50%) translate3d(calc(var(--mx, 0) * 28px), calc(var(--my, 0) * 18px), 20px) rotateY(-22deg) rotateZ(3deg); animation-delay: -5s; }
.bk-f1 { width: 22%; left: 4%; top: 30%; z-index: 2; opacity: 0.92; transform: translate(-50%, -50%) translate3d(calc(var(--mx, 0) * 40px), calc(var(--my, 0) * 24px), -40px) rotateY(28deg) rotateZ(-6deg); animation-delay: -2s; }
.bk-f5 { width: 22%; left: 96%; top: 72%; z-index: 2; opacity: 0.92; transform: translate(-50%, -50%) translate3d(calc(var(--mx, 0) * 40px), calc(var(--my, 0) * 24px), -40px) rotateY(-30deg) rotateZ(6deg); animation-delay: -4s; }
@keyframes bk-bob { 0%, 100% { translate: 0 0; } 50% { translate: 0 -14px; } }

.bk-hero-stats { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(4, 1fr); margin-top: var(--sp-5); border-top: 1px solid var(--border-hairline); }
.bk-hero-stats > div { text-align: center; padding: var(--sp-3) var(--sp-2); }
.bk-hero-stats > div + div { border-left: 1px solid var(--border-hairline); }
.bk-hero-stats strong { display: block; font-family: var(--font-display); font-weight: 800; font-size: clamp(1.4rem, 1.1rem + 1.2vw, 2.1rem); color: var(--c-action-gold); line-height: 1.1; white-space: nowrap; }
.bk-hero-stats span { display: block; margin-top: 0.3rem; font-size: 0.74rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: rgba(255, 255, 255, 0.75); }

/* Endorsement marquee */
.bk-endorse { padding-block: var(--sp-5); background: linear-gradient(180deg, var(--c-midnight-navy), #04142c); border-block: 1px solid var(--border-hairline); overflow: hidden; }
.bk-marquee { overflow: hidden; margin-top: var(--sp-2);
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent); mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent); }
.bk-marquee-track { display: flex; gap: var(--sp-3); width: max-content; padding-block: var(--sp-1); animation: marquee-scroll 70s linear infinite; }
.bk-marquee:hover .bk-marquee-track { animation-play-state: paused; }
.bk-quote { flex: 0 0 min(360px, 78vw); margin: 0; padding: var(--sp-3); border-radius: var(--radius-md); background: rgba(255, 255, 255, 0.06); border: 1px solid var(--border-hairline); backdrop-filter: blur(6px); display: flex; flex-direction: column; }
.bk-quote-mark { font-family: var(--font-quote); font-size: 3rem; line-height: 0.7; height: 1.5rem; color: var(--c-action-gold); }
.bk-quote blockquote { margin: 0.4rem 0 var(--sp-2); font-family: var(--font-quote); font-style: italic; font-size: 0.98rem; line-height: 1.55; color: #fff; flex: 1; }
.bk-quote figcaption { font-size: 0.78rem; line-height: 1.4; color: rgba(255, 255, 255, 0.7); }
.bk-quote figcaption strong { display: block; color: var(--c-action-gold); font-size: 0.85rem; letter-spacing: 0.06em; text-transform: uppercase; }

/* Why books matter */
.bk-why-grid { display: grid; grid-template-columns: 1.1fr 1fr; gap: var(--sp-6); align-items: center; }
.bk-why-copy .bk-h2 { color: var(--c-executive-blue); margin-bottom: var(--sp-3); }
.bk-why-copy p { color: var(--text-on-light-muted); font-size: var(--fs-body-lg); margin-bottom: var(--sp-2); }
.bk-chips { display: flex; flex-wrap: wrap; gap: 0.5rem; margin: var(--sp-3) 0; }
.bk-chips li { padding: 0.45rem 0.9rem; border-radius: var(--radius-pill); border: 1px solid rgba(248, 163, 9, 0.6); background: rgba(248, 163, 9, 0.08); color: var(--c-executive-blue); font-size: 0.78rem; font-weight: 700; letter-spacing: 0.02em; }
.bk-why-copy .bk-why-kicker { font-family: var(--font-display); font-weight: 800; text-transform: uppercase; color: var(--c-executive-blue); font-size: 1.05rem; margin: 0; }
.bk-why-tiles { display: grid; gap: var(--sp-2); }
.bk-tile { display: flex; gap: var(--sp-2); align-items: flex-start; padding: var(--sp-3); background: #fff; border-radius: var(--radius-md); box-shadow: var(--shadow-card); border-left: 4px solid var(--c-action-gold); transition: transform var(--dur-base) var(--ease-out); }
.bk-tile:hover { transform: translateX(6px); }
.bk-tile-icon { flex-shrink: 0; width: 48px; height: 48px; border-radius: 12px; display: grid; place-items: center; background: var(--c-executive-blue); color: var(--c-action-gold); }
.bk-tile-icon svg { width: 26px; height: 26px; }
.bk-tile h4 { font-size: 0.98rem; color: var(--c-executive-blue); margin-bottom: 0.25rem; }
.bk-tile p { color: var(--text-on-light-muted); font-size: 0.93rem; }

/* Sticky series nav */
.bk-nav { position: sticky; top: 64px; z-index: 40; background: rgba(255, 255, 255, 0.92); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); border-bottom: 1px solid var(--border-hairline-light); }
.bk-nav .container { display: flex; gap: 0.35rem; overflow-x: auto; scrollbar-width: none; padding-block: 0.6rem; justify-content: center; }
.bk-nav .container::-webkit-scrollbar { display: none; }
.bk-nav a { flex-shrink: 0; padding: 0.5rem 1rem; border-radius: var(--radius-pill); font-size: 0.78rem; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; color: var(--c-executive-blue); transition: background var(--dur-fast), color var(--dur-fast); }
.bk-nav a:hover { background: var(--c-soft-gray); }
.bk-nav a[aria-current='true'] { background: var(--c-executive-blue); color: var(--c-action-gold); }
@media (max-width: 900px) { .bk-nav .container { justify-content: flex-start; } }

/* Series sections */
.bk-series { position: relative; overflow: hidden; scroll-margin-top: 120px; }
.bk-series > .container { position: relative; z-index: 1; }
.bk-series-head { max-width: 780px; margin: 0 auto var(--sp-5); text-align: center; }
.bk-series-head p:not(.eyebrow) { margin-top: var(--sp-2); font-size: var(--fs-body-lg); color: var(--text-on-light-muted); }
.bk-series-light .bk-h2, .bk-series .bk-h2 { color: var(--c-executive-blue); }
.bk-series-dark .bk-h2 { color: #fff; }
.bk-series-dark .bk-series-head p:not(.eyebrow) { color: rgba(255, 255, 255, 0.82); }
.bk-series-mark { font-family: var(--font-display); font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; font-size: 0.8rem !important; color: var(--c-executive-blue) !important; }
.bk-grid-2 { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--sp-4); margin-top: var(--sp-4); }
.bk-series-head + .bk-grid-2 { margin-top: 0; }
.bk-grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--sp-3); }

/* covers */
.bk-cover { position: relative; perspective: 900px; width: 100%; max-width: 170px; flex-shrink: 0; }
.bk-cover img { width: 100%; height: auto; border-radius: 4px; background: none;
  box-shadow: 0 22px 40px rgba(1, 10, 24, 0.35), 0 4px 10px rgba(1, 10, 24, 0.25);
  transform: rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)); transition: transform 0.25s var(--ease-out), box-shadow 0.25s; will-change: transform; }
.bk-shine { position: absolute; inset: 0; border-radius: 4px; pointer-events: none; opacity: 0; transition: opacity 0.25s;
  background: radial-gradient(circle at var(--sx, 50%) var(--sy, 30%), rgba(255, 255, 255, 0.45), transparent 55%); mix-blend-mode: soft-light;
  transform: rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)); }
.bk-cover:hover .bk-shine { opacity: 1; }
.bk-cover-xl { max-width: 320px; margin-inline: auto; }

/* book cards */
.bk-card { position: relative; display: grid; grid-template-columns: 160px 1fr; gap: var(--sp-3); padding: var(--sp-4); background: #fff; border: 1px solid var(--border-hairline-light); border-radius: 20px; box-shadow: var(--shadow-card); scroll-margin-top: 130px; transition: transform var(--dur-base) var(--ease-out), box-shadow var(--dur-base) var(--ease-out); }
.bk-card::before { content: ''; position: absolute; inset: 0 0 auto 0; height: 4px; border-radius: 20px 20px 0 0; background: linear-gradient(90deg, var(--c-action-gold), rgba(248, 163, 9, 0)); }
.bk-card:hover { transform: translateY(-6px); box-shadow: 0 24px 50px rgba(1, 10, 24, 0.16); }
.bk-card-body h3, .bk-feature-body h3 { font-size: clamp(1.05rem, 0.95rem + 0.5vw, 1.35rem); line-height: 1.15; color: var(--c-executive-blue); }
.bk-sub { margin-top: 0.4rem; font-size: 0.82rem; font-style: italic; color: var(--text-on-light-muted); line-height: 1.45; }
.bk-promise { margin-top: var(--sp-2); font-weight: 700; color: var(--c-charcoal); line-height: 1.45; }
.bk-inside { margin: var(--sp-2) 0; display: grid; gap: 0.5rem; }
.bk-inside li { position: relative; padding-left: 28px; font-size: 0.9rem; line-height: 1.5; color: var(--text-on-light-muted); }
.bk-inside li::before { content: ''; position: absolute; left: 0; top: 0.2em; width: 18px; height: 18px; border-radius: 50%;
  background: rgba(248, 163, 9, 0.16) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f8a309' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center / 11px no-repeat; }
.bk-for { font-size: 0.85rem; color: var(--text-on-light-muted); }
.bk-for strong { color: var(--c-executive-blue); }
.bk-keynote { margin-top: 0.6rem; font-size: 0.85rem; }
.bk-keynote span { display: block; font-size: 0.68rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--c-action-gold); }
.bk-keynote a { font-weight: 700; color: var(--c-executive-blue); border-bottom: 1px solid rgba(248, 163, 9, 0.7); }
.bk-keynote a:hover { color: var(--c-action-gold); }
.bk-tag { display: inline-block; margin-bottom: 0.5rem; padding: 0.25rem 0.7rem; border-radius: var(--radius-pill); background: var(--c-action-gold); color: var(--c-midnight-navy); font-size: 0.68rem; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; }
.bk-actions { display: flex; flex-wrap: wrap; gap: 0.6rem; margin-top: var(--sp-3); }
.bk-actions .btn { min-height: 44px; padding: 0.65rem 1.2rem; font-size: 0.76rem; }
.bk-btn-ghost { background: transparent; color: var(--c-executive-blue); border-color: var(--c-executive-blue); }
.bk-btn-ghost:hover { background: var(--c-executive-blue); color: #fff; }

/* dark variants */
.bk-card-dark, .bk-feature { background: rgba(255, 255, 255, 0.05); border: 1px solid var(--border-hairline); box-shadow: 0 20px 50px rgba(0, 0, 0, 0.35); backdrop-filter: blur(8px); }
.bk-card-dark:hover { box-shadow: 0 24px 60px rgba(0, 0, 0, 0.55), 0 0 0 1px rgba(248, 163, 9, 0.35); }
.bk-card-dark h3, .bk-feature h3 { color: #fff; }
.bk-card-dark .bk-sub, .bk-feature .bk-sub { color: rgba(255, 255, 255, 0.7); }
.bk-card-dark .bk-promise, .bk-feature .bk-promise { color: #fff; }
.bk-card-dark .bk-inside li, .bk-feature .bk-inside li, .bk-card-dark .bk-for, .bk-feature .bk-for { color: rgba(255, 255, 255, 0.8); }
.bk-card-dark .bk-for strong, .bk-feature .bk-for strong, .bk-card-dark .bk-keynote a, .bk-feature .bk-keynote a { color: #fff; }
.bk-card-dark .bk-btn-ghost, .bk-feature .bk-btn-ghost { color: #fff; border-color: rgba(255, 255, 255, 0.5); }
.bk-card-dark .bk-btn-ghost:hover, .bk-feature .bk-btn-ghost:hover { background: #fff; color: var(--c-midnight-navy); }

/* flagship feature */
.bk-feature { position: relative; display: grid; grid-template-columns: 0.75fr 1.25fr; gap: var(--sp-5); align-items: center; padding: var(--sp-5); border-radius: 26px; overflow: hidden; scroll-margin-top: 130px; }
.bk-feature::before { content: ''; position: absolute; inset: -30% auto auto -10%; width: 60%; height: 90%; background: radial-gradient(closest-side, rgba(248, 163, 9, 0.28), transparent 70%); pointer-events: none; }
.bk-feature .bk-cover { position: relative; z-index: 1; }
.bk-feature-body { position: relative; z-index: 1; }
.bk-pull { margin: var(--sp-3) 0 0; padding: var(--sp-2) var(--sp-3); border-left: 3px solid var(--c-action-gold); background: rgba(248, 163, 9, 0.08); border-radius: 0 var(--radius-sm) var(--radius-sm) 0; font-family: var(--font-quote); font-style: italic; color: #fff; line-height: 1.55; }
.bk-pull cite { display: block; margin-top: 0.4rem; font-family: var(--font-body); font-style: normal; font-size: 0.8rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; color: var(--c-action-gold); }
.bk-series-dark .bk-grid-2 { margin-top: var(--sp-4); }

/* AI series mini cards */
.bk-mini { display: flex; gap: var(--sp-2); padding: var(--sp-3); background: #fff; border-radius: var(--radius-md); border: 1px solid var(--border-hairline-light); box-shadow: var(--shadow-card); scroll-margin-top: 130px; transition: transform var(--dur-base) var(--ease-out), box-shadow var(--dur-base) var(--ease-out); }
.bk-mini:hover { transform: translateY(-6px); box-shadow: 0 22px 44px rgba(1, 10, 24, 0.15); }
.bk-mini .bk-cover { width: 92px; max-width: 92px; }
.bk-mini .bk-cover img { box-shadow: 0 12px 24px rgba(1, 10, 24, 0.3); }
.bk-mini h3 { font-size: 0.98rem; line-height: 1.15; color: var(--c-executive-blue); margin-bottom: 0.4rem; }
.bk-mini p { font-size: 0.85rem; line-height: 1.5; color: var(--text-on-light-muted); }
.bk-link { display: inline-flex; align-items: center; gap: 0.35rem; margin-top: 0.7rem; font-size: 0.74rem; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; color: var(--c-executive-blue); border-bottom: 2px solid var(--c-action-gold); padding-bottom: 2px; }

/* Book Beyond the Book */
.bk-beyond-grid { display: grid; grid-template-columns: 0.8fr 1.2fr; gap: var(--sp-6); align-items: center; }
.bk-beyond-body .bk-h2 { margin-bottom: var(--sp-2); }
.bk-css-cover { aspect-ratio: 2 / 3; padding: 9% 9% 8%; display: flex; flex-direction: column; justify-content: space-between; border-radius: 4px; color: #fff;
  background: radial-gradient(120% 70% at 50% 0%, rgba(248, 163, 9, 0.28), transparent 60%), linear-gradient(160deg, #0a2a5c, var(--c-midnight-navy) 70%);
  box-shadow: inset 0 0 0 2px rgba(248, 163, 9, 0.55), inset 0 0 0 7px var(--c-midnight-navy), inset 0 0 0 8px rgba(248, 163, 9, 0.35), 0 26px 50px rgba(1, 10, 24, 0.4);
  transform: rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)); transition: transform 0.25s var(--ease-out); text-align: center; }
.bk-css-cover small { font-size: 0.72rem; font-weight: 800; letter-spacing: 0.3em; text-transform: uppercase; color: var(--c-action-gold); }
.bk-css-cover b { font-family: var(--font-display); font-weight: 900; font-size: clamp(1.5rem, 1.1rem + 1.6vw, 2.3rem); line-height: 1.05; text-transform: uppercase; }
.bk-css-cover i { display: block; width: 46px; height: 3px; margin-inline: auto; background: var(--c-action-gold); }
.bk-css-cover span { font-size: 0.78rem; font-weight: 700; letter-spacing: 0.22em; text-transform: uppercase; }
.bk-cover-css { max-width: 300px; }
.bk-pillars { display: flex; flex-wrap: wrap; gap: 0.5rem; margin: var(--sp-3) 0 var(--sp-1); counter-reset: pillar; }
.bk-pillars li { counter-increment: pillar; display: flex; align-items: center; gap: 0.5rem; padding: 0.4rem 0.9rem 0.4rem 0.45rem; border-radius: var(--radius-pill); background: var(--c-executive-blue); color: #fff; font-size: 0.78rem; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; }
.bk-pillars li::before { content: counter(pillar); display: grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; background: var(--c-action-gold); color: var(--c-midnight-navy); font-size: 0.72rem; font-weight: 800; }

/* Bundle */
.bk-bundle { position: relative; overflow: hidden; text-align: center; background: var(--c-midnight-navy); scroll-margin-top: 100px; }
.bk-bundle-bg { position: absolute; inset: 0; z-index: 0; }
.bk-bundle-bg img { width: 100%; height: 100%; object-fit: cover; object-position: center 40%; opacity: 0.32; background: none; }
.bk-bundle-bg::after { content: ''; position: absolute; inset: 0; background: radial-gradient(60% 70% at 50% 40%, rgba(0, 10, 24, 0.55), var(--c-midnight-navy) 95%); }
.bk-bundle-inner { position: relative; z-index: 1; max-width: 880px; }
.bk-bundle .bk-h2 { color: #fff; }
.bk-bundle-body { margin: var(--sp-3) auto 0; max-width: 62ch; font-size: var(--fs-body-lg); color: rgba(255, 255, 255, 0.86); }
.bk-bundle-points { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--sp-2); margin: var(--sp-4) 0; }
.bk-bundle-points li { padding: var(--sp-3) var(--sp-2); border-radius: var(--radius-md); background: rgba(255, 255, 255, 0.07); border: 1px solid var(--border-hairline); backdrop-filter: blur(6px); font-size: 0.88rem; color: rgba(255, 255, 255, 0.78); }
.bk-bundle-points b { display: block; margin-bottom: 0.3rem; font-family: var(--font-display); font-size: 0.95rem; text-transform: uppercase; color: var(--c-action-gold); }
.bk-bundle-note { margin-bottom: var(--sp-3); font-weight: 700; color: #fff; }
.bk-kicker { margin-top: var(--sp-4); font-family: var(--font-display); font-weight: 800; text-transform: uppercase; font-size: clamp(1rem, 0.9rem + 0.6vw, 1.35rem); color: #fff; }
.bk-kicker em { font-style: normal; color: var(--c-action-gold); }

/* Start series: wide alternating cards */
.bk-stack { grid-template-columns: 1fr; gap: var(--sp-4); }
.bk-stack .bk-card { grid-template-columns: 230px 1fr; gap: var(--sp-5); padding: var(--sp-5); align-items: center; }
.bk-stack .bk-card:nth-child(even) { grid-template-columns: 1fr 230px; }
.bk-stack .bk-card:nth-child(even) .bk-cover { order: 2; }
.bk-stack .bk-cover { max-width: 230px; }
.bk-stack .bk-inside { gap: 0.6rem; }
.bk-stack .bk-actions { margin-top: var(--sp-3); }

/* Responsive */
@media (max-width: 980px) {
  .bk-stack .bk-card, .bk-stack .bk-card:nth-child(even) { grid-template-columns: 1fr; padding: var(--sp-4); }
  .bk-stack .bk-card:nth-child(even) .bk-cover { order: 0; }
  .bk-stack .bk-cover { margin-inline: auto; max-width: 190px; }
  .bk-hero-grid { grid-template-columns: 1fr; }
  .bk-stage { height: 400px; order: -1; }
  .bk-hero-stats { grid-template-columns: repeat(2, 1fr); }
  .bk-hero-stats > div:nth-child(3) { border-left: 0; }
  .bk-hero-stats > div:nth-child(n+3) { border-top: 1px solid var(--border-hairline); }
  .bk-why-grid, .bk-beyond-grid { grid-template-columns: 1fr; gap: var(--sp-4); }
  .bk-grid-2 { grid-template-columns: 1fr; }
  .bk-grid-3 { grid-template-columns: repeat(2, 1fr); }
  .bk-feature { grid-template-columns: 1fr; padding: var(--sp-4); }
  .bk-bundle-points { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .bk-hero { padding-top: var(--sp-4); }
  .bk-hero-actions .btn, .bk-bundle .btn, .bk-actions .btn { white-space: normal; text-align: center; line-height: 1.25; }
  .bk-stage { height: 320px; }
  .bk-card { grid-template-columns: 1fr; padding: var(--sp-3); }
  .bk-card .bk-cover { max-width: 150px; margin-inline: auto; }
  .bk-grid-3 { grid-template-columns: 1fr; }
}

/* -------------------------------------------------------------------------
   Keynote page (.kp-*) — Nothing in Leadership Starts Until You Start
   Reuses .bk-* helpers (orbs, tags, links, covers, check lists) from the Books page.
   ------------------------------------------------------------------------- */
.kp-hero { position: relative; overflow: hidden; background: var(--c-midnight-navy); color: #fff; padding-top: var(--sp-3); padding-bottom: 130px; min-height: 700px; }
.kp-hero-bg { position: absolute; inset: 0; z-index: 0; }
.kp-hero-bg img { width: 100%; height: 100%; object-fit: cover; object-position: 82% center; background: none; }
.kp-hero-bg::after { content: ''; position: absolute; inset: 0;
  background: linear-gradient(95deg, rgba(0, 10, 24, 0.97) 8%, rgba(0, 10, 24, 0.82) 40%, rgba(0, 10, 24, 0.1) 72%),
              linear-gradient(180deg, rgba(0, 10, 24, 0) 70%, var(--c-midnight-navy) 100%); }
.kp-hero-inner { position: relative; z-index: 1; }
.kp-crumbs { display: flex; flex-wrap: wrap; gap: 0.5rem; align-items: center; font-size: 0.78rem; color: rgba(255, 255, 255, 0.7); margin-bottom: var(--sp-5); }
.kp-crumbs a:hover { color: var(--c-action-gold); }
.kp-crumbs [aria-current] { color: #fff; }
.kp-hero-copy { max-width: 660px; }
.kp-hero h1 { font-size: clamp(2rem, 1.1rem + 3vw, 3.8rem); line-height: 1.03; color: #fff; }
.kp-hero h1 span { display: block; color: var(--c-action-gold); text-shadow: 0 0 40px rgba(248, 163, 9, 0.3); }
.kp-sub { font-family: var(--font-display); font-weight: 800; font-size: clamp(1.05rem, 0.95rem + 0.5vw, 1.35rem); line-height: 1.3; margin-bottom: var(--sp-2); }
.kp-body { font-size: 1.05rem; color: rgba(255, 255, 255, 0.86); max-width: 58ch; margin-bottom: var(--sp-2); text-shadow: 0 1px 3px rgba(0, 0, 0, 0.5); }
.kp-chips { display: flex; flex-wrap: wrap; gap: var(--sp-3); margin-top: var(--sp-4); }
.kp-chips li { display: flex; align-items: center; gap: 0.6rem; font-size: 0.74rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; line-height: 1.25; color: #fff; }
.kp-chips svg { width: 34px; height: 34px; color: var(--c-action-gold); flex-shrink: 0; }

/* quick facts straddling the hero edge */
.kp-facts-wrap { position: relative; z-index: 3; margin-top: -78px; padding-bottom: var(--sp-5); background: linear-gradient(180deg, transparent 0 78px, var(--c-white) 78px); }
.kp-facts { display: grid; grid-template-columns: 1fr 1.25fr 0.9fr 0.7fr; margin: 0; background: #fff; border-radius: 18px; border-top: 4px solid var(--c-action-gold); box-shadow: 0 24px 60px rgba(1, 10, 24, 0.28); }
.kp-facts > div { padding: var(--sp-3); }
.kp-facts > div + div { border-left: 1px solid var(--border-hairline-light); }
.kp-facts dt { font-size: 0.7rem; font-weight: 800; letter-spacing: 0.14em; text-transform: uppercase; color: var(--c-action-gold); margin-bottom: 0.35rem; }
.kp-facts dd { margin: 0; font-size: 0.9rem; line-height: 1.45; font-weight: 600; color: var(--c-executive-blue); }

/* quote bar */
.kp-quote-bar { padding-block: var(--sp-4); text-align: center; background: linear-gradient(90deg, #061f47, #0c3169 50%, #061f47); border-block: 1px solid var(--border-hairline); }
.kp-quote-bar blockquote { margin: 0; font-family: var(--font-quote); font-style: italic; font-size: clamp(1.15rem, 1rem + 0.9vw, 1.7rem); line-height: 1.4; color: #fff; }
.kp-quote-bar blockquote span { color: var(--c-action-gold); font-size: 1.4em; line-height: 0; vertical-align: -0.12em; margin-inline: 0.15em; }
.kp-sign { margin-top: 0.5rem; font-size: 2.4rem; }

/* scrolling client logos — left to right, on blue */
.kp-logos { position: relative; overflow: hidden; padding-block: var(--sp-5); color: #fff;
  background: radial-gradient(70% 140% at 50% 0%, #1a4fa3 0%, transparent 60%), linear-gradient(135deg, #0a2a5c 0%, #0f3a80 50%, #0a2a5c 100%); }
.kp-logos::before { content: ''; position: absolute; inset: 0; opacity: 0.12; pointer-events: none;
  background: repeating-linear-gradient(115deg, transparent 0 46px, rgba(255, 255, 255, 0.5) 46px 47px); }
.kp-logos .eyebrow { display: block; position: relative; margin-bottom: var(--sp-3); }
.kp-logo-marquee { position: relative; overflow: hidden;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.kp-logo-track { display: flex; align-items: center; width: max-content; animation: kp-marquee-ltr 95s linear infinite; }
.kp-logo-marquee:hover .kp-logo-track { animation-play-state: paused; }
.kp-logo-track img { height: 64px; width: auto; flex-shrink: 0; margin-right: var(--sp-5); background: none; opacity: 0.95; }
@keyframes kp-marquee-ltr { from { transform: translateX(-50%); } to { transform: translateX(0); } }
@media (max-width: 900px) { .kp-logo-track img { height: 50px; margin-right: var(--sp-4); } .kp-logo-track { animation-duration: 75s; } }
@media (max-width: 640px) { .kp-logo-track img { height: 40px; margin-right: var(--sp-3); } .kp-logo-track { animation-duration: 60s; } }

/* challenge */
.kp-challenge-grid { display: grid; grid-template-columns: 1.05fr 0.95fr; gap: var(--sp-6); align-items: center; }
.kp-challenge-copy .bk-h2 { color: var(--c-executive-blue); margin-bottom: var(--sp-3); }
.kp-challenge-copy > p:not(.eyebrow) { color: var(--text-on-light-muted); font-size: var(--fs-body-lg); margin-bottom: var(--sp-2); }
.kp-gap { display: grid; gap: 0.6rem; margin: var(--sp-3) 0; }
.kp-gap li { display: flex; align-items: center; gap: 0.9rem; padding: 0.7rem 1rem; background: var(--c-soft-gray); border-radius: 12px; font-size: 0.92rem; color: var(--c-charcoal); border-left: 3px solid var(--c-action-gold); transition: transform var(--dur-base) var(--ease-out); }
.kp-gap li:hover { transform: translateX(6px); }
.kp-gap li span { flex-shrink: 0; min-width: 88px; text-align: center; padding: 0.25rem 0.7rem; border-radius: var(--radius-pill); background: var(--c-executive-blue); color: var(--c-action-gold); font-size: 0.68rem; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; }
.kp-challenge-art { position: relative; padding-bottom: 40px; }
.kp-challenge-art::before { content: ''; position: absolute; inset: 8% -6% 0 8%; background: radial-gradient(closest-side, rgba(248, 163, 9, 0.25), transparent 75%); filter: blur(10px); z-index: 0; }
.kp-photo { position: relative; z-index: 1; perspective: 1000px; border-radius: 22px; overflow: hidden; box-shadow: 0 30px 60px rgba(1, 10, 24, 0.35); }
.kp-photo img { width: 100%; height: auto; display: block; background: none; transform: rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)) scale(1.02); transition: transform 0.3s var(--ease-out); }
.kp-discover { position: relative; z-index: 2; margin: -56px var(--sp-3) 0; padding: var(--sp-3); background: linear-gradient(145deg, var(--c-executive-blue), #0a2a5c); border-radius: 16px; border-top: 3px solid var(--c-action-gold); box-shadow: 0 24px 50px rgba(1, 10, 24, 0.35); }
.kp-discover h3 { font-size: 0.82rem; letter-spacing: 0.1em; color: var(--c-action-gold); margin-bottom: var(--sp-1); }
.kp-discover .bk-inside { margin: 0; }
.kp-discover .bk-inside li { color: rgba(255, 255, 255, 0.9); }

/* three moves */
.kp-moves { position: relative; overflow: hidden; background: linear-gradient(180deg, var(--c-midnight-navy), #031634); }
.kp-moves > .container, .kp-working > .container { position: relative; z-index: 1; }
.kp-moves .bk-h2, .kp-working .bk-h2, .kp-video .bk-h2, .kp-get .bk-h2 { color: #fff; }
.kp-moves .bk-series-head p:not(.eyebrow), .kp-working .bk-series-head p:not(.eyebrow) { color: rgba(255, 255, 255, 0.8); }
.kp-moves-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--sp-3); }
.kp-move { position: relative; padding: var(--sp-4); border-radius: 22px; background: linear-gradient(160deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.02)); border: 1px solid var(--border-hairline); backdrop-filter: blur(8px); overflow: hidden;
  transition: transform var(--dur-base) var(--ease-out), box-shadow var(--dur-base) var(--ease-out), border-color var(--dur-base); }
.kp-move::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 4px; background: linear-gradient(90deg, var(--c-action-gold), transparent); }
.kp-move:hover { transform: translateY(-10px); border-color: rgba(248, 163, 9, 0.6); box-shadow: 0 30px 60px rgba(0, 0, 0, 0.5), 0 0 40px rgba(248, 163, 9, 0.15); }
.kp-num { display: block; font-family: var(--font-display); font-weight: 900; font-size: 5.5rem; line-height: 0.9; color: transparent; -webkit-text-stroke: 1.5px rgba(248, 163, 9, 0.75); margin-bottom: var(--sp-2); }
.kp-move h3 { color: #fff; font-size: 1.25rem; }
.kp-move-tag { margin: 0.5rem 0 var(--sp-2); font-size: 0.72rem; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; color: var(--c-action-gold); }
.kp-move p:not(.kp-move-tag) { color: rgba(255, 255, 255, 0.82); font-size: 0.97rem; }
.kp-move blockquote { margin: var(--sp-3) 0 0; padding-left: var(--sp-2); border-left: 3px solid var(--c-action-gold); font-family: var(--font-quote); font-style: italic; color: #fff; font-size: 0.98rem; line-height: 1.5; }

/* outcomes */
.kp-outcome-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: var(--sp-2); }
.kp-outcome { padding: var(--sp-3); background: #fff; border-radius: 18px; border: 1px solid var(--border-hairline-light); box-shadow: var(--shadow-card); transition: transform var(--dur-base) var(--ease-out), box-shadow var(--dur-base) var(--ease-out); }
.kp-outcome:hover { transform: translateY(-8px); box-shadow: 0 24px 46px rgba(1, 10, 24, 0.16); }
.kp-oi { display: grid; place-items: center; width: 48px; height: 48px; margin-bottom: var(--sp-2); border-radius: 14px; background: linear-gradient(145deg, var(--c-action-gold), #ffc14d); color: var(--c-midnight-navy); box-shadow: 0 8px 18px rgba(248, 163, 9, 0.35); }
.kp-oi svg { width: 26px; height: 26px; }
.kp-outcome h4 { font-size: 0.95rem; color: var(--c-executive-blue); margin-bottom: 0.5rem; }
.kp-outcome p { font-size: 0.88rem; line-height: 1.55; color: var(--text-on-light-muted); }

/* what you'll get */
.kp-get { position: relative; overflow: hidden; background: #021a3d; min-height: 460px; display: flex; align-items: center; padding-block: var(--sp-6); }
.kp-get-photo { position: absolute; top: 0; bottom: 0; left: 0; width: 52%; z-index: 0;
  -webkit-mask-image: linear-gradient(90deg, #000 55%, transparent); mask-image: linear-gradient(90deg, #000 55%, transparent); }
.kp-get-photo img { width: 100%; height: 100%; object-fit: cover; object-position: 20% center; background: none; }
.kp-get-grid { position: relative; z-index: 1; width: 100%; display: grid; grid-template-columns: 0.85fr 1.15fr; }
.kp-get-copy { grid-column: 2; }
.kp-get-items { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: var(--sp-4); }
.kp-get-items > div { padding-inline: var(--sp-2); }
.kp-get-items > div + div { border-left: 1px solid var(--border-hairline); }
.kp-get-items > div:first-child { padding-left: 0; }
.kp-get-items svg { width: 34px; height: 34px; color: var(--c-action-gold); margin-bottom: 0.6rem; }
.kp-get-items h4 { font-size: 0.85rem; letter-spacing: 0.04em; color: #fff; margin-bottom: 0.35rem; }
.kp-get-items p { font-size: 0.85rem; color: rgba(255, 255, 255, 0.78); line-height: 1.5; }

/* who it's for */
.kp-for-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--sp-4); }
.kp-for-card { position: relative; padding: var(--sp-4); background: #fff; border-radius: 22px; border: 1px solid var(--border-hairline-light); box-shadow: var(--shadow-card); transition: transform var(--dur-base) var(--ease-out), box-shadow var(--dur-base) var(--ease-out); }
.kp-for-card::before { content: ''; position: absolute; inset: 0 0 auto 0; height: 4px; border-radius: 22px 22px 0 0; background: linear-gradient(90deg, var(--c-action-gold), rgba(248, 163, 9, 0)); }
.kp-for-card:hover { transform: translateY(-6px); box-shadow: 0 24px 50px rgba(1, 10, 24, 0.15); }
.kp-for-card > p:not(.bk-tag) { color: var(--text-on-light-muted); margin-top: var(--sp-2); }
.kp-outcome-line { color: var(--c-charcoal) !important; }
.kp-outcome-line strong { color: var(--c-executive-blue); }
.kp-for-card .bk-link { margin-top: var(--sp-2); }

/* video */
.kp-video { position: relative; overflow: hidden; background: linear-gradient(135deg, #02132f, #0b2f66); }
.kp-video-grid { position: relative; z-index: 1; display: grid; grid-template-columns: 1.1fr 0.9fr; gap: var(--sp-5); align-items: center; }
.kp-video-card { position: relative; aspect-ratio: 16 / 9; border-radius: 22px; overflow: hidden; box-shadow: 0 30px 70px rgba(0, 0, 0, 0.55), 0 0 0 1px rgba(255, 255, 255, 0.12); }
.kp-video-card img { width: 100%; height: 100%; object-fit: cover; background: none; transition: transform 0.6s var(--ease-out); }
.kp-video-card:hover img { transform: scale(1.05); }
.kp-video-card .btn-play { position: absolute; inset: 0; margin: auto; }
.kp-video-text { margin-top: var(--sp-2); font-size: var(--fs-body-lg); color: rgba(255, 255, 255, 0.85); }

/* proof */
.kp-stats { display: grid; grid-template-columns: repeat(4, 1fr); margin-bottom: var(--sp-4); background: var(--c-executive-blue); border-radius: 18px; box-shadow: var(--shadow-card); }
.kp-stats > div { text-align: center; padding: var(--sp-3) var(--sp-2); }
.kp-stats > div + div { border-left: 1px solid var(--border-hairline); }
.kp-stats strong { display: block; font-family: var(--font-display); font-weight: 800; font-size: clamp(1.4rem, 1.1rem + 1.1vw, 2.1rem); color: var(--c-action-gold); line-height: 1.1; white-space: nowrap; }
.kp-stats span { display: block; margin-top: 0.3rem; font-size: 0.72rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: rgba(255, 255, 255, 0.8); }
.kp-quotes { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--sp-3); }

/* formats */
.kp-format-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--sp-2); }
.kp-format { padding: var(--sp-3); border-radius: 16px; background: var(--c-soft-gray); border-left: 4px solid var(--c-action-gold); transition: transform var(--dur-base) var(--ease-out), background var(--dur-base); }
.kp-format:hover { transform: translateY(-6px); background: #fff; box-shadow: var(--shadow-card); }
.kp-format h4 { font-size: 0.95rem; color: var(--c-executive-blue); margin-bottom: 0.4rem; }
.kp-format p { font-size: 0.88rem; color: var(--text-on-light-muted); }
.kp-addon { display: flex; align-items: center; gap: var(--sp-4); margin-top: var(--sp-4); padding: var(--sp-4); border-radius: 22px; background: linear-gradient(135deg, var(--c-midnight-navy), #0b2f66); color: #fff; box-shadow: 0 24px 50px rgba(1, 10, 24, 0.3); }
.kp-addon .bk-cover { max-width: 110px; flex-shrink: 0; }
.kp-addon h3 { color: #fff; font-size: 1.2rem; margin: 0.4rem 0; }
.kp-addon p { color: rgba(255, 255, 255, 0.85); max-width: 56ch; }
.kp-addon .bk-link { color: #fff; }

/* working with Mike */
.kp-working { position: relative; overflow: hidden; background: linear-gradient(180deg, #031634, var(--c-midnight-navy)); }
.kp-steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--sp-3); counter-reset: step; }
.kp-steps li { position: relative; text-align: center; padding-inline: var(--sp-1); }
.kp-steps li::after { content: ''; position: absolute; top: 28px; left: calc(50% + 40px); width: calc(100% - 80px + var(--sp-3)); height: 2px; background: repeating-linear-gradient(90deg, rgba(248, 163, 9, 0.7) 0 6px, transparent 6px 12px); }
.kp-steps li:last-child::after { display: none; }
.kp-step-n { display: grid; place-items: center; width: 56px; height: 56px; margin: 0 auto var(--sp-2); border-radius: 50%; background: var(--c-action-gold); color: var(--c-midnight-navy); font-family: var(--font-display); font-weight: 900; font-size: 1.4rem; box-shadow: 0 0 0 6px rgba(248, 163, 9, 0.18), 0 10px 24px rgba(248, 163, 9, 0.35); }
.kp-steps h4 { color: #fff; font-size: 0.98rem; margin-bottom: 0.5rem; }
.kp-steps p { color: rgba(255, 255, 255, 0.78); font-size: 0.9rem; }

/* about + faq */
.kp-about-grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--sp-5); align-items: start; }
.kp-bio { padding: var(--sp-4); border-radius: 22px; background: var(--c-soft-gray); border-top: 4px solid var(--c-action-gold); }
.kp-bio .bk-h2 { color: var(--c-executive-blue); font-size: var(--fs-h3); margin-bottom: var(--sp-2); }
.kp-bio p { color: var(--text-on-light-muted); margin-bottom: var(--sp-2); }
.kp-faq .eyebrow { display: block; }

/* responsive */
@media (max-width: 1100px) {
  .kp-outcome-grid { grid-template-columns: repeat(3, 1fr); }
  .kp-facts { grid-template-columns: repeat(2, 1fr); }
  .kp-facts > div:nth-child(3) { border-left: 0; }
  .kp-facts > div:nth-child(n+3) { border-top: 1px solid var(--border-hairline-light); }
}
@media (max-width: 900px) {
  .kp-hero { padding-top: 0; padding-bottom: 110px; min-height: 0; }
  .kp-hero-bg { position: relative; inset: auto; height: 300px; }
  .kp-hero-bg img { object-position: 84% 18%; }
  .kp-hero-bg::after { background: linear-gradient(180deg, rgba(0, 10, 24, 0) 45%, var(--c-midnight-navy) 100%); }
  .kp-hero-inner { margin-top: -20px; }
  .kp-crumbs { margin-bottom: var(--sp-3); }
  .kp-challenge-grid, .kp-video-grid, .kp-about-grid, .kp-for-grid { grid-template-columns: 1fr; gap: var(--sp-4); }
  .kp-moves-grid { grid-template-columns: 1fr; }
  .kp-get { display: block; padding-block: 0 var(--sp-5); }
  .kp-get-photo { position: relative; width: 100%; height: 240px; margin-bottom: var(--sp-4); -webkit-mask-image: linear-gradient(180deg, #000 55%, transparent); mask-image: linear-gradient(180deg, #000 55%, transparent); }
  .kp-get-grid { grid-template-columns: 1fr; }
  .kp-get-copy { grid-column: 1; }
  .kp-format-grid { grid-template-columns: repeat(2, 1fr); }
  .kp-steps { grid-template-columns: repeat(2, 1fr); row-gap: var(--sp-4); }
  .kp-steps li::after { display: none; }
  .kp-quotes { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .kp-facts { grid-template-columns: 1fr; }
  .kp-facts > div + div { border-left: 0; border-top: 1px solid var(--border-hairline-light); }
  .kp-outcome-grid { grid-template-columns: 1fr; }
  .kp-get-items { grid-template-columns: 1fr; row-gap: var(--sp-3); }
  .kp-get-items > div + div { border-left: 0; padding-left: 0; }
  .kp-stats { grid-template-columns: repeat(2, 1fr); }
  .kp-stats > div:nth-child(3) { border-left: 0; }
  .kp-stats > div:nth-child(n+3) { border-top: 1px solid var(--border-hairline); }
  .kp-format-grid, .kp-steps { grid-template-columns: 1fr; }
  .kp-addon { flex-direction: column; text-align: center; }
  .kp-discover { margin-inline: var(--sp-1); }
  .kp-hero-actions-fix, .kp-hero .bk-hero-actions .btn { white-space: normal; text-align: center; line-height: 1.25; }
}

/* Sales keynote additions (shares .kp-* with the leadership page) */
.kp-hero-sales .kp-hero-bg img { object-position: 86% center; }
.kp-for-grid-3 { grid-template-columns: repeat(3, 1fr); gap: var(--sp-3); }
.kp-for-grid-3 .kp-for-card { padding: var(--sp-3) var(--sp-3) var(--sp-4); }
.kp-photo-crop img { aspect-ratio: 5 / 4; width: 100%; height: auto; object-fit: cover; object-position: 28% center; }
@media (max-width: 1000px) { .kp-for-grid-3 { grid-template-columns: 1fr; } }
@media (max-width: 900px) { .kp-hero-sales .kp-hero-bg img { object-position: 88% 12%; } }

/* Life keynote additions (shares .kp-* with the other keynote pages) */
.kp-hero-life .kp-hero-bg img { object-position: 90% center; }
.kp-hero-life .kp-chips { gap: var(--sp-2) var(--sp-3); }
.kp-hero-life .kp-chips li { font-size: 0.7rem; }
.kp-hero-life .kp-chips svg { width: 30px; height: 30px; }
.kp-photo-right img { aspect-ratio: 1651 / 953; object-position: center; transform-origin: 70% 40%; }
.kp-outcome-grid-6 { grid-template-columns: repeat(3, 1fr); gap: var(--sp-3); }
.kp-outcome-grid-6 .kp-outcome { display: flex; align-items: center; gap: var(--sp-2); padding: var(--sp-3); }
.kp-outcome-grid-6 .kp-oi { margin-bottom: 0; flex-shrink: 0; }
.kp-outcome-grid-6 .kp-outcome h4 { margin: 0; font-size: 1rem; line-height: 1.35; text-transform: none; letter-spacing: 0; }
.kp-format-grid-2 { grid-template-columns: repeat(2, 1fr); }
.kp-get-wide { position: relative; overflow: hidden; padding-block: var(--sp-6); background: #021a3d; }
.kp-get-wide-bg { position: absolute; inset: 0; z-index: 0; }
.kp-get-wide-bg img { width: 100%; height: 100%; object-fit: cover; object-position: center 55%; opacity: 0.28; background: none; }
.kp-get-wide-bg::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, #021a3d, rgba(2, 26, 61, 0.7) 50%, #021a3d); }
.kp-get-wide-inner { position: relative; z-index: 1; }
.kp-get-wide .bk-h2 { color: #fff; }
.kp-get-five { display: grid; grid-template-columns: repeat(5, 1fr); margin-top: var(--sp-2); }
.kp-get-five > div { padding: var(--sp-2) var(--sp-3); text-align: center; transition: transform var(--dur-base) var(--ease-out); }
.kp-get-five > div:hover { transform: translateY(-6px); }
.kp-get-five > div + div { border-left: 1px solid var(--border-hairline); }
.kp-get-five svg { width: 44px; height: 44px; margin: 0 auto var(--sp-2); color: var(--c-action-gold); filter: drop-shadow(0 0 14px rgba(248, 163, 9, 0.45)); }
.kp-get-five h4 { font-size: 0.88rem; letter-spacing: 0.04em; color: #fff; margin-bottom: 0.5rem; }
.kp-get-five p { font-size: 0.86rem; line-height: 1.55; color: rgba(255, 255, 255, 0.78); }
@media (max-width: 1100px) { .kp-get-five { grid-template-columns: repeat(3, 1fr); row-gap: var(--sp-3); } .kp-get-five > div:nth-child(4) { border-left: 0; } }
@media (max-width: 900px) { .kp-outcome-grid-6 { grid-template-columns: repeat(2, 1fr); } .kp-hero-life .kp-hero-bg img { object-position: 88% 10%; } }
@media (max-width: 640px) { .kp-outcome-grid-6 { grid-template-columns: 1fr; } .kp-format-grid-2 { grid-template-columns: 1fr; } .kp-get-five { grid-template-columns: 1fr; } .kp-get-five > div + div { border-left: 0; border-top: 1px solid var(--border-hairline); } }
.kp-photo-right + .kp-discover { margin-top: -18px; }

/* -------------------------------------------------------------------------
   Authority Fingerprint page (.ap-*) — flagship keynote for entrepreneurs
   ------------------------------------------------------------------------- */
.kp-hero-ap .kp-hero-bg img { object-position: 88% center; }
.ap-rings { position: absolute; z-index: 0; pointer-events: none; border-radius: 50%;
  background: repeating-radial-gradient(ellipse 100% 130% at 50% 52%, transparent 0 10px, rgba(248, 163, 9, 0.30) 10px 11.5px);
  -webkit-mask-image: radial-gradient(closest-side, #000 25%, transparent 78%); mask-image: radial-gradient(closest-side, #000 25%, transparent 78%);
  animation: ap-breathe 9s ease-in-out infinite alternate; }
.ap-rings-hero { right: 4%; top: 12%; width: 620px; height: 700px; opacity: 0.55; z-index: 1; mix-blend-mode: screen; }
@keyframes ap-breathe { from { transform: scale(0.96); opacity: 0.8; } to { transform: scale(1.06); opacity: 1; } }
.ap-attrib { margin-top: 0.6rem; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; font-size: 0.85rem; color: var(--c-action-gold); }
.ap-attrib span { display: block; margin-top: 0.15rem; font-weight: 600; letter-spacing: 0.04em; text-transform: none; font-size: 0.8rem; color: rgba(255, 255, 255, 0.75); }

.ap-book-stage { position: relative; z-index: 1; display: grid; place-items: center; padding: var(--sp-4) 0 calc(var(--sp-4) + 22px);
  border-radius: 22px; overflow: hidden; background: radial-gradient(70% 90% at 50% 40%, #12408f, #06204a 60%, #031634);
  box-shadow: 0 30px 60px rgba(1, 10, 24, 0.35); }
.ap-book-stage .ap-rings { inset: 0; width: 100%; height: 100%; opacity: 0.5; }
.ap-book-stage .bk-cover { position: relative; z-index: 2; max-width: 230px; }
.ap-book-stage .bk-cover img { box-shadow: 0 30px 60px rgba(0, 0, 0, 0.6), 0 0 60px rgba(248, 163, 9, 0.25); }
.ap-stage-tag { position: absolute; z-index: 3; top: var(--sp-2); left: var(--sp-2); margin: 0; }
.ap-book-stage + .kp-discover { margin-top: -26px; }

.ap-library { position: relative; overflow: hidden; padding-block: var(--sp-6); background: linear-gradient(180deg, #031634, var(--c-midnight-navy)); }
.ap-library > .container { position: relative; z-index: 1; }
.ap-library .bk-h2 { color: #fff; }
.ap-library .bk-series-head p:not(.eyebrow) { color: rgba(255, 255, 255, 0.8); }
.ap-lib-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--sp-3); }
.ap-lib-card { position: relative; display: flex; flex-direction: column; align-items: flex-start; padding: var(--sp-3); border-radius: 20px; background: linear-gradient(160deg, rgba(255,255,255,0.08), rgba(255,255,255,0.02)); border: 1px solid var(--border-hairline); backdrop-filter: blur(8px);
  transition: transform var(--dur-base) var(--ease-out), box-shadow var(--dur-base), border-color var(--dur-base); }
.ap-lib-card:hover { transform: translateY(-8px); border-color: rgba(248, 163, 9, 0.55); box-shadow: 0 28px 56px rgba(0, 0, 0, 0.5); }
.ap-lib-current { border-color: rgba(248, 163, 9, 0.7); box-shadow: 0 0 0 1px rgba(248, 163, 9, 0.25), 0 0 40px rgba(248, 163, 9, 0.12); }
.ap-lib-tag { display: inline-block; margin-bottom: var(--sp-2); padding: 0.28rem 0.7rem; border-radius: var(--radius-pill); background: rgba(248, 163, 9, 0.16); color: var(--c-action-gold); font-size: 0.66rem; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; }
.ap-lib-current .ap-lib-tag { background: var(--c-action-gold); color: var(--c-midnight-navy); }
.ap-lib-card .bk-cover { max-width: 130px; margin: 0 0 var(--sp-2); }
.ap-lib-card h3 { color: #fff; font-size: 1.05rem; margin-bottom: 0.5rem; }
.ap-lib-card p { color: rgba(255, 255, 255, 0.78); font-size: 0.9rem; flex: 1; }
.ap-lib-card .bk-link { color: #fff; }
.ap-fan { position: relative; width: 150px; height: 195px; margin: 0 0 var(--sp-2); }
.ap-fan img { position: absolute; top: 0; width: 88px; height: auto; border-radius: 3px; box-shadow: 0 14px 28px rgba(0, 0, 0, 0.5); background: none; transition: transform 0.4s var(--ease-out); }
.ap-fan img:nth-child(1) { left: 0; top: 24px; transform: rotate(-9deg); z-index: 1; }
.ap-fan img:nth-child(2) { left: 30px; z-index: 3; }
.ap-fan img:nth-child(3) { left: 62px; top: 24px; transform: rotate(9deg); z-index: 2; }
.ap-lib-card:hover .ap-fan img:nth-child(1) { transform: rotate(-16deg) translateX(-8px); }
.ap-lib-card:hover .ap-fan img:nth-child(3) { transform: rotate(16deg) translateX(8px); }
.kp-format-grid-3 { grid-template-columns: repeat(3, 1fr); }
.ap-note { margin-top: var(--sp-4); text-align: center; color: var(--text-on-light-muted); }
.ap-note a { color: var(--c-executive-blue); font-weight: 700; border-bottom: 2px solid var(--c-action-gold); }

/* Speaking Programs index: flagship banner */
.ap-flag { display: grid; grid-template-columns: 200px 1fr; gap: var(--sp-5); align-items: center; margin-top: var(--sp-4); padding: var(--sp-4) var(--sp-5); border-radius: 24px; color: #fff; position: relative; overflow: hidden;
  background: radial-gradient(60% 120% at 0% 50%, #12408f, transparent 70%), linear-gradient(135deg, #031634, #0b2f66); box-shadow: 0 26px 56px rgba(1, 10, 24, 0.28); transition: transform var(--dur-base) var(--ease-out); }
.ap-flag:hover { transform: translateY(-5px); }
.ap-flag .bk-cover { max-width: 190px; }
.ap-flag h3 { color: #fff; font-size: clamp(1.3rem, 1.1rem + 0.8vw, 1.8rem); margin: 0.4rem 0 0.5rem; }
.ap-flag p { color: rgba(255, 255, 255, 0.85); max-width: 60ch; }
.ap-flag .bk-link { color: #fff; margin-top: var(--sp-2); }
@media (max-width: 1100px) { .ap-lib-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 900px) { .ap-rings-hero { display: none; } .kp-format-grid-3 { grid-template-columns: 1fr; } .ap-flag { grid-template-columns: 1fr; text-align: center; padding: var(--sp-4); } .ap-flag .bk-cover { margin-inline: auto; } .ap-flag p { margin-inline: auto; } }
@media (max-width: 640px) { .ap-lib-grid { grid-template-columns: 1fr; } }

/* Built to Be Chosen additions (.bc-*; shares .kp-* with the other keynote pages) */
.kp-hero-bc .kp-hero-bg img { object-position: 100% center; }
.kp-hero-bc .kp-chips { gap: var(--sp-2) var(--sp-3); }
.bc-crowd { position: relative; z-index: 1; padding: var(--sp-4); border-radius: 22px; text-align: center; overflow: hidden;
  background: radial-gradient(80% 90% at 50% 45%, #14398a, #06204a 62%, #031634); box-shadow: 0 30px 60px rgba(1, 10, 24, 0.35); }
.bc-crowd-label, .bc-crowd-chosen { display: block; font-size: 0.72rem; font-weight: 800; letter-spacing: 0.14em; text-transform: uppercase; color: rgba(255, 255, 255, 0.7); }
.bc-crowd-chosen { color: var(--c-action-gold); margin-top: var(--sp-2); }
.bc-dots { display: grid; grid-template-columns: repeat(8, 1fr); gap: 14px; max-width: 360px; margin: var(--sp-3) auto 0; padding-bottom: 6px; }
.bc-dots i { position: relative; display: block; aspect-ratio: 1; border-radius: 50%; background: rgba(255, 255, 255, 0.16); }
.bc-dots i::after { content: ''; position: absolute; left: 50%; top: 58%; width: 120%; height: 62%; transform: translateX(-50%); border-radius: 50% 50% 0 0; background: inherit; z-index: -1; }
.bc-dots i.is-chosen { background: var(--c-action-gold); box-shadow: 0 0 0 5px rgba(248, 163, 9, 0.25), 0 0 34px 8px rgba(248, 163, 9, 0.6); animation: bc-chosen 2.6s ease-in-out infinite; transform: scale(1.25); z-index: 2; }
.bc-dots i.is-chosen::after { background: var(--c-action-gold); }
@keyframes bc-chosen { 0%, 100% { box-shadow: 0 0 0 5px rgba(248, 163, 9, 0.25), 0 0 26px 6px rgba(248, 163, 9, 0.5); } 50% { box-shadow: 0 0 0 12px rgba(248, 163, 9, 0.1), 0 0 48px 14px rgba(248, 163, 9, 0.75); } }
.bc-crowd + .kp-discover { margin-top: -26px; }
.bc-phases { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-top: var(--sp-2); }
.bc-phases li { padding: 0.35rem 0.85rem; border-radius: var(--radius-pill); border: 1px solid rgba(248, 163, 9, 0.7); background: rgba(248, 163, 9, 0.12); color: #fff; font-size: 0.74rem; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; }
.kp-hero-bc .kp-chips li { font-size: 0.7rem; }
.kp-get-wide-bg img { object-position: center 38%; }

/* Built to Be Chosen portrait hero: seated portrait under a spotlight, gold ring like the book cover */
.kp-hero-bc-p .kp-hero-bg { background: radial-gradient(55% 75% at 76% 48%, rgba(23, 78, 154, 0.55), transparent 70%), radial-gradient(40% 50% at 76% 45%, rgba(248, 163, 9, 0.12), transparent 70%), #020c1f; }
.bc-portrait { position: absolute; right: 6%; bottom: 0; height: 100%; aspect-ratio: 864 / 1184; }
.bc-portrait img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; background: none; filter: saturate(1.08) contrast(1.06) brightness(1.1); transform: scale(1.16); transform-origin: 50% 38%;
  -webkit-mask-image: radial-gradient(ellipse 50% 54% at 50% 54%, #000 52%, transparent 100%); mask-image: radial-gradient(ellipse 50% 54% at 50% 54%, #000 52%, transparent 100%); }
.bc-ring { position: absolute; left: 50%; top: 47%; width: 118%; aspect-ratio: 1; translate: -50% -50%; border-radius: 50%; pointer-events: none;
  border: 2px solid rgba(248, 163, 9, 0.85); box-shadow: 0 0 46px rgba(248, 163, 9, 0.45), inset 0 0 70px rgba(248, 163, 9, 0.2); animation: bc-ring 6s ease-in-out infinite alternate; }
.bc-ring::before { content: ""; position: absolute; inset: 6%; border-radius: 50%; border: 1px dashed rgba(248, 163, 9, 0.5); animation: bc-spin 60s linear infinite; }
@keyframes bc-ring { from { box-shadow: 0 0 34px rgba(248, 163, 9, 0.35), inset 0 0 50px rgba(248, 163, 9, 0.14); } to { box-shadow: 0 0 64px rgba(248, 163, 9, 0.6), inset 0 0 90px rgba(248, 163, 9, 0.26); } }
@keyframes bc-spin { to { transform: rotate(360deg); } }
@media (max-width: 1100px) { .bc-portrait { right: 0; } }
@media (max-width: 900px) {
  .kp-hero-bc-p .kp-hero-bg { background: radial-gradient(70% 90% at 50% 40%, rgba(23, 78, 154, 0.6), transparent 70%), #020c1f; }
  .bc-portrait { right: auto; left: 50%; translate: -50% 0; height: 100%; }
  .bc-ring { top: 36%; width: 100%; }
  .bc-portrait img { transform: scale(1.75); transform-origin: 50% 24%; -webkit-mask-image: radial-gradient(ellipse 34% 36% at 50% 34%, #000 55%, transparent 100%); mask-image: radial-gradient(ellipse 34% 36% at 50% 34%, #000 55%, transparent 100%); }
}

/* Instant Authority Now additions (.ian-*; shares .kp-* with the other keynote pages) */
.kp-hero-ian .kp-hero-bg img { object-position: 88% center; }
/* keep the head clear of the top edge: anchor to the top and drop the photo down a little */
@media (min-width: 901px) {
  .kp-hero-ian .kp-hero-bg img { position: absolute; top: 8%; left: 0; height: 92%; object-position: 88% top;
    -webkit-mask-image: linear-gradient(180deg, transparent 0, #000 7%); mask-image: linear-gradient(180deg, transparent 0, #000 7%); }
}
.kp-hero-ian h1 { font-size: clamp(2.2rem, 1.1rem + 3.4vw, 4.1rem); }
.kp-hero-ian h1 em { font-style: normal; background: linear-gradient(100deg, #f8a309 30%, #ffe3a1 48%, #f8a309 66%); background-size: 240% 100%; -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: var(--c-action-gold); animation: ian-shine 5.5s ease-in-out infinite; filter: drop-shadow(0 0 22px rgba(248, 163, 9, 0.35)); }
@keyframes ian-shine { 0%, 12% { background-position: 100% 0; } 60%, 100% { background-position: 0 0; } }
.kp-hero-ian .kp-chips { gap: var(--sp-2) var(--sp-4); }
.ian-beam { position: absolute; top: -14%; width: 190px; height: 130%; z-index: 1; pointer-events: none; mix-blend-mode: screen; filter: blur(26px); background: linear-gradient(180deg, rgba(120, 175, 255, 0.5), rgba(120, 175, 255, 0) 72%); transform-origin: 50% 0; }
.ian-beam-1 { right: 30%; animation: ian-sway 9s ease-in-out infinite alternate; }
.ian-beam-2 { right: 8%; width: 150px; opacity: 0.8; animation: ian-sway 11s ease-in-out -4s infinite alternate-reverse; }
@keyframes ian-sway { from { transform: rotate(-14deg); } to { transform: rotate(10deg); } }

/* challenge: the spotlight reveals the expert (unseen -> seen) */
@property --ian-r { syntax: '<percentage>'; inherits: false; initial-value: 0%; }
.ian-spot { margin: 0; }
.ian-spot img { aspect-ratio: 5 / 4; width: 100%; height: auto; object-fit: cover; object-position: 52% center; transform: none; filter: grayscale(0.85) brightness(0.5); transition: filter 2.2s ease 0.3s; }
.ian-spot::after { content: ''; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(circle at 52% 52%, transparent var(--ian-r), rgba(1, 8, 20, 0.94) calc(var(--ian-r) + 30%)); transition: --ian-r 2.6s ease 0.3s; }
.ian-spot.is-visible img { filter: none; }
.ian-spot.is-visible::after { --ian-r: 70%; }
.ian-spot figcaption { position: absolute; left: 0; right: 0; bottom: 0; z-index: 2; padding: 56px var(--sp-3) 60px; font-family: var(--font-display); font-weight: 800; font-size: 0.82rem; letter-spacing: 0.1em; text-transform: uppercase; color: #fff; background: linear-gradient(180deg, transparent, rgba(1, 8, 20, 0.9)); text-align: left; }
.ian-spot-tag { position: absolute; top: 16px; left: 16px; z-index: 3; display: grid; padding: 0.35rem 0.85rem; border-radius: var(--radius-pill); background: rgba(1, 8, 20, 0.7); border: 1px solid rgba(255, 255, 255, 0.35); font-size: 0.72rem; letter-spacing: 0.16em; text-transform: uppercase; }
.ian-spot-tag b { grid-area: 1 / 1; transition: opacity 0.6s ease 1.6s; }
.ian-spot-tag .t-unseen { color: rgba(255, 255, 255, 0.75); }
.ian-spot-tag .t-seen { color: var(--c-action-gold); opacity: 0; }
.ian-spot.is-visible .t-unseen { opacity: 0; }
.ian-spot.is-visible .t-seen { opacity: 1; }
.ian-spot + .kp-discover { margin-top: -50px; }

/* 7 layers: a rising staircase of cards */
.ian-layers-sec .kp-get-wide-bg img { object-position: center 40%; opacity: 0.34; }
.ian-layers { display: grid; grid-template-columns: repeat(7, 1fr); gap: 12px; align-items: start; margin-top: var(--sp-3); padding-bottom: var(--sp-1); }
.ian-layer { position: relative; margin-top: calc((7 - var(--n)) * 24px); padding: var(--sp-3) var(--sp-2) var(--sp-2); border-radius: 16px; background: linear-gradient(180deg, rgba(255, 255, 255, 0.09), rgba(255, 255, 255, 0.03)); border: 1px solid rgba(255, 255, 255, 0.14); border-top: 3px solid rgba(248, 163, 9, calc(0.25 + var(--n) * 0.1)); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); transition: transform var(--dur-base) var(--ease-out), box-shadow var(--dur-base), background var(--dur-base); transition-delay: calc(var(--n) * 40ms), 0s, 0s, 0s; }
.ian-layer:hover { transform: translateY(-8px); box-shadow: 0 22px 44px rgba(0, 0, 0, 0.4), 0 0 30px rgba(248, 163, 9, 0.18); transition-delay: 0s; }
.ian-lnum { position: absolute; top: 10px; right: 12px; font-family: var(--font-display); font-weight: 800; font-size: 0.8rem; letter-spacing: 0.1em; color: rgba(255, 255, 255, 0.4); }
.ian-licon svg { width: 42px; height: 42px; color: var(--c-action-gold); filter: drop-shadow(0 0 14px rgba(248, 163, 9, 0.5)); margin-bottom: var(--sp-2); }
.ian-layer h3 { font-size: 0.98rem; letter-spacing: 0.04em; text-transform: uppercase; color: #fff; margin-bottom: 0.4rem; }
.ian-layer p { font-size: 0.82rem; line-height: 1.5; color: rgba(255, 255, 255, 0.8); min-height: 5.6em; }
.ian-pips { display: flex; gap: 4px; margin-top: var(--sp-2); }
.ian-pips i { flex: 1; height: 5px; border-radius: 3px; background: rgba(255, 255, 255, 0.16); transition: background 0.5s ease, box-shadow 0.5s ease; }
.ian-layer.is-visible .ian-pips i.on { background: var(--c-action-gold); box-shadow: 0 0 10px rgba(248, 163, 9, 0.7); transition-delay: calc(var(--k) * 110ms + 300ms); }
.ian-layer.is-top { background: linear-gradient(160deg, #ffc14d, #f8a309 55%, #d98700); border-color: rgba(255, 224, 150, 0.8); box-shadow: 0 20px 50px rgba(248, 163, 9, 0.35), 0 0 60px rgba(248, 163, 9, 0.25); animation: ian-top 3.4s ease-in-out infinite; }
.ian-layer.is-top h3, .ian-layer.is-top p, .ian-layer.is-top .ian-lnum { color: #04132b; }
.ian-layer.is-top .ian-licon svg { color: #04132b; filter: none; }
.ian-layer.is-top .ian-pips i, .ian-layer.is-top.is-visible .ian-pips i.on { background: #04132b; box-shadow: none; }
@keyframes ian-top { 0%, 100% { box-shadow: 0 20px 50px rgba(248, 163, 9, 0.3), 0 0 40px rgba(248, 163, 9, 0.2); } 50% { box-shadow: 0 24px 60px rgba(248, 163, 9, 0.5), 0 0 80px rgba(248, 163, 9, 0.4); } }
.ian-climb { display: flex; align-items: center; gap: var(--sp-2); justify-content: center; margin-top: var(--sp-3); font-size: 0.74rem; font-weight: 800; letter-spacing: 0.18em; text-transform: uppercase; color: rgba(255, 255, 255, 0.7); }
.ian-climb span { flex: 0 1 140px; height: 1px; background: linear-gradient(90deg, transparent, var(--c-action-gold)); }
.ian-climb span:last-child { background: linear-gradient(270deg, transparent, var(--c-action-gold)); }

/* the Fame Factor explainer + media trifecta */
.ian-fame-grid { display: grid; grid-template-columns: 1.05fr 0.95fr; gap: var(--sp-6); align-items: center; }
.ian-fame p:not(.eyebrow):not(.ian-flow-label):not(.ian-flow-note) { color: var(--text-on-light-muted); margin-top: var(--sp-2); max-width: 56ch; }
.ian-flow-label { margin-top: var(--sp-3); font-size: 0.74rem; font-weight: 800; letter-spacing: 0.14em; text-transform: uppercase; color: var(--c-executive-blue); }
.ian-flow { display: flex; flex-wrap: wrap; gap: 6px; margin-top: var(--sp-1); counter-reset: f; }
.ian-flow li { counter-increment: f; position: relative; padding: 0.55rem 1.1rem 0.55rem 0.9rem; border-radius: var(--radius-pill); background: linear-gradient(135deg, var(--c-executive-blue), #0a2a5c); color: #fff; font-weight: 800; font-size: 0.8rem; letter-spacing: 0.06em; text-transform: uppercase; display: flex; align-items: center; gap: 0.5rem; }
.ian-flow li::before { content: counter(f); display: grid; place-items: center; width: 1.4rem; height: 1.4rem; border-radius: 50%; background: var(--c-action-gold); color: #04132b; font-size: 0.72rem; }
.ian-flow li + li::after { content: ''; position: absolute; left: -10px; top: 50%; width: 10px; height: 2px; background: var(--c-action-gold); }
.ian-flow-note { margin-top: 0.6rem; font-size: 0.85rem; font-weight: 700; color: var(--text-on-light-muted); font-style: italic; }
.ian-venn { position: relative; aspect-ratio: 1; max-width: 460px; margin-inline: auto; border-radius: 28px; background: radial-gradient(70% 70% at 50% 45%, #0b2f66, #031634 80%); box-shadow: 0 30px 60px rgba(1, 10, 24, 0.35); overflow: hidden; }
.ian-c { position: absolute; width: 58%; aspect-ratio: 1; border-radius: 50%; mix-blend-mode: screen; transform: scale(0.6); opacity: 0; transition: transform 1.1s var(--ease-out), opacity 0.9s ease; }
.is-visible .ian-c { transform: scale(1); opacity: 1; animation: ian-breathe 6s ease-in-out 1.2s infinite alternate; }
.ian-c-rented { left: 4%; top: 3%; background: radial-gradient(circle, rgba(70, 130, 255, 0.75), rgba(40, 90, 220, 0.4)); border: 2px solid rgba(140, 180, 255, 0.7); }
.ian-c-owned { left: 38%; top: 3%; background: radial-gradient(circle, rgba(120, 90, 255, 0.6), rgba(70, 60, 200, 0.35)); border: 2px solid rgba(170, 150, 255, 0.7); transition-delay: 0.15s; }
.ian-c-earned { left: 21%; top: 33%; background: radial-gradient(circle, rgba(248, 163, 9, 0.8), rgba(220, 120, 0, 0.45)); border: 2px solid rgba(255, 210, 120, 0.85); transition-delay: 0.3s; }
.is-visible .ian-c-owned { animation-delay: 1.8s; }
.is-visible .ian-c-earned { animation-delay: 2.4s; }
@keyframes ian-breathe { from { transform: scale(1); } to { transform: scale(1.05); } }
.ian-vl { position: absolute; z-index: 2; transform: translate(-50%, -50%); text-align: center; color: #fff; font-family: var(--font-display); font-size: 0.95rem; letter-spacing: 0.08em; text-transform: uppercase; line-height: 1.1; width: 24%; text-shadow: 0 2px 8px rgba(0, 0, 0, 0.6); }
.ian-vl small { display: block; margin-top: 0.3rem; font-family: var(--font-body); font-size: 0.64rem; font-weight: 600; letter-spacing: 0; text-transform: none; opacity: 0.88; line-height: 1.25; }
.ian-vl-rented { left: 22%; top: 21%; } .ian-vl-owned { left: 78%; top: 21%; } .ian-vl-earned { left: 50%; top: 82%; }
.ian-vcore { position: absolute; z-index: 3; left: 50%; top: 43%; transform: translate(-50%, -50%); display: grid; place-items: center; width: 22%; aspect-ratio: 1; border-radius: 50%; background: #fff; color: #04132b; font-family: var(--font-display); font-weight: 800; font-size: 0.72rem; line-height: 1.05; letter-spacing: 0.06em; text-transform: uppercase; text-align: center; box-shadow: 0 0 0 6px rgba(255, 255, 255, 0.18), 0 0 50px 14px rgba(255, 230, 160, 0.7); animation: ian-core 3s ease-in-out infinite; }
@keyframes ian-core { 0%, 100% { box-shadow: 0 0 0 6px rgba(255, 255, 255, 0.18), 0 0 40px 10px rgba(255, 230, 160, 0.55); } 50% { box-shadow: 0 0 0 12px rgba(255, 255, 255, 0.08), 0 0 70px 20px rgba(255, 230, 160, 0.85); } }
.ian-venn-cap { max-width: 460px; margin: var(--sp-2) auto 0; text-align: center; font-size: 0.88rem; color: var(--text-on-light-muted); }

/* take-home tools + amplify loop */
.ian-tool-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--sp-2); }
.ian-tool { padding: var(--sp-3); border-radius: 16px; background: #fff; border-top: 3px solid var(--c-action-gold); box-shadow: var(--shadow-card); transition: transform var(--dur-base) var(--ease-out), box-shadow var(--dur-base); }
.ian-tool:hover { transform: translateY(-8px); box-shadow: 0 24px 48px rgba(1, 10, 24, 0.18); }
.ian-tool svg { width: 40px; height: 40px; color: var(--c-executive-blue); margin-bottom: var(--sp-2); }
.ian-tool h4 { font-size: 0.98rem; color: var(--c-executive-blue); margin-bottom: 0.4rem; }
.ian-tool p { font-size: 0.88rem; color: var(--text-on-light-muted); }
.ian-amp { margin-top: var(--sp-4); padding: var(--sp-4); border-radius: 22px; color: #fff; background: radial-gradient(60% 120% at 85% 0%, rgba(248, 163, 9, 0.18), transparent 60%), linear-gradient(135deg, var(--c-midnight-navy), #0b2f66); box-shadow: 0 24px 50px rgba(1, 10, 24, 0.3); }
.ian-amp h3 { color: #fff; font-size: clamp(1.15rem, 0.9rem + 1vw, 1.6rem); max-width: 30ch; }
.ian-amp h3 em { color: var(--c-action-gold); font-style: normal; }
.ian-amp-bar { display: flex; height: 44px; margin: var(--sp-3) 0 var(--sp-2); border-radius: 12px; overflow: hidden; font-family: var(--font-display); font-weight: 800; letter-spacing: 0.08em; }
.ian-amp-bar span { display: flex; align-items: center; padding-inline: var(--sp-2); }
.ian-amp-bar .a20 { flex: 0 0 20%; background: rgba(255, 255, 255, 0.18); color: #fff; }
.ian-amp-bar .a80 { flex: 1; justify-content: flex-end; background: linear-gradient(90deg, #f8a309, #ffc14d); color: #04132b; transform-origin: left; }
.ian-amp.is-visible .a80 { animation: ian-grow 1.6s var(--ease-out) 0.3s both; }
@keyframes ian-grow { from { transform: scaleX(0.05); } to { transform: scaleX(1); } }
.ian-amp p { color: rgba(255, 255, 255, 0.85); max-width: 70ch; }

.ian-addon .bk-inside { margin: var(--sp-2) 0 var(--sp-1); }
.ian-addon .bk-inside li { color: rgba(255, 255, 255, 0.88); }
.ian-addon .bk-cover { max-width: 170px; }
.ian-layers-sec .bk-series-head p { color: rgba(255, 255, 255, 0.82); }

@media (max-width: 1180px) {
  .ian-layers { grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); }
  .ian-layer { margin-top: 0; }
  .ian-layer p { min-height: 0; }
  .ian-tool-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 900px) {
  .kp-hero-ian .kp-hero-bg img { object-position: 100% 18%; }
  .ian-fame-grid { grid-template-columns: 1fr; gap: var(--sp-4); }
  .ian-beam { display: none; }
  .ian-amp { padding: var(--sp-3); }
}
@media (max-width: 560px) {
  .ian-tool-grid { grid-template-columns: 1fr; }
  .ian-layers { grid-template-columns: 1fr 1fr; gap: 10px; }
  .ian-layer.is-top { grid-column: 1 / -1; }
  .ian-vl { font-size: 0.78rem; } .ian-vl small { font-size: 0.56rem; }
  .ian-vcore { font-size: 0.6rem; }
}

/* Fame Pyramid (seven-level stepped pyramid, climbs from navy to gold) */
.fp-pyr { list-style: none; margin: var(--sp-4) auto 0; padding: 0; display: grid; gap: 5px; max-width: 1020px; }
.fp-row { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); align-items: center; gap: var(--sp-5); }
.fp-tier { display: flex; flex-direction: column; align-items: center; justify-content: center; height: 66px; padding-inline: 4px; text-align: center; color: #fff; line-height: 1.1;
  clip-path: polygon(calc(var(--hi) * 1%) 0, calc(100% - var(--hi) * 1%) 0, calc(100% - var(--lo) * 1%) 100%, calc(var(--lo) * 1%) 100%);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.16), rgba(255, 255, 255, 0) 55%), var(--tc, #1c55b0);
  opacity: 0; transform: translateY(18px) scaleX(0.86); transition: opacity 0.7s ease, transform 0.8s var(--ease-out); transition-delay: calc(var(--k) * 130ms); }
.fp-pyr.is-visible .fp-tier { opacity: 1; transform: none; animation: fp-lit 10s ease-in-out 1.4s infinite; animation-delay: calc(var(--k) * 1.15s + 1.4s); }
@keyframes fp-lit { 0%, 13%, 100% { filter: none; } 6% { filter: brightness(1.45) saturate(1.2); } }
.fp-row[value="1"] { --tc: #0f3a80; } .fp-row[value="2"] { --tc: #15479a; } .fp-row[value="3"] { --tc: #1c55b0; } .fp-row[value="4"] { --tc: #2563c4; }
.fp-row[value="5"] { --tc: #3f78d2; } .fp-row[value="6"] { --tc: #f0a10f; } .fp-row[value="7"] { --tc: #ffc14d; }
.fp-row[value="6"] .fp-tier, .fp-row[value="7"] .fp-tier { color: #04132b; }
.fp-lvl { font-size: 0.6rem; font-weight: 800; letter-spacing: 0.16em; text-transform: uppercase; opacity: 0.8; margin-bottom: 3px; }
.fp-tier b { font-family: var(--font-display); font-size: 0.84rem; letter-spacing: 0.05em; text-transform: uppercase; }
.fp-row p { margin: 0; padding-left: var(--sp-2); border-left: 3px solid var(--c-action-gold); color: rgba(255, 255, 255, 0.88); font-size: 0.98rem; opacity: 0; transform: translateX(-10px); transition: opacity 0.7s ease, transform 0.7s var(--ease-out); transition-delay: calc(var(--k) * 130ms + 250ms); }
.fp-pyr.is-visible .fp-row p { opacity: 1; transform: none; }
.fp-cap { margin-top: var(--sp-3); text-align: center; font-family: var(--font-display); font-weight: 800; font-size: 0.86rem; letter-spacing: 0.16em; text-transform: uppercase; color: var(--c-action-gold); }
@media (max-width: 760px) {
  .fp-row { grid-template-columns: 1fr; gap: 8px; margin-bottom: 10px; }
  .fp-tier { clip-path: none; width: calc(100% - var(--k) * 6%); margin-inline: auto; border-radius: 12px; }
  .fp-row p { border-left: 0; padding-left: 0; text-align: center; font-size: 0.9rem; transform: none; }
}
.ian-pyr .bk-series-head p { color: rgba(255, 255, 255, 0.84); }

/* Fame Pyramid, SVG version (desktop and tablet); the stacked list above is the phone version */
.fp-stage { position: relative; max-width: 900px; margin: var(--sp-4) auto 0; }
.fp-svg { position: relative; z-index: 1; display: block; width: 100%; height: auto; overflow: visible; }
.fp-t { cursor: default; opacity: 0; transform: translateY(26px); transition: opacity 0.8s ease, transform 0.9s var(--ease-out); transition-delay: calc(var(--k) * 150ms); outline: none; }
.fp-stage.is-visible .fp-t { opacity: 1; transform: none; }
.fp-stage.is-visible .fp-t polygon { animation: fp-lit 10s ease-in-out infinite; animation-delay: calc(var(--k) * 1.05s + 1.6s); }
.fp-t:hover polygon, .fp-t:focus-visible polygon { filter: brightness(1.22) saturate(1.15); animation: none; }
.fpt { font-family: var(--font-display); font-weight: 800; letter-spacing: 0.04em; fill: #fff; pointer-events: none; }
.fpt-dark { fill: #04132b; }
.fp-side { font-family: var(--font-display); font-weight: 800; text-transform: uppercase; }
.fp-side-l { font-size: 21px; letter-spacing: 0.1em; fill: #ffc14d; }
.fp-side-r { font-size: 18px; letter-spacing: 0.07em; fill: #cfe0ff; }
.fp-flow { stroke-dasharray: 3 30; animation: fp-dash 1.6s linear infinite; opacity: 0.9; }
.fp-flow-r { animation-duration: 2.2s; }
@keyframes fp-dash { to { stroke-dashoffset: -66; } }
.fp-halo { transform-box: fill-box; transform-origin: center; animation: fp-halo 3.4s ease-in-out infinite; }
@keyframes fp-halo { 0%, 100% { transform: scale(0.8); opacity: 0.55; } 50% { transform: scale(1.35); opacity: 1; } }
.fp-base-glow { opacity: 0.8; }
.fp-foot { font-family: var(--font-display); font-weight: 800; font-size: 34px; letter-spacing: 0.06em; fill: #fff; }
.fp-m-note { display: none; }
@media (min-width: 761px) { .fp-pyr { display: none; } }
@media (max-width: 760px) {
  .fp-stage { display: none; }
  .fp-m-note { display: block; text-align: center; margin: var(--sp-3) 0 0; font-family: var(--font-display); font-weight: 800; font-size: 0.82rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--c-action-gold); }
  .fp-m-bot { margin: var(--sp-1) 0 0; color: #fff; }
  .fp-pyr { margin-top: var(--sp-2); }
  .fp-row { margin-bottom: 8px; }
}

/* =====================================================================
   Shared keynote effects (.fx-*) + AEO blocks, used on all six keynote pages
   ===================================================================== */
.kp-hero:not(.kp-hero-ian) h1 span { background: linear-gradient(100deg, #f8a309 30%, #ffe3a1 48%, #f8a309 66%); background-size: 240% 100%; -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; text-shadow: none; animation: ian-shine 5.5s ease-in-out infinite; filter: drop-shadow(0 0 22px rgba(248, 163, 9, 0.35)); }
.kp-hero .ian-beam-1 { right: 30%; } .kp-hero .ian-beam-2 { right: 8%; }
.kp-sparks { position: absolute; inset: 0; z-index: 1; pointer-events: none; overflow: hidden; }
.kp-sparks i { position: absolute; bottom: -12px; width: 4px; height: 4px; border-radius: 50%; background: #ffd36b; box-shadow: 0 0 10px 2px rgba(248, 163, 9, 0.7); opacity: 0; animation: fx-spark 10s linear infinite; }
.kp-sparks i:nth-child(1) { left: 6%; animation-delay: 0s; } .kp-sparks i:nth-child(2) { left: 14%; animation-delay: 2.2s; animation-duration: 12s; }
.kp-sparks i:nth-child(3) { left: 23%; animation-delay: 5s; } .kp-sparks i:nth-child(4) { left: 33%; animation-delay: 1.1s; animation-duration: 13s; }
.kp-sparks i:nth-child(5) { left: 45%; animation-delay: 6.5s; } .kp-sparks i:nth-child(6) { left: 56%; animation-delay: 3.4s; animation-duration: 11s; }
.kp-sparks i:nth-child(7) { left: 66%; animation-delay: 8s; } .kp-sparks i:nth-child(8) { left: 74%; animation-delay: 0.6s; animation-duration: 14s; }
.kp-sparks i:nth-child(9) { left: 82%; animation-delay: 4.2s; } .kp-sparks i:nth-child(10) { left: 90%; animation-delay: 7.2s; animation-duration: 12s; }
.kp-sparks i:nth-child(odd) { width: 3px; height: 3px; }
@keyframes fx-spark { 0% { transform: translate(0, 0) scale(0.6); opacity: 0; } 12% { opacity: 0.9; } 100% { transform: translate(34px, -620px) scale(1.2); opacity: 0; } }

.fx-progress { position: fixed; top: 0; left: 0; z-index: 1000; width: 100%; height: 3px; transform-origin: 0 50%; transform: scaleX(var(--p, 0)); background: linear-gradient(90deg, #f8a309, #ffe3a1); box-shadow: 0 0 10px rgba(248, 163, 9, 0.7); pointer-events: none; }

/* cursor-follow glow on cards */
.kp-move::before, .kp-outcome::after, .kp-format::after, .kp-for-card::after, .mm-quote::after, .ian-tool::after, .ian-layer::after { content: ''; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; opacity: 0; transition: opacity 0.3s ease; background: radial-gradient(260px circle at var(--mx, 50%) var(--my, 50%), rgba(248, 163, 9, 0.16), transparent 62%); }
.kp-move:hover::before, .kp-outcome:hover::after, .kp-format:hover::after, .kp-for-card:hover::after, .mm-quote:hover::after, .ian-tool:hover::after, .ian-layer:hover::after { opacity: 1; }
.kp-outcome, .kp-format, .mm-quote, .ian-tool, .ian-layer { position: relative; }

/* gold rule that draws in under section eyebrows */
.bk-series-head .eyebrow::after { content: ''; display: block; width: 0; height: 2px; margin: 8px auto 0; background: linear-gradient(90deg, transparent, #f8a309, transparent); transition: width 0.9s var(--ease-out) 0.25s; }
.bk-series-head.is-visible .eyebrow::after { width: 64px; }

/* moving dashes on the planner-step connectors, shimmer on the quote bar, glow on stats */
.kp-steps li::after { animation: fx-march 1.2s linear infinite; }
@keyframes fx-march { to { background-position: 12px 0; } }
.kp-quote-bar { position: relative; overflow: hidden; }
.kp-quote-bar::after { content: ''; position: absolute; top: 0; bottom: 0; left: -30%; width: 30%; background: linear-gradient(100deg, transparent, rgba(255, 255, 255, 0.09), transparent); animation: fx-sweep 7s ease-in-out infinite; pointer-events: none; }
@keyframes fx-sweep { 0%, 30% { transform: translateX(0); } 70%, 100% { transform: translateX(560%); } }
.kp-stats strong { text-shadow: 0 0 22px rgba(248, 163, 9, 0.5); }
.kp-num { transition: -webkit-text-stroke-color 0.4s, text-shadow 0.4s; }
.kp-move:hover .kp-num { -webkit-text-stroke-color: #ffc14d; text-shadow: 0 0 30px rgba(248, 163, 9, 0.6); }
.kp-oi { animation: fx-oi 3.6s ease-in-out infinite; }
@keyframes fx-oi { 0%, 100% { box-shadow: 0 0 0 0 rgba(248, 163, 9, 0.35); } 50% { box-shadow: 0 0 0 9px rgba(248, 163, 9, 0); } }

/* challenge photo: spotlight reveal (works on any .kp-photo with .fx-spot) */
.fx-spot img { filter: grayscale(0.85) brightness(0.5); transition: filter 2.2s ease 0.3s, transform 0.3s var(--ease-out); }
.fx-spot::after { content: ''; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(circle at 52% 52%, transparent var(--ian-r), rgba(1, 8, 20, 0.94) calc(var(--ian-r) + 30%)); transition: --ian-r 2.6s ease 0.3s; }
.fx-spot.is-visible img { filter: none; }
.fx-spot.is-visible::after { --ian-r: 70%; }

/* Quick Answer block (answer-first summary for search and AI answer engines) */
.kp-answer { padding-block: var(--sp-5) var(--sp-1); }
.kp-answer-card { position: relative; display: grid; grid-template-columns: auto 1fr auto; gap: var(--sp-3); align-items: center; padding: var(--sp-3) var(--sp-4); border-radius: 20px; background: linear-gradient(135deg, #f4f8ff, #fff 60%); border: 1px solid var(--border-hairline-light); border-left: 5px solid var(--c-action-gold); box-shadow: var(--shadow-card); }
.kp-answer-badge { display: inline-flex; align-items: center; gap: 0.5rem; padding: 0.4rem 0.9rem; border-radius: var(--radius-pill); background: var(--c-midnight-navy); color: var(--c-action-gold); font-size: 0.68rem; font-weight: 800; letter-spacing: 0.14em; text-transform: uppercase; white-space: nowrap; }
.kp-answer-badge::before { content: ''; width: 8px; height: 8px; border-radius: 50%; background: var(--c-action-gold); box-shadow: 0 0 10px var(--c-action-gold); animation: fx-oi 2.4s ease-in-out infinite; }
.kp-answer-card h2 { font-size: 1.05rem; line-height: 1.3; color: var(--c-executive-blue); margin: 0 0 0.35rem; font-family: var(--font-display); }
.kp-answer-card p { margin: 0; font-size: 0.97rem; color: var(--c-charcoal); max-width: 78ch; }
.kp-answer-card .bk-link { white-space: nowrap; }

/* Related keynotes (internal linking) */
.kp-related { padding-block: var(--sp-6); }
.kp-related-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--sp-3); margin-top: var(--sp-3); }
.kp-rel-card { position: relative; display: flex; gap: var(--sp-3); align-items: center; padding: var(--sp-3); border-radius: 20px; background: #fff; border: 1px solid var(--border-hairline-light); box-shadow: var(--shadow-card); transition: transform var(--dur-base) var(--ease-out), box-shadow var(--dur-base); }
.kp-rel-card:hover { transform: translateY(-8px); box-shadow: 0 24px 48px rgba(1, 10, 24, 0.16); }
.kp-rel-card img { width: 78px; height: auto; flex-shrink: 0; border-radius: 4px; box-shadow: 0 10px 24px rgba(1, 10, 24, 0.35); background: none; transition: transform 0.4s var(--ease-out); }
.kp-rel-card:hover img { transform: rotate(-4deg) scale(1.06); }
.kp-rel-card h3 { font-size: 1rem; line-height: 1.25; color: var(--c-executive-blue); margin: 0.3rem 0 0.5rem; }
.kp-rel-card .bk-tag { font-size: 0.62rem; }

/* ---- signature visuals ---- */
.fx-sig { padding-block: var(--sp-6); position: relative; overflow: hidden; }
.fx-sig-grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--sp-6); align-items: center; }
.fx-sig p:not(.eyebrow) { color: var(--text-on-light-muted); margin-top: var(--sp-2); max-width: 54ch; }
.fx-sig blockquote { margin: var(--sp-3) 0 0; padding-left: var(--sp-2); border-left: 3px solid var(--c-action-gold); font-family: var(--font-quote); font-style: italic; color: var(--c-executive-blue); }

/* leadership: the ripple */
.fx-ripple { position: relative; aspect-ratio: 1; max-width: 480px; margin-inline: auto; border-radius: 28px; overflow: hidden; background: radial-gradient(70% 70% at 50% 50%, #0b2f66, #031634 85%); box-shadow: 0 30px 60px rgba(1, 10, 24, 0.35); }
.fx-wave { position: absolute; inset: 0; margin: auto; width: 24%; aspect-ratio: 1; border-radius: 50%; border: 2px solid rgba(248, 163, 9, 0.7); opacity: 0; }
.fx-ripple.is-visible .fx-wave { animation: fx-wave 5.4s ease-out infinite; }
.fx-wave:nth-child(2) { animation-delay: 1.8s !important; } .fx-wave:nth-child(3) { animation-delay: 3.6s !important; }
@keyframes fx-wave { 0% { transform: scale(1); opacity: 0.8; } 100% { transform: scale(4.1); opacity: 0; } }
.fx-ring { position: absolute; left: 50%; top: 50%; translate: -50% -50%; aspect-ratio: 1; border-radius: 50%; border: 1px solid rgba(255, 255, 255, 0.22); }
.fx-ring b { position: absolute; left: 50%; top: 0; translate: -50% -50%; padding: 0.25rem 0.7rem; border-radius: var(--radius-pill); background: #0a2a5c; border: 1px solid rgba(248, 163, 9, 0.6); color: #fff; font-size: 0.64rem; letter-spacing: 0.1em; text-transform: uppercase; white-space: nowrap; }
.fx-ring.r1 { width: 40%; } .fx-ring.r2 { width: 62%; } .fx-ring.r3 { width: 82%; } .fx-ring.r4 { width: 94%; }
.fx-core { position: absolute; z-index: 2; left: 50%; top: 50%; translate: -50% -50%; display: grid; place-items: center; width: 22%; aspect-ratio: 1; border-radius: 50%; background: linear-gradient(145deg, #ffc14d, #f8a309); color: #04132b; font-family: var(--font-display); font-weight: 900; font-size: 1.15rem; letter-spacing: 0.08em; box-shadow: 0 0 0 8px rgba(248, 163, 9, 0.2), 0 0 60px 14px rgba(248, 163, 9, 0.5); animation: ian-core 3s ease-in-out infinite; }

/* sales: the 75/25 conversation + P.O.G.O. */
@property --fx-p { syntax: '<number>'; inherits: false; initial-value: 0; }
.fx-pogo { display: grid; gap: var(--sp-4); }
.fx-donut-wrap { display: flex; align-items: center; gap: var(--sp-4); flex-wrap: wrap; }
.fx-donut-box { position: relative; flex: 0 0 auto; width: 210px; aspect-ratio: 1; }
.fx-donut { width: 100%; height: 100%; border-radius: 50%; --fx-p: 0; background: conic-gradient(var(--c-action-gold) calc(var(--fx-p) * 1%), #12408f 0); -webkit-mask: radial-gradient(circle, transparent 57%, #000 58%); mask: radial-gradient(circle, transparent 57%, #000 58%); transition: --fx-p 2s var(--ease-out) 0.3s; }
.is-visible .fx-donut { --fx-p: 75; }
.fx-donut-c { position: absolute; inset: 0; display: grid; place-content: center; text-align: center; font-family: var(--font-display); font-weight: 900; font-size: 2rem; color: var(--c-executive-blue); line-height: 1; pointer-events: none; }
.fx-donut-c small { display: block; margin-top: 0.3rem; font-size: 0.6rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--text-on-light-muted); font-family: var(--font-body); }
.fx-legend { display: grid; gap: 0.9rem; }
.fx-legend div { display: flex; align-items: center; gap: 0.7rem; font-weight: 700; color: var(--c-executive-blue); }
.fx-legend i { flex: 0 0 auto; width: 14px; height: 14px; border-radius: 50%; background: var(--c-action-gold); box-shadow: 0 0 12px rgba(248, 163, 9, 0.6); }
.fx-legend div + div i { background: #12408f; box-shadow: none; }
.fx-legend span { display: block; font-size: 0.8rem; font-weight: 600; color: var(--text-on-light-muted); }
.fx-pogo-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--sp-2); }
.fx-pogo-grid div { position: relative; padding: var(--sp-2) var(--sp-2) var(--sp-3); border-radius: 16px; text-align: center; background: linear-gradient(160deg, var(--c-executive-blue), #0a2a5c); color: #fff; box-shadow: var(--shadow-card); transition: transform var(--dur-base) var(--ease-out); }
.fx-pogo-grid div:hover { transform: translateY(-8px) rotate(-1.5deg); }
.fx-pogo-grid b { display: block; font-family: var(--font-display); font-weight: 900; font-size: 3rem; line-height: 1; color: var(--c-action-gold); text-shadow: 0 0 26px rgba(248, 163, 9, 0.5); }
.fx-pogo-grid span { display: block; margin-top: 0.4rem; font-size: 0.74rem; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; }

/* life: momentum curve */
.fx-curve { position: relative; aspect-ratio: 800 / 420; max-width: 560px; margin-inline: auto; border-radius: 28px; background: radial-gradient(80% 80% at 70% 20%, #0b2f66, #031634 85%); box-shadow: 0 30px 60px rgba(1, 10, 24, 0.35); }
.fx-curve svg { position: absolute; inset: 0; width: 100%; height: 100%; }
.fx-curve .c-base { stroke: rgba(255, 255, 255, 0.28); stroke-width: 3; stroke-dasharray: 6 9; fill: none; }
.fx-curve .c-main { stroke: url(#fxcg); stroke-width: 7; fill: none; stroke-linecap: round; stroke-dasharray: 1200; stroke-dashoffset: 1200; filter: drop-shadow(0 0 10px rgba(248, 163, 9, 0.7)); transition: stroke-dashoffset 2.6s var(--ease-out) 0.3s; }
.fx-curve.is-visible .c-main { stroke-dashoffset: 0; }
.fx-curve .c-fill { fill: url(#fxcf); opacity: 0; transition: opacity 1.4s ease 1.6s; }
.fx-curve.is-visible .c-fill { opacity: 1; }
.fx-dot { position: absolute; z-index: 2; translate: -50% -50%; width: 18px; height: 18px; border-radius: 50%; background: #fff; border: 4px solid var(--c-action-gold); box-shadow: 0 0 0 0 rgba(248, 163, 9, 0.6); opacity: 0; transform: scale(0.4); transition: opacity 0.5s, transform 0.5s var(--ease-out); }
.fx-curve.is-visible .fx-dot { opacity: 1; transform: none; animation: fx-pulse 2.6s ease-in-out infinite; }
.fx-dot.d1 { left: 30%; top: 67%; transition-delay: 1s; } .fx-dot.d2 { left: 58%; top: 50%; transition-delay: 1.7s; } .fx-dot.d3 { left: 88%; top: 14%; transition-delay: 2.5s; }
@keyframes fx-pulse { 0%, 100% { box-shadow: 0 0 0 0 rgba(248, 163, 9, 0.55); } 50% { box-shadow: 0 0 0 12px rgba(248, 163, 9, 0); } }
.fx-lab { position: absolute; z-index: 2; translate: -50% 0; width: 96px; text-align: center; color: #fff; font-size: 0.68rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; line-height: 1.25; text-shadow: 0 2px 8px rgba(0, 0, 0, 0.6); }
.fx-lab.l0 { left: 12%; top: 54%; color: rgba(255, 255, 255, 0.65); } .fx-lab.l1 { left: 30%; top: 75%; } .fx-lab.l2 { left: 58%; top: 58%; } .fx-lab.l3 { left: 86%; top: 22%; color: #ffd36b; }

/* authority fingerprint: three rings from the inside out */
.fx-fp { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); gap: var(--sp-5); align-items: center; }
.fx-fp-art { position: relative; max-width: 440px; margin-inline: auto; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle, #0b2f66, #031634 72%); box-shadow: 0 30px 70px rgba(1, 10, 24, 0.4), inset 0 0 0 1px rgba(255, 255, 255, 0.1); }
.fx-fp-art svg { position: absolute; inset: 3%; width: 94%; height: 94%; overflow: visible; }
.fx-fp-art .z { fill: none; stroke-linecap: round; stroke-dasharray: 700; stroke-dashoffset: 700; transition: stroke-dashoffset 2.2s var(--ease-out), opacity 0.3s; }
.fx-fp-art.is-visible .z { stroke-dashoffset: 0; animation: fx-ridge 6s ease-in-out 2.4s infinite; }
.fx-fp-art .z1 { stroke: #f8a309; stroke-width: 5; } .fx-fp-art .z2 { stroke: #8fb2f2; stroke-width: 4.5; transition-delay: 0.5s; } .fx-fp-art .z3 { stroke: #e7eefc; stroke-width: 4; transition-delay: 1s; }
@keyframes fx-ridge { 0%, 100% { opacity: 1; } 50% { opacity: 0.72; } }
.fx-fp:has([data-z="1"]:hover) .z:not(.z1), .fx-fp:has([data-z="2"]:hover) .z:not(.z2), .fx-fp:has([data-z="3"]:hover) .z:not(.z3) { opacity: 0.18; animation: none; }
.fx-fp:has([data-z="1"]:hover) .z1, .fx-fp:has([data-z="2"]:hover) .z2, .fx-fp:has([data-z="3"]:hover) .z3 { animation: none; filter: drop-shadow(0 0 10px rgba(255, 255, 255, 0.8)) brightness(1.3); }
.fx-fp-list { display: grid; gap: var(--sp-2); }
.fx-fp-list > div { display: grid; grid-template-columns: auto 1fr; gap: var(--sp-2); align-items: start; padding: var(--sp-2) var(--sp-3); border-radius: 16px; background: #fff; border: 1px solid var(--border-hairline-light); box-shadow: var(--shadow-card); transition: transform var(--dur-base) var(--ease-out), border-color var(--dur-base); }
.fx-fp-list > div:hover { transform: translateX(8px); border-color: var(--c-action-gold); }
.fx-fp-list b { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; font-family: var(--font-display); font-weight: 900; color: #04132b; background: var(--c-action-gold); }
.fx-fp-list > div:nth-child(2) b { background: #8fb2f2; } .fx-fp-list > div:nth-child(3) b { background: #e7eefc; }
.fx-fp-list h4 { margin: 0 0 0.2rem; font-size: 1rem; color: var(--c-executive-blue); }
.fx-fp-list p { margin: 0; font-size: 0.9rem; color: var(--text-on-light-muted); }

/* built to be chosen: unseen -> obvious choice */
.fx-path { position: relative; display: grid; grid-template-columns: repeat(5, 1fr); gap: var(--sp-1); margin-top: var(--sp-5); }
.fx-path::before { content: ''; position: absolute; left: 10%; right: 10%; top: 38px; height: 4px; border-radius: 2px; background: rgba(18, 64, 143, 0.18); }
.fx-path::after { content: ''; position: absolute; left: 10%; top: 38px; height: 4px; width: 0; border-radius: 2px; background: linear-gradient(90deg, #12408f, #f8a309); box-shadow: 0 0 14px rgba(248, 163, 9, 0.7); transition: width 2.4s var(--ease-out) 0.3s; }
.fx-path.is-visible::after { width: 80%; }
.fx-node { position: relative; z-index: 1; text-align: center; padding-inline: 4px; }
.fx-node i { display: grid; place-items: center; width: 76px; height: 76px; margin: 0 auto var(--sp-2); border-radius: 50%; background: #fff; border: 4px solid #cfdcf3; color: var(--c-executive-blue); font-style: normal; font-family: var(--font-display); font-weight: 900; font-size: 1.1rem; box-shadow: var(--shadow-card); transition: border-color 0.6s, background 0.6s, color 0.6s; }
.fx-path.is-visible .fx-node i { border-color: var(--c-action-gold); }
.fx-path.is-visible .fx-node:nth-child(1) i { transition-delay: 0.4s; } .fx-path.is-visible .fx-node:nth-child(2) i { transition-delay: 0.9s; } .fx-path.is-visible .fx-node:nth-child(3) i { transition-delay: 1.4s; } .fx-path.is-visible .fx-node:nth-child(4) i { transition-delay: 1.9s; }
.fx-path.is-visible .fx-node:nth-child(5) i { transition-delay: 2.5s; background: linear-gradient(145deg, #ffc14d, #f8a309); color: #04132b; box-shadow: 0 0 0 8px rgba(248, 163, 9, 0.22), 0 0 50px rgba(248, 163, 9, 0.55); }
.fx-node h4 { margin: 0 0 0.25rem; font-size: 0.98rem; color: var(--c-executive-blue); text-transform: uppercase; letter-spacing: 0.05em; }
.fx-node p { margin: 0; font-size: 0.84rem; color: var(--text-on-light-muted); }
.fx-node svg { width: 34px; height: 34px; }

@media (max-width: 1000px) {
  .kp-answer-card { grid-template-columns: 1fr; gap: var(--sp-2); padding: var(--sp-3); }
  .kp-related-grid { grid-template-columns: 1fr; }
  .fx-sig-grid, .fx-fp { grid-template-columns: 1fr; gap: var(--sp-4); }
  .fx-pogo-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 700px) {
  .fx-path { grid-template-columns: 1fr; gap: var(--sp-3); }
  .fx-path::before { left: 37px; right: auto; top: 20px; bottom: 20px; width: 4px; height: auto; }
  .fx-path::after { left: 37px; top: 20px; width: 4px; height: 0; transition: height 2.4s var(--ease-out) 0.3s; }
  .fx-path.is-visible::after { width: 4px; height: calc(100% - 40px); }
  .fx-node { display: grid; grid-template-columns: 76px 1fr; gap: var(--sp-2); text-align: left; align-items: center; }
  .fx-node i { margin: 0; }
  .fx-donut-box { width: 170px; }
  .fx-lab { font-size: 0.58rem; width: 74px; }
}
.fx-ripple, .fx-curve, .fx-fp-art { width: 100%; }
.kp-rel-card .bk-tag { display: inline-block; max-width: 100%; padding: 0.3rem 0.7rem; border-radius: 12px; line-height: 1.25; }
.fx-ring.r1 { width: 36%; } .fx-ring.r2 { width: 56%; } .fx-ring.r3 { width: 76%; } .fx-ring.r4 { width: 96%; }
.fx-lab.l3 { left: 72%; top: 7%; }

/* =====================================================================
   Speaking Programs index (.sp-*; shares .kp-* and .fx-* with the keynote pages)
   ===================================================================== */
.sp-aud, .sp-programs, .sp-formats { scroll-margin-top: 90px; }
.kp-hero-sp .kp-hero-bg img { object-position: 92% 0; }
.kp-hero-sp .kp-chips { gap: var(--sp-2) var(--sp-3); }
.kp-hero-sp h1 { font-size: clamp(2rem, 1.1rem + 3vw, 3.7rem); }
.sp-ico { display: grid; place-items: center; flex: 0 0 auto; width: 56px; height: 56px; border-radius: 16px; background: linear-gradient(145deg, #ffc14d, #f8a309); color: #04132b; box-shadow: 0 10px 24px rgba(248, 163, 9, 0.35); transition: transform 0.4s var(--ease-out); }
.sp-ico svg { width: 28px; height: 28px; }

/* audiences */
.sp-aud-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: var(--sp-2); }
.sp-aud-card, .sp-card, .sp-out, .sp-step { position: relative; overflow: hidden; }
.sp-aud-card { display: flex; flex-direction: column; gap: 0.5rem; padding: var(--sp-3); background: #fff; border-radius: 20px; border: 1px solid var(--border-hairline-light); box-shadow: var(--shadow-card); transition: transform var(--dur-base) var(--ease-out), box-shadow var(--dur-base); }
.sp-aud-card::before { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 4px; background: linear-gradient(90deg, var(--c-action-gold), transparent); transform: scaleX(0.25); transform-origin: left; transition: transform 0.5s var(--ease-out); }
.sp-aud-card:hover { transform: translateY(-8px); box-shadow: 0 24px 48px rgba(1, 10, 24, 0.16); }
.sp-aud-card:hover::before { transform: scaleX(1); }
.sp-aud-card:hover .sp-ico, .sp-card:hover .sp-ico { transform: rotate(-6deg) scale(1.1); }
.sp-aud-card h3 { margin-top: var(--sp-1); font-size: 1rem; color: var(--c-executive-blue); }
.sp-aud-card p { margin: 0; font-size: 0.88rem; line-height: 1.5; color: var(--text-on-light-muted); }
.sp-aud-card .bk-link { margin-top: auto; padding-top: var(--sp-1); }

/* program finder + cards */
.sp-finder { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 0.5rem; margin: var(--sp-3) 0 var(--sp-4); }
.sp-finder-label { font-size: 0.74rem; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; color: var(--text-on-light-muted); margin-right: 0.3rem; }
.sp-finder button { padding: 0.5rem 1rem; border-radius: var(--radius-pill); border: 1.5px solid rgba(18, 64, 143, 0.25); background: #fff; color: var(--c-executive-blue); font-family: var(--font-body); font-weight: 700; font-size: 0.82rem; cursor: pointer; transition: all 0.25s ease; }
.sp-finder button:hover { border-color: var(--c-action-gold); transform: translateY(-2px); }
.sp-finder button.is-on { background: linear-gradient(135deg, #ffc14d, #f8a309); border-color: transparent; color: #04132b; box-shadow: 0 8px 20px rgba(248, 163, 9, 0.35); }
.sp-finder-note { text-align: center; margin: var(--sp-2) 0 0; font-size: 0.85rem; font-weight: 700; color: var(--c-executive-blue); }
.sp-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--sp-3); margin-top: var(--sp-4); }
.sp-card { display: flex; flex-direction: column; gap: 0.55rem; padding: var(--sp-4) var(--sp-4) var(--sp-3); background: #fff; border-radius: 22px; border: 1px solid var(--border-hairline-light); box-shadow: var(--shadow-card); transition: transform 0.4s var(--ease-out), box-shadow 0.4s, opacity 0.4s, filter 0.4s; }
.sp-card:hover { transform: translateY(-10px); box-shadow: 0 28px 56px rgba(1, 10, 24, 0.18); }
.sp-card-n { position: absolute; top: 12px; right: 18px; font-family: var(--font-display); font-weight: 900; font-size: 2.8rem; line-height: 1; color: transparent; -webkit-text-stroke: 1.5px rgba(18, 64, 143, 0.18); }
.sp-card h3 { margin-top: var(--sp-1); font-size: 1.1rem; line-height: 1.25; color: var(--c-executive-blue); }
.sp-card p { margin: 0; font-size: 0.92rem; color: var(--text-on-light-muted); }
.sp-card .sp-best { font-size: 0.8rem; color: var(--c-charcoal); }
.sp-card .bk-link { margin-top: auto; padding-top: var(--sp-1); }
.sp-card-cover { position: absolute; right: 18px; bottom: -16px; width: 70px; height: auto; border-radius: 4px; background: none; box-shadow: 0 14px 30px rgba(1, 10, 24, 0.4); transform: rotate(7deg) translateY(8px); transition: transform 0.5s var(--ease-out); }
.sp-card:hover .sp-card-cover { transform: rotate(0) translateY(-8px) scale(1.06); }
.sp-card:has(.sp-card-cover) .sp-best, .sp-card:has(.sp-card-cover) .bk-link { max-width: calc(100% - 84px); }
.sp-card.is-dim, .ap-flag.is-dim { opacity: 0.28; filter: grayscale(0.85); transform: scale(0.97); }
.sp-programs.is-filtering .is-match { box-shadow: 0 0 0 2px var(--c-action-gold), 0 24px 48px rgba(248, 163, 9, 0.25); }

/* outcomes */
.sp-out-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: var(--sp-2); }
.sp-out { text-align: center; padding: var(--sp-3) var(--sp-2); background: #fff; border-radius: 18px; border: 1px solid var(--border-hairline-light); box-shadow: var(--shadow-card); transition: transform var(--dur-base) var(--ease-out); }
.sp-out:hover { transform: translateY(-8px); }
.sp-out .sp-ico { margin: 0 auto var(--sp-2); animation: fx-oi 3.6s ease-in-out infinite; }
.sp-out h3 { margin: 0; font-size: 0.82rem; letter-spacing: 0.05em; text-transform: uppercase; line-height: 1.3; color: var(--c-executive-blue); }

/* programs by format: a staircase from one message to lasting habits */
.sp-formats .bk-series-head p { color: rgba(255, 255, 255, 0.84); }
.sp-stairs { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; align-items: end; margin-top: var(--sp-5); }
.sp-step { display: flex; flex-direction: column; min-height: calc(230px + var(--n) * 38px); padding: var(--sp-3); border-radius: 18px; background: linear-gradient(180deg, rgba(255, 255, 255, 0.11), rgba(255, 255, 255, 0.03)); border: 1px solid rgba(255, 255, 255, 0.14); border-top: 3px solid rgba(248, 163, 9, calc(0.3 + var(--n) * 0.17)); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); transition: transform var(--dur-base) var(--ease-out), box-shadow var(--dur-base); }
.sp-step:hover { transform: translateY(-8px); box-shadow: 0 22px 44px rgba(0, 0, 0, 0.4), 0 0 30px rgba(248, 163, 9, 0.18); }
.sp-step .sp-ico { background: rgba(248, 163, 9, 0.12); border: 1px solid rgba(248, 163, 9, 0.6); color: #f8a309; box-shadow: none; margin-bottom: var(--sp-2); }
.sp-step-n { position: absolute; top: 10px; right: 16px; font-family: var(--font-display); font-weight: 900; font-size: 1.5rem; color: rgba(255, 255, 255, 0.28); }
.sp-step h3 { margin: 0 0 0.4rem; font-size: 1.1rem; letter-spacing: 0.04em; text-transform: uppercase; color: #fff; }
.sp-step p { margin: 0; font-size: 0.9rem; line-height: 1.55; color: rgba(255, 255, 255, 0.84); }
.sp-step-tag { display: inline-block; width: fit-content; margin: 0 0 0.6rem; padding: 0.2rem 0.65rem; border-radius: var(--radius-pill); background: rgba(248, 163, 9, 0.18); border: 1px solid rgba(248, 163, 9, 0.6); color: #ffd36b; font-size: 0.66rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; }
.sp-step:nth-child(4) { background: linear-gradient(170deg, rgba(248, 163, 9, 0.22), rgba(255, 255, 255, 0.04)); box-shadow: 0 0 40px rgba(248, 163, 9, 0.18); }
.sp-formats:target .sp-step:nth-child(3) { background: linear-gradient(160deg, #ffc14d, #f8a309); border-color: #ffe3a1; animation: ian-top 2.4s ease-in-out infinite; }
.sp-formats:target .sp-step:nth-child(3) h3, .sp-formats:target .sp-step:nth-child(3) p, .sp-formats:target .sp-step:nth-child(3) .sp-step-n { color: #04132b; }
.sp-formats:target .sp-step:nth-child(3) .sp-step-tag { background: rgba(4, 19, 43, 0.12); border-color: rgba(4, 19, 43, 0.5); color: #04132b; }
.sp-formats:target .sp-step:nth-child(3) .sp-ico { background: #04132b; border-color: #04132b; color: #f8a309; }

/* customized for your audience */
.sp-custom-grid { display: grid; grid-template-columns: 0.9fr 1.1fr; gap: var(--sp-6); align-items: center; }
.sp-custom .kp-photo { margin: 0; }
.sp-custom .kp-photo img { aspect-ratio: 9 / 10; object-fit: cover; object-position: 60% center; }
.sp-lede { margin-top: var(--sp-2); max-width: 54ch; color: var(--text-on-light-muted); }
.sp-checks { list-style: none; margin: var(--sp-3) 0 0; padding: 0; display: grid; gap: 0.9rem; }
.sp-checks li { display: flex; align-items: center; gap: var(--sp-2); padding: 0.7rem var(--sp-2); border-radius: 14px; background: var(--c-soft-gray); color: var(--c-charcoal); font-weight: 600; transition: transform var(--dur-base) var(--ease-out), background var(--dur-base); }
.sp-checks li:hover { transform: translateX(8px); background: #fff; box-shadow: var(--shadow-card); }
.sp-checks span { display: grid; place-items: center; flex: 0 0 auto; width: 40px; height: 40px; border-radius: 50%; background: linear-gradient(145deg, var(--c-executive-blue), #0a2a5c); color: var(--c-action-gold); }
.sp-checks svg { width: 20px; height: 20px; }

/* books shelf */
.sp-books { display: grid; grid-template-columns: repeat(6, 1fr); gap: var(--sp-3); margin-top: var(--sp-4); align-items: end; }
.sp-book { display: flex; flex-direction: column; align-items: center; gap: 0.9rem; text-align: center; }
.sp-book .bk-cover { width: 100%; max-width: 150px; }
.sp-book-name { font-size: 0.78rem; font-weight: 800; line-height: 1.3; letter-spacing: 0.03em; color: var(--c-executive-blue); transition: color 0.3s; }
.sp-book:hover .sp-book-name { color: var(--c-action-gold-deep, #b97300); }

/* how to bring Mike */
.sp-steps3 { grid-template-columns: repeat(3, 1fr); }
.sp-h4 { margin: 0.2rem 0 0.4rem; font-size: 1.05rem; color: #fff; }
.sp-faq-wrap { max-width: 880px; }

.sp-aud-card::after, .sp-card::before, .sp-out::after, .sp-step::after { content: ''; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; opacity: 0; transition: opacity 0.3s ease; background: radial-gradient(260px circle at var(--mx, 50%) var(--my, 50%), rgba(248, 163, 9, 0.16), transparent 62%); }
.sp-aud-card:hover::after, .sp-card:hover::before, .sp-out:hover::after, .sp-step:hover::after { opacity: 1; }

@media (max-width: 1180px) {
  .sp-aud-grid { grid-template-columns: repeat(3, 1fr); }
  .sp-grid { grid-template-columns: repeat(2, 1fr); }
  .sp-out-grid { grid-template-columns: repeat(3, 1fr); }
  .sp-stairs { grid-template-columns: repeat(2, 1fr); align-items: stretch; }
  .sp-step { min-height: 0; }
  .sp-books { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 900px) {
  .kp-hero-sp .kp-hero-bg img { object-position: 90% 6%; }
  .sp-custom-grid { grid-template-columns: 1fr; gap: var(--sp-4); }
  .sp-steps3 { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
  .sp-aud-grid, .sp-grid, .sp-stairs { grid-template-columns: 1fr; }
  .sp-out-grid { grid-template-columns: repeat(2, 1fr); }
  .sp-books { grid-template-columns: repeat(2, 1fr); }
  .sp-finder-label { flex-basis: 100%; text-align: center; }
}
.sp-custom-grid { grid-template-columns: 1.05fr 0.95fr; }
.sp-custom .kp-photo img { aspect-ratio: 4 / 3; object-position: center; }
.kp-hero-sp .kp-hero-bg::after { background: linear-gradient(95deg, rgba(0, 10, 24, 0.99) 14%, rgba(0, 10, 24, 0.93) 38%, rgba(0, 10, 24, 0.1) 70%), linear-gradient(180deg, rgba(0, 10, 24, 0) 70%, var(--c-midnight-navy) 100%); }

/* Speaking Programs: the full 14-book shelf, grouped */
.sp-shelf-row { display: grid; gap: var(--sp-5); margin-top: var(--sp-5); align-items: end; }
.sp-row-a { grid-template-columns: 4fr 3fr; }
.sp-row-b { grid-template-columns: 6fr 1fr; }
.sp-shelf-h { margin: 0 0 var(--sp-2); padding-bottom: 0.6rem; border-bottom: 2px solid transparent; border-image: linear-gradient(90deg, var(--c-action-gold), transparent) 1; font-size: 0.78rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--c-executive-blue); }
.sp-shelf .sp-books { grid-template-columns: repeat(var(--cols), 1fr); gap: var(--sp-2); margin-top: 0; }
.sp-shelf .sp-book .bk-cover { max-width: 130px; }
.sp-shelf .sp-book-name { font-size: 0.7rem; }
@media (max-width: 1000px) {
  .sp-row-a, .sp-row-b { grid-template-columns: 1fr; gap: var(--sp-4); }
  .sp-row-b { margin-top: var(--sp-4); }
  .sp-shelf .sp-books { grid-template-columns: repeat(min(var(--cols), 4), 1fr); }
}
@media (max-width: 560px) {
  .sp-shelf .sp-books { grid-template-columns: repeat(3, 1fr); gap: var(--sp-2) 10px; }
  .sp-shelf .sp-book-name { font-size: 0.64rem; }
}

.sp-aud-grid { grid-template-columns: repeat(3, 1fr); }
@media (max-width: 700px) { .sp-aud-grid { grid-template-columns: 1fr; } }
.sp-finder-note a { color: var(--c-action-gold-deep, #b97300); text-decoration: underline; }

/* wide workshops card */
@media (min-width: 1001px) {
  .sp-card-wide { grid-column: 1 / -1; display: grid; grid-template-columns: 56px 1.3fr 1fr; grid-template-areas: "ico h3 best" "ico p link"; column-gap: var(--sp-4); row-gap: 0.35rem; align-items: center; padding: var(--sp-3) var(--sp-4); background: linear-gradient(135deg, var(--c-midnight-navy), #0b2f66); border-color: rgba(248, 163, 9, 0.5); }
  .sp-card-wide .sp-ico { grid-area: ico; }
  .sp-card-wide h3 { grid-area: h3; margin: 0; color: #fff; }
  .sp-card-wide p:not(.sp-best) { grid-area: p; color: rgba(255, 255, 255, 0.84); }
  .sp-card-wide .sp-best { grid-area: best; color: #fff; }
  .sp-card-wide .bk-link { grid-area: link; justify-self: start; margin: 0; padding: 0; color: #fff; }
  .sp-card-wide .sp-card-n { -webkit-text-stroke-color: rgba(255, 255, 255, 0.25); }
}

/* "You are here" state for every nav button: white pill, gold dot, gold text, gold ring with a soft inner shadow */
.mega-menu a.is-current, .mega-menu a.is-current:hover { background: #fff; color: #d98700; padding-left: 0.9rem; box-shadow: inset 0 0 0 2px var(--c-action-gold), inset 0 3px 9px rgba(248, 163, 9, 0.35); }
.mega-menu a.is-current::before { opacity: 1; }
.nav-item.is-active > .nav-link, .nav-link.is-current, .nav-item.is-active > .nav-link:hover, .nav-link.is-current:hover { background: #fff; color: #d98700; box-shadow: inset 0 0 0 2px var(--c-action-gold), inset 0 3px 9px rgba(248, 163, 9, 0.35); }
.nav-item.is-active > .nav-link::after, .nav-link.is-current::after { transform: scaleX(0); }
.mobile-nav-link.is-current, .mobile-submenu a.is-current { background: #fff; color: #d98700; padding-inline: 0.9rem; border-radius: var(--radius-sm); box-shadow: inset 0 0 0 2px var(--c-action-gold), inset 0 3px 9px rgba(248, 163, 9, 0.35); }

/* #workshops now lands on the workshops card; #formats is the format staircase */
.sp-card-wide { scroll-margin-top: 110px; }
#formats { scroll-margin-top: 90px; }
#formats:target .sp-step:nth-child(3) { background: linear-gradient(160deg, #ffc14d, #f8a309); border-color: #ffe3a1; animation: ian-top 2.4s ease-in-out infinite; }
#formats:target .sp-step:nth-child(3) h3, #formats:target .sp-step:nth-child(3) p, #formats:target .sp-step:nth-child(3) .sp-step-n { color: #04132b; }
#formats:target .sp-step:nth-child(3) .sp-step-tag { background: rgba(4, 19, 43, 0.12); border-color: rgba(4, 19, 43, 0.5); color: #04132b; }
#formats:target .sp-step:nth-child(3) .sp-ico { background: #04132b; border-color: #04132b; color: #f8a309; }
.sp-wk-chips { list-style: none; display: flex; flex-wrap: wrap; gap: 0.5rem; margin: var(--sp-1) 0 0; padding: 0; }
.sp-wk-chips li { padding: 0.3rem 0.8rem; border-radius: var(--radius-pill); background: rgba(248, 163, 9, 0.16); border: 1px solid rgba(248, 163, 9, 0.6); color: #ffd36b; font-size: 0.72rem; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; }
.sp-card-wide:target { border-color: #ffe3a1; animation: ian-top 2.4s ease-in-out infinite; }
@media (min-width: 1001px) {
  .sp-card-wide { grid-template-areas: "ico h3 best" "ico p link" "ico chips chips"; }
  .sp-card-wide .sp-wk-chips { grid-area: chips; }
}
@media (max-width: 1000px) { .sp-card:not(.sp-card-wide) .sp-wk-chips { display: none; } .sp-card-wide { background: linear-gradient(135deg, var(--c-midnight-navy), #0b2f66); } .sp-card-wide h3, .sp-card-wide .sp-best strong { color: #fff; } .sp-card-wide p { color: rgba(255,255,255,.85); } .sp-card-wide .bk-link { color: #fff; } }

/* Only the exact page/section button lights up; the dropdown parent stays plain */
.nav-item.is-active > .nav-link:not(:hover):not([aria-expanded='true']) { color: #fff; background: none; box-shadow: none; }
.nav-item.is-active > .nav-link:not(:hover):not([aria-expanded='true'])::after { transform: scaleX(0); }
.kp-hero-myc .kp-hero-bg img { object-position: 82% center; }
.kp-hero-myc .kp-chips { gap: var(--sp-2) var(--sp-3); }
.kp-photo-myc img { aspect-ratio: 5 / 4; width: 100%; height: auto; object-fit: cover; object-position: 72% center; }
.kp-get-three { grid-template-columns: repeat(3, 1fr); }
@media (max-width: 900px) { .kp-hero-myc .kp-hero-bg img { object-position: 78% 12%; } .kp-get-three { grid-template-columns: 1fr; } }
.fx-sig .ap-note { margin-inline: auto; margin-top: var(--sp-4); }

/* =====================================================================
   Request Mike (.rq-*): form at the top, stage-light hero
   ===================================================================== */
@property --rq-a { syntax: '<angle>'; inherits: false; initial-value: 0deg; }
.rq-hero { position: relative; overflow: hidden; background: #020c1f; color: #fff; padding-bottom: var(--sp-6); scroll-margin-top: 0; }
.rq-bg { position: absolute; inset: 0; z-index: 0; }
.rq-bg img { width: 100%; height: 100%; object-fit: cover; object-position: center 40%; opacity: 0.55; background: none; }
.rq-bg::after { content: ''; position: absolute; inset: 0; background: radial-gradient(55% 70% at 78% 38%, rgba(23, 78, 154, 0.5), transparent 70%), radial-gradient(40% 50% at 20% 85%, rgba(248, 163, 9, 0.12), transparent 70%), linear-gradient(180deg, rgba(2, 12, 31, 0.8) 0, rgba(2, 12, 31, 0.55) 40%, #020c1f 100%); }
.rq-bg .ian-beam-1 { right: 34%; } .rq-bg .ian-beam-2 { right: 10%; }
.rq-ring { position: absolute; z-index: 1; right: -4%; top: 4%; width: 720px; aspect-ratio: 1; border-radius: 50%; border: 1px solid rgba(248, 163, 9, 0.22); pointer-events: none; animation: rq-spin-ring 60s linear infinite; }
.rq-ring-2 { right: 2%; top: 12%; width: 520px; border: 1px dashed rgba(248, 163, 9, 0.28); animation-duration: 90s; animation-direction: reverse; }
@keyframes rq-spin-ring { to { transform: rotate(360deg); } }
.rq-hero > .container, .rq-hero .kp-sparks { position: relative; z-index: 2; }
.rq-hero .kp-sparks { position: absolute; }
.rq-hero .kp-crumbs { padding-top: var(--sp-3); margin-bottom: var(--sp-4); }
.rq-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 540px); grid-template-areas: "intro form" "after form"; column-gap: var(--sp-6); row-gap: var(--sp-4); align-items: start; }
.rq-intro { grid-area: intro; } .rq-form { grid-area: form; } .rq-after { grid-area: after; }
.rq-intro h1 { font-size: clamp(2rem, 1.1rem + 2.9vw, 3.5rem); line-height: 1.04; color: #fff; }
.rq-intro h1 span { display: block; background: linear-gradient(100deg, #f8a309 30%, #ffe3a1 48%, #f8a309 66%); background-size: 240% 100%; -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; animation: ian-shine 5.5s ease-in-out infinite; filter: drop-shadow(0 0 22px rgba(248, 163, 9, 0.35)); }
.rq-lede { max-width: 52ch; font-size: 1.1rem; color: rgba(255, 255, 255, 0.9); text-shadow: 0 1px 3px rgba(0, 0, 0, 0.5); }
.rq-chip { display: inline-flex; align-items: center; gap: 0.55rem; margin: var(--sp-2) 0 0; padding: 0.5rem 1.1rem; border-radius: var(--radius-pill); background: rgba(248, 163, 9, 0.16); border: 1px solid rgba(248, 163, 9, 0.7); color: #ffe3a1; font-size: 0.84rem; font-weight: 600; }
.rq-chip[hidden] { display: none; }
.rq-chip b { color: #fff; }
.rq-chip-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--c-action-gold); box-shadow: 0 0 10px var(--c-action-gold); animation: fx-oi 2.4s ease-in-out infinite; }

/* the form card */
.rq-card { position: relative; border-radius: 26px; background: #fff; color: var(--c-charcoal); padding: var(--sp-3); box-shadow: 0 40px 90px rgba(0, 0, 0, 0.55), 0 0 80px rgba(248, 163, 9, 0.14); }
.rq-card::before { content: ''; position: absolute; inset: -2px; z-index: 0; border-radius: 28px; padding: 2px; pointer-events: none; background: conic-gradient(from var(--rq-a), transparent 0 55%, #f8a309 78%, #ffe3a1 88%, transparent 100%); -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask: linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0); animation: rq-spin 5s linear infinite; }
@keyframes rq-spin { to { --rq-a: 360deg; } }
.rq-card > * { position: relative; z-index: 1; }
.rq-card-head { display: flex; align-items: center; gap: var(--sp-2); padding-bottom: var(--sp-2); border-bottom: 1px solid var(--border-hairline-light); }
.rq-avatar { flex: 0 0 auto; width: 62px; height: 62px; padding: 3px; border-radius: 50%; background: conic-gradient(#f8a309, #ffe3a1, #f8a309); box-shadow: 0 8px 20px rgba(248, 163, 9, 0.4); }
.rq-avatar img { width: 100%; height: 100%; border-radius: 50%; object-fit: cover; background: none; border: 2px solid #fff; }
.rq-live { display: inline-flex; align-items: center; gap: 0.45rem; font-size: 0.66rem; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; color: var(--c-executive-blue); }
.rq-live i { width: 8px; height: 8px; border-radius: 50%; background: var(--c-action-gold); box-shadow: 0 0 0 0 rgba(248, 163, 9, 0.6); animation: fx-pulse 2.2s ease-in-out infinite; }
.rq-card h2 { margin: 0.2rem 0 0; font-size: 1.45rem; color: var(--c-executive-blue); }
.rq-embed { margin-top: var(--sp-2); }
.rq-embed iframe { display: block; width: 100%; min-height: 640px; border: 0; border-radius: 14px; }
.rq-embed .ghl-embed-placeholder { display: flex; flex-direction: column; justify-content: center; min-height: 420px; padding: var(--sp-4) var(--sp-3); text-align: center; background: var(--c-soft-gray); border: 2px dashed rgba(248, 163, 9, 0.65); border-radius: 16px; }
.rq-skel { display: block; margin-top: var(--sp-2); }
.rq-skel i { display: block; height: 42px; margin-top: 10px; border-radius: 10px; background: linear-gradient(90deg, #e3eaf5 25%, #f6f8fc 50%, #e3eaf5 75%); background-size: 200% 100%; animation: rq-shimmer 1.8s linear infinite; }
.rq-skel i:nth-child(4) { width: 60%; margin-inline: auto; background-color: #f8a309; background-image: linear-gradient(90deg, #f8a309, #ffc14d, #f8a309); }
@keyframes rq-shimmer { to { background-position: -200% 0; } }
.rq-secure { display: flex; align-items: center; justify-content: center; gap: 0.5rem; margin: var(--sp-2) 0 0; font-size: 0.8rem; color: var(--text-on-light-muted); }
.rq-secure svg { width: 18px; height: 18px; color: var(--c-action-gold); }

/* what happens next */
.rq-after-h { margin: 0 0 var(--sp-2); font-size: 0.82rem; letter-spacing: 0.16em; color: var(--c-action-gold); }
.rq-steps { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--sp-2); }
.rq-steps li { position: relative; display: flex; gap: var(--sp-2); align-items: flex-start; }
.rq-steps li:not(:last-child)::after { content: ''; position: absolute; left: 19px; top: 44px; bottom: -14px; width: 2px; background: repeating-linear-gradient(180deg, rgba(248, 163, 9, 0.7) 0 6px, transparent 6px 12px); animation: rq-march 1.2s linear infinite; }
@keyframes rq-march { to { background-position: 0 12px; } }
.rq-step-n { flex: 0 0 auto; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: var(--c-action-gold); color: #04132b; font-family: var(--font-display); font-weight: 900; box-shadow: 0 0 0 5px rgba(248, 163, 9, 0.18), 0 8px 20px rgba(248, 163, 9, 0.3); }
.rq-steps h3 { margin: 0.1rem 0 0.15rem; font-size: 1rem; color: #fff; }
.rq-steps p { margin: 0; font-size: 0.9rem; color: rgba(255, 255, 255, 0.78); }
.rq-trust { list-style: none; display: grid; grid-template-columns: repeat(3, auto); justify-content: start; gap: var(--sp-4); margin: var(--sp-3) 0 0; padding: var(--sp-2) 0 0; border-top: 1px solid rgba(255, 255, 255, 0.14); }
.rq-trust strong { display: block; font-family: var(--font-display); font-weight: 800; font-size: 1.5rem; line-height: 1.1; color: var(--c-action-gold); text-shadow: 0 0 22px rgba(248, 163, 9, 0.5); white-space: nowrap; }
.rq-trust span { font-size: 0.66rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: rgba(255, 255, 255, 0.75); }

/* sections below the form */
.rq-ico { display: grid; place-items: center; flex: 0 0 auto; width: 54px; height: 54px; border-radius: 16px; background: linear-gradient(145deg, #ffc14d, #f8a309); color: #04132b; box-shadow: 0 10px 24px rgba(248, 163, 9, 0.35); transition: transform 0.4s var(--ease-out); }
.rq-ico svg { width: 26px; height: 26px; }
.rq-ready { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--sp-2); }
.rq-ready-card, .rq-prog, .rq-talk-card { position: relative; overflow: hidden; }
.rq-ready-card { padding: var(--sp-3); background: #fff; border-radius: 18px; border: 1px solid var(--border-hairline-light); box-shadow: var(--shadow-card); transition: transform var(--dur-base) var(--ease-out); }
.rq-ready-card:hover { transform: translateY(-8px); }
.rq-ready-card:hover .rq-ico, .rq-talk-card:hover .rq-ico { transform: rotate(-6deg) scale(1.1); }
.rq-ready-card h3 { margin: var(--sp-2) 0 0.2rem; font-size: 1rem; color: var(--c-executive-blue); }
.rq-ready-card p { margin: 0; font-size: 0.9rem; color: var(--text-on-light-muted); }
.rq-progs { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: var(--sp-2); }
.rq-prog { display: flex; flex-direction: column; gap: 0.35rem; padding: var(--sp-3); background: #fff; border-radius: 18px; border: 1px solid var(--border-hairline-light); border-left: 4px solid var(--c-action-gold); box-shadow: var(--shadow-card); transition: transform var(--dur-base) var(--ease-out), box-shadow var(--dur-base); }
.rq-prog:hover { transform: translateY(-6px); box-shadow: 0 24px 48px rgba(1, 10, 24, 0.16); }
.rq-prog-n { font-family: var(--font-display); font-weight: 800; font-size: 1rem; line-height: 1.25; text-transform: uppercase; color: var(--c-executive-blue); }
.rq-prog-b { font-size: 0.85rem; color: var(--text-on-light-muted); }
.rq-prog .bk-link { margin-top: auto; padding-top: var(--sp-1); }
.rq-talk .bk-h2 { color: #fff; }
.rq-talk-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--sp-3); max-width: 960px; margin: var(--sp-4) auto 0; }
.rq-talk-card { display: flex; flex-direction: column; align-items: center; gap: 0.4rem; padding: var(--sp-4) var(--sp-3); text-align: center; border-radius: 22px; background: linear-gradient(160deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.03)); border: 1px solid rgba(255, 255, 255, 0.16); backdrop-filter: blur(8px); transition: transform var(--dur-base) var(--ease-out), box-shadow var(--dur-base), border-color var(--dur-base); }
a.rq-talk-card:hover { transform: translateY(-8px); border-color: rgba(248, 163, 9, 0.6); box-shadow: 0 24px 50px rgba(0, 0, 0, 0.4), 0 0 40px rgba(248, 163, 9, 0.15); }
.rq-talk-card h3 { margin: var(--sp-1) 0 0; font-size: 0.8rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--c-action-gold); }
.rq-talk-card p { margin: 0; font-size: 1.1rem; font-weight: 700; color: #fff; overflow-wrap: anywhere; }
.rq-ready-card::after, .rq-prog::after, .rq-talk-card::after { content: ''; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; opacity: 0; transition: opacity 0.3s ease; background: radial-gradient(260px circle at var(--mx, 50%) var(--my, 50%), rgba(248, 163, 9, 0.16), transparent 62%); }
.rq-ready-card:hover::after, .rq-prog:hover::after, .rq-talk-card:hover::after { opacity: 1; }

@media (max-width: 1000px) {
  .rq-grid { grid-template-columns: 1fr; grid-template-areas: "intro" "form" "after"; row-gap: var(--sp-4); }
  .rq-ring { display: none; }
  .rq-ready { grid-template-columns: repeat(2, 1fr); }
  .rq-talk-grid { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
  .rq-ready { grid-template-columns: 1fr; }
  .rq-card { padding: var(--sp-2); border-radius: 20px; }
  .rq-card::before { border-radius: 22px; }
  .rq-trust { grid-template-columns: 1fr 1fr 1fr; gap: var(--sp-2); }
  .rq-trust strong { font-size: 1.05rem; } .rq-trust span { font-size: 0.56rem; }
}
.rq-embed .rq-skel { align-self: stretch; width: 100%; }
/* mobile dropdown toggles never show the "you are here" pill */
.mobile-nav button.mobile-nav-link.is-current { background: none; box-shadow: none; color: #fff; padding-inline: 0.25rem; }

/* =====================================================================
   Corporate & Associations audience page (.co-*)
   ===================================================================== */
.co-hero { position: relative; overflow: hidden; background: #020c1f; color: #fff; padding-bottom: 130px; }
.co-hero-bg { position: absolute; inset: 0; z-index: 0; }
.co-hero-bg img { width: 100%; height: 100%; object-fit: cover; object-position: center; opacity: 0.6; background: none; }
.co-hero-bg::after { content: ''; position: absolute; inset: 0; background: linear-gradient(95deg, rgba(2, 12, 31, 0.97) 10%, rgba(2, 12, 31, 0.86) 45%, rgba(4, 22, 52, 0.55) 100%), radial-gradient(45% 70% at 78% 45%, rgba(23, 78, 154, 0.55), transparent 70%), linear-gradient(180deg, transparent 70%, #020c1f 100%); }
.co-hero .co-hero-bg .ian-beam-1 { right: 40%; } .co-hero .co-hero-bg .ian-beam-2 { right: 14%; }
.co-hero > .container { position: relative; z-index: 2; }
.co-hero .kp-sparks { position: absolute; z-index: 1; }
.co-hero .kp-crumbs { padding-top: var(--sp-3); margin-bottom: var(--sp-4); }
.co-hero-grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr); gap: var(--sp-5); align-items: center; }
.co-hero h1 { font-size: clamp(2rem, 1.1rem + 3vw, 3.7rem); line-height: 1.04; color: #fff; }
.co-hero h1 span { display: block; background: linear-gradient(100deg, #f8a309 30%, #ffe3a1 48%, #f8a309 66%); background-size: 240% 100%; -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; animation: ian-shine 5.5s ease-in-out infinite; filter: drop-shadow(0 0 22px rgba(248, 163, 9, 0.35)); }
.co-hero .kp-sub { color: #fff; }
.co-hero .kp-body { max-width: 56ch; }
.co-portrait-wrap { position: relative; width: 100%; max-width: 440px; margin-left: auto; padding: var(--sp-3); }
.co-portrait-wrap::before { content: ''; position: absolute; inset: 4% -6% -2%; border-radius: 50%; background: radial-gradient(closest-side, rgba(248, 163, 9, 0.3), transparent 72%); filter: blur(10px); animation: ian-core 4s ease-in-out infinite; }
.co-portrait { position: relative; aspect-ratio: 2 / 3; border-radius: 240px 240px 28px 28px; overflow: hidden; box-shadow: 0 40px 90px rgba(0, 0, 0, 0.6), 0 0 90px rgba(248, 163, 9, 0.18); }
.co-portrait img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 14%; background: none; transform: scale(1.04); animation: co-drift 14s ease-in-out infinite alternate; }
@keyframes co-drift { from { transform: scale(1.04) translateY(0); } to { transform: scale(1.1) translateY(-1.5%); } }
.co-portrait::after { content: ''; position: absolute; inset: 0; border-radius: inherit; padding: 3px; pointer-events: none; background: conic-gradient(from var(--rq-a), transparent 0 50%, #f8a309 75%, #ffe3a1 88%, transparent 100%); -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask: linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0); animation: rq-spin 6s linear infinite; }
.co-float { position: absolute; z-index: 3; padding: 0.6rem 1rem; border-radius: 16px; background: rgba(2, 12, 31, 0.84); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); border: 1px solid rgba(248, 163, 9, 0.6); box-shadow: 0 16px 36px rgba(0, 0, 0, 0.45); font-size: 0.66rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: rgba(255, 255, 255, 0.85); animation: co-bob 6s ease-in-out infinite; }
.co-float b { display: block; font-family: var(--font-display); font-size: 1.35rem; letter-spacing: 0; color: var(--c-action-gold); text-shadow: 0 0 18px rgba(248, 163, 9, 0.5); }
.co-float-1 { left: -14px; top: 14%; } .co-float-2 { right: -14px; top: 44%; animation-delay: -2s; } .co-float-3 { left: -24px; bottom: 12%; animation-delay: -4s; }
@keyframes co-bob { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }

/* star row */
.co-stars { list-style: none; display: grid; grid-template-columns: repeat(5, 1fr); margin: 0; padding: 0; background: #fff; border-radius: 18px; border-top: 4px solid var(--c-action-gold); box-shadow: 0 24px 60px rgba(1, 10, 24, 0.28); }
.co-stars li { text-align: center; padding: var(--sp-3) var(--sp-2); }
.co-stars li + li { border-left: 1px solid var(--border-hairline-light); }
.co-star { display: inline-block; width: 26px; height: 26px; color: var(--c-action-gold); filter: drop-shadow(0 0 8px rgba(248, 163, 9, 0.7)); animation: co-twinkle 3.2s ease-in-out infinite; }
.co-stars li:nth-child(2) .co-star { animation-delay: 0.4s; } .co-stars li:nth-child(3) .co-star { animation-delay: 0.8s; } .co-stars li:nth-child(4) .co-star { animation-delay: 1.2s; } .co-stars li:nth-child(5) .co-star { animation-delay: 1.6s; }
.co-star svg { width: 100%; height: 100%; }
@keyframes co-twinkle { 0%, 100% { transform: scale(1) rotate(0); } 50% { transform: scale(1.25) rotate(14deg); } }
.co-stars strong { display: block; margin-top: 0.2rem; font-family: var(--font-display); font-weight: 800; font-size: clamp(1.25rem, 1rem + 0.9vw, 1.8rem); line-height: 1.1; color: var(--c-executive-blue); white-space: nowrap; }
.co-stars li > span:last-child { display: block; margin-top: 0.25rem; font-size: 0.7rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--text-on-light-muted); }

/* challenge photo */
.co-king { margin: 0; }
.co-king img { aspect-ratio: 3 / 2; width: 100%; height: auto; object-fit: cover; }
.co-cap { position: absolute; left: 0; right: 0; bottom: 0; z-index: 2; padding: 56px var(--sp-3) var(--sp-3); font-family: var(--font-display); font-weight: 800; font-size: 0.9rem; letter-spacing: 0.08em; text-transform: uppercase; color: #fff; background: linear-gradient(180deg, transparent, rgba(1, 8, 20, 0.92)); }

/* event cards */
.co-event-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: var(--sp-3); }
.co-event { grid-column: span 2; position: relative; overflow: hidden; display: flex; flex-direction: column; background: #fff; border-radius: 22px; border: 1px solid var(--border-hairline-light); box-shadow: var(--shadow-card); transition: transform var(--dur-base) var(--ease-out), box-shadow var(--dur-base); }
.co-event:nth-child(n+4) { grid-column: span 3; }
.co-event:hover { transform: translateY(-10px); box-shadow: 0 28px 56px rgba(1, 10, 24, 0.2); }
.co-event-img { position: relative; aspect-ratio: 16 / 10; overflow: hidden; background: #031634; }
.co-event-img img { width: 100%; height: 100%; object-fit: cover; background: none; transition: transform 0.8s var(--ease-out); }
.co-event:hover .co-event-img img { transform: scale(1.08); }
.co-event-img::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 55%, rgba(2, 12, 31, 0.55)); }
.co-event-body { position: relative; padding: var(--sp-3) var(--sp-3) var(--sp-4); }
.co-event-body::before { content: ''; position: absolute; left: var(--sp-3); top: -2px; width: 56px; height: 4px; border-radius: 2px; background: var(--c-action-gold); transition: width 0.5s var(--ease-out); }
.co-event:hover .co-event-body::before { width: 120px; }
.co-event-n { position: absolute; top: 10px; right: 18px; font-family: var(--font-display); font-weight: 900; font-size: 2.4rem; line-height: 1; color: transparent; -webkit-text-stroke: 1.5px rgba(18, 64, 143, 0.18); }
.co-event h3 { margin: var(--sp-1) 0 0.4rem; font-size: 1.05rem; line-height: 1.25; color: var(--c-executive-blue); padding-right: 50px; }
.co-event p { margin: 0; font-size: 0.92rem; color: var(--text-on-light-muted); }

/* programs */
.co-progs { display: grid; grid-template-columns: repeat(6, 1fr); gap: var(--sp-3); }
.co-prog { grid-column: span 2; position: relative; overflow: hidden; display: flex; flex-direction: column; gap: 0.5rem; padding: var(--sp-4) var(--sp-3) var(--sp-3); background: linear-gradient(160deg, #fff, #f1f6ff); border-radius: 22px; border: 1px solid var(--border-hairline-light); box-shadow: var(--shadow-card); transition: transform var(--dur-base) var(--ease-out), box-shadow var(--dur-base); }
.co-prog:nth-child(n+4) { grid-column: span 3; }
.co-prog::before { content: ''; position: absolute; left: 0; right: 0; top: 0; height: 4px; background: linear-gradient(90deg, var(--c-action-gold), transparent); }
.co-prog:hover { transform: translateY(-8px); box-shadow: 0 26px 52px rgba(1, 10, 24, 0.18); }
.co-prog-n { position: absolute; top: 12px; right: 18px; font-family: var(--font-display); font-weight: 900; font-size: 2.6rem; line-height: 1; color: transparent; -webkit-text-stroke: 1.5px rgba(18, 64, 143, 0.16); }
.co-prog h3 { margin: 0; font-size: 1.1rem; line-height: 1.25; color: var(--c-executive-blue); padding-right: 50px; }
.co-prog p { margin: 0; font-size: 0.93rem; color: var(--text-on-light-muted); }
.co-prog-o { padding: 0.6rem 0.8rem; border-radius: 12px; background: rgba(248, 163, 9, 0.14); border-left: 3px solid var(--c-action-gold); color: var(--c-charcoal) !important; font-size: 0.86rem !important; }
.co-prog-o strong { color: var(--c-executive-blue); }
.co-prog .bk-link { margin-top: auto; padding-top: var(--sp-1); }

/* rooms like yours: slow pan */
.co-rooms { position: relative; overflow: hidden; height: 300px; display: grid; place-items: center; background: #031634; }
.co-rooms-track { position: absolute; inset: 0; display: flex; width: max-content; animation: co-pan 80s linear infinite; }
.co-rooms-track img { height: 100%; width: auto; max-width: none; flex: 0 0 auto; background: none; opacity: 0.85; }
@keyframes co-pan { to { transform: translateX(-50%); } }
.co-rooms::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(2, 12, 31, 0.85), rgba(4, 22, 52, 0.55) 50%, rgba(2, 12, 31, 0.85)); }
.co-rooms-copy { position: relative; z-index: 2; text-align: center; padding-inline: var(--sp-3); }
.co-rooms-copy h2 { color: #fff; font-size: clamp(1.4rem, 1rem + 1.6vw, 2.4rem); max-width: 22ch; margin-inline: auto; }
.co-rooms-copy h2 em { color: var(--c-action-gold); font-style: normal; }

/* five glasses, five outcomes */
.co-glasses { position: relative; margin-top: var(--sp-4); }
.co-glasses > img { display: block; width: 100%; height: auto; clip-path: inset(0 100% 0 0); transition: clip-path 2.6s var(--ease-out) 0.2s; background: none; }
.co-glasses.is-visible > img { clip-path: inset(0 0 0 0); }
.co-outs { list-style: none; display: grid; grid-template-columns: repeat(5, 1fr); margin: var(--sp-3) 0 0; padding: 0; }
.co-out { text-align: center; padding-inline: var(--sp-1); transition-delay: calc(var(--i) * 0.35s + 0.9s); }
.co-out-n { display: inline-grid; place-items: center; width: 42px; height: 42px; margin-bottom: var(--sp-1); border-radius: 50%; background: var(--c-action-gold); color: #04132b; font-family: var(--font-display); font-weight: 900; box-shadow: 0 0 0 5px rgba(248, 163, 9, 0.18), 0 8px 20px rgba(248, 163, 9, 0.3); }
.co-out h3 { margin: 0 0 0.3rem; font-size: 1rem; color: var(--c-executive-blue); }
.co-out p { margin: 0; font-size: 0.86rem; color: var(--text-on-light-muted); }

.co-working { position: relative; overflow: hidden; }
.co-working-bg { position: absolute; inset: 0; z-index: 0; }
.co-working-bg img { width: 100%; height: 100%; object-fit: cover; opacity: 0.2; background: none; }
.co-working-bg::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, var(--c-midnight-navy), rgba(3, 22, 52, 0.7) 50%, var(--c-midnight-navy)); }
.co-quotes { grid-template-columns: repeat(3, 1fr); }
.co-event::after, .co-prog::after, .co-out::after { content: none; }

@media (max-width: 1000px) {
  .co-hero { padding-bottom: 110px; }
  .co-hero-grid { grid-template-columns: 1fr; gap: var(--sp-4); }
  .co-portrait-wrap { margin-inline: auto; max-width: 340px; }
  .co-float-1 { left: -6px; } .co-float-2 { right: -6px; } .co-float-3 { left: -10px; }
  .co-stars { grid-template-columns: repeat(2, 1fr); }
  .co-stars li:nth-child(odd) { border-left: 0; }
  .co-stars li:nth-child(n+3) { border-top: 1px solid var(--border-hairline-light); }
  .co-stars li:last-child { grid-column: 1 / -1; }
  .co-event-grid, .co-progs { grid-template-columns: repeat(2, 1fr); }
  .co-event, .co-event:nth-child(n+4), .co-prog, .co-prog:nth-child(n+4) { grid-column: auto; }
  .co-event:last-child, .co-prog:last-child { grid-column: 1 / -1; }
  .co-quotes { grid-template-columns: 1fr; }
  .co-outs { grid-template-columns: 1fr; gap: var(--sp-3); text-align: left; }
  .co-out { display: grid; grid-template-columns: 42px 1fr; column-gap: var(--sp-2); text-align: left; }
  .co-out-n { grid-row: span 2; margin: 0; }
}
@media (max-width: 640px) {
  .co-event-grid, .co-progs { grid-template-columns: 1fr; }
  .co-rooms { height: 240px; }
  .co-float { font-size: 0.58rem; padding: 0.45rem 0.7rem; } .co-float b { font-size: 1.05rem; }
}

/* =====================================================================
   Entrepreneurs & Business Owners audience page (.en-*)
   ===================================================================== */
.en-hero .co-hero-bg img { opacity: 0.85; object-position: 70% center; }
.en-hero .co-hero-bg::after { background: linear-gradient(95deg, rgba(2, 12, 31, 0.97) 8%, rgba(2, 12, 31, 0.8) 42%, rgba(4, 22, 52, 0.15) 80%), linear-gradient(180deg, transparent 72%, #020c1f 100%); }
.en-hero .co-hero-grid { grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr); }
.en-hero h1 { font-size: clamp(2rem, 1.1rem + 2.9vw, 3.5rem); }
.en-hero h1 .en-words { display: block; background: none; -webkit-text-fill-color: initial; animation: none; filter: none; }
.en-w { font-style: normal; color: rgba(255, 255, 255, 0.55); animation: en-word 9s ease-in-out infinite; text-shadow: none; }
.en-w2 { animation-delay: 3s; } .en-w3 { animation-delay: 6s; }
@keyframes en-word { 0%, 28%, 100% { color: rgba(255, 255, 255, 0.5); text-shadow: none; } 6%, 22% { color: #ffc14d; text-shadow: 0 0 34px rgba(248, 163, 9, 0.75); } }

/* hero trio: three cards light up in turn, joined by a rising line */
.en-trio { position: relative; display: grid; gap: var(--sp-2); max-width: 380px; margin-left: auto; padding-left: 36px; }
.en-trio-line { position: absolute; left: 12px; top: 28px; bottom: 28px; width: 3px; border-radius: 2px; background: rgba(255, 255, 255, 0.2); overflow: hidden; }
.en-trio-line::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, #ffe3a1, #f8a309); transform-origin: top; animation: en-line 9s ease-in-out infinite; }
@keyframes en-line { 0% { transform: scaleY(0); } 70%, 92% { transform: scaleY(1); } 100% { transform: scaleY(1); opacity: 0; } }
.en-trio-card { position: relative; display: grid; grid-template-columns: 46px 1fr; grid-template-areas: "i b" "i s"; column-gap: var(--sp-2); align-items: center; padding: 1rem 1.2rem; border-radius: 18px; background: rgba(2, 12, 31, 0.72); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); border: 1px solid rgba(255, 255, 255, 0.16); animation: en-card 9s ease-in-out infinite; }
.en-trio-card::before { content: ''; position: absolute; left: -31px; top: 50%; width: 14px; height: 14px; translate: 0 -50%; border-radius: 50%; background: #0a2a5c; border: 3px solid rgba(255, 255, 255, 0.4); animation: en-dot 9s ease-in-out infinite; }
.en-c2, .en-c2::before { animation-delay: 3s; } .en-c3, .en-c3::before { animation-delay: 6s; }
.en-trio-card svg { grid-area: i; width: 40px; height: 40px; padding: 8px; border-radius: 12px; background: rgba(255, 255, 255, 0.1); color: #fff; }
.en-trio-card b { grid-area: b; font-family: var(--font-display); font-size: 1.15rem; letter-spacing: 0.06em; text-transform: uppercase; color: #fff; }
.en-trio-card span { grid-area: s; font-size: 0.82rem; color: rgba(255, 255, 255, 0.75); }
@keyframes en-card { 0%, 28%, 100% { transform: none; border-color: rgba(255, 255, 255, 0.16); box-shadow: none; } 6%, 22% { transform: translateX(-14px); border-color: rgba(248, 163, 9, 0.9); box-shadow: 0 0 40px rgba(248, 163, 9, 0.3); } }
@keyframes en-dot { 0%, 28%, 100% { background: #0a2a5c; box-shadow: none; } 6%, 22% { background: #f8a309; box-shadow: 0 0 16px 4px rgba(248, 163, 9, 0.7); } }

/* challenge: a dark room, lit by the cursor */
@property --sx { syntax: '<percentage>'; inherits: false; initial-value: 30%; }
@property --sy { syntax: '<percentage>'; inherits: false; initial-value: 55%; }
.en-challenge { position: relative; overflow: hidden; background: linear-gradient(180deg, var(--c-midnight-navy), #031634); }
.en-ch-grid { display: grid; grid-template-columns: 0.9fr 1.1fr; gap: var(--sp-6); align-items: center; }
.en-challenge .bk-h2 { color: #fff; }
.en-challenge p:not(.eyebrow) { color: rgba(255, 255, 255, 0.84); margin-top: var(--sp-2); max-width: 52ch; }
.en-light { position: relative; aspect-ratio: 16 / 10; border-radius: 24px; overflow: hidden; cursor: crosshair; box-shadow: 0 30px 70px rgba(0, 0, 0, 0.55), 0 0 0 1px rgba(255, 255, 255, 0.1); animation: en-wander 12s ease-in-out infinite alternate; }
.en-light.is-live { animation: none; }
@keyframes en-wander { 0% { --sx: 22%; --sy: 60%; } 35% { --sx: 55%; --sy: 38%; } 70% { --sx: 80%; --sy: 62%; } 100% { --sx: 38%; --sy: 48%; } }
.en-light img { width: 100%; height: 100%; object-fit: cover; object-position: 60% center; background: none; filter: saturate(1.1); }
.en-light-dark { position: absolute; inset: 0; background: radial-gradient(circle 170px at var(--sx) var(--sy), transparent 0, rgba(1, 6, 18, 0.55) 55%, rgba(1, 6, 18, 0.93) 100%); pointer-events: none; }
.en-light-dark::after { content: ''; position: absolute; inset: 0; background: radial-gradient(circle 120px at var(--sx) var(--sy), rgba(255, 226, 150, 0.22), transparent 70%); mix-blend-mode: screen; }
.en-light-cue { position: absolute; left: 50%; bottom: 14px; translate: -50% 0; padding: 0.35rem 0.9rem; border-radius: var(--radius-pill); background: rgba(2, 12, 31, 0.8); border: 1px solid rgba(248, 163, 9, 0.6); color: #ffd36b; font-size: 0.68rem; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; white-space: nowrap; pointer-events: none; }
.en-pill { position: absolute; padding: 0.5rem 0.9rem; border-radius: 14px; font-family: var(--font-display); font-weight: 800; font-size: 0.8rem; letter-spacing: 0.04em; text-transform: uppercase; line-height: 1.2; pointer-events: none; }
.en-pill small { display: block; font-family: var(--font-body); font-weight: 600; letter-spacing: 0.04em; font-size: 0.66rem; text-transform: none; opacity: 0.85; }
.en-pill-a { left: 5%; top: 8%; background: rgba(2, 12, 31, 0.7); border: 1px dashed rgba(255, 255, 255, 0.45); color: rgba(255, 255, 255, 0.75); }
.en-pill-b { right: 5%; top: 8%; background: linear-gradient(145deg, #ffc14d, #f8a309); color: #04132b; box-shadow: 0 0 36px rgba(248, 163, 9, 0.55); animation: ian-top 3.4s ease-in-out infinite; }

/* event accordion */
.en-ev-row { display: flex; gap: var(--sp-2); height: 470px; }
.en-ev { position: relative; flex: 1 1 0; min-width: 0; overflow: hidden; border-radius: 22px; background: #031634; cursor: pointer; outline: none; box-shadow: var(--shadow-card); transition: flex-grow 0.7s var(--ease-out), box-shadow 0.4s; }
.en-ev.is-open { flex-grow: 4.4; box-shadow: 0 28px 60px rgba(1, 10, 24, 0.35); }
.en-ev img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; background: none; filter: brightness(0.55) saturate(0.9); transition: filter 0.6s, transform 1.2s var(--ease-out); transform: scale(1.12); }
.en-ev.is-open img { filter: none; transform: scale(1); }
.en-ev::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(2, 12, 31, 0.05) 30%, rgba(2, 12, 31, 0.92)); pointer-events: none; }
.en-ev-body { position: absolute; z-index: 2; left: 0; right: 0; bottom: 0; padding: var(--sp-3); color: #fff; }
.en-ev-n { position: absolute; top: -70px; left: var(--sp-3); font-family: var(--font-display); font-weight: 900; font-size: 2.6rem; line-height: 1; color: var(--c-action-gold); text-shadow: 0 0 24px rgba(248, 163, 9, 0.6); }
.en-ev h3 { margin: 0; color: #fff; font-size: 1.05rem; line-height: 1.25; }
.en-ev p { margin: 0; max-height: 0; opacity: 0; overflow: hidden; font-size: 0.93rem; color: rgba(255, 255, 255, 0.88); transition: max-height 0.7s var(--ease-out), opacity 0.5s ease 0.15s, margin 0.5s; }
.en-ev.is-open p { max-height: 200px; opacity: 1; margin-top: 0.6rem; }
.en-ev:not(.is-open) h3 { font-size: 0.95rem; }
.en-ev:focus-visible { box-shadow: 0 0 0 3px var(--c-action-gold); }

/* programs */
.en-kns { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--sp-3); margin-top: var(--sp-4); }
.en-kn { position: relative; overflow: hidden; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 0.7rem; padding: var(--sp-4) var(--sp-3) var(--sp-3); border-radius: 24px; background: linear-gradient(170deg, #fff, #eef4ff); border: 1px solid var(--border-hairline-light); box-shadow: var(--shadow-card); transition: transform var(--dur-base) var(--ease-out), box-shadow var(--dur-base); }
.en-kn:nth-child(1) { background: linear-gradient(170deg, #0a2a5c, #031634); border-color: rgba(248, 163, 9, 0.6); }
.en-kn:nth-child(1) h3, .en-kn:nth-child(1) p { color: #fff; } .en-kn:nth-child(1) .en-kn-take { background: rgba(248, 163, 9, 0.16); color: #ffe3a1 !important; } .en-kn:nth-child(1) .bk-link { color: #fff; }
.en-kn:hover { transform: translateY(-12px); box-shadow: 0 32px 64px rgba(1, 10, 24, 0.22); }
.en-kn .bk-cover { width: 130px; margin-bottom: var(--sp-1); }
.en-kn-tag { position: absolute; top: 14px; left: 14px; padding: 0.25rem 0.75rem; border-radius: var(--radius-pill); background: linear-gradient(135deg, #ffc14d, #f8a309); color: #04132b; font-size: 0.64rem; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; }
.en-kn h3 { margin: 0; font-size: 1.15rem; color: var(--c-executive-blue); }
.en-kn p { margin: 0; font-size: 0.92rem; color: var(--text-on-light-muted); }
.en-kn-take { padding: 0.6rem 0.8rem; border-radius: 12px; background: rgba(248, 163, 9, 0.14); color: var(--c-charcoal) !important; font-size: 0.84rem !important; }
.en-kn .bk-link { margin-top: auto; padding-top: var(--sp-1); }
.en-also { display: grid; grid-template-columns: 1fr 1fr; gap: var(--sp-2); margin-top: var(--sp-4); }
.en-also h3 { grid-column: 1 / -1; margin: 0; font-size: 0.78rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--c-executive-blue); }
.en-also a { display: flex; flex-direction: column; gap: 0.3rem; padding: var(--sp-2) var(--sp-3); border-radius: 16px; background: var(--c-soft-gray); border-left: 4px solid var(--c-action-gold); transition: transform var(--dur-base) var(--ease-out), background var(--dur-base); }
.en-also a:hover { transform: translateX(8px); background: #fff; box-shadow: var(--shadow-card); }
.en-also b { color: var(--c-executive-blue); font-size: 0.98rem; } .en-also span { font-size: 0.88rem; color: var(--text-on-light-muted); } .en-also i { font-style: normal; margin-top: 0.3rem; }

/* the offer ladder */
.en-ladder { position: relative; overflow: hidden; }
.en-ladder .bk-h2 { color: #fff; } .en-ladder .bk-series-head p:not(.eyebrow) { color: rgba(255, 255, 255, 0.82); }
.en-ladder-wrap { position: relative; max-width: 860px; margin: var(--sp-5) auto 0; }
.en-ladder-wrap::before, .en-ladder-wrap::after { content: ''; position: absolute; top: 10px; bottom: 10px; width: 6px; border-radius: 3px; background: rgba(255, 255, 255, 0.14); }
.en-ladder-wrap::before { left: 14px; } .en-ladder-wrap::after { right: 14px; }
.en-rungs { list-style: none; margin: 0; padding: 0 44px; display: grid; gap: 14px; counter-reset: r; }
.en-rung { position: relative; display: grid; grid-template-columns: 56px 1fr auto; gap: var(--sp-3); align-items: center; padding: var(--sp-2) var(--sp-3); border-radius: 16px; background: linear-gradient(90deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.03)); border: 1px solid rgba(255, 255, 255, 0.14); margin-left: calc(var(--i) * 3%); transition: transform var(--dur-base) var(--ease-out), border-color var(--dur-base), background var(--dur-base); }
.en-rung:hover { transform: translateX(10px); border-color: rgba(248, 163, 9, 0.8); background: linear-gradient(90deg, rgba(248, 163, 9, 0.2), rgba(255, 255, 255, 0.04)); }
.en-rung::before, .en-rung::after { content: ''; position: absolute; top: 50%; width: 30px; height: 6px; translate: 0 -50%; border-radius: 3px; background: rgba(255, 255, 255, 0.28); }
.en-rung::before { left: -30px; } .en-rung::after { right: -30px; }
.en-rung-n { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 50%; background: var(--c-action-gold); color: #04132b; font-family: var(--font-display); font-weight: 900; font-size: 1.3rem; box-shadow: 0 0 0 6px rgba(248, 163, 9, 0.18), 0 10px 24px rgba(248, 163, 9, 0.35); }
.en-rung h3 { margin: 0 0 0.2rem; font-size: 1.05rem; color: #fff; }
.en-rung p { margin: 0; font-size: 0.9rem; color: rgba(255, 255, 255, 0.8); }
.en-rung-w { font-family: var(--font-display); font-weight: 900; font-size: 0.8rem; letter-spacing: 0.14em; text-transform: uppercase; color: rgba(255, 227, 161, 0.85); padding: 0.3rem 0.8rem; border-radius: var(--radius-pill); border: 1px solid rgba(248, 163, 9, 0.5); }
.en-rung:first-child { background: linear-gradient(90deg, rgba(248, 163, 9, 0.22), rgba(255, 255, 255, 0.04)); border-color: rgba(248, 163, 9, 0.6); }

/* why Mike */
.en-why-grid { display: grid; grid-template-columns: 0.8fr 1.2fr; gap: var(--sp-6); align-items: center; }
.en-why-photo { position: relative; margin: 0; max-width: 420px; border-radius: 28px; overflow: hidden; box-shadow: 0 34px 70px rgba(1, 10, 24, 0.4); perspective: 1000px; }
.en-why-photo img { width: 100%; height: auto; display: block; background: none; }
.en-why-photo figcaption { position: absolute; left: 0; right: 0; bottom: 0; padding: 60px var(--sp-3) var(--sp-3); background: linear-gradient(180deg, transparent, rgba(2, 12, 31, 0.94)); color: #fff; font-weight: 700; font-size: 0.82rem; }
.en-why-photo figcaption b { font-family: var(--font-display); font-weight: 900; font-size: 3rem; line-height: 1; margin-right: 0.3rem; color: var(--c-action-gold); text-shadow: 0 0 26px rgba(248, 163, 9, 0.6); }
.en-why-photo figcaption span { display: block; margin-top: 0.2rem; font-weight: 600; opacity: 0.85; }
.en-why-p { margin-top: var(--sp-2); color: var(--text-on-light-muted); max-width: 58ch; }
.en-chips { list-style: none; display: grid; grid-template-columns: repeat(4, auto); justify-content: start; gap: var(--sp-2); margin: var(--sp-3) 0; padding: 0; }
.en-chips li { padding: 0.8rem 1rem; border-radius: 16px; background: linear-gradient(160deg, var(--c-executive-blue), #0a2a5c); color: rgba(255, 255, 255, 0.85); font-size: 0.68rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; line-height: 1.25; max-width: 130px; transition: transform var(--dur-base) var(--ease-out); }
.en-chips li:hover { transform: translateY(-6px) rotate(-1.5deg); }
.en-chips b { display: block; font-family: var(--font-display); font-weight: 900; font-size: 1.6rem; line-height: 1.1; color: var(--c-action-gold); text-shadow: 0 0 18px rgba(248, 163, 9, 0.5); }

.en-trio-card::after { content: none; }
@media (max-width: 1000px) {
  .en-trio { margin-inline: auto; max-width: 420px; padding-left: 34px; }
  .en-ch-grid, .en-why-grid { grid-template-columns: 1fr; gap: var(--sp-4); }
  .en-kns, .en-also { grid-template-columns: 1fr; }
  .en-ev-row { flex-direction: column; height: auto; }
  .en-ev { flex: none; height: 92px; }
  .en-ev.is-open { height: 360px; }
  .en-ev-n { display: none; }
  .en-ev:not(.is-open) .en-ev-body { top: 0; display: flex; align-items: center; }
  .en-hero .co-hero-bg img { object-position: 85% center; }
  .en-hero .co-hero-bg::after { background: linear-gradient(180deg, rgba(2, 12, 31, 0.92), rgba(2, 12, 31, 0.8) 60%, #020c1f); }
  .en-chips { grid-template-columns: repeat(2, 1fr); } .en-chips li { max-width: none; }
  .en-why-photo { margin-inline: auto; }
}
@media (max-width: 640px) {
  .en-rungs { padding: 0 20px; } .en-ladder-wrap::before { left: 6px; } .en-ladder-wrap::after { right: 6px; }
  .en-rung { grid-template-columns: 44px 1fr; margin-left: 0; padding: var(--sp-2); } .en-rung-w { display: none; }
  .en-rung::before, .en-rung::after { display: none; }
  .en-rung-n { width: 40px; height: 40px; font-size: 1.05rem; }
  .en-pill { font-size: 0.66rem; padding: 0.35rem 0.6rem; } .en-light-cue { font-size: 0.58rem; }
}
/* entrepreneurs: fixes */
.en-w { color: #ffc14d; animation: en-word 9s ease-in-out infinite; }
@keyframes en-word { 0%, 28%, 100% { color: #ffc14d; text-shadow: 0 0 0 rgba(248, 163, 9, 0); } 6%, 22% { color: #ffe3a1; text-shadow: 0 0 34px rgba(248, 163, 9, 0.85); } }
.en-light-dark { background: radial-gradient(circle 190px at var(--sx) var(--sy), transparent 0, rgba(1, 6, 18, 0.4) 55%, rgba(1, 6, 18, 0.84) 100%); }
@media (min-width: 1001px) {
  .en-ev:not(.is-open) .en-ev-body { top: 0; display: flex; align-items: flex-end; justify-content: center; padding: 0 0 var(--sp-3); }
  .en-ev:not(.is-open) h3 { writing-mode: vertical-rl; transform: rotate(180deg); white-space: nowrap; font-size: 0.92rem; letter-spacing: 0.04em; max-height: 330px; }
  .en-ev:not(.is-open) .en-ev-n { top: 16px; left: 50%; translate: -50% 0; font-size: 2rem; }
}
.en-rungs { display: flex; flex-direction: column-reverse; }
.en-rung:first-child { background: linear-gradient(90deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.03)); border-color: rgba(255, 255, 255, 0.14); }
@media (max-width: 640px) { .en-rung { margin-left: 0; } }
@media (max-width: 1000px) { .en-hero .co-hero-grid { grid-template-columns: minmax(0, 1fr); } .en-trio { width: 100%; box-sizing: border-box; } .en-trio-card { animation-name: en-card-m; } }
@keyframes en-card-m { 0%, 28%, 100% { border-color: rgba(255, 255, 255, 0.16); box-shadow: none; } 6%, 22% { border-color: rgba(248, 163, 9, 0.9); box-shadow: 0 0 40px rgba(248, 163, 9, 0.3); } }

/* =====================================================================
   Colleges & Universities audience page (.cu-*)
   ===================================================================== */
.cu-hero .co-hero-bg img { opacity: 0.95; object-position: 70% center; }
.cu-hero .co-hero-bg::after { background: linear-gradient(95deg, rgba(2, 12, 31, 0.97) 8%, rgba(2, 12, 31, 0.82) 40%, rgba(4, 22, 52, 0.1) 78%), linear-gradient(180deg, transparent 72%, #020c1f 100%); }
.cu-hero .co-hero-grid { grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr); }
.cu-hero h1 { font-size: clamp(1.9rem, 1.1rem + 2.8vw, 3.4rem); }
.cu-planner { max-width: 360px; margin-left: auto; padding: var(--sp-3); border-radius: 22px; background: rgba(2, 12, 31, 0.78); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); border: 1px solid rgba(255, 255, 255, 0.18); box-shadow: 0 30px 70px rgba(0, 0, 0, 0.5), 0 0 60px rgba(248, 163, 9, 0.12); transform: rotate(1.5deg); }
.cu-planner-head { display: flex; align-items: center; gap: 0.5rem; font-size: 0.7rem; font-weight: 800; letter-spacing: 0.14em; text-transform: uppercase; color: var(--c-action-gold); }
.cu-planner-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--c-action-gold); box-shadow: 0 0 10px var(--c-action-gold); animation: fx-oi 2.4s ease-in-out infinite; }
.cu-planner ul { list-style: none; margin: var(--sp-2) 0; padding: 0; display: grid; gap: 0.9rem; }
.cu-planner li { display: flex; align-items: center; gap: 0.8rem; padding-bottom: 0.7rem; border-bottom: 1px dashed rgba(255, 255, 255, 0.2); }
.cu-tick { flex: 0 0 auto; display: grid; place-items: center; width: 26px; height: 26px; border-radius: 8px; border: 2px solid var(--c-action-gold); background: var(--c-action-gold); color: #04132b; animation: cu-tick 8.4s ease-in-out infinite; }
.cu-tick svg { width: 16px; height: 16px; }
.cu-line b { display: block; font-size: 0.95rem; font-weight: 600; color: #fff; animation: cu-write 8.4s ease-in-out infinite; }
.cu-planner li:nth-child(2) .cu-tick, .cu-planner li:nth-child(2) .cu-line b { animation-delay: 2.4s; }
.cu-planner li:nth-child(3) .cu-tick, .cu-planner li:nth-child(3) .cu-line b { animation-delay: 4.8s; }
@keyframes cu-write { 0% { clip-path: inset(0 100% 0 0); } 18%, 88% { clip-path: inset(0 0 0 0); } 96%, 100% { clip-path: inset(0 100% 0 0); } }
@keyframes cu-tick { 0%, 16% { background: transparent; border-color: rgba(255, 255, 255, 0.5); color: transparent; transform: scale(1); } 22% { transform: scale(1.3); } 28%, 88% { background: var(--c-action-gold); border-color: var(--c-action-gold); color: #04132b; transform: scale(1); box-shadow: 0 0 16px rgba(248, 163, 9, 0.6); } 96%, 100% { background: transparent; border-color: rgba(255, 255, 255, 0.5); color: transparent; box-shadow: none; } }
.cu-planner-foot { font-size: 0.78rem; color: rgba(255, 255, 255, 0.75); }

/* readiness meter */
.cu-challenge { position: relative; overflow: hidden; background: linear-gradient(180deg, var(--c-midnight-navy), #031634); }
.cu-ch-grid { display: grid; grid-template-columns: 1.05fr 0.95fr; gap: var(--sp-6); align-items: center; }
.cu-challenge .bk-h2 { color: #fff; }
.cu-challenge p:not(.eyebrow):not(.cu-meter-note) { color: rgba(255, 255, 255, 0.84); margin-top: var(--sp-2); max-width: 54ch; }
.cu-meter { text-align: center; padding: var(--sp-4); border-radius: 28px; background: radial-gradient(70% 70% at 50% 35%, #0b2f66, #031634 85%); border: 1px solid rgba(255, 255, 255, 0.12); box-shadow: 0 30px 70px rgba(0, 0, 0, 0.5); }
.cu-ring { position: relative; width: min(240px, 100%); aspect-ratio: 1; margin: 0 auto var(--sp-3); }
.cu-ring svg { width: 100%; height: 100%; transform: rotate(-90deg); overflow: visible; }
.cu-ring circle { fill: none; stroke-width: 12; }
.cu-ring-bg { stroke: rgba(255, 255, 255, 0.12); }
.cu-ring-fg { stroke: #8fb2f2; stroke-linecap: round; stroke-dasharray: 540.4; stroke-dashoffset: 540.4; filter: drop-shadow(0 0 8px rgba(143, 178, 242, 0.7)); transition: stroke 0.5s; }
.cu-meter.is-started .cu-ring-fg { stroke: #f8a309; filter: drop-shadow(0 0 14px rgba(248, 163, 9, 0.9)); }
.cu-ring-c { position: absolute; inset: 0; display: grid; place-content: center; text-align: center; }
.cu-ring-c b { font-family: var(--font-display); font-weight: 900; font-size: 3rem; line-height: 1; color: #fff; }
.cu-ring-c span { margin: 0.4rem auto 0; max-width: 12ch; font-size: 0.72rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: rgba(255, 255, 255, 0.7); }
.cu-meter.is-started .cu-ring-c b { color: var(--c-action-gold); text-shadow: 0 0 26px rgba(248, 163, 9, 0.7); }
.cu-meter.is-started .cu-ring-c span { color: #ffe3a1; }
.cu-start[disabled] { opacity: 0.85; cursor: default; }
.cu-meter-note { margin: var(--sp-2) 0 0; font-size: 0.85rem; color: rgba(255, 255, 255, 0.7); }

/* semester path */
.cu-path { display: grid; grid-template-columns: repeat(5, 1fr); margin-top: var(--sp-4); }
.cu-stop { position: relative; padding-inline: 10px; }
.cu-stop-img { aspect-ratio: 7 / 5; overflow: hidden; border-radius: 18px; box-shadow: var(--shadow-card); background: #031634; }
.cu-stop-img img { width: 100%; height: 100%; object-fit: cover; background: none; transition: transform 0.9s var(--ease-out); }
.cu-stop:hover .cu-stop-img img { transform: scale(1.1); }
.cu-stop-dot { position: relative; display: flex; justify-content: center; height: 56px; align-items: center; margin-inline: -10px; background: linear-gradient(rgba(18, 64, 143, 0.2), rgba(18, 64, 143, 0.2)) center / 100% 4px no-repeat; }
.cu-stop-dot::after { content: ''; position: absolute; left: 0; top: 26px; height: 4px; width: 0; background: linear-gradient(90deg, #12408f, #f8a309); box-shadow: 0 0 10px rgba(248, 163, 9, 0.6); transition: width 1.1s var(--ease-out); transition-delay: calc(var(--i) * 0.35s + 0.3s); }
.cu-stop.is-visible .cu-stop-dot::after { width: 100%; }
.cu-stop:first-child .cu-stop-dot { background-position: right center; background-size: 50% 4px; }
.cu-stop:first-child .cu-stop-dot::after { left: 50%; }
.cu-stop:first-child.is-visible .cu-stop-dot::after { width: 50%; }
.cu-stop:last-child .cu-stop-dot { background-position: left center; background-size: 50% 4px; }
.cu-stop:last-child.is-visible .cu-stop-dot::after { width: 50%; }
.cu-stop-dot i { position: relative; z-index: 1; display: grid; place-items: center; width: 42px; height: 42px; border-radius: 50%; background: var(--c-action-gold); color: #04132b; font-style: normal; font-family: var(--font-display); font-weight: 900; box-shadow: 0 0 0 6px rgba(248, 163, 9, 0.2), 0 8px 20px rgba(248, 163, 9, 0.35); }
.cu-stop h3 { margin: 0 0 0.4rem; font-size: 0.98rem; line-height: 1.25; color: var(--c-executive-blue); }
.cu-stop p { margin: 0; font-size: 0.86rem; color: var(--text-on-light-muted); }

/* programs */
.cu-progs { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--sp-3); }
.cu-prog { position: relative; overflow: hidden; display: grid; grid-template-columns: 96px 1fr; gap: var(--sp-3); align-items: start; padding: var(--sp-3); border-radius: 22px; background: linear-gradient(160deg, #fff, #f1f6ff); border: 1px solid var(--border-hairline-light); box-shadow: var(--shadow-card); transition: transform var(--dur-base) var(--ease-out), box-shadow var(--dur-base); }
.cu-prog::before { content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 5px; background: linear-gradient(180deg, var(--c-action-gold), transparent); }
.cu-prog:hover { transform: translateY(-8px); box-shadow: 0 26px 52px rgba(1, 10, 24, 0.18); }
.cu-prog-cover { width: 96px; height: auto; border-radius: 4px; box-shadow: 0 14px 30px rgba(1, 10, 24, 0.4); background: none; transform: rotate(-4deg); transition: transform 0.5s var(--ease-out); }
.cu-prog:hover .cu-prog-cover { transform: rotate(0) scale(1.06); }
.cu-prog-ico { display: grid; place-items: center; width: 72px; height: 72px; border-radius: 20px; background: linear-gradient(145deg, #ffc14d, #f8a309); color: #04132b; box-shadow: 0 10px 24px rgba(248, 163, 9, 0.35); }
.cu-prog-ico svg { width: 34px; height: 34px; }
.cu-prog h3 { margin: 0 0 0.4rem; font-size: 1.08rem; color: var(--c-executive-blue); }
.cu-prog p { margin: 0 0 0.5rem; font-size: 0.92rem; color: var(--text-on-light-muted); }
.cu-best { padding: 0.5rem 0.75rem; border-radius: 10px; background: rgba(248, 163, 9, 0.14); border-left: 3px solid var(--c-action-gold); color: var(--c-charcoal) !important; font-size: 0.84rem !important; }

/* learning outcomes: the proposal sheet */
.cu-outsec { position: relative; overflow: hidden; }
.cu-outsec .bk-h2 { color: #fff; }
.cu-out-grid { display: grid; grid-template-columns: 0.85fr 1.15fr; gap: var(--sp-6); align-items: center; }
.cu-out-grid > div:first-child p:not(.eyebrow) { color: rgba(255, 255, 255, 0.84); margin: var(--sp-2) 0 var(--sp-3); max-width: 46ch; }
.cu-copy-note { display: block; margin-top: 0.7rem; min-height: 1.2em; font-size: 0.85rem; font-weight: 700; color: #ffd36b; }
.cu-sheet { position: relative; padding: var(--sp-4); border-radius: 8px 22px 22px 22px; background: #fffdf7 repeating-linear-gradient(180deg, transparent 0 35px, rgba(18, 64, 143, 0.07) 35px 36px); color: var(--c-charcoal); box-shadow: 0 40px 80px rgba(0, 0, 0, 0.55); transform: rotate(-1.2deg); border-top: 8px solid var(--c-action-gold); }
.cu-sheet-head { display: flex; justify-content: space-between; gap: 1rem; padding-bottom: 0.6rem; margin-bottom: var(--sp-2); border-bottom: 2px solid var(--c-executive-blue); font-family: var(--font-display); font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; font-size: 0.85rem; color: var(--c-executive-blue); }
.cu-sheet-head i { font-style: normal; font-family: var(--font-body); font-weight: 600; letter-spacing: 0.04em; text-transform: none; color: var(--text-on-light-muted); }
.cu-sheet-lead { margin: 0 0 var(--sp-2); font-weight: 700; color: var(--c-executive-blue); }
.cu-ocs { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.75rem; }
.cu-oc { display: flex; align-items: flex-start; gap: 0.8rem; font-size: 0.97rem; line-height: 1.45; }
.cu-oc strong { color: var(--c-executive-blue); }
.cu-box { flex: 0 0 auto; display: grid; place-items: center; width: 24px; height: 24px; margin-top: 1px; border-radius: 6px; border: 2px solid var(--c-executive-blue); color: transparent; transition: background 0.4s, color 0.4s, border-color 0.4s; transition-delay: calc(var(--i) * 0.45s + 0.4s); }
.cu-box svg { width: 15px; height: 15px; }
.cu-sheet.is-visible .cu-box { background: var(--c-action-gold); border-color: var(--c-action-gold); color: #04132b; }

/* why students stay */
.cu-why-grid { display: grid; grid-template-columns: 1.1fr 0.9fr; gap: var(--sp-6); align-items: center; }
.cu-why-photo { position: relative; margin: 0; border-radius: 26px; overflow: hidden; box-shadow: 0 34px 70px rgba(1, 10, 24, 0.4); perspective: 1000px; }
.cu-why-photo img { width: 100%; height: auto; display: block; background: none; }
.cu-bub { position: absolute; padding: 0.55rem 1rem; border-radius: var(--radius-pill); background: rgba(2, 12, 31, 0.86); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); border: 1px solid rgba(248, 163, 9, 0.7); color: #fff; font-size: 0.74rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; box-shadow: 0 12px 28px rgba(0, 0, 0, 0.45); animation: co-bob 6s ease-in-out infinite; }
.cu-bub::before { content: ''; display: inline-block; width: 8px; height: 8px; margin-right: 0.5rem; border-radius: 50%; background: var(--c-action-gold); box-shadow: 0 0 10px var(--c-action-gold); }
.cu-bub-1 { left: 5%; top: 8%; } .cu-bub-2 { left: 4%; top: 46%; animation-delay: -2s; } .cu-bub-3 { right: 5%; bottom: 7%; animation-delay: -4s; }
.cu-why-p { margin-top: var(--sp-2); color: var(--text-on-light-muted); max-width: 54ch; }
.cu-why .bk-link { margin-top: var(--sp-2); }

@media (max-width: 1000px) {
  .cu-hero .co-hero-grid { grid-template-columns: minmax(0, 1fr); }
  .cu-planner { margin: 0 auto; transform: none; width: 100%; box-sizing: border-box; }
  .cu-hero .co-hero-bg img { object-position: 78% center; }
  .cu-hero .co-hero-bg::after { background: linear-gradient(180deg, rgba(2, 12, 31, 0.92), rgba(2, 12, 31, 0.8) 60%, #020c1f); }
  .cu-ch-grid, .cu-out-grid, .cu-why-grid { grid-template-columns: 1fr; gap: var(--sp-4); }
  .cu-progs { grid-template-columns: 1fr; }
  .cu-path { grid-template-columns: 1fr; gap: var(--sp-3); padding-left: 34px; }
  .cu-path::before { content: ''; position: absolute; left: 14px; top: 10px; bottom: 10px; width: 4px; border-radius: 2px; background: linear-gradient(180deg, #12408f, #f8a309); }
  .cu-path { position: relative; }
  .cu-stop { padding-inline: 0; display: grid; grid-template-columns: 120px 1fr; column-gap: var(--sp-2); align-items: start; }
  .cu-stop-img { grid-row: span 2; aspect-ratio: 1; }
  .cu-stop-dot { position: absolute; left: -34px; top: 0; width: 32px; height: 32px; margin: 0; background: none !important; }
  .cu-stop-dot::after { display: none; }
  .cu-stop-dot i { width: 32px; height: 32px; font-size: 0.85rem; box-shadow: 0 0 0 4px rgba(248, 163, 9, 0.2); }
  .cu-stop h3, .cu-stop p { grid-column: 2; }
}
@media (max-width: 560px) {
  .cu-stop { grid-template-columns: 1fr; }
  .cu-stop-img { grid-row: auto; aspect-ratio: 16 / 9; margin-bottom: 0.6rem; }
  .cu-stop h3, .cu-stop p { grid-column: 1; }
  .cu-prog { grid-template-columns: 70px 1fr; padding: var(--sp-2); }
  .cu-prog-cover { width: 70px; } .cu-prog-ico { width: 56px; height: 56px; }
  .cu-sheet { padding: var(--sp-3); } .cu-sheet-head i { display: none; }
  .cu-bub { font-size: 0.6rem; padding: 0.4rem 0.7rem; }
  .cu-meter { padding: var(--sp-3); }
}
@media (min-width: 1001px) { .cu-planner { margin-top: 150px; } }

.cu-out-grid, .cu-ch-grid, .cu-why-grid { grid-template-columns: minmax(0, 1fr); }
@media (min-width: 1001px) { .cu-ch-grid { grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr); } .cu-out-grid { grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr); } .cu-why-grid { grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr); } }
.cu-copy { white-space: normal; text-align: center; max-width: 100%; }

/* =====================================================================
   Junior High & High Schools audience page (.sc-*)
   ===================================================================== */
.sc-hero .co-hero-bg img { opacity: 0.98; object-position: 82% 14%; }
.sc-hero .co-hero-bg::after { background: linear-gradient(95deg, rgba(2, 12, 31, 0.97) 8%, rgba(2, 12, 31, 0.84) 40%, rgba(4, 22, 52, 0.08) 76%), linear-gradient(180deg, transparent 72%, #020c1f 100%); }
.sc-hero .co-hero-grid { grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr); align-items: end; }
.sc-hero h1 { font-size: clamp(1.9rem, 1.1rem + 2.8vw, 3.4rem); }

/* hall-pass ticket */
.sc-ticket { position: relative; display: flex; width: min(400px, 100%); margin-left: auto; margin-bottom: var(--sp-3); transform: rotate(-3.5deg); filter: drop-shadow(0 26px 40px rgba(0, 0, 0, 0.55)) drop-shadow(0 0 40px rgba(248, 163, 9, 0.25)); animation: sc-float 7s ease-in-out infinite; }
.sc-ticket-main, .sc-ticket-stub { position: relative; background: linear-gradient(135deg, #ffd36b 0%, #f8a309 60%, #e08c00); color: #04132b; }
.sc-ticket-main { --nx: 100%; -webkit-mask: radial-gradient(circle 10px at 100% 0, #0000 96%, #000) top / 100% 51% no-repeat, radial-gradient(circle 10px at 100% 100%, #0000 96%, #000) bottom / 100% 51% no-repeat; mask: radial-gradient(circle 10px at 100% 0, #0000 96%, #000) top / 100% 51% no-repeat, radial-gradient(circle 10px at 100% 100%, #0000 96%, #000) bottom / 100% 51% no-repeat; }
.sc-ticket-stub { -webkit-mask: radial-gradient(circle 10px at 0 0, #0000 96%, #000) top / 100% 51% no-repeat, radial-gradient(circle 10px at 0 100%, #0000 96%, #000) bottom / 100% 51% no-repeat; mask: radial-gradient(circle 10px at 0 0, #0000 96%, #000) top / 100% 51% no-repeat, radial-gradient(circle 10px at 0 100%, #0000 96%, #000) bottom / 100% 51% no-repeat; }
.sc-ticket-main { flex: 1; display: grid; gap: 0.35rem; padding: 1.25rem 1.3rem 1.25rem 1.5rem; border-radius: 14px 0 0 14px; overflow: hidden; }
.sc-ticket-main::after { content: ''; position: absolute; top: 0; bottom: 0; width: 38%; left: -60%; background: linear-gradient(100deg, transparent, rgba(255, 255, 255, 0.55), transparent); transform: skewX(-18deg); animation: sc-shine 5.5s ease-in-out infinite; }
.sc-ticket-k { font-size: 0.68rem; font-weight: 800; letter-spacing: 0.16em; text-transform: uppercase; opacity: 0.8; }
.sc-ticket-main strong { font-family: var(--font-display); font-weight: 900; font-size: clamp(1.4rem, 1.1rem + 1vw, 1.9rem); line-height: 1.05; text-transform: uppercase; }
.sc-ticket-s { font-size: 0.8rem; font-weight: 700; }
.sc-ticket-stub { flex: 0 0 92px; display: grid; place-items: center; border-radius: 0 14px 14px 0; border-left: 2px dashed rgba(4, 19, 43, 0.45); text-align: center; font-family: var(--font-display); font-weight: 900; font-size: 1rem; letter-spacing: 0.12em; text-transform: uppercase; line-height: 1.15; }
.sc-ticket-stub span { transform: rotate(-90deg); white-space: nowrap; }
@keyframes sc-float { 0%, 100% { transform: rotate(-3.5deg) translateY(0); } 50% { transform: rotate(-2.5deg) translateY(-10px); } }
@keyframes sc-shine { 0%, 55% { left: -60%; } 80%, 100% { left: 130%; } }

/* challenge: next time -> this week */
.sc-challenge { position: relative; overflow: hidden; background: linear-gradient(180deg, var(--c-midnight-navy), #031634); }
.sc-ch-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--sp-6); align-items: center; }
.sc-challenge .bk-h2 { color: #fff; }
.sc-challenge p:not(.eyebrow):not(.sc-board-note) { color: rgba(255, 255, 255, 0.84); margin-top: var(--sp-2); max-width: 54ch; }
.sc-board { padding: var(--sp-3); border-radius: 26px; background: radial-gradient(80% 70% at 50% 0%, #0b2f66, #031634 90%); border: 1px solid rgba(255, 255, 255, 0.12); box-shadow: 0 30px 70px rgba(0, 0, 0, 0.5); }
.sc-board-head { display: flex; align-items: center; gap: 0.5rem; margin-bottom: var(--sp-2); font-size: 0.72rem; font-weight: 800; letter-spacing: 0.14em; text-transform: uppercase; color: var(--c-action-gold); }
.sc-board-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--c-action-gold); box-shadow: 0 0 10px var(--c-action-gold); animation: fx-oi 2.4s ease-in-out infinite; }
.sc-choices { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.7rem; }
.sc-choice { display: flex; align-items: center; flex-wrap: wrap; gap: 0.8rem; width: 100%; padding: 0.8rem 0.9rem; border-radius: 16px; background: rgba(255, 255, 255, 0.06); border: 1px solid rgba(255, 255, 255, 0.14); color: #fff; font: inherit; text-align: left; cursor: pointer; transition: background 0.3s, border-color 0.3s, transform 0.3s var(--ease-out), box-shadow 0.3s; }
.sc-choice:hover { transform: translateX(4px); border-color: rgba(248, 163, 9, 0.6); }
.sc-choice:focus-visible { outline: 3px solid var(--c-action-gold); outline-offset: 2px; }
.sc-choice-n { flex: 0 0 auto; display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: rgba(255, 255, 255, 0.12); font-family: var(--font-display); font-weight: 900; font-size: 0.85rem; transition: background 0.3s, color 0.3s; }
.sc-choice-t { flex: 1 1 130px; font-weight: 700; font-size: 1.02rem; line-height: 1.25; }
.sc-switch { position: relative; flex: 0 0 auto; display: flex; width: 150px; height: 36px; border-radius: 999px; background: rgba(255, 255, 255, 0.12); overflow: hidden; font-size: 0.68rem; font-weight: 800; letter-spacing: 0.07em; text-transform: uppercase; }
.sc-switch i { position: absolute; left: 3px; top: 3px; bottom: 3px; width: calc(50% - 3px); border-radius: 999px; background: #a9c4f5; transition: transform 0.5s var(--ease-out), background 0.3s, box-shadow 0.3s; }
.sc-switch b { position: relative; z-index: 1; flex: 1; display: grid; place-items: center; transition: color 0.3s; }
.sc-off { color: #04132b; } .sc-on { color: rgba(255, 255, 255, 0.7); }
.sc-choice[aria-pressed="true"] { background: rgba(248, 163, 9, 0.14); border-color: rgba(248, 163, 9, 0.75); box-shadow: 0 0 28px rgba(248, 163, 9, 0.18); }
.sc-choice[aria-pressed="true"] .sc-choice-n { background: var(--c-action-gold); color: #04132b; }
.sc-choice[aria-pressed="true"] .sc-switch i { transform: translateX(calc(100% + 0px)); background: var(--c-action-gold); box-shadow: 0 0 16px rgba(248, 163, 9, 0.7); }
.sc-choice[aria-pressed="true"] .sc-off { color: rgba(255, 255, 255, 0.55); }
.sc-choice[aria-pressed="true"] .sc-on { color: #04132b; }
.sc-board-foot { display: flex; align-items: center; gap: 0.9rem; margin-top: var(--sp-3); }
.sc-bar { flex: 1; height: 8px; border-radius: 99px; background: rgba(255, 255, 255, 0.12); overflow: hidden; }
.sc-bar i { display: block; height: 100%; width: 0; border-radius: 99px; background: linear-gradient(90deg, #5b8ce0, #f8a309); box-shadow: 0 0 12px rgba(248, 163, 9, 0.6); transition: width 0.6s var(--ease-out); }
.sc-count { font-size: 0.82rem; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; color: #fff; white-space: nowrap; }
.sc-count b { color: var(--c-action-gold); font-family: var(--font-display); font-size: 1.1rem; }
.sc-board-note { margin: 0.8rem 0 0; font-size: 0.88rem; color: rgba(255, 255, 255, 0.72); min-height: 1.3em; }
.sc-board.is-done .sc-board-note { color: #ffd36b; font-weight: 700; }

/* two versions: tabs */
.sc-vers { margin-top: var(--sp-4); text-align: center; }
.sc-tablist { display: none; position: relative; padding: 5px; border-radius: 999px; background: var(--c-soft-gray); border: 1px solid var(--border-hairline-light); box-shadow: inset 0 2px 6px rgba(1, 10, 24, 0.08); }
.sc-vers.is-js .sc-tablist { display: inline-flex; }
.sc-tab-pill { position: absolute; top: 5px; bottom: 5px; left: 0; width: 0; border-radius: 999px; background: linear-gradient(145deg, #ffc14d, #f8a309); box-shadow: 0 8px 20px rgba(248, 163, 9, 0.4); transition: transform 0.5s var(--ease-out), width 0.5s var(--ease-out); }
.sc-tab { position: relative; z-index: 1; padding: 0.7rem 1.7rem; border: 0; border-radius: 999px; background: none; font: inherit; font-family: var(--font-display); font-weight: 800; font-size: 0.95rem; letter-spacing: 0.04em; text-transform: uppercase; color: var(--c-executive-blue); cursor: pointer; transition: color 0.3s; }
.sc-tab[aria-selected="true"] { color: #04132b; }
.sc-tab:focus-visible { outline: 3px solid var(--c-executive-blue); outline-offset: 2px; }
.sc-panels { margin-top: var(--sp-4); text-align: left; }
.sc-vers:not(.is-js) .sc-panel + .sc-panel { margin-top: var(--sp-5); }
.sc-panel { display: grid; grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr); gap: var(--sp-5); align-items: center; }
.sc-panel[hidden] { display: none; }
.sc-vers.is-js .sc-panel { animation: sc-pan 0.7s var(--ease-out); }
@keyframes sc-pan { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }
.sc-panel-img { position: relative; margin: 0; border-radius: 26px; box-shadow: 0 34px 70px rgba(1, 10, 24, 0.35); transform: rotate(-1.5deg); transition: transform 0.6s var(--ease-out); }
.sc-panel-img::before { content: ''; position: absolute; inset: 14px -14px -14px 14px; border-radius: 26px; border: 3px solid var(--c-action-gold); z-index: -1; }
.sc-panel-img img { width: 100%; height: auto; display: block; border-radius: 26px; background: none; }
.sc-panel:hover .sc-panel-img { transform: rotate(0) scale(1.02); }
.sc-grade { margin: 0 0 0.4rem; font-size: 0.78rem; font-weight: 800; letter-spacing: 0.16em; text-transform: uppercase; color: var(--c-action-gold); }
.sc-panel-copy h3 { margin: 0 0 var(--sp-2); font-size: clamp(1.5rem, 1.1rem + 1.2vw, 2.1rem); line-height: 1.1; color: var(--c-executive-blue); }
.sc-panel-copy p { color: var(--text-on-light-muted); }
.sc-panel-copy .cu-best { margin-top: var(--sp-2); color: var(--c-charcoal); }
.sc-vers-note { max-width: 60ch; margin: var(--sp-4) auto 0; font-weight: 700; color: var(--c-executive-blue); }

/* events: hall passes */
.sc-rail-wrap { position: relative; margin-top: var(--sp-4); }
.sc-rail { display: flex; gap: var(--sp-3); overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: 4px; padding: 14px 4px 26px; -webkit-overflow-scrolling: touch; scrollbar-width: none; outline-offset: 4px; }
.sc-rail::-webkit-scrollbar { display: none; }
.sc-pass-card { position: relative; flex: 0 0 clamp(260px, 29vw, 340px); scroll-snap-align: start; display: flex; flex-direction: column; padding: 0 var(--sp-3) var(--sp-2); border-radius: 18px; background: #fff; border: 1px solid var(--border-hairline-light); box-shadow: var(--shadow-card); transition: transform 0.5s var(--ease-out), box-shadow 0.4s; }
.sc-pass-card:hover { transform: translateY(-10px) rotate(-1deg); box-shadow: 0 30px 56px rgba(1, 10, 24, 0.2); }
.sc-pass-top { display: flex; align-items: center; gap: 0.8rem; margin: 0 calc(var(--sp-3) * -1) var(--sp-2); padding: 0.9rem var(--sp-3); border-radius: 17px 17px 0 0; background: linear-gradient(120deg, #0b2f66, #12408f); color: #fff; }
.sc-pass-ico { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 12px; background: var(--c-action-gold); color: #04132b; box-shadow: 0 6px 16px rgba(248, 163, 9, 0.45); transition: transform 0.5s var(--ease-out); }
.sc-pass-ico svg { width: 24px; height: 24px; }
.sc-pass-card:hover .sc-pass-ico { transform: rotate(-10deg) scale(1.12); }
.sc-pass-no { display: grid; font-size: 0.66rem; font-weight: 800; letter-spacing: 0.16em; text-transform: uppercase; color: rgba(255, 255, 255, 0.75); }
.sc-pass-no b { font-family: var(--font-display); font-size: 1.15rem; letter-spacing: 0.06em; color: #fff; }
.sc-pass-card h3 { margin: 0 0 0.5rem; font-size: 1.12rem; line-height: 1.2; color: var(--c-executive-blue); }
.sc-pass-card p { margin: 0 0 var(--sp-2); font-size: 0.93rem; color: var(--text-on-light-muted); }
.sc-pass-stub { position: relative; display: flex; justify-content: space-between; align-items: center; margin-top: auto; padding-top: 0.9rem; border-top: 2px dashed rgba(18, 64, 143, 0.28); font-size: 0.68rem; font-weight: 800; letter-spacing: 0.18em; text-transform: uppercase; color: var(--text-on-light-muted); }
.sc-pass-stub::before, .sc-pass-stub::after { content: ''; position: absolute; top: -11px; width: 20px; height: 20px; border-radius: 50%; background: var(--c-soft-gray); box-shadow: inset 0 2px 5px rgba(1, 10, 24, 0.14); }
.sc-pass-stub::before { left: calc(var(--sp-3) * -1 - 10px); }
.sc-pass-stub::after { right: calc(var(--sp-3) * -1 - 10px); }
.sc-pass-stub i { display: flex; gap: 2px; color: var(--c-action-gold); }
.sc-pass-stub svg { width: 14px; height: 14px; }
.sc-pass-card:hover .sc-pass-stub svg { animation: sc-pop 0.6s var(--ease-out) both; }
.sc-pass-card:hover .sc-pass-stub svg:nth-child(2) { animation-delay: 0.08s; } .sc-pass-card:hover .sc-pass-stub svg:nth-child(3) { animation-delay: 0.16s; }
@keyframes sc-pop { 0% { transform: scale(1); } 50% { transform: scale(1.7) rotate(20deg); } 100% { transform: scale(1); } }
.sc-rail-ctl { display: flex; align-items: center; gap: 0.7rem; }
.sc-rail-bar { flex: 1; height: 6px; border-radius: 99px; background: rgba(18, 64, 143, 0.14); overflow: hidden; }
.sc-rail-bar i { display: block; height: 100%; width: 30%; border-radius: 99px; background: linear-gradient(90deg, #12408f, #f8a309); transform-origin: left; transition: width 0.25s, margin 0.25s; }
.sc-rail-btn { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; border: 2px solid var(--c-executive-blue); background: #fff; color: var(--c-executive-blue); cursor: pointer; transition: background 0.25s, color 0.25s, transform 0.25s; }
.sc-rail-btn svg { width: 20px; height: 20px; }
.sc-rail-btn:hover { background: var(--c-action-gold); border-color: var(--c-action-gold); color: #04132b; transform: scale(1.08); }
.sc-rail-btn:focus-visible { outline: 3px solid var(--c-action-gold); outline-offset: 2px; }

/* outcomes: SEL filter */
.sc-chips { display: flex; flex-wrap: wrap; gap: 0.5rem; margin: 0 0 var(--sp-3); }
.sc-chip { padding: 0.5rem 0.95rem; border-radius: 999px; border: 1.5px solid rgba(255, 255, 255, 0.4); background: rgba(255, 255, 255, 0.06); color: #fff; font: inherit; font-size: 0.82rem; font-weight: 700; cursor: pointer; transition: background 0.25s, color 0.25s, border-color 0.25s, transform 0.25s, box-shadow 0.25s; }
.sc-chip:hover { border-color: var(--c-action-gold); transform: translateY(-2px); }
.sc-chip:focus-visible { outline: 3px solid var(--c-action-gold); outline-offset: 2px; }
.sc-chip[aria-pressed="true"] { background: var(--c-action-gold); border-color: var(--c-action-gold); color: #04132b; box-shadow: 0 0 22px rgba(248, 163, 9, 0.5); }
.sc-oc-body { display: grid; gap: 0.45rem; min-width: 0; }
.sc-oc { transition: opacity 0.35s, filter 0.35s, transform 0.35s var(--ease-out); }
.sc-oc.is-dim { opacity: 0.25; filter: grayscale(1); }
.sc-oc.is-hit { transform: translateX(6px); }
.sc-tags { display: flex; flex-wrap: wrap; gap: 0.35rem; }
.sc-tags em { font-style: normal; padding: 0.15rem 0.6rem; border-radius: 999px; background: rgba(18, 64, 143, 0.1); color: var(--c-executive-blue); font-size: 0.66rem; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; transition: background 0.3s, color 0.3s; }
.sc-sheet[data-active="sa"] em[data-k="sa"], .sc-sheet[data-active="sm"] em[data-k="sm"], .sc-sheet[data-active="so"] em[data-k="so"], .sc-sheet[data-active="rs"] em[data-k="rs"], .sc-sheet[data-active="rd"] em[data-k="rd"] { background: var(--c-action-gold); color: #04132b; }

/* why students lean in */
.sc-why-grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr); gap: var(--sp-6); align-items: center; }
.sc-posters { position: relative; aspect-ratio: 1 / 0.98; }
.sc-poster { position: absolute; width: 80%; margin: 0; padding: 9px; background: #fff; border-radius: 6px; box-shadow: 0 26px 56px rgba(1, 10, 24, 0.38); transition: transform 0.6s var(--ease-out), z-index 0s 0.2s; }
.sc-poster img { display: block; width: 100%; height: auto; background: none; }
.sc-poster-1 { left: 0; top: 0; transform: rotate(-4deg); z-index: 1; }
.sc-poster-2 { right: 0; bottom: 0; transform: rotate(3.5deg); z-index: 2; }
.sc-poster:hover { transform: rotate(0) scale(1.05); z-index: 3; }
.sc-tape { position: absolute; top: -14px; left: 50%; width: 92px; height: 28px; margin-left: -46px; background: rgba(248, 163, 9, 0.7); transform: rotate(-3deg); box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2); }
.sc-poster-2 .sc-tape { transform: rotate(4deg); }
.sc-not { list-style: none; margin: var(--sp-2) 0; padding: 0; display: flex; flex-wrap: wrap; gap: 0.5rem; }
.sc-not li { display: inline-flex; align-items: center; gap: 0.45rem; padding: 0.45rem 0.9rem; border-radius: 999px; background: rgba(248, 163, 9, 0.14); border: 1px solid rgba(248, 163, 9, 0.5); font-size: 0.8rem; font-weight: 800; letter-spacing: 0.05em; text-transform: uppercase; color: var(--c-executive-blue); opacity: 0; transform: translateY(10px) scale(0.92); transition: opacity 0.5s var(--ease-out), transform 0.5s var(--ease-out); transition-delay: calc(var(--i) * 0.18s + 0.4s); }
.sc-not li::before { content: ''; width: 14px; height: 14px; border-radius: 50%; background: var(--c-action-gold) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2304132b' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.2 4.2L19 7'/%3E%3C/svg%3E") center / 10px no-repeat; }
.fade-in-up.is-visible .sc-not li { opacity: 1; transform: none; }

/* safe + simple: the bell schedule */
.sc-book { position: relative; overflow: hidden; }
.sc-book-bg { position: absolute; inset: 0; z-index: 0; }
.sc-book-bg img { width: 100%; height: 100%; object-fit: cover; background: none; opacity: 0.2; filter: saturate(0.8); }
.sc-book-bg::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, #020c1f 0%, rgba(2, 12, 31, 0.78) 45%, #020c1f 100%); }
.sc-book > .container { position: relative; z-index: 1; }
.sc-book .bk-h2 { color: #fff; }
.sc-sched { list-style: none; margin: var(--sp-4) 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--sp-3); counter-reset: none; }
.sc-period { position: relative; padding: var(--sp-3); border-radius: 20px; background: linear-gradient(160deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.03)); border: 1px solid rgba(255, 255, 255, 0.16); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); box-shadow: 0 20px 44px rgba(0, 0, 0, 0.35); transition: transform 0.45s var(--ease-out), border-color 0.3s; }
.sc-period::before { content: ''; position: absolute; left: var(--sp-3); right: var(--sp-3); top: 0; height: 3px; border-radius: 0 0 4px 4px; background: linear-gradient(90deg, var(--c-action-gold), transparent); }
.sc-period:hover { transform: translateY(-8px); border-color: rgba(248, 163, 9, 0.7); }
.sc-bell { display: grid; place-items: center; width: 50px; height: 50px; margin-bottom: 0.8rem; border-radius: 50%; background: var(--c-action-gold); color: #04132b; box-shadow: 0 8px 22px rgba(248, 163, 9, 0.45); transform-origin: 50% 12%; animation: sc-ring 5s ease-in-out infinite; animation-delay: calc(var(--i) * 1.2s); }
.sc-bell svg { width: 26px; height: 26px; }
@keyframes sc-ring { 0%, 78%, 100% { transform: rotate(0); } 82% { transform: rotate(16deg); } 86% { transform: rotate(-14deg); } 90% { transform: rotate(10deg); } 94% { transform: rotate(-6deg); } }
.sc-period-n { display: block; margin-bottom: 0.3rem; font-size: 0.7rem; font-weight: 800; letter-spacing: 0.18em; text-transform: uppercase; color: #ffd36b; }
.sc-period h3 { margin: 0 0 0.45rem; color: #fff; }
.sc-period p { margin: 0; font-size: 0.92rem; color: rgba(255, 255, 255, 0.82); }
.sc-funds { margin-top: var(--sp-5); padding: var(--sp-3) var(--sp-4); border-radius: 22px; background: rgba(255, 255, 255, 0.07); border: 1px dashed rgba(248, 163, 9, 0.6); }
.sc-funds-h { margin: 0 0 var(--sp-2); font-size: 0.8rem; font-weight: 800; letter-spacing: 0.16em; text-transform: uppercase; color: var(--c-action-gold); }
.sc-funds ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--sp-3); }
.sc-funds li { display: flex; gap: 0.8rem; align-items: flex-start; }
.sc-fund-ico { flex: 0 0 auto; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 12px; background: rgba(248, 163, 9, 0.18); color: var(--c-action-gold); }
.sc-fund-ico svg { width: 22px; height: 22px; }
.sc-funds strong { display: block; color: #fff; font-size: 0.98rem; }
.sc-funds li span:not(.sc-fund-ico) { display: block; margin-top: 0.15rem; font-size: 0.86rem; color: rgba(255, 255, 255, 0.78); }

/* closing CTA */
.sc-close { position: relative; overflow: hidden; }
.sc-close .bk-h2 { color: #fff; }
.sc-close-grid { display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: var(--sp-6); align-items: center; }
.sc-close-portrait { position: relative; width: 260px; aspect-ratio: 1; margin-inline: auto; }
.sc-ring { position: absolute; inset: -10px; border-radius: 50%; background: conic-gradient(from 0deg, #f8a309, rgba(248, 163, 9, 0) 38%, #5b8ce0 66%, #f8a309); animation: sc-spin 9s linear infinite; filter: drop-shadow(0 0 22px rgba(248, 163, 9, 0.5)); }
.sc-close-portrait img { position: relative; width: 100%; height: 100%; border-radius: 50%; object-fit: cover; border: 7px solid #031634; background: none; }
@keyframes sc-spin { to { transform: rotate(360deg); } }
.sc-close-p { margin: var(--sp-2) 0 var(--sp-3); max-width: 58ch; color: rgba(255, 255, 255, 0.86); }

@media (max-width: 1000px) {
  .sc-hero .co-hero-grid { grid-template-columns: minmax(0, 1fr); align-items: start; }
  .sc-ticket { margin: 0 auto; width: min(380px, 100%); animation: none; transform: rotate(-2deg); }
  .sc-hero .co-hero-bg img { object-position: 85% 10%; }
  .sc-hero .co-hero-bg::after { background: linear-gradient(180deg, rgba(2, 12, 31, 0.92), rgba(2, 12, 31, 0.8) 60%, #020c1f); }
  .sc-ch-grid, .sc-why-grid, .sc-panel { grid-template-columns: minmax(0, 1fr); gap: var(--sp-4); }
  .sc-posters { max-width: 560px; margin-inline: auto; width: 100%; }
  .sc-sched { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sc-funds ul { grid-template-columns: minmax(0, 1fr); }
  .sc-close-grid { grid-template-columns: minmax(0, 1fr); text-align: center; gap: var(--sp-4); }
  .sc-close-grid .bk-hero-actions { justify-content: center; }
  .sc-close-p { margin-inline: auto; }
  .sc-pass-card { flex-basis: min(300px, 78vw); }
}
@media (max-width: 600px) {
  .sc-sched { grid-template-columns: minmax(0, 1fr); }
  .sc-switch { width: 132px; }
  .sc-tab { padding: 0.65rem 1.1rem; font-size: 0.85rem; }
  .sc-panel-img::before { inset: 10px -8px -10px 8px; }
  .sc-board { padding: var(--sp-2); }
  .sc-funds { padding: var(--sp-3); }
  .sc-close-portrait { width: 200px; }
}
@media (prefers-reduced-motion: reduce) {
  .sc-ticket, .sc-ticket-main::after, .sc-bell, .sc-ring, .sc-board-dot { animation: none; }
  .sc-vers.is-js .sc-panel { animation: none; }
  .sc-not li { opacity: 1; transform: none; transition: none; }
}
.sc-sheet { background: #fffdf7; }
.sc-oc { padding-block: 0.15rem; }
.sc-switch b { white-space: nowrap; }
@media (max-width: 600px) {
  .sc-choice-t { flex-basis: calc(100% - 50px); }
  .sc-switch { flex: 1 1 100%; width: auto; }
}

/* =====================================================================
   Parents & Educators audience page (.pe-*)
   ===================================================================== */
.pe-hero .co-hero-bg img { opacity: 1; object-position: 100% 20%; }
.pe-hero .co-hero-bg::after { background: linear-gradient(95deg, rgba(2, 12, 31, 0.98) 6%, rgba(2, 12, 31, 0.9) 38%, rgba(4, 22, 52, 0.45) 72%, rgba(4, 22, 52, 0.25)), linear-gradient(180deg, transparent 70%, #020c1f 100%); }
.pe-hero .co-hero-grid { grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr); align-items: end; }
.pe-hero h1 { font-size: clamp(1.8rem, 1rem + 2.6vw, 3.2rem); }

/* hero: tonight / monday notes */
.pe-notes { display: grid; gap: var(--sp-2); width: min(310px, 100%); margin: 0 0 var(--sp-3) auto; }
.pe-note { display: flex; align-items: center; gap: 0.9rem; padding: 0.95rem 1.1rem; border-radius: 18px; background: rgba(2, 12, 31, 0.8); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); border: 1px solid rgba(255, 255, 255, 0.2); border-left: 5px solid var(--c-action-gold); box-shadow: 0 24px 50px rgba(0, 0, 0, 0.5); animation: pe-bob 7s ease-in-out infinite; }
.pe-note-1 { transform: rotate(-2deg); } .pe-note-2 { transform: rotate(1.6deg) translateX(-18px); animation-delay: -3.5s; }
.pe-note-ico { flex: 0 0 auto; display: grid; place-items: center; width: 46px; height: 46px; border-radius: 14px; background: linear-gradient(145deg, #ffc14d, #f8a309); color: #04132b; box-shadow: 0 8px 20px rgba(248, 163, 9, 0.4); }
.pe-note-ico svg { width: 26px; height: 26px; }
.pe-note b { display: block; font-family: var(--font-display); font-weight: 900; font-size: 1.2rem; letter-spacing: 0.04em; text-transform: uppercase; color: #fff; }
.pe-note span:not(.pe-note-ico) { font-size: 0.9rem; color: rgba(255, 255, 255, 0.82); }
@keyframes pe-bob { 0%, 100% { translate: 0 0; } 50% { translate: 0 -9px; } }

/* challenge: the echo field */
.pe-challenge { position: relative; overflow: hidden; background: linear-gradient(180deg, var(--c-midnight-navy), #031634); }
.pe-ch-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--sp-6); align-items: center; }
.pe-challenge .bk-h2 { color: #fff; }
.pe-challenge p:not(.eyebrow):not(.pe-echo-cap) { color: rgba(255, 255, 255, 0.84); margin-top: var(--sp-2); max-width: 54ch; }
.pe-echo { position: relative; min-height: 400px; border-radius: 26px; overflow: hidden; background: #031634; border: 1px solid rgba(255, 255, 255, 0.16); box-shadow: 0 30px 70px rgba(0, 0, 0, 0.55); touch-action: pan-y; }
.pe-echo-bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 0%; opacity: 0.42; filter: saturate(0.8); background: none; }
.pe-echo::after { content: ''; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(180deg, rgba(2, 12, 31, 0.5), rgba(2, 12, 31, 0.15) 45%, rgba(2, 12, 31, 0.9)); }
.pe-echo-stage { position: absolute; z-index: 1; inset: 0 0 92px 0; cursor: crosshair; }
.pe-adult, .pe-kid { position: absolute; border-radius: 50%; will-change: transform; }
.pe-adult { left: 50%; top: 18%; width: 64px; height: 64px; margin-left: -32px; display: grid; place-items: center; background: linear-gradient(145deg, #ffd36b, #f8a309); color: #04132b; box-shadow: 0 0 0 8px rgba(248, 163, 9, 0.2), 0 0 40px rgba(248, 163, 9, 0.75); z-index: 4; }
.pe-adult svg { width: 32px; height: 32px; }
.pe-kid { background: radial-gradient(circle at 35% 30%, #cfe0ff, #5b8ce0); box-shadow: 0 0 22px rgba(91, 140, 224, 0.8); }
.pe-kid-1 { left: 50%; top: 58%; width: 32px; height: 32px; margin-left: -16px; z-index: 3; }
.pe-kid-2 { left: 38%; top: 66%; width: 26px; height: 26px; z-index: 2; opacity: 0.9; }
.pe-kid-3 { left: 62%; top: 68%; width: 22px; height: 22px; z-index: 1; opacity: 0.8; }
.pe-echo.is-live .pe-adult, .pe-echo.is-live .pe-kid { left: 0; top: 0; margin: 0; }
.pe-echo-cap { position: absolute; z-index: 2; left: 0; right: 0; bottom: 0; margin: 0; padding: var(--sp-3); display: grid; gap: 0.2rem; }
.pe-echo-cap b { font-size: 0.74rem; font-weight: 800; letter-spacing: 0.14em; text-transform: uppercase; color: var(--c-action-gold); }
.pe-echo-cap span { font-family: var(--font-display); font-weight: 800; font-size: 1.15rem; line-height: 1.2; color: #fff; }

/* two rooms */
.pe-rooms { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--sp-4); margin-top: var(--sp-4); }
.pe-room { position: relative; overflow: hidden; padding: 190px var(--sp-4) var(--sp-4); border-radius: 28px; background: #fff; border: 1px solid var(--border-hairline-light); box-shadow: var(--shadow-card); transition: transform 0.5s var(--ease-out), box-shadow 0.4s; }
.pe-room:hover { transform: translateY(-8px); box-shadow: 0 34px 64px rgba(1, 10, 24, 0.22); }
.pe-room-sky { position: absolute; left: 0; right: 0; top: 0; height: 160px; }
.pe-room-p .pe-room-sky { background: linear-gradient(180deg, #020c1f, #0b2f66 70%, #1d4f9e); }
.pe-room-e .pe-room-sky { background: linear-gradient(180deg, #7fb0ee, #cfe3fb 62%, #ffe3a1); }
.pe-moon { position: absolute; right: 12%; top: 34px; width: 62px; height: 62px; border-radius: 50%; box-shadow: inset -20px -8px 0 0 #ffe9a8, 0 0 40px rgba(255, 233, 168, 0.35); animation: pe-bob 8s ease-in-out infinite; }
.pe-room-sky i { position: absolute; width: 4px; height: 4px; border-radius: 50%; background: #fff; box-shadow: 0 0 8px #fff; animation: pe-tw 3s ease-in-out infinite; }
.pe-room-sky i:nth-child(2) { left: 8%; top: 22%; } .pe-room-sky i:nth-child(3) { left: 21%; top: 58%; animation-delay: -0.6s; } .pe-room-sky i:nth-child(4) { left: 33%; top: 18%; animation-delay: -1.1s; } .pe-room-sky i:nth-child(5) { left: 46%; top: 50%; animation-delay: -1.7s; } .pe-room-sky i:nth-child(6) { left: 58%; top: 16%; animation-delay: -2.2s; } .pe-room-sky i:nth-child(7) { left: 70%; top: 62%; animation-delay: -0.3s; } .pe-room-sky i:nth-child(8) { left: 82%; top: 30%; animation-delay: -1.4s; } .pe-room-sky i:nth-child(9) { left: 90%; top: 70%; animation-delay: -2.6s; } .pe-room-sky i:nth-child(10) { left: 14%; top: 80%; animation-delay: -0.9s; }
@keyframes pe-tw { 0%, 100% { opacity: 0.2; transform: scale(0.7); } 50% { opacity: 1; transform: scale(1.4); } }
.pe-sun { position: absolute; right: 14%; top: 40px; width: 56px; height: 56px; border-radius: 50%; background: radial-gradient(circle at 35% 30%, #fff3c4, #f8a309); box-shadow: 0 0 50px rgba(248, 163, 9, 0.8); }
.pe-sun::before { content: ''; position: absolute; inset: -30px; border-radius: 50%; background: repeating-conic-gradient(from 0deg, rgba(248, 163, 9, 0.7) 0 5deg, transparent 5deg 24deg); -webkit-mask: radial-gradient(circle, transparent 36%, #000 38%, #000 60%, transparent 62%); mask: radial-gradient(circle, transparent 36%, #000 38%, #000 60%, transparent 62%); animation: sc-spin 40s linear infinite; }
.pe-when { margin: 0 0 0.3rem; font-size: 0.78rem; font-weight: 800; letter-spacing: 0.16em; text-transform: uppercase; color: var(--c-action-gold); }
.pe-room h3 { margin: 0 0 var(--sp-2); font-size: clamp(1.4rem, 1.1rem + 0.9vw, 1.9rem); line-height: 1.12; color: var(--c-executive-blue); }
.pe-room p { color: var(--text-on-light-muted); }
.pe-best { margin-top: var(--sp-2); padding: 0.6rem 0.85rem; border-radius: 12px; background: rgba(248, 163, 9, 0.14); border-left: 3px solid var(--c-action-gold); color: var(--c-charcoal) !important; font-size: 0.88rem; }

/* events */
.pe-filter { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.6rem; margin: var(--sp-3) 0 var(--sp-4); }
.pe-fbtn { padding: 0.6rem 1.2rem; border-radius: 999px; border: 2px solid var(--c-executive-blue); background: #fff; color: var(--c-executive-blue); font: inherit; font-weight: 800; font-size: 0.85rem; letter-spacing: 0.04em; text-transform: uppercase; cursor: pointer; transition: background 0.25s, color 0.25s, transform 0.25s, box-shadow 0.25s; }
.pe-fbtn:hover { transform: translateY(-2px); }
.pe-fbtn:focus-visible { outline: 3px solid var(--c-action-gold); outline-offset: 2px; }
.pe-fbtn[aria-pressed="true"] { background: var(--c-executive-blue); color: #fff; box-shadow: 0 10px 24px rgba(18, 64, 143, 0.35); }
.pe-evgrid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--sp-3); }
.pe-ev { position: relative; padding: var(--sp-3); border-radius: 22px; background: #fff; border: 1px solid var(--border-hairline-light); box-shadow: var(--shadow-card); transition: opacity 0.45s, transform 0.45s var(--ease-out), filter 0.45s, box-shadow 0.4s; }
.pe-ev::before { content: ''; position: absolute; left: var(--sp-3); right: var(--sp-3); top: 0; height: 4px; border-radius: 0 0 6px 6px; background: linear-gradient(90deg, var(--c-action-gold), #12408f); }
.pe-ev:hover { box-shadow: 0 28px 54px rgba(1, 10, 24, 0.18); }
.pe-ev.is-off { opacity: 0.2; filter: grayscale(1); transform: scale(0.96); pointer-events: none; }
.pe-ev-top { display: flex; align-items: center; justify-content: space-between; gap: 0.6rem; margin-bottom: var(--sp-2); }
.pe-ev-ico { display: grid; place-items: center; width: 50px; height: 50px; border-radius: 15px; background: linear-gradient(145deg, #ffc14d, #f8a309); color: #04132b; box-shadow: 0 8px 20px rgba(248, 163, 9, 0.35); transition: transform 0.5s var(--ease-out); }
.pe-ev-ico svg { width: 26px; height: 26px; }
.pe-ev:hover .pe-ev-ico { transform: rotate(-8deg) scale(1.1); }
.pe-tag { padding: 0.28rem 0.7rem; border-radius: 999px; font-size: 0.66rem; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; }
.pe-tag-p { background: rgba(11, 47, 102, 0.1); color: #0b2f66; } .pe-tag-e { background: rgba(248, 163, 9, 0.18); color: #8a5400; }
.pe-ev h3 { margin: 0 0 0.45rem; font-size: 1.1rem; line-height: 1.22; color: var(--c-executive-blue); }
.pe-ev p { margin: 0; font-size: 0.93rem; color: var(--text-on-light-muted); }

/* outcomes */
.pe-outsec { position: relative; overflow: hidden; }
.pe-outsec .bk-h2 { color: #fff; }
.pe-outsec .bk-series-head p:not(.eyebrow) { color: rgba(255, 255, 255, 0.84); }
.pe-sheets { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--sp-5); margin-top: var(--sp-4); align-items: start; }
.pe-sheet { background: #fffdf7; }
.pe-sheet-p { rotate: -1.2deg; } .pe-sheet-e { rotate: 1.2deg; margin-top: var(--sp-3); }
.pe-sheet .cu-oc { font-size: 0.95rem; }
.pe-hear-k { display: block; margin-bottom: 0.5rem; font-size: 0.68rem; font-weight: 800; letter-spacing: 0.16em; text-transform: uppercase; color: var(--text-on-light-muted); }
.pe-hear, .pe-dst { margin-top: var(--sp-3); padding-top: var(--sp-2); border-top: 2px dashed rgba(18, 64, 143, 0.25); }
.pe-hear ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.5rem; }
.pe-hear li { display: grid; justify-items: center; gap: 0.25rem; text-align: center; }
.pe-hear b { display: grid; place-items: center; width: 100%; max-width: 62px; aspect-ratio: 1; border-radius: 14px; background: var(--c-executive-blue); color: #fff; font-family: var(--font-display); font-weight: 900; font-size: 1.8rem; animation: pe-glow 6s ease-in-out infinite; animation-delay: calc(var(--i) * 1.4s); }
.pe-hear span { font-size: 0.74rem; font-weight: 700; color: var(--c-executive-blue); }
@keyframes pe-glow { 0%, 62%, 100% { background: var(--c-executive-blue); color: #fff; box-shadow: none; transform: none; } 12%, 24% { background: var(--c-action-gold); color: #04132b; box-shadow: 0 0 22px rgba(248, 163, 9, 0.8); transform: translateY(-4px) scale(1.06); } }
.pe-dst ol { list-style: none; margin: 0; padding: 0; display: flex; }
.pe-dst li { flex: 1; display: grid; place-items: center; height: 54px; margin-left: -10px; padding-inline: 18px 14px; clip-path: polygon(0 0, calc(100% - 16px) 0, 100% 50%, calc(100% - 16px) 100%, 0 100%, 16px 50%); background: var(--c-executive-blue); color: #fff; font-family: var(--font-display); font-weight: 900; font-size: 0.98rem; letter-spacing: 0.04em; text-transform: uppercase; white-space: nowrap; animation: pe-chev 6s ease-in-out infinite; animation-delay: calc(var(--i) * 1.4s); }
.pe-dst li:first-child { margin-left: 0; clip-path: polygon(0 0, calc(100% - 16px) 0, 100% 50%, calc(100% - 16px) 100%, 0 100%); }
@keyframes pe-chev { 0%, 62%, 100% { background: var(--c-executive-blue); color: #fff; } 12%, 24% { background: var(--c-action-gold); color: #04132b; } }
.pe-connect { margin-top: var(--sp-5); padding: var(--sp-3) var(--sp-4); border-radius: 22px; background: rgba(255, 255, 255, 0.07); border: 1px dashed rgba(248, 163, 9, 0.6); display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-3); }
.pe-connect p { flex: 1 1 340px; margin: 0; color: rgba(255, 255, 255, 0.9); }
.pe-connect strong { color: var(--c-action-gold); }

/* why: sketch + pledge */
.pe-why-grid { display: grid; grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr); gap: var(--sp-6); align-items: center; }
.pe-sketch { position: relative; margin: 0 auto; max-width: 440px; padding: 14px 14px 18px; background: #fff; border-radius: 6px; box-shadow: 0 34px 70px rgba(1, 10, 24, 0.35); rotate: -2.5deg; transition: transform 0.6s var(--ease-out), rotate 0.6s var(--ease-out); }
.pe-sketch:hover { rotate: 0deg; transform: scale(1.02); }
.pe-sketch img { display: block; width: 100%; height: auto; background: none; }
.pe-pin { position: absolute; top: -14px; left: 50%; width: 26px; height: 26px; margin-left: -13px; border-radius: 50%; background: radial-gradient(circle at 35% 30%, #ffd36b, #c77700); box-shadow: 0 6px 12px rgba(0, 0, 0, 0.4); z-index: 2; }
.pe-pledge { margin: var(--sp-3) 0; padding: var(--sp-3); border-radius: 22px; background: linear-gradient(160deg, #fff, #f1f6ff); border: 1px solid var(--border-hairline-light); box-shadow: var(--shadow-card); }
.pe-pledge label { display: block; margin-bottom: 0.6rem; font-weight: 800; color: var(--c-executive-blue); }
.pe-pledge-row { display: flex; flex-wrap: wrap; gap: 0.6rem; }
.pe-pledge input { flex: 1 1 220px; min-width: 0; padding: 0.85rem 1rem; border-radius: 14px; border: 2px solid rgba(18, 64, 143, 0.25); background: #fff; font: inherit; color: var(--c-charcoal); }
.pe-pledge input:focus { outline: 3px solid var(--c-action-gold); outline-offset: 1px; border-color: var(--c-action-gold); }
.pe-card { position: relative; margin-top: var(--sp-2); padding: 1.1rem 1.2rem 1.1rem 1.4rem; border-radius: 6px 16px 16px 6px; background: #fffdf7 repeating-linear-gradient(180deg, transparent 0 27px, rgba(18, 64, 143, 0.1) 27px 28px); border-left: 6px solid var(--c-action-gold); box-shadow: 0 16px 34px rgba(1, 10, 24, 0.16); animation: pe-drop 0.5s var(--ease-out); }
.pe-card[hidden] { display: none; }
.pe-card p { margin: 0; padding-right: 90px; font-family: var(--font-display); font-weight: 700; font-size: 1.1rem; line-height: 1.35; color: var(--c-executive-blue); overflow-wrap: anywhere; }
.pe-stamp { position: absolute; right: 12px; top: 50%; padding: 0.25rem 0.7rem; border: 3px solid #c77700; border-radius: 8px; color: #c77700; font-family: var(--font-display); font-weight: 900; font-size: 0.9rem; letter-spacing: 0.12em; text-transform: uppercase; transform: translateY(-50%) rotate(-12deg); animation: pe-stamp 0.6s 0.25s var(--ease-out) both; }
@keyframes pe-stamp { from { opacity: 0; transform: translateY(-50%) rotate(-12deg) scale(2.4); } to { opacity: 1; transform: translateY(-50%) rotate(-12deg) scale(1); } }
@keyframes pe-drop { from { opacity: 0; transform: translateY(-14px); } to { opacity: 1; transform: none; } }
.pe-pledge-note { margin: 0.6rem 0 0; font-size: 0.8rem; color: var(--text-on-light-muted); }

/* booking: seats */
.pe-book-grid { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 0.7fr); gap: var(--sp-4); align-items: center; margin-top: var(--sp-4); }
.pe-book .sc-sched { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 0; }
.pe-book .sc-bell { animation: none; }
.pe-hall { padding: var(--sp-3); border-radius: 24px; background: radial-gradient(90% 70% at 50% 0%, #0b2f66, #031634 90%); border: 1px solid rgba(255, 255, 255, 0.14); box-shadow: 0 30px 70px rgba(0, 0, 0, 0.5); }
.pe-seats { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 6px; }
.pe-seats i { aspect-ratio: 1; border-radius: 6px 6px 3px 3px; background: rgba(255, 255, 255, 0.14); transition: background 0.4s, box-shadow 0.4s, transform 0.4s var(--ease-out); transition-delay: 0s; }
.pe-hall.is-visible .pe-seats i { background: var(--c-action-gold); box-shadow: 0 0 10px rgba(248, 163, 9, 0.55); transition-delay: calc(var(--n) * 0.05s + 0.3s); }
.pe-stage-bar { margin-top: var(--sp-2); padding: 0.55rem; border-radius: 10px 10px 40px 40px; background: linear-gradient(180deg, rgba(255, 255, 255, 0.22), rgba(255, 255, 255, 0.06)); text-align: center; font-size: 0.68rem; font-weight: 800; letter-spacing: 0.3em; text-transform: uppercase; color: rgba(255, 255, 255, 0.85); }
.pe-hall-cap { margin: var(--sp-2) 0 0; font-size: 0.86rem; text-align: center; color: rgba(255, 255, 255, 0.78); }

@media (max-width: 1000px) {
  .pe-hero .co-hero-grid { grid-template-columns: minmax(0, 1fr); align-items: start; }
  .pe-hero .co-hero-bg img { object-position: 92% 8%; }
  .pe-hero .co-hero-bg::after { background: linear-gradient(180deg, rgba(2, 12, 31, 0.9), rgba(2, 12, 31, 0.82) 60%, #020c1f); }
  .pe-notes { margin-inline: auto; }
  .pe-note-2 { transform: rotate(1.6deg); }
  .pe-ch-grid, .pe-why-grid, .pe-rooms, .pe-sheets, .pe-book-grid { grid-template-columns: minmax(0, 1fr); gap: var(--sp-4); }
  .pe-evgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pe-sheet-p, .pe-sheet-e { rotate: 0deg; margin-top: 0; }
  .pe-echo { min-height: 340px; }
}
@media (max-width: 600px) {
  .pe-evgrid, .pe-book .sc-sched { grid-template-columns: minmax(0, 1fr); }
  .pe-room { padding: 180px var(--sp-3) var(--sp-3); }
  .pe-connect { padding: var(--sp-3); }
  .pe-card p { padding-right: 0; padding-bottom: 2.4rem; }
  .pe-stamp { top: auto; bottom: 10px; transform: rotate(-8deg); animation: none; }
  .pe-dst li { font-size: 0.78rem; padding-inline: 14px 10px; }
}
@media (prefers-reduced-motion: reduce) {
  .pe-note, .pe-moon, .pe-room-sky i, .pe-sun::before, .pe-hear b, .pe-dst li, .pe-card, .pe-stamp { animation: none; }
  .pe-hall .pe-seats i { transition: none; }
}

/* =====================================================================
   Faith-Based & Community Organizations audience page (.fb-*)
   ===================================================================== */
.fb-hero .co-hero-bg img { opacity: 1; object-position: 100% 20%; }
.fb-hero .co-hero-bg::after { background: linear-gradient(95deg, rgba(2, 12, 31, 0.98) 6%, rgba(2, 12, 31, 0.88) 38%, rgba(4, 22, 52, 0.25) 72%, rgba(4, 22, 52, 0.05)), linear-gradient(180deg, transparent 70%, #020c1f 100%); }
.fb-hero .co-hero-grid { grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr); align-items: end; }
.fb-hero h1 { font-size: clamp(2.2rem, 1.2rem + 3.6vw, 4.2rem); }
.fb-rays { position: absolute; inset: 0; z-index: 1; pointer-events: none; mix-blend-mode: screen; background: conic-gradient(from 168deg at 91% -4%, transparent 0 4%, rgba(255, 214, 120, 0.32) 6% 9%, transparent 11% 15%, rgba(255, 214, 120, 0.22) 17% 19%, transparent 21% 26%, rgba(255, 214, 120, 0.26) 28% 31%, transparent 33%); -webkit-mask: linear-gradient(180deg, #000, transparent 85%); mask: linear-gradient(180deg, #000, transparent 85%); animation: fb-rays 9s ease-in-out infinite; }
@keyframes fb-rays { 0%, 100% { opacity: 0.45; transform: scale(1); } 50% { opacity: 1; transform: scale(1.04); } }

/* hero: the line from the book */
.fb-verse { position: relative; margin: 0 0 var(--sp-3) auto; width: min(320px, 100%); padding: 1.4rem 1.5rem 1.2rem; border-radius: 22px 22px 22px 6px; background: rgba(2, 12, 31, 0.8); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); border: 1px solid rgba(248, 163, 9, 0.55); box-shadow: 0 26px 56px rgba(0, 0, 0, 0.55); animation: pe-bob 8s ease-in-out infinite; }
.fb-verse-glow { position: absolute; inset: -40px; z-index: -1; border-radius: 50%; background: radial-gradient(circle, rgba(248, 163, 9, 0.28), transparent 65%); animation: fb-pulse 5s ease-in-out infinite; }
@keyframes fb-pulse { 0%, 100% { opacity: 0.5; transform: scale(0.92); } 50% { opacity: 1; transform: scale(1.06); } }
.fb-verse blockquote { margin: 0 0 0.6rem; font-family: var(--font-display); font-weight: 800; font-size: 1.45rem; line-height: 1.2; color: #fff; }
.fb-verse figcaption { font-size: 0.78rem; font-weight: 700; letter-spacing: 0.04em; color: #ffd36b; }

/* challenge: share the load */
.fb-challenge { position: relative; overflow: hidden; background: linear-gradient(180deg, var(--c-midnight-navy), #031634); }
.fb-ch-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--sp-6); align-items: center; }
.fb-challenge .bk-h2 { color: #fff; }
.fb-challenge p:not(.eyebrow):not(.fb-load-note) { color: rgba(255, 255, 255, 0.84); margin-top: var(--sp-2); max-width: 54ch; }
.fb-load { padding: var(--sp-3); border-radius: 26px; background: radial-gradient(80% 70% at 50% 0%, #0b2f66, #031634 90%); border: 1px solid rgba(255, 255, 255, 0.14); box-shadow: 0 30px 70px rgba(0, 0, 0, 0.5); }
.fb-load-head { display: flex; align-items: center; gap: 0.5rem; margin-bottom: var(--sp-2); font-size: 0.72rem; font-weight: 800; letter-spacing: 0.14em; text-transform: uppercase; color: var(--c-action-gold); }
.fb-load-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--c-action-gold); box-shadow: 0 0 10px var(--c-action-gold); animation: fx-oi 2.4s ease-in-out infinite; }
.fb-people { display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 10px 8px; }
.fb-people i { --c: rgba(255, 255, 255, 0.2); aspect-ratio: 1; background: radial-gradient(circle at 50% 30%, var(--c) 0 21%, transparent 23%), radial-gradient(ellipse 46% 40% at 50% 92%, var(--c) 0 96%, transparent 100%); transition: filter 0.5s; transition-delay: 0s; }
.fb-people i.is-few { --c: #f8a309; filter: drop-shadow(0 0 7px rgba(248, 163, 9, 0.85)); }
.fb-load.is-shared .fb-people i { --c: #f8a309; filter: drop-shadow(0 0 7px rgba(248, 163, 9, 0.85)); animation: fb-pop 0.7s var(--ease-out) both; animation-delay: calc(var(--d) * 0.045s); }
@keyframes fb-pop { 0% { transform: scale(0.7); } 55% { transform: scale(1.22); } 100% { transform: scale(1); } }
.fb-load-foot { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 0.8rem; margin-top: var(--sp-3); }
.fb-load-count { font-size: 0.82rem; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; color: #fff; }
.fb-load-count b { color: var(--c-action-gold); font-family: var(--font-display); font-size: 1.5rem; }
.fb-load-note { margin: 0.8rem 0 0; font-size: 0.88rem; color: rgba(255, 255, 255, 0.72); min-height: 1.3em; }
.fb-load.is-shared .fb-load-note { color: #ffd36b; font-weight: 700; }

/* two rooms: arched windows */
.fb-rooms { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--sp-4); margin-top: var(--sp-4); }
.fb-room { position: relative; padding: var(--sp-4); border-radius: 28px; background: #fff; border: 1px solid var(--border-hairline-light); box-shadow: var(--shadow-card); transition: transform 0.5s var(--ease-out), box-shadow 0.4s; }
.fb-room:hover { transform: translateY(-8px); box-shadow: 0 34px 64px rgba(1, 10, 24, 0.22); }
.fb-arch { position: relative; display: grid; place-items: center; width: 120px; height: 150px; margin: 0 0 var(--sp-2); border-radius: 60px 60px 12px 12px; overflow: hidden; color: #fff; }
.fb-room-church .fb-arch { background: linear-gradient(180deg, #0b2f66, #12408f 55%, #f8a309); box-shadow: 0 16px 36px rgba(18, 64, 143, 0.4); }
.fb-arch svg { position: relative; z-index: 2; width: 48px; height: 48px; filter: drop-shadow(0 0 12px rgba(255, 214, 120, 0.9)); color: #ffe6a8; animation: fb-flame 3.2s ease-in-out infinite; transform-origin: 50% 90%; }
@keyframes fb-flame { 0%, 100% { transform: scale(1) rotate(-2deg); } 33% { transform: scale(1.08, 1.12) rotate(2deg); } 66% { transform: scale(0.96, 1.04) rotate(-1deg); } }
.fb-arch-glow { position: absolute; inset: 0; background: radial-gradient(circle at 50% 70%, rgba(255, 214, 120, 0.7), transparent 60%); animation: fb-pulse 4s ease-in-out infinite; }
.fb-arch-lead { position: absolute; inset: 0; background: linear-gradient(90deg, transparent 49%, rgba(2, 12, 31, 0.5) 49% 51%, transparent 51%), linear-gradient(0deg, transparent 49%, rgba(2, 12, 31, 0.5) 49% 51%, transparent 51%); }
.fb-net { background: linear-gradient(180deg, #031634, #0b2f66); box-shadow: 0 16px 36px rgba(3, 22, 52, 0.4); }
.fb-net svg { color: var(--c-action-gold); filter: drop-shadow(0 0 10px rgba(248, 163, 9, 0.7)); animation: none; }
.fb-net-dots { position: absolute; inset: 0; background-image: radial-gradient(circle, rgba(143, 178, 242, 0.9) 0 2px, transparent 3px); background-size: 22px 22px; animation: fb-drift 12s linear infinite; opacity: 0.6; }
@keyframes fb-drift { to { background-position: 22px 22px; } }
.fb-room h3 { margin: 0 0 var(--sp-2); font-size: clamp(1.4rem, 1.1rem + 0.9vw, 1.9rem); line-height: 1.12; color: var(--c-executive-blue); }
.fb-room p { color: var(--text-on-light-muted); }

/* events: stained-glass bento */
.fb-bento { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; margin-top: var(--sp-4); padding: 6px; border-radius: 28px; background: #06142e; box-shadow: 0 30px 70px rgba(1, 10, 24, 0.4); }
.fb-ev { position: relative; overflow: hidden; padding: var(--sp-3); border-radius: 6px; color: #fff; background: linear-gradient(150deg, #0b2f66, #12408f); transition: transform 0.45s var(--ease-out), filter 0.4s; }
.fb-ev:nth-child(1) { border-top-left-radius: 22px; background: linear-gradient(150deg, #123b85, #0a2a66 60%, #5b3a06); }
.fb-ev:nth-child(2) { background: linear-gradient(150deg, #0a2a66, #1c4fa6); }
.fb-ev:nth-child(3) { border-top-right-radius: 22px; background: linear-gradient(150deg, #153f8f, #0b2f66 70%, #6b4408); }
.fb-ev:nth-child(4) { border-bottom-left-radius: 22px; background: linear-gradient(150deg, #0b2f66, #163f87); }
.fb-ev:nth-child(5) { background: linear-gradient(150deg, #5d3b07, #0b2f66 75%); }
.fb-ev:nth-child(6) { background: linear-gradient(150deg, #123b85, #0a2a66); }
.fb-ev:nth-child(7) { border-bottom-right-radius: 22px; background: linear-gradient(150deg, #0b2f66, #1c4fa6 70%, #5b3a06); }
.fb-ev-wide { grid-column: span 2; }
.fb-ev::after { content: ''; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(260px circle at var(--mx, 50%) var(--my, -30%), rgba(255, 214, 120, 0.32), transparent 70%); opacity: 0; transition: opacity 0.4s; }
.fb-ev:hover::after { opacity: 1; }
.fb-ev:hover { filter: brightness(1.12); }
.fb-ev-ico { display: grid; place-items: center; width: 48px; height: 48px; margin-bottom: var(--sp-2); border-radius: 14px; background: linear-gradient(145deg, #ffc14d, #f8a309); color: #04132b; box-shadow: 0 8px 20px rgba(248, 163, 9, 0.4); transition: transform 0.5s var(--ease-out); }
.fb-ev-ico svg { width: 26px; height: 26px; }
.fb-ev:hover .fb-ev-ico { transform: rotate(-8deg) scale(1.12); }
.fb-ev h3 { margin: 0 0 0.45rem; font-size: 1.08rem; line-height: 1.22; color: #fff; }
.fb-ev p { margin: 0; font-size: 0.92rem; color: rgba(255, 255, 255, 0.86); }
.fb-ev a { color: #ffd36b; text-decoration: underline; }

/* outcomes */
.fb-outsec { position: relative; overflow: hidden; }
.fb-outsec .bk-h2 { color: #fff; }
.fb-outsec .bk-series-head p:not(.eyebrow) { color: rgba(255, 255, 255, 0.84); }
.fb-wolves { max-width: 520px; margin: var(--sp-4) auto; padding: var(--sp-3); border-radius: 26px; text-align: center; background: rgba(255, 255, 255, 0.06); border: 1px solid rgba(255, 255, 255, 0.16); }
.fb-wolves-q { margin: 0 0 var(--sp-2); font-family: var(--font-display); font-weight: 900; font-size: clamp(1.4rem, 1.1rem + 1vw, 2rem); text-transform: uppercase; color: #fff; }
.fb-wolves-row { display: flex; justify-content: center; align-items: center; gap: var(--sp-4); min-height: 150px; }
.fb-orb { display: grid; place-items: center; width: 92px; height: 92px; border: 0; border-radius: 50%; cursor: pointer; color: #04132b; transition: transform 0.6s var(--ease-out), opacity 0.4s, box-shadow 0.5s, filter 0.5s; }
.fb-orb svg { width: 52%; height: 52%; }
.fb-orb-a { background: radial-gradient(circle at 35% 30%, #ffe6a8, #f8a309); box-shadow: 0 0 30px rgba(248, 163, 9, 0.5); }
.fb-orb-b { background: radial-gradient(circle at 35% 30%, #d6e4ff, #5b8ce0); box-shadow: 0 0 30px rgba(91, 140, 224, 0.5); }
.fb-orb:hover { transform: scale(1.08); }
.fb-orb:focus-visible { outline: 3px solid #fff; outline-offset: 4px; }
.fb-orb.is-fed { transform: scale(1.5); box-shadow: 0 0 70px rgba(255, 214, 120, 0.9); }
.fb-orb-b.is-fed { box-shadow: 0 0 70px rgba(143, 178, 242, 0.9); }
.fb-orb.is-starved { transform: scale(0.62); opacity: 0.45; filter: grayscale(0.6); }
.fb-wolves-note { margin: var(--sp-2) 0 0; min-height: 1.4em; font-weight: 700; color: #ffd36b; }
.fb-orbwrap { display: grid; justify-items: center; gap: 0; }
.fb-orb-l { margin-top: 30px; font-size: 0.72rem; font-weight: 800; letter-spacing: 0.2em; text-transform: uppercase; color: rgba(255, 255, 255, 0.7); transition: color 0.4s, opacity 0.4s; }
.fb-orb.is-fed + .fb-orb-l { color: #ffd36b; } .fb-orb.is-starved + .fb-orb-l { opacity: 0.4; }
.fb-wolves-note { max-width: 40ch; margin-inline: auto; }
.fb-lit-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--sp-4); }
.fb-lit { padding: var(--sp-3) var(--sp-4); border-radius: 24px; background: linear-gradient(160deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.03)); border: 1px solid rgba(255, 255, 255, 0.16); box-shadow: 0 24px 50px rgba(0, 0, 0, 0.35); }
.fb-lit h3 { margin: 0 0 var(--sp-2); font-size: 1.05rem; letter-spacing: 0.06em; text-transform: uppercase; color: var(--c-action-gold); }
.fb-lit ol { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.9rem; }
.fb-lit li { display: flex; align-items: flex-start; gap: 0.8rem; color: rgba(255, 255, 255, 0.86); font-size: 0.97rem; line-height: 1.45; }
.fb-lit strong { color: #fff; }
.fb-flame { flex: 0 0 auto; display: grid; place-items: center; width: 26px; height: 26px; margin-top: 1px; border-radius: 50%; border: 2px solid rgba(255, 255, 255, 0.4); color: transparent; transition: background 0.5s, color 0.5s, border-color 0.5s, box-shadow 0.6s; transition-delay: calc(var(--i) * 0.45s + 0.4s); }
.fb-flame svg { width: 15px; height: 15px; }
.fb-lit.is-visible .fb-flame { background: var(--c-action-gold); border-color: var(--c-action-gold); color: #04132b; box-shadow: 0 0 18px rgba(248, 163, 9, 0.8); }

/* why: the window of light */
.fb-why-grid { display: grid; grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr); gap: var(--sp-6); align-items: center; }
.fb-window { position: relative; margin: 0 auto; width: min(100%, 440px); }
.fb-window img { position: relative; z-index: 1; display: block; width: 100%; height: auto; border-radius: 999px 999px 26px 26px; border: 6px solid #fff; background: none; box-shadow: 0 34px 70px rgba(1, 10, 24, 0.4); }
.fb-window-halo { position: absolute; z-index: 0; inset: -18px; border-radius: 999px 999px 40px 40px; background: conic-gradient(from 0deg, #f8a309, rgba(248, 163, 9, 0) 35%, #5b8ce0 62%, #f8a309); filter: blur(10px); opacity: 0.75; animation: fb-pulse 6s ease-in-out infinite; }

/* booking: the lane */
.fb-lane { padding: var(--sp-3); border-radius: 24px; background: radial-gradient(90% 70% at 50% 0%, #0b2f66, #031634 90%); border: 1px solid rgba(255, 255, 255, 0.14); box-shadow: 0 30px 70px rgba(0, 0, 0, 0.5); text-align: center; }
.fb-road { position: relative; height: 300px; margin: 0 auto; width: 180px; overflow: hidden; border-left: 4px solid var(--c-action-gold); border-right: 4px solid var(--c-action-gold); background: linear-gradient(180deg, rgba(255, 255, 255, 0.04), rgba(255, 255, 255, 0.1)); }
.fb-edge { position: absolute; top: 50%; writing-mode: vertical-rl; font-size: 0.66rem; font-weight: 800; letter-spacing: 0.2em; text-transform: uppercase; color: rgba(255, 255, 255, 0.55); white-space: nowrap; }
.fb-edge-l { left: 10px; transform: translateY(-50%) rotate(180deg); }
.fb-edge-r { right: 10px; transform: translateY(-50%); }
.fb-dash { position: absolute; left: 50%; top: -40px; bottom: 0; width: 6px; margin-left: -3px; background: repeating-linear-gradient(180deg, rgba(255, 255, 255, 0.55) 0 26px, transparent 26px 56px); animation: fb-roll 1.4s linear infinite; }
@keyframes fb-roll { to { transform: translateY(56px); } }
.fb-talk { position: absolute; left: 50%; bottom: 40px; width: 44px; height: 44px; margin-left: -22px; border-radius: 50%; background: radial-gradient(circle at 35% 30%, #fff3c4, #f8a309); box-shadow: 0 0 34px rgba(248, 163, 9, 0.9); animation: fb-sway 5s ease-in-out infinite; }
@keyframes fb-sway { 0%, 100% { transform: translateX(-34px); } 50% { transform: translateX(34px); } }
.fb-lane p { margin: var(--sp-2) 0 0; font-size: 0.9rem; font-weight: 700; color: rgba(255, 255, 255, 0.85); }
.fb-budget { margin: var(--sp-3) 0 0; padding-top: var(--sp-2); border-top: 1px solid rgba(255, 255, 255, 0.16); font-weight: 700; color: #ffd36b; }

@media (max-width: 1000px) {
  .fb-hero .co-hero-grid { grid-template-columns: minmax(0, 1fr); align-items: start; }
  .fb-hero .co-hero-bg img { object-position: 90% 8%; }
  .fb-hero .co-hero-bg::after { background: linear-gradient(180deg, rgba(2, 12, 31, 0.9), rgba(2, 12, 31, 0.82) 60%, #020c1f); }
  .fb-verse { margin-inline: auto; }
  .fb-ch-grid, .fb-rooms, .fb-lit-grid, .fb-why-grid { grid-template-columns: minmax(0, 1fr); gap: var(--sp-4); }
  .fb-bento { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .fb-ev-wide { grid-column: span 2; }
  .fb-ev:nth-child(n) { border-radius: 6px; }
  .fb-ev:nth-child(1) { border-top-left-radius: 22px; } .fb-ev:nth-child(2) { border-top-right-radius: 22px; }
  .fb-ev:nth-child(6) { border-bottom-left-radius: 22px; } .fb-ev:nth-child(7) { border-bottom-right-radius: 22px; }
}
@media (max-width: 600px) {
  .fb-bento { grid-template-columns: minmax(0, 1fr); }
  .fb-ev-wide { grid-column: auto; }
  .fb-ev:nth-child(n) { border-radius: 6px; }
  .fb-ev:nth-child(1) { border-radius: 22px 22px 6px 6px; } .fb-ev:nth-child(7) { border-radius: 6px 6px 22px 22px; }
  .fb-wolves-row { gap: var(--sp-3); }
  .fb-lit { padding: var(--sp-3); }
  .fb-people { gap: 8px 5px; }
}
@media (prefers-reduced-motion: reduce) {
  .fb-rays, .fb-verse, .fb-verse-glow, .fb-arch svg, .fb-arch-glow, .fb-net-dots, .fb-dash, .fb-talk, .fb-window-halo, .fb-load-dot { animation: none; }
  .fb-load.is-shared .fb-people i { animation: none; }
}

/* =====================================================================
   Meeting Planners hub + resource pages (.mp-*)
   ===================================================================== */
.mp-hero .co-hero-bg img { opacity: 1; object-position: 100% 20%; }
.mp-hero .co-hero-bg::after { background: linear-gradient(95deg, rgba(2, 12, 31, 0.98) 6%, rgba(2, 12, 31, 0.9) 38%, rgba(4, 22, 52, 0.3) 74%, rgba(4, 22, 52, 0.08)), linear-gradient(180deg, transparent 72%, #020c1f 100%); }
.mp-hero .co-hero-grid { grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr); align-items: end; }
.mp-hero h1 { font-size: clamp(2rem, 1.1rem + 3vw, 3.6rem); }
.mp-ready { width: min(340px, 100%); margin: 0 0 var(--sp-3) auto; padding: var(--sp-3); border-radius: 22px; background: rgba(2, 12, 31, 0.82); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); border: 1px solid rgba(255, 255, 255, 0.18); box-shadow: 0 30px 70px rgba(0, 0, 0, 0.5), 0 0 60px rgba(248, 163, 9, 0.14); transform: rotate(1.5deg); }
.mp-ready-h { display: flex; align-items: center; gap: 0.5rem; font-size: 0.7rem; font-weight: 800; letter-spacing: 0.14em; text-transform: uppercase; color: var(--c-action-gold); }
.mp-ready-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--c-action-gold); box-shadow: 0 0 10px var(--c-action-gold); animation: fx-oi 2.4s ease-in-out infinite; }
.mp-ready ul { list-style: none; margin: var(--sp-2) 0; padding: 0; display: grid; gap: 0.8rem; }
.mp-ready li { display: flex; align-items: center; gap: 0.8rem; padding-bottom: 0.6rem; border-bottom: 1px dashed rgba(255, 255, 255, 0.2); }
.mp-ready li .cu-tick, .mp-ready li .cu-line b { animation-duration: 9.6s; animation-delay: var(--d); }
.mp-ready-bar { height: 6px; border-radius: 99px; background: rgba(255, 255, 255, 0.14); overflow: hidden; }
.mp-ready-bar i { display: block; height: 100%; width: 0; border-radius: 99px; background: linear-gradient(90deg, #5b8ce0, #f8a309); animation: mp-fill 9.6s ease-in-out infinite; }
@keyframes mp-fill { 0% { width: 0; } 70%, 90% { width: 100%; } 100% { width: 0; } }
.mp-ready-f { margin-top: 0.6rem; font-size: 0.78rem; color: rgba(255, 255, 255, 0.75); }

/* ticker */
.mp-ticker { overflow: hidden; background: #04132b; border-block: 1px solid rgba(248, 163, 9, 0.4); padding: 0.9rem 0; }
.mp-ticker-track { display: flex; width: max-content; align-items: center; gap: 1.6rem; animation: mp-tick 32s linear infinite; }
.mp-ticker span { font-family: var(--font-display); font-weight: 900; font-size: 1.05rem; letter-spacing: 0.14em; text-transform: uppercase; color: #fff; white-space: nowrap; }
.mp-ticker i { width: 16px; height: 16px; color: var(--c-action-gold); display: block; margin-right: 1.6rem; }
.mp-ticker i svg { width: 100%; height: 100%; }
@keyframes mp-tick { to { transform: translateX(-50%); } }

/* shared bits */
.mp-res-ico { display: grid; place-items: center; flex: 0 0 auto; width: 50px; height: 50px; border-radius: 15px; background: linear-gradient(145deg, #ffc14d, #f8a309); color: #04132b; box-shadow: 0 8px 20px rgba(248, 163, 9, 0.35); transition: transform 0.5s var(--ease-out); }
.mp-res-ico svg { width: 26px; height: 26px; }
.mp-tick { display: inline-grid; place-items: center; width: 22px; height: 22px; margin-right: 0.6rem; flex: 0 0 auto; border-radius: 50%; background: var(--c-action-gold); color: #04132b; vertical-align: middle; }
.mp-tick svg { width: 13px; height: 13px; }
.mp-chip { display: inline-block; padding: 0.3rem 0.8rem; border-radius: 999px; background: rgba(248, 163, 9, 0.18); color: #8a5400; font-size: 0.72rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; white-space: nowrap; }
.mp-chip b { font-family: var(--font-display); }
.mp-dl, .mp-copy { display: inline-flex; align-items: center; gap: 0.45rem; padding: 0.55rem 1rem; border-radius: 999px; border: 2px solid var(--c-executive-blue); background: #fff; color: var(--c-executive-blue); font: inherit; font-size: 0.8rem; font-weight: 800; letter-spacing: 0.04em; text-transform: uppercase; cursor: pointer; transition: background 0.25s, color 0.25s, transform 0.25s; }
.mp-copy svg { width: 16px; height: 16px; }
.mp-dl:hover, .mp-copy:hover { background: var(--c-executive-blue); color: #fff; transform: translateY(-2px); }
.mp-dl:focus-visible, .mp-copy:focus-visible { outline: 3px solid var(--c-action-gold); outline-offset: 2px; }
.mp-copy-note { font-size: 0.82rem; font-weight: 700; color: #8a5400; min-height: 1.2em; }

/* why */
.mp-why-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--sp-3); margin-top: var(--sp-4); }
.mp-why-card { position: relative; padding: var(--sp-3); border-radius: 22px; background: linear-gradient(160deg, #fff, #f1f6ff); border: 1px solid var(--border-hairline-light); box-shadow: var(--shadow-card); transition: transform 0.45s var(--ease-out), box-shadow 0.4s; }
.mp-why-card:hover { transform: translateY(-8px); box-shadow: 0 26px 52px rgba(1, 10, 24, 0.18); }
.mp-why-card:hover .mp-res-ico, .mp-res:hover .mp-res-ico, .mp-more-card:hover .mp-res-ico, .mp-when-card:hover .mp-res-ico { transform: rotate(-8deg) scale(1.1); }
.mp-why-card h3 { margin: var(--sp-2) 0 0.4rem; font-size: 1.1rem; color: var(--c-executive-blue); }
.mp-why-card p { margin: 0; color: var(--text-on-light-muted); font-size: 0.95rem; }

/* resource grid (kept section) */
.mp-res-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--sp-2); margin-top: var(--sp-4); }
.mp-res { position: relative; overflow: hidden; display: flex; flex-direction: column; gap: 0.35rem; padding: var(--sp-3) var(--sp-3) var(--sp-2); border-radius: 20px; background: #fff; border: 1px solid var(--border-hairline-light); box-shadow: var(--shadow-card); color: inherit; text-decoration: none; transition: transform 0.45s var(--ease-out), box-shadow 0.4s, border-color 0.3s; }
.mp-res::before { content: ''; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(240px circle at var(--mx, 50%) var(--my, -30%), rgba(248, 163, 9, 0.2), transparent 70%); opacity: 0; transition: opacity 0.4s; }
.mp-res:hover { transform: translateY(-8px); border-color: rgba(248, 163, 9, 0.7); box-shadow: 0 28px 54px rgba(1, 10, 24, 0.18); }
.mp-res:hover::before { opacity: 1; }
.mp-res-n { position: absolute; top: 0.9rem; right: 1rem; font-family: var(--font-display); font-weight: 900; font-size: 1.5rem; color: rgba(18, 64, 143, 0.14); }
.mp-res h3 { margin: 0.5rem 0 0; font-size: 1rem; line-height: 1.2; color: var(--c-executive-blue); text-transform: uppercase; letter-spacing: 0.01em; }
.mp-res p { margin: 0; font-size: 0.86rem; color: var(--text-on-light-muted); }
.mp-res-a { margin-top: auto; padding-top: 0.6rem; display: inline-flex; align-items: center; gap: 0.4rem; font-size: 0.78rem; font-weight: 800; letter-spacing: 0.05em; text-transform: uppercase; color: var(--c-executive-blue); }
.mp-res-a svg { transition: transform 0.3s; } .mp-res:hover .mp-res-a svg { transform: translateX(5px); }
.mp-res-kit { background: linear-gradient(150deg, #04132b, #0b2f66); border-color: rgba(248, 163, 9, 0.6); }
.mp-res-kit h3, .mp-res-kit .mp-res-a { color: #fff; } .mp-res-kit p { color: rgba(255, 255, 255, 0.8); } .mp-res-kit .mp-res-n { color: rgba(255, 255, 255, 0.18); } .mp-res-kit .mp-res-a { color: var(--c-action-gold); }
.mp-res-bar { position: absolute; left: 0; bottom: 0; height: 4px; width: 100%; background: linear-gradient(90deg, transparent, var(--c-action-gold), transparent); background-size: 50% 100%; background-repeat: no-repeat; animation: mp-sweep 2.6s linear infinite; }
@keyframes mp-sweep { from { background-position: -50% 0; } to { background-position: 150% 0; } }
.mp-dlall { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-3); margin-top: var(--sp-4); padding: var(--sp-3) var(--sp-4); border-radius: 24px; background: linear-gradient(120deg, #04132b, #0b2f66); border: 1px solid rgba(248, 163, 9, 0.5); box-shadow: 0 30px 60px rgba(1, 10, 24, 0.3); color: #fff; }
.mp-dlall-ico { display: grid; place-items: center; width: 66px; height: 66px; border-radius: 20px; background: rgba(248, 163, 9, 0.18); color: var(--c-action-gold); animation: pe-bob 5s ease-in-out infinite; }
.mp-dlall-ico svg { width: 38px; height: 38px; }
.mp-dlall > div:nth-child(2) { flex: 1 1 320px; }
.mp-dlall h2, .mp-dlall h3 { margin: 0 0 0.3rem; font-size: 1.3rem; color: #fff; }
.mp-dlall p { margin: 0 0 0.4rem; color: rgba(255, 255, 255, 0.84); font-size: 0.95rem; }
.mp-dlall-meta { font-size: 0.74rem; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; color: #ffd36b; }
.mp-dlall-act { display: grid; gap: 0.7rem; justify-items: start; }
.mp-dlall-act .bk-link { color: #fff; }
.mp-dlall-big { margin-top: 0; }

/* readiness meter */
.mp-readysec { position: relative; overflow: hidden; }
.mp-readysec .bk-h2 { color: #fff; }
.mp-ready-grid { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); gap: var(--sp-6); align-items: center; }
.mp-ready-grid > div:first-child p:not(.eyebrow) { color: rgba(255, 255, 255, 0.84); margin-top: var(--sp-2); max-width: 46ch; }
.mp-meter { display: grid; grid-template-columns: 200px minmax(0, 1fr); gap: var(--sp-3); align-items: center; padding: var(--sp-4); border-radius: 28px; background: radial-gradient(70% 70% at 30% 20%, #0b2f66, #031634 85%); border: 1px solid rgba(255, 255, 255, 0.14); box-shadow: 0 30px 70px rgba(0, 0, 0, 0.5); }
.mp-ring { position: relative; width: 200px; aspect-ratio: 1; }
.mp-ring svg { width: 100%; height: 100%; transform: rotate(-90deg); overflow: visible; }
.mp-ring circle { fill: none; stroke-width: 12; }
.mp-ring-bg { stroke: rgba(255, 255, 255, 0.12); }
.mp-ring-fg { stroke: #8fb2f2; stroke-linecap: round; stroke-dasharray: 540.4; stroke-dashoffset: 540.4; filter: drop-shadow(0 0 8px rgba(143, 178, 242, 0.7)); transition: stroke-dashoffset 0.7s var(--ease-out), stroke 0.5s; }
.mp-meter.is-done .mp-ring-fg { stroke: #f8a309; filter: drop-shadow(0 0 14px rgba(248, 163, 9, 0.9)); }
.mp-ring-c { position: absolute; inset: 0; display: grid; place-content: center; text-align: center; }
.mp-ring-c b { font-family: var(--font-display); font-weight: 900; font-size: 2.6rem; line-height: 1; color: #fff; }
.mp-meter.is-done .mp-ring-c b { color: var(--c-action-gold); text-shadow: 0 0 24px rgba(248, 163, 9, 0.7); }
.mp-ring-c span { margin: 0.4rem auto 0; max-width: 11ch; font-size: 0.68rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: rgba(255, 255, 255, 0.72); }
.mp-checks { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.5rem; }
.mp-checks li { display: flex; align-items: center; justify-content: space-between; gap: 0.6rem; padding: 0.55rem 0.8rem; border-radius: 14px; background: rgba(255, 255, 255, 0.06); border: 1px solid rgba(255, 255, 255, 0.12); transition: background 0.3s, border-color 0.3s; }
.mp-checks label, .mp-day-box label { display: flex; align-items: center; gap: 0.7rem; cursor: pointer; color: #fff; font-size: 0.92rem; line-height: 1.3; }
.mp-checks input, .mp-daybox input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.mp-box { flex: 0 0 auto; display: grid; place-items: center; width: 24px; height: 24px; border-radius: 7px; border: 2px solid rgba(255, 255, 255, 0.5); color: transparent; transition: background 0.3s, color 0.3s, border-color 0.3s, transform 0.3s; }
.mp-box svg { width: 14px; height: 14px; }
input:checked + .mp-box { background: var(--c-action-gold); border-color: var(--c-action-gold); color: #04132b; transform: scale(1.1); }
input:focus-visible + .mp-box { outline: 3px solid #fff; outline-offset: 2px; }
.mp-checks li:has(input:checked) { background: rgba(248, 163, 9, 0.14); border-color: rgba(248, 163, 9, 0.6); }
.mp-checks a { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 0.3rem; font-size: 0.72rem; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; color: #ffd36b; }

/* steps */
.mp-steps { list-style: none; margin: var(--sp-4) 0 0; padding: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: var(--sp-2); position: relative; }
.mp-steps::before { content: ''; position: absolute; left: 10%; right: 10%; top: 26px; height: 4px; border-radius: 2px; background: rgba(18, 64, 143, 0.15); }
.mp-steps::after { content: ''; position: absolute; left: 10%; top: 26px; height: 4px; width: 0; border-radius: 2px; background: linear-gradient(90deg, #12408f, #f8a309); box-shadow: 0 0 12px rgba(248, 163, 9, 0.6); transition: width 1.8s var(--ease-out) 0.3s; }
.mp-steps.is-visible::after { width: 80%; }
.mp-steps li { position: relative; z-index: 1; text-align: center; padding: 0 0.4rem; }
.mp-step-n { display: inline-grid; place-items: center; width: 52px; height: 52px; border-radius: 50%; background: var(--c-action-gold); color: #04132b; font-family: var(--font-display); font-weight: 900; font-size: 1.2rem; box-shadow: 0 0 0 7px rgba(248, 163, 9, 0.2), 0 10px 22px rgba(248, 163, 9, 0.35); }
.mp-steps h3 { margin: 0.8rem 0 0.2rem; font-size: 0.98rem; line-height: 1.25; color: var(--c-executive-blue); }
.mp-steps p { margin: 0.2rem 0 0; font-size: 0.85rem; color: var(--text-on-light-muted); }
.mp-step-ico { display: grid; place-items: center; width: 42px; height: 42px; margin: 0.8rem auto 0; color: var(--c-executive-blue); }
.mp-step-ico svg { width: 30px; height: 30px; }
.mp-steps-q h3 { margin-top: 0.2rem; }

/* AV summary */
.mp-avsum-grid { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); gap: var(--sp-6); align-items: center; }
.mp-avsum .bk-h2 { color: #fff; } .mp-avsum p:not(.eyebrow) { color: rgba(255, 255, 255, 0.84); margin: var(--sp-2) 0 var(--sp-3); }
.mp-avlist, .mp-love { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.7rem; }
.mp-avlist li, .mp-love li { display: flex; align-items: center; color: #fff; font-weight: 600; opacity: 0; transform: translateX(14px); transition: opacity 0.5s var(--ease-out), transform 0.5s var(--ease-out); transition-delay: calc(var(--i) * 0.12s + 0.2s); }
.fade-in-up.is-visible .mp-avlist li, .fade-in-up.is-visible .mp-love li { opacity: 1; transform: none; }
.mp-love { margin-top: var(--sp-3); }

/* band (download / more resources) */
.mp-band .mp-band-in, .mp-support .mp-band-in { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-3); padding: var(--sp-3) var(--sp-4); border-radius: 24px; background: rgba(255, 255, 255, 0.06); border: 1px solid rgba(248, 163, 9, 0.5); }
.mp-band-ico { display: grid; place-items: center; width: 64px; height: 64px; border-radius: 18px; background: rgba(248, 163, 9, 0.18); color: var(--c-action-gold); }
.mp-band-ico svg { width: 36px; height: 36px; }
.mp-band-in > div:nth-child(2) { flex: 1 1 320px; }
.mp-band-in h2 { margin: 0 0 0.3rem; font-size: 1.6rem; color: #fff; text-transform: uppercase; } .mp-band-in p { margin: 0; color: rgba(255, 255, 255, 0.84); }
.mp-band-act { display: flex; flex-wrap: wrap; gap: 0.7rem; }
.mp-band, .mp-support { padding-block: var(--sp-5); }

/* more resources */
.mp-more-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--sp-3); margin-top: var(--sp-4); }
.mp-more-card { display: flex; align-items: center; gap: var(--sp-2); padding: var(--sp-3); border-radius: 20px; background: #fff; border: 1px solid var(--border-hairline-light); box-shadow: var(--shadow-card); color: var(--c-executive-blue); text-decoration: none; transition: transform 0.45s var(--ease-out), box-shadow 0.4s, border-color 0.3s; }
.mp-more-card:hover { transform: translateY(-6px); border-color: rgba(248, 163, 9, 0.7); box-shadow: 0 24px 48px rgba(1, 10, 24, 0.16); }
.mp-more-card > div { flex: 1; } .mp-more-card h3 { margin: 0 0 0.15rem; font-size: 1rem; } .mp-more-card p { margin: 0; font-size: 0.86rem; color: var(--text-on-light-muted); }
.mp-more-card > svg { flex: 0 0 auto; transition: transform 0.3s; } .mp-more-card:hover > svg { transform: translateX(5px); }

/* kit preview fan */
.mp-preview { position: relative; overflow: hidden; }
.mp-preview .bk-h2 { color: #fff; } .mp-preview p:not(.eyebrow) { color: rgba(255, 255, 255, 0.84); margin-top: var(--sp-2); }
.mp-preview-grid { display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); gap: var(--sp-5); align-items: center; }
.mp-fan { position: relative; height: 400px; }
.mp-doc { position: absolute; bottom: 20px; left: 0; width: 28%; margin: 0; transform-origin: 50% 100%; transition: transform 0.7s var(--ease-out); }
.mp-doc-1 { transform: translateX(0%) rotate(-12deg); } .mp-doc-2 { transform: translateX(62%) rotate(-6deg); } .mp-doc-3 { transform: translateX(124%) rotate(0deg); z-index: 3; } .mp-doc-4 { transform: translateX(186%) rotate(6deg); } .mp-doc-5 { transform: translateX(248%) rotate(12deg); }
.mp-fan:hover .mp-doc-1 { transform: translateX(-12%) rotate(-16deg) translateY(-8px); } .mp-fan:hover .mp-doc-2 { transform: translateX(58%) rotate(-8deg) translateY(-14px); } .mp-fan:hover .mp-doc-3 { transform: translateX(128%) rotate(0deg) translateY(-24px) scale(1.05); } .mp-fan:hover .mp-doc-4 { transform: translateX(198%) rotate(8deg) translateY(-14px); } .mp-fan:hover .mp-doc-5 { transform: translateX(268%) rotate(16deg) translateY(-8px); }
.mp-doc-page { aspect-ratio: 8.5 / 11; padding: 9% 9%; border-radius: 6px; background: #fff; box-shadow: 0 24px 50px rgba(0, 0, 0, 0.5); overflow: hidden; display: grid; align-content: start; gap: 5%; }
.mp-doc-page b { display: block; font-size: 0.55rem; letter-spacing: 0.08em; text-transform: uppercase; color: #04132b; border-bottom: 2px solid var(--c-action-gold); padding-bottom: 4%; margin-bottom: 4%; }
.mp-doc-page i { display: block; height: 4px; border-radius: 2px; background: #cfd8e6; margin-bottom: 8%; }
.mp-doc-photo { padding: 0; } .mp-doc-photo img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 15%; display: block; background: none; }
.mp-doc figcaption { margin-top: 0.6rem; text-align: center; font-size: 0.66rem; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; color: #fff; background: #04132b; padding: 0.4rem 0.2rem; border-radius: 4px; }
.mp-getall { padding-block: var(--sp-5); }

/* bios */
.mp-when-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--sp-3); margin-top: var(--sp-4); }
.mp-when-card { display: flex; gap: var(--sp-2); align-items: flex-start; padding: var(--sp-3); border-radius: 20px; background: #fff; border: 1px solid var(--border-hairline-light); box-shadow: var(--shadow-card); color: inherit; text-decoration: none; transition: transform 0.45s var(--ease-out), box-shadow 0.4s, border-color 0.3s; }
.mp-when-card:hover { transform: translateY(-6px); border-color: rgba(248, 163, 9, 0.7); }
.mp-when-card h3 { margin: 0 0 0.2rem; color: var(--c-executive-blue); text-transform: uppercase; font-size: 1.05rem; } .mp-when-card p { margin: 0; font-size: 0.92rem; color: var(--text-on-light-muted); }
.mp-bio-grid { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(0, 0.75fr); gap: var(--sp-4); align-items: start; }
.mp-bio-col { display: grid; gap: var(--sp-3); }
.mp-bio { padding: var(--sp-3) var(--sp-4); border-radius: 22px; background: #fff; border: 1px solid var(--border-hairline-light); border-top: 5px solid var(--c-action-gold); box-shadow: var(--shadow-card); scroll-margin-top: 100px; }
.mp-bio header { display: flex; align-items: center; justify-content: space-between; gap: 0.8rem; flex-wrap: wrap; margin-bottom: var(--sp-2); }
.mp-bio h2 { margin: 0; font-size: 1.35rem; color: var(--c-executive-blue); text-transform: uppercase; }
.mp-bio-text p { margin: 0 0 0.8rem; color: var(--c-charcoal); line-height: 1.6; }
.mp-bio footer { display: flex; flex-wrap: wrap; align-items: center; gap: 0.7rem; padding-top: var(--sp-2); border-top: 1px solid var(--border-hairline-light); }
.mp-bio.is-flash { animation: mp-flash 1.2s ease-out; }
@keyframes mp-flash { 0% { box-shadow: 0 0 0 0 rgba(248, 163, 9, 0.8); } 100% { box-shadow: 0 0 0 26px rgba(248, 163, 9, 0); } }
.mp-aside { display: grid; gap: var(--sp-3); position: sticky; top: 100px; }
.mp-facts { padding: 0; border-radius: 22px; overflow: hidden; background: #fff; border: 1px solid var(--border-hairline-light); box-shadow: var(--shadow-card); }
.mp-facts h3 { display: flex; align-items: center; gap: 0.6rem; margin: 0; padding: 1rem 1.2rem; background: #04132b; color: var(--c-action-gold); font-size: 0.95rem; letter-spacing: 0.06em; text-transform: uppercase; } .mp-facts h3 svg { width: 24px; height: 24px; }
.mp-facts ul { list-style: none; margin: 0; padding: 0.4rem 1.2rem 0.8rem; } .mp-facts li { display: flex; align-items: center; gap: 0.8rem; padding: 0.7rem 0; border-bottom: 1px solid var(--border-hairline-light); font-weight: 700; color: var(--c-executive-blue); font-size: 0.92rem; } .mp-facts li:last-child { border: 0; } .mp-facts li span { color: var(--c-action-gold); flex: 0 0 auto; } .mp-facts li svg { width: 24px; height: 24px; }
.mp-tip { padding: var(--sp-3); border-radius: 22px; background: #04132b; color: #fff; } .mp-tip h3 { margin: 0 0 0.4rem; color: var(--c-action-gold); text-transform: uppercase; font-size: 0.95rem; } .mp-tip p { margin: 0; color: rgba(255, 255, 255, 0.86); font-size: 0.95rem; }

/* headshots */
.mp-badges { background: #04132b; border-block: 1px solid rgba(248, 163, 9, 0.4); }
.mp-badges ul { list-style: none; margin: 0; padding: 1rem 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--sp-2); }
.mp-badges li { display: flex; align-items: center; justify-content: center; gap: 0.7rem; color: #fff; font-size: 0.78rem; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; } .mp-badges li svg { width: 28px; height: 28px; color: var(--c-action-gold); }
.mp-sub { margin: var(--sp-4) 0 var(--sp-2); font-size: 1rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--c-executive-blue); display: flex; align-items: center; gap: 0.8rem; }
.mp-sub::after { content: ''; flex: 1; height: 2px; background: linear-gradient(90deg, var(--c-action-gold), transparent); }
.mp-shots { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--sp-3); }
.mp-shots-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.mp-shot { margin: 0; border-radius: 20px; overflow: hidden; background: #fff; border: 1px solid var(--border-hairline-light); box-shadow: var(--shadow-card); transition: transform 0.45s var(--ease-out), box-shadow 0.4s; }
.mp-shot:hover { transform: translateY(-8px) rotate(-0.6deg); box-shadow: 0 30px 56px rgba(1, 10, 24, 0.22); }
.mp-shot-img { position: relative; display: block; aspect-ratio: 4 / 5; overflow: hidden; background: #04132b; }
.mp-shot-img img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 18%; display: block; background: none; transition: transform 0.9s var(--ease-out); }
.mp-shot:hover .mp-shot-img img { transform: scale(1.08); }
.mp-shot-zoom { position: absolute; right: 0.7rem; top: 0.7rem; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: rgba(2, 12, 31, 0.78); color: #fff; opacity: 0; transform: scale(0.8); transition: opacity 0.3s, transform 0.3s; } .mp-shot-zoom svg { width: 20px; height: 20px; }
.mp-shot:hover .mp-shot-zoom, .mp-shot-img:focus-visible .mp-shot-zoom { opacity: 1; transform: none; }
.mp-shot figcaption { display: grid; gap: 0.2rem; padding: 0.9rem 1rem 1rem; } .mp-shot figcaption b { color: var(--c-executive-blue); text-transform: uppercase; font-size: 0.9rem; } .mp-shot figcaption span { font-size: 0.78rem; color: var(--text-on-light-muted); } .mp-shot .mp-dl { justify-self: start; margin-top: 0.5rem; }
.mp-usage-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--sp-3); }
.mp-usage-box { padding: var(--sp-3) var(--sp-4); border-radius: 22px; background: rgba(255, 255, 255, 0.06); border: 1px solid rgba(248, 163, 9, 0.5); } .mp-usage-box h2 { margin: 0 0 var(--sp-2); font-size: 1.25rem; color: var(--c-action-gold); text-transform: uppercase; }
.mp-usage-box ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.8rem; } .mp-usage-box li { display: flex; align-items: flex-start; color: rgba(255, 255, 255, 0.9); font-size: 0.95rem; }
.mp-finfo { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--sp-2); } .mp-finfo > div { display: grid; gap: 0.3rem; } .mp-finfo span { color: var(--c-action-gold); } .mp-finfo svg { width: 38px; height: 38px; } .mp-finfo b { color: #fff; text-transform: uppercase; font-size: 0.9rem; } .mp-finfo p { margin: 0; font-size: 0.86rem; color: rgba(255, 255, 255, 0.8); }
.mp-help { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-2); margin-top: var(--sp-3); padding: var(--sp-2); border-radius: 16px; border: 1px solid rgba(255, 255, 255, 0.25); } .mp-help span { color: var(--c-action-gold); } .mp-help svg { width: 36px; height: 36px; } .mp-help p { flex: 1 1 200px; margin: 0; color: #fff; font-size: 0.92rem; }
.mp-lb { position: fixed; inset: 0; z-index: 9999; display: grid; place-items: center; padding: var(--sp-3); background: rgba(2, 8, 20, 0.92); animation: sc-pan 0.3s var(--ease-out); }
.mp-lb img { max-width: min(92vw, 900px); max-height: 82vh; width: auto; height: auto; border-radius: 12px; box-shadow: 0 40px 100px rgba(0, 0, 0, 0.7); background: none; }
.mp-lb p { margin: 0.8rem 0 0; text-align: center; color: #fff; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; font-size: 0.85rem; }
.mp-lb button { position: absolute; right: 1rem; top: 1rem; width: 46px; height: 46px; border-radius: 50%; border: 0; background: var(--c-action-gold); color: #04132b; font-size: 1.6rem; line-height: 1; cursor: pointer; }

/* programs */
.mp-filter { display: flex; flex-wrap: wrap; align-items: center; gap: 0.6rem; margin-bottom: var(--sp-3); }
.mp-filter-k { font-size: 0.78rem; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; color: var(--c-executive-blue); }
.mp-prog-grid { display: grid; grid-template-columns: minmax(0, 1fr) 330px; gap: var(--sp-4); align-items: start; }
.mp-prog-list { display: grid; gap: var(--sp-3); }
.mp-prog { position: relative; display: grid; grid-template-columns: 110px minmax(0, 1fr) minmax(0, 200px); gap: var(--sp-3); align-items: start; padding: var(--sp-3); border-radius: 22px; background: #fff; border: 1px solid var(--border-hairline-light); box-shadow: var(--shadow-card); transition: transform 0.45s var(--ease-out), box-shadow 0.4s, opacity 0.4s, filter 0.4s; }
.mp-prog:hover { transform: translateY(-6px); box-shadow: 0 28px 54px rgba(1, 10, 24, 0.18); }
.mp-prog.is-off { opacity: 0.2; filter: grayscale(1); transform: scale(0.98); pointer-events: none; }
.mp-prog-n { position: absolute; left: -10px; top: -10px; display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; background: var(--c-action-gold); color: #04132b; font-family: var(--font-display); font-weight: 900; box-shadow: 0 8px 18px rgba(248, 163, 9, 0.4); }
.mp-prog-cover { width: 110px; height: auto; border-radius: 4px; box-shadow: 0 14px 30px rgba(1, 10, 24, 0.4); transform: rotate(-3deg); transition: transform 0.5s var(--ease-out); background: none; } .mp-prog:hover .mp-prog-cover { transform: rotate(0) scale(1.06); }
.mp-prog h3 { margin: 0; font-size: 1.25rem; color: var(--c-executive-blue); }
.mp-prog-tag { margin: 0.1rem 0 0.5rem; font-weight: 800; font-size: 0.82rem; color: #b36b00; letter-spacing: 0.04em; text-transform: uppercase; }
.mp-prog p { margin: 0 0 0.5rem; color: var(--text-on-light-muted); font-size: 0.95rem; }
.mp-prog ul { list-style: none; margin: 0 0 0.6rem; padding: 0; display: grid; gap: 0.3rem; } .mp-prog li { display: flex; align-items: center; font-size: 0.9rem; color: var(--c-charcoal); }
.mp-prog-meta { display: flex; flex-wrap: wrap; gap: 0.5rem; margin: 0 !important; } .mp-prog-meta span { padding: 0.25rem 0.7rem; border-radius: 999px; background: rgba(18, 64, 143, 0.08); color: var(--c-executive-blue); font-size: 0.72rem; font-weight: 800; letter-spacing: 0.04em; text-transform: uppercase; }
.mp-prog-act { display: grid; gap: 0.7rem; justify-items: stretch; align-content: center; } .mp-prog-act .btn { justify-content: center; } .mp-prog-act .mp-dl { justify-content: center; }
.mp-prog-aside { display: grid; gap: var(--sp-3); position: sticky; top: 100px; }
.mp-custom { padding: var(--sp-3); border-radius: 22px; background: linear-gradient(150deg, #04132b, #0b2f66); color: #fff; } .mp-custom h3 { margin: 0 0 0.5rem; color: var(--c-action-gold); text-transform: uppercase; } .mp-custom p { margin: 0; color: rgba(255, 255, 255, 0.86); }
.mp-topics { padding: var(--sp-3); border-radius: 22px; background: #fff; border: 1px solid var(--border-hairline-light); box-shadow: var(--shadow-card); } .mp-topics h3 { margin: 0 0 0.6rem; text-transform: uppercase; color: var(--c-executive-blue); } .mp-topics ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.5rem; } .mp-topics li { display: flex; align-items: center; font-size: 0.92rem; font-weight: 600; }
.mp-needtopic { padding: var(--sp-3); border-radius: 22px; background: #fff7e6; border: 2px dashed rgba(248, 163, 9, 0.7); text-align: center; } .mp-needtopic span { color: var(--c-executive-blue); } .mp-needtopic svg { width: 40px; height: 40px; } .mp-needtopic h3 { margin: 0.3rem 0; text-transform: uppercase; color: var(--c-executive-blue); } .mp-needtopic p { margin: 0 0 var(--sp-2); font-size: 0.92rem; color: var(--text-on-light-muted); }

/* audio and visual */
.mp-stage-sec { position: relative; overflow: hidden; } .mp-stage-sec .bk-h2 { color: #fff; }
.mp-stage-fig { position: relative; max-width: 840px; margin: var(--sp-4) auto 0; padding: var(--sp-2); border-radius: 26px; background: radial-gradient(80% 70% at 50% 0%, #0b2f66, #031634 90%); border: 1px solid rgba(255, 255, 255, 0.14); box-shadow: 0 30px 70px rgba(0, 0, 0, 0.5); }
.mp-stage-svg { display: block; width: 100%; height: auto; }
.mp-s-stage { fill: rgba(255, 255, 255, 0.07); stroke: rgba(255, 255, 255, 0.28); stroke-width: 2; } .mp-s-screen { fill: #5b8ce0; } .mp-s-spk { fill: #f8a309; filter: drop-shadow(0 0 10px rgba(248, 163, 9, 0.9)); } .mp-s-mon { fill: #8fb2f2; } .mp-s-av { fill: #ffd36b; } .mp-s-seat { fill: rgba(255, 255, 255, 0.14); } .mp-s-front { fill: rgba(248, 163, 9, 0.6); }
.mp-hot { position: absolute; transform: translate(-50%, -50%); padding: 0; border: 0; background: none; cursor: pointer; display: grid; place-items: center; }
.mp-hot i { width: 24px; height: 24px; border-radius: 50%; background: #fff; border: 4px solid var(--c-action-gold); box-shadow: 0 0 0 0 rgba(248, 163, 9, 0.7); animation: mp-ping 2.4s ease-out infinite; }
.mp-hot span { position: absolute; bottom: calc(100% + 8px); left: 50%; transform: translateX(-50%) translateY(4px); padding: 0.3rem 0.7rem; border-radius: 8px; background: #04132b; border: 1px solid rgba(248, 163, 9, 0.7); color: #fff; font-size: 0.72rem; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; white-space: nowrap; opacity: 0; pointer-events: none; transition: opacity 0.25s, transform 0.25s; }
.mp-hot:hover span, .mp-hot:focus-visible span, .mp-hot.is-on span { opacity: 1; transform: translateX(-50%); }
.mp-hot.is-on i { background: var(--c-action-gold); animation: none; }
.mp-hot:focus-visible { outline: 3px solid #fff; outline-offset: 4px; border-radius: 50%; }
@keyframes mp-ping { 0% { box-shadow: 0 0 0 0 rgba(248, 163, 9, 0.7); } 80%, 100% { box-shadow: 0 0 0 16px rgba(248, 163, 9, 0); } }
.mp-stage-note { max-width: 62ch; min-height: 3.2em; margin: var(--sp-3) auto 0; padding: 0.9rem 1.2rem; border-radius: 14px; background: rgba(255, 255, 255, 0.08); border-left: 4px solid var(--c-action-gold); color: #fff; font-weight: 600; }
.mp-req-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--sp-3); }
.mp-req { padding: var(--sp-3) var(--sp-4); border-radius: 22px; background: #fff; border: 1px solid var(--border-hairline-light); box-shadow: var(--shadow-card); } .mp-req header { display: flex; align-items: center; gap: var(--sp-2); margin-bottom: var(--sp-2); } .mp-req h2 { margin: 0; font-size: 1.15rem; color: var(--c-executive-blue); text-transform: uppercase; }
.mp-req ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.6rem; } .mp-req li { display: flex; align-items: center; font-size: 0.95rem; opacity: 0; transform: translateX(-12px); transition: opacity 0.5s var(--ease-out), transform 0.5s var(--ease-out); transition-delay: calc(var(--i) * 0.1s + 0.2s); } .mp-req.is-visible li { opacity: 1; transform: none; }
.mp-fmt-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--sp-3); margin-top: var(--sp-3); }
.mp-fmt { border-radius: 18px; overflow: hidden; background: #fff; border: 1px solid var(--border-hairline-light); box-shadow: var(--shadow-card); } .mp-fmt h3 { margin: 0; padding: 0.8rem 1.1rem; background: #04132b; color: var(--c-action-gold); font-size: 0.9rem; letter-spacing: 0.06em; text-transform: uppercase; } .mp-fmt ul { margin: 0; padding: 0.9rem 1.1rem 1rem 2rem; font-size: 0.9rem; display: grid; gap: 0.35rem; }
.mp-room-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--sp-3); margin-top: var(--sp-4); }
.mp-room { display: flex; gap: var(--sp-2); padding: var(--sp-3); border-radius: 20px; background: #fff; border: 1px solid var(--border-hairline-light); box-shadow: var(--shadow-card); transition: transform 0.45s var(--ease-out); } .mp-room:hover { transform: translateY(-6px); } .mp-room .mp-step-n { flex: 0 0 auto; width: 44px; height: 44px; font-size: 1rem; } .mp-room h3 { margin: 0 0 0.2rem; color: var(--c-executive-blue); font-size: 1.02rem; } .mp-room p { margin: 0; font-size: 0.9rem; color: var(--text-on-light-muted); }
.mp-day-grid { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 0.7fr); gap: var(--sp-3); align-items: start; }
.mp-daybox { padding: var(--sp-3) var(--sp-4); border-radius: 22px; background: #fff; border: 1px solid var(--border-hairline-light); border-top: 5px solid var(--c-action-gold); box-shadow: var(--shadow-card); } .mp-daybox header { display: flex; align-items: center; justify-content: space-between; gap: 0.8rem; } .mp-daybox h2 { margin: 0; font-size: 1.3rem; color: var(--c-executive-blue); text-transform: uppercase; }
.mp-day-bar { height: 8px; margin: var(--sp-2) 0; border-radius: 99px; background: rgba(18, 64, 143, 0.12); overflow: hidden; } .mp-day-bar i { display: block; height: 100%; width: 0; border-radius: 99px; background: linear-gradient(90deg, #12408f, #f8a309); transition: width 0.5s var(--ease-out); }
.mp-daybox ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.6rem 1.2rem; }
.mp-daybox label { display: flex; align-items: center; gap: 0.7rem; cursor: pointer; color: var(--c-charcoal); font-size: 0.95rem; } .mp-daybox .mp-box { border-color: var(--c-executive-blue); }
.mp-day-done { min-height: 1.3em; margin: var(--sp-2) 0 0; font-weight: 800; color: #8a5400; }
.mp-important { padding: var(--sp-3); border-radius: 22px; background: #fff7e6; border: 2px solid rgba(248, 163, 9, 0.7); } .mp-important span { color: #b36b00; } .mp-important svg { width: 38px; height: 38px; } .mp-important h3 { margin: 0.3rem 0; text-transform: uppercase; color: var(--c-executive-blue); } .mp-important p { margin: 0; color: var(--c-charcoal); font-size: 0.95rem; }

/* questionnaire */
.mp-steps-q li { padding: 0 0.6rem; }
.mp-q-grid { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 0.8fr); gap: var(--sp-4); align-items: start; }
.mp-q-left { display: grid; gap: var(--sp-3); } .mp-q-right { display: grid; gap: var(--sp-3); position: sticky; top: 100px; }
.mp-qabout, .mp-learn, .mp-help2 { padding: var(--sp-3) var(--sp-4); border-radius: 22px; background: #fff; border: 1px solid var(--border-hairline-light); box-shadow: var(--shadow-card); }
.mp-qabout h2, .mp-learn h2, .mp-help2 h2, .mp-start h2, .mp-qfaq h2 { margin: 0 0 var(--sp-2); font-size: 1.25rem; color: var(--c-executive-blue); text-transform: uppercase; }
.mp-qabout > p { margin: 0 0 var(--sp-2); color: var(--text-on-light-muted); } .mp-qabout ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.6rem; } .mp-qabout li { display: flex; align-items: center; font-size: 0.95rem; }
.mp-start { padding: var(--sp-4); border-radius: 24px; background: linear-gradient(150deg, #04132b, #0b2f66); color: #fff; text-align: center; border: 1px solid rgba(248, 163, 9, 0.5); box-shadow: 0 30px 60px rgba(1, 10, 24, 0.3); }
.mp-start h2 { color: var(--c-action-gold); } .mp-start > p { margin: 0 auto var(--sp-2); max-width: 46ch; color: rgba(255, 255, 255, 0.86); }
.mp-embed { margin: var(--sp-2) 0; text-align: left; }
.mp-embed-ph { display: flex; align-items: center; gap: var(--sp-2); padding: var(--sp-3); border-radius: 16px; background: rgba(255, 255, 255, 0.07); border: 1px dashed rgba(248, 163, 9, 0.7); } .mp-embed-ph span { color: var(--c-action-gold); } .mp-embed-ph svg { width: 40px; height: 40px; } .mp-embed-ph p { margin: 0; color: #fff; font-size: 0.95rem; } .mp-embed-ph a { color: #ffd36b; text-decoration: underline; }
.mp-or { display: flex; align-items: center; gap: 0.8rem; margin: var(--sp-2) 0; color: rgba(255, 255, 255, 0.7); text-transform: uppercase; font-size: 0.75rem; font-weight: 800; letter-spacing: 0.2em; } .mp-or::before, .mp-or::after { content: ''; flex: 1; height: 1px; background: rgba(255, 255, 255, 0.25); }
.mp-small { margin: 0.6rem 0 0; font-size: 0.85rem; color: rgba(255, 255, 255, 0.75); }
.mp-qfaq { padding: var(--sp-3) var(--sp-4); border-radius: 22px; background: #fff; border: 1px solid var(--border-hairline-light); }
.mp-learn > div { display: flex; gap: var(--sp-2); padding: 0.9rem 0; border-bottom: 1px solid var(--border-hairline-light); } .mp-learn > div:last-child { border: 0; } .mp-learn > div > span { color: var(--c-executive-blue); flex: 0 0 auto; } .mp-learn svg { width: 38px; height: 38px; } .mp-learn h3 { margin: 0 0 0.1rem; font-size: 1rem; color: var(--c-executive-blue); } .mp-learn p { margin: 0; font-size: 0.88rem; color: var(--text-on-light-muted); }
.mp-help2 ul { list-style: none; margin: var(--sp-2) 0 0; padding: 0; display: grid; gap: 0.8rem; } .mp-help2 li { display: flex; gap: 0.8rem; align-items: center; } .mp-help2 li > span { color: var(--c-executive-blue); } .mp-help2 svg { width: 28px; height: 28px; } .mp-help2 b { display: block; font-size: 0.78rem; text-transform: uppercase; letter-spacing: 0.08em; } .mp-help2 a { color: var(--c-executive-blue); font-weight: 700; word-break: break-all; }
.mp-qstats { padding-block: var(--sp-5); } .mp-qq { margin: 0 auto var(--sp-3); max-width: 44ch; text-align: center; font-family: var(--font-display); font-weight: 800; font-size: clamp(1.2rem, 1rem + 1vw, 1.8rem); line-height: 1.25; color: #fff; } .mp-qq span { display: block; margin-top: 0.5rem; font-family: var(--font-body); font-size: 0.85rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--c-action-gold); }

@media (max-width: 1000px) {
  .mp-hero .co-hero-grid { grid-template-columns: minmax(0, 1fr); align-items: start; }
  .mp-hero .co-hero-bg img { object-position: 92% 8%; }
  .mp-hero .co-hero-bg::after { background: linear-gradient(180deg, rgba(2, 12, 31, 0.9), rgba(2, 12, 31, 0.82) 60%, #020c1f); }
  .mp-ready { margin-inline: auto; transform: none; }
  .mp-why-grid, .mp-more-grid, .mp-when-grid, .mp-fmt-grid, .mp-room-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mp-res-grid, .mp-shots { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mp-ready-grid, .mp-avsum-grid, .mp-preview-grid, .mp-bio-grid, .mp-usage-grid, .mp-prog-grid, .mp-day-grid, .mp-q-grid { grid-template-columns: minmax(0, 1fr); gap: var(--sp-4); }
  .mp-aside, .mp-prog-aside, .mp-q-right { position: static; }
  .mp-meter { grid-template-columns: minmax(0, 1fr); justify-items: center; } .mp-checks { width: 100%; }
  .mp-steps { grid-template-columns: minmax(0, 1fr); gap: var(--sp-3); padding-left: 0; } .mp-steps::before, .mp-steps::after { display: none; }
  .mp-steps li { display: grid; grid-template-columns: 56px minmax(0, 1fr); column-gap: var(--sp-2); text-align: left; align-items: center; } .mp-steps .mp-step-n { grid-row: span 2; } .mp-step-ico { display: none; }
  .mp-prog { grid-template-columns: 90px minmax(0, 1fr); } .mp-prog-cover { width: 90px; } .mp-prog-act { grid-column: 1 / -1; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mp-fan { height: 340px; max-width: 560px; margin-inline: auto; width: 100%; }
}
@media (max-width: 600px) {
  .mp-why-grid, .mp-more-grid, .mp-when-grid, .mp-fmt-grid, .mp-room-grid, .mp-req-grid, .mp-res-grid { grid-template-columns: minmax(0, 1fr); }
  .mp-shots, .mp-shots-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--sp-2); }
  .mp-badges ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mp-daybox ul { grid-template-columns: minmax(0, 1fr); }
  .mp-prog-act { grid-template-columns: minmax(0, 1fr); }
  .mp-bio, .mp-req, .mp-daybox, .mp-qabout, .mp-qfaq, .mp-learn, .mp-help2 { padding-inline: var(--sp-3); }
  .mp-start { padding: var(--sp-3); }
  .mp-dlall { padding: var(--sp-3); }
  .mp-fan { height: 280px; } .mp-doc figcaption { font-size: 0.5rem; letter-spacing: 0.04em; }
  .mp-hot span { display: none; }
  .mp-meter { padding: var(--sp-3); }
  .mp-hot i { width: 20px; height: 20px; }
}
@media (prefers-reduced-motion: reduce) {
  .mp-ready, .mp-ticker-track, .mp-ready-dot, .mp-dlall-ico, .mp-res-bar, .mp-hot i, .mp-ready-bar i { animation: none; }
  .mp-avlist li, .mp-love li, .mp-req li { opacity: 1; transform: none; transition: none; }
}

.mp-prog-act .btn { padding-inline: 0.9rem; font-size: 0.78rem; white-space: normal; text-align: center; line-height: 1.2; }
.mp-prog-act .mp-dl { font-size: 0.74rem; white-space: normal; text-align: center; }
.mp-dlall .btn-outline, .mp-start .btn-outline, .mp-band-act .btn-outline, .mp-usage-box .btn-outline { color: #fff; border-color: rgba(255, 255, 255, 0.85); }
.mp-dlall .btn-outline:hover, .mp-start .btn-outline:hover, .mp-band-act .btn-outline:hover { background: #fff; color: #04132b; }
.mp-dlall-act, .mp-band-act, .mp-bio footer, .mp-prog-act { min-width: 0; max-width: 100%; }
.mp-dlall-act .btn, .mp-band-act .btn, .mp-hero .bk-hero-actions .btn, .mp-support .btn, .mp-getall .btn { white-space: normal; text-align: center; line-height: 1.2; }
@media (max-width: 600px) {
  .mp-dlall-act, .mp-band-act { width: 100%; justify-items: stretch; }
  .mp-dlall-act .btn, .mp-band-act .btn { width: 100%; justify-content: center; box-sizing: border-box; }
  .mp-hero .bk-hero-actions .btn { max-width: 100%; box-sizing: border-box; }
}
.mp-roomsec .btn { white-space: normal; text-align: center; line-height: 1.25; max-width: 100%; box-sizing: border-box; }

.mp-lay-tabs { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.6rem; margin-top: var(--sp-3); }
.mp-lay .pe-fbtn { background: transparent; color: #fff; border-color: rgba(255, 255, 255, 0.6); }
.mp-lay .pe-fbtn[aria-pressed="true"] { background: var(--c-action-gold); color: #04132b; border-color: var(--c-action-gold); box-shadow: 0 0 22px rgba(248, 163, 9, 0.5); }
.mp-lay .mp-stage-fig { margin-top: var(--sp-3); }
.mp-lay g[data-lay] { animation: sc-pan 0.6s var(--ease-out); }
.mp-s-aisle { fill: rgba(248, 163, 9, 0.12); } .mp-s-table { fill: rgba(143, 178, 242, 0.35); }

/* =====================================================================
   Insights (blog): hub, category pages and articles (.in-*)
   ===================================================================== */
.in-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.in-progress { position: fixed; top: 0; left: 0; right: 0; height: 5px; z-index: 1200; background: rgba(4, 19, 43, 0.25); pointer-events: none; }
.in-progress i { display: block; height: 100%; width: 0; background: linear-gradient(90deg, #12408f, #f8a309); box-shadow: 0 0 14px rgba(248, 163, 9, 0.8); border-radius: 0 4px 4px 0; }

/* hero */
.in-hero .co-hero-bg img { opacity: 0.95; }
.in-hero .co-hero-bg::after { background: linear-gradient(95deg, rgba(2, 12, 31, 0.98) 8%, rgba(2, 12, 31, 0.9) 45%, rgba(4, 22, 52, 0.55) 80%, rgba(4, 22, 52, 0.35)), linear-gradient(180deg, transparent 70%, #020c1f 100%); }
.in-hero-in { position: relative; z-index: 2; padding-bottom: var(--sp-5); }
.in-hero-copy { max-width: 820px; }
.in-hero h1 { font-size: clamp(1.9rem, 1.1rem + 2.7vw, 3.4rem); line-height: 1.08; }
.in-hero .kp-sub { max-width: 60ch; }
.in-hero .kp-body { max-width: 66ch; }
.in-chip { display: inline-block; padding: 0.4rem 1rem; border-radius: 999px; border: 1px solid rgba(248, 163, 9, 0.7); background: rgba(248, 163, 9, 0.14); color: #ffd36b; font-size: 0.74rem; font-weight: 800; letter-spacing: 0.14em; text-transform: uppercase; transition: background 0.3s, color 0.3s; }
.in-chip:hover { background: var(--c-action-gold); color: #04132b; }
.in-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 0.6rem 1.4rem; margin-top: var(--sp-3); color: rgba(255, 255, 255, 0.85); font-size: 0.88rem; font-weight: 600; }
.in-meta span { display: inline-flex; align-items: center; gap: 0.45rem; }
.in-meta svg { width: 18px; height: 18px; color: var(--c-action-gold); }
.in-by img { width: 44px; height: 44px; border-radius: 50%; object-fit: cover; border: 2px solid var(--c-action-gold); background: none; }
.in-search { position: relative; max-width: 520px; margin-top: var(--sp-3); }
.in-search span { position: absolute; left: 1.1rem; top: 50%; transform: translateY(-50%); color: #5b6b85; display: grid; }
.in-search svg { width: 22px; height: 22px; }
.in-search input { width: 100%; box-sizing: border-box; padding: 1rem 1.2rem 1rem 3.2rem; border-radius: 999px; border: 2px solid rgba(255, 255, 255, 0.25); background: #fff; font: inherit; font-size: 1rem; color: var(--c-charcoal); box-shadow: 0 16px 40px rgba(0, 0, 0, 0.35); }
.in-search input:focus { outline: 3px solid var(--c-action-gold); outline-offset: 2px; }

/* layout: article/list on one side, blog sidebar on the other */
.in-layout { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: var(--sp-6); align-items: start; padding-block: var(--sp-6); }
.in-article, .in-main { min-width: 0; }
.in-article { max-width: 780px; }
.in-side { position: sticky; top: 100px; align-self: start; display: grid; gap: var(--sp-3); max-height: calc(100vh - 120px); overflow-y: auto; padding: 2px 4px 2px 2px; scrollbar-width: thin; scrollbar-color: rgba(18, 64, 143, 0.35) transparent; }
.in-side-h { margin: 0 0 0.7rem; font-size: 0.78rem; font-weight: 800; letter-spacing: 0.16em; text-transform: uppercase; color: var(--c-executive-blue); }

/* sidebar boxes */
.in-toc, .in-cats { padding: var(--sp-3); border-radius: 22px; background: #fff; border: 1px solid var(--border-hairline-light); box-shadow: var(--shadow-card); }
.in-toc-meta { display: flex; align-items: center; gap: 0.7rem; margin-bottom: 0.9rem; font-size: 0.78rem; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; color: var(--text-on-light-muted); }
.in-toc-bar { flex: 1; height: 6px; border-radius: 99px; background: rgba(18, 64, 143, 0.12); overflow: hidden; }
.in-toc-bar i { display: block; height: 100%; width: 0; background: linear-gradient(90deg, #12408f, #f8a309); border-radius: 99px; }
.in-toc ol { list-style: none; margin: 0; padding: 0 0 0 14px; border-left: 3px solid rgba(18, 64, 143, 0.14); display: grid; gap: 0.15rem; }
.in-toc a { position: relative; display: block; padding: 0.4rem 0.6rem; margin-left: -3px; border-left: 3px solid transparent; border-radius: 0 8px 8px 0; font-size: 0.88rem; line-height: 1.3; font-weight: 600; color: var(--text-on-light-muted); transition: color 0.25s, background 0.25s, border-color 0.25s; }
.in-toc a:hover { color: var(--c-executive-blue); background: rgba(18, 64, 143, 0.05); }
.in-toc a.is-active { color: var(--c-executive-blue); border-left-color: var(--c-action-gold); background: rgba(248, 163, 9, 0.12); font-weight: 800; }
.in-copy { display: inline-flex; align-items: center; gap: 0.5rem; margin-top: 0.9rem; padding: 0.5rem 0.9rem; border-radius: 999px; border: 2px solid var(--c-executive-blue); background: #fff; color: var(--c-executive-blue); font: inherit; font-size: 0.78rem; font-weight: 800; letter-spacing: 0.05em; text-transform: uppercase; cursor: pointer; transition: background 0.25s, color 0.25s; }
.in-copy svg { width: 16px; height: 16px; } .in-copy:hover { background: var(--c-executive-blue); color: #fff; }
.in-cat { border-bottom: 1px solid var(--border-hairline-light); } .in-cat:last-of-type { border-bottom: 0; }
.in-cat summary { display: flex; align-items: center; gap: 0.7rem; padding: 0.75rem 0.2rem; cursor: pointer; list-style: none; font-weight: 800; color: var(--c-executive-blue); font-size: 0.95rem; }
.in-cat summary::-webkit-details-marker { display: none; }
.in-cat summary::after { content: ''; width: 9px; height: 9px; margin-left: 0.2rem; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); transition: transform 0.3s; }
.in-cat[open] summary::after { transform: rotate(-135deg); }
.in-cat summary:focus-visible { outline: 3px solid var(--c-action-gold); outline-offset: 2px; border-radius: 8px; }
.in-cat-ico { display: grid; place-items: center; flex: 0 0 auto; width: 34px; height: 34px; border-radius: 10px; background: linear-gradient(145deg, #ffc14d, #f8a309); color: #04132b; }
.in-cat-ico svg { width: 19px; height: 19px; }
.in-cat-n { flex: 1; }
.in-cat summary b { margin-left: auto; display: grid; place-items: center; min-width: 24px; height: 24px; padding: 0 6px; border-radius: 99px; background: rgba(18, 64, 143, 0.1); font-size: 0.74rem; }
.in-cat ul { list-style: none; margin: 0 0 0.4rem 17px; padding: 0 0 0 14px; border-left: 2px solid rgba(248, 163, 9, 0.5); display: grid; gap: 0.1rem; animation: sc-pan 0.4s var(--ease-out); }
.in-cat li a { display: block; padding: 0.38rem 0.6rem; border-radius: 8px; font-size: 0.86rem; line-height: 1.3; color: var(--c-charcoal); transition: background 0.2s, color 0.2s, padding 0.2s; }
.in-cat li a:hover { background: rgba(18, 64, 143, 0.07); color: var(--c-executive-blue); padding-left: 0.85rem; }
.in-cat li a.is-current { background: rgba(248, 163, 9, 0.18); color: var(--c-executive-blue); font-weight: 800; }
.in-cat-all { display: inline-flex; align-items: center; gap: 0.35rem; margin: 0.1rem 0 0.8rem 31px; font-size: 0.74rem; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; color: #b36b00; }
.in-cat-all svg { transition: transform 0.3s; } .in-cat-all:hover svg { transform: translateX(4px); }
.in-side-book { padding: var(--sp-3); border-radius: 22px; background: linear-gradient(150deg, #04132b, #0b2f66); border: 1px solid rgba(248, 163, 9, 0.5); text-align: center; color: #fff; box-shadow: 0 24px 50px rgba(1, 10, 24, 0.3); }
.in-side-book-ico { display: inline-grid; place-items: center; width: 52px; height: 52px; border-radius: 16px; background: rgba(248, 163, 9, 0.18); color: var(--c-action-gold); } .in-side-book-ico svg { width: 28px; height: 28px; }
.in-side-book h2 { margin: 0.6rem 0 0.2rem; font-size: 1.15rem; color: #fff; } .in-side-book p { margin: 0 0 var(--sp-2); font-size: 0.88rem; color: rgba(255, 255, 255, 0.82); }

/* article body */
.in-tldr { display: flex; gap: var(--sp-2); align-items: flex-start; padding: var(--sp-3); margin-bottom: var(--sp-4); border-radius: 22px; background: linear-gradient(135deg, #fff, #f1f6ff); border: 1px solid var(--border-hairline-light); border-left: 6px solid var(--c-action-gold); box-shadow: var(--shadow-card); }
.in-tldr p { margin: 0; font-size: 1.04rem; line-height: 1.6; color: var(--c-charcoal); font-weight: 500; }
.in-tldr .kp-answer-badge { flex: 0 0 auto; margin-top: 0.15rem; }
.in-lead p, .in-sec p { margin: 0 0 1.25rem; font-size: 1.14rem; line-height: 1.82; color: #263040; }
.in-lead p:first-child::first-letter { float: left; margin: 0.08em 0.12em 0 0; font-family: var(--font-display); font-weight: 900; font-size: 4.3rem; line-height: 0.8; color: var(--c-action-gold); text-shadow: 0 6px 20px rgba(248, 163, 9, 0.35); }
.in-sec { margin-top: var(--sp-5); scroll-margin-top: 100px; }
.in-sec h2 { display: flex; align-items: center; gap: 1rem; margin: 0 0 1.2rem; font-size: clamp(1.5rem, 1.1rem + 1.1vw, 2.1rem); line-height: 1.15; color: var(--c-executive-blue); }
.in-num { flex: 0 0 auto; font-family: var(--font-display); font-weight: 900; font-size: clamp(2.6rem, 2rem + 2vw, 3.8rem); line-height: 1; color: transparent; -webkit-text-stroke: 2px rgba(248, 163, 9, 0.8); transition: color 0.8s 0.2s, text-shadow 0.8s 0.2s; }
.fade-in-up.is-visible .in-num { color: rgba(248, 163, 9, 0.2); text-shadow: 0 0 24px rgba(248, 163, 9, 0.35); }
.in-mark { color: inherit; font-weight: 700; background: linear-gradient(transparent 58%, rgba(248, 163, 9, 0.5) 58%) no-repeat 0 0 / 100% 100%; padding: 0 0.1em; }
.in-article.in-js .in-mark { background-size: 0 100%; transition: background-size 1.1s var(--ease-out) 0.25s; }
.in-article.in-js .in-mark.is-on { background-size: 100% 100%; }
.in-quote { position: relative; margin: var(--sp-4) 0; padding: var(--sp-3) var(--sp-3) var(--sp-3) calc(var(--sp-4) + 8px); border-left: 5px solid var(--c-action-gold); border-radius: 0 20px 20px 0; background: linear-gradient(90deg, rgba(248, 163, 9, 0.12), transparent); font-family: var(--font-display); font-weight: 800; font-size: clamp(1.3rem, 1.1rem + 0.8vw, 1.75rem); line-height: 1.3; color: var(--c-executive-blue); }
.in-quote > span { position: absolute; left: 14px; top: -6px; font-size: 4.2rem; line-height: 1; color: var(--c-action-gold); opacity: 0.55; }
.in-tip { margin: var(--sp-4) 0; padding: var(--sp-3); border-radius: 20px; background: linear-gradient(150deg, #04132b, #0b2f66); color: #fff; box-shadow: 0 20px 44px rgba(1, 10, 24, 0.25); border: 1px solid rgba(248, 163, 9, 0.45); }
.in-tip b { display: flex; align-items: center; gap: 0.6rem; font-size: 0.8rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--c-action-gold); }
.in-tip b svg { width: 22px; height: 22px; }
.in-tip p { margin: 0.5rem 0 0 !important; font-size: 1.02rem !important; color: rgba(255, 255, 255, 0.92) !important; line-height: 1.6 !important; }
.in-takeaways { margin-top: var(--sp-5); padding: var(--sp-4); border-radius: 26px; background: radial-gradient(90% 80% at 0% 0%, #0b2f66, #04132b 80%); color: #fff; box-shadow: 0 30px 60px rgba(1, 10, 24, 0.3); scroll-margin-top: 100px; }
.in-takeaways h2 { margin: 0 0 var(--sp-2); font-size: 1.3rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--c-action-gold); }
.in-takeaways ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.9rem; }
.in-takeaways li { display: flex; align-items: flex-start; gap: 0.8rem; font-size: 1.05rem; line-height: 1.5; opacity: 0; transform: translateX(-14px); transition: opacity 0.5s var(--ease-out), transform 0.5s var(--ease-out); transition-delay: calc(var(--i) * 0.14s + 0.2s); }
.in-takeaways.is-visible li { opacity: 1; transform: none; }
.in-takeaways li > span { flex: 0 0 auto; display: grid; place-items: center; width: 28px; height: 28px; margin-top: 1px; border-radius: 50%; background: var(--c-action-gold); color: #04132b; box-shadow: 0 0 16px rgba(248, 163, 9, 0.6); } .in-takeaways li svg { width: 15px; height: 15px; }
.in-todo { margin-top: var(--sp-4); padding: var(--sp-3) var(--sp-4); border-radius: 26px; background: #fff; border: 1px solid var(--border-hairline-light); border-top: 6px solid var(--c-action-gold); box-shadow: var(--shadow-card); scroll-margin-top: 100px; }
.in-todo header { display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; flex-wrap: wrap; }
.in-todo h2 { margin: 0; font-size: 1.4rem; color: var(--c-executive-blue); }
.in-todo-count { font-family: var(--font-display); font-weight: 900; font-size: 1.5rem; color: var(--c-executive-blue); } .in-todo-count b { color: #d68a00; } .in-todo-count span { margin-left: 0.4rem; font-family: var(--font-body); font-size: 0.7rem; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; color: var(--text-on-light-muted); }
.in-todo-bar { height: 8px; margin: var(--sp-2) 0; border-radius: 99px; background: rgba(18, 64, 143, 0.12); overflow: hidden; } .in-todo-bar i { display: block; height: 100%; width: 0; border-radius: 99px; background: linear-gradient(90deg, #12408f, #f8a309); transition: width 0.5s var(--ease-out); }
.in-todo ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.7rem; }
.in-todo label { display: flex; align-items: flex-start; gap: 0.8rem; cursor: pointer; font-size: 1.02rem; line-height: 1.5; color: var(--c-charcoal); padding: 0.55rem 0.7rem; border-radius: 14px; transition: background 0.25s; } .in-todo label:hover { background: rgba(18, 64, 143, 0.05); }
.in-todo input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.in-todo .mp-box { margin-top: 1px; border-color: var(--c-executive-blue); }
.in-todo li:has(input:checked) label span:last-child { text-decoration: line-through; text-decoration-color: rgba(18, 64, 143, 0.4); color: var(--text-on-light-muted); }
.in-todo-msg { min-height: 1.3em; margin: var(--sp-2) 0 0; font-weight: 800; color: #8a5400; }
.in-faq { margin-top: var(--sp-5); } .in-faq h2 { margin: 0 0 var(--sp-2); font-size: 1.5rem; color: var(--c-executive-blue); }
.in-book { margin-top: var(--sp-5); padding: var(--sp-4); border-radius: 28px; background: radial-gradient(100% 100% at 100% 0%, #0b2f66, #04132b 70%); color: #fff; border: 1px solid rgba(248, 163, 9, 0.5); box-shadow: 0 34px 70px rgba(1, 10, 24, 0.35); scroll-margin-top: 100px; }
.in-book h2 { margin: 0.3rem 0 0.6rem; font-size: clamp(1.5rem, 1.2rem + 1vw, 2.1rem); line-height: 1.15; color: #fff; }
.in-book-top p:not(.eyebrow) { margin: 0; color: rgba(255, 255, 255, 0.86); max-width: 62ch; }
.in-book-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--sp-2); margin-top: var(--sp-3); }
.in-book-card { position: relative; overflow: hidden; display: flex; flex-direction: column; gap: 0.4rem; padding: var(--sp-3) var(--sp-2) var(--sp-2); border-radius: 20px; background: rgba(255, 255, 255, 0.07); border: 1px solid rgba(255, 255, 255, 0.18); color: #fff; text-decoration: none; transition: transform 0.45s var(--ease-out), border-color 0.3s, background 0.3s; }
.in-book-card::before { content: ''; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(220px circle at var(--mx, 50%) var(--my, -30%), rgba(248, 163, 9, 0.28), transparent 70%); opacity: 0; transition: opacity 0.35s; }
.in-book-card:hover { transform: translateY(-6px); border-color: rgba(248, 163, 9, 0.8); background: rgba(255, 255, 255, 0.1); } .in-book-card:hover::before { opacity: 1; }
.in-book-ico { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 14px; background: linear-gradient(145deg, #ffc14d, #f8a309); color: #04132b; box-shadow: 0 8px 20px rgba(248, 163, 9, 0.4); } .in-book-ico svg { width: 26px; height: 26px; }
.in-book-card h3 { margin: 0.4rem 0 0; font-size: 1.15rem; color: #fff; } .in-book-card p { margin: 0; font-size: 0.9rem; color: rgba(255, 255, 255, 0.82); }
.in-book-go { margin-top: auto; padding-top: 0.6rem; display: inline-flex; align-items: center; gap: 0.4rem; font-size: 0.76rem; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; color: #ffd36b; } .in-book-card:hover .in-book-go svg { transform: translateX(5px); } .in-book-go svg { transition: transform 0.3s; }
.in-book-note { margin: var(--sp-3) 0 0; font-size: 0.92rem; color: rgba(255, 255, 255, 0.85); } .in-book-note a { color: #ffd36b; text-decoration: underline; }
.in-author { display: flex; gap: var(--sp-3); align-items: center; margin-top: var(--sp-4); padding: var(--sp-3); border-radius: 22px; background: #fff; border: 1px solid var(--border-hairline-light); box-shadow: var(--shadow-card); }
.in-author img { flex: 0 0 auto; width: 96px; height: 96px; border-radius: 50%; object-fit: cover; border: 3px solid var(--c-action-gold); background: none; }
.in-author-k { margin: 0; font-size: 0.72rem; font-weight: 800; letter-spacing: 0.14em; text-transform: uppercase; color: #b36b00; } .in-author h2 { margin: 0.1rem 0 0.3rem; font-size: 1.3rem; color: var(--c-executive-blue); } .in-author p:not(.in-author-k) { margin: 0; font-size: 0.95rem; color: var(--text-on-light-muted); } .in-author a { color: var(--c-executive-blue); font-weight: 800; }
.in-pn { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--sp-2); margin-top: var(--sp-3); }
.in-pn a { display: grid; gap: 0.25rem; padding: var(--sp-2) var(--sp-3); border-radius: 18px; background: #f2f5f8; border: 1px solid var(--border-hairline-light); transition: transform 0.4s var(--ease-out), border-color 0.3s, background 0.3s; } .in-pn a:hover { transform: translateY(-4px); border-color: rgba(248, 163, 9, 0.7); background: #fff; }
.in-pn span { font-size: 0.7rem; font-weight: 800; letter-spacing: 0.14em; text-transform: uppercase; color: #b36b00; } .in-pn strong { font-size: 0.98rem; line-height: 1.3; color: var(--c-executive-blue); } .in-pn-next { text-align: right; }

/* cards + category pages + hub */
.in-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: var(--sp-3); margin-top: var(--sp-3); }
.in-more .in-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.in-card { position: relative; overflow: hidden; display: flex; flex-direction: column; border-radius: 22px; background: #fff; border: 1px solid var(--border-hairline-light); box-shadow: var(--shadow-card); color: inherit; text-decoration: none; transition: transform 0.5s var(--ease-out), box-shadow 0.4s, border-color 0.3s, opacity 0.35s; }
.in-card::after { content: ''; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(260px circle at var(--mx, 50%) var(--my, -30%), rgba(248, 163, 9, 0.2), transparent 70%); opacity: 0; transition: opacity 0.35s; }
.in-card:hover { transform: translateY(-8px); border-color: rgba(248, 163, 9, 0.7); box-shadow: 0 30px 56px rgba(1, 10, 24, 0.2); } .in-card:hover::after { opacity: 1; }
.in-card-img { display: block; aspect-ratio: 16 / 10; overflow: hidden; background: #04132b; } .in-card-img img { width: 100%; height: 100%; object-fit: cover; display: block; background: none; transition: transform 0.9s var(--ease-out); } .in-card:hover .in-card-img img { transform: scale(1.08); }
.in-card-b { display: flex; flex-direction: column; gap: 0.4rem; flex: 1; padding: var(--sp-2) var(--sp-3) var(--sp-2); }
.in-card-tag { align-self: flex-start; padding: 0.2rem 0.7rem; border-radius: 999px; background: rgba(248, 163, 9, 0.18); color: #8a5400; font-size: 0.66rem; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; }
.in-card-b strong { font-size: 1.08rem; line-height: 1.25; color: var(--c-executive-blue); } .in-card-dek { font-size: 0.9rem; line-height: 1.5; color: var(--text-on-light-muted); }
.in-card-meta { display: flex; align-items: center; gap: 0.4rem; margin-top: auto; padding-top: 0.5rem; font-size: 0.76rem; font-weight: 800; letter-spacing: 0.05em; text-transform: uppercase; color: var(--c-executive-blue); } .in-card-meta svg { width: 16px; height: 16px; color: var(--c-action-gold); } .in-card-meta i { margin-left: auto; display: grid; } .in-card:hover .in-card-meta i svg { transform: translateX(5px); color: var(--c-executive-blue); } .in-card-meta i svg { transition: transform 0.3s; }
.in-card.is-off, .in-group.is-off { display: none; }
.in-filter { display: flex; flex-wrap: wrap; gap: 0.6rem; }
.in-count { margin: 0.8rem 0 var(--sp-3); font-size: 0.85rem; font-weight: 700; color: var(--text-on-light-muted); }
.in-group { margin-bottom: var(--sp-5); }
.in-group-h { display: flex; align-items: center; gap: var(--sp-2); padding-bottom: 0.8rem; border-bottom: 2px solid rgba(248, 163, 9, 0.5); } .in-group-h h2 { margin: 0; font-size: 1.4rem; } .in-group-h h2 a { color: var(--c-executive-blue); } .in-group-h p { margin: 0; font-size: 0.9rem; color: var(--text-on-light-muted); } .in-group-h .bk-link { margin-left: auto; white-space: nowrap; }
.in-empty { padding: var(--sp-3); border-radius: 16px; background: #fff7e6; border: 2px dashed rgba(248, 163, 9, 0.7); font-weight: 700; }
.in-path-head { text-align: left; margin-top: var(--sp-2); }
.in-path { list-style: none; margin: var(--sp-3) 0 var(--sp-5); padding: 0 0 0 52px; position: relative; display: grid; gap: var(--sp-3); }
.in-path::before { content: ''; position: absolute; left: 19px; top: 20px; bottom: 20px; width: 4px; border-radius: 2px; background: linear-gradient(180deg, #12408f, #f8a309); opacity: 0.85; }
.in-step { position: relative; } .in-step-n { position: absolute; left: -52px; top: 18px; display: grid; place-items: center; width: 42px; height: 42px; border-radius: 50%; background: var(--c-action-gold); color: #04132b; font-family: var(--font-display); font-weight: 900; box-shadow: 0 0 0 6px rgba(248, 163, 9, 0.22), 0 8px 18px rgba(248, 163, 9, 0.35); }
.in-card-wide { flex-direction: row; } .in-card-wide .in-card-img { flex: 0 0 38%; aspect-ratio: auto; min-height: 190px; }
.in-more { padding-block: var(--sp-5); }

/* floating next-article card */
.in-pop { position: fixed; right: 20px; bottom: 20px; z-index: 900; width: 300px; padding: 1rem 1.1rem 1rem; border-radius: 18px; background: #04132b; color: #fff; border: 1px solid rgba(248, 163, 9, 0.7); box-shadow: 0 24px 50px rgba(0, 0, 0, 0.45); animation: sc-pan 0.5s var(--ease-out); }
.in-pop[hidden] { display: none; }
.in-pop > span { font-size: 0.68rem; font-weight: 800; letter-spacing: 0.16em; text-transform: uppercase; color: var(--c-action-gold); }
.in-pop a { display: flex; align-items: center; gap: 0.6rem; margin-top: 0.3rem; color: #fff; } .in-pop strong { font-size: 0.95rem; line-height: 1.3; } .in-pop a svg { flex: 0 0 auto; color: var(--c-action-gold); }
.in-pop-x { position: absolute; right: 8px; top: 4px; border: 0; background: none; color: rgba(255, 255, 255, 0.7); font-size: 1.4rem; line-height: 1; cursor: pointer; }

@media (max-width: 1000px) {
  .in-layout { grid-template-columns: minmax(0, 1fr); gap: var(--sp-4); }
  .in-side { position: static; max-height: none; overflow: visible; }
  .in-toc { display: none; }
  .in-more .in-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .in-pop { display: none; }
  .in-hero .co-hero-bg::after { background: linear-gradient(180deg, rgba(2, 12, 31, 0.9), rgba(2, 12, 31, 0.85) 60%, #020c1f); }
}
@media (max-width: 640px) {
  .in-tldr { flex-direction: column; }
  .in-book-grid, .in-pn { grid-template-columns: minmax(0, 1fr); } .in-pn-next { text-align: left; }
  .in-more .in-grid { grid-template-columns: minmax(0, 1fr); }
  .in-book, .in-takeaways, .in-todo { padding: var(--sp-3); }
  .in-author { flex-direction: column; text-align: center; }
  .in-card-wide { flex-direction: column; } .in-card-wide .in-card-img { flex: none; aspect-ratio: 16 / 9; min-height: 0; }
  .in-path { padding-left: 44px; } .in-step-n { left: -44px; width: 36px; height: 36px; } .in-path::before { left: 16px; }
  .in-group-h { flex-wrap: wrap; } .in-group-h .bk-link { margin-left: 0; }
  .in-sec h2 { gap: 0.7rem; }
  .in-lead p:first-child::first-letter { font-size: 3.6rem; }
  .in-quote { padding-left: var(--sp-4); }
}
@media (prefers-reduced-motion: reduce) {
  .in-takeaways li { opacity: 1; transform: none; transition: none; }
  .in-article.in-js .in-mark { background-size: 100% 100%; transition: none; }
  .in-pop, .in-cat ul { animation: none; }
}
.in-card-flag { position: absolute; left: 12px; top: 12px; z-index: 2; padding: 0.3rem 0.8rem; border-radius: 999px; background: var(--c-action-gold); color: #04132b; font-size: 0.68rem; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; box-shadow: 0 8px 18px rgba(0, 0, 0, 0.35); }
.in-card-img { position: relative; }
.in-card-tag em { margin-left: 0.5rem; padding: 0.1rem 0.45rem; border-radius: 99px; background: #12408f; color: #fff; font-style: normal; font-size: 0.6rem; letter-spacing: 0.1em; }
.in-newfirst { margin: 0.4rem 0 0; font-size: 0.9rem; color: var(--text-on-light-muted); }
.in-grid-sec { margin-bottom: var(--sp-5); }
.in-author a { white-space: nowrap; }

/* =====================================================================
   Media pages: /media, /media/media-appearances, /media/press-resources (.md-*)
   ===================================================================== */
.md-hero .co-hero-bg img { opacity: 0.9; }
.md-hero .co-hero-bg::after { background: linear-gradient(95deg, rgba(2, 12, 31, 0.97) 6%, rgba(2, 12, 31, 0.88) 42%, rgba(4, 22, 52, 0.55) 78%, rgba(4, 22, 52, 0.35)), linear-gradient(180deg, transparent 70%, #020c1f 100%); }
.md-hero-in { position: relative; z-index: 2; padding-bottom: var(--sp-5); }
.md-hero-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--sp-5); align-items: center; }
.md-hero-grid.has-side { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.md-hero-copy { max-width: 700px; }
.md-hero h1 { font-size: clamp(2.1rem, 1.2rem + 3.2vw, 4rem); line-height: 1.04; }
.md-hero .kp-sub { max-width: 52ch; } .md-hero .kp-body { max-width: 60ch; }

/* broadcast screen */
.md-screen { width: 100%; max-width: 560px; margin-left: auto; perspective: 1000px; }
.md-frame { position: relative; overflow: hidden; border-radius: 18px; background: #031634; border: 1px solid rgba(255, 255, 255, 0.2); box-shadow: 0 40px 90px rgba(0, 0, 0, 0.6), 0 0 70px rgba(248, 163, 9, 0.18); }
.md-frame > img { display: block; width: 100%; height: auto; background: none; }
.md-frame::after { content: ''; position: absolute; inset: 0; pointer-events: none; background: repeating-linear-gradient(180deg, rgba(255, 255, 255, 0.035) 0 1px, transparent 1px 3px); mix-blend-mode: overlay; }
.md-c { position: absolute; z-index: 3; width: 22px; height: 22px; border: 3px solid var(--c-action-gold); pointer-events: none; }
.md-c-tl { left: 10px; top: 10px; border-right: 0; border-bottom: 0; } .md-c-tr { right: 10px; top: 10px; border-left: 0; border-bottom: 0; }
.md-c-bl { left: 10px; bottom: 10px; border-right: 0; border-top: 0; } .md-c-br { right: 10px; bottom: 10px; border-left: 0; border-top: 0; }
.md-live { position: absolute; z-index: 3; left: 18px; top: 18px; display: inline-flex; align-items: center; gap: 0.5rem; padding: 0.3rem 0.8rem; border-radius: 6px; background: rgba(2, 12, 31, 0.85); color: #fff; font-size: 0.7rem; font-weight: 800; letter-spacing: 0.16em; text-transform: uppercase; }
.md-live b { width: 9px; height: 9px; border-radius: 50%; background: #ff4d3d; box-shadow: 0 0 10px #ff4d3d; animation: fx-oi 1.6s ease-in-out infinite; }
.md-frame .btn-play { position: absolute; z-index: 4; left: 50%; top: 46%; transform: translate(-50%, -50%); }
.md-eq { position: absolute; z-index: 3; right: 18px; top: 18px; display: flex; align-items: flex-end; gap: 3px; height: 26px; }
.md-eq i { width: 4px; height: 100%; border-radius: 2px; background: var(--c-action-gold); transform-origin: bottom; animation: md-eq 1.1s ease-in-out infinite; }
.md-eq i:nth-child(2n) { animation-duration: 0.8s; } .md-eq i:nth-child(3n) { animation-duration: 1.4s; } .md-eq i:nth-child(1) { animation-delay: -0.2s; } .md-eq i:nth-child(4) { animation-delay: -0.5s; } .md-eq i:nth-child(6) { animation-delay: -0.7s; } .md-eq i:nth-child(8) { animation-delay: -0.35s; }
@keyframes md-eq { 0%, 100% { transform: scaleY(0.2); } 50% { transform: scaleY(1); } }
.md-lower { position: absolute; z-index: 3; left: 0; bottom: 22px; display: grid; gap: 1px; padding: 0.55rem 1.2rem 0.55rem 1.2rem; background: linear-gradient(90deg, var(--c-action-gold), #ffc14d); color: #04132b; clip-path: polygon(0 0, 100% 0, calc(100% - 16px) 100%, 0 100%); animation: md-lower 7s var(--ease-out) infinite; }
.md-lower b { font-family: var(--font-display); font-weight: 900; letter-spacing: 0.08em; text-transform: uppercase; font-size: 0.95rem; } .md-lower span { font-size: 0.74rem; font-weight: 700; }
@keyframes md-lower { 0% { transform: translateX(-110%); } 12%, 82% { transform: none; } 94%, 100% { transform: translateX(-110%); } }
.md-cap { margin: 0.9rem 0 0; font-size: 0.92rem; line-height: 1.5; color: rgba(255, 255, 255, 0.85); } .md-cap strong { display: block; margin-bottom: 0.15rem; color: #fff; font-size: 1rem; }
.md-proof { margin: 0.6rem 0 0; font-size: 0.68rem; font-weight: 800; letter-spacing: 0.14em; text-transform: uppercase; color: var(--c-action-gold); }
.md-ticker { background: #020c1f; }

/* audience finder */
.md-find .md-tablist { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.6rem; margin-top: var(--sp-3); }
.md-tab { padding: 0.7rem 1.3rem; border-radius: 999px; border: 2px solid var(--c-executive-blue); background: #fff; color: var(--c-executive-blue); font: inherit; font-family: var(--font-display); font-weight: 800; font-size: 0.85rem; letter-spacing: 0.05em; text-transform: uppercase; cursor: pointer; transition: background 0.25s, color 0.25s, transform 0.25s, box-shadow 0.25s; }
.md-tab:hover { transform: translateY(-2px); } .md-tab:focus-visible { outline: 3px solid var(--c-action-gold); outline-offset: 2px; }
.md-tab[aria-selected="true"] { background: linear-gradient(145deg, #ffc14d, #f8a309); border-color: #f8a309; color: #04132b; box-shadow: 0 10px 24px rgba(248, 163, 9, 0.4); }
.md-panels { margin-top: var(--sp-4); }
.md-panel { display: grid; grid-template-columns: 170px minmax(0, 1fr); gap: var(--sp-4); align-items: center; padding: var(--sp-4); border-radius: 28px; background: linear-gradient(160deg, #fff, #f1f6ff); border: 1px solid var(--border-hairline-light); box-shadow: var(--shadow-card); animation: sc-pan 0.6s var(--ease-out); }
.md-panel[hidden] { display: none; }
.md-cover { width: 170px; height: auto; border-radius: 6px; box-shadow: 0 24px 50px rgba(1, 10, 24, 0.4); transform: rotate(-4deg); transition: transform 0.6s var(--ease-out); background: none; }
.md-panel:hover .md-cover { transform: rotate(0) scale(1.05); }
.md-kick { margin: 0 0 0.3rem; font-size: 0.76rem; font-weight: 800; letter-spacing: 0.16em; text-transform: uppercase; color: #b36b00; }
.md-panel h3 { margin: 0 0 0.6rem; font-size: clamp(1.4rem, 1.1rem + 1vw, 2rem); line-height: 1.12; color: var(--c-executive-blue); }
.md-panel p:not(.md-kick) { color: var(--text-on-light-muted); font-size: 1.05rem; max-width: 56ch; }
.md-acts { display: flex; flex-wrap: wrap; align-items: center; gap: 0.7rem; margin-top: var(--sp-3); }
.md-note { max-width: 70ch; margin: var(--sp-3) auto 0; text-align: center; font-size: 0.92rem; color: var(--text-on-light-muted); } .md-note a { color: var(--c-executive-blue); font-weight: 800; text-decoration: underline; }
.md-clips { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: var(--sp-2); margin-top: var(--sp-3); }
.md-clip { display: grid; gap: 0.3rem; padding: 0; border: 0; background: none; text-align: left; font: inherit; cursor: pointer; }
.md-clip-img { position: relative; display: block; border-radius: 14px; overflow: hidden; aspect-ratio: 4 / 3; background: #04132b; } .md-clip-img img { width: 100%; height: 100%; object-fit: cover; background: none; } .md-clip-img i { position: absolute; inset: 0; display: grid; place-items: center; color: #fff; background: rgba(2, 12, 31, 0.35); } .md-clip-img svg { width: 44px; height: 44px; padding: 10px; border-radius: 50%; background: var(--c-action-gold); color: #04132b; }
.md-clip strong { font-size: 0.95rem; color: var(--c-executive-blue); } .md-clip em { font-style: normal; font-size: 0.8rem; color: var(--text-on-light-muted); }

/* press strip */
.md-press { position: relative; overflow: hidden; } .md-press .bk-h2 { color: #fff; } .md-press .bk-series-head p:not(.eyebrow) { color: rgba(255, 255, 255, 0.85); }
.md-asseen { position: relative; overflow: hidden; margin: var(--sp-4) auto; max-width: 980px; padding: var(--sp-3) var(--sp-4); border-radius: 22px; background: linear-gradient(120deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.02)); border: 1px solid rgba(248, 163, 9, 0.5); text-align: center; background-color: #04132b; box-shadow: 0 30px 60px rgba(0, 0, 0, 0.35); }
.md-asseen::after { content: ''; position: absolute; top: 0; bottom: 0; width: 30%; left: -50%; background: linear-gradient(100deg, transparent, rgba(255, 255, 255, 0.14), transparent); transform: skewX(-18deg); animation: sc-shine 6s ease-in-out infinite; pointer-events: none; }
.md-asseen-k { display: block; margin-bottom: 0.8rem; font-size: 0.72rem; font-weight: 800; letter-spacing: 0.2em; text-transform: uppercase; color: var(--c-action-gold); }
.md-asseen img { display: block; width: 100%; max-width: 860px; height: auto; margin: 0 auto; background: none; }
.md-split-grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr); gap: var(--sp-5); align-items: start; }
.md-pod .bk-h2 { color: var(--c-executive-blue); margin-bottom: var(--sp-2); } .md-pod p:not(.eyebrow):not(.md-micro) { color: var(--text-on-light-muted); font-size: 1.05rem; margin-bottom: var(--sp-2); max-width: 60ch; }
.md-micro { margin: 0.8rem 0 0; font-size: 0.85rem; color: var(--text-on-light-muted); }
.md-card { padding: var(--sp-3) var(--sp-4); border-radius: 26px; background: #fff; border: 1px solid var(--border-hairline-light); border-top: 6px solid var(--c-action-gold); box-shadow: var(--shadow-card); }
.md-card h2 { margin: 0 0 var(--sp-2); font-size: 1.4rem; color: var(--c-executive-blue); text-transform: uppercase; }
.md-card .btn { margin-top: var(--sp-2); }
.md-topics { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.9rem; }
.md-topics li { display: flex; gap: 0.8rem; align-items: flex-start; }
.md-topics li > span { flex: 0 0 auto; display: grid; place-items: center; width: 26px; height: 26px; margin-top: 2px; border-radius: 50%; background: var(--c-action-gold); color: #04132b; } .md-topics svg { width: 14px; height: 14px; }
.md-topics strong { display: block; font-size: 0.98rem; line-height: 1.3; color: var(--c-charcoal); } .md-topics em { font-style: normal; font-size: 0.86rem; color: var(--text-on-light-muted); }
.md-contact { display: grid; gap: 0.4rem; margin-top: var(--sp-3); padding: var(--sp-2); border-radius: 16px; background: #f5f8fc; border: 1px dashed rgba(18, 64, 143, 0.35); }
.md-contact b { font-size: 0.72rem; letter-spacing: 0.16em; text-transform: uppercase; color: #b36b00; } .md-contact a { display: flex; align-items: center; gap: 0.6rem; color: var(--c-executive-blue); font-weight: 800; word-break: break-all; } .md-contact svg { width: 20px; height: 20px; flex: 0 0 auto; color: var(--c-action-gold); }

/* hosts */
.md-hostsec-grid { display: grid; grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr); gap: var(--sp-5); align-items: center; }
.md-photo { position: relative; margin: 0; border-radius: 26px; overflow: hidden; box-shadow: 0 34px 70px rgba(1, 10, 24, 0.4); perspective: 1000px; }
.md-photo img { display: block; width: 100%; height: auto; background: none; }
.md-photo-tag { position: absolute; left: 16px; bottom: 16px; display: inline-flex; align-items: center; gap: 0.5rem; padding: 0.4rem 0.9rem; border-radius: 6px; background: rgba(2, 12, 31, 0.85); color: #fff; font-size: 0.7rem; font-weight: 800; letter-spacing: 0.14em; text-transform: uppercase; } .md-photo-tag i { width: 9px; height: 9px; border-radius: 50%; background: #ff4d3d; box-shadow: 0 0 10px #ff4d3d; animation: fx-oi 1.6s ease-in-out infinite; }
.md-host { display: grid; gap: var(--sp-2); margin-top: var(--sp-3); }
.md-host-card { position: relative; padding: var(--sp-3) var(--sp-3) var(--sp-3) calc(var(--sp-3) + 54px); border-radius: 20px; background: #fff; border: 1px solid var(--border-hairline-light); box-shadow: var(--shadow-card); transition: transform 0.45s var(--ease-out), border-color 0.3s; }
.md-host-card:hover { transform: translateX(8px); border-color: rgba(248, 163, 9, 0.7); }
.md-host-n { position: absolute; left: var(--sp-3); top: var(--sp-3); display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: var(--c-action-gold); color: #04132b; font-family: var(--font-display); font-weight: 900; box-shadow: 0 0 0 6px rgba(248, 163, 9, 0.22); }
.md-host-card h3 { margin: 0 0 0.3rem; font-size: 1.1rem; color: var(--c-executive-blue); } .md-host-card p { margin: 0; font-size: 0.95rem; color: var(--text-on-light-muted); }

/* CTA band */
.md-cta { position: relative; overflow: hidden; }
.md-cta-in { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-4); padding: var(--sp-4); border-radius: 28px; background: radial-gradient(100% 120% at 0% 0%, #0b2f66, #04132b 70%); border: 1px solid rgba(248, 163, 9, 0.55); box-shadow: 0 34px 70px rgba(0, 0, 0, 0.4); }
.md-cta-ico { display: grid; place-items: center; width: 74px; height: 74px; border-radius: 22px; background: rgba(248, 163, 9, 0.18); color: var(--c-action-gold); animation: pe-bob 5s ease-in-out infinite; } .md-cta-ico svg { width: 40px; height: 40px; }
.md-cta-in > div:nth-child(2) { flex: 1 1 340px; } .md-cta h2 { margin: 0 0 0.4rem; font-size: clamp(1.4rem, 1.1rem + 1.2vw, 2.2rem); color: #fff; text-transform: uppercase; line-height: 1.12; } .md-cta p { margin: 0; color: rgba(255, 255, 255, 0.86); }
.md-cta-act { display: grid; gap: 0.7rem; justify-items: start; } .md-cta-act .btn { white-space: normal; text-align: center; } .md-cta-act p { font-size: 0.86rem; } .md-cta-act a:not(.btn) { color: #ffd36b; text-decoration: underline; }

/* appearances page */
.md-app-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: var(--sp-3); margin-top: var(--sp-3); }
.md-app { display: flex; flex-direction: column; gap: 0.4rem; padding: var(--sp-3); border-radius: 20px; background: #fff; border: 1px solid var(--border-hairline-light); box-shadow: var(--shadow-card); color: inherit; transition: transform 0.45s var(--ease-out), border-color 0.3s; } .md-app:hover { transform: translateY(-6px); border-color: rgba(248, 163, 9, 0.7); }
.md-app-t { align-self: flex-start; padding: 0.2rem 0.7rem; border-radius: 99px; background: rgba(248, 163, 9, 0.18); color: #8a5400; font-size: 0.66rem; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; } .md-app strong { color: var(--c-executive-blue); font-size: 1.05rem; } .md-app em { font-style: normal; font-size: 0.85rem; color: var(--text-on-light-muted); }
.md-photo-tall { align-self: center; }
.md-angles { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--sp-3); margin-top: var(--sp-4); }
.md-angle { position: relative; overflow: hidden; padding: var(--sp-3) var(--sp-4); border-radius: 24px; background: #fff; border: 1px solid var(--border-hairline-light); box-shadow: var(--shadow-card); transition: transform 0.45s var(--ease-out), box-shadow 0.4s; }
.md-angle::before { content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 6px; background: linear-gradient(180deg, var(--c-action-gold), #12408f); }
.md-angle:hover { transform: translateY(-6px); box-shadow: 0 28px 54px rgba(1, 10, 24, 0.18); }
.md-angle-k { font-size: 0.7rem; font-weight: 800; letter-spacing: 0.16em; text-transform: uppercase; color: #b36b00; }
.md-angle h3 { margin: 0.4rem 0 0.4rem; font-size: 1.3rem; line-height: 1.2; color: var(--c-executive-blue); } .md-angle p { margin: 0 0 var(--sp-2); color: var(--text-on-light-muted); font-size: 0.95rem; }
.md-angle-b { display: inline-flex; align-items: center; gap: 0.5rem; padding: 0.5rem 1rem; border-radius: 999px; border: 2px solid var(--c-executive-blue); background: #fff; color: var(--c-executive-blue); font: inherit; font-size: 0.76rem; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; cursor: pointer; transition: background 0.25s, color 0.25s; } .md-angle-b:hover, .md-angle-b[aria-expanded="true"] { background: var(--c-executive-blue); color: #fff; }
.md-angle-q { margin-top: var(--sp-2); padding: 0.9rem 1.1rem; border-radius: 14px; background: #fff7e6; border-left: 4px solid var(--c-action-gold); animation: sc-pan 0.45s var(--ease-out); } .md-angle-q[hidden] { display: none; } .md-angle-q p { margin: 0; font-family: var(--font-display); font-weight: 700; font-size: 1.05rem; color: var(--c-executive-blue); }
.md-introsec { position: relative; overflow: hidden; } .md-introsec .bk-h2 { color: #fff; } .md-introsec p:not(.eyebrow) { color: rgba(255, 255, 255, 0.85); margin-top: var(--sp-2); max-width: 46ch; }
.md-intro-grid { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); gap: var(--sp-5); align-items: center; }
.md-intro { padding: var(--sp-4); border-radius: 26px; background: radial-gradient(90% 80% at 0% 0%, #0b2f66, #031634 80%); border: 1px solid rgba(255, 255, 255, 0.16); box-shadow: 0 30px 70px rgba(0, 0, 0, 0.5); }
.md-intro .pe-fbtn { background: transparent; color: #fff; border-color: rgba(255, 255, 255, 0.55); } .md-intro .pe-fbtn[aria-pressed="true"] { background: var(--c-action-gold); color: #04132b; border-color: var(--c-action-gold); box-shadow: 0 0 22px rgba(248, 163, 9, 0.5); }
.md-intro-tabs { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-bottom: var(--sp-3); }
.md-lt { display: inline-grid; gap: 1px; margin-bottom: var(--sp-2); padding: 0.6rem 1.4rem 0.6rem 1.2rem; background: linear-gradient(90deg, var(--c-action-gold), #ffc14d); color: #04132b; clip-path: polygon(0 0, 100% 0, calc(100% - 16px) 100%, 0 100%); animation: md-lower 8s var(--ease-out) infinite; } .md-lt b { font-family: var(--font-display); font-weight: 900; letter-spacing: 0.08em; text-transform: uppercase; } .md-lt span { font-size: 0.78rem; font-weight: 700; }
.md-intro-text { min-height: 5.5em; margin: 0 0 var(--sp-2) !important; padding: 1rem 1.2rem; border-radius: 14px; background: rgba(255, 255, 255, 0.07); border-left: 4px solid var(--c-action-gold); color: #fff !important; font-size: 1.04rem; line-height: 1.55; max-width: none !important; }
.md-intro-note { margin-left: 0.8rem; font-size: 0.85rem; font-weight: 700; color: #ffd36b; }
.md-steplist .mp-step-ico { margin-top: 0.4rem; }
.md-steplist li { padding: 0 0.5rem; }

/* press resources page */
.md-facts { background: #04132b; border-block: 1px solid rgba(248, 163, 9, 0.4); }
.md-facts ul { list-style: none; margin: 0; padding: 1.1rem 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: var(--sp-2); text-align: center; }
.md-facts b { display: block; font-family: var(--font-display); font-weight: 900; font-size: clamp(1.4rem, 1.1rem + 1vw, 2.1rem); color: var(--c-action-gold); } .md-facts span { font-size: 0.74rem; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; color: rgba(255, 255, 255, 0.85); }
.md-pr-grid { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: var(--sp-5); align-items: start; }
.md-left { text-align: left; } .md-left .eyebrow { justify-content: flex-start; }
.md-files { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--sp-2); margin-top: var(--sp-3); }
.md-file { position: relative; overflow: hidden; display: flex; align-items: center; gap: var(--sp-2); padding: var(--sp-2) var(--sp-3); border-radius: 18px; background: #fff; border: 1px solid var(--border-hairline-light); box-shadow: var(--shadow-card); color: inherit; transition: transform 0.45s var(--ease-out), border-color 0.3s, box-shadow 0.4s; }
.md-file:hover { transform: translateY(-5px); border-color: rgba(248, 163, 9, 0.8); box-shadow: 0 24px 48px rgba(1, 10, 24, 0.16); }
.md-file-ico { display: grid; place-items: center; flex: 0 0 auto; width: 46px; height: 46px; border-radius: 14px; background: linear-gradient(145deg, #ffc14d, #f8a309); color: #04132b; } .md-file-ico svg { width: 24px; height: 24px; }
.md-file > div { flex: 1; min-width: 0; } .md-file strong { display: block; font-size: 0.98rem; color: var(--c-executive-blue); } .md-file em { display: block; font-style: normal; font-size: 0.82rem; line-height: 1.4; color: var(--text-on-light-muted); } .md-file b { display: block; margin-top: 0.2rem; font-size: 0.7rem; letter-spacing: 0.1em; text-transform: uppercase; color: #b36b00; }
.md-file-dl { display: grid; place-items: center; flex: 0 0 auto; width: 38px; height: 38px; border-radius: 50%; border: 2px solid var(--c-executive-blue); color: var(--c-executive-blue); transition: background 0.25s, color 0.25s; } .md-file:hover .md-file-dl { background: var(--c-executive-blue); color: #fff; } .md-file-dl svg { width: 18px; height: 18px; } .md-file:hover .md-file-dl svg { animation: md-bounce 0.8s ease infinite; }
@keyframes md-bounce { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(3px); } }
.md-biobox { margin-top: var(--sp-3); }
.md-pr-side { display: grid; gap: var(--sp-3); position: sticky; top: 100px; }
.md-card-dark { background: linear-gradient(150deg, #04132b, #0b2f66); color: #fff; border-color: rgba(248, 163, 9, 0.5); } .md-card-dark h2 { color: #fff; }
.md-ct { list-style: none; margin: 0 0 var(--sp-2); padding: 0; display: grid; gap: 0.7rem; } .md-ct li { display: flex; align-items: center; gap: 0.7rem; } .md-ct svg { width: 22px; height: 22px; color: var(--c-action-gold); flex: 0 0 auto; } .md-ct a, .md-ct span { color: #fff; font-weight: 700; word-break: break-all; }
.md-news { list-style: none; margin: var(--sp-3) 0 0; padding: 0; display: grid; gap: var(--sp-2); } .md-news li { padding: var(--sp-3); border-radius: 18px; background: #fff; border: 1px solid var(--border-hairline-light); border-left: 5px solid var(--c-action-gold); } .md-news time { font-size: 0.74rem; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; color: #b36b00; } .md-news strong { display: block; font-size: 1.1rem; color: var(--c-executive-blue); } .md-news p { margin: 0.3rem 0 0; color: var(--text-on-light-muted); }
.md-news-empty { display: flex; gap: var(--sp-3); align-items: center; margin-top: var(--sp-3); padding: var(--sp-3) var(--sp-4); border-radius: 22px; background: #fff; border: 2px dashed rgba(248, 163, 9, 0.7); } .md-news-empty > span { color: var(--c-executive-blue); } .md-news-empty svg { width: 44px; height: 44px; } .md-news-empty h3 { margin: 0 0 0.2rem; color: var(--c-executive-blue); } .md-news-empty p { margin: 0; color: var(--text-on-light-muted); } .md-news-empty a { color: var(--c-executive-blue); font-weight: 800; text-decoration: underline; }

@media (max-width: 1000px) {
  .md-hero-grid.has-side, .md-split-grid, .md-hostsec-grid, .md-intro-grid, .md-pr-grid { grid-template-columns: minmax(0, 1fr); gap: var(--sp-4); }
  .md-screen { margin-inline: auto; }
  .md-hero .co-hero-bg::after { background: linear-gradient(180deg, rgba(2, 12, 31, 0.92), rgba(2, 12, 31, 0.84) 60%, #020c1f); }
  .md-pr-side { position: static; }
  .md-angles { grid-template-columns: minmax(0, 1fr); }
  .md-panel { grid-template-columns: 120px minmax(0, 1fr); gap: var(--sp-3); } .md-cover { width: 120px; }
  .md-facts ul { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .md-panel { grid-template-columns: minmax(0, 1fr); text-align: center; justify-items: center; padding: var(--sp-3); } .md-acts { justify-content: center; }
  .md-files { grid-template-columns: minmax(0, 1fr); }
  .md-facts ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .md-card { padding: var(--sp-3); } .md-cta-in { padding: var(--sp-3); } .md-intro { padding: var(--sp-3); }
  .md-asseen { padding: var(--sp-2); } .md-host-card { padding-left: calc(var(--sp-3) + 50px); }
  .md-news-empty { flex-direction: column; text-align: center; }
  .md-lower { bottom: 12px; padding: 0.4rem 1rem; } .md-lower b { font-size: 0.8rem; } .md-lower span { font-size: 0.66rem; }
  .md-tab { padding: 0.55rem 1rem; font-size: 0.78rem; }
  .md-steplist li { padding: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .md-eq i, .md-live b, .md-lower, .md-lt, .md-asseen::after, .md-cta-ico, .md-photo-tag i, .md-panel, .md-file:hover .md-file-dl svg { animation: none; }
  .md-eq i { transform: scaleY(0.6); }
}

/* top-level labels are real links; the arrow opens the dropdown */
.nav-item.has-mega { display: flex; align-items: center; }
.nav-link-main { padding-right: 0.2rem; }
.nav-caret { display: grid; place-items: center; align-self: stretch; padding: 0 0.45rem 0 0.1rem; margin-left: -0.05rem; background: none; border: 0; color: #fff; cursor: pointer; border-radius: 0 var(--radius-sm) var(--radius-sm) 0; transition: color var(--dur-fast) var(--ease-out); }
.nav-caret .nav-chevron { opacity: 0.75; }
.nav-item.has-mega:hover > .nav-caret, .nav-item.has-mega:hover > .nav-link, .nav-item.has-mega:focus-within > .nav-link, .nav-item.has-mega:focus-within > .nav-caret, .nav-caret[aria-expanded='true'] { color: var(--c-action-gold); }
.nav-item.has-mega:hover > .nav-link { background: rgba(255, 255, 255, 0.06); }
.nav-item.has-mega:hover .nav-chevron, .nav-caret[aria-expanded='true'] .nav-chevron { transform: rotate(180deg); opacity: 1; }
.nav-item.has-mega:hover > .nav-link::after, .nav-item.has-mega:focus-within > .nav-link::after { transform: scaleX(1); }
.nav-caret:focus-visible { outline: 3px solid var(--c-action-gold); outline-offset: 1px; }
.mega-menu a.mega-overview { margin-bottom: 0.25rem; padding-bottom: 0.7rem; border-bottom: 1px solid rgba(18, 64, 143, 0.15); font-weight: 800; color: var(--c-executive-blue); column-span: all; break-inside: avoid; }
.mobile-row { display: flex; flex-wrap: wrap; align-items: stretch; border-bottom: 1px solid var(--border-hairline); }
.mobile-row > .mobile-nav-link { flex: 1 1 auto; border-bottom: 0; }
.mobile-caret { flex: 0 0 56px; display: grid; place-items: center; background: none; border: 0; border-left: 1px solid var(--border-hairline); color: #fff; cursor: pointer; }
.mobile-caret .nav-chevron { width: 14px; height: 14px; opacity: 0.9; }
.mobile-caret[aria-expanded='true'] .nav-chevron { transform: rotate(180deg); color: var(--c-action-gold); }
.mobile-row > .mobile-submenu { flex: 1 0 100%; }

.md-panel { grid-template-columns: minmax(0, 330px) minmax(0, 1fr); }
.md-shelf { display: flex; flex-wrap: wrap; justify-content: center; gap: 14px; align-content: center; }
.md-book { position: relative; display: block; width: 92px; flex: 0 0 auto; transition: transform 0.5s var(--ease-out); }
.md-book img { display: block; width: 100%; height: auto; border-radius: 4px; box-shadow: 0 14px 28px rgba(1, 10, 24, 0.4); background: none; }
.md-shelf-sm .md-book { width: 112px; }
.md-shelf-sm .md-book:nth-child(odd) { transform: rotate(-3deg); } .md-shelf-sm .md-book:nth-child(even) { transform: rotate(3deg) translateY(8px); }
.md-shelf-big .md-book { width: 86px; }
.md-book:hover { transform: translateY(-10px) rotate(0) scale(1.12); z-index: 2; }
.md-book span { position: absolute; left: 50%; bottom: calc(100% + 6px); transform: translateX(-50%) translateY(4px); width: max-content; max-width: 190px; padding: 0.3rem 0.6rem; border-radius: 8px; background: #04132b; color: #fff; font-size: 0.7rem; font-weight: 800; line-height: 1.25; text-align: center; opacity: 0; pointer-events: none; transition: opacity 0.25s, transform 0.25s; }
.md-book:hover span, .md-book:focus-visible span { opacity: 1; transform: translateX(-50%); }
.md-book:focus-visible { outline: 3px solid var(--c-action-gold); outline-offset: 3px; border-radius: 4px; }
@media (max-width: 1000px) { .md-panel { grid-template-columns: minmax(0, 1fr); text-align: center; justify-items: center; } .md-acts { justify-content: center; } }
@media (max-width: 640px) { .md-shelf-big .md-book { width: 68px; } .md-shelf-sm .md-book { width: 88px; } .md-book span { display: none; } }
.md-acts .btn { white-space: normal; text-align: center; max-width: 100%; box-sizing: border-box; line-height: 1.2; }
.nav-item.has-mega > .nav-link-main.is-current { padding-inline: 0.8rem; margin-right: 0.15rem; }
.md-panel { grid-template-columns: minmax(0, 410px) minmax(0, 1fr); }
.md-shelf-sm .md-book { width: 108px; } .md-shelf-big .md-book { width: 74px; }
@media (max-width: 1000px) { .md-panel { grid-template-columns: minmax(0, 1fr); } }

/* ===== top nav v2: section label = gold text only; the exact page in the dropdown = white pill with gold ring ===== */
.primary-nav > ul > .nav-item > a.nav-link.is-current,
.primary-nav > ul > .nav-item > a.nav-link.is-current:hover,
.primary-nav > ul > .nav-item.is-active > a.nav-link,
.primary-nav > ul > .nav-item.is-active > a.nav-link:hover { background: none !important; box-shadow: none !important; color: var(--c-action-gold) !important; }
.nav-item.has-mega > .nav-link-main.is-current { padding-inline: 0.55rem 0.2rem; margin-right: 0; }
.nav-item.has-mega.is-active > .nav-caret { color: var(--c-action-gold); }
.nav-item.is-active > .nav-link::after { transform: scaleX(0); }
.mega-menu a.mega-overview { color: #fff; border-bottom: 1px solid rgba(255, 255, 255, 0.16); border-radius: var(--radius-sm) var(--radius-sm) 0 0; }
.mega-menu a.mega-overview:hover { color: var(--c-electric-blue); }
.mobile-row.is-active > .mobile-nav-link, .mobile-row > .mobile-nav-link.is-current { background: none !important; box-shadow: none !important; color: var(--c-action-gold) !important; padding-inline: 0.25rem !important; }
.mobile-row.is-active > .mobile-caret .nav-chevron { color: var(--c-action-gold); }

/* quick, fun roll-overs */
.nav-link-main { transition: color var(--dur-fast) var(--ease-out), transform 0.25s var(--ease-out), text-shadow 0.25s; }
.nav-item:hover > .nav-link-main { transform: translateY(-2px); text-shadow: 0 0 14px rgba(248, 163, 9, 0.55); }
.nav-link::after { transform-origin: center; }
.nav-item.has-mega:hover .nav-chevron { animation: nav-bob 0.5s var(--ease-out); }
@keyframes nav-bob { 0% { transform: translateY(0) rotate(180deg); } 40% { transform: translateY(3px) rotate(180deg); } 100% { transform: translateY(0) rotate(180deg); } }
@keyframes mm-in { from { opacity: 0; transform: translateX(-10px); } to { opacity: 1; transform: none; } }
.nav-item:hover > .mega-menu a, .nav-item:focus-within > .mega-menu a, .mega-menu.is-open a { animation: mm-in 0.32s var(--ease-out) both; animation-delay: calc(var(--i, 0) * 30ms); }
.mega-menu a:nth-child(1) { --i: 0; } .mega-menu a:nth-child(2) { --i: 1; } .mega-menu a:nth-child(3) { --i: 2; } .mega-menu a:nth-child(4) { --i: 3; } .mega-menu a:nth-child(5) { --i: 4; } .mega-menu a:nth-child(6) { --i: 5; } .mega-menu a:nth-child(7) { --i: 6; } .mega-menu a:nth-child(8) { --i: 7; } .mega-menu a:nth-child(9) { --i: 8; } .mega-menu a:nth-child(10) { --i: 9; } .mega-menu a:nth-child(n+11) { --i: 10; }
.mega-menu a { position: relative; overflow: hidden; }
.mega-menu a::after { content: ''; position: absolute; top: 0; bottom: 0; left: -60%; width: 40%; background: linear-gradient(100deg, transparent, rgba(248, 163, 9, 0.35), transparent); transform: skewX(-18deg); transition: none; pointer-events: none; }
.mega-menu a:hover::after { left: 130%; transition: left 0.55s var(--ease-out); }
.mega-menu a::before { transition: opacity var(--dur-fast), transform 0.3s var(--ease-out); transform: scale(0); }
.mega-menu a:hover::before, .mega-menu a.is-current::before { transform: scale(1.8); box-shadow: 0 0 8px var(--c-action-gold); }
.mega-menu a:active { transform: scale(0.97); }
@media (prefers-reduced-motion: reduce) {
  .nav-item:hover > .mega-menu a, .nav-item:focus-within > .mega-menu a, .mega-menu.is-open a, .nav-item.has-mega:hover .nav-chevron { animation: none; }
  .nav-item:hover > .nav-link-main { transform: none; }
  .mega-menu a::after { display: none; }
}

.mega-menu a.mega-overview.is-current, .mega-menu a.mega-overview.is-current:hover { color: #d98700; }
.md-tiles { list-style: none; margin: var(--sp-4) 0 0; padding: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: var(--sp-2); }
.md-tiles a { position: relative; overflow: hidden; display: flex; flex-direction: column; gap: 0.4rem; height: 100%; box-sizing: border-box; padding: var(--sp-3) var(--sp-2); border-radius: 22px; background: linear-gradient(160deg, #04132b, #0b2f66); color: #fff; border: 1px solid rgba(248, 163, 9, 0.35); box-shadow: 0 24px 48px rgba(1, 10, 24, 0.25); transition: transform 0.45s var(--ease-out), border-color 0.3s, box-shadow 0.4s; }
.md-tiles a::before { content: ''; position: absolute; inset: 0; background: radial-gradient(240px circle at var(--mx, 50%) var(--my, -30%), rgba(248, 163, 9, 0.28), transparent 70%); opacity: 0; transition: opacity 0.35s; pointer-events: none; }
.md-tiles a:hover { transform: translateY(-10px); border-color: var(--c-action-gold); box-shadow: 0 34px 60px rgba(1, 10, 24, 0.35); } .md-tiles a:hover::before { opacity: 1; }
.md-tile-ico { display: grid; place-items: center; width: 54px; height: 54px; border-radius: 16px; background: linear-gradient(145deg, #ffc14d, #f8a309); color: #04132b; box-shadow: 0 10px 22px rgba(248, 163, 9, 0.4); transition: transform 0.5s var(--ease-out); } .md-tile-ico svg { width: 28px; height: 28px; }
.md-tiles a:hover .md-tile-ico { transform: rotate(-10deg) scale(1.12); }
.md-tiles h3 { margin: 0.5rem 0 0; font-size: 1.05rem; color: #fff; text-transform: uppercase; letter-spacing: 0.02em; } .md-tiles p { margin: 0; font-size: 0.86rem; line-height: 1.45; color: rgba(255, 255, 255, 0.82); }
.md-tiles b { margin-top: auto; padding-top: 0.6rem; display: inline-flex; align-items: center; gap: 0.4rem; font-size: 0.74rem; letter-spacing: 0.06em; text-transform: uppercase; color: #ffd36b; } .md-tiles b svg { transition: transform 0.3s; } .md-tiles a:hover b svg { transform: translateX(5px); }
.md-about-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--sp-3); align-items: stretch; }
.md-p { color: var(--text-on-light-muted); font-size: 0.98rem; line-height: 1.6; margin: 0 0 var(--sp-2); }
.md-mini { list-style: none; margin: 0 0 var(--sp-2); padding: 0; display: grid; gap: 0.8rem; } .md-mini time { font-size: 0.72rem; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; color: #b36b00; } .md-mini strong { display: block; color: var(--c-executive-blue); } .md-mini-empty { margin: 0 0 var(--sp-2); color: var(--text-on-light-muted); font-size: 0.95rem; }
.md-reelband { position: relative; overflow: hidden; } .md-reelband .bk-h2 { color: #fff; } .md-reelband p:not(.eyebrow) { color: rgba(255, 255, 255, 0.85); margin: var(--sp-2) 0 var(--sp-3); max-width: 46ch; }
.md-reel-grid { display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); gap: var(--sp-5); align-items: center; } .md-reel-grid .md-screen { margin-inline: auto; max-width: 620px; }
.md-asseen-wrap .md-asseen { background-color: #04132b; }
@media (max-width: 1100px) { .md-tiles { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 1000px) { .md-about-grid, .md-reel-grid { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 640px) { .md-tiles { grid-template-columns: minmax(0, 1fr); } }

.footer-bottom .flex { flex-wrap: wrap; row-gap: 0.4rem; }
.md-press.section-white .bk-h2, .md-press.section-soft .bk-h2 { color: var(--c-executive-blue); }
.md-press.section-white .bk-series-head p:not(.eyebrow), .md-press.section-soft .bk-series-head p:not(.eyebrow) { color: var(--text-on-light-muted); }

/* =========================================================================
   Overview pages: Home (.hm-*), Audiences (.au-*), Meet Mike (.mk-*) + shared (.gx-*)
   ========================================================================= */
@property --gx-a { syntax: '<angle>'; inherits: false; initial-value: 0deg; }
@keyframes gx-spin { to { --gx-a: 360deg; } }
@keyframes gx-rot { to { transform: rotate(360deg); } }
@keyframes gx-pulse { 0%, 100% { box-shadow: 0 0 0 0 rgba(248, 163, 9, 0.55); } 60% { box-shadow: 0 0 0 12px rgba(248, 163, 9, 0); } }
@keyframes gx-ping { 0% { transform: scale(0.2); opacity: 0.7; } 100% { transform: scale(3.4); opacity: 0; } }
@keyframes gx-float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }
.section-navy .bk-series-head p:not(.eyebrow) { color: rgba(255, 255, 255, 0.84); }
.section-navy .bk-series-head .bk-h2, .mk-media .bk-h2, .mk-numbers .bk-h2, .mk-journey .bk-h2, .au-lineup-sec .bk-h2, .hm-out .bk-h2, .hm-reel .bk-h2, .hm-world .bk-h2 { color: #fff; }
.btn.btn-outline.mk-btn-dark { color: var(--c-executive-blue); border-color: var(--c-executive-blue); }
.btn.btn-outline.mk-btn-dark:hover { background: var(--c-executive-blue); color: #fff; }

/* scroll progress + cursor spotlight + magnetic buttons */
.gx-progress { position: fixed; left: 0; top: 0; z-index: 9999; width: 100%; height: 3px; transform-origin: 0 50%; transform: scaleX(var(--p, 0)); background: linear-gradient(90deg, #f8a309, #ffe3a1); box-shadow: 0 0 12px rgba(248, 163, 9, 0.75); pointer-events: none; }
.gx-spotlight { position: absolute; inset: 0; z-index: 1; pointer-events: none; opacity: 0; transition: opacity 0.5s; mix-blend-mode: screen; background: radial-gradient(460px circle at var(--sx, 50%) var(--sy, 40%), rgba(248, 163, 9, 0.2), rgba(23, 78, 154, 0.12) 45%, transparent 70%); }
[data-spot].is-spot .gx-spotlight { opacity: 1; }
[data-mag] { transition: transform 0.25s var(--ease-out), box-shadow 0.3s, background 0.3s, border-color 0.3s, color 0.3s; }

/* tilt cards share one recipe (rotation only after the entrance fade, so .fade-in-up still works) */
.gx-aud, .mk-tile, .mk-quote, .mk-book, .hm-prog, .hm-book { transition: opacity var(--dur-slow) var(--ease-out), transform 0.3s var(--ease-out), box-shadow 0.4s, border-color 0.3s; }
.gx-aud.is-visible, .mk-tile.is-visible, .mk-quote.is-visible, .mk-book.is-visible, .hm-prog.is-visible, .hm-book.is-visible { transform: perspective(900px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)); }
.gx-aud::after, .mk-tile::after, .mk-quote::after, .hm-prog::after { content: ''; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; opacity: 0; transition: opacity 0.3s; background: radial-gradient(260px circle at var(--sx, 50%) var(--sy, 0%), rgba(248, 163, 9, 0.25), transparent 65%); }
.gx-aud:hover::after, .mk-tile:hover::after, .mk-quote:hover::after, .hm-prog:hover::after { opacity: 1; }

/* ---------- hero extras (home / audiences / meet mike) ---------- */
.hm-hero .hero-media img { object-position: 82% center; }
.hm-beams { position: absolute; inset: 0; z-index: 1; overflow: hidden; pointer-events: none; }
.hm-beams .ian-beam-1 { right: 34%; } .hm-beams .ian-beam-2 { right: 8%; }
.hm-hero .kp-sparks { z-index: 1; }
.hm-hero .hero-content { z-index: 2; }
.hm-hero h1 { font-size: clamp(2rem, 1.1rem + 3.2vw, 3.9rem); line-height: 1.04; color: #fff; text-shadow: 0 4px 30px rgba(0, 0, 0, 0.5); }
.hm-h1-gold { display: inline-block; background: linear-gradient(100deg, #f8a309 30%, #ffe3a1 48%, #f8a309 66%); background-size: 240% 100%; -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; text-shadow: none; animation: ian-shine 5.5s ease-in-out infinite; }
.hm-hero .mm-rule { display: block; margin: var(--sp-2) 0; }
.hm-chips { display: none; }
@media (min-width: 900px) {
  .hm-chips { display: block; position: relative; min-height: 300px; }
  .hm-chip { position: absolute; padding: 0.6rem 1rem; border-radius: 16px; background: rgba(2, 12, 31, 0.78); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); border: 1px solid rgba(248, 163, 9, 0.6); box-shadow: 0 16px 36px rgba(0, 0, 0, 0.45); font-size: 0.72rem; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; color: #fff; animation: co-bob 5s ease-in-out infinite; }
  .hm-chip b { display: block; font-family: var(--font-display); font-size: 1.6rem; letter-spacing: 0; color: var(--c-action-gold); text-shadow: 0 0 18px rgba(248, 163, 9, 0.5); }
  .hm-chip-1 { right: 3%; top: 58%; } .hm-chip-2 { right: 27%; top: 74%; animation-delay: -1.7s; } .hm-chip-3 { right: 1%; top: 88%; animation-delay: -3.2s; }
}
.au-hero .co-hero-grid, .mk-hero .co-hero-grid { align-items: center; }
.au-hero { padding-bottom: 90px; } .mk-hero { padding-bottom: 110px; }
.mk-hero h1 { font-size: clamp(1.9rem, 1rem + 2.5vw, 3.1rem); }
.mk-hero .co-hero-bg img { opacity: 0.4; }
.mk-watch { margin: 0; }
.mk-hero .bk-hero-actions { align-items: center; gap: var(--sp-3); }

/* ---------- audiences: orbit ---------- */
.au-orbit { --r: clamp(124px, 15vw, 178px); position: relative; width: calc(var(--r) * 2 + 120px); max-width: 100%; aspect-ratio: 1; margin-inline: auto; display: grid; place-items: center; }
.au-core { position: relative; z-index: 3; width: calc(var(--r) * 1.1); aspect-ratio: 1; border-radius: 50%; overflow: hidden; box-shadow: 0 0 0 4px rgba(248, 163, 9, 0.9), 0 0 80px rgba(248, 163, 9, 0.45), 0 30px 60px rgba(0, 0, 0, 0.55); animation: co-bob 7s ease-in-out infinite; }
.au-core img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 14%; background: none; }
.au-ring { position: absolute; left: 50%; top: 50%; border-radius: 50%; aspect-ratio: 1; translate: -50% -50%; pointer-events: none; }
.au-ring-1 { width: calc(var(--r) * 2); border: 1px dashed rgba(248, 163, 9, 0.45); animation: gx-rot 90s linear infinite; }
.au-ring-2 { width: calc(var(--r) * 1.4); border: 1px solid rgba(255, 255, 255, 0.12); }
.au-ring-3 { width: calc(var(--r) * 2.7); border: 1px solid rgba(248, 163, 9, 0.16); box-shadow: inset 0 0 60px rgba(23, 78, 154, 0.35); }
.au-spin { list-style: none; margin: 0; padding: 0; position: absolute; inset: 0; z-index: 4; animation: gx-rot 80s linear infinite; }
.au-spin li { position: absolute; left: 50%; top: 50%; width: 0; height: 0; transform: rotate(calc(var(--i) * 60deg)) translateY(calc(var(--r) * -1)); }
.au-node { position: absolute; left: -43px; top: -43px; width: 86px; height: 86px; border-radius: 50%; display: grid; place-content: center; justify-items: center; gap: 3px; background: rgba(2, 12, 31, 0.9); border: 1px solid rgba(248, 163, 9, 0.7); color: #fff; box-shadow: 0 12px 30px rgba(0, 0, 0, 0.5), 0 0 26px rgba(248, 163, 9, 0.25); transform: rotate(calc(var(--i) * -60deg)); animation: au-rev 80s linear infinite; transition: scale 0.3s var(--ease-out), background 0.3s, box-shadow 0.3s; }
@keyframes au-rev { from { transform: rotate(calc(var(--i) * -60deg)); } to { transform: rotate(calc(var(--i) * -60deg - 360deg)); } }
.au-node svg { width: 26px; height: 26px; color: var(--c-action-gold); }
.au-node b { font-size: 0.56rem; letter-spacing: 0.08em; text-transform: uppercase; line-height: 1; max-width: 76px; text-align: center; }
.au-node:hover, .au-node:focus-visible { scale: 1.22; background: linear-gradient(145deg, #ffc14d, #f8a309); color: #04132b; box-shadow: 0 0 40px rgba(248, 163, 9, 0.8); }
.au-node:hover svg, .au-node:focus-visible svg { color: #04132b; }
.au-orbit:hover .au-spin, .au-orbit:hover .au-node { animation-play-state: paused; }
@media (max-width: 640px) { .au-orbit { --r: 100px; } .au-node { width: 78px; height: 78px; left: -39px; top: -39px; } .au-node b { font-size: 0.5rem; } }

/* ---------- audiences: stage lineup ---------- */
.au-lineup-sec { position: relative; overflow: hidden; }
.au-lineup { display: flex; gap: 10px; height: min(660px, 82vh); min-height: 580px; }
.au-panel { position: relative; flex: 1 1 0; min-width: 0; border-radius: 26px; overflow: hidden; isolation: isolate; background: #031634; border: 1px solid rgba(248, 163, 9, 0.28); cursor: pointer; transition: flex 0.75s cubic-bezier(0.2, 0.8, 0.2, 1), border-color 0.4s, box-shadow 0.5s; }
.au-panel.is-active { flex: 4.6; border-color: #f8a309; box-shadow: 0 30px 70px rgba(0, 0, 0, 0.5), 0 0 60px rgba(248, 163, 9, 0.22); cursor: default; }
.au-panel-bg { position: absolute; inset: 0; z-index: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0.8; filter: saturate(0.8) brightness(0.9); transform: scale(1.1); transition: opacity 0.6s, filter 0.6s, transform 1.4s var(--ease-out); background: none; }
.au-panel.is-active .au-panel-bg { opacity: 0.95; filter: none; transform: scale(1); }
.au-panel-fade { position: absolute; inset: 0; z-index: 1; background: linear-gradient(180deg, rgba(2, 12, 31, 0.3) 0%, rgba(2, 12, 31, 0.35) 30%, rgba(2, 12, 31, 0.78) 58%, rgba(2, 12, 31, 0.96) 90%); }
.au-panel-in { position: absolute; left: 0; top: 0; bottom: 0; z-index: 2; width: max(100%, 470px); padding: var(--sp-3); display: flex; flex-direction: column; justify-content: flex-end; gap: 0.5rem; color: #fff; }
.au-num { position: absolute; left: 22px; top: 22px; font-family: var(--font-display); font-size: 1.1rem; letter-spacing: 0.1em; color: var(--c-action-gold); }
.au-ico { position: absolute; left: 22px; top: 58px; display: grid; place-items: center; width: 52px; height: 52px; border-radius: 16px; background: linear-gradient(145deg, #ffc14d, #f8a309); color: #04132b; box-shadow: 0 10px 24px rgba(248, 163, 9, 0.4); transition: transform 0.5s var(--ease-out); }
.au-ico svg { width: 28px; height: 28px; }
.au-panel:hover .au-ico { transform: rotate(-10deg) scale(1.1); }
.au-panel h3 { margin: 0; font-size: clamp(1.4rem, 1rem + 1.3vw, 2.1rem); line-height: 1.05; color: #fff; text-transform: uppercase; opacity: 0; transform: translateY(14px); transition: opacity 0.5s 0.15s, transform 0.6s 0.15s var(--ease-out); }
.au-more { display: grid; gap: 0.65rem; opacity: 0; transform: translateY(18px); pointer-events: none; transition: opacity 0.5s 0.2s, transform 0.6s 0.2s var(--ease-out); max-width: 46ch; }
.au-panel.is-active h3, .au-panel.is-active .au-more { opacity: 1; transform: none; pointer-events: auto; }
.au-line { margin: 0; font-size: 1.05rem; line-height: 1.45; color: #fff; }
.au-best { margin: 0; font-size: 0.9rem; line-height: 1.5; color: rgba(255, 255, 255, 0.82); } .au-best b { display: block; font-size: 0.68rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--c-action-gold); margin-bottom: 0.15rem; }
.au-chips { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 0.4rem; }
.au-chips a { display: inline-block; padding: 0.3rem 0.7rem; border-radius: 999px; border: 1px solid rgba(248, 163, 9, 0.7); background: rgba(248, 163, 9, 0.12); color: #ffe3a1; font-size: 0.76rem; font-weight: 700; transition: background 0.25s, color 0.25s; }
.au-chips a:hover { background: var(--c-action-gold); color: #04132b; }
.au-acts { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem 1.1rem; margin-top: 0.2rem; } .au-acts .btn { white-space: normal; } .au-acts .bk-link { color: #fff; margin-top: 0; }
.au-vt { position: absolute; left: 50%; bottom: 26px; z-index: 2; writing-mode: vertical-rl; transform: translateX(-50%) rotate(180deg); font-family: var(--font-display); font-size: 1.05rem; letter-spacing: 0.16em; text-transform: uppercase; color: #fff; white-space: nowrap; transition: opacity 0.3s; text-shadow: 0 2px 14px rgba(0, 0, 0, 0.8); }
.au-panel.is-active .au-vt { opacity: 0; }
@media (max-width: 1000px) {
  .au-lineup { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); height: auto; min-height: 0; }
  .au-panel, .au-panel.is-active { flex: none; min-height: 500px; cursor: default; }
  .au-panel-bg { opacity: 0.9; filter: none; transform: none; }
  .au-panel-in { position: relative; width: 100%; min-height: 500px; padding-top: 130px; }
  .au-panel h3, .au-more { opacity: 1; transform: none; pointer-events: auto; }
  .au-vt { display: none; }
}
@media (max-width: 640px) { .au-lineup { grid-template-columns: minmax(0, 1fr); } }

/* ---------- audiences: five takeaways path ---------- */
.au-path { list-style: none; margin: 0; padding: 0; position: relative; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: var(--sp-2); }
.au-path::before, .au-path::after { content: ''; position: absolute; left: 10%; top: 36px; height: 4px; border-radius: 2px; }
.au-path::before { right: 10%; background: rgba(1, 24, 55, 0.12); }
.au-path::after { width: 0; background: linear-gradient(90deg, #f8a309, #ffe3a1); box-shadow: 0 0 14px rgba(248, 163, 9, 0.8); transition: width 1.8s var(--ease-out); }
.au-path.is-in::after { width: 80%; }
.au-path li { position: relative; z-index: 1; text-align: center; padding-inline: 0.4rem; }
.au-path-node { display: grid; place-items: center; width: 74px; height: 74px; margin: 0 auto var(--sp-2); border-radius: 50%; background: #fff; border: 3px solid rgba(1, 24, 55, 0.14); color: var(--c-executive-blue); transition: all 0.6s var(--ease-out); transition-delay: calc(var(--i) * 0.32s); }
.au-path-node svg { width: 30px; height: 30px; }
.au-path.is-in .au-path-node { border-color: #f8a309; background: linear-gradient(145deg, #ffc14d, #f8a309); color: #04132b; box-shadow: 0 0 0 9px rgba(248, 163, 9, 0.16), 0 16px 30px rgba(248, 163, 9, 0.35); }
.au-path h3 { margin: 0 0 0.3rem; font-size: 1rem; color: var(--c-executive-blue); text-transform: uppercase; letter-spacing: 0.02em; }
.au-path p { margin: 0; font-size: 0.9rem; line-height: 1.5; color: var(--text-on-light-muted); }
@media (max-width: 860px) {
  .au-path { grid-template-columns: minmax(0, 1fr); gap: var(--sp-3); } .au-path::before, .au-path::after { display: none; }
  .au-path li { display: grid; grid-template-columns: 74px minmax(0, 1fr); gap: 0 var(--sp-2); text-align: left; align-items: center; } .au-path-node { margin: 0; grid-row: span 2; }
}

/* ---------- shared: program x audience matrix ---------- */
.gx-matrix-sec { position: relative; overflow: hidden; }
.gx-pills { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.5rem; margin: 0 0 var(--sp-3); }
.gx-pill { display: inline-flex; align-items: center; gap: 0.45rem; padding: 0.55rem 1rem; border-radius: 999px; border: 1.5px solid rgba(1, 24, 55, 0.22); background: #fff; color: var(--c-executive-blue); font-family: inherit; font-size: 0.82rem; font-weight: 800; cursor: pointer; transition: transform 0.25s var(--ease-out), background 0.3s, border-color 0.3s, box-shadow 0.3s; }
.gx-pill span { display: grid; place-items: center; } .gx-pill svg { width: 17px; height: 17px; color: #b36b00; }
.gx-pill:hover { transform: translateY(-3px); border-color: #f8a309; }
.gx-pill[aria-pressed='true'] { background: linear-gradient(145deg, #ffc14d, #f8a309); border-color: #f8a309; color: #04132b; box-shadow: 0 10px 24px rgba(248, 163, 9, 0.38); } .gx-pill[aria-pressed='true'] svg { color: #04132b; }
.gx-mscroll { overflow-x: auto; border-radius: 22px; background: #fff; border: 1px solid var(--border-hairline-light); box-shadow: var(--shadow-card); }
.gx-table { width: 100%; min-width: 880px; border-collapse: separate; border-spacing: 0; }
.gx-table th, .gx-table td { padding: 0.85rem 0.6rem; text-align: center; border-bottom: 1px solid var(--border-hairline-light); transition: background 0.25s, opacity 0.35s; }
.gx-table thead th { background: #04132b; color: #fff; font-size: 0.74rem; letter-spacing: 0.08em; text-transform: uppercase; padding-block: 1rem; }
.gx-table thead th a { display: inline-grid; justify-items: center; gap: 0.35rem; color: #fff; }
.gx-col-ico { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 10px; background: rgba(248, 163, 9, 0.18); color: var(--c-action-gold); } .gx-col-ico svg { width: 19px; height: 19px; }
.gx-table thead th a:hover { color: var(--c-action-gold); }
.gx-corner { text-align: left !important; padding-left: 1.2rem !important; width: 30%; }
.gx-table tbody th { text-align: left; padding-left: 1.2rem; background: #fff; position: sticky; left: 0; }
.gx-table tbody th a { display: grid; gap: 0.15rem; color: var(--c-executive-blue); } .gx-table tbody th b { font-family: var(--font-display); font-size: 0.95rem; text-transform: uppercase; letter-spacing: 0.01em; } .gx-table tbody th em { font-style: normal; font-size: 0.8rem; font-weight: 400; color: var(--text-on-light-muted); line-height: 1.35; }
.gx-table tbody th a:hover b { color: #b36b00; }
.gx-table tbody tr:last-child th, .gx-table tbody tr:last-child td { border-bottom: 0; }
.gx-table tbody tr:hover th, .gx-table tbody tr:hover td { background: #fff8e6; }
.gx-table .is-hc { background: #fff8e6; }
.gx-dot { display: inline-grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; vertical-align: middle; }
.gx-dot svg { width: 17px; height: 17px; }
.gx-dot.is-2 { background: linear-gradient(145deg, #ffc14d, #f8a309); color: #04132b; box-shadow: 0 6px 16px rgba(248, 163, 9, 0.45); animation: gx-pulse 2.8s ease-out infinite; }
.gx-dot.is-1 { border: 2px solid #f8a309; color: #d98700; background: rgba(248, 163, 9, 0.08); }
.gx-dot.is-0 { width: 9px; height: 9px; background: #d3dbe6; } .gx-dot.is-0 svg { display: none; }
.gx-table td:hover .gx-dot.is-2 { transform: scale(1.18); } .gx-dot { transition: transform 0.25s var(--ease-out); }
.gx-matrix:not([data-sel='all']) .gx-table [data-a]:not(.is-sel) { opacity: 0.22; }
.gx-matrix:not([data-sel='all']) .gx-table .is-sel { background: rgba(248, 163, 9, 0.12); }
.gx-matrix:not([data-sel='all']) .gx-table thead .is-sel { background: #0b2f66; box-shadow: inset 0 -4px 0 #f8a309; }
.gx-rec { margin-top: var(--sp-3); padding: var(--sp-3); border-radius: 20px; background: linear-gradient(135deg, #04132b, #0b2f66); color: #fff; border: 1px solid rgba(248, 163, 9, 0.4); box-shadow: 0 24px 50px rgba(1, 10, 24, 0.25); }
.gx-rec-lead { margin: 0; color: rgba(255, 255, 255, 0.85); font-size: 0.98rem; }
.gx-rec h3 { margin: 0 0 0.6rem; font-size: 1.1rem; color: #fff; } .gx-rec h3 em { font-style: normal; color: var(--c-action-gold); }
.gx-rec ul { list-style: none; margin: 0 0 0.9rem; padding: 0; display: flex; flex-wrap: wrap; gap: 0.5rem; }
.gx-rec li a { display: inline-flex; padding: 0.45rem 0.9rem; border-radius: 999px; background: rgba(248, 163, 9, 0.14); border: 1px solid rgba(248, 163, 9, 0.7); color: #ffe3a1; font-size: 0.85rem; font-weight: 700; } .gx-rec li a:hover { background: var(--c-action-gold); color: #04132b; }
.gx-rec .bk-link { color: #fff; margin-top: 0; }
.gx-legend { display: flex; flex-wrap: wrap; gap: 0.5rem 1.4rem; align-items: center; margin: var(--sp-2) 0 0; font-size: 0.84rem; color: var(--text-on-light-muted); } .gx-legend span.gx-leg { display: inline-flex; align-items: center; gap: 0.45rem; } .gx-legend .gx-dot { width: 22px; height: 22px; animation: none; } .gx-legend .gx-dot svg { width: 12px; height: 12px; }
@media (max-width: 860px) {
  .gx-mscroll { overflow: visible; background: none; border: 0; box-shadow: none; border-radius: 0; }
  .gx-table, .gx-table tbody, .gx-table tr, .gx-table th, .gx-table td { display: block; min-width: 0; width: 100%; }
  .gx-table thead { display: none; }
  .gx-table tbody tr { margin-bottom: var(--sp-2); border-radius: 18px; overflow: hidden; background: #fff; border: 1px solid var(--border-hairline-light); box-shadow: var(--shadow-card); }
  .gx-table tbody th { position: static; background: #04132b; padding: 0.9rem 1rem; } .gx-table tbody th a, .gx-table tbody th b { color: #fff; } .gx-table tbody th em { color: rgba(255, 255, 255, 0.78); }
  .gx-table td { display: flex; align-items: center; justify-content: space-between; text-align: left; padding: 0.6rem 1rem; } .gx-table td::before { content: attr(data-label); font-size: 0.82rem; font-weight: 700; color: var(--c-executive-blue); }
  .gx-table td[data-s='0'] { display: none; }
  .gx-matrix:not([data-sel='all']) .gx-table td:not(.is-sel) { display: none; }
  .gx-matrix:not([data-sel='all']) .gx-table tbody tr:not(:has(td.is-sel:not([data-s='0']))) { display: none; }
}

/* ---------- shared: audience photo cards (home + meet mike) ---------- */
.gx-audgrid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--sp-3); perspective: 1400px; margin-bottom: var(--sp-4); }
.gx-aud { position: relative; display: flex; flex-direction: column; justify-content: flex-end; gap: 0.5rem; min-height: 330px; padding: var(--sp-3); border-radius: 24px; overflow: hidden; color: #fff; background: #04132b; border: 1px solid rgba(248, 163, 9, 0.32); box-shadow: 0 24px 50px rgba(1, 10, 24, 0.28); }
.gx-aud-img { position: absolute; inset: 0; z-index: 0; } .gx-aud-img::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(2, 12, 31, 0.15) 0%, rgba(2, 12, 31, 0.92) 78%); }
.gx-aud-img img { width: 100%; height: 100%; object-fit: cover; opacity: 0.75; transition: transform 1.1s var(--ease-out), opacity 0.5s; background: none; }
.gx-aud:hover .gx-aud-img img { transform: scale(1.12); opacity: 1; }
.gx-aud > :not(.gx-aud-img) { position: relative; z-index: 2; }
.gx-aud-ico { position: absolute !important; left: 22px; top: 22px; display: grid; place-items: center; width: 54px; height: 54px; border-radius: 16px; background: linear-gradient(145deg, #ffc14d, #f8a309); color: #04132b; box-shadow: 0 10px 24px rgba(248, 163, 9, 0.4); transition: transform 0.5s var(--ease-out); } .gx-aud-ico svg { width: 28px; height: 28px; }
.gx-aud:hover .gx-aud-ico { transform: rotate(-10deg) scale(1.12); }
.gx-aud h3 { margin: 0; font-size: 1.25rem; line-height: 1.12; color: #fff; text-transform: uppercase; }
.gx-aud p { margin: 0; font-size: 0.95rem; line-height: 1.45; color: rgba(255, 255, 255, 0.88); }
.gx-aud b { display: inline-flex; align-items: center; gap: 0.4rem; font-size: 0.72rem; letter-spacing: 0.12em; text-transform: uppercase; color: #ffd36b; } .gx-aud b svg { transition: transform 0.3s; } .gx-aud:hover b svg { transform: translateX(6px); }
.gx-aud::before { content: ''; position: absolute; inset: 0; z-index: 3; border-radius: inherit; padding: 2px; pointer-events: none; opacity: 0; transition: opacity 0.3s; background: conic-gradient(from var(--gx-a), transparent 0 55%, #f8a309 78%, #ffe3a1 90%, transparent); -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask: linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0); animation: gx-spin 4s linear infinite; }
.gx-aud:hover::before { opacity: 1; }
@media (max-width: 980px) { .gx-audgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .gx-audgrid { grid-template-columns: minmax(0, 1fr); } .gx-aud { min-height: 280px; } }

/* ---------- shared: final call to action ---------- */
.gx-final { position: relative; overflow: hidden; }
.gx-final-in { position: relative; z-index: 2; max-width: 860px; margin-inline: auto; text-align: center; }
.gx-final h2 { max-width: none; margin: 0 0 var(--sp-2); color: #fff; font-size: clamp(1.7rem, 1.1rem + 2.2vw, 2.7rem); line-height: 1.08; }
.gx-final p { color: rgba(255, 255, 255, 0.86); font-size: var(--fs-body-lg); }
.gx-final-act { display: flex; flex-wrap: wrap; gap: var(--sp-2); justify-content: center; margin-top: var(--sp-3); } .gx-final-act .btn { white-space: normal; }
.gx-final .btn-primary { box-shadow: 0 0 0 0 rgba(248, 163, 9, 0.6); animation: gx-pulse 2.6s ease-out infinite; }
.gx-final .gx-final-note { margin-top: var(--sp-3); font-size: 0.88rem; color: rgba(255, 255, 255, 0.72); } .gx-final-note a { color: #ffd36b; text-decoration: underline; }
.gx-final .kp-sparks { position: absolute; }

/* ---------- meet mike ---------- */
.mk-numbers { position: relative; overflow: hidden; }
.mk-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--sp-3); }
.mk-stat { position: relative; display: flex; flex-direction: column; justify-content: center; text-align: center; padding: var(--sp-4) var(--sp-2); border-radius: 24px; background: linear-gradient(160deg, rgba(255, 255, 255, 0.09), rgba(255, 255, 255, 0.02)); border: 1px solid rgba(248, 163, 9, 0.22); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); }
.mk-stat::before { content: ''; position: absolute; inset: -2px; border-radius: 26px; padding: 2px; pointer-events: none; background: conic-gradient(from var(--gx-a), transparent 0 60%, #f8a309 80%, #ffe3a1 90%, transparent); -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask: linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0); animation: gx-spin 6s linear infinite; }
.mk-stat-ico { display: grid; place-items: center; width: 58px; height: 58px; margin: 0 auto var(--sp-2); border-radius: 18px; background: linear-gradient(145deg, #ffc14d, #f8a309); color: #04132b; box-shadow: 0 12px 26px rgba(248, 163, 9, 0.4); } .mk-stat-ico svg { width: 30px; height: 30px; }
.mk-stat .stat-number { font-size: clamp(1.6rem, 0.9rem + 1.7vw, 2.35rem); line-height: 1; white-space: nowrap; color: var(--c-action-gold); text-shadow: 0 0 34px rgba(248, 163, 9, 0.5); }
.mk-stat-top { font-size: 0.7rem; font-weight: 800; letter-spacing: 0.14em; text-transform: uppercase; color: rgba(255, 255, 255, 0.78); margin-bottom: 0.3rem; }
.mk-stat-label { margin-top: 0.5rem; font-size: 0.8rem; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; color: rgba(255, 255, 255, 0.86); line-height: 1.35; }
@media (max-width: 900px) { .mk-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 460px) { .mk-stats { grid-template-columns: minmax(0, 1fr); } }
.mk-why-body { max-width: 72ch; margin: 0 auto var(--sp-4); text-align: center; font-size: var(--fs-body-lg); line-height: 1.7; color: var(--c-charcoal); }
.mk-tiles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--sp-3); perspective: 1200px; }
.mk-tile { position: relative; padding: var(--sp-4) var(--sp-3); border-radius: 24px; background: #fff; border: 1px solid var(--border-hairline-light); box-shadow: var(--shadow-card); overflow: hidden; }
.mk-tile::before { content: ''; position: absolute; left: 0; top: 0; width: 100%; height: 5px; background: linear-gradient(90deg, #f8a309, #ffe3a1); transform: scaleX(0.2); transform-origin: 0 50%; transition: transform 0.6s var(--ease-out); } .mk-tile:hover::before { transform: scaleX(1); }
.mk-tile-ico { display: grid; place-items: center; width: 60px; height: 60px; border-radius: 18px; background: linear-gradient(145deg, #04132b, #0b2f66); color: var(--c-action-gold); margin-bottom: var(--sp-2); box-shadow: 0 12px 26px rgba(1, 24, 55, 0.3); } .mk-tile-ico svg { width: 30px; height: 30px; }
.mk-tile h3 { margin: 0 0 0.4rem; font-size: 1.25rem; color: var(--c-executive-blue); text-transform: uppercase; } .mk-tile p { margin: 0; color: var(--text-on-light-muted); line-height: 1.6; }
.mk-pil-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--sp-3); }
.mk-pil { position: relative; padding: var(--sp-4) var(--sp-3) var(--sp-3); border-radius: 26px; background: linear-gradient(160deg, #04132b, #0b2f66); color: #fff; border: 1px solid rgba(248, 163, 9, 0.35); box-shadow: 0 28px 56px rgba(1, 10, 24, 0.26); overflow: hidden; transition: transform 0.45s var(--ease-out), box-shadow 0.4s; }
.mk-pil:hover { transform: translateY(-10px); box-shadow: 0 40px 70px rgba(1, 10, 24, 0.35), 0 0 50px rgba(248, 163, 9, 0.18); }
.mk-pil-n { display: block; font-family: var(--font-display); font-size: 5.4rem; line-height: 0.9; color: transparent; -webkit-text-stroke: 2px rgba(248, 163, 9, 0.7); margin-bottom: var(--sp-1); transition: -webkit-text-stroke-color 0.3s, text-shadow 0.4s; } .mk-pil:hover .mk-pil-n { text-shadow: 0 0 30px rgba(248, 163, 9, 0.6); }
.mk-pil h3 { margin: 0 0 0.5rem; font-size: 1.45rem; color: #fff; text-transform: uppercase; } .mk-pil p { margin: 0; color: rgba(255, 255, 255, 0.86); line-height: 1.6; } .mk-pil .bk-link { color: #fff; }
@media (max-width: 900px) { .mk-tiles, .mk-pil-grid { grid-template-columns: minmax(0, 1fr); } }
.mk-journey { position: relative; overflow: hidden; }
.mk-timeline { list-style: none; margin: 0; padding: 0; position: relative; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: var(--sp-2); }
.mk-track { position: absolute; left: 10%; right: 10%; top: 38px; height: 4px; border-radius: 2px; background: rgba(255, 255, 255, 0.14); } .mk-track i { display: block; height: 100%; border-radius: 2px; width: calc(var(--p, 0) * 100%); background: linear-gradient(90deg, #f8a309, #ffe3a1); box-shadow: 0 0 16px rgba(248, 163, 9, 0.9); }
.mk-step { position: relative; z-index: 1; text-align: center; padding-inline: 0.4rem; }
.mk-step-ico { display: grid; place-items: center; width: 78px; height: 78px; margin: 0 auto var(--sp-2); border-radius: 50%; background: #04132b; border: 3px solid rgba(255, 255, 255, 0.2); color: rgba(255, 255, 255, 0.6); transition: all 0.6s var(--ease-out); } .mk-step-ico svg { width: 32px; height: 32px; }
.mk-step.is-lit .mk-step-ico { border-color: #f8a309; background: linear-gradient(145deg, #ffc14d, #f8a309); color: #04132b; box-shadow: 0 0 0 10px rgba(248, 163, 9, 0.16), 0 0 40px rgba(248, 163, 9, 0.55); transform: translateY(-6px) scale(1.06); }
.mk-step h3 { margin: 0 0 0.4rem; font-size: 1rem; line-height: 1.2; color: #fff; text-transform: uppercase; opacity: 0.55; transition: opacity 0.5s; } .mk-step p { margin: 0; font-size: 0.9rem; line-height: 1.55; color: rgba(255, 255, 255, 0.78); opacity: 0.55; transition: opacity 0.5s; }
.mk-step.is-lit h3, .mk-step.is-lit p { opacity: 1; }
@media (max-width: 860px) {
  .mk-timeline { grid-template-columns: minmax(0, 1fr); gap: var(--sp-3); padding-left: 0; }
  .mk-track { left: 38px; right: auto; top: 30px; bottom: 30px; width: 4px; height: auto; } .mk-track i { width: 100%; height: calc(var(--p, 0) * 100%); }
  .mk-step { display: grid; grid-template-columns: 78px minmax(0, 1fr); gap: 0 var(--sp-2); text-align: left; align-items: center; } .mk-step-ico { margin: 0; grid-row: span 2; }
}
.mk-phil { position: relative; overflow: hidden; }
.mk-phil-bg { position: absolute; inset: 0; z-index: 0; opacity: 0.4; } .mk-phil-bg img { width: 100%; height: 100%; object-fit: cover; object-position: 60% 40%; background: none; }
.mk-phil-bg::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(0, 10, 24, 0.97) 20%, rgba(0, 10, 24, 0.6) 100%); }
.mk-phil-grid { position: relative; z-index: 1; display: grid; grid-template-columns: 1.1fr 1fr; gap: var(--sp-5); align-items: center; }
.mk-phil-h { font-size: clamp(1.7rem, 1.1rem + 2vw, 2.8rem); line-height: 1.12; color: #fff; text-transform: uppercase; }
.mk-phil-h span { display: inline-block; opacity: 0; transform: translateY(24px); transition: opacity 0.8s var(--ease-out), transform 0.8s var(--ease-out); }
.fade-in-up.is-visible .mk-phil-h span { opacity: 1; transform: none; } .fade-in-up.is-visible .mk-l2 { transition-delay: 0.35s; } .fade-in-up.is-visible .mk-l3 { transition-delay: 0.7s; }
.mk-l1 { position: relative; padding-bottom: 0.4rem; } .mk-l1::after { content: ''; position: absolute; left: 0; bottom: 0; width: 0; height: 4px; background: var(--c-action-gold); transition: width 1.2s 0.8s var(--ease-out); } .fade-in-up.is-visible .mk-l1::after { width: 64px; }
.mk-l3 { color: var(--c-action-gold); }
.mk-phil-quote { margin: 0; padding: var(--sp-4); border-radius: 26px; background: rgba(255, 255, 255, 0.06); border: 1px solid rgba(248, 163, 9, 0.3); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); } .mk-phil-quote p { margin: 0; font-size: var(--fs-body-lg); line-height: 1.7; color: rgba(255, 255, 255, 0.94); }
.mk-bridge { position: relative; z-index: 1; margin-top: var(--sp-5); max-width: 900px; }
.mk-bridge-svg { display: block; width: 100%; height: auto; overflow: visible; }
.mk-bt { fill: #ffe3a1; font: 900 15px var(--font-display, Arial); letter-spacing: 0.22em; }
.mk-plank { opacity: 0; transform: translateY(-60px); transition: opacity 0.6s, transform 0.8s cubic-bezier(0.3, 1.4, 0.5, 1); transition-delay: calc(var(--i) * 0.55s + 0.2s); filter: drop-shadow(0 0 10px rgba(248, 163, 9, 0.7)); }
.mk-bridge.is-in .mk-plank { opacity: 1; transform: none; }
.mk-plank-t text { fill: #fff; font: 900 13px var(--font-display, Arial); letter-spacing: 0.16em; opacity: 0; transition: opacity 0.6s 1.9s; } .mk-bridge.is-in .mk-plank-t text { opacity: 1; }
.mk-orb { opacity: 0; filter: drop-shadow(0 0 12px #f8a309); } .mk-bridge.is-in .mk-orb { animation: mk-cross 3.4s 2.4s ease-in-out forwards; }
@keyframes mk-cross { 0% { opacity: 1; transform: translateX(0); } 100% { opacity: 1; transform: translateX(720px); } }
@media (max-width: 900px) { .mk-phil-grid { grid-template-columns: minmax(0, 1fr); } }
.mk-media { position: relative; overflow: hidden; }
.mk-media-logos { max-width: 1060px; margin: 0 auto var(--sp-4); padding: var(--sp-3); border-radius: 22px; background: #04132b; border: 1px solid rgba(248, 163, 9, 0.4); box-shadow: 0 24px 60px rgba(0, 0, 0, 0.45); } .mk-media-logos img { width: 100%; height: auto; background: none; }
.mk-media-links { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--sp-3); margin-bottom: var(--sp-4); }
.mk-media-links a { display: grid; grid-template-columns: 52px minmax(0, 1fr); gap: 0.1rem var(--sp-2); align-items: center; padding: var(--sp-3); border-radius: 20px; color: #fff; background: rgba(255, 255, 255, 0.06); border: 1px solid rgba(248, 163, 9, 0.28); transition: transform 0.4s var(--ease-out), background 0.3s, border-color 0.3s; }
.mk-media-links a:hover { transform: translateY(-8px); background: rgba(248, 163, 9, 0.12); border-color: var(--c-action-gold); }
.mk-media-links svg { grid-row: span 2; width: 52px; height: 52px; padding: 12px; border-radius: 16px; background: linear-gradient(145deg, #ffc14d, #f8a309); color: #04132b; }
.mk-media-links b { font-family: var(--font-display); font-size: 1.05rem; text-transform: uppercase; } .mk-media-links span { font-size: 0.88rem; color: rgba(255, 255, 255, 0.78); }
@media (max-width: 800px) { .mk-media-links { grid-template-columns: minmax(0, 1fr); } }
.mk-shelf { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: var(--sp-2); perspective: 1200px; }
.mk-book { display: block; border-radius: 6px; box-shadow: 0 18px 30px rgba(1, 10, 24, 0.3); } .mk-book img { width: 100%; height: auto; border-radius: 6px; display: block; background: none; } .mk-book:hover { box-shadow: 0 30px 50px rgba(1, 10, 24, 0.42), 0 0 40px rgba(248, 163, 9, 0.3); }
@media (max-width: 900px) { .mk-shelf { grid-template-columns: repeat(4, minmax(0, 1fr)); } } @media (max-width: 520px) { .mk-shelf { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.mk-quotes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--sp-3); perspective: 1200px; }
.mk-quote { position: relative; margin: 0; padding: var(--sp-4) var(--sp-3) var(--sp-3); border-radius: 24px; background: linear-gradient(160deg, #04132b, #0b2f66); color: #fff; border: 1px solid rgba(248, 163, 9, 0.3); box-shadow: 0 24px 50px rgba(1, 10, 24, 0.26); overflow: hidden; }
.mk-qmark { position: absolute; right: 18px; top: -6px; font-family: Georgia, serif; font-size: 7rem; line-height: 1; color: rgba(248, 163, 9, 0.35); }
.mk-quote blockquote { font-style: normal; font-family: inherit; position: relative; margin: 0 0 var(--sp-3); font-size: 1.02rem; line-height: 1.65; color: rgba(255, 255, 255, 0.94); }
.mk-quote figcaption { position: relative; display: flex; align-items: center; gap: 0.8rem; font-size: 0.85rem; line-height: 1.4; color: rgba(255, 255, 255, 0.78); } .mk-quote figcaption strong { display: block; color: #fff; font-size: 0.95rem; }
.mk-quote .mm-avatar { flex: none; }
@media (max-width: 900px) { .mk-quotes { grid-template-columns: minmax(0, 1fr); } }

/* ---------- home ---------- */
.hm-reel { position: relative; overflow: hidden; }
.hm-reel .md-reel-grid { grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr); } .hm-reel .md-screen { margin: 0; max-width: 640px; }
.hm-reel .bk-h2 { color: #fff; } .hm-reel .bk-h2 em { color: var(--c-action-gold); }
.hm-reel-p { margin: var(--sp-2) 0 var(--sp-3); font-size: var(--fs-body-lg); color: rgba(255, 255, 255, 0.86); max-width: 48ch; }
@media (max-width: 1000px) { .hm-reel .md-reel-grid { grid-template-columns: minmax(0, 1fr); } }
.hm-tabs { margin-bottom: var(--sp-4); }
.hm-tabs .tab-btn { padding: 0.7rem 1.3rem; border-radius: 999px; font-weight: 800; letter-spacing: 0.04em; transition: transform 0.25s var(--ease-out), background 0.3s, border-color 0.3s, box-shadow 0.3s; } .hm-tabs .tab-btn:hover { transform: translateY(-3px); }
.hm-tabs .tab-btn[aria-selected='true'] { background: linear-gradient(145deg, #ffc14d, #f8a309); border-color: #f8a309; color: #04132b; box-shadow: 0 10px 24px rgba(248, 163, 9, 0.4); }
.tab-panel.hm-pgrid.is-active { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--sp-3); perspective: 1200px; margin-bottom: var(--sp-4); }
.tab-panel.hm-bgrid.is-active { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: var(--sp-3); perspective: 1200px; margin-bottom: var(--sp-4); }
.hm-prog { position: relative; display: flex; flex-direction: column; gap: 0.5rem; padding: var(--sp-3); border-radius: 22px; overflow: hidden; background: #fff; border: 1px solid var(--border-hairline-light); box-shadow: var(--shadow-card); color: var(--c-charcoal); }
.hm-prog::before { content: ''; position: absolute; left: 0; bottom: 0; width: 100%; height: 5px; background: linear-gradient(90deg, #f8a309, #ffe3a1); transform: scaleX(0); transform-origin: 0 50%; transition: transform 0.55s var(--ease-out); } .hm-prog:hover::before { transform: scaleX(1); }
.hm-prog-n { font-family: var(--font-display); font-size: 2.6rem; line-height: 1; color: transparent; -webkit-text-stroke: 1.5px rgba(248, 163, 9, 0.8); } .hm-prog:hover .hm-prog-n { text-shadow: 0 0 22px rgba(248, 163, 9, 0.5); }
.hm-prog h3 { margin: 0; font-size: 1.05rem; line-height: 1.2; color: var(--c-executive-blue); } .hm-prog p { margin: 0; font-size: 0.92rem; line-height: 1.5; color: var(--text-on-light-muted); }
.hm-prog b { margin-top: auto; padding-top: 0.5rem; display: inline-flex; align-items: center; gap: 0.4rem; font-size: 0.76rem; letter-spacing: 0.1em; text-transform: uppercase; color: #b36b00; } .hm-prog b svg { transition: transform 0.3s; } .hm-prog:hover b svg { transform: translateX(6px); }
.hm-book { display: block; text-align: center; } .hm-book img { width: 100%; height: auto; border-radius: 6px; box-shadow: 0 18px 30px rgba(1, 10, 24, 0.28); transition: box-shadow 0.4s, transform 0.4s var(--ease-out); background: none; } .hm-book:hover img { transform: translateY(-8px); box-shadow: 0 30px 50px rgba(1, 10, 24, 0.4), 0 0 40px rgba(248, 163, 9, 0.3); }
.hm-book h4 { margin: 0.7rem 0 0; font-size: 0.82rem; line-height: 1.25; color: var(--c-executive-blue); }
@media (max-width: 1100px) { .tab-panel.hm-bgrid.is-active { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 900px) { .tab-panel.hm-pgrid.is-active { grid-template-columns: repeat(2, minmax(0, 1fr)); } .tab-panel.hm-bgrid.is-active { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 560px) { .tab-panel.hm-pgrid.is-active { grid-template-columns: minmax(0, 1fr); } .tab-panel.hm-bgrid.is-active { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.hm-out { position: relative; overflow: hidden; }
.hm-out-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--sp-3); }
.hm-out-card { position: relative; padding: var(--sp-4) var(--sp-3); border-radius: 24px; text-align: center; background: linear-gradient(160deg, rgba(255, 255, 255, 0.09), rgba(255, 255, 255, 0.02)); border: 1px solid rgba(248, 163, 9, 0.26); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); transition: transform 0.45s var(--ease-out), border-color 0.3s, box-shadow 0.4s; }
.hm-out-card:hover { transform: translateY(-10px); border-color: var(--c-action-gold); box-shadow: 0 30px 60px rgba(0, 0, 0, 0.4), 0 0 40px rgba(248, 163, 9, 0.18); }
.hm-out-ico { position: relative; display: grid; place-items: center; width: 66px; height: 66px; margin: 0 auto var(--sp-2); border-radius: 50%; background: linear-gradient(145deg, #ffc14d, #f8a309); color: #04132b; box-shadow: 0 12px 28px rgba(248, 163, 9, 0.4); } .hm-out-ico svg { width: 30px; height: 30px; }
.hm-out-ico::after { content: ''; position: absolute; inset: -9px; border-radius: 50%; border: 2px solid rgba(248, 163, 9, 0.5); animation: gx-ping-ring 2.8s ease-out infinite; } @keyframes gx-ping-ring { 0% { transform: scale(0.85); opacity: 0.9; } 100% { transform: scale(1.35); opacity: 0; } }
.hm-out-card h3 { margin: 0 0 0.35rem; font-size: 1.1rem; color: #fff; text-transform: uppercase; } .hm-out-card p { margin: 0; color: rgba(255, 255, 255, 0.82); }
@media (max-width: 900px) { .hm-out-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } } @media (max-width: 520px) { .hm-out-grid { grid-template-columns: minmax(0, 1fr); } }
.hm-why-grid { display: grid; grid-template-columns: 1.15fr 0.85fr; gap: var(--sp-5); align-items: start; }
.hm-checks { list-style: none; margin: var(--sp-3) 0 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--sp-2); }
.hm-checks li { display: flex; gap: 0.75rem; align-items: flex-start; padding: var(--sp-2); border-radius: 18px; background: #fff; border: 1px solid var(--border-hairline-light); box-shadow: var(--shadow-card); transition: transform 0.35s var(--ease-out), border-color 0.3s; } .hm-checks li:hover { transform: translateY(-5px); border-color: #f8a309; }
.hm-checks .badge-check { flex: none; width: 34px; height: 34px; padding: 7px; border-radius: 50%; background: linear-gradient(145deg, #ffc14d, #f8a309); color: #04132b; }
.hm-checks h3 { margin: 0 0 0.15rem; font-size: 1rem; color: var(--c-executive-blue); } .hm-checks p { margin: 0; font-size: 0.88rem; line-height: 1.45; color: var(--text-on-light-muted); }
.hm-quote { position: relative; padding: var(--sp-5) var(--sp-4) var(--sp-4); border-radius: 28px; color: #fff; background: linear-gradient(160deg, #04132b, #0b2f66); border: 1px solid rgba(248, 163, 9, 0.35); box-shadow: 0 30px 60px rgba(1, 10, 24, 0.3); overflow: hidden; }
.hm-qmark { position: absolute; left: 20px; top: -14px; font-family: Georgia, serif; font-size: 9rem; line-height: 1; color: rgba(248, 163, 9, 0.35); }
.hm-quote .quote { position: relative; font-size: 1.15rem; line-height: 1.6; color: #fff; } .hm-q-n { margin: 1rem 0 0; font-weight: 800; color: #fff; } .hm-q-t { margin: 0; font-size: 0.85rem; color: var(--c-action-gold); }
@media (max-width: 960px) { .hm-why-grid { grid-template-columns: minmax(0, 1fr); } } @media (max-width: 520px) { .hm-checks { grid-template-columns: minmax(0, 1fr); } }
.hm-world { position: relative; overflow: hidden; }
.hm-rings { position: absolute; left: 50%; top: 50%; width: 0; height: 0; z-index: 0; } .hm-rings i { position: absolute; left: 0; top: 0; translate: -50% -50%; transform: scale(0.2); width: 360px; aspect-ratio: 1; border-radius: 50%; border: 1.5px solid rgba(248, 163, 9, 0.4); animation: gx-ping 8s ease-out infinite; } .hm-rings i:nth-child(2) { animation-delay: 2s; } .hm-rings i:nth-child(3) { animation-delay: 4s; } .hm-rings i:nth-child(4) { animation-delay: 6s; }
.hm-world .kp-sparks { position: absolute; } .hm-world-in { position: relative; z-index: 2; }
.hm-world-p { max-width: 56ch; margin: var(--sp-2) auto var(--sp-4); font-size: var(--fs-body-lg); color: rgba(255, 255, 255, 0.86); }
.hm-cities { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.6rem; }
.hm-cities a { display: inline-flex; align-items: center; gap: 0.55rem; padding: 0.6rem 1.1rem; border-radius: 999px; color: #fff; font-weight: 700; font-size: 0.85rem; background: rgba(255, 255, 255, 0.06); border: 1px solid rgba(248, 163, 9, 0.5); transition: transform 0.3s var(--ease-out), background 0.3s, color 0.3s; }
.hm-cities a i { width: 9px; height: 9px; border-radius: 50%; background: var(--c-action-gold); animation: gx-pulse 2.4s ease-out infinite; animation-delay: calc(var(--i) * 0.2s); }
.hm-cities a:hover { transform: translateY(-5px) scale(1.04); background: var(--c-action-gold); color: #04132b; } .hm-cities a:hover i { background: #04132b; }
.hm-step-row { list-style: none; margin: 0; padding: 0; position: relative; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--sp-4); }
.hm-step-row::before, .hm-step-row::after { content: ''; position: absolute; left: 16.6%; top: 38px; height: 4px; border-radius: 2px; } .hm-step-row::before { right: 16.6%; background: rgba(1, 24, 55, 0.12); } .hm-step-row::after { width: 0; background: linear-gradient(90deg, #f8a309, #ffe3a1); box-shadow: 0 0 14px rgba(248, 163, 9, 0.8); transition: width 1.8s var(--ease-out); } .hm-step-row.is-in::after { width: 66.8%; }
.hm-step-row li { position: relative; z-index: 1; text-align: center; }
.hm-step-n { display: grid; place-items: center; width: 78px; height: 78px; margin: 0 auto var(--sp-2); border-radius: 50%; font-family: var(--font-display); font-size: 1.9rem; background: #fff; border: 3px solid rgba(1, 24, 55, 0.15); color: var(--c-executive-blue); transition: all 0.6s var(--ease-out); transition-delay: calc(var(--i) * 0.5s); }
.hm-step-row.is-in .hm-step-n { background: linear-gradient(145deg, #ffc14d, #f8a309); border-color: #f8a309; color: #04132b; box-shadow: 0 0 0 10px rgba(248, 163, 9, 0.16), 0 16px 32px rgba(248, 163, 9, 0.35); }
.hm-step-row h3 { margin: 0 0 0.35rem; font-size: 1.1rem; line-height: 1.25; color: var(--c-executive-blue); } .hm-step-row p { margin: 0 auto; max-width: 34ch; color: var(--text-on-light-muted); }
@media (max-width: 800px) { .hm-step-row { grid-template-columns: minmax(0, 1fr); gap: var(--sp-3); } .hm-step-row::before, .hm-step-row::after { display: none; } }
.hm-ins-row { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.6rem; }
.hm-ins-row a { display: inline-flex; align-items: center; gap: 0.4rem; padding: 0.7rem 1.2rem; border-radius: 999px; font-weight: 800; font-size: 0.86rem; color: var(--c-executive-blue); background: #fff; border: 1.5px solid rgba(1, 24, 55, 0.18); transition: transform 0.3s var(--ease-out), background 0.3s, border-color 0.3s; }
.hm-ins-row a:hover { transform: translateY(-5px); border-color: #f8a309; background: #fff8e6; } .hm-ins-row a.is-all { background: var(--c-executive-blue); color: #fff; border-color: var(--c-executive-blue); } .hm-ins-row a.is-all:hover { background: #f8a309; color: #04132b; }

@media (prefers-reduced-motion: reduce) {
  .hm-rings { display: none; }
  .au-spin, .au-node, .au-ring-1, .au-core, .gx-dot.is-2, .gx-final .btn-primary, .mk-stat::before, .gx-aud::before, .hm-chip, .hm-cities a i, .hm-out-ico::after, .mk-orb { animation: none !important; }
  .mk-plank, .mk-plank-t text, .mk-phil-h span { opacity: 1 !important; transform: none !important; transition: none !important; }
  .au-path::after, .hm-step-row::after { width: 80%; transition: none; } .hm-step-row::after { width: 66.8%; }
  .au-path .au-path-node, .hm-step-n, .mk-step-ico { transition: none; }
}

/* ---------- book a call ---------- */
.bc-hero { padding-bottom: 90px; }
.bc-points { list-style: none; margin: var(--sp-3) 0 0; padding: 0; display: grid; gap: 0.55rem; }
.bc-points li { position: relative; padding-left: 1.9rem; color: #fff; font-weight: 600; }
.bc-points li::before { content: ''; position: absolute; left: 0; top: 0.2rem; width: 1.2rem; height: 1.2rem; border-radius: 50%; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 12.5l4 4L18 8' fill='none' stroke='%2304132b' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 80% no-repeat, linear-gradient(145deg, #ffc14d, #f8a309); box-shadow: 0 0 14px rgba(248, 163, 9, 0.6); }
.bc-card { position: relative; padding: var(--sp-4); border-radius: 28px; background: rgba(2, 12, 31, 0.78); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); border: 1px solid rgba(248, 163, 9, 0.4); box-shadow: 0 30px 70px rgba(0, 0, 0, 0.5), 0 0 60px rgba(248, 163, 9, 0.12); }
.bc-card::before { content: ''; position: absolute; inset: -2px; border-radius: 30px; padding: 2px; pointer-events: none; background: conic-gradient(from var(--gx-a), transparent 0 60%, #f8a309 80%, #ffe3a1 90%, transparent); -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask: linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0); animation: gx-spin 6s linear infinite; }
.bc-embed { min-height: 360px; margin: var(--sp-2) 0; }
.bc-alt { margin: 0; font-size: 0.9rem; color: rgba(255, 255, 255, 0.82); } .bc-alt a { color: #ffd36b; text-decoration: underline; }
@media (prefers-reduced-motion: reduce) { .bc-card::before { animation: none !important; } }

/* ---------- "100 FREE books" banner (shown wherever Mike's books appear) ---------- */
.free100-sec { padding-block: var(--sp-3); }
.free100 { position: relative; overflow: hidden; display: flex; align-items: center; gap: 1rem; max-width: 1000px; margin: var(--sp-3) auto; padding: 0.85rem 1.5rem 0.85rem 0.9rem; border-radius: 999px; background: linear-gradient(110deg, #04132b, #0b2f66 55%, #04132b); border: 1.5px solid #f8a309; color: #fff; text-decoration: none; box-shadow: 0 18px 40px rgba(1, 10, 24, 0.28), 0 0 40px rgba(248, 163, 9, 0.22); transition: transform 0.35s var(--ease-out), box-shadow 0.35s; }
.free100::after { content: ''; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(100deg, transparent 38%, rgba(255, 227, 161, 0.3) 50%, transparent 62%); transform: translateX(-120%); animation: free100-sweep 5s ease-in-out infinite; }
@keyframes free100-sweep { 0%, 55% { transform: translateX(-120%); } 100% { transform: translateX(120%); } }
.free100:hover { transform: translateY(-4px); box-shadow: 0 26px 50px rgba(1, 10, 24, 0.36), 0 0 55px rgba(248, 163, 9, 0.4); }
.free100-ico { flex: none; display: grid; place-items: center; width: 48px; height: 48px; border-radius: 50%; background: linear-gradient(145deg, #ffc14d, #f8a309); color: #04132b; animation: gx-pulse 2.6s ease-out infinite; } .free100-ico svg { width: 26px; height: 26px; }
.free100-t { flex: 1; min-width: 0; font-size: 1.02rem; line-height: 1.4; color: #fff; } .free100-t b { color: #ffd36b; font-family: var(--font-display); text-transform: uppercase; letter-spacing: 0.02em; }
.free100-go { flex: none; display: grid; place-items: center; color: #ffd36b; transition: transform 0.3s; } .free100:hover .free100-go { transform: translateX(6px); }
.free100-sm { max-width: none; margin: var(--sp-2) 0 0; border-radius: 16px; padding: 0.7rem 1rem 0.7rem 0.7rem; } .free100-sm .free100-ico { width: 40px; height: 40px; } .free100-sm .free100-t { font-size: 0.92rem; }
@media (max-width: 640px) { .free100 { border-radius: 22px; align-items: flex-start; padding: 0.9rem 1rem; } .free100-go { display: none; } }
@media (prefers-reduced-motion: reduce) { .free100::after, .free100-ico { animation: none !important; } }

/* ---------- footer: where Mike speaks (text links) + booking button beside them ---------- */
.footer-locations { padding-block: var(--sp-3) var(--sp-2); }
.footer-locations h4 { margin: 0 0 0.6rem; font-size: 0.74rem; letter-spacing: 0.08em; text-transform: uppercase; color: #fff; }
.footer-locations p { margin: 0 0 0.45rem; font-size: 0.78rem; line-height: 1.7; color: rgba(255, 255, 255, 0.5); }
.footer-locations b { color: var(--c-action-gold); font-weight: 700; margin-right: 0.15rem; }
.footer-locations a { color: rgba(255, 255, 255, 0.72); transition: color 0.2s; }
.footer-locations a:hover { color: #fff; text-decoration: underline; }
.footer-locations span { margin-inline: 0.2rem; color: rgba(255, 255, 255, 0.3); }
.footer-locations.has-cta { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: var(--sp-4); align-items: center; }
.footer-loc-cta { position: relative; overflow: hidden; padding: var(--sp-3); border-radius: 22px; text-align: center; background: linear-gradient(150deg, #04132b, #0b2f66); border: 1.5px solid #f8a309; box-shadow: 0 22px 46px rgba(0, 0, 0, 0.5), 0 0 40px rgba(248, 163, 9, 0.2); }
.footer-loc-cta::after { content: ''; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(100deg, transparent 38%, rgba(255, 227, 161, 0.18) 50%, transparent 62%); transform: translateX(-120%); animation: free100-sweep 6s ease-in-out infinite; }
.footer-locations .footer-loc-cta p { margin: 0 0 var(--sp-2); font-family: var(--font-display); font-size: 1.1rem; line-height: 1.2; text-transform: uppercase; color: #fff; }
.footer-loc-cta .btn { white-space: normal; width: 100%; justify-content: center; }
.footer-locations .footer-loc-cta a { color: #04132b; } .footer-locations .footer-loc-cta a:hover { text-decoration: none; color: #04132b; }
@media (max-width: 900px) { .footer-locations.has-cta { grid-template-columns: minmax(0, 1fr); } .footer-loc-cta { order: -1; } }
@media (prefers-reduced-motion: reduce) { .footer-loc-cta::after { animation: none !important; } }

/* ---------- planner readiness meter: closing "Now Let's Book Mike" link ---------- */
.mp-meter-go { grid-column: 1 / -1; justify-self: center; display: none; align-items: center; justify-content: center; gap: 0.6rem; width: 100%; max-width: 420px; margin-top: var(--sp-1); padding: 0.95rem 1.8rem; border-radius: 999px; background: linear-gradient(145deg, #ffc14d, #f8a309); color: #04132b; font-weight: 800; font-size: 0.95rem; letter-spacing: 0.06em; text-transform: uppercase; text-decoration: none; box-shadow: 0 14px 30px rgba(248, 163, 9, 0.38); transition: transform 0.3s var(--ease-out), box-shadow 0.3s; }
.mp-meter.is-done .mp-meter-go { display: inline-flex; animation: mp-go-in 0.6s var(--ease-out) both; }
@keyframes mp-go-in { from { opacity: 0; transform: translateY(14px) scale(0.96); } to { opacity: 1; transform: none; } }
.mp-meter-go:hover { transform: translateY(-3px); box-shadow: 0 20px 40px rgba(248, 163, 9, 0.5); }
.mp-meter-go .bk-arrow { transition: transform 0.3s; } .mp-meter-go:hover .bk-arrow { transform: translateX(5px); }

@media (prefers-reduced-motion: reduce) { .mp-meter.is-done .mp-meter-go { animation: none; } }

/* ---------- click sparkle + thank-you celebration ---------- */
.spark-burst { position: fixed; z-index: 10000; width: 0; height: 0; pointer-events: none; }
.spark-burst i { position: absolute; left: 0; top: 0; width: var(--sz, 6px); height: var(--sz, 6px); margin: calc(var(--sz, 6px) / -2) 0 0 calc(var(--sz, 6px) / -2); border-radius: 50%; box-shadow: 0 0 8px rgba(248, 163, 9, 0.9); animation: spark-out 0.7s cubic-bezier(0.1, 0.8, 0.3, 1) forwards; }
@keyframes spark-out { from { transform: translate(0, 0) scale(1); opacity: 1; } to { transform: translate(var(--dx), var(--dy)) scale(0.2); opacity: 0; } }
.cel-confetti { position: fixed; inset: 0; z-index: 9998; overflow: hidden; pointer-events: none; }
.cel-confetti i { position: absolute; width: var(--w, 8px); height: var(--h, 12px); border-radius: 2px; opacity: 0; animation: cel-pop 2.4s cubic-bezier(0.2, 0.7, 0.3, 1) forwards; box-shadow: 0 0 6px rgba(248, 163, 9, 0.5); }
@keyframes cel-pop { 0% { opacity: 1; transform: translate(0, 0) rotate(0deg) scale(0.4); } 35% { opacity: 1; transform: translate(var(--dx), var(--up)) rotate(calc(var(--rot) * 0.5)) scale(1); } 100% { opacity: 0; transform: translate(calc(var(--dx) * 1.25), calc(var(--up) + var(--fall))) rotate(var(--rot)) scale(0.9); } }
.cel-tools { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.6rem; margin-top: var(--sp-3); }
.cel-btn { display: inline-flex; align-items: center; gap: 0.5rem; padding: 0.5rem 1rem; border-radius: 999px; font-family: inherit; font-size: 0.8rem; font-weight: 700; letter-spacing: 0.04em; color: #ffe3a1; background: rgba(248, 163, 9, 0.12); border: 1px solid rgba(248, 163, 9, 0.6); cursor: pointer; transition: background 0.25s, color 0.25s; }
.cel-btn svg { width: 16px; height: 16px; } .cel-btn:hover { background: var(--c-action-gold); color: #04132b; }
.cel-btn.is-off { color: rgba(255, 255, 255, 0.7); border-color: rgba(255, 255, 255, 0.35); background: transparent; }
@media (prefers-reduced-motion: reduce) { .spark-burst, .cel-confetti { display: none; } }


/* ==========================================================================
   Press coverage (build/gen-coverage.js): articles, magazines, interviews, radio, outlet logo walls
   ========================================================================== */
/* sticky section bar: sticks under the site header while the coverage sections scroll, then releases at the end of them */
.cv-group { position: relative; }
.cv-jump { position: sticky; top: 64px; z-index: 40; background: rgba(255, 255, 255, 0.92); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); border-bottom: 1px solid rgba(1, 24, 55, 0.1); box-shadow: 0 8px 22px rgba(1, 24, 55, 0.06); }
.cv-jump-in { display: flex; justify-content: center; gap: 0.4rem; padding-block: 0.6rem; overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.cv-jump-in::-webkit-scrollbar { display: none; }
.cv-jump a { flex: none; padding: 0.5rem 1.05rem; border-radius: 999px; border: 1px solid rgba(1, 24, 55, 0.14); background: #fff; color: var(--c-executive-blue); font-size: 0.76rem; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; text-decoration: none; white-space: nowrap; transition: background 0.2s, color 0.2s, border-color 0.2s, transform 0.2s; }
.cv-jump a:hover, .cv-jump a:focus-visible { background: var(--c-soft-gray); border-color: var(--c-executive-blue); }
.cv-jump a[aria-current='true'] { background: var(--c-executive-blue); border-color: var(--c-executive-blue); color: var(--c-action-gold); }
@media (max-width: 720px) {
  .cv-jump-in { justify-content: flex-start; gap: 0.3rem; padding-block: 0.45rem; }
  .cv-jump a { padding: 0.42rem 0.8rem; font-size: 0.7rem; letter-spacing: 0.08em; }
  .cv-sec { scroll-margin-top: 112px; }
}
.cv-sec { position: relative; overflow: hidden; scroll-margin-top: 128px; }
.cv-sec .bk-series-head { margin-bottom: var(--sp-4); }
.cv-note { max-width: 760px; margin: var(--sp-3) auto 0; text-align: center; font-size: 0.82rem; color: var(--text-on-light-muted, #5a6676); }
.cv-kicker { margin: 0 0 0.35rem; font-size: 0.72rem; font-weight: 800; letter-spacing: 0.18em; text-transform: uppercase; color: #b87400; }
.cv-meta { margin: 0.5rem 0 0; font-size: 0.8rem; color: var(--text-on-light-muted, #5a6676); }
.cv-link { display: inline-flex; align-items: center; gap: 0.4rem; margin-top: 0.85rem; align-self: flex-start; font-size: 0.85rem; font-weight: 800; color: var(--c-executive-blue); text-decoration: none; border-bottom: 2px solid var(--c-action-gold); padding-bottom: 1px; transition: gap 0.2s, color 0.2s; }
.cv-link:hover, .cv-link:focus-visible { gap: 0.7rem; color: #b87400; }

/* featured article cards */
.cv-arts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--sp-3); align-items: stretch; }
.cv-arts-4 { margin: var(--sp-4) 0 var(--sp-3); }
.cv-art { position: relative; display: flex; flex-direction: column; border-radius: 22px; overflow: hidden; background: #fff; border: 1px solid rgba(1, 24, 55, 0.08); box-shadow: 0 18px 44px rgba(1, 24, 55, 0.1); transition: transform 0.35s cubic-bezier(.2, .8, .2, 1), box-shadow 0.35s; }
.cv-art::before { content: ''; position: absolute; inset: 0 0 auto 0; height: 4px; background: linear-gradient(90deg, var(--c-action-gold), #ffd36b, var(--c-action-gold)); z-index: 2; }
.cv-art:hover, .cv-art:focus-within { transform: translateY(-6px); box-shadow: 0 30px 64px rgba(1, 24, 55, 0.2); }
.cv-art-img { display: block; overflow: hidden; background: #04132b; }
.cv-art-img img { display: block; width: 100%; height: 100%; object-fit: cover; aspect-ratio: 1 / 1; transition: transform 0.7s cubic-bezier(.2, .8, .2, 1); }
.cv-art:hover .cv-art-img img { transform: scale(1.06); }
.cv-art-body { display: flex; flex: 1; flex-direction: column; padding: var(--sp-3) var(--sp-3) var(--sp-3); }
.cv-art-body h3 { margin: 0; font-size: 1rem; line-height: 1.38; }
.cv-art .cv-meta { margin-top: auto; padding-top: 0.7rem; }
.cv-art-body h3 a { color: var(--c-executive-blue); text-decoration: none; }
.cv-art-body h3 a::after { content: ''; position: absolute; inset: 0; z-index: 1; }
.cv-arts-4 .cv-art-body h3 { font-size: 0.92rem; display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }
.cv-art-img img { aspect-ratio: 1 / 1; }
.cv-arts-4 .cv-link { display: none; }

/* magazine covers */
.cv-mags { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--sp-4); align-items: start; }
.cv-mag { margin: 0; text-align: center; }
.cv-mag img { display: block; width: 100%; height: auto; border-radius: 6px; box-shadow: 0 26px 50px rgba(1, 10, 24, 0.32), 0 3px 8px rgba(1, 10, 24, 0.2); transform: perspective(900px) rotateY(-4deg); transition: transform 0.5s cubic-bezier(.2, .8, .2, 1), box-shadow 0.5s; background: #e8edf3; }
.cv-mag:nth-child(even) img { transform: perspective(900px) rotateY(4deg); }
.cv-mag:hover img { transform: perspective(900px) rotateY(0) translateY(-8px); box-shadow: 0 40px 70px rgba(1, 10, 24, 0.4), 0 4px 10px rgba(1, 10, 24, 0.2); }
.cv-mag figcaption { display: flex; flex-direction: column; align-items: center; gap: 0.2rem; margin-top: var(--sp-3); }
.cv-mag figcaption strong { font-size: 1.02rem; color: var(--c-executive-blue); }
.cv-mag figcaption span { font-size: 0.85rem; color: var(--text-on-light-muted, #5a6676); max-width: 30ch; }
.cv-mag .cv-link { align-self: center; }

/* interview cards */
.cv-vids { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--sp-3); }
.cv-vid { position: relative; display: flex; gap: 1rem; align-items: flex-start; padding: var(--sp-3); border-radius: 18px; background: #fff; border: 1px solid rgba(1, 24, 55, 0.08); box-shadow: 0 10px 28px rgba(1, 24, 55, 0.07); text-decoration: none; color: inherit; transition: transform 0.3s cubic-bezier(.2, .8, .2, 1), box-shadow 0.3s, border-color 0.3s; }
.cv-vid:hover, .cv-vid:focus-visible { transform: translateY(-5px); box-shadow: 0 24px 48px rgba(1, 24, 55, 0.16); border-color: var(--c-action-gold); }
.cv-play { flex: none; display: grid; place-items: center; width: 48px; height: 48px; border-radius: 50%; background: linear-gradient(145deg, #ffc247, var(--c-action-gold)); color: #04132b; box-shadow: 0 8px 18px rgba(248, 163, 9, 0.4); transition: transform 0.3s; }
.cv-play svg { width: 22px; height: 22px; margin-left: 2px; }
.cv-vid:hover .cv-play, .cv-ep:hover .cv-play { transform: scale(1.12); }
.cv-vid-t { display: flex; flex-direction: column; gap: 0.3rem; min-width: 0; }
.cv-vid-t em { font-style: normal; font-size: 0.72rem; font-weight: 800; letter-spacing: 0.14em; text-transform: uppercase; color: #b87400; }
.cv-vid-t strong { font-size: 0.97rem; line-height: 1.4; color: var(--c-executive-blue); }
.cv-vid-t b { margin-top: 0.2rem; font-size: 0.78rem; font-weight: 800; color: var(--text-on-light-muted, #5a6676); }
.cv-vid:hover .cv-vid-t b { color: #b87400; }

/* radio episodes (navy section) */
.cv-radio .bk-h2 { color: #fff; }
.cv-radio .bk-series-head p:not(.eyebrow) { color: rgba(255, 255, 255, 0.85); }
.cv-eps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--sp-2); }
.cv-ep { display: flex; align-items: center; gap: 0.9rem; padding: 0.9rem 1.1rem; border-radius: 16px; background: rgba(255, 255, 255, 0.07); border: 1px solid rgba(255, 255, 255, 0.14); color: #fff; text-decoration: none; transition: background 0.25s, transform 0.25s, border-color 0.25s; }
.cv-ep:hover, .cv-ep:focus-visible { background: rgba(248, 163, 9, 0.16); border-color: var(--c-action-gold); transform: translateY(-3px); }
.cv-play-sm { width: 38px; height: 38px; }
.cv-play-sm svg { width: 17px; height: 17px; }
.cv-ep-t { display: flex; flex-direction: column; min-width: 0; }
.cv-ep-t strong { font-size: 0.95rem; line-height: 1.3; }
.cv-ep-t em { font-style: normal; font-size: 0.8rem; color: rgba(255, 255, 255, 0.72); }
.cv-more { margin-top: var(--sp-2); }
.cv-more[open] > .cv-eps { margin-top: var(--sp-2); animation: cv-in 0.45s ease both; }
.cv-more > summary { list-style: none; display: block; width: max-content; max-width: 100%; margin: var(--sp-3) auto 0; padding: 0.8rem 1.6rem; border-radius: 999px; border: 2px solid var(--c-action-gold); color: var(--c-action-gold); font-weight: 800; font-size: 0.9rem; letter-spacing: 0.04em; cursor: pointer; transition: background 0.2s, color 0.2s; }
.cv-more > summary::-webkit-details-marker { display: none; }
.cv-more > summary:hover, .cv-more > summary:focus-visible { background: var(--c-action-gold); color: #04132b; }
.cv-more .cv-more-close, .cv-more[open] .cv-more-open { display: none; }
.cv-more[open] .cv-more-close { display: inline; }
@keyframes cv-in { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }

/* outlet logo walls */
.cv-wall-h { margin: var(--sp-5) 0 var(--sp-2); text-align: center; font-size: 0.8rem; font-weight: 800; letter-spacing: 0.18em; text-transform: uppercase; color: var(--text-on-light-muted, #5a6676); }
.cv-wall-h:first-of-type { margin-top: 0; }
.cv-logos { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(138px, 1fr)); gap: 0.7rem; }
.cv-logos li { display: grid; place-items: center; height: 76px; padding: 0.55rem 0.8rem; border-radius: 14px; background: #fff; border: 1px solid rgba(1, 24, 55, 0.08); transition: transform 0.25s, box-shadow 0.25s, border-color 0.25s; }
.cv-logos li:hover { transform: translateY(-3px) scale(1.04); box-shadow: 0 14px 30px rgba(1, 24, 55, 0.16); border-color: var(--c-action-gold); }
.cv-logos img { display: block; max-width: 100%; max-height: 52px; width: auto; height: auto; object-fit: contain; filter: grayscale(1) contrast(1.05); opacity: 0.78; transition: filter 0.3s, opacity 0.3s; background: none; }
.cv-logos li:hover img { filter: none; opacity: 1; }

@media (max-width: 1080px) {
  .cv-arts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cv-vids, .cv-eps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 820px) {
  .cv-mags { grid-template-columns: minmax(0, 1fr); max-width: 380px; margin: 0 auto; gap: var(--sp-5); }
  .cv-mag img, .cv-mag:nth-child(even) img { transform: none; }
}
@media (max-width: 600px) {
  .cv-arts, .cv-vids, .cv-eps { grid-template-columns: minmax(0, 1fr); }
  .cv-logos { grid-template-columns: repeat(auto-fill, minmax(92px, 1fr)); gap: 0.5rem; }
  .cv-logos li { height: 66px; }
}
@media (prefers-reduced-motion: reduce) {
  .cv-art, .cv-art-img img, .cv-mag img, .cv-vid, .cv-ep, .cv-logos li, .cv-play, .cv-more[open] > .cv-eps { transition: none; animation: none; }
  .cv-art:hover, .cv-vid:hover, .cv-ep:hover, .cv-logos li:hover, .cv-mag:hover img { transform: none; }
}

.md-angle:last-child:nth-child(odd) { grid-column: 1 / -1; }

/* gated download pop-up (GoHighLevel form) */
.dl-modal { position: fixed; inset: 0; z-index: 2000; display: flex; align-items: center; justify-content: center; padding: 1rem; background: rgba(1, 24, 55, 0.72); backdrop-filter: blur(4px); }
.dl-modal[hidden] { display: none; }
.dl-modal-card { position: relative; width: 100%; max-width: 520px; max-height: 92vh; overflow: auto; padding: 2rem 1.5rem 1.25rem; border-radius: 18px; background: #fff; box-shadow: 0 30px 80px rgba(0, 0, 0, 0.4); }
.dl-modal-card h2 { margin: 0.15rem 0 0.4rem; font-size: clamp(1.4rem, 4vw, 1.8rem); line-height: 1.15; color: var(--c-executive-blue); }
.dl-modal-sub { margin: 0 0 1rem; color: #4a5568; font-size: 0.95rem; }
.dl-modal-form iframe { display: block; width: 100%; min-height: 440px; border: 0; }
.dl-modal-close { position: absolute; top: 0.6rem; right: 0.8rem; width: 2.25rem; height: 2.25rem; border: 0; border-radius: 50%; background: var(--c-soft-gray, #f1f4f8); color: var(--c-executive-blue); font-size: 1.5rem; line-height: 1; cursor: pointer; }
.dl-modal-close:hover, .dl-modal-close:focus-visible { background: var(--c-action-gold); }
html.dl-modal-open { overflow: hidden; }

/* Online Event Planning Questionnaire (build/questionnaire-form.js) */
.qf, .qf-done { background: #fff; color: var(--c-charcoal); border-radius: 18px; padding: var(--sp-3); text-align: left; }
.qf-req { margin: 0 0 var(--sp-2); font-size: 0.9rem; color: var(--text-on-light-muted); }
.qf-sec { border: 0; margin: 0 0 var(--sp-4); padding: 0; min-width: 0; }
.qf-sec > legend { display: flex; align-items: center; gap: 0.75rem; width: 100%; padding: 0 0 0.6rem; margin-bottom: var(--sp-2); border-bottom: 2px solid var(--c-action-gold); font-family: var(--font-display); font-weight: 800; font-size: 1.1rem; color: var(--c-executive-blue); text-transform: uppercase; }
.qf-n { display: inline-grid; place-items: center; min-width: 2rem; height: 2rem; border-radius: 50%; background: var(--c-executive-blue); color: var(--c-action-gold); font-size: 0.85rem; }
.qf-sub { margin: var(--sp-3) 0 0.6rem; font-size: 0.85rem; letter-spacing: 0.04em; color: var(--c-executive-blue); text-transform: uppercase; }
.qf-row { display: grid; gap: 0 var(--sp-2); grid-template-columns: 1fr; }
.qf-row.qf-c2 { grid-template-columns: 1fr 1fr; }
.qf-field { margin: 0 0 var(--sp-2); min-width: 0; }
.qf-field label, .qf-group > legend { display: block; margin-bottom: 0.3rem; font-weight: 600; font-size: 0.92rem; color: var(--c-charcoal); }
.qf-star { color: #c0392b; }
.qf input[type="text"], .qf input[type="email"], .qf input[type="tel"], .qf textarea { width: 100%; box-sizing: border-box; padding: 0.7rem 0.8rem; border: 1px solid #c9d3dd; border-radius: 10px; background: #f7f9fb; font: inherit; color: var(--c-charcoal); }
.qf textarea { resize: vertical; min-height: 4.5rem; }
.qf input:focus, .qf textarea:focus { outline: 3px solid rgba(248, 163, 9, 0.55); outline-offset: 1px; border-color: var(--c-action-gold); background: #fff; }
.qf-group { border: 0; padding: 0; margin: 0 0 var(--sp-2); min-width: 0; }
.qf-group small { display: block; margin-top: 0.3rem; color: var(--text-on-light-muted); font-size: 0.82rem; }
.qf-checks { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 0.4rem 1rem; }
.qf-opts, .qf-opts.qf-indent { display: grid; gap: 0.5rem; } .qf-indent { margin-left: 1.5rem; }
.qf-chk { display: flex; align-items: flex-start; gap: 0.55rem; cursor: pointer; font-size: 0.95rem; line-height: 1.35; }
.qf-chk input { margin-top: 0.2rem; width: 1.1rem; height: 1.1rem; accent-color: var(--c-executive-blue); flex: none; }
.qf-note { margin: 0 0 var(--sp-2); font-size: 0.9rem; color: var(--text-on-light-muted); }
.qf-box { margin: 0 0 var(--sp-2); padding: 0.9rem 1rem; border-radius: 12px; background: #fff7e0; border-left: 4px solid var(--c-action-gold); font-size: 0.9rem; }
.qf-box p { margin: 0.25rem 0 0; }
.qf-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.qf-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.qf-close { text-align: center; font-weight: 600; }
.qf-actions { display: flex; flex-wrap: wrap; gap: var(--sp-2); justify-content: center; }
.qf .btn-outline, .qf-done .btn-outline { color: var(--c-executive-blue); border-color: var(--c-executive-blue); }
.qf .btn-outline:hover, .qf-done .btn-outline:hover { background: var(--c-executive-blue); color: #fff; }
.qf-msg { margin: var(--sp-2) 0 0; text-align: center; color: #b3261e; font-weight: 600; min-height: 1.2em; }
.qf-done { text-align: center; } .qf-done[hidden], .qf[hidden] { display: none; }
.qf-done h3 { margin: 0 0 0.5rem; color: var(--c-executive-blue); }
@media (max-width: 640px) { .qf-row.qf-c2 { grid-template-columns: 1fr; } .qf, .qf-done { padding: var(--sp-2); } }
@media print { .qf-actions, .mp-hero, header, footer { display: none; } }

/* Download sign-up form (name, email, phone). Posts to /api/submit.php; used on /get-download/<item> pages and in the download pop-up. */
.dl-card { background: #fff; color: #1a202c; border-radius: 16px; padding: 1.5rem; margin-top: var(--sp-3); text-align: left; }
.dl-form { display: grid; gap: 0.9rem; }
.dl-row { display: grid; grid-template-columns: 1fr 1fr; gap: 0.9rem; }
.dl-f label { display: block; margin-bottom: 0.3rem; font-weight: 600; font-size: 0.92rem; color: var(--c-executive-blue); }
.dl-f input { width: 100%; padding: 0.75rem 0.85rem; border: 1px solid #b8c2d0; border-radius: 8px; font: inherit; color: #1a202c; background: #fff; }
.dl-f input:focus-visible { outline: 3px solid var(--c-action-gold); outline-offset: 1px; border-color: var(--c-executive-blue); }
.dl-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.dl-send { justify-self: start; }
.dl-send[disabled] { opacity: 0.7; cursor: wait; }
.dl-msg { margin: 0; min-height: 1.2em; color: #b3261e; font-size: 0.92rem; }
.dl-fine { margin: 0; font-size: 0.85rem; color: #4a5568; }
.dl-done { text-align: center; padding: 0.5rem 0; outline: none; }
.dl-done h3 { margin: 0 0 0.5rem; color: var(--c-executive-blue); }
.dl-done p { margin: 0 0 0.6rem; }
@media (max-width: 520px) { .dl-row { grid-template-columns: 1fr; } .dl-send { justify-self: stretch; } }

/* Request Mike form (build/request-form.js) inside the .rq-card. Posts to /api/submit.php, then opens /thank-you/. */
.rf { display: grid; gap: 0.95rem; }
.rf-row { display: grid; grid-template-columns: 1fr 1fr; gap: 0.95rem; }
.rf-f { margin: 0; padding: 0; border: 0; min-width: 0; }
.rf-f label, .rf-f legend { display: block; margin: 0 0 0.3rem; padding: 0; font-weight: 600; font-size: 0.92rem; color: var(--c-executive-blue); }
.rf-star { color: #b3261e; }
.rf-f input, .rf-f select, .rf-f textarea { width: 100%; padding: 0.75rem 0.85rem; border: 1px solid #b8c2d0; border-radius: 8px; font: inherit; color: #1a202c; background: #fff; }
.rf-f textarea { resize: vertical; min-height: 6rem; }
.rf-f input:focus-visible, .rf-f select:focus-visible, .rf-f textarea:focus-visible { outline: 3px solid var(--c-action-gold); outline-offset: 1px; border-color: var(--c-executive-blue); }
.rf-radios { display: flex; flex-wrap: wrap; gap: 0.5rem 1.4rem; }
.rf-radio, .rf-consent { display: flex; align-items: center; gap: 0.5rem; cursor: pointer; font-size: 0.95rem; }
.rf-radio input, .rf-consent input { width: 1.15rem; height: 1.15rem; accent-color: var(--c-executive-blue); flex: none; margin: 0; }
.rf-consent { align-items: flex-start; }
.rf-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.rf-send { justify-self: stretch; }
.rf-send[disabled] { opacity: 0.7; cursor: wait; }
.rf-msg { margin: 0; min-height: 1.2em; color: #b3261e; font-size: 0.92rem; }
@media (max-width: 560px) { .rf-row { grid-template-columns: 1fr; } }

/* Planner tools (private pages /get/<token>): Speaker Introduction Builder, Event Countdown Checklist, Speaker Budget Worksheet. Behavior: js/planner-tools.js */
.pt-banner { padding-block: var(--sp-4) var(--sp-3); }
.pt-section { padding-top: var(--sp-4); }
.pt-card { background: #fff; color: #1a202c; border-radius: 18px; padding: clamp(1rem, 3vw, 2rem); box-shadow: 0 18px 50px rgba(1, 24, 55, 0.14); }
.pt-grid { display: grid; grid-template-columns: minmax(250px, 340px) 1fr; gap: clamp(1.25rem, 3vw, 2.25rem); align-items: start; }
.pt-grid-wide { grid-template-columns: minmax(0, 1.5fr) minmax(260px, 1fr); }
.pt-h { margin: 0 0 0.8rem; font-size: 1.15rem; color: var(--c-executive-blue); }
.pt-h3 { margin: 1.4rem 0 0.4rem; font-size: 0.95rem; text-transform: uppercase; letter-spacing: 0.06em; color: var(--c-executive-blue); }
.pt-meta { font-size: 0.85rem; font-weight: 500; color: #4a5568; }
.pt-f { margin: 0 0 1rem; padding: 0; border: 0; min-width: 0; }
.pt-f label, .pt-f legend { display: block; margin: 0 0 0.3rem; padding: 0; font-weight: 600; font-size: 0.92rem; color: var(--c-executive-blue); }
.pt-opt { font-weight: 400; color: #4a5568; }
.pt-star { color: #b3261e; }
.pt-f input[type="text"], .pt-f input[type="number"], .pt-f input[type="date"], .pt-f select, .pt-res textarea, .pt-line input { width: 100%; padding: 0.7rem 0.8rem; border: 1px solid #b8c2d0; border-radius: 8px; font: inherit; color: #1a202c; background: #fff; }
.pt-f input:focus-visible, .pt-f select:focus-visible, .pt-res textarea:focus-visible, .pt-line input:focus-visible { outline: 3px solid var(--c-action-gold); outline-offset: 1px; border-color: var(--c-executive-blue); }
.pt-radio { display: flex; align-items: flex-start; gap: 0.55rem; margin: 0 0 0.5rem; font-size: 0.95rem; cursor: pointer; }
.pt-radio input { width: 1.1rem; height: 1.1rem; margin: 0.15rem 0 0; accent-color: var(--c-executive-blue); flex: none; }
.pt-res textarea { min-height: 18rem; line-height: 1.55; font-size: 1rem; resize: vertical; }
.pt-actions { display: flex; flex-wrap: wrap; gap: 0.6rem; margin: 1rem 0 0.4rem; }
.pt-note { margin: 0.5rem 0 0; font-size: 0.88rem; color: #4a5568; min-height: 1.2em; }
.pt-tips { margin: 0; padding-left: 1.2rem; font-size: 0.92rem; color: #2d3748; }
.pt-tips li { margin-bottom: 0.3rem; }
.pt-foot { margin: var(--sp-3) 0 0; text-align: center; font-size: 0.92rem; color: #4a5568; }
.pt-bar { height: 8px; border-radius: 99px; background: #e4eaf3; overflow: hidden; margin: 0 0 1rem; }
.pt-bar span { display: block; height: 100%; width: 0; background: var(--c-action-gold); transition: width 0.25s ease; }
.pt-empty { padding: 2rem 1rem; text-align: center; color: #4a5568; background: #f5f8fc; border-radius: 10px; margin: 0; }
.pt-ms { margin: 0 0 1.1rem; padding: 0.8rem 1rem; border: 1px solid #dde4ef; border-radius: 12px; }
.pt-ms h3 { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 0.3rem 1rem; margin: 0 0 0.4rem; font-size: 1rem; color: var(--c-executive-blue); }
.pt-ms h3 time { font-size: 0.88rem; font-weight: 500; color: #4a5568; }
.pt-ms.is-late { border-color: #e9b4ae; background: #fff7f6; }
.pt-ms.is-late h3 time { color: #b3261e; font-weight: 600; }
.pt-ms ul { list-style: none; margin: 0; padding: 0; }
.pt-task { display: flex; gap: 0.6rem; align-items: flex-start; padding: 0.3rem 0; cursor: pointer; font-size: 0.95rem; }
.pt-task input { width: 1.1rem; height: 1.1rem; margin: 0.2rem 0 0; accent-color: var(--c-executive-blue); flex: none; }
.pt-task.is-done span { color: #6b7686; text-decoration: line-through; }
.pt-two { display: grid; grid-template-columns: 1fr 1fr; gap: 0.9rem; }
.pt-line { display: grid; grid-template-columns: minmax(130px, 1.3fr) 1fr 1fr 6.5rem; gap: 0.6rem; align-items: center; padding: 0.55rem 0; border-top: 1px solid #e4eaf3; }
.pt-ll { font-weight: 600; font-size: 0.93rem; color: var(--c-executive-blue); }
.pt-ll small { display: block; font-weight: 400; font-size: 0.78rem; color: #4a5568; }
.pt-line > input:only-of-type { grid-column: 2 / 4; }
.pt-lt { text-align: right; font-weight: 700; font-variant-numeric: tabular-nums; }
.pt-pct { font-size: 0.85rem; color: #4a5568; }
.pt-sum { position: sticky; top: 90px; background: #f5f8fc; border-radius: 14px; padding: 1.2rem; }
.pt-totals { margin: 0; }
.pt-totals > div { display: flex; justify-content: space-between; gap: 1rem; padding: 0.5rem 0; border-bottom: 1px solid #dde4ef; }
.pt-totals dt { color: #4a5568; }
.pt-totals dd { margin: 0; font-weight: 700; font-variant-numeric: tabular-nums; }
.pt-grand { background: #fff4d6; margin: 0.3rem -0.6rem; padding: 0.7rem 0.6rem !important; border-radius: 8px; border-bottom: 0 !important; }
.pt-grand dt, .pt-grand dd { color: var(--c-midnight-navy); font-size: 1.15rem; }
.pt-verdict { margin: 0.8rem 0 0; font-weight: 600; min-height: 1.2em; }
.pt-verdict.ok { color: #1e6b3a; }
.pt-verdict.over { color: #b3261e; }
@media (max-width: 860px) {
  .pt-grid, .pt-grid-wide { grid-template-columns: 1fr; }
  .pt-sum { position: static; }
  .pt-line { grid-template-columns: 1fr 1fr 5.5rem; }
  .pt-ll { grid-column: 1 / -1; }
  .pt-line > input:only-of-type { grid-column: 1 / 3; }
}
@media print { .pt-actions, .pt-note { display: none; } }

/* Legal pages (privacy policy, terms of use) */
.legal-hero { padding-block: var(--sp-5) var(--sp-4); }
.legal { max-width: 800px; margin-inline: auto; color: #1a202c; line-height: 1.7; font-size: 1.02rem; }
.legal h2 { margin: 2.2rem 0 0.6rem; font-size: 1.45rem; color: var(--c-executive-blue); scroll-margin-top: 100px; }
.legal h3 { margin: 1.3rem 0 0.3rem; font-size: 1.08rem; color: var(--c-midnight-navy); }
.legal p, .legal ul, .legal ol { margin: 0 0 1rem; }
.legal ul, .legal ol { padding-left: 1.3rem; }
.legal li { margin-bottom: 0.45rem; }
.legal a { color: var(--c-executive-blue); text-decoration: underline; text-underline-offset: 2px; }
.legal-toc { margin: 0 0 2rem; padding: 1.1rem 1.4rem; background: #f5f8fc; border-radius: 12px; font-size: 0.95rem; }
.legal-toc p { margin: 0 0 0.4rem; }
.legal-toc ol { margin: 0; columns: 2; column-gap: 2rem; }
.legal-toc li { margin-bottom: 0.25rem; break-inside: avoid; }
.legal-table-wrap { overflow-x: auto; margin: 0 0 1.2rem; }
.legal-table { width: 100%; border-collapse: collapse; font-size: 0.95rem; }
.legal-table th, .legal-table td { padding: 0.65rem 0.8rem; border: 1px solid #dde4ef; text-align: left; vertical-align: top; }
.legal-table th { background: #eef3fa; color: var(--c-executive-blue); }
@media (max-width: 640px) { .legal-toc ol { columns: 1; } }

/* Consent checkboxes (GDPR): unticked by default, required, linked to the privacy policy */
.dl-consent, .qf-consent { display: flex; align-items: flex-start; gap: 0.6rem; font-size: 0.88rem; line-height: 1.45; color: #2d3748; cursor: pointer; }
.dl-consent input, .qf-consent input { width: 1.15rem; height: 1.15rem; margin: 0.15rem 0 0; accent-color: var(--c-executive-blue); flex: none; }
.dl-consent a, .qf-consent a, .rf-consent a { color: var(--c-executive-blue); text-decoration: underline; }
.qf-consent { margin: 1.2rem 0 0.2rem; }

/* Keynote speaker by city (/keynote-speaker and /keynote-speaker/<city>), generated by build/metros.js */
.loc-hero { padding-block: var(--sp-5) var(--sp-4); }
.loc-hero .container { max-width: 980px; }
.loc-hero h1 { margin: 0.3rem 0 0.2rem; max-width: 22ch; }
.loc-hero h1 span { color: var(--c-action-gold); }
.loc-hero .kp-sub { max-width: 60ch; }
.loc-hero .kp-body { max-width: 68ch; margin-top: 0.8rem; }
.loc-facts { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; list-style: none; margin: var(--sp-4) 0 0; padding: 1.2rem 0 0; border-top: 1px solid rgba(255, 255, 255, 0.18); }
.loc-facts li { display: flex; flex-direction: column; gap: 0.15rem; }
.loc-facts strong { font-size: clamp(1.3rem, 3vw, 1.9rem); color: var(--c-action-gold); line-height: 1.1; }
.loc-facts span { font-size: 0.86rem; opacity: 0.85; }
.loc-cols { display: grid; grid-template-columns: 1.6fr 1fr; gap: clamp(1.5rem, 4vw, 3rem); align-items: start; }
.loc-cols p { max-width: 62ch; }
.loc-list { margin: 0.6rem 0 0; padding-left: 1.2rem; }
.loc-list li { margin-bottom: 0.4rem; }
.loc-note { background: #fff; border: 1px solid #dde4ef; border-left: 4px solid var(--c-action-gold); border-radius: 12px; padding: 1.3rem 1.4rem; }
.loc-note h3 { margin: 0 0 0.6rem; font-size: 1.1rem; color: var(--c-executive-blue); }
.loc-note p { margin: 0 0 0.7rem; font-size: 0.97rem; }
.loc-note p:last-child { margin-bottom: 0; }
.loc-cards { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.4rem; }
.loc-card { background: #f5f8fc; border-radius: 14px; padding: 1.5rem; }
.loc-card h3 { margin: 0 0 0.5rem; font-size: 1.2rem; }
.loc-card h3 a { color: var(--c-executive-blue); text-decoration: none; }
.loc-card h3 a:hover { text-decoration: underline; }
.loc-why { font-size: 0.95rem; color: #2d3748; }
.loc-steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.4rem; }
.loc-steps li { display: flex; gap: 0.9rem; align-items: flex-start; }
.loc-steps h3 { margin: 0 0 0.3rem; font-size: 1.05rem; color: var(--c-executive-blue); }
.loc-steps p { margin: 0; font-size: 0.95rem; }
.loc-n { flex: none; display: grid; place-items: center; width: 2.4rem; height: 2.4rem; border-radius: 50%; background: var(--c-action-gold); color: var(--c-midnight-navy); font-weight: 800; }
.loc-chips { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 0.7rem; }
.loc-chips a { display: inline-block; padding: 0.6rem 1rem; border-radius: 99px; background: #fff; border: 1px solid #cfd8e6; color: var(--c-executive-blue); text-decoration: none; font-weight: 600; }
.loc-chips a:hover { border-color: var(--c-action-gold); background: #fff8e1; }
.loc-region { margin: 2rem 0 0.7rem; font-size: 1.05rem; text-transform: uppercase; letter-spacing: 0.06em; color: var(--c-executive-blue); }
.loc-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 0.8rem; }
.loc-grid a { display: block; padding: 0.9rem 1rem; background: #fff; border: 1px solid #dde4ef; border-radius: 10px; text-decoration: none; color: #1a202c; }
.loc-grid a:hover { border-color: var(--c-action-gold); box-shadow: 0 6px 18px rgba(1, 24, 55, 0.1); }
.loc-grid strong { display: block; color: var(--c-executive-blue); }
.loc-grid span { font-size: 0.85rem; color: #4a5568; }
.loc-cardlist { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 1rem; }
.loc-cardlist a { display: block; height: 100%; padding: 1.1rem 1.2rem; background: #f5f8fc; border-radius: 12px; text-decoration: none; color: #1a202c; }
.loc-cardlist a:hover { background: #fff8e1; }
.loc-cardlist strong { display: block; margin-bottom: 0.3rem; color: var(--c-executive-blue); }
.loc-cardlist span { font-size: 0.92rem; }
@media (max-width: 860px) {
  .loc-cols, .loc-cards, .loc-steps { grid-template-columns: 1fr; }
  .loc-facts { grid-template-columns: repeat(2, 1fr); }
}

.loc-cols p { margin: 0 0 1rem; }
.loc-quotes { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 1.2rem; }
.loc-quote { margin: 0; padding: 1.4rem 1.5rem; background: #fff; border: 1px solid #dde4ef; border-left: 4px solid var(--c-action-gold); border-radius: 12px; display: flex; flex-direction: column; justify-content: space-between; gap: 1rem; }
.loc-quote blockquote { margin: 0; font-size: 1.05rem; line-height: 1.55; color: #1a202c; }
.loc-quote blockquote::before { content: '\201C'; }
.loc-quote blockquote::after { content: '\201D'; }
.loc-quote figcaption { font-size: 0.9rem; color: #4a5568; }
.loc-quote figcaption strong { display: block; color: var(--c-executive-blue); }

/* ---------------------------------------------------------------------------
   Wide screens: use more of the window and let the hero photos show edge to edge.
   (Before this, the content stayed in a 1200px column and the hero fade was 97% dark on the left,
   which left a big empty navy band down the side on screens wider than about 1500px.)
   --------------------------------------------------------------------------- */
@media (min-width: 1500px) { :root { --container-max: 1440px; } }
@media (min-width: 1900px) { :root { --container-max: 1600px; } }

/* Lighter fade over every hero photo on desktop: the text keeps a soft dark backing, the photo shows across the whole width. */
@media (min-width: 901px) {
  .co-hero[class] .co-hero-bg::after {
    background:
      linear-gradient(95deg, rgba(2, 12, 31, 0.84) 0%, rgba(2, 12, 31, 0.7) 30%, rgba(2, 12, 31, 0.34) 62%, rgba(2, 12, 31, 0.06) 100%),
      linear-gradient(180deg, transparent 72%, #020c1f 100%);
  }
  .co-hero[class] .co-hero-bg img { opacity: 0.95; }
  .kp-hero-sp[class] .kp-hero-bg::after {
    background:
      linear-gradient(95deg, rgba(0, 10, 24, 0.84) 0%, rgba(0, 10, 24, 0.7) 30%, rgba(0, 10, 24, 0.3) 62%, rgba(0, 10, 24, 0.05) 100%),
      linear-gradient(180deg, rgba(0, 10, 24, 0) 70%, var(--c-midnight-navy) 100%);
  }
}

/* Contact page: contact details beside the plain message form */
.ct-list { list-style: none; margin: var(--sp-3) 0 0; padding: 0; display: grid; gap: 1rem; }
.ct-list li { display: flex; align-items: center; gap: 0.9rem; color: rgba(255, 255, 255, 0.92); }
.ct-ico { flex: 0 0 46px; height: 46px; border-radius: 50%; display: grid; place-items: center; background: rgba(248, 163, 9, 0.16); color: #f8a309; box-shadow: inset 0 0 0 1px rgba(248, 163, 9, 0.35); }
.ct-ico svg { width: 22px; height: 22px; }
.ct-label { display: block; font-size: 0.72rem; letter-spacing: 0.12em; text-transform: uppercase; color: rgba(255, 255, 255, 0.6); }
.ct-list a { color: #fff; font-weight: 700; font-size: 1.15rem; text-decoration: none; }
.ct-list a:hover { color: #f8a309; }
.ct-book { margin-top: var(--sp-4); padding: var(--sp-3); border-radius: 16px; background: rgba(255, 255, 255, 0.06); border: 1px solid rgba(255, 255, 255, 0.16); color: rgba(255, 255, 255, 0.92); }
.ct-book p { margin: 0 0 0.8rem; }
.ct-done { padding: var(--sp-3) var(--sp-1); text-align: center; }
.ct-done h3 { margin: 0 0 0.5rem; color: var(--c-executive-blue); }
.ct-done a { color: var(--c-executive-blue); font-weight: 700; }

/* Private "Your Planner Resources" page (one confirmed email unlocks every tool and download) */
.dl-hub { max-width: 880px; }
.dl-hub-h { margin: var(--sp-4) 0 var(--sp-2); font-size: 1.35rem; color: var(--c-executive-blue); }
.dl-hub-h:first-child { margin-top: 0; }
.dl-hub-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.75rem; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); }
.dl-hub-card { display: flex; flex-direction: column; gap: 0.3rem; height: 100%; padding: 1rem 1.1rem; border-radius: 14px; background: #fff; border: 1px solid rgba(1, 24, 55, 0.12); color: var(--c-charcoal); text-decoration: none; box-shadow: 0 6px 18px rgba(1, 24, 55, 0.06); transition: transform 0.15s, box-shadow 0.15s, border-color 0.15s; }
.dl-hub-card:hover, .dl-hub-card:focus-visible { transform: translateY(-2px); border-color: #f8a309; box-shadow: 0 10px 24px rgba(1, 24, 55, 0.12); }
.dl-hub-card b { color: var(--c-executive-blue); font-size: 1.02rem; }
.dl-hub-card span { font-size: 0.9rem; color: var(--text-on-light-muted); flex: 1; }
.dl-hub-card em { font-style: normal; font-size: 0.75rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: #b87300; }

/* Cookie banner, settings dialog and click-to-load placeholders (js/consent.js) */
.cc-banner { position: fixed; left: 0; right: 0; bottom: 0; z-index: 2147483000; background: #020c1f; color: #fff; border-top: 3px solid #f8a309; box-shadow: 0 -12px 40px rgba(0, 0, 0, 0.45); padding: 1rem 0; }
.cc-banner-in { max-width: 1180px; margin: 0 auto; padding: 0 1rem; display: flex; gap: 1.25rem; align-items: center; justify-content: space-between; flex-wrap: wrap; }
.cc-text { flex: 1 1 420px; min-width: 0; }
.cc-text h2 { margin: 0 0 0.25rem; font-size: 1.05rem; color: #fff; }
.cc-text p { margin: 0; font-size: 0.92rem; line-height: 1.5; color: rgba(255, 255, 255, 0.88); }
.cc-text a { color: #ffd36b; text-decoration: underline; }
.cc-actions { display: flex; gap: 0.6rem; flex-wrap: wrap; align-items: center; }
.cc-actions-end { justify-content: flex-end; margin-top: 1.25rem; }
.cc-btn { font: inherit; font-weight: 700; font-size: 0.92rem; cursor: pointer; border-radius: 999px; padding: 0.7rem 1.3rem; min-height: 44px; border: 2px solid #f8a309; }
.cc-btn-main { background: #f8a309; color: #011837; }
.cc-btn-main:hover { background: #ffb82e; }
.cc-btn-link { background: transparent; color: #fff; border-color: rgba(255, 255, 255, 0.5); }
.cc-btn-link:hover { border-color: #fff; }
.cc-btn:focus-visible, .cc-x:focus-visible { outline: 3px solid #fff; outline-offset: 2px; }
.cc-overlay { position: fixed; inset: 0; z-index: 2147483001; background: rgba(1, 12, 31, 0.72); display: grid; place-items: center; padding: 1rem; overflow-y: auto; }
.cc-dialog { position: relative; width: min(640px, 100%); max-height: calc(100vh - 2rem); overflow-y: auto; background: #fff; color: var(--c-charcoal, #1a202c); border-radius: 20px; padding: 1.6rem 1.6rem 1.4rem; box-shadow: 0 30px 80px rgba(0, 0, 0, 0.5); }
.cc-dialog h2 { margin: 0 2rem 0.4rem 0; font-size: 1.4rem; color: var(--c-executive-blue, #011837); }
.cc-dialog h3 { margin: 0 0 0.2rem; font-size: 1rem; color: var(--c-executive-blue, #011837); }
.cc-dialog p { margin: 0; font-size: 0.9rem; line-height: 1.5; color: #4a5568; }
.cc-intro { margin-bottom: 1rem !important; }
.cc-x { position: absolute; top: 0.6rem; right: 0.8rem; width: 40px; height: 40px; border: 0; background: transparent; font-size: 1.8rem; line-height: 1; cursor: pointer; color: #011837; border-radius: 50%; }
.cc-row { display: flex; gap: 1rem; align-items: flex-start; justify-content: space-between; padding: 0.9rem 0; border-top: 1px solid rgba(1, 24, 55, 0.12); }
.cc-always { flex: none; font-size: 0.75rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: #6b7686; white-space: nowrap; padding-top: 0.2rem; }
.cc-switch { position: relative; flex: none; display: inline-block; width: 52px; height: 30px; }
.cc-switch input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; z-index: 1; }
.cc-slider { position: absolute; inset: 0; border-radius: 999px; background: #a0aec0; transition: background 0.15s; }
.cc-slider::after { content: ''; position: absolute; top: 3px; left: 3px; width: 24px; height: 24px; border-radius: 50%; background: #fff; transition: transform 0.15s; }
.cc-switch input:checked + .cc-slider { background: #0a7d3b; }
.cc-switch input:checked + .cc-slider::after { transform: translateX(22px); }
.cc-switch input:focus-visible + .cc-slider { outline: 3px solid #011837; outline-offset: 2px; }
.cc-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
html.cc-open { overflow: hidden; }
.consent-ph { padding: 1.4rem; border-radius: 16px; background: rgba(1, 24, 55, 0.06); border: 1px dashed rgba(1, 24, 55, 0.35); text-align: center; color: var(--c-charcoal, #1a202c); }
.consent-ph p { margin: 0 0 0.9rem; }
.consent-ph .consent-ph-alt { margin: 0.9rem 0 0; font-size: 0.9rem; }
.consent-ph a:not(.btn) { color: var(--c-executive-blue, #011837); font-weight: 700; }
.consent-ph-video { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; background: #020c1f; border: 0; color: #fff; border-radius: 12px; }
.consent-ph-video[hidden] { display: none; }
.consent-ph-video .btn { margin: 0.25rem; }
@media (max-width: 640px) { .cc-actions .cc-btn { flex: 1 1 100%; } .cc-banner { max-height: 80vh; overflow-y: auto; } }
