/* Layout polish for the larger type scale. Load after styles and typography. */
:root {
  --section-space: clamp(60px, 7vw, 104px);
  --card-radius: 18px;
  --card-border: #2b425f;
}

.wrap { width: min(1180px, calc(100% - 64px)); }
.section { padding-block: var(--section-space); }
.hero { padding-block: clamp(40px, 5vw, 72px) 48px; }
.hero h1 { margin-top: 0; margin-bottom: 24px; }
.hero .lead { margin-bottom: 36px; }
.film-card { margin-bottom: 30px; border-radius: var(--card-radius); }
.workshop-privacy { padding: 14px 20px 18px; }
.hero-secondary { vertical-align: middle; }

.benefits { gap: 20px; padding-block: 28px 36px; }
.benefits article {
  min-width: 0;
  padding: 32px 24px;
  border-color: var(--card-border);
  border-radius: var(--card-radius);
  background: linear-gradient(145deg, #101e30, #080e17);
}
.benefits h2 { margin-block: 16px 12px; }
.benefit-icon { display: inline-block; line-height: 1; }

.split, .coach-story {
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
  gap: clamp(32px, 5vw, 72px);
}
.split > *, .coach-story > *, .faq-section > * { min-width: 0; }
.body-copy { margin-bottom: 28px; }
.check-row { align-items: flex-start; gap: 18px; margin-block: 22px; }
.check-row > span { flex-shrink: 0; line-height: 1.3; }
.learning-panel, .event-note {
  padding: clamp(26px, 3vw, 40px);
  border-radius: var(--card-radius);
  border-color: #375476;
  background: linear-gradient(145deg, #12263e, #091321);
  box-shadow: 0 18px 48px #0003;
}
.learning-step { gap: 22px; padding-block: 28px; }
.learning-step:first-child { padding-top: 0; }
.learning-step:last-child { padding-bottom: 0; border-bottom: 0; }
.learning-step > span { flex-shrink: 0; color: #91b4e9; }
.learning-step h3 { margin-bottom: 9px; }
.event-note h3 { margin-top: 0; }
.event-note dl { margin-block: 28px 18px; }
.event-note dl div { padding-block: 16px; }
.event-note dd { max-width: 65%; }

.testimonial-heading { align-items: end; gap: 32px; margin-bottom: 36px; }
.testimonial-grid { gap: 24px; align-items: stretch; }
.testimonial-card {
  display: flex;
  flex-direction: column;
  flex-basis: calc((100% - 48px) / 3);
  border-color: var(--card-border);
  border-radius: var(--card-radius);
  background: #0d1929;
}
.testimonial-card .video-shell { flex-shrink: 0; }
.testimonial-caption { padding: 18px 20px; min-height: 84px; }
.media-service-note { margin-top: 24px; }

.faq-section { grid-template-columns: minmax(0, .8fr) minmax(0, 1.3fr); gap: 56px; }
.faq-list details { padding: 22px 24px; margin-bottom: 14px; border-radius: 14px; }
.faq-list summary { align-items: center; gap: 24px; }
.faq-list details[open] { border-color: #6383af; background: #0e1c2e; }
.faq-list p { margin-top: 20px; }
.faq-list details:last-child { margin-bottom: 0; }

.join-section {
  padding: clamp(40px, 6vw, 72px) clamp(24px, 5vw, 64px);
  border-radius: 24px;
  border-color: #466995;
  background: radial-gradient(ellipse at 50% 0%, #204774aa, #0a1423 75%);
}
.join-section h2 { max-width: 22ch; margin-inline: auto; }
.join-section .destination-note { margin-top: 26px; }
.risk-note { padding-block: 36px; align-items: baseline; }
.footer { padding-block: 36px; }
.footer-links { flex-wrap: wrap; column-gap: 28px; row-gap: 8px; }

@media (max-width: 1000px) {
  .split, .coach-story { grid-template-columns: minmax(0, 1fr); gap: 36px; }
  .learning-panel, .event-note { max-width: 760px; width: 100%; }
  .faq-section { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .testimonial-heading { flex-direction: column; align-items: start; gap: 18px; }
  .testimonial-heading > p { max-width: 50ch; }
}

@media (max-width: 900px) {
  .testimonial-card { flex-basis: calc((100% - 24px) / 2); }
}

@media (max-width: 700px) {
  .wrap { width: calc(100% - 40px); }
  .hero { padding-block: 32px 28px; }
  .hero .lead { margin-bottom: 28px; }
  .hero-secondary { margin: 14px 0 0; }
  .film-card { border-radius: 14px; }
  .workshop-privacy { padding: 14px 16px 16px; }
  .benefits { padding-block: 24px 12px; gap: 14px; }
  .benefits article { padding: 26px 22px; column-gap: 18px; }
  .benefits h2 { margin-block: 0 8px; }
  .learning-panel, .event-note { padding: 28px 24px; }
  .event-note dl div { gap: 18px; }
  .testimonial-caption { min-height: 78px; padding: 16px 18px; }
  .faq-list details { padding: 20px; }
  .faq-list summary { gap: 16px; }
  .risk-note { display: block; }
  .risk-note p { margin-top: 12px; }
}

@media (max-width: 600px) {
  .testimonial-grid { gap: 20px; }
  .testimonial-card { flex-basis: 100%; }
  .testimonial-card .video-shell { aspect-ratio: 16 / 10; }
}

@media (max-width: 380px) {
  .wrap { width: calc(100% - 32px); }
  .learning-panel, .event-note { padding: 24px 20px; }
  .learning-step { gap: 16px; }
  .join-section { padding-inline: 20px; }
}

/* Keep film metadata clear of the larger poster heading on narrow screens. */
@media (max-width: 700px) {
  .workshop-play .video-duration { top: 14px; right: 14px; bottom: auto; }
}
