/* Phone layouts: shorter reading blocks, consistent spacing and touch controls. */
.mobile-insights > summary { display: none; }
@media (max-width: 700px) {
  body.refresh { --phone-gutter: 20px; }
  body.refresh .container { width: calc(100% - 40px); }
  body .site-header[data-header] { min-height: 58px; padding: 5px 10px 5px 17px; margin-top: 8px; }
  body .site-header .brand { gap: 8px; }
  body .site-header .brand-name { font-size: 11px; }
  body.refresh .r-section { padding-block: 44px; }
  body .article-hero, body .page-hero { padding-block: 40px; }
  body .article-hero h1, body .page-hero h1 { font-size: clamp(2rem, 9vw, 2.65rem); line-height: 1.1; letter-spacing: -.04em; }
  body .article-hero .back-link { min-height: 44px; align-items: center; margin-bottom: 18px; }
  body .article-hero p:not(.eyebrow) { font-size: 16px; line-height: 1.65; font-weight: 500; margin-top: 20px; }
  body .article-body-section { padding-block: 36px; }
  body .article-content p, body .article-content li { font-size: 16px; line-height: 1.75; }
  body.refresh .r-page { padding-top: 28px; padding-bottom: 28px; }
  body.refresh .r-page h1 { font-size: clamp(2rem, 8.8vw, 2.65rem); line-height: 1.1; letter-spacing: -.045em; margin-bottom: 20px; }
  body.refresh .r-page .r-lead { font-size: 16px; line-height: 1.65; }
  body.refresh .r-hero { padding-top: 28px; gap: 24px; }
  body.refresh .r-hero .r-lead { line-height: 1.65; }
  body.refresh .button { min-height: 50px; line-height: 1.4; white-space: normal; }
  body.refresh .r-closing { padding: 26px 22px; margin-block: 40px; border-radius: 22px; }
  body.refresh .r-closing h2 { font-size: 28px; line-height: 1.12; }
  body.refresh .r-closing p { font-size: 15px; line-height: 1.65; }
  /* Show content immediately as it enters view; keep smooth anchor scrolling. */
  html.thg-motion-ready body.refresh [data-soft-reveal] { opacity: 1; transform: none; transition: none; }
  body.thg-home .r-hero { width: calc(100% - 24px); padding: 26px 20px 0; gap: 12px; overflow: hidden; }
  body.thg-home .r-hero .eyebrow { font-size: 10px; line-height: 1.5; letter-spacing: .08em; margin-bottom: 18px; }
  body.thg-home .r-hero h1 { font-size: clamp(2rem, 9vw, 2.75rem); line-height: 1.07; letter-spacing: -.055em; margin-bottom: 20px; }
  body.thg-home .r-hero h1 em { text-underline-offset: 4px; }
  body.thg-home .r-lead { font-size: 16px; line-height: 1.65; }
  body.thg-home .r-hero .r-actions { margin-top: 22px; gap: 10px; }
  body.thg-home .r-hero .r-actions .button { min-height: 52px; padding-block: 5px; font-size: 14px; }
  body.thg-home .r-hero .r-actions .button > span { width: 36px; height: 36px; flex-basis: 36px; }
  body.thg-home .r-location { font-size: 12px; margin: 16px 0 0; }
  body.thg-home .r-hero-photo.r-hero-cutout { height: 260px; width: 270px; margin: 0 auto; }
  body.thg-home .r-hero-photo.r-hero-cutout img { object-position: center 8%; }
  body.thg-home .coach-intro-glass { margin-top: 18px; padding: 22px; gap: 16px; border-radius: 22px; }
  body.thg-home .coach-intro-glass h2 { font-size: 24px; }
  body.thg-home .coach-intro-glass-play { min-height: 52px; width: 100%; justify-content: flex-start; }
  body.thg-home .coach-intro-glass-duration { margin-left: auto; }
  body.thg-home .r-experience { margin-top: 20px; padding-bottom: 24px; gap: 8px; }
  body.thg-home .r-experience p { font-size: 11px; line-height: 1.5; }
  body.thg-home .thg-photo-section { padding: 38px 0 32px; }
  body.thg-home .thg-section-heading { gap: 18px; margin-bottom: 24px; }
  body.thg-home .thg-section-heading h2 { font-size: 32px; line-height: 1.08; }
  body.thg-home .thg-gallery-intro { margin-top: 0; padding: 0; }
  body.thg-home .thg-gallery-intro p { font-size: 15px; line-height: 1.6; }
  body.thg-home .thg-photo-slide { flex-basis: 82vw; }
  body.thg-home .thg-photo-image { aspect-ratio: 4 / 5; }
  body.thg-home .thg-photo-caption h3 { font-size: 24px; }
  body.thg-home .home-journey { margin-top: 40px; gap: 20px; }
  body.thg-home .home-journey h2, body.thg-home .home-section-intro h2 { font-size: 32px; line-height: 1.1; }
  body.thg-home .home-journey-bio > p { font-size: 15px; line-height: 1.65; }
  body.thg-home .journey-explorer-header { margin-bottom: 12px; }
  body.thg-home .journey-map-overview li { padding-block: 10px; }
  body.thg-home .journey-map-details h3 { font-size: 24px; margin-bottom: 14px; }
  body.thg-home .home-pathways { padding-block: 40px; }
  body.thg-home .home-section-intro { gap: 16px; margin-bottom: 22px; }
  body.thg-home .home-section-intro > p { font-size: 15px; line-height: 1.65; }
  body.thg-home .home-path-grid { grid-template-columns: minmax(0,1fr); gap: 12px; }
  body.thg-home .home-path-card { padding: 22px; border-radius: 20px; }
  body.thg-home .home-path-label { font-size: 10px; margin-bottom: 14px; }
  body.thg-home .home-path-card h3 { font-size: 25px; margin-bottom: 12px; }
  body.thg-home .home-path-card p { font-size: 15px; line-height: 1.6; margin-bottom: 18px; }
  body.thg-home .home-service-list { display: none; }
  body.thg-home .home-path-link { font-size: 13px; }
  body.thg-home .home-proof { padding: 20px; gap: 22px; margin-bottom: 40px; border-radius: 22px; }
  body.thg-home .home-proof h2 { font-size: 30px; margin-bottom: 16px; }
  body.thg-home .home-proof p:not(.eyebrow) { font-size: 15px; line-height: 1.65; }
  /* The full figures remain available, without dominating the first visit. */
  .mobile-insights { margin: 0 0 40px; }
  .mobile-insights > summary { display: flex; align-items: center; gap: 16px; width: calc(100% - 40px); margin: 0 auto; padding: 24px 22px; list-style: none; cursor: pointer; border: 1px solid #dce0d7; border-radius: 22px; background: linear-gradient(135deg,#fbfcf8,#f0f3e9); color: #253020; box-shadow: inset 0 1px #fff; }
  .mobile-insights > summary::-webkit-details-marker { display: none; }
  .mobile-insights > summary strong { display: block; font-size: 24px; line-height: 1.15; letter-spacing: -.035em; }
  .mobile-insights > summary small { display: block; margin-top: 10px; font-size: 14px; line-height: 1.5; color: #596151; }
  .mobile-insights > summary::after { content: '+'; display: grid; place-items: center; flex: 0 0 38px; height: 38px; border: 1px solid #cbd3c0; border-radius: 50%; font-size: 24px; }
  .mobile-insights[open] > summary { margin-bottom: 24px; }
  .mobile-insights[open] > summary::after { content: '−'; }
  .mobile-insights > summary:focus-visible { outline: 3px solid #a84a20; outline-offset: 4px; }
  body.refresh .hyrox-join { padding-block: 40px; }
  body.refresh .hyrox-join-intro { gap: 20px; margin-bottom: 24px; }
  body.refresh .hyrox-join-intro h2 { font-size: 32px; }
  body.refresh .hyrox-join-card { padding: 24px 22px; }
  body.refresh .hyrox-join-card h3 { font-size: 28px; }
  body.refresh .hyrox-join-card p:not(.eyebrow) { font-size: 15px; line-height: 1.65; }
  body.refresh .hyrox-program-mark { min-height: 0; height: 70px; margin-bottom: 20px; }
  body.refresh .hyrox-program-logo { max-height: 65px; object-fit: contain; object-position: left center; }
  body .footer { padding-top: 38px; }
  body .footer-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px 16px; }
  body .footer-grid > div:first-child, body .footer-grid > div:last-child { grid-column: 1 / -1; }
  body .footer-grid a:not(.brand) { font-size: 14px; line-height: 1.4; padding-block: 8px; min-height: 44px; display: flex; align-items: center; margin: 0; }
  body .footer-social-row .footer-social-link { min-height: 44px; width: 44px; height: 44px; }
  body .footer-bottom { margin-top: 28px; padding-top: 22px; }
  body.lovisa-coaching .r-hero-photo { width: 100%; margin: 0; border-radius: 20px; aspect-ratio: 5/4; }
  body.lovisa-coaching .r-hero-photo img { object-fit: cover; object-position: center 32%; }
  body.lovisa-coaching .r-hero { gap: 22px; }
}
