/* Page content only. The delivered header/footer and promotion bar stay unchanged. */
body.df-wordpress-site main{
  --content-title-wide: clamp(38px, 4.9vw, 72px);
  --content-title-split: clamp(34px, 4.2vw, 60px);
}

/* Repeated section titles share a scale; editorial/utility headings retain theirs. */
body.df-wordpress-site.inner-page main#main :is(.section-heading, .intro-line, .story-heading) > h2,body.df-wordpress-site.inner-page main#main > .section > h2,body.df-wordpress-site.inner-page main#main > .about-mission > h2,body.df-wordpress-site.inner-page main#main .pass-gallery-heading h2,body.df-wordpress-site.home-page main#main .section-top h2{
  font-size: var(--content-title-wide);
  line-height: 1.06;
}
body.df-wordpress-site.inner-page main#main :is(.editorial-split, .faq-layout, .faq-section, .pt-booking-intro, .app-panel, .confirmation-panel, .form-intro, .visit-grid) h2,body.df-wordpress-site.home-page main#main .training-copy > h2{
  font-size: var(--content-title-split);
  line-height: 1.08;
}

/* Match equivalent page CTAs without changing navigation, footer or small card links. */
body.df-wordpress-site main#main :is(.actions, .hero-actions, .join-actions, .app-actions, .jump-session-footer) .cta,body.df-wordpress-site main#main .preview-form .cta{
  min-height: 54px;
  padding: 12px 26px;
  border-radius: 9px;
  font-size: 11px;
  line-height: 1.4;
  letter-spacing: .07em;
}

/* One shared section gap, rather than two large padding areas before the FAQs. */
body.df-wordpress-site.inner-page main#main > .section:has(+ :is(.faq-layout, .faq-section)){
  padding-bottom: 48px;
}
body.df-wordpress-site.inner-page main#main > .section + :is(.faq-layout, .faq-section){
  padding-top: 48px;
}

/* Experience uses the approved homepage equipment-heading treatment. */
body.df-wordpress-site.experience-page main .equipment-partners h3{ color: #fff; }
body.df-wordpress-site.experience-page main .equipment-partners .brand-neon{
  display: inline-block;
  color: transparent;
  -webkit-text-stroke: 1.3px #ff526e;
  text-shadow: 0 0 4px #ed183d55, 0 0 24px #ed183d25;
}
body.df-wordpress-site.experience-page main .equipment-partners .brand-neon.is-lit{
  animation: content-neon-start 1.25s ease both;
}
@keyframes content-neon-start {
  0% { opacity: .18; }
  15% { opacity: .8; }
  28% { opacity: .25; }
  48% { opacity: 1; }
  65% { opacity: .6; }
  100% { opacity: 1; }
}

@media (max-width: 760px) {
  body.df-wordpress-site main{
    --content-title-wide: clamp(22px, 7.2vw, 42px);
    --content-title-split: clamp(22px, 7.2vw, 42px);
  }
  body.df-wordpress-site main#main :is(.actions, .hero-actions, .join-actions, .app-actions, .jump-session-footer) .cta,body.df-wordpress-site main#main .preview-form .cta{
    min-height: 52px;
    padding: 12px 19px;
    font-size: 10px;
  }
  body.df-wordpress-site.inner-page main#main > .section:has(+ :is(.faq-layout, .faq-section)){ padding-bottom: 32px; }
  body.df-wordpress-site.inner-page main#main > .section + :is(.faq-layout, .faq-section){ padding-top: 32px; }
  body.df-wordpress-site.experience-page main .equipment-partners h3{ font-size: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  body.df-wordpress-site.experience-page main .equipment-partners .brand-neon.is-lit{ animation: none; }
}

/* Supporting-copy scale: a small readability lift without changing display type,
   buttons, the promotion bar, or the separately delivered header/footer blocks. */
body.df-wordpress-site main#main{
  --copy-small: 13px;
  --copy-card: 14px;
  --copy-body: 15px;
  --copy-editorial: 16px;
  --copy-lead: 17px;
}

body.df-wordpress-site main#main .page-hero .hero-answer,body.df-wordpress-site main#main .intro-line > p,body.df-wordpress-site main#main .hyrox-answer p{ font-size: var(--copy-lead); }
body.df-wordpress-site main#main .hero-description{
  font-size: clamp(15px, calc(1.2vw + 2px), 18px);
}
body.df-wordpress-site main#main :is(.editorial-split, .story-copy, .prose) p:not(.eyebrow),body.df-wordpress-site main#main .prose :is(ul, ol),body.df-wordpress-site main#main .story-heading > p,body.df-wordpress-site main#main .jump-approach .intro-line > p,body.df-wordpress-site main#main .jump-step p,body.df-wordpress-site main#main .pt-booking-intro > p,body.df-wordpress-site main#main .pt-confirmation > p,body.df-wordpress-site main#main .confirmation-intro > p,body.df-wordpress-site main#main .pass-gallery-heading > p,body.df-wordpress-site main#main .faq-library-intro{ font-size: var(--copy-editorial); }
body.df-wordpress-site main#main .article-excerpt{ font-size: 18px; }

