/*
 * landing-page.css
 *
 * Zaira-branded landing page design system.
 * Adapted from Apex Strategy HTML strawman.
 *
 * Colour mapping  Apex Strategy → Zaira
 * ─────────────────────────────────────────
 * Deep navy bg    #0f2d48  → var(--tg-black,  #0D1B2A)
 * Teal accent     #1a6b7d  → var(--tg-primary-color, #C09A52)  [gold]
 * Body text       #1a1916  → var(--tg-body-font-color, #3D4A56)
 * Muted text      #6b6860  → var(--tg-icon-color,      #6B788A)
 * Border          –        → var(--tg-border-color,    #E2DDD7)
 * Surface         #f5f4f0  → #ffffff / var(--tg-white)
 *
 * All rules scoped to .landing-page to avoid collisions with the global theme.
 */

/* ─── Design tokens ─────────────────────────────────────────────────────── */
.landing-page {
  --lp-navy: var(--tg-black, #0d1b2a);
  --lp-navy-2: #162843;
  --lp-gold: var(--tg-primary-color, #c09a52);
  --lp-gold-bg: rgba(192, 154, 82, 0.1);
  --lp-gold-border: rgba(192, 154, 82, 0.25);
  --lp-text: var(--tg-body-font-color, #3d4a56);
  --lp-heading: var(--tg-heading-font-color, #0d1b2a);
  --lp-muted: var(--tg-icon-color, #6b788a);
  --lp-border: var(--tg-border-color, #e2ddd7);
  --lp-white: var(--tg-white, #ffffff);
  --lp-surface: #f8f7f4;
  --lp-font: var(--tg-heading-font-family, "Inter", sans-serif);
  --lp-radius: 14px;
  --lp-radius-sm: 8px;
  --lp-ease: cubic-bezier(0.16, 1, 0.3, 1);
  --lp-transition: 0.22s var(--lp-ease);
  --lp-shadow-sm: 0 2px 8px rgba(13, 27, 42, 0.06);
  --lp-shadow-md: 0 6px 24px rgba(13, 27, 42, 0.1);
  --lp-shadow-lg: 0 16px 48px rgba(13, 27, 42, 0.14);
}

/* Dark mode overrides */
[data-bs-theme="dark"] .landing-page {
  --lp-navy: #060f1c;
  --lp-navy-2: #0d1e35;
  --lp-text: #c8d0da;
  --lp-heading: #e4eaf0;
  --lp-muted: #6b7a8a;
  --lp-border: rgba(255, 255, 255, 0.1);
  --lp-white: #0f1e35;
  --lp-surface: #111e2d;
  --lp-shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.25);
  --lp-shadow-md: 0 6px 24px rgba(0, 0, 0, 0.4);
  --lp-shadow-lg: 0 16px 48px rgba(0, 0, 0, 0.55);
}

/* ─── Base reset for sections ───────────────────────────────────────────── */
.landing-page * {
  box-sizing: border-box;
}
.landing-page {
  line-height: 1.6;
  font-family: var(--lp-font);
}

/* ─── Shared section spacing ────────────────────────────────────────────── */
.lp-section {
  padding-block: clamp(4rem, 8vw, 7rem);
}

/* ─── Shared content container ──────────────────────────────────────────── */
.lp-container {
  max-width: 1100px;
  margin-inline: auto;
  padding-inline: clamp(1.25rem, 4vw, 2rem);
}
.lp-container--wide {
  max-width: 1280px;
  margin-inline: auto;
  padding-inline: clamp(1.25rem, 4vw, 2rem);
}

/* ─── Shared typography ──────────────────────────────────────────────────── */
.lp-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--lp-gold);
  padding: 0.35rem 0.875rem;
  border-radius: 999px;
  background: var(--lp-gold-bg);
  border: 1px solid var(--lp-gold-border);
  margin-bottom: 1.25rem;
}
.lp-eyebrow__dot {
  width: 6px;
  height: 6px;
  background: var(--lp-gold);
  border-radius: 50%;
  flex-shrink: 0;
}
.lp-eyebrow--inverse {
  color: rgba(255, 255, 255, 0.6);
  background: rgba(255, 255, 255, 0.1);
  border-color: rgba(255, 255, 255, 0.2);
}

.lp-section-heading {
  font-family: var(--lp-font);
  font-size: clamp(1.75rem, 2.8vw + 0.8rem, 3.25rem);
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1.1;
  color: var(--lp-heading);
  margin-bottom: 1rem;
}
.lp-section-heading em {
  font-style: italic;
  color: var(--lp-gold);
}
.lp-section-heading--inverse {
  color: #ffffff;
}

.lp-section-lead {
  font-size: clamp(1rem, 0.9rem + 0.5vw, 1.25rem);
  color: var(--lp-muted);
  line-height: 1.65;
}
.lp-section-lead--inverse {
  color: rgba(255, 255, 255, 0.65);
}

/* ─── Shared button ──────────────────────────────────────────────────────── */
.lp-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-family: var(--lp-font);
  font-size: 0.9rem;
  font-weight: 600;
  line-height: 1;
  padding: 0.875rem 1.75rem;
  border-radius: var(--lp-radius-sm);
  white-space: nowrap;
  text-decoration: none;
  cursor: pointer;
  border: none;
  transition:
    background var(--lp-transition),
    color var(--lp-transition),
    box-shadow var(--lp-transition),
    transform var(--lp-transition);
}
.lp-btn:hover {
  transform: translateY(-1px);
}

.lp-btn--primary {
  background: var(--lp-gold);
  color: var(--lp-navy);
  box-shadow: 0 2px 12px rgba(192, 154, 82, 0.3);
}
.lp-btn--primary:hover {
  background: color-mix(in srgb, var(--lp-gold) 82%, #000 18%);
  color: var(--lp-navy);
  box-shadow: 0 4px 18px rgba(192, 154, 82, 0.42);
}

.lp-btn--ghost {
  background: transparent;
  color: var(--lp-muted);
  border: 1px solid var(--lp-border);
}
.lp-btn--ghost:hover {
  color: var(--lp-heading);
  border-color: rgba(13, 27, 42, 0.28);
}

.lp-btn--inverse {
  background: #ffffff;
  color: var(--lp-navy);
}
.lp-btn--inverse:hover {
  background: rgba(255, 255, 255, 0.9);
}

.lp-btn--outline-inverse {
  background: transparent;
  color: #ffffff;
  border: 1px solid rgba(255, 255, 255, 0.3);
}
.lp-btn--outline-inverse:hover {
  border-color: rgba(255, 255, 255, 0.6);
  background: rgba(255, 255, 255, 0.08);
}

.lp-btn--lg {
  padding: 1.125rem 2.25rem;
  font-size: 1rem;
  border-radius: var(--lp-radius);
}

.lp-arrow-link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--lp-gold);
  text-decoration: none;
  transition:
    gap var(--lp-transition),
    color var(--lp-transition);
}
.lp-arrow-link:hover {
  gap: 0.75rem;
  color: color-mix(in srgb, var(--lp-gold) 80%, #000 20%);
}

/* ─── Scroll-reveal ─────────────────────────────────────────────────────── */
.lp-reveal {
  opacity: 0;
  transform: translateY(20px);
  transition:
    opacity 0.55s var(--lp-ease),
    transform 0.55s var(--lp-ease);
}
.lp-reveal.is-visible {
  opacity: 1;
  transform: none;
}
.lp-reveal--d1 {
  transition-delay: 0.08s;
}
.lp-reveal--d2 {
  transition-delay: 0.16s;
}
.lp-reveal--d3 {
  transition-delay: 0.24s;
}
.lp-reveal--d4 {
  transition-delay: 0.32s;
}

/* ═══════════════════════════════════════════════════════════════════════════
   1. HERO  (shared shell — every landing page uses .lp-hero)
   ═══════════════════════════════════════════════════════════════════════════
 * One consistent component, one navy-gradient skin everywhere:
 *   .lp-hero--dark   commanding navy-gradient background (every landing page,
 *                    including the homepage's grid + metrics visual)
 *   .lp-hero--cover  full-bleed "commanding entry" sizing, layered on top
 * ─────────────────────────────────────────────────────────────────────────── */
.lp-hero {
  position: relative;
  overflow: hidden;
}
.lp-hero__inner {
  position: relative;
  z-index: 1;
}

.lp-hero__breadcrumb {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.75rem;
  margin-bottom: 1.5rem;
  color: rgba(255, 255, 255, 0.4);
}
.lp-hero__breadcrumb a {
  color: rgba(255, 255, 255, 0.7);
  text-decoration: none;
  transition: color var(--lp-transition);
}
.lp-hero__breadcrumb a:hover {
  color: #ffffff;
}
.lp-hero__breadcrumb-sep {
  color: rgba(255, 255, 255, 0.3);
}

.lp-hero__eyebrow {
  margin-bottom: 1.5rem;
}
.lp-hero__eyebrow-pill {
  display: inline-block;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 0.35rem 1rem;
  border: 1px solid rgba(192, 154, 82, 0.5);
  border-radius: 999px;
  color: var(--lp-gold);
}

.lp-hero__title {
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1.08;
  margin-bottom: 1.25rem;
}
.lp-hero__title em,
.lp-hero__title-gold {
  font-style: italic;
  color: var(--lp-gold);
  font-size: smaller;
}

.lp-hero__lead {
  line-height: 1.7;
  margin-bottom: 2.25rem;
}
.lp-hero__ctas {
  display: flex;
  gap: 0.875rem;
  flex-wrap: wrap;
  align-items: center;
}

.lp-hero__scroll-cue {
  position: absolute;
  bottom: 1.5rem;
  left: 50%;
  transform: translateX(-50%);
  color: rgba(255, 255, 255, 0.4);
  animation: lp-hero-bounce 0.8s ease-in-out infinite alternate;
}
@keyframes lp-hero-bounce {
  from {
    transform: translateX(-50%) translateY(0);
  }
  to {
    transform: translateX(-50%) translateY(8px);
  }
}

/* ── Dark skin: navy-gradient hero (about · contact · services · trainings ·
      magazine · publisher · case studies · RfP) ─────────────────────────── */
.lp-hero--dark {
  background: linear-gradient(135deg, #0d1b2a 0%, #1a3a5c 60%, #0d1b2a 100%);
  padding-block: clamp(4.5rem, 9vw, 7rem);
}
.lp-hero--dark::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, #c09a52 0%, #e8c97a 50%, #c09a52 100%);
}
.lp-hero--dark .lp-hero__inner:not(.lp-container--wide) {
  max-width: 820px;
}
.lp-hero--dark .lp-hero__title {
  font-size: clamp(2.5rem, 6vw + 0.5rem, 5rem);
  font-weight: 500;
  color: #ffffff;
}
.lp-hero--dark .lp-hero__lead {
  font-size: clamp(1rem, 1.5vw + 0.3rem, 1.2rem);
  color: rgba(255, 255, 255, 0.7);
  max-width: 64ch;
}

/* Full-bleed cover treatment for pages that want a commanding entry (RfP) */
.lp-hero--cover {
  min-height: 90vh;
  display: flex;
  align-items: center;
  padding: 6rem 0 4rem;
}
@media (max-width: 640px) {
  .lp-hero--cover {
    min-height: auto;
    padding: 5rem 0 3.5rem;
  }
}

.lp-hero__grid {
  display: grid;
  grid-template-columns: 1.35fr 1fr;
  gap: clamp(2rem, 5vw, 4.5rem);
  align-items: center;
}

.lp-hero__trust {
  padding-top: 1.75rem;
  display: flex;
  align-items: center;
  gap: 1.5rem;
  flex-wrap: wrap;
}
.lp-hero__trust-label {
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.55);
}
.lp-trust-logos {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  flex-wrap: wrap;
  margin: 0;
  padding: 0;
}
.lp-trust-logo {
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.45);
}
.lp-trust-logo:first-child {
  list-style: none;
}

/* Stat cards */
.lp-stat-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.875rem;
}
.lp-stat-card {
  background: var(--lp-white);
  border: 1px solid var(--lp-border);
  border-radius: var(--lp-radius);
  padding: 1.5rem;
  box-shadow: var(--lp-shadow-sm);
  transition:
    box-shadow var(--lp-transition),
    border-color var(--lp-transition);
}
.lp-stat-card:hover {
  box-shadow: var(--lp-shadow-md);
}

.lp-stat-card--featured {
  grid-column: span 2;
  background: var(--lp-navy);
  border-color: transparent;
  position: relative;
  overflow: hidden;
}
/* Sits on the navy-gradient hero — needs its own edge to read as a card */
.lp-hero--dark .lp-stat-card--featured {
  border: 1px solid rgba(255, 255, 255, 0.12);
}
.lp-stat-card--featured::before {
  content: "";
  position: absolute;
  top: -60px;
  right: -40px;
  width: 200px;
  height: 200px;
  border-radius: 50%;
  background: radial-gradient(
    circle,
    rgba(192, 154, 82, 0.18) 0%,
    transparent 70%
  );
  pointer-events: none;
}

