/* Template 01 — presentation-only refinement for the high-risk container page */
:root {
  --cnt-canvas: #fffefa;
  --cnt-canvas-alt: #eaf1f6;
  --cnt-card: #fffefa;
  --cnt-navy: #0b1731;
  --cnt-navy-mid: #132440;
  --cnt-gold: #d8ae35;
  --cnt-zen: #657185;
  --cnt-bd-lt: rgba(19, 36, 64, .12);
  --cnt-sh-sm: 0 18px 48px -38px rgba(11, 23, 49, .38);
  --cnt-sh-md: 0 24px 56px -38px rgba(11, 23, 49, .48);
  --cnt-sh-lg: 0 28px 64px -40px rgba(11, 23, 49, .55);
}

.cnt-hero {
  min-height: clamp(680px, 86svh, 840px);
  padding: 160px 24px 96px;
  background: var(--cnt-navy);
}
.cnt-hero-video {
  display: block;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: .16;
}
.cnt-hero-overlay { background: radial-gradient(ellipse 80% 55% at 50% 0%, rgba(216,174,53,.14), transparent 55%), linear-gradient(180deg, rgba(11,23,49,.72), rgba(11,23,49,.96)); }
.cnt-hero-inner { max-width: 900px; }
.cnt-hero-badge { margin-bottom: 32px; border-radius: 999px; }
.cnt-hero-h1 { font-family: var(--f-semibold); font-size: clamp(36px, 4vw, 52px); font-weight: 650; line-height: 1.4; }
.cnt-hero-sub { max-width: 720px; margin-bottom: 32px; font-size: 17px; line-height: 2; }
.cnt-hero-scroll { animation: none; }

.cnt-btn-gold,
.cnt-btn-outline {
  min-height: 48px;
  padding: 12px 24px;
  border-radius: 14px;
  font-family: var(--f-semibold);
  font-size: 15px;
  font-weight: 600;
  transition: transform 280ms var(--ease), background 280ms var(--ease), color 280ms var(--ease), border-color 280ms var(--ease), box-shadow 280ms var(--ease);
}
.cnt-btn-gold:hover, .cnt-btn-outline:hover { transform: translateY(-2px); }
.cnt-btn-gold:active, .cnt-btn-outline:active { transform: translateY(0); }
.cnt-btn-gold:focus-visible, .cnt-btn-outline:focus-visible { outline: 2px solid var(--cnt-gold); outline-offset: 3px; }

.cnt-sec { padding-block: 96px; }
.cnt-wrap { max-width: 1180px; }
.cnt-wrap-narrow { max-width: 760px; }
.cnt-sec-title { font-family: var(--f-semibold); font-size: clamp(28px, 3.6vw, 44px); font-weight: 650; line-height: 1.5; }
.cnt-sec-body { color: #657185; line-height: 2; }
.cnt-eyebrow { font-family: var(--f-medium); font-weight: 500; letter-spacing: .08em; }

.cnt-coaches-grid,
.cnt-program-grid,
.cnt-whom-grid,
.cnt-testimonials-grid { gap: 24px; }

.cnt-coach-card,
.cnt-program-grid > *,
.cnt-whom-card,
.cnt-testimonial-card,
.cnt-price-box,
.cnt-faq-item {
  border-color: var(--cnt-bd-lt);
  border-radius: 18px;
  box-shadow: var(--cnt-sh-sm);
}
.cnt-coach-card { padding: 32px; }
.cnt-coach-card:hover { transform: translateY(-2px); box-shadow: var(--cnt-sh-md); }
.cnt-coach-name,
.cnt-whom-label,
.cnt-testimonial-name { font-family: var(--f-semibold); font-weight: 600; }
.cnt-program-stat { border-radius: 18px; }
.cnt-price-box { padding: 48px; }

.cnt-audio-player { border-radius: 14px; }
.cnt-audio-play {
  width: 48px;
  height: 48px;
  flex: 0 0 48px;
  border-radius: 12px;
}
.cnt-audio-play:focus-visible,
.cnt-faq-q:focus-visible { outline: 2px solid var(--cnt-gold); outline-offset: 3px; }
.cnt-audio-time { font-variant-numeric: tabular-nums; }

.cnt-faq-wrap { max-width: 860px; margin-top: 48px; }
.cnt-faq-item { margin-bottom: 12px; background: var(--cnt-card); }
.cnt-faq-item:hover { transform: none; border-color: rgba(216,174,53,.28); }
.cnt-faq-q { min-height: 64px; padding: 20px 24px; }
.cnt-faq-q-text { font-family: var(--f-medium); font-weight: 500; }
.cnt-faq-toggle { border-radius: 10px; }
.cnt-faq-body-inner p { line-height: 2; }

.cnt-cta-band { padding-block: 80px; background: var(--cnt-navy); }
.cnt-cta-title { font-family: var(--f-semibold); font-weight: 650; line-height: 1.5; }

@media (max-width: 920px) {
  .cnt-hero { min-height: 720px; padding-block: 144px 80px; }
  .cnt-sec { padding-block: 64px; }
  .cnt-coaches-grid, .cnt-program-grid, .cnt-testimonials-grid { gap: 16px; }
  .cnt-price-box { padding: 32px; }
}

@media (max-width: 560px) {
  .cnt-hero { min-height: 700px; padding: 128px 16px 64px; }
  .cnt-hero-h1 { font-size: clamp(32px, 10vw, 42px); }
  .cnt-hero-sub { font-size: 15px; }
  .cnt-hero-cta { flex-direction: column; }
  .cnt-btn-gold, .cnt-btn-outline { width: 100%; }
  .cnt-sec { padding: 64px 16px; }
  .cnt-coach-card, .cnt-whom-card, .cnt-testimonial-card, .cnt-price-box { padding: 24px; }
  .cnt-faq-q { padding: 16px; }
  .cnt-audio-controls { gap: 12px; }
}

@media (prefers-reduced-motion: reduce) {
  .cnt-hero-badge span, .cnt-hero-scroll { animation: none !important; }
  .cnt-reveal, .cnt-coach-card, .cnt-btn-gold, .cnt-btn-outline { transition-duration: .01ms !important; animation: none !important; }
}