body.df-wordpress-site main#main .section-heading > p,body.df-wordpress-site main#main .section-top p:not(.eyebrow),body.df-wordpress-site main#main .amenity-intro > p,body.df-wordpress-site main#main .floor-copy > p:not(.eyebrow),body.df-wordpress-site main#main .service-row p,body.df-wordpress-site main#main .class-grid p,body.df-wordpress-site main#main .class-tile-detail p,body.df-wordpress-site main#main .step p,body.df-wordpress-site main#main .blog-feature p,body.df-wordpress-site main#main .small-answer,body.df-wordpress-site main#main .notice-line,body.df-wordpress-site main#main .pt-tech-item p,body.df-wordpress-site main#main .pass-steps p,body.df-wordpress-site main#main .pass-form-intro,body.df-wordpress-site main#main .experience-benefits p,body.df-wordpress-site main#main :is(.faq-no-results, .faq-contact) p{ font-size: var(--copy-body); }

body.df-wordpress-site main#main .card-detail p,body.df-wordpress-site main#main .training-detail p,body.df-wordpress-site main#main .program-content p:not(.eyebrow),body.df-wordpress-site main#main .link-card p,body.df-wordpress-site main#main .link-card address,body.df-wordpress-site main#main .resource-link p,body.df-wordpress-site main#main .experience-equipment-grid .class-tile-detail p,body.df-wordpress-site main#main .experience-everyday p,body.df-wordpress-site main#main .hyrox-station p,body.df-wordpress-site main#main .jump-session-footer p,body.df-wordpress-site main#main .pass-amenity p,body.df-wordpress-site main#main .value p,body.df-wordpress-site main#main .history p,body.df-wordpress-site main#main .club-details p,body.df-wordpress-site main#main .club-phone,body.df-wordpress-site main#main .visit-bottom p,body.df-wordpress-site main#main .join-actions p,body.df-wordpress-site main#main .hours-panel table,body.df-wordpress-site main#main .confirmation-hours table,body.df-wordpress-site main#main .section-note,body.df-wordpress-site main#main .faq-group-heading p,body.df-wordpress-site main#main .faq-results-meta p{ font-size: var(--copy-card); }
/* This existing rule is important in site.css; keep its precedence explicit. */
body.df-wordpress-site main#main .feature-line p{ font-size: var(--copy-card) !important; }
body.df-wordpress-site main#main .amenity-item p{ font-size: var(--copy-small); }
body.df-wordpress-site main#main .quick-info :is(p, address),body.df-wordpress-site main#main .quick-info a[href^="tel:"]{ font-size: var(--copy-body); }
body.df-wordpress-site main#main .visit-info address{ font-size: 19px; }
body.df-wordpress-site main#main .gallery-caption{ font-size: clamp(14px, calc(1.1vw + 2px), 16px); }

/* Keep answers, lists, and policy text at the same readable scale. */
body.df-wordpress-site main#main .faq-accordion[data-faq-accordion] > details > summary{
  font-size: var(--copy-body);
}
body.df-wordpress-site main#main .faq-accordion[data-faq-accordion] .faq-answer,body.df-wordpress-site main#main .faq-accordion[data-faq-accordion] .faq-answer :is(p, ul, ol),body.df-wordpress-site main#main .pass-policy-body,body.df-wordpress-site main#main .pass-policy-body :is(p, ul, ol){ font-size: var(--copy-body); }

/* Secondary explanations and form help stay subordinate to the body copy. */
body.df-wordpress-site main#main .pt-form-note,body.df-wordpress-site main#main .pt-confirmation .pt-demo-note,body.df-wordpress-site main#main .pass-eligibility,body.df-wordpress-site main#main .pass-gallery-note,body.df-wordpress-site main#main .hyrox-race-note,body.df-wordpress-site main#main .hours-note,body.df-wordpress-site main#main .form-grid label,body.df-wordpress-site main#main .pt-member-status legend,body.df-wordpress-site main#main .prose .source-date{ font-size: var(--copy-small); }
body.df-wordpress-site main#main .form-foot,body.df-wordpress-site main#main .club-note,body.df-wordpress-site main#main .experience-foot p,body.df-wordpress-site main#main .hours-grid{ font-size: 12px; }
body.df-wordpress-site main#main .link-card .training-inclusion{ font-size: 11px; }

/* Captions remain readable in both the featured reel and its expanded viewer. */
body.df-wordpress-site main#main .reel-feature-copy p{
  font-size: clamp(15px, calc(1.25vw + 2px), 18px);
}
body.df-wordpress-site .video-dialog .viewer-caption p{ font-size: 15px; }

@media (max-width: 760px) {
  body.df-wordpress-site main#main .page-hero .hero-answer,body.df-wordpress-site main#main .hero-description{ font-size: 15px; }
  body.df-wordpress-site main#main .hyrox-answer p,body.df-wordpress-site main#main .article-excerpt{ font-size: 16px; }
  body.df-wordpress-site main#main .jump-step p,body.df-wordpress-site main#main .story-copy p,body.df-wordpress-site main#main .faq-library-intro{ font-size: 15px; }
  body.df-wordpress-site main#main .quick-info :is(p, address),body.df-wordpress-site main#main .quick-info a[href^="tel:"],body.df-wordpress-site main#main .hours-panel table,body.df-wordpress-site main#main .confirmation-hours table{ font-size: 13px; }
  body.df-wordpress-site main#main .visit-info address{ font-size: 18px; }
  body.df-wordpress-site main#main .gallery-caption{ font-size: 14px; }
  body.df-wordpress-site main#main .faq-accordion[data-faq-accordion] > details > summary{ font-size: 14px; }
  body.df-wordpress-site main#main .reel-feature-copy p{ font-size: 15px; }
  body.df-wordpress-site main#main .social-reels .reel-caption p,body.df-wordpress-site .video-dialog .viewer-caption p{ font-size: 14px; }
}