.lp-stat-num {
  font-family: var(--lp-font);
  font-size: clamp(1.75rem, 3vw, 2.5rem);
  font-weight: 700;
  letter-spacing: -0.03em;
  color: var(--lp-heading);
  line-height: 1;
  margin-bottom: 0.25rem;
}
.lp-stat-card--featured .lp-stat-num {
  color: #ffffff;
}

.lp-stat-label {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--lp-muted);
  margin-bottom: 0.25rem;
}
.lp-stat-card--featured .lp-stat-label {
  color: rgba(255, 255, 255, 0.65);
}

.lp-stat-desc {
  font-size: 0.775rem;
  color: var(--lp-muted);
  line-height: 1.55;
  opacity: 0.8;
}
.lp-stat-card--featured .lp-stat-desc {
  color: rgba(255, 255, 255, 0.5);
}

.lp-stat-delta {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.75rem;
  font-weight: 600;
  color: #28b45a;
  background: rgba(40, 180, 90, 0.14);
  border-radius: 999px;
  padding: 3px 10px;
  margin-top: 0.625rem;
}

/* ═══════════════════════════════════════════════════════════════════════════
   2. CHALLENGE (dark navy)
   ═══════════════════════════════════════════════════════════════════════════ */
.lp-challenge {
  background: var(--lp-navy);
  padding-block: clamp(4rem, 8vw, 7rem);
  position: relative;
  overflow: hidden;
}
.lp-challenge::before {
  content: "";
  position: absolute;
  bottom: -100px;
  left: -100px;
  width: 400px;
  height: 400px;
  border-radius: 50%;
  background: radial-gradient(
    circle,
    rgba(192, 154, 82, 0.08) 0%,
    transparent 65%
  );
  pointer-events: none;
}

.lp-challenge__header {
  margin-bottom: 3.5rem;
}

.lp-challenge-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(1.5rem, 3vw, 2.5rem);
}
.lp-challenge-item {
  padding-left: 1.5rem;
  border-left: 2px solid rgba(192, 154, 82, 0.35);
}
.lp-challenge-item h3 {
  font-family: var(--lp-font);
  font-size: clamp(1rem, 1.2vw + 0.4rem, 1.25rem);
  font-weight: 700;
  color: #ffffff;
  margin-bottom: 0.625rem;
  line-height: 1.3;
}
.lp-challenge-item p {
  font-size: 0.9375rem;
  color: rgba(255, 255, 255, 0.6);
  line-height: 1.7;
}

/* ═══════════════════════════════════════════════════════════════════════════
   3. APPROACH (steps)
   ═══════════════════════════════════════════════════════════════════════════ */
.lp-approach {
  background: var(--lp-white);
}

.lp-steps-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0.75rem;
  margin-top: 3.5rem;
}
.lp-step-card {
  background: var(--lp-surface);
  border: 1px solid var(--lp-border);
  border-radius: var(--lp-radius);
  padding: 1.75rem;
  position: relative;
  overflow: hidden;
  transition:
    box-shadow var(--lp-transition),
    border-color var(--lp-transition);
}
.lp-step-card:hover {
  box-shadow: var(--lp-shadow-md);
  border-color: rgba(192, 154, 82, 0.3);
}
[data-bs-theme="dark"] .lp-step-card {
  background: var(--lp-surface);
  border-color: rgba(255, 255, 255, 0.08);
}

.lp-step-num {
  font-family: var(--lp-font);
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 700;
  color: rgba(192, 154, 82, 0.75);
  line-height: 1;
  position: absolute;
  top: 1rem;
  right: 1.25rem;
  pointer-events: none;
  user-select: none;
}

.lp-step-icon {
  width: 40px;
  height: 40px;
  border-radius: var(--lp-radius-sm);
  background: var(--lp-gold-bg);
  border: 1px solid var(--lp-gold-border);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--lp-gold);
  margin-bottom: 1.25rem;
  flex-shrink: 0;
}

.lp-step-card h3 {
  font-family: var(--lp-font);
  font-size: 1rem;
  font-weight: 700;
  color: var(--lp-heading);
  margin-bottom: 0.625rem;
  line-height: 1.3;
}
[data-bs-theme="dark"] .lp-step-card h3 {
  color: #e4eaf0;
}

.lp-step-card p {
  font-size: 0.875rem;
  color: var(--lp-muted);
  line-height: 1.65;
}

/* ═══════════════════════════════════════════════════════════════════════════
   4. SERVICES (bento grid)
   ═══════════════════════════════════════════════════════════════════════════ */
.lp-services {
  background: var(--lp-surface);
  border-top: 1px solid var(--lp-border);
  border-bottom: 1px solid var(--lp-border);
}
[data-bs-theme="dark"] .lp-services {
  background: #0d1a2a;
  border-color: rgba(255, 255, 255, 0.06);
}

.lp-services__header {
  margin-bottom: 3.5rem;
}

.lp-bento-grid {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 0.875rem;
}
.lp-bento-card {
  background: var(--lp-white);
  border: 1px solid var(--lp-border);
  border-radius: var(--lp-radius);
  padding: 2rem;
  transition:
    box-shadow var(--lp-transition),
    border-color var(--lp-transition);
}
.lp-bento-card:hover {
  box-shadow: var(--lp-shadow-md);
  border-color: rgba(192, 154, 82, 0.25);
}
[data-bs-theme="dark"] .lp-bento-card {
  background: var(--lp-surface);
  border-color: rgba(255, 255, 255, 0.08);
}

.lp-bento-card--span7 {
  grid-column: span 7;
}
.lp-bento-card--span5 {
  grid-column: span 5;
}
.lp-bento-card--span4 {
  grid-column: span 4;
}

.lp-bento-card--dark {
  background: var(--lp-navy);
  border-color: transparent;
  position: relative;
  overflow: hidden;
}
.lp-bento-card--dark::before {
  content: "";
  position: absolute;
  top: -60px;
  right: -40px;
  width: 200px;
  height: 200px;
  border-radius: 50%;
  background: radial-gradient(
    circle,
    rgba(192, 154, 82, 0.15) 0%,
    transparent 70%
  );
  pointer-events: none;
}
.lp-service-tag {
  display: inline-block;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 0.25rem 0.75rem;
  border-radius: 999px;
  background: var(--lp-gold-bg);
  border: 1px solid var(--lp-gold-border);
  color: var(--lp-gold);
  margin-bottom: 1.25rem;
}
.lp-bento-card--dark .lp-service-tag {
  background: rgba(255, 255, 255, 0.12);
  border-color: rgba(255, 255, 255, 0.2);
  color: rgba(255, 255, 255, 0.75);
}

.lp-bento-card__icon {
  width: 48px;
  height: 48px;
  border-radius: var(--lp-radius-sm);
  background: var(--lp-gold-bg);
  border: 1px solid var(--lp-gold-border);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1.25rem;
  position: relative;
}
.lp-bento-card__icon .material-symbols-sharp {
  font-size: 24px;
  color: var(--lp-gold);
}
.lp-bento-card--dark .lp-bento-card__icon {
  background: rgba(255, 255, 255, 0.1);
  border-color: rgba(255, 255, 255, 0.18);
}

.lp-bento-card h3 {
  font-family: var(--lp-font);
  font-size: clamp(1.1rem, 1.5vw + 0.2rem, 1.5rem);
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--lp-heading);
  margin-bottom: 0.875rem;
  line-height: 1.25;
}
[data-bs-theme="dark"] .lp-bento-card h3 {
  color: #e4eaf0;
}

.lp-bento-card p {
  font-size: 0.9375rem;
  color: var(--lp-muted);
  line-height: 1.65;
  max-width: 44ch;
}
/* Higher specificity than .lp-bento-card h3/p and [data-bs-theme="dark"]
   .lp-bento-card h3 above, so dark bento cards always get brand-aligned
   light text instead of the default navy heading/muted colors (which are
   the same color as the card's navy background and were unreadable). */
.lp-bento-card.lp-bento-card--dark h3 {
  color: var(--tg-white, #ffffff);
}
.lp-bento-card.lp-bento-card--dark p {
  color: var(--tg-gray-two, #bacce1);
}

.lp-bento-metric {
  margin-top: 1.5rem;
}
.lp-bento-metric__num {
  font-family: var(--lp-font);
  font-size: clamp(1.5rem, 2.5vw, 2.25rem);
  font-weight: 700;
  letter-spacing: -0.03em;
  color: var(--lp-heading);
  line-height: 1;
}
.lp-bento-card--dark .lp-bento-metric__num {
  color: #ffffff;
}
.lp-bento-metric__label {
  font-size: 0.75rem;
  color: var(--lp-muted);
  margin-top: 0.25rem;
}
.lp-bento-card--dark .lp-bento-metric__label {
  color: rgba(255, 255, 255, 0.5);
}

/* ═══════════════════════════════════════════════════════════════════════════
   5. TESTIMONIALS
   ═══════════════════════════════════════════════════════════════════════════ */
.lp-testimonials {
  background: var(--lp-white);
  border-top: 1px solid var(--lp-border);
  border-bottom: 1px solid var(--lp-border);
}

.lp-testimonials__header {
  text-align: center;
  max-width: 56ch;
  margin-inline: auto;
  margin-bottom: 3.5rem;
}

.lp-testimonials-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
}
.lp-quote-card {
  background: var(--lp-surface);
  border: 1px solid var(--lp-border);
  border-radius: var(--lp-radius);
  padding: 2rem;
  transition: box-shadow var(--lp-transition);
}
.lp-quote-card:hover {
  box-shadow: var(--lp-shadow-sm);
}
[data-bs-theme="dark"] .lp-quote-card {
  background: var(--lp-surface);
  border-color: rgba(255, 255, 255, 0.08);
}

.lp-quote-card--featured {
  background: var(--lp-navy);
  border-color: transparent;
  position: relative;
  overflow: hidden;
}
.lp-quote-card--featured::after {
  content: "";
  position: absolute;
  bottom: -60px;
  right: -40px;
  width: 180px;
  height: 180px;
  border-radius: 50%;
  background: radial-gradient(
    circle,
    rgba(192, 154, 82, 0.14) 0%,
    transparent 70%
  );
  pointer-events: none;
}

.lp-quote-mark {
  font-family: var(--lp-font);
  font-size: 3.5rem;
  line-height: 0.8;
  color: var(--lp-muted);
  opacity: 0.4;
  display: block;
  margin-bottom: 1rem;
  user-select: none;
}
.lp-quote-card--featured .lp-quote-mark {
  color: rgba(192, 154, 82, 0.6);
  opacity: 1;
}

.lp-quote-text {
  font-family: var(--lp-font);
  font-size: clamp(0.9375rem, 1vw + 0.3rem, 1.125rem);
  font-style: italic;
  line-height: 1.6;
  color: var(--lp-text);
  margin-bottom: 1.5rem;
}
.lp-quote-card--featured .lp-quote-text {
  color: rgba(255, 255, 255, 0.88);
}
[data-bs-theme="dark"] .lp-quote-text {
  color: #c8d0da;
}

.lp-quote-author {
  font-weight: 700;
  font-size: 0.875rem;
  color: var(--lp-heading);
}
.lp-quote-card--featured .lp-quote-author {
  color: #ffffff;
}
[data-bs-theme="dark"] .lp-quote-author {
  color: #e4eaf0;
}

.lp-quote-role {
  font-size: 0.775rem;
  color: var(--lp-muted);
  margin-top: 0.25rem;
}
.lp-quote-card--featured .lp-quote-role {
  color: rgba(255, 255, 255, 0.5);
}

/* ═══════════════════════════════════════════════════════════════════════════
   6. INSIGHTS
   ═══════════════════════════════════════════════════════════════════════════ */
.lp-insights {
  background: var(--lp-white);
}

.lp-insights__header {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 2rem;
  margin-bottom: 2.5rem;
}
.lp-insights__header .lp-section-heading {
  margin-bottom: 0;
}

.lp-insights-grid {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 1.25rem;
  align-items: start;
}

.lp-insight-feature {
  background: var(--lp-surface);
  border: 1px solid var(--lp-border);
  border-radius: var(--lp-radius);
  overflow: hidden;
  transition: box-shadow var(--lp-transition);
}
.lp-insight-feature:hover {
  box-shadow: var(--lp-shadow-md);
}
[data-bs-theme="dark"] .lp-insight-feature {
  background: var(--lp-surface);
  border-color: rgba(255, 255, 255, 0.08);
}

.lp-insight-feature__image {
  width: 100%;
  aspect-ratio: 16/7;
  background: linear-gradient(
    135deg,
    var(--lp-navy) 0%,
    #1a4a6e 40%,
    rgba(192, 154, 82, 0.6) 100%
  );
  display: flex;
  align-items: flex-end;
  padding: 1.5rem;
  position: relative;
  overflow: hidden;
}
.lp-insight-feature__image::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(
    ellipse at 75% 25%,
    rgba(192, 154, 82, 0.25) 0%,
    transparent 55%
  );
}
.lp-insight-tag {
  position: relative;
  z-index: 1;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.8);
  background: rgba(255, 255, 255, 0.15);
  backdrop-filter: blur(8px);
  padding: 0.375rem 0.75rem;
  border-radius: 999px;
}

