/* Phone layout: compact rhythm, readable copy and comfortable touch targets. */
.cta-mobile-label { display:none; }
@media(max-width:820px) {
  .trackrecord-section { grid-template-columns:minmax(0,1fr); }
  .trackrecord-intro .body-copy { max-width:52ch; }
  .record-panel { width:100%;max-width:620px;justify-self:center; }
}
@media(max-width:760px) {
  .wrap { width:calc(100% - 40px); }
  .section { padding-block:56px; }
  .section h2,.join-section h2 { font-size:clamp(32px,7.9vw,40px);line-height:1.16;letter-spacing:-.045em;margin-top:0; }
  .body-copy { font-size:18px;line-height:1.65; }
  .preview-note { font-size:14px;line-height:1.5;padding:10px 20px; }
  .header { padding-block:18px;gap:16px 12px; }
  .header .brand { font-size:24px; }
  .header .small-cta { min-height:48px;max-width:none;padding:10px 16px;gap:8px;white-space:nowrap; }
  .cta-desktop-label { display:none; }
  .cta-mobile-label { display:inline; }
  .header nav { min-width:0;width:100%;padding:4px;gap:4px;border-radius:20px; }
  .header nav a { min-height:48px;padding:10px 8px;font-size:16px; }
  .hero { padding-block:32px 36px; }
  .hero h1 { font-size:clamp(36px,9.5vw,48px);line-height:1.12;letter-spacing:-.055em;margin-bottom:22px; }
  .hero .lead { font-size:18px;line-height:1.6;margin-bottom:28px; }
  .film-card { margin-bottom:24px; }
  .hero .hero-cta,.join-section .button { display:flex;width:100%;min-height:56px;padding:14px 16px;gap:10px; }
  .hero-secondary { display:flex;justify-content:center;min-height:48px;margin:8px 0 0; }
  .hero-foot { margin-top:12px; }
  .workshop-location { top:10px;left:10px;font-size:12px;line-height:1.5;letter-spacing:.035em; }
  .workshop-play .video-duration { top:10px;right:10px;font-size:13px;padding:4px 7px; }
  .video-play,.workshop-play .video-play { width:52px;height:52px; }
  .benefits { display:grid;grid-template-columns:1fr;gap:24px;padding-block:12px 48px; }
  .benefits article { padding-top:22px;grid-template-columns:30px 1fr;column-gap:14px; }
  .benefits h2 { font-size:22px;line-height:1.3;margin:0 0 8px; }
  .benefits p { font-size:18px;line-height:1.6; }
  .benefit-icon svg { width:27px;height:27px; }
  .coach-story { gap:28px; }
  .coach-story .body-copy { margin-top:22px;margin-bottom:22px; }
  .coach-story .text-link { margin-right:20px;margin-left:0;min-height:48px; }
  .event-note { min-height:0;padding:28px;border-radius:20px; }
  .event-note h3 { max-width:none;font-size:30px;line-height:1.2;margin-bottom:0; }
  .event-note dl { margin-block:20px 12px; }
  .event-note dl div { padding-block:14px; }
  .event-note>a { min-height:48px; }
  .trackrecord-section { gap:28px; }
  .trackrecord-intro .body-copy { margin-block:22px 24px; }
  .record-panel { padding:24px;border-radius:20px; }
  .record-source-row { gap:4px 10px;padding-bottom:16px; }
  .record-heading { margin-block:20px; }
  .record-heading h3 { font-size:28px;line-height:1.25;margin-bottom:8px; }
  .record-heading p { line-height:1.55; }
  .record-verification>p { margin-bottom:10px; }
  .record-verification ul { gap:10px 18px;margin-bottom:22px; }
  .record-metrics { gap:22px 20px;padding-block:22px; }
  .record-metrics dt { margin-bottom:8px; }
  .record-metrics .record-gain dd { font-size:52px; }
  .record-metrics dd { font-size:36px; }
  .record-provenance { padding-top:18px; }
  .record-provenance p { line-height:1.55; }
  .record-context,.member-results-context { font-size:16px;line-height:1.65; }
  .testimonial-heading { margin-bottom:28px; }
  .testimonial-heading h2 { margin-bottom:0;overflow-wrap:anywhere; }
  .testimonial-grid { gap:24px; }
  .testimonial-card { min-width:0; }
  .testimonial-caption { min-height:48px;padding-top:8px;align-items:center; }
  .testimonial-caption h3 { margin:0;font-size:20px; }
  .media-service-note { margin-top:24px; }
  .member-results { gap:24px; }
  .member-results-copy .body-copy { margin-block:22px; }
  .member-results-media { width:100%;justify-self:center; }
  .member-results-media figcaption { margin-top:14px; }
  .faq-section { gap:24px; }
  .faq-section h2 { margin-bottom:0; }
  .faq-list details { padding-block:20px; }
  .faq-list summary { min-height:48px;font-size:18px;line-height:1.5;gap:14px; }
  .faq-list summary span { width:28px;height:28px; }
  .faq-list p { font-size:18px;line-height:1.65;margin-top:16px; }
  .join-section { padding:44px 24px 32px;border-radius:22px; }
  .join-section h2 { margin-bottom:24px; }
  .join-section .button { margin-top:0; }
  .join-section .destination-note { margin-top:22px; }
  .risk-note { padding-block:32px; }
  .risk-note p { margin-top:10px;line-height:1.65; }
  .footer { display:grid;grid-template-columns:1fr;gap:18px;padding-block:24px; }
  .footer-links { gap:12px 28px; }
  .footer>span { padding-top:18px; }
  .video-controls { gap:8px; }
  .video-controls button { min-width:48px;min-height:48px; }
}
@media(max-width:600px) { .testimonial-card { flex-basis:100%; } }
@media(max-width:360px) {
  .wrap { width:calc(100% - 32px); }
  .section { padding-block:48px; }
  .hero h1 { font-size:34px; }
  .header .small-cta { padding-inline:12px; }
  .event-note,.record-panel { padding:22px; }
  .record-metrics .record-gain dd { font-size:46px; }
  .record-metrics dd { font-size:32px; }
  .join-section { padding-inline:20px; }
}
@media(hover:none) { .video-load:hover img { transform:none; } }
/* Tablets and wide phone layouts keep controls comfortable and galleries compact. */
.faq-list summary { min-height:48px; }
@media(min-width:540px) and (max-width:900px) {
  .testimonial-grid { gap:28px 24px; }
  .testimonial-card { flex-basis:calc((100% - 24px) / 2); }
}
/* Keep the section menu on desktop; phones and tablets retain the compact header. */
@media (min-width:1024px) {
  .header { grid-template-columns:auto minmax(0,1fr) auto; }
  .header nav { display:flex;grid-column:auto;grid-row:auto;width:auto;min-width:0; }
  .header .small-cta { grid-column:auto;grid-row:auto; }
}
@media (max-width:1023px) {
  .header nav { display:none; }
}

.footer-links { flex-wrap:wrap; }