.lp-insight-feature__body {
  padding: 1.75rem;
}
.lp-insight-feature__body h3 {
  font-family: var(--lp-font);
  font-size: clamp(1.1rem, 1.5vw + 0.2rem, 1.4rem);
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--lp-heading);
  margin-bottom: 0.875rem;
  line-height: 1.3;
}
[data-bs-theme="dark"] .lp-insight-feature__body h3 {
  color: #e4eaf0;
}
.lp-insight-feature__body p {
  font-size: 0.9375rem;
  color: var(--lp-muted);
  line-height: 1.65;
  max-width: 56ch;
}

.lp-insights-list {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.lp-insight-item {
  display: block;
  background: var(--lp-surface);
  border: 1px solid var(--lp-border);
  border-radius: var(--lp-radius-sm);
  padding: 1.125rem 1.25rem;
  text-decoration: none;
  transition:
    box-shadow var(--lp-transition),
    border-color var(--lp-transition);
}
.lp-insight-item:hover {
  box-shadow: var(--lp-shadow-sm);
  border-color: rgba(192, 154, 82, 0.3);
}
[data-bs-theme="dark"] .lp-insight-item {
  background: var(--lp-surface);
  border-color: rgba(255, 255, 255, 0.08);
}

.lp-insight-item__tag {
  font-size: 0.675rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--lp-gold);
  margin-bottom: 0.4rem;
}
.lp-insight-item h4 {
  font-family: var(--lp-font);
  font-size: 0.9rem;
  font-weight: 600;
  line-height: 1.45;
  color: var(--lp-heading);
}
[data-bs-theme="dark"] .lp-insight-item h4 {
  color: #c8d0da;
}

/* ═══════════════════════════════════════════════════════════════════════════
   7. CTA
   ═══════════════════════════════════════════════════════════════════════════ */
.lp-cta {
  background: var(--lp-navy);
  padding-block: clamp(4rem, 10vw, 7rem);
  position: relative;
  overflow: hidden;
}
.lp-cta::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 700px;
  height: 400px;
  border-radius: 50%;
  background: radial-gradient(
    ellipse,
    rgba(192, 154, 82, 0.12) 0%,
    transparent 65%
  );
  pointer-events: none;
}

.lp-cta__inner {
  text-align: center;
  max-width: 720px;
  margin-inline: auto;
  position: relative;
  z-index: 1;
}
.lp-cta__inner h2 {
  font-family: var(--lp-font);
  font-size: clamp(1.75rem, 3vw + 0.5rem, 3.25rem);
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1.1;
  color: #ffffff;
  margin-bottom: 1rem;
}
.lp-cta__inner p {
  font-size: clamp(1rem, 1vw + 0.5rem, 1.25rem);
  color: rgba(255, 255, 255, 0.6);
  line-height: 1.65;
  margin-bottom: 2.5rem;
}

.lp-cta__actions {
  display: flex;
  gap: 0.875rem;
  justify-content: center;
  flex-wrap: wrap;
}

.lp-cta__guarantee {
  margin-top: 1.5rem;
  font-size: 0.75rem;
  color: rgba(255, 255, 255, 0.35);
  display: flex;
  align-items: center;
  gap: 0.5rem;
  justify-content: center;
}

/* ═══════════════════════════════════════════════════════════════════════════
   9. STAT ROW (About page — horizontal 4-cell strip)
   ═══════════════════════════════════════════════════════════════════════════ */
.lp-stat-row-section {
  padding-block: clamp(2.5rem, 5vw, 4rem);
  border-bottom: 1px solid var(--lp-border);
}

.lp-stat-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  border: 1px solid var(--lp-border);
  border-radius: var(--lp-radius);
  overflow: hidden;
  background: var(--lp-border);
}

.lp-stat-cell {
  padding: 2rem 1.75rem;
  background: var(--lp-white);
  text-align: center;
}

.lp-stat-cell__num {
  font-size: clamp(1.75rem, 2.5vw + 0.5rem, 2.75rem);
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1;
  color: var(--lp-heading);
  margin-bottom: 0.375rem;
}

.lp-stat-cell__label {
  font-size: 0.75rem;
  font-weight: 500;
  color: var(--lp-muted);
  letter-spacing: 0.02em;
}

[data-bs-theme="dark"] .lp-stat-cell {
  background: var(--lp-surface);
}

/* ═══════════════════════════════════════════════════════════════════════════
   10. STORY (About page — two-column narrative)
   ═══════════════════════════════════════════════════════════════════════════ */
.lp-story__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(2rem, 5vw, 5rem);
  align-items: start;
}

.lp-story__prose {
  color: var(--lp-muted);
  line-height: 1.75;
  font-size: clamp(0.95rem, 0.85rem + 0.4vw, 1.1rem);
}
.lp-story__prose p + p {
  margin-top: 1.25rem;
}

/* ═══════════════════════════════════════════════════════════════════════════
   11. VALUES / PRINCIPLES (About page — 2 × 2 card grid)
   ═══════════════════════════════════════════════════════════════════════════ */
.lp-section-center {
  text-align: center;
  margin-bottom: 3.5rem;
}
.lp-section-center .lp-section-lead {
  margin-inline: auto;
}

.lp-values-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.5rem;
}

.lp-value-card {
  background: var(--lp-white);
  border: 1px solid var(--lp-border);
  border-radius: var(--lp-radius);
  padding: 2rem;
  transition:
    box-shadow var(--lp-transition),
    border-color var(--lp-transition);
}
.lp-value-card:hover {
  box-shadow: var(--lp-shadow-md);
  border-color: rgba(192, 154, 82, 0.3);
}

.lp-value-card__icon {
  width: 44px;
  height: 44px;
  border-radius: var(--lp-radius-sm);
  background: var(--lp-gold-bg);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1.25rem;
  color: var(--lp-gold);
}
.lp-value-card__icon .material-symbols-sharp {
  font-size: 24px;
}

.lp-value-card h3 {
  font-size: 1.2rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--lp-heading);
  margin-bottom: 0.625rem;
}

.lp-value-card p {
  font-size: 0.9375rem;
  color: var(--lp-muted);
  line-height: 1.65;
}

[data-bs-theme="dark"] .lp-value-card {
  background: var(--lp-surface);
}

/* ═══════════════════════════════════════════════════════════════════════════
   12. TEAM (About page — partner cards)
   ═══════════════════════════════════════════════════════════════════════════ */
.lp-team-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}

.lp-team-card {
  background: var(--lp-white);
  border: 1px solid var(--lp-border);
  border-radius: var(--lp-radius);
  padding: 2rem 1.75rem;
  text-align: center;
  transition:
    box-shadow var(--lp-transition),
    border-color var(--lp-transition);
}
.lp-team-card:hover {
  box-shadow: var(--lp-shadow-md);
  border-color: rgba(192, 154, 82, 0.3);
}

.lp-team-card__avatar {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 1.25rem;
  font-size: 1.375rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: #ffffff;
}
.lp-team-card__avatar--navy {
  background: var(--lp-navy);
}
.lp-team-card__avatar--teal {
  background: var(--lp-gold);
  color: var(--lp-navy);
}

.lp-team-card h3 {
  font-size: 1.125rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--lp-heading);
  margin-bottom: 0.375rem;
}

.lp-team-card__role {
  display: inline-block;
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 0.25rem 0.75rem;
  border-radius: 999px;
  background: var(--lp-gold-bg);
  color: var(--lp-gold);
  margin-bottom: 1rem;
}

.lp-team-card p {
  font-size: 0.875rem;
  color: var(--lp-muted);
  line-height: 1.65;
}

[data-bs-theme="dark"] .lp-team-card {
  background: var(--lp-surface);
}

/* ═══════════════════════════════════════════════════════════════════════════
   13. SERVICE OVERVIEW (Services page — bento card grid)
   ═══════════════════════════════════════════════════════════════════════════ */
.lp-svc-overview {
  padding-block: clamp(4rem, 8vw, 7rem);
}

.lp-svc-bento {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: auto auto;
  gap: 0.875rem;
}

/* Featured dark card — spans both rows */
.lp-svc-featured {
  grid-row: span 2;
  background: var(--lp-navy);
  border-radius: var(--lp-radius);
  padding: 2.5rem;
  text-decoration: none;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 440px;
  position: relative;
  overflow: hidden;
  transition: box-shadow var(--lp-transition);
}
.lp-svc-featured::before {
  content: "";
  position: absolute;
  top: -60px;
  right: -40px;
  width: 220px;
  height: 220px;
  border-radius: 50%;
  background: radial-gradient(
    circle,
    rgba(192, 154, 82, 0.15) 0%,
    transparent 70%
  );
  pointer-events: none;
}
.lp-svc-featured:hover {
  box-shadow: var(--lp-shadow-lg);
}
.lp-svc-featured h3 {
  font-size: clamp(1.3rem, 2vw + 0.2rem, 1.875rem);
  font-weight: 700;
  letter-spacing: -0.02em;
  color: #ffffff;
  margin: 1.25rem 0 0.875rem;
  line-height: 1.2;
}
.lp-svc-featured p {
  font-size: 0.9375rem;
  color: rgba(255, 255, 255, 0.62);
  line-height: 1.65;
}
.lp-svc-featured__foot {
  margin-top: 2rem;
}
.lp-svc-featured__metrics {
  display: flex;
  gap: 2.5rem;
  margin-bottom: 1.5rem;
}
.lp-svc-featured__metric-num {
  font-size: clamp(1.5rem, 2.5vw, 2.25rem);
  font-weight: 700;
  letter-spacing: -0.03em;
  color: #ffffff;
  line-height: 1;
}
.lp-svc-featured__metric-label {
  font-size: 0.7rem;
  color: rgba(255, 255, 255, 0.5);
  margin-top: 0.25rem;
}

/* Arrow link variant for dark backgrounds */
.lp-arrow-link--inverse {
  color: rgba(255, 255, 255, 0.85);
}
.lp-arrow-link--inverse:hover {
  color: #ffffff;
  gap: 0.75rem;
}

/* Service tag variants used in overview */
.lp-service-tag--inverse {
  background: rgba(255, 255, 255, 0.12);
  border-color: rgba(255, 255, 255, 0.2);
  color: rgba(255, 255, 255, 0.8);
}
.lp-service-tag--muted {
  background: var(--lp-surface);
  border-color: var(--lp-border);
  color: var(--lp-muted);
}

/* Standard top-right cards */
.lp-svc-card {
  background: var(--lp-white);
  border: 1px solid var(--lp-border);
  border-radius: var(--lp-radius);
  padding: 2rem;
  text-decoration: none;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 200px;
  transition:
    box-shadow var(--lp-transition),
    border-color var(--lp-transition);
}
.lp-svc-card:hover {
  box-shadow: var(--lp-shadow-md);
  border-color: rgba(192, 154, 82, 0.25);
}
[data-bs-theme="dark"] .lp-svc-card {
  background: var(--lp-surface);
  border-color: rgba(255, 255, 255, 0.08);
}
.lp-svc-card h3 {
  font-size: clamp(1.1rem, 1.3vw + 0.2rem, 1.375rem);
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--lp-heading);
  margin: 1rem 0 0.625rem;
  line-height: 1.25;
}
[data-bs-theme="dark"] .lp-svc-card h3 {
  color: #e4eaf0;
}
.lp-svc-card p {
  font-size: 0.875rem;
  color: var(--lp-muted);
  line-height: 1.65;
}

/* Bottom-row equal cards */
.lp-svc-extra {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.875rem;
  margin-top: 0.875rem;
}
.lp-svc-extra__card {
  background: var(--lp-white);
  border: 1px solid var(--lp-border);
  border-radius: var(--lp-radius);
  padding: 2rem;
  transition:
    box-shadow var(--lp-transition),
    border-color var(--lp-transition);
}
.lp-svc-extra__card:hover {
  box-shadow: var(--lp-shadow-md);
  border-color: rgba(192, 154, 82, 0.25);
}
[data-bs-theme="dark"] .lp-svc-extra__card {
  background: var(--lp-surface);
  border-color: rgba(255, 255, 255, 0.08);
}
.lp-svc-extra__card h3 {
  font-size: clamp(1.1rem, 1.3vw + 0.2rem, 1.375rem);
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--lp-heading);
  margin: 1rem 0 0.625rem;
  line-height: 1.25;
}
[data-bs-theme="dark"] .lp-svc-extra__card h3 {
  color: #e4eaf0;
}
.lp-svc-extra__card p {
  font-size: 0.9375rem;
  color: var(--lp-muted);
  line-height: 1.65;
}
.lp-svc-extra__metric {
  margin-top: 1.5rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--lp-border);
}
[data-bs-theme="dark"] .lp-svc-extra__metric {
  border-color: rgba(255, 255, 255, 0.08);
}
.lp-svc-extra__metric-num {
  font-size: clamp(1.4rem, 2vw, 1.875rem);
  font-weight: 700;
  letter-spacing: -0.03em;
  color: var(--lp-heading);
  line-height: 1;
}
[data-bs-theme="dark"] .lp-svc-extra__metric-num {
  color: #e4eaf0;
}
.lp-svc-extra__metric-label {
  font-size: 0.75rem;
  color: var(--lp-muted);
  margin-top: 0.25rem;
}

/* ═══════════════════════════════════════════════════════════════════════════
   14. SERVICE GUIDE (Services page — "How to choose")
   ═══════════════════════════════════════════════════════════════════════════ */
.lp-svc-guide {
  background: var(--lp-surface);
  border-top: 1px solid var(--lp-border);
  border-bottom: 1px solid var(--lp-border);
  padding-block: clamp(4rem, 8vw, 7rem);
}
[data-bs-theme="dark"] .lp-svc-guide {
  background: #0d1a2a;
  border-color: rgba(255, 255, 255, 0.06);
}

.lp-svc-guide__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(2rem, 5vw, 5rem);
  align-items: center;
}
.lp-svc-guide__cards {
  display: flex;
  flex-direction: column;
  gap: 0.875rem;
}

.lp-guide-card {
  background: var(--lp-white);
  border: 1px solid var(--lp-border);
  border-radius: var(--lp-radius);
  padding: 1.5rem;
  transition: box-shadow var(--lp-transition);
}
.lp-guide-card:hover {
  box-shadow: var(--lp-shadow-sm);
}
[data-bs-theme="dark"] .lp-guide-card {
  background: var(--lp-surface);
  border-color: rgba(255, 255, 255, 0.08);
}

.lp-guide-card__inner {
  display: flex;
  gap: 1.25rem;
  align-items: flex-start;
}

.lp-guide-num {
  font-size: clamp(1.25rem, 2vw, 1.75rem);
  font-weight: 700;
  letter-spacing: -0.03em;
  color: var(--lp-gold);
  flex-shrink: 0;
  line-height: 1;
  min-width: 2.5ch;
}
.lp-guide-condition {
  display: block;
  font-size: 0.9375rem;
  font-weight: 700;
  color: var(--lp-heading);
  margin-bottom: 0.3rem;
}
[data-bs-theme="dark"] .lp-guide-condition {
  color: #e4eaf0;
}
.lp-guide-rec {
  font-size: 0.875rem;
  color: var(--lp-muted);
}

/* ═══════════════════════════════════════════════════════════════════════════
   15. AUDIENCE CARDS (Trainings page)
   ═══════════════════════════════════════════════════════════════════════════ */
.lp-audience {
  padding-block: clamp(2.5rem, 5vw, 4rem);
  border-bottom: 1px solid var(--lp-border);
}
.lp-audience-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0.875rem;
}
.lp-audience-card {
  background: var(--lp-white);
  border: 1px solid var(--lp-border);
  border-radius: var(--lp-radius);
  padding: 1.75rem;
  transition: box-shadow var(--lp-transition);
}
.lp-audience-card:hover {
  box-shadow: var(--lp-shadow-sm);
}
[data-bs-theme="dark"] .lp-audience-card {
  background: var(--lp-surface);
  border-color: rgba(255, 255, 255, 0.08);
}
.lp-audience-val {
  font-size: clamp(1.5rem, 2.5vw, 2.25rem);
  font-weight: 700;
  letter-spacing: -0.03em;
  color: var(--lp-gold);
  line-height: 1;
  margin-bottom: 0.625rem;
}
.lp-audience-label {
  font-size: 0.875rem;
  color: var(--lp-muted);
  line-height: 1.55;
}

/* ═══════════════════════════════════════════════════════════════════════════
   16. PROGRAMS LIST (Trainings page)
   ═══════════════════════════════════════════════════════════════════════════ */
.lp-programs {
  padding-block: clamp(4rem, 8vw, 7rem);
}
.lp-programs__header {
  margin-bottom: 3.5rem;
}
.lp-programs-list {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.lp-program-card {
  background: var(--lp-white);
  border: 1px solid var(--lp-border);
  border-radius: var(--lp-radius);
  padding: 2.5rem;
  display: grid;
  grid-template-columns: 3fr 1fr;
  gap: 2.5rem;
  align-items: start;
  transition: box-shadow var(--lp-transition);
}
.lp-program-card:hover {
  box-shadow: var(--lp-shadow-md);
}
[data-bs-theme="dark"] .lp-program-card {
  background: var(--lp-surface);
  border-color: rgba(255, 255, 255, 0.08);
}

.lp-program-badges {
  display: flex;
  gap: 0.625rem;
  flex-wrap: wrap;
  margin-bottom: 1.25rem;
}
.lp-program-badge {
  font-size: 0.675rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 0.25rem 0.75rem;
  border-radius: 999px;
  background: var(--lp-surface);
  color: var(--lp-muted);
  border: 1px solid var(--lp-border);
}
.lp-program-badge--accent {
  background: var(--lp-gold-bg);
  border-color: var(--lp-gold-border);
  color: var(--lp-gold);
}
.lp-program-badge--gold {
  background: rgba(192, 154, 82, 0.18);
  border-color: rgba(192, 154, 82, 0.35);
  color: var(--lp-gold);
}

.lp-program-card__main h3 {
  font-size: clamp(1.1rem, 1.5vw + 0.2rem, 1.5rem);
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--lp-heading);
  margin-bottom: 0.875rem;
  line-height: 1.25;
}
[data-bs-theme="dark"] .lp-program-card__main h3 {
  color: #e4eaf0;
}
.lp-program-card__main p {
  font-size: 0.9375rem;
  color: var(--lp-muted);
  line-height: 1.65;
}

.lp-program-bullets {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
  margin-top: 1.25rem;
}
.lp-program-bullets li {
  display: flex;
  gap: 0.75rem;
  font-size: 0.9375rem;
  color: var(--lp-muted);
  line-height: 1.55;
}
.lp-program-bullets li::before {
  content: "→";
  color: var(--lp-gold);
  font-weight: 700;
  flex-shrink: 0;
}

.lp-program-card__side {
  padding-left: 2rem;
  border-left: 1px solid var(--lp-border);
}
[data-bs-theme="dark"] .lp-program-card__side {
  border-color: rgba(255, 255, 255, 0.08);
}
.lp-program-invest-label {
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--lp-muted);
  opacity: 0.6;
  margin-bottom: 0.5rem;
}
.lp-program-invest-num {
  font-size: clamp(1.1rem, 1.5vw, 1.5rem);
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--lp-heading);
  line-height: 1;
}
[data-bs-theme="dark"] .lp-program-invest-num {
  color: #e4eaf0;
}
.lp-program-invest-note {
  font-size: 0.775rem;
  color: var(--lp-muted);
  margin-top: 0.375rem;
}

/* ═══════════════════════════════════════════════════════════════════════════
   17. PROCESS GRID (Trainings page — 4-step numbered grid)
   ═══════════════════════════════════════════════════════════════════════════ */
.lp-process {
  background: var(--lp-surface);
  border-top: 1px solid var(--lp-border);
  border-bottom: 1px solid var(--lp-border);
  padding-block: clamp(4rem, 8vw, 7rem);
}
[data-bs-theme="dark"] .lp-process {
  background: #0d1a2a;
  border-color: rgba(255, 255, 255, 0.06);
}
[data-bs-theme="dark"] .lp-process-num {
  color: rgba(192, 154, 82, 0.5);
}

.lp-process-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0.875rem;
  margin-top: 3.5rem;
}
.lp-process-step {
  text-align: center;
  padding: 2rem 1.5rem;
}
.lp-process-num {
  font-size: clamp(2.5rem, 5vw, 4rem);
  font-weight: 700;
  letter-spacing: -0.04em;
  color: rgba(192, 154, 82, 0.5);
  line-height: 1;
  margin-bottom: 1rem;
}
.lp-process-title {
  font-size: 1rem;
  font-weight: 700;
  color: var(--lp-heading);
  margin-bottom: 0.625rem;
  line-height: 1.3;
}
[data-bs-theme="dark"] .lp-process-title {
  color: #e4eaf0;
}
.lp-process-body {
  font-size: 0.875rem;
  color: var(--lp-muted);
  line-height: 1.65;
}

/* ═══════════════════════════════════════════════════════════════════════════
   18. ADVERTISING PRODUCT CARDS (Publisher Marketplace page)
   ═══════════════════════════════════════════════════════════════════════════ */
.lp-ad-products {
  background: var(--lp-white);
}
.lp-ad-products .lp-section-center {
  margin-bottom: 3.5rem;
}
.lp-ad-products .lp-section-lead {
  margin-inline: auto;
}

.lp-ad-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}

.lp-ad-card {
  background: var(--lp-surface);
  border: 1px solid var(--lp-border);
  border-radius: var(--lp-radius);
  padding: 2rem;
  display: flex;
  flex-direction: column;
  height: 100%; /* fill grid cell so all cards match in height */
  transition:
    box-shadow var(--lp-transition),
    border-color var(--lp-transition);
}
.lp-ad-card:hover {
  box-shadow: var(--lp-shadow-md);
  border-color: rgba(192, 154, 82, 0.3);
}
[data-bs-theme="dark"] .lp-ad-card {
  background: var(--lp-surface);
  border-color: rgba(255, 255, 255, 0.08);
}

/* Head row: icon + tag */
.lp-ad-card__head {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 1.25rem;
}
.lp-ad-card__icon {
  width: 44px;
  height: 44px;
  border-radius: var(--lp-radius-sm);
  background: var(--lp-gold-bg);
  border: 1px solid var(--lp-gold-border);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--lp-gold);
  flex-shrink: 0;
}
.lp-ad-card__icon .material-symbols-sharp {
  font-size: 22px;
}

.lp-ad-card__tag {
  font-size: 0.675rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 0.25rem 0.75rem;
  border-radius: 999px;
  background: var(--lp-gold-bg);
  border: 1px solid var(--lp-gold-border);
  color: var(--lp-gold);
  white-space: nowrap;
}

.lp-ad-card__title {
  font-size: 1.2rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--lp-heading);
  margin-bottom: 0.625rem;
  line-height: 1.25;
}
[data-bs-theme="dark"] .lp-ad-card__title {
  color: #e4eaf0;
}

.lp-ad-card__body {
  font-size: 0.9375rem;
  color: var(--lp-muted);
  line-height: 1.65;
  margin-bottom: 1.25rem;
}

/* Includes checklist */
.lp-ad-card__includes {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  margin-bottom: 1.75rem;
  flex-grow: 1;
}
.lp-ad-card__includes li {
  display: flex;
  gap: 0.625rem;
  font-size: 0.875rem;
  color: var(--lp-muted);
  line-height: 1.5;
}
.lp-ad-card__includes li::before {
  content: "✓";
  color: var(--lp-gold);
  font-weight: 700;
  flex-shrink: 0;
}

/* CTA pushed to bottom and centred */
.lp-ad-card__foot {
  margin-top: auto;
  display: flex;
  justify-content: center;
}

/* ═══════════════════════════════════════════════════════════════════════════
   19. CONTACT PAGE (two-column form section)
   ═══════════════════════════════════════════════════════════════════════════ */
.lp-contact-section {
  background: var(--lp-surface);
  border-top: 1px solid var(--lp-border);
}
[data-bs-theme="dark"] .lp-contact-section {
  background: #0d1a2a;
}

.lp-contact-grid {
  display: grid;
  grid-template-columns: 1fr 1.4fr;
  gap: clamp(2.5rem, 5vw, 5rem);
  align-items: start;
}

/* Reasons list */
.lp-contact-reasons {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  margin-bottom: 2rem;
}
.lp-contact-reason {
  display: flex;
  gap: 1rem;
  align-items: flex-start;
}
.lp-contact-reason__icon {
  width: 40px;
  height: 40px;
  flex-shrink: 0;
  border-radius: var(--lp-radius-sm);
  background: var(--lp-gold-bg);
  border: 1px solid var(--lp-gold-border);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--lp-gold);
}
.lp-contact-reason__icon .material-symbols-sharp {
  font-size: 20px;
}
.lp-contact-reason__title {
  display: block;
  font-size: 0.9375rem;
  font-weight: 700;
  color: var(--lp-heading);
  margin-bottom: 0.25rem;
}
[data-bs-theme="dark"] .lp-contact-reason__title {
  color: #e4eaf0;
}
.lp-contact-reason__body {
  font-size: 0.875rem;
  color: var(--lp-muted);
  line-height: 1.55;
  margin: 0;
}

/* Response + privacy notes */
.lp-contact-response,
.lp-contact-privacy {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  font-size: 0.8125rem;
  color: var(--lp-muted);
  line-height: 1.5;
  margin-top: 0.875rem;
}
.lp-contact-response .material-symbols-sharp,
.lp-contact-privacy .material-symbols-sharp {
  font-size: 16px;
  flex-shrink: 0;
  margin-top: 1px;
}

/* Form wrapper — card-style on light bg */
.lp-contact-form-wrap {
  background: var(--lp-white);
  border: 1px solid var(--lp-border);
  border-radius: var(--lp-radius);
  padding: 2.5rem;
  box-shadow: var(--lp-shadow-sm);
}
[data-bs-theme="dark"] .lp-contact-form-wrap {
  background: var(--lp-surface);
  border-color: rgba(255, 255, 255, 0.08);
}

/* ═══════════════════════════════════════════════════════════════════════════
   20. CASE STUDIES (Services page)
   ═══════════════════════════════════════════════════════════════════════════ */
.lp-case-studies {
  background: var(--lp-surface);
  border-top: 1px solid var(--lp-border);
  border-bottom: 1px solid var(--lp-border);
}
[data-bs-theme="dark"] .lp-case-studies {
  background: #0d1a2a;
  border-color: rgba(255, 255, 255, 0.06);
}

.lp-case-studies__header {
  margin-bottom: 3rem;
}
.lp-case-studies__header-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(1.5rem, 3vw, 3rem);
  align-items: start;
}

.lp-cs-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}

.lp-cs-card {
  background: var(--lp-white);
  border: 1px solid var(--lp-border);
  border-radius: var(--lp-radius);
  overflow: hidden;
  transition:
    box-shadow var(--lp-transition),
    border-color var(--lp-transition);
}
.lp-cs-card:hover {
  box-shadow: var(--lp-shadow-md);
  border-color: rgba(192, 154, 82, 0.25);
}
[data-bs-theme="dark"] .lp-cs-card {
  background: var(--lp-surface);
  border-color: rgba(255, 255, 255, 0.08);
}

.lp-cs-card__inner {
  padding: 2rem;
  display: flex;
  flex-direction: column;
  height: 100%;
}

.lp-cs-card__head {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 1.125rem;
  flex-wrap: wrap;
}
.lp-cs-card__discipline {
  font-size: 0.675rem;
  font-weight: 700;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: var(--lp-gold);
}
.lp-cs-card__outcome-badge {
  font-size: 0.675rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 0.2rem 0.625rem;
  border-radius: 999px;
  background: rgba(40, 180, 90, 0.12);
  color: #1e9e4a;
  border: 1px solid rgba(40, 180, 90, 0.25);
}
[data-bs-theme="dark"] .lp-cs-card__outcome-badge {
  background: rgba(40, 180, 90, 0.16);
  color: #5cd48a;
}

.lp-cs-card__title {
  font-size: clamp(1rem, 1.2vw + 0.2rem, 1.25rem);
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--lp-heading);
  line-height: 1.3;
  margin-bottom: 1.125rem;
  flex-grow: 1;
}
[data-bs-theme="dark"] .lp-cs-card__title {
  color: #e4eaf0;
}

.lp-cs-card__challenge,
.lp-cs-card__result {
  font-size: 0.875rem;
  color: var(--lp-muted);
  line-height: 1.65;
  margin-bottom: 0.75rem;
}
.lp-cs-card__challenge strong,
.lp-cs-card__result strong {
  color: var(--lp-heading);
  font-weight: 600;
}
[data-bs-theme="dark"] .lp-cs-card__challenge strong,
[data-bs-theme="dark"] .lp-cs-card__result strong {
  color: #e4eaf0;
}

.lp-cs-card__foot {
  display: flex;
  align-items: center;
  gap: 1.25rem;
  margin-top: auto;
  padding-top: 1.25rem;
  border-top: 1px solid var(--lp-border);
  flex-wrap: wrap;
}
.lp-cs-card__reading-time {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.775rem;
  color: var(--lp-muted);
  margin-left: auto;
}
.lp-cs-card__reading-time .material-symbols-sharp {
  font-size: 15px;
}

.lp-case-studies__footer {
  margin-top: 2.5rem;
  text-align: center;
}

/* ═══════════════════════════════════════════════════════════════════════════
   21. MAGAZINE PREVIEW BAND (Services page)
   ═══════════════════════════════════════════════════════════════════════════ */
.lp-mag-preview {
  background: var(--lp-navy);
  padding-block: clamp(4rem, 8vw, 7rem);
  position: relative;
  overflow: hidden;
}
.lp-mag-preview::before {
  content: "";
  position: absolute;
  top: -100px;
  right: -60px;
  width: 480px;
  height: 480px;
  border-radius: 50%;
  background: radial-gradient(
    circle,
    rgba(192, 154, 82, 0.12) 0%,
    transparent 65%
  );
  pointer-events: none;
}
.lp-mag-preview__inner {
  position: relative;
  z-index: 1;
}
.lp-mag-preview__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(2rem, 5vw, 5rem);
  align-items: center;
}
.lp-mag-preview__actions {
  display: flex;
  gap: 0.875rem;
  flex-wrap: wrap;
  margin-top: 2rem;
}

/* Issue tiles grid */
.lp-mag-preview__issues {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.875rem;
}
.lp-mag-preview__issue-tile {
  background: var(--tile-bg, #162843);
  border-radius: var(--lp-radius);
  padding: 1.5rem;
  border: 1px solid rgba(255, 255, 255, 0.08);
  transition: border-color var(--lp-transition);
}
.lp-mag-preview__issue-tile:hover {
  border-color: rgba(192, 154, 82, 0.3);
}
.lp-mag-preview__issue-num {
  display: block;
  font-size: 0.675rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--lp-gold);
  margin-bottom: 0.5rem;
}
.lp-mag-preview__issue-title {
  display: block;
  font-size: 0.9375rem;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.8);
  line-height: 1.4;
}

/* ═══════════════════════════════════════════════════════════════════════════
   22. UPCOMING ISSUES (Magazine landing — pre-publish teasers)
   ═══════════════════════════════════════════════════════════════════════════ */
.lp-upcoming__header {
  margin-bottom: 3rem;
}
.lp-upcoming-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.5rem;
}
.lp-upcoming-card {
  background: var(--lp-navy);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: var(--lp-radius);
  padding: 2rem;
  border-top: 3px solid var(--card-accent, var(--lp-gold));
  transition:
    border-color var(--lp-transition),
    box-shadow var(--lp-transition);
}
.lp-upcoming-card:hover {
  border-top-color: var(--lp-gold);
  box-shadow: var(--lp-shadow-md);
}
.lp-upcoming-card__number {
  font-size: 0.675rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--lp-gold);
  margin-bottom: 0.875rem;
}
.lp-upcoming-card__theme {
  font-size: clamp(1.1rem, 1.4vw + 0.2rem, 1.375rem);
  font-weight: 700;
  letter-spacing: -0.02em;
  color: #ffffff;
  margin-bottom: 0.875rem;
  line-height: 1.3;
}
.lp-upcoming-card__desc {
  font-size: 0.9rem;
  color: rgba(255, 255, 255, 0.6);
  line-height: 1.65;
}

/* ═══════════════════════════════════════════════════════════════════════════
   23. EDITORIAL PRINCIPLES (Magazine landing)
   ═══════════════════════════════════════════════════════════════════════════ */
.lp-editorial {
  background: var(--lp-surface);
  border-top: 1px solid var(--lp-border);
  border-bottom: 1px solid var(--lp-border);
}
[data-bs-theme="dark"] .lp-editorial {
  background: #0d1a2a;
  border-color: rgba(255, 255, 255, 0.06);
}

.lp-editorial-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
}
.lp-editorial-card {
  background: var(--lp-white);
  border: 1px solid var(--lp-border);
  border-radius: var(--lp-radius);
  padding: 1.75rem;
  transition:
    box-shadow var(--lp-transition),
    border-color var(--lp-transition);
}
.lp-editorial-card:hover {
  box-shadow: var(--lp-shadow-md);
  border-color: rgba(192, 154, 82, 0.3);
}
[data-bs-theme="dark"] .lp-editorial-card {
  background: var(--lp-surface);
  border-color: rgba(255, 255, 255, 0.08);
}
.lp-editorial-card__icon {
  width: 44px;
  height: 44px;
  border-radius: var(--lp-radius-sm);
  background: var(--lp-gold-bg);
  border: 1px solid var(--lp-gold-border);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--lp-gold);
  margin-bottom: 1.25rem;
}
.lp-editorial-card__icon .material-symbols-sharp {
  font-size: 22px;
}
.lp-editorial-card__title {
  font-size: 1rem;
  font-weight: 700;
  color: var(--lp-heading);
  margin-bottom: 0.5rem;
  line-height: 1.3;
}
[data-bs-theme="dark"] .lp-editorial-card__title {
  color: #e4eaf0;
}
.lp-editorial-card__body {
  font-size: 0.875rem;
  color: var(--lp-muted);
  line-height: 1.65;
}

/* ═══════════════════════════════════════════════════════════════════════════
   RESPONSIVE
   ═══════════════════════════════════════════════════════════════════════════ */
@media (max-width: 900px) {
  .lp-hero__grid {
    grid-template-columns: 1fr;
  }
  .lp-steps-grid {
    grid-template-columns: 1fr 1fr;
  }
  .lp-bento-card--span7,
  .lp-bento-card--span5,
  .lp-bento-card--span4 {
    grid-column: span 12;
  }
  .lp-bento-grid {
    grid-template-columns: 1fr;
  }
  .lp-testimonials-grid {
    grid-template-columns: 1fr 1fr;
  }
  .lp-insights-grid {
    grid-template-columns: 1fr;
  }
  .lp-challenge-grid {
    grid-template-columns: 1fr;
  }
  .lp-insights__header {
    flex-direction: column;
    align-items: flex-start;
  }
  /* About page */
  .lp-stat-row {
    grid-template-columns: 1fr 1fr;
  }
  .lp-story__grid {
    grid-template-columns: 1fr;
  }
  .lp-values-grid {
    grid-template-columns: 1fr;
  }
  .lp-team-grid {
    grid-template-columns: 1fr 1fr;
  }
  /* Services page */
  .lp-case-studies__header-grid {
    grid-template-columns: 1fr;
  }
  .lp-cs-grid {
    grid-template-columns: 1fr;
  }
  .lp-mag-preview__grid {
    grid-template-columns: 1fr;
  }
  /* Magazine page */
  .lp-upcoming-grid {
    grid-template-columns: 1fr;
  }
  .lp-editorial-grid {
    grid-template-columns: 1fr 1fr;
  }
  /* Contact page */
  .lp-contact-grid {
    grid-template-columns: 1fr;
  }
  /* Publisher Marketplace */
  .lp-ad-grid {
    grid-template-columns: 1fr;
  }
  /* Services page */
  .lp-svc-bento {
    grid-template-columns: 1fr;
  }
  .lp-svc-featured {
    grid-row: auto;
    min-height: auto;
  }
  .lp-svc-extra {
    grid-template-columns: 1fr 1fr;
  }
  .lp-svc-guide__grid {
    grid-template-columns: 1fr;
  }
  /* Trainings page */
  .lp-audience-grid {
    grid-template-columns: 1fr 1fr;
  }
  .lp-program-card {
    grid-template-columns: 1fr;
  }
  .lp-program-card__side {
    padding-left: 0;
    border-left: none;
    border-top: 1px solid var(--lp-border);
    padding-top: 1.5rem;
  }
  .lp-process-grid {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 600px) {
  .lp-stat-grid {
    grid-template-columns: 1fr 1fr;
  }
  .lp-stat-card--featured {
    grid-column: span 2;
  }
  .lp-steps-grid {
    grid-template-columns: 1fr;
  }
  .lp-testimonials-grid {
    grid-template-columns: 1fr;
  }
  /* About page */
  .lp-stat-row {
    grid-template-columns: 1fr;
  }
  .lp-team-grid {
    grid-template-columns: 1fr;
  }
  .lp-hero__ctas {
    flex-direction: column;
    align-items: flex-start;
  }
  /* Services page */
  .lp-svc-extra {
    grid-template-columns: 1fr;
  }
  /* Trainings page */
  .lp-audience-grid {
    grid-template-columns: 1fr;
  }
  .lp-process-grid {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 400px) {
  .lp-stat-grid {
    grid-template-columns: 1fr;
  }
  .lp-stat-card--featured {
    grid-column: span 1;
  }
}

/* =============================================================================
   RfP / ENGAGE PAGE  (field_lp_page_type = 'rfp')
============================================================================= */

.lp-rfp {
  --rfp-gold: #c09a52;
  --rfp-navy: #0d1b2a;
  --rfp-mid: #1a3a5c;
}

/* Hero — see shared .lp-hero / .lp-hero--dark / .lp-hero--cover system */

/* Buttons */
.lp-rfp-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.875rem 1.75rem;
  font-size: 1rem;
  font-weight: 700;
  border-radius: 8px;
  text-decoration: none;
  transition:
    background 0.18s ease,
    transform 0.18s ease;
  white-space: nowrap;
}
.lp-rfp-btn .material-symbols-sharp {
  font-size: 1.2rem;
}
.lp-rfp-btn--gold {
  background: #c09a52;
  color: #0d1b2a;
}
.lp-rfp-btn--gold:hover {
  background: #a8843e;
  color: #0d1b2a;
  transform: translateY(-1px);
}
.lp-rfp-btn--outline {
  background: transparent;
  color: rgba(255, 255, 255, 0.8);
  border: 1px solid rgba(255, 255, 255, 0.3);
}
.lp-rfp-btn--outline:hover {
  border-color: #fff;
  color: #fff;
}

/* Credential strip */
.lp-rfp-creds {
  background: #c09a52;
  padding: 2.5rem 0;
}
.lp-rfp-creds__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
}
.lp-rfp-cred {
  text-align: center;
}
.lp-rfp-cred__number {
  display: block;
  font-size: clamp(2rem, 3vw + 0.5rem, 3rem);
  font-weight: 800;
  color: #0d1b2a;
  letter-spacing: -0.04em;
  line-height: 1;
}
.lp-rfp-cred__label {
  display: block;
  font-size: 0.8rem;
  font-weight: 600;
  color: rgba(13, 27, 42, 0.7);
  margin-top: 0.375rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

/* Section utilities */
.lp-rfp-eyebrow {
  display: inline-block;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #c09a52;
  margin-bottom: 0.75rem;
}
.lp-rfp-eyebrow--light {
  color: rgba(192, 154, 82, 0.8);
}
.lp-rfp-section-title {
  font-size: clamp(1.75rem, 2.5vw + 0.3rem, 2.5rem);
  font-weight: 700;
  letter-spacing: -0.03em;
  color: var(--tg-heading-font-color, #0d1b2a);
  margin-bottom: 0.875rem;
  line-height: 1.15;
}
.lp-rfp-section-title--light {
  color: #fff;
}
.lp-rfp-section-lead {
  font-size: 1.0625rem;
  color: var(--tg-icon-color, #6b788a);
  line-height: 1.75;
}
.lp-section {
  padding: 80px 0;
}

/* Service cards */
.lp-rfp-svc-card {
  background: #fff;
  border: 1px solid var(--tg-border-color, #e2ddd7);
  border-radius: 12px;
  padding: 1.75rem;
  height: 100%;
  transition:
    box-shadow 0.2s ease,
    transform 0.2s ease,
    border-color 0.2s ease;
}
[data-bs-theme="dark"] .lp-rfp-svc-card {
  background: #0e1e2e;
  border-color: rgba(255, 255, 255, 0.08);
}
.lp-rfp-svc-card:hover {
  box-shadow: 0 8px 32px rgba(13, 27, 42, 0.1);
  transform: translateY(-4px);
  border-color: #c09a52;
}
.lp-rfp-svc-card__icon {
  width: 52px;
  height: 52px;
  background: rgba(192, 154, 82, 0.1);
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1.25rem;
}
.lp-rfp-svc-card__icon .material-symbols-sharp {
  font-size: 1.5rem;
  color: #c09a52;
}
.lp-rfp-svc-card__title {
  font-size: 1.1rem;
  font-weight: 700;
  margin-bottom: 0.625rem;
}
.lp-rfp-svc-card__text {
  font-size: 0.875rem;
  color: var(--tg-icon-color);
  line-height: 1.65;
  margin-bottom: 1rem;
}
.lp-rfp-svc-card__list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.lp-rfp-svc-card__list li {
  font-size: 0.8125rem;
  color: var(--tg-icon-color);
  padding: 0.3rem 0 0.3rem 1.25rem;
  position: relative;
}
.lp-rfp-svc-card__list li::before {
  content: "→";
  position: absolute;
  left: 0;
  color: #c09a52;
  font-size: 0.75rem;
}

/* Why section */
.lp-rfp-why {
  background: #0d1b2a;
}
.lp-rfp-why-card {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 12px;
  padding: 2rem;
  height: 100%;
  transition: border-color 0.2s ease;
}
.lp-rfp-why-card:hover {
  border-color: rgba(192, 154, 82, 0.5);
}
.lp-rfp-why-card__icon {
  width: 48px;
  height: 48px;
  background: rgba(192, 154, 82, 0.15);
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1.25rem;
}
.lp-rfp-why-card__icon .material-symbols-sharp {
  font-size: 1.4rem;
  color: #c09a52;
}
.lp-rfp-why-card h3 {
  font-size: 1.05rem;
  font-weight: 700;
  color: #fff;
  margin-bottom: 0.625rem;
}
.lp-rfp-why-card p {
  font-size: 0.875rem;
  color: rgba(255, 255, 255, 0.6);
  line-height: 1.7;
}

/* Process timeline */
.lp-rfp-process__steps {
  display: grid;
  grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr;
  align-items: start;
  gap: 0;
}
.lp-rfp-step {
  text-align: center;
  padding: 0 1rem;
}
.lp-rfp-step__number {
  display: inline-block;
  font-size: 3rem;
  font-weight: 800;
  color: rgba(192, 154, 82, 0.5);
  letter-spacing: -0.06em;
  line-height: 1;
  margin-bottom: 0.5rem;
}
.lp-rfp-step__icon {
  width: 64px;
  height: 64px;
  background: rgba(192, 154, 82, 0.1);
  border: 2px solid #c09a52;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 0.875rem;
}
.lp-rfp-step__icon .material-symbols-sharp {
  font-size: 1.5rem;
  color: #c09a52;
}
.lp-rfp-step__title {
  font-size: 1rem;
  font-weight: 700;
  margin-bottom: 0.5rem;
}
.lp-rfp-step__text {
  font-size: 0.8125rem;
  color: var(--tg-icon-color);
  line-height: 1.65;
}
.lp-rfp-step__connector {
  width: 40px;
  height: 2px;
  background: linear-gradient(90deg, #c09a52, rgba(192, 154, 82, 0.3));
  margin-top: 54px;
  flex-shrink: 0;
}

/* Criteria */
.lp-rfp-criteria__lead {
  font-size: 1.0625rem;
  color: var(--tg-icon-color);
  line-height: 1.7;
  margin-bottom: 1rem;
}
.lp-rfp-criteria__list {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
.lp-rfp-criterion {
  display: flex;
  gap: 1rem;
  align-items: flex-start;
}
.lp-rfp-criterion__icon .material-symbols-sharp {
  font-size: 1.4rem;
  color: #c09a52;
  font-variation-settings: "FILL" 1;
  flex-shrink: 0;
  margin-top: 0.1rem;
}
.lp-rfp-criterion h3 {
  font-size: 0.9375rem;
  font-weight: 700;
  margin-bottom: 0.35rem;
}
.lp-rfp-criterion p {
  font-size: 0.875rem;
  color: var(--tg-icon-color);
  line-height: 1.65;
  margin: 0;
}

/* Form section */
.lp-rfp-form-section {
  background: var(--tg-section-bg, #f8f9fa);
}
[data-bs-theme="dark"] .lp-rfp-form-section {
  background: rgba(255, 255, 255, 0.02);
}
.lp-rfp-form-card {
  background: #fff;
  border-radius: 16px;
  padding: 3rem;
  box-shadow: 0 4px 40px rgba(13, 27, 42, 0.08);
  border: 1px solid var(--tg-border-color, #e2ddd7);
}
[data-bs-theme="dark"] .lp-rfp-form-card {
  background: #0e1e2e;
  border-color: rgba(255, 255, 255, 0.08);
}
.lp-rfp-form-assurance {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  font-size: 0.8125rem;
  color: var(--tg-icon-color);
  background: rgba(192, 154, 82, 0.06);
  border: 1px solid rgba(192, 154, 82, 0.2);
  border-radius: 6px;
  padding: 0.75rem 1rem;
  margin-bottom: 2rem;
}
.lp-rfp-form-assurance__icon {
  font-size: 1rem;
  color: #c09a52;
  flex-shrink: 0;
}
.lp-rfp-form-fallback {
  text-align: center;
  color: var(--tg-icon-color);
}
.lp-rfp-form-fallback a {
  color: #c09a52;
}

/* Dark mode overrides */
[data-bs-theme="dark"] .lp-rfp-section-title {
  color: #e4eaf0;
}
[data-bs-theme="dark"] .lp-rfp-cred__number {
  color: #0d1b2a;
}

/* Responsive */
@media (max-width: 992px) {
  .lp-rfp-creds__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
  }
  .lp-rfp-process__steps {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
  .lp-rfp-step__connector {
    display: none;
  }
}
@media (max-width: 640px) {
  .lp-rfp-form-card {
    padding: 1.75rem;
  }
  .lp-rfp-creds__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* =============================================================================
   CASE STUDIES PAGE  (field_lp_page_type = 'case_studies')
============================================================================= */

/* ── Stats strip (below hero, gold band) ───────────────────────────────── */
.lp-cs-stats {
  background: #0d1b2a;
  padding: 2.5rem 0;
}
.lp-cs-stats__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
  text-align: center;
}
.lp-cs-stats__num {
  display: block;
  font-size: clamp(1.75rem, 2.5vw, 2.75rem);
  font-weight: 800;
  color: #c09a52;
  letter-spacing: -0.04em;
  line-height: 1;
}
.lp-cs-stats__label {
  display: block;
  font-size: 0.75rem;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.5);
  margin-top: 0.375rem;
  text-transform: uppercase;
  letter-spacing: 0.07em;
}

/* Grid header layout */
.lp-cs-grid-header {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 2rem;
  align-items: center;
  margin-bottom: 3rem;
}
.lp-cs-grid-header__lead {
  font-size: 1rem;
  color: var(--tg-icon-color, #6b788a);
  line-height: 1.75;
  max-width: 56ch;
  padding-top: 0.5rem;
}

/* Category tag palette */
.lp-cs-tag {
  display: inline-block;
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  padding: 0.25rem 0.7rem;
  border-radius: 20px;
  background: rgba(13, 27, 42, 0.07);
  color: #3d4a56;
}
.lp-cs-tag--strategy {
  background: #e8f0fe;
  color: #1a56db;
}
.lp-cs-tag--digital {
  background: #e8f5e9;
  color: #1b7a35;
}
.lp-cs-tag--leadership {
  background: #fff3e0;
  color: #bf5700;
}
.lp-cs-tag--operations {
  background: #fce4ec;
  color: #aa0050;
}
.lp-cs-tag--governance {
  background: #f3e8ff;
  color: #6d28d9;
}
[data-bs-theme="dark"] .lp-cs-tag {
  background: rgba(255, 255, 255, 0.08);
  color: #c8d0da;
}
.lp-cs-tag--sm {
  font-size: 0.65rem;
  padding: 0.18rem 0.55rem;
}

/* Eyebrow / section utilities */
.lp-cs-eyebrow {
  display: inline-block;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #c09a52;
  margin-bottom: 0.75rem;
}
.lp-cs-eyebrow--light {
  color: rgba(192, 154, 82, 0.8);
}
.lp-cs-section-title {
  font-size: clamp(1.75rem, 2.5vw + 0.3rem, 2.5rem);
  font-weight: 700;
  letter-spacing: -0.03em;
  color: var(--tg-heading-font-color, #0d1b2a);
  margin-bottom: 0.875rem;
  line-height: 1.15;
}
.lp-cs-section-title--light {
  color: #fff;
}
.lp-cs-section-lead {
  font-size: 1.0625rem;
  color: var(--tg-icon-color, #6b788a);
  line-height: 1.75;
}

/* ── Featured study ────────────────────────────────────────────────────── */
.lp-cs-featured {
  padding: 6rem 0;
  background: var(--tg-section-bg, #f8f9fa);
}
[data-bs-theme="dark"] .lp-cs-featured {
  background: rgba(255, 255, 255, 0.02);
}
.lp-cs-featured__inner {
  display: grid;
  grid-template-columns: 1fr 360px;
  gap: 4rem;
  align-items: start;
}
.lp-cs-featured__header {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 1.5rem;
}
.lp-cs-featured__sector {
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--tg-icon-color);
}
.lp-cs-featured__badge {
  margin-left: auto;
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  padding: 0.25rem 0.75rem;
  background: #c09a52;
  color: #0d1b2a;
  border-radius: 20px;
}
.lp-cs-featured__title {
  font-size: clamp(1.75rem, 2.5vw + 0.3rem, 2.5rem);
  font-weight: 700;
  letter-spacing: -0.03em;
  color: var(--tg-heading-font-color, #0d1b2a);
  margin-bottom: 2rem;
  line-height: 1.2;
}
[data-bs-theme="dark"] .lp-cs-featured__title {
  color: #e4eaf0;
}

/* Narrative blocks */
.lp-cs-narrative {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
.lp-cs-narrative__block {
  padding: 1.25rem 1.5rem;
  background: #fff;
  border-radius: 10px;
  border-left: 4px solid #c09a52;
  box-shadow: 0 2px 12px rgba(13, 27, 42, 0.05);
}
[data-bs-theme="dark"] .lp-cs-narrative__block {
  background: #0e1e2e;
}
.lp-cs-narrative__label {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #c09a52;
  margin-bottom: 0.625rem;
}
.lp-cs-narrative__label .material-symbols-sharp {
  font-size: 0.95rem;
}
.lp-cs-narrative__block p {
  font-size: 0.9375rem;
  color: var(--tg-body-font-color, #3d4a56);
  line-height: 1.75;
  margin: 0;
}
[data-bs-theme="dark"] .lp-cs-narrative__block p {
  color: #c8d0da;
}

/* Outcomes panel */
.lp-cs-outcomes-panel {
  background: #0d1b2a;
  border-radius: 14px;
  padding: 2rem;
  position: sticky;
  top: 100px;
  border: 1px solid rgba(192, 154, 82, 0.3);
}
.lp-cs-outcomes-panel__icon {
  width: 56px;
  height: 56px;
  background: rgba(192, 154, 82, 0.12);
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1.25rem;
}
.lp-cs-outcomes-panel__icon .material-symbols-sharp {
  font-size: 1.6rem;
  color: #c09a52;
}
.lp-cs-outcomes-panel__heading {
  font-size: 0.8rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: rgba(255, 255, 255, 0.5);
  margin-bottom: 1.25rem;
}
.lp-cs-outcomes-panel__row {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 0.875rem 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}
.lp-cs-outcomes-panel__row:last-of-type {
  border-bottom: none;
}
.lp-cs-outcomes-panel__metric {
  font-size: 1.5rem;
  font-weight: 800;
  color: #c09a52;
  letter-spacing: -0.03em;
  min-width: 80px;
  white-space: nowrap;
}
.lp-cs-outcomes-panel__desc {
  font-size: 0.8125rem;
  color: rgba(255, 255, 255, 0.6);
  line-height: 1.5;
}
.lp-cs-outcomes-panel__cta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  margin-top: 1.5rem;
  padding: 0.75rem;
  background: #c09a52;
  color: #0d1b2a;
  font-size: 0.875rem;
  font-weight: 700;
  border-radius: 8px;
  text-decoration: none;
  transition: background 0.18s ease;
}
.lp-cs-outcomes-panel__cta:hover {
  background: #a8843e;
  color: #0d1b2a;
}
.lp-cs-outcomes-panel__cta .material-symbols-sharp {
  font-size: 1rem;
}

/* ── Case study cards ──────────────────────────────────────────────────── */
.lp-cs-grid-section {
  background: #fff;
}
[data-bs-theme="dark"] .lp-cs-grid-section {
  background: transparent;
}
.lp-cs-card {
  background: #fff;
  border-radius: 12px;
  padding: 1.75rem;
  border: 1px solid var(--tg-border-color, #e2ddd7);
  border-top: 3px solid transparent;
  height: 100%;
  display: flex;
  flex-direction: column;
  transition:
    box-shadow 0.2s ease,
    transform 0.2s ease,
    border-color 0.2s ease;
}
[data-bs-theme="dark"] .lp-cs-card {
  background: #0e1e2e;
  border-color: rgba(255, 255, 255, 0.08);
}
.lp-cs-card:hover {
  box-shadow: 0 8px 32px rgba(13, 27, 42, 0.1);
  transform: translateY(-3px);
}
.lp-cs-card--strategy {
  border-top-color: #1a56db;
}
.lp-cs-card--digital {
  border-top-color: #1b7a35;
}
.lp-cs-card--leadership {
  border-top-color: #bf5700;
}
.lp-cs-card--operations {
  border-top-color: #aa0050;
}
.lp-cs-card--governance {
  border-top-color: #6d28d9;
}
.lp-cs-card__header {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 1rem;
}
.lp-cs-card__icon-wrap {
  width: 44px;
  height: 44px;
  background: rgba(192, 154, 82, 0.08);
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.lp-cs-card__icon {
  font-size: 1.3rem;
  color: #c09a52;
}
.lp-cs-card__meta {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  min-width: 0;
}
.lp-cs-card__sector {
  font-size: 0.75rem;
  color: var(--tg-icon-color);
  font-weight: 500;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.lp-cs-card__title {
  font-size: 1rem;
  font-weight: 700;
  color: var(--tg-heading-font-color, #0d1b2a);
  margin-bottom: 0.75rem;
  line-height: 1.4;
}
[data-bs-theme="dark"] .lp-cs-card__title {
  color: #e4eaf0;
}
.lp-cs-card__challenge {
  font-size: 0.875rem;
  color: var(--tg-icon-color);
  line-height: 1.65;
  flex: 1;
  margin-bottom: 1.25rem;
}
.lp-cs-card__outcomes {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  border-top: 1px solid var(--tg-border-color, #e2ddd7);
  padding-top: 1.25rem;
}
[data-bs-theme="dark"] .lp-cs-card__outcomes {
  border-color: rgba(255, 255, 255, 0.08);
}
.lp-cs-card__outcome {
  display: flex;
  align-items: center;
  gap: 0.625rem;
}
.lp-cs-card__outcome-metric {
  font-size: 1.1rem;
  font-weight: 800;
  color: #c09a52;
  letter-spacing: -0.02em;
  min-width: 60px;
  white-space: nowrap;
}
.lp-cs-card__outcome-label {
  font-size: 0.78rem;
  color: var(--tg-icon-color);
}

/* ── Methodology strip ─────────────────────────────────────────────────── */
.lp-cs-method {
  background: #0d1b2a;
  padding: 80px 0;
}
.lp-cs-method-card {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 12px;
  padding: 2rem;
  height: 100%;
  transition: border-color 0.2s ease;
}
.lp-cs-method-card:hover {
  border-color: rgba(192, 154, 82, 0.4);
}
.lp-cs-method-card__icon {
  width: 48px;
  height: 48px;
  background: rgba(192, 154, 82, 0.12);
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1.25rem;
}
.lp-cs-method-card__icon .material-symbols-sharp {
  font-size: 1.4rem;
  color: #c09a52;
}
.lp-cs-method-card h3 {
  font-size: 1.05rem;
  font-weight: 700;
  color: #fff;
  margin-bottom: 0.625rem;
}
.lp-cs-method-card p {
  font-size: 0.875rem;
  color: rgba(255, 255, 255, 0.58);
  line-height: 1.7;
  margin: 0;
}

/* ── CTA strip ─────────────────────────────────────────────────────────── */
.lp-cs-cta {
  background: linear-gradient(135deg, #0d1b2a 0%, #1a3a5c 100%);
  padding: 80px 0;
  border-top: 4px solid #c09a52;
}
.lp-cs-cta__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 2.5rem;
}
.lp-cs-cta__title {
  font-size: clamp(1.75rem, 2.5vw, 2.25rem);
  font-weight: 700;
  color: #fff;
  letter-spacing: -0.03em;
  margin-bottom: 0.625rem;
}
.lp-cs-cta__lead {
  font-size: 1rem;
  color: rgba(255, 255, 255, 0.62);
  line-height: 1.7;
  max-width: 56ch;
  margin: 0;
}
.lp-cs-cta__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.875rem;
  align-items: center;
  flex-shrink: 0;
}
.lp-cs-cta-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.875rem 1.75rem;
  font-size: 1rem;
  font-weight: 700;
  border-radius: 8px;
  text-decoration: none;
  white-space: nowrap;
  transition:
    background 0.18s ease,
    transform 0.15s ease;
}
.lp-cs-cta-btn .material-symbols-sharp {
  font-size: 1.1rem;
}
.lp-cs-cta-btn--gold {
  background: #c09a52;
  color: #0d1b2a;
}
.lp-cs-cta-btn--gold:hover {
  background: #a8843e;
  color: #0d1b2a;
  transform: translateY(-1px);
}
.lp-cs-cta-btn--outline {
  background: transparent;
  color: rgba(255, 255, 255, 0.8);
  border: 1px solid rgba(255, 255, 255, 0.3);
}
.lp-cs-cta-btn--outline:hover {
  border-color: #fff;
  color: #fff;
}

/* ── Responsive ────────────────────────────────────────────────────────── */
@media (max-width: 1024px) {
  .lp-cs-featured__inner {
    grid-template-columns: 1fr;
  }
  .lp-cs-outcomes-panel {
    position: static;
  }
  .lp-cs-grid-header {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
}
@media (max-width: 768px) {
  .lp-cs-stats__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
  }
  .lp-cs-cta__inner {
    flex-direction: column;
    align-items: flex-start;
  }
}
@media (max-width: 640px) {
  .lp-cs-cta__actions {
    width: 100%;
    flex-direction: column;
  }
  .lp-cs-cta-btn {
    width: 100%;
    justify-content: center;
  }
}

/* ═══════════════════════════════════════════════════════════════════════════
   PODCASTS PAGE
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── Featured / latest episode ────────────────────────────────────────────── */
.lp-podcast-featured {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  gap: 0;
  background: var(--lp-white);
  border: 1px solid var(--lp-border);
  border-radius: var(--lp-radius);
  overflow: hidden;
  text-decoration: none;
  color: inherit;
  margin-bottom: 2.5rem;
  transition:
    box-shadow var(--lp-transition),
    border-color var(--lp-transition);
}
.lp-podcast-featured:hover {
  box-shadow: var(--lp-shadow-lg);
  border-color: rgba(192, 154, 82, 0.3);
}
[data-bs-theme="dark"] .lp-podcast-featured {
  background: var(--lp-surface);
  border-color: rgba(255, 255, 255, 0.08);
}
.lp-podcast-featured__media {
  position: relative;
  min-height: 280px;
}
.lp-podcast-featured__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.lp-podcast-featured__media-fallback {
  width: 100%;
  height: 100%;
  min-height: 280px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, var(--lp-navy) 0%, var(--lp-navy-2) 100%);
}
.lp-podcast-featured__media-fallback .material-symbols-sharp {
  font-size: 3.5rem;
  color: var(--lp-gold);
}
.lp-podcast-featured__play {
  position: absolute;
  inset: 0;
  margin: auto;
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: var(--lp-gold);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 18px rgba(192, 154, 82, 0.4);
  transition: transform var(--lp-transition);
}
.lp-podcast-featured:hover .lp-podcast-featured__play {
  transform: scale(1.08);
}
.lp-podcast-featured__play .material-symbols-sharp {
  font-size: 2rem;
  color: var(--lp-navy);
}
.lp-podcast-featured__body {
  padding: 2.5rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.lp-podcast-featured__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 1rem;
}
.lp-podcast-tag {
  display: inline-flex;
  align-items: center;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--lp-navy);
  background: var(--lp-gold);
  border-radius: 999px;
  padding: 0.3rem 0.75rem;
}
.lp-podcast-badge {
  display: inline-flex;
  align-items: center;
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--lp-muted);
  border: 1px solid var(--lp-border);
  border-radius: 999px;
  padding: 0.3rem 0.75rem;
}
.lp-podcast-badge--muted {
  text-transform: uppercase;
  letter-spacing: 0.04em;
  font-size: 0.7rem;
}
.lp-podcast-featured__title {
  font-family: var(--lp-font);
  font-size: clamp(1.375rem, 1.6vw + 0.6rem, 1.875rem);
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--lp-heading);
  line-height: 1.3;
  margin-bottom: 0.75rem;
}
.lp-podcast-featured__summary {
  font-size: 0.95rem;
  color: var(--lp-muted);
  line-height: 1.7;
  margin-bottom: 1.5rem;
}
.lp-podcast-featured__duration {
  font-weight: 500;
  opacity: 0.75;
}

/* ── Episode grid ──────────────────────────────────────────────────────────── */
.lp-podcast-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}
.lp-podcast-card {
  display: flex;
  flex-direction: column;
  background: var(--lp-white);
  border: 1px solid var(--lp-border);
  border-radius: var(--lp-radius);
  overflow: hidden;
  text-decoration: none;
  color: inherit;
  transition:
    box-shadow var(--lp-transition),
    border-color var(--lp-transition),
    transform var(--lp-transition);
}
.lp-podcast-card:hover {
  box-shadow: var(--lp-shadow-md);
  border-color: rgba(192, 154, 82, 0.3);
  transform: translateY(-2px);
}
[data-bs-theme="dark"] .lp-podcast-card {
  background: var(--lp-surface);
  border-color: rgba(255, 255, 255, 0.08);
}
.lp-podcast-card__media {
  position: relative;
  aspect-ratio: 16 / 10;
}
.lp-podcast-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.lp-podcast-card__media-fallback {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, var(--lp-navy) 0%, var(--lp-navy-2) 100%);
}
.lp-podcast-card__media-fallback .material-symbols-sharp {
  font-size: 2.25rem;
  color: var(--lp-gold);
}
.lp-podcast-card__body {
  padding: 1.5rem;
}
.lp-podcast-card__title {
  font-family: var(--lp-font);
  font-size: 1.05rem;
  font-weight: 700;
  letter-spacing: -0.01em;
  color: var(--lp-heading);
  line-height: 1.35;
  margin: 0.625rem 0 0.5rem;
}
.lp-podcast-card__summary {
  font-size: 0.875rem;
  color: var(--lp-muted);
  line-height: 1.65;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* ── Empty state (no published episodes yet) ─────────────────────────────── */
.lp-podcast-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.75rem;
  text-align: center;
  padding: 3.5rem 2rem;
  border: 1px dashed var(--lp-border);
  border-radius: var(--lp-radius);
  color: var(--lp-muted);
}
.lp-podcast-empty .material-symbols-sharp {
  font-size: 2.5rem;
  color: var(--lp-gold);
}

/* ── Platform link cards ───────────────────────────────────────────────────── */
.lp-platform-card {
  text-decoration: none;
  color: inherit;
  display: block;
  cursor: pointer;
}

/* ── Responsive ────────────────────────────────────────────────────────────── */
@media (max-width: 1024px) {
  .lp-podcast-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 900px) {
  .lp-podcast-featured {
    grid-template-columns: 1fr;
  }
  .lp-podcast-featured__media,
  .lp-podcast-featured__media-fallback {
    min-height: 220px;
  }
}
@media (max-width: 640px) {
  .lp-podcast-grid {
    grid-template-columns: 1fr;
  }
}

/* ═══════════════════════════════════════════════════════════════════════════
   START A CHAPTER — FIT & ENGAGEMENT MODELS
   ═══════════════════════════════════════════════════════════════════════════ */

/* "Built to fit your institution" — three-card grid */
.lp-fit-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}

/* Engagement-model package groups & cards */
.lp-pkg-group {
  margin-top: 3rem;
}
.lp-pkg-group__heading {
  font-size: 1.0625rem;
  font-weight: 700;
  letter-spacing: -0.01em;
  color: var(--lp-heading);
  margin-bottom: 1.25rem;
}
[data-bs-theme="dark"] .lp-pkg-group__heading {
  color: #e4eaf0;
}
.lp-pkg-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25rem;
}
.lp-pkg-grid--2 {
  grid-template-columns: repeat(2, 1fr);
}
.lp-pkg-card {
  background: var(--lp-white);
  border: 1px solid var(--lp-border);
  border-radius: var(--lp-radius);
  padding: 1.75rem;
  display: flex;
  flex-direction: column;
  transition:
    box-shadow var(--lp-transition),
    border-color var(--lp-transition);
}
.lp-pkg-card:hover {
  box-shadow: var(--lp-shadow-md);
  border-color: rgba(192, 154, 82, 0.25);
}
[data-bs-theme="dark"] .lp-pkg-card {
  background: var(--lp-surface);
  border-color: rgba(255, 255, 255, 0.08);
}
.lp-pkg-card h3 {
  font-size: 1.125rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.3;
  color: var(--lp-heading);
  margin-bottom: 0.625rem;
}
[data-bs-theme="dark"] .lp-pkg-card h3 {
  color: #e4eaf0;
}
.lp-pkg-card p {
  font-size: 0.9375rem;
  color: var(--lp-muted);
  line-height: 1.6;
}
.lp-pkg-card__price {
  margin-top: 1.25rem;
  padding-top: 1.25rem;
  border-top: 1px solid var(--lp-border);
}
[data-bs-theme="dark"] .lp-pkg-card__price {
  border-color: rgba(255, 255, 255, 0.08);
}
.lp-pkg-card__price-band {
  font-size: clamp(1.25rem, 1.6vw, 1.5rem);
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--lp-gold);
  line-height: 1.2;
}
.lp-pkg-card__price-label {
  font-size: 0.8125rem;
  color: var(--lp-muted);
  margin-top: 0.25rem;
}
.lp-pkg-card__positioning {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px dashed var(--lp-border);
  font-size: 0.875rem;
  font-style: italic;
  line-height: 1.55;
  color: var(--lp-heading);
}
[data-bs-theme="dark"] .lp-pkg-card__positioning {
  color: #e4eaf0;
  border-color: rgba(255, 255, 255, 0.12);
}

/* "Your chapter can become self-funding" callout */
.lp-pkg-extra {
  margin-top: 2.5rem;
  padding: 2rem;
  background: var(--lp-gold-bg);
  border: 1px solid var(--lp-gold-border);
  border-radius: var(--lp-radius);
}
.lp-pkg-extra__heading {
  font-size: 1.1875rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--lp-heading);
  margin-bottom: 0.5rem;
}
[data-bs-theme="dark"] .lp-pkg-extra__heading {
  color: #e4eaf0;
}
.lp-pkg-extra__lead {
  font-size: 0.9375rem;
  color: var(--lp-muted);
  line-height: 1.6;
  margin-bottom: 1.5rem;
}
.lp-pkg-extra-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25rem;
}
.lp-pkg-extra-card__val {
  font-size: clamp(1.125rem, 1.6vw, 1.375rem);
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.2;
  color: var(--lp-heading);
  margin-bottom: 0.5rem;
}
[data-bs-theme="dark"] .lp-pkg-extra-card__val {
  color: #e4eaf0;
}
.lp-pkg-extra-card__label {
  font-size: 0.875rem;
  color: var(--lp-muted);
  line-height: 1.55;
}

@media (max-width: 900px) {
  .lp-fit-grid,
  .lp-pkg-grid,
  .lp-pkg-grid--2,
  .lp-pkg-extra-grid {
    grid-template-columns: 1fr;
  }
}
     1	
     2	/* ═══════════════════════════════════════════════════════════════════════════
     3	   PODCASTS / WEBINARS ARCHIVES — paginated two-column listing
     4	   ═══════════════════════════════════════════════════════════════════════════ */
     5	
     6	.lp-archive-header {
     7	  margin-bottom: 3rem;
     8	}
     9	.lp-archive-back {
    10	  display: inline-flex;
    11	  align-items: center;
    12	  gap: 0.375rem;
    13	  font-size: 0.875rem;
    14	  font-weight: 600;
    15	  color: var(--lp-muted);
    16	  text-decoration: none;
    17	  margin-bottom: 1.5rem;
    18	  transition: color var(--lp-transition);
    19	}
    20	.lp-archive-back:hover {
    21	  color: var(--lp-gold);
    22	}
    23	.lp-archive-back .material-symbols-sharp {
    24	  font-size: 1.1rem;
    25	}
    26	
    27	.lp-archive-grid {
    28	  display: grid;
    29	  grid-template-columns: repeat(2, 1fr);
    30	  gap: 1.5rem;
    31	}
    32	.lp-archive-card {
    33	  display: flex;
    34	  gap: 1.25rem;
    35	  background: var(--lp-white);
    36	  border: 1px solid var(--lp-border);
    37	  border-radius: var(--lp-radius);
    38	  overflow: hidden;
    39	  text-decoration: none;
    40	  color: inherit;
    41	  transition:
    42	    box-shadow var(--lp-transition),
    43	    border-color var(--lp-transition),
    44	    transform var(--lp-transition);
    45	}
    46	.lp-archive-card:hover {
    47	  box-shadow: var(--lp-shadow-md);
    48	  border-color: rgba(192, 154, 82, 0.3);
    49	  transform: translateY(-2px);
    50	}
    51	[data-bs-theme="dark"] .lp-archive-card {
    52	  background: var(--lp-surface);
    53	  border-color: rgba(255, 255, 255, 0.08);
    54	}
    55	.lp-archive-card__media {
    56	  position: relative;
    57	  flex: 0 0 38%;
    58	  aspect-ratio: 4 / 3;
    59	}
    60	.lp-archive-card__media img {
    61	  width: 100%;
    62	  height: 100%;
    63	  object-fit: cover;
    64	  display: block;
    65	}
    66	.lp-archive-card__media-fallback {
    67	  width: 100%;
    68	  height: 100%;
    69	  display: flex;
    70	  align-items: center;
    71	  justify-content: center;
    72	  background: linear-gradient(135deg, var(--lp-navy) 0%, var(--lp-navy-2) 100%);
    73	}
    74	.lp-archive-card__media-fallback .material-symbols-sharp {
    75	  font-size: 2.25rem;
    76	  color: var(--lp-gold);
    77	}
    78	.lp-archive-card__body {
    79	  padding: 1.25rem 1.5rem 1.25rem 0;
    80	  display: flex;
    81	  flex-direction: column;
    82	  flex: 1;
    83	  min-width: 0;
    84	}
    85	.lp-archive-card__meta {
    86	  display: flex;
    87	  flex-wrap: wrap;
    88	  gap: 0.5rem;
    89	  margin-bottom: 0.625rem;
    90	}
    91	.lp-archive-card__title {
    92	  font-family: var(--lp-font);
    93	  font-size: 1.1rem;
    94	  font-weight: 700;
    95	  letter-spacing: -0.01em;
    96	  color: var(--lp-heading);
    97	  line-height: 1.35;
    98	  margin: 0 0 0.5rem;
    99	}
   100	.lp-archive-card__summary {
   101	  font-size: 0.875rem;
   102	  color: var(--lp-muted);
   103	  line-height: 1.65;
   104	  display: -webkit-box;
   105	  -webkit-line-clamp: 3;
   106	  -webkit-box-orient: vertical;
   107	  overflow: hidden;
   108	  margin-bottom: 1rem;
   109	}
   110	.lp-archive-card__cta {
   111	  margin-top: auto;
   112	  display: inline-flex;
   113	  align-items: center;
   114	  gap: 0.375rem;
   115	  font-size: 0.875rem;
   116	  font-weight: 700;
   117	  color: var(--lp-gold);
   118	}
   119	.lp-archive-card__cta .material-symbols-sharp {
   120	  font-size: 1.1rem;
   121	  transition: transform var(--lp-transition);
   122	}
   123	.lp-archive-card:hover .lp-archive-card__cta .material-symbols-sharp {
   124	  transform: translateX(3px);
   125	}
   126	.lp-archive-card__duration {
   127	  color: var(--lp-muted);
   128	  font-weight: 500;
   129	}
   130	
   131	/* ── "View all" link under the landing-page episode/session grids ───────── */
   132	.lp-archive-cta {
   133	  display: flex;
   134	  justify-content: center;
   135	  margin-top: 2.5rem;
   136	}
   137	
   138	/* ── Pager ────────────────────────────────────────────────────────────────── */
   139	.lp-archive-pager {
   140	  display: flex;
   141	  align-items: center;
   142	  justify-content: center;
   143	  gap: 1rem;
   144	  margin-top: 3rem;
   145	}
   146	.lp-archive-pager__pages {
   147	  display: flex;
   148	  align-items: center;
   149	  gap: 0.375rem;
   150	  flex-wrap: wrap;
   151	  justify-content: center;
   152	}
   153	.lp-archive-pager__btn,
   154	.lp-archive-pager__page {
   155	  display: flex;
   156	  align-items: center;
   157	  justify-content: center;
   158	  min-width: 2.5rem;
   159	  height: 2.5rem;
   160	  padding: 0 0.75rem;
   161	  border-radius: 999px;
   162	  border: 1px solid var(--lp-border);
   163	  font-size: 0.875rem;
   164	  font-weight: 600;
   165	  color: var(--lp-heading);
   166	  text-decoration: none;
   167	  background: var(--lp-white);
   168	  transition: all var(--lp-transition);
   169	}
   170	[data-bs-theme="dark"] .lp-archive-pager__btn,
   171	[data-bs-theme="dark"] .lp-archive-pager__page {
   172	  background: var(--lp-surface);
   173	}
   174	.lp-archive-pager__btn:hover,
   175	.lp-archive-pager__page:hover {
   176	  border-color: var(--lp-gold);
   177	  color: var(--lp-gold);
   178	}
   179	.lp-archive-pager__btn--disabled {
   180	  opacity: 0.35;
   181	  pointer-events: none;
   182	}
   183	.lp-archive-pager__page--current,
   184	.lp-archive-pager__page--current:hover {
   185	  background: var(--lp-gold);
   186	  border-color: var(--lp-gold);
   187	  color: #ffffff;
   188	}
   189	.lp-archive-pager__ellipsis {
   190	  color: var(--lp-muted);
   191	  padding: 0 0.25rem;
   192	}
   193	
   194	/* ── Responsive ───────────────────────────────────────────────────────────── */
   195	@media (max-width: 900px) {
   196	  .lp-archive-grid {
   197	    grid-template-columns: 1fr;
   198	  }
   199	  .lp-archive-card {
   200	    flex-direction: column;
   201	  }
   202	  .lp-archive-card__media {
   203	    flex: none;
   204	    aspect-ratio: 16 / 10;
   205	  }
   206	  .lp-archive-card__body {
   207	    padding: 1.25rem;
   208	  }
   209	}
