/* Typography refinement, stage 1: homepage (.home-page) and Private Coaching (.coaching-page) only.
   Loaded only by index.html and renderCoaching(). Sizes/spacing only; no color, font or layout-grid changes. */

/* ---------- Shared header + footer (both pages) ---------- */
:is(.home-page, .coaching-page) .nav-links a,
:is(.home-page, .coaching-page) .nav-links .nav-cta { font-size: 15px; }
:is(.home-page, .coaching-page) .nav-links { gap: clamp(16px, 1.6vw, 24px); }
:is(.home-page, .coaching-page) .menu-toggle { font-size: 14px; }
:is(.home-page, .coaching-page) .brand-copy > span { font-size: 12px; }
:is(.home-page, .coaching-page) .footer-brand .brand-copy strong { font-size: 17px; }
:is(.home-page, .coaching-page) .footer-links { gap: 12px 24px; max-width: 760px; }
:is(.home-page, .coaching-page) .footer-links a { font-size: 14px; line-height: 1.5; }
:is(.home-page, .coaching-page) .footer-legal { gap: 10px 22px; padding: 18px 0; }
:is(.home-page, .coaching-page) .footer-legal-label { font-size: 12px; }
:is(.home-page, .coaching-page) .footer-legal-placeholder,
:is(.home-page, .coaching-page) .footer-legal a { font-size: 14px; }
:is(.home-page, .coaching-page) .footer-bottom { font-size: 13px; line-height: 1.6; padding-top: 19px; }
:is(.home-page, .coaching-page) .site-footer { padding: 44px 0 26px; }

/* ---------- Shared type primitives ---------- */
:is(.home-page, .coaching-page) .eyebrow { font-size: 12px; letter-spacing: .14em; line-height: 1.5; }
:is(.home-page, .coaching-page) h1 { font-size: clamp(38px, 4.2vw, 56px); line-height: 1.07; letter-spacing: -.05em; }
:is(.home-page, .coaching-page) h2 { font-size: clamp(30px, 3vw, 41px); line-height: 1.12; letter-spacing: -.045em; }
:is(.home-page, .coaching-page) .hero-lead,
:is(.home-page, .coaching-page) .section-lead { font-size: clamp(18px, 1.5vw, 20px); line-height: 1.55; }
:is(.home-page, .coaching-page) .body-copy { font-size: 17px; line-height: 1.75; }
:is(.home-page, .coaching-page) .button {
  min-height: 52px; padding: 13px 24px; font-size: 15px; line-height: 1.35; letter-spacing: .005em;
  text-align: center; max-width: 100%; white-space: normal; overflow-wrap: break-word;
}
:is(.home-page, .coaching-page) .button > span[aria-hidden] { flex: 0 0 auto; }
:is(.home-page, .coaching-page) .text-link { font-size: 15px; }

/* ---------- Homepage ---------- */
@media (min-width: 981px) {
  .home-page .hero-copy h1 { font-size: clamp(44px, 4.1vw, 56px); line-height: 1.06; }
}
.home-page .hero-lead { max-width: 580px; }
.home-page .body-copy { font-size: 17px; line-height: 1.72; }
.home-page .hero-last { font-size: 22px; }
.home-page .hero-photo figcaption { font-size: 16px; }
.home-page .credibility span { font-size: 13px; letter-spacing: .045em; }
.home-page .hero .actions { gap: 14px 18px; }

.sound-familiar .sf-heading .section-lead { max-width: 640px; }
.home-page .sound-familiar .sf-card h3 { font-size: clamp(24px, 2vw, 27px); }
.home-page .sound-familiar .sf-card p { font-size: 17px; line-height: 1.7; }
.home-page .sound-familiar .sf-close p { font-size: 17px; }
.home-page .sound-familiar .sf-close p:last-child { font-size: 20px; }

.home-page .about-copy p:not(.eyebrow) { font-size: 17px; line-height: 1.72; margin-bottom: 12px; }
.home-page .about-credentials { font-size: 14px !important; line-height: 1.65 !important; }

.home-page .method .method-origin-head h2 { max-width: 500px; }
.home-page .method .method-origin-photo { max-width: 280px; }
.home-page .method .method-origin-photo img { width: 100%; height: auto; object-fit: initial; }
.home-page .method .method-origin-body p { font-size: 17px; line-height: 1.72; }
.home-page .method .method-origin-body .method-origin-lead { font-size: 20px; }
.home-page .method .method-origin-quote p { font-size: clamp(30px, 3.4vw, 44px); }
.home-page .method .method-origin-body .method-origin-close { font-size: 19px; }
.home-page .method .method-intro-title { font-size: clamp(24px, 2.3vw, 28px); line-height: 1.22; }
.home-page .method .method-intro-body p { font-size: 17px; line-height: 1.72; }
.home-page .method .method-intro-body .method-intro-close { font-size: 19px; }
.home-page .framework li span { font-size: 11px; }
.home-page .framework li strong { font-size: clamp(15px, 1.3vw, 17px); }

.home-page .caddy .caddy-copy > p:where(:not(.eyebrow)) { font-size: 17px; line-height: 1.7; }
.home-page .caddy .caddy-copy .caddy-sub { font-size: clamp(19px, 1.6vw, 20px); line-height: 1.5; }
.home-page .caddy .caddy-copy .caddy-support { font-size: 15px; line-height: 1.55; }

.home-page .golfer-stories-home .gs-feature .gs-label { font-size: 12px; }
.home-page .golfer-stories-home .gs-feature h3 { font-size: clamp(28px, 2.6vw, 36px); line-height: 1.1; }
.home-page .golfer-stories-home .gs-feature .gs-context { font-size: 16px; line-height: 1.7; }
.home-page .golfer-stories-home .gs-feature blockquote p { font-size: clamp(18px, 1.6vw, 20px); }
.home-page .golfer-stories-home .gs-card h3 { font-size: clamp(21px, 1.8vw, 24px); line-height: 1.25; }
.home-page .golfer-stories-home .gs-card blockquote p { font-size: 16px; }
.home-page .golfer-stories-home .gs-who { font-size: 15px; }
.home-page .golfer-stories-home .gs-who span { font-size: 12px; }

.home-page .more-ways .mw-head .section-lead { max-width: 660px; }
.home-page .more-ways .mw-category { font-size: 13px; }
.home-page .more-ways .mw-card h3 { font-size: clamp(24px, 2.2vw, 28px); }
.home-page .more-ways .mw-card p { font-size: 17px; line-height: 1.68; }
.home-page .more-ways .mw-button { min-height: 52px; padding: 13px 24px; font-size: 15px; }
.home-page .more-ways .mw-alt a { font-size: 14px; }

.home-page .free-scorecard h2 { font-size: clamp(30px, 3.1vw, 41px); }
.home-page .free-scorecard-copy p { font-size: 17px; line-height: 1.72; }
.home-page .free-scorecard-copy .free-scorecard-lead { font-size: clamp(18px, 1.5vw, 20px); }
.home-page .free-scorecard .free-scorecard-button { min-height: 58px; padding: 14px 28px; font-size: 16px; }
.home-page .free-scorecard-note { font-size: 14px; }

/* ---------- Private Coaching ---------- */
.coaching-page .private-coaching .pc-method-label { font-size: 12px; padding: 7px 11px; }
.coaching-page .private-coaching .pc-hero-copy h1 { max-width: 620px; }
.coaching-page .private-coaching .pc-hero-copy .hero-lead { margin-bottom: 16px; }
.coaching-page .private-coaching .pc-hero-copy .body-copy { margin-bottom: 14px; }
.coaching-page .private-coaching .pc-hero-actions { gap: 16px 26px; }
.coaching-page .private-coaching .pc-fine-print { font-size: 14px; line-height: 1.6; }
.coaching-page .private-coaching .pc-hero-portrait figcaption,
.coaching-page .private-coaching .pc-about-portrait figcaption { font-size: 13px; }

.coaching-page .private-coaching .pc-list-intro { font-size: 17px; }
.coaching-page .private-coaching .pc-issue-list li { font-size: 16px; line-height: 1.55; padding-block: 15px; }
.coaching-page .private-coaching .pc-issue-list li::before { top: 27px; }
.coaching-page .private-coaching .pc-closing-copy { font-size: 20px; line-height: 1.55; }

.coaching-page .private-coaching .pc-price-line { font-size: 17px; }
.coaching-page .private-coaching .pc-index { font-size: 12px; }
.coaching-page .private-coaching .pc-inclusion { grid-template-columns: 72px 1fr; padding-block: 26px; }
.coaching-page .private-coaching .pc-inclusion h3 { font-size: clamp(22px, 2vw, 25px); line-height: 1.25; margin-bottom: 9px; }
.coaching-page .private-coaching .pc-inclusion p { font-size: 17px; line-height: 1.7; }
.coaching-page .private-coaching .pc-offer-cta { padding-top: 36px; }

.coaching-page .private-coaching .pc-three-moments { gap: 26px; }
.coaching-page .private-coaching .pc-three-moments h3 { font-size: 18px; line-height: 1.3; }
.coaching-page .private-coaching .pc-three-moments p { font-size: 17px; line-height: 1.7; }

.coaching-page .private-coaching .pc-about-copy h2 { font-size: clamp(30px, 3vw, 41px); }
.coaching-page .private-coaching .pc-about-copy p:not(.eyebrow) { font-size: 17px; line-height: 1.72; margin-bottom: 12px; }
.coaching-page .private-coaching .pc-credentials { font-size: 14px !important; line-height: 1.65; }

.coaching-page .private-coaching .pc-perspective-copy { max-width: 860px; }
.coaching-page .private-coaching .pc-perspective-copy p { font-size: 17px; line-height: 1.7; }
.coaching-page .private-coaching .pc-perspective blockquote p { font-size: clamp(19px, 1.7vw, 22px); }

.coaching-page .private-coaching .pc-fit-note p { font-size: 18px; line-height: 1.55; }

.coaching-page .private-coaching .pc-conversion-option h3 { font-size: clamp(22px, 2vw, 26px); line-height: 1.3; }
.coaching-page .private-coaching .pc-conversion-option .body-copy { font-size: 17px; }
.coaching-page .private-coaching .conversion-notice { font-size: 14px; }

/* ---------- Tablet / mobile ---------- */
@media (max-width: 1080px) {
  :is(.home-page, .coaching-page) .nav-links a { font-size: 15px; }
}
@media (max-width: 760px) {
  :is(.home-page, .coaching-page) h1,
  .home-page .hero-copy h1 { font-size: clamp(34px, 9.6vw, 40px); line-height: 1.1; }
  :is(.home-page, .coaching-page) h2,
  .home-page .free-scorecard h2,
  .coaching-page .private-coaching .pc-about-copy h2 { font-size: clamp(27px, 7.8vw, 31px); line-height: 1.15; }
  :is(.home-page, .coaching-page) .hero-lead,
  :is(.home-page, .coaching-page) .section-lead,
  .home-page .caddy .caddy-copy .caddy-sub,
  .home-page .free-scorecard-copy .free-scorecard-lead { font-size: 18px; }
  :is(.home-page, .coaching-page) .body-copy,
  .home-page .about-copy p:not(.eyebrow),
  .home-page .method .method-origin-body p,
  .home-page .method .method-intro-body p,
  .home-page .caddy .caddy-copy > p:where(:not(.eyebrow)),
  .home-page .free-scorecard-copy p,
  .home-page .more-ways .mw-card p,
  .home-page .sound-familiar .sf-card p,
  .home-page .sound-familiar .sf-close p,
  .coaching-page .private-coaching .pc-inclusion p,
  .coaching-page .private-coaching .pc-about-copy p:not(.eyebrow),
  .coaching-page .private-coaching .pc-perspective-copy p,
   .coaching-page .private-coaching .pc-three-moments p,
   .coaching-page .private-coaching .pc-conversion-option .body-copy { font-size: 16.5px; line-height: 1.7; }
  .home-page h1::after { margin-top: 18px; }
  .home-page .hero-last { font-size: 20px; }
  .home-page .sound-familiar .sf-card h3,
  .home-page .more-ways .mw-card h3,
  .home-page .golfer-stories-home .gs-feature h3 { font-size: clamp(22px, 6.2vw, 24px); }
  .home-page .golfer-stories-home .gs-card h3 { font-size: 21px; }
  .home-page .method .method-intro-title { font-size: 23px; }
  .home-page .method .method-origin-quote p { font-size: clamp(27px, 7.6vw, 31px); }
  .home-page .credibility span { font-size: 13px; }
  .home-page .method .method-origin-photo { max-width: 250px; }
  .coaching-page .private-coaching .pc-inclusion h3,
  .coaching-page .private-coaching .pc-conversion-option h3 { font-size: 22px; }
  .coaching-page .private-coaching .pc-closing-copy { font-size: 18px; }
  .coaching-page .private-coaching .pc-fit-note { padding: 28px 24px; }
  .coaching-page .private-coaching .pc-fit-note p { font-size: 17px; }
  :is(.home-page, .coaching-page) .button { width: 100%; min-height: 54px; padding: 14px 20px; }
  .home-page .more-ways .mw-button { width: 100%; }
  .home-page .more-ways .mw-actions { align-items: stretch; }
  :is(.home-page, .coaching-page) .footer-links { gap: 12px 20px; }
}
@media (max-width: 390px) {
  :is(.home-page, .coaching-page) .actions { align-items: stretch; }
}

/* ==========================================================================
   Stage 2: carried onto /tips, /podcast (+episodes/error), /stories, /mental-caddy.
   Same scale; no generic h2 rule so small labels (WHY/ACTION, filter title) stay small.
   ========================================================================== */
:is(.mental-tips-page, .podcast-page, .stories-page, .mental-caddy-page) .nav-links a,
:is(.mental-tips-page, .podcast-page, .stories-page, .mental-caddy-page) .nav-links .nav-cta { font-size: 15px; }
:is(.mental-tips-page, .podcast-page, .stories-page, .mental-caddy-page) .nav-links { gap: clamp(16px, 1.6vw, 24px); }
:is(.mental-tips-page, .podcast-page, .stories-page, .mental-caddy-page) .menu-toggle { font-size: 14px; }
:is(.mental-tips-page, .podcast-page, .stories-page, .mental-caddy-page) .brand-copy > span { font-size: 12px; }
:is(.mental-tips-page, .podcast-page, .stories-page, .mental-caddy-page) .footer-brand .brand-copy strong { font-size: 17px; }
:is(.mental-tips-page, .podcast-page, .stories-page, .mental-caddy-page) .footer-links { gap: 12px 24px; max-width: 760px; }
:is(.mental-tips-page, .podcast-page, .stories-page, .mental-caddy-page) .footer-links a { font-size: 14px; line-height: 1.5; }
:is(.mental-tips-page, .podcast-page, .stories-page, .mental-caddy-page) .footer-legal { gap: 10px 22px; padding: 18px 0; }
:is(.mental-tips-page, .podcast-page, .stories-page, .mental-caddy-page) .footer-legal-label { font-size: 12px; }
:is(.mental-tips-page, .podcast-page, .stories-page, .mental-caddy-page) .footer-legal-placeholder,
:is(.mental-tips-page, .podcast-page, .stories-page, .mental-caddy-page) .footer-legal a { font-size: 14px; }
:is(.mental-tips-page, .podcast-page, .stories-page, .mental-caddy-page) .footer-bottom { font-size: 13px; line-height: 1.6; padding-top: 19px; }
:is(.mental-tips-page, .podcast-page, .stories-page, .mental-caddy-page) .site-footer { padding: 44px 0 26px; }
:is(.mental-tips-page, .podcast-page, .stories-page, .mental-caddy-page) .eyebrow { font-size: 12px; letter-spacing: .14em; line-height: 1.5; }
:is(.mental-tips-page, .podcast-page, .stories-page, .mental-caddy-page) .hero-lead,
:is(.mental-tips-page, .podcast-page, .stories-page, .mental-caddy-page) .section-lead { font-size: clamp(18px, 1.5vw, 20px); line-height: 1.55; }
:is(.mental-tips-page, .podcast-page, .stories-page, .mental-caddy-page) .body-copy { font-size: 17px; line-height: 1.75; }
:is(.mental-tips-page, .podcast-page, .stories-page, .mental-caddy-page) .button {
  min-height: 52px; padding: 13px 24px; font-size: 15px; line-height: 1.35; letter-spacing: .005em;
  text-align: center; max-width: 100%; white-space: normal; overflow-wrap: break-word;
}
:is(.mental-tips-page, .podcast-page, .stories-page, .mental-caddy-page) .button > span[aria-hidden] { flex: 0 0 auto; }
:is(.mental-tips-page, .podcast-page, .stories-page, .mental-caddy-page) .text-link { font-size: 15px; }

/* ---------- Tips (restrained editorial: h1 <= 40 / 32) ---------- */
.mental-tips-page .mental-tip-intro { font-size: 18px; }
.mental-tips-page .mental-tip-detail h1 { font-size: clamp(30px, 3.4vw, 40px); line-height: 1.12; }
.mental-tips-page .mental-tip-empty h1,
.mental-tips-page .mental-tips-error h1 { font-size: clamp(30px, 3.4vw, 40px); line-height: 1.12; }
.mental-tips-page .mental-tip-date { font-size: 14px; }
.mental-tips-page .mental-tip-section h2 { font-size: 13px; }
.mental-tips-page .mental-tip-action h2 { font-size: 12px; }
.mental-tips-page .mental-tip-body-copy,
.mental-tips-page .mental-tip-action-copy { font-size: 17px; line-height: 1.75; }
.mental-tips-page .mental-tip-signoff { font-size: 17px; }
.mental-tips-page .mental-tip-app-invite h2 { font-size: clamp(26px, 2.6vw, 32px); line-height: 1.15; }
.mental-tips-page .mental-tip-app-invite .mental-tip-app-invite-body { font-size: 17px; line-height: 1.7; }
.mental-tips-page .mental-tip-app-invite .mental-tip-app-invite-note { font-size: 14px; }
.mental-tips-page .mental-tip-card h2 { font-size: clamp(22px, 2vw, 25px); }
.mental-tips-page .mental-tip-card > p { font-size: 16px; line-height: 1.7; }
.mental-tips-page .mental-tips-stale { font-size: 14px; }

/* ---------- Podcast ---------- */
.podcast-page .archive-heading h1,
.podcast-page .episode-main h1,
.podcast-page .error-panel h1 { font-size: clamp(38px, 4.2vw, 56px); line-height: 1.07; letter-spacing: -.05em; }
.podcast-page .episode-main h1 { font-size: clamp(36px, 3.8vw, 52px); }
.podcast-page .show-links a,
.podcast-page .episode-platforms a { font-size: 15px; }
.podcast-page .archive-tools h2,
.podcast-page .related-episodes h2,
.podcast-page .archive-empty h2 { font-size: clamp(28px, 2.6vw, 36px); line-height: 1.15; }
.podcast-page .feed-updated,
.podcast-page .search-summary,
.podcast-page .source-note { font-size: 14px; }
.podcast-page .archive-search label { font-size: 14px; }
.podcast-page .archive-search input { min-height: 52px; font-size: 16px; }
.podcast-page .archive-search .button { min-height: 52px; }
.podcast-page .episode-meta { font-size: 13px; }
.podcast-page .episode-card h2 { font-size: clamp(19px, 1.6vw, 22px); line-height: 1.3; }
.podcast-page .episode-card-copy > p:not(.episode-guest) { font-size: 15px; line-height: 1.65; }
.podcast-page .episode-guest { font-size: 14px; }
.podcast-page .episode-card .text-link { font-size: 14px; }
.podcast-page .episode-image-fallback { font-size: 13px; }
.podcast-page .archive-empty p:not(.eyebrow) { font-size: 17px; }
.podcast-page .pagination { font-size: 15px; }
.podcast-page .back-link { font-size: 15px; }
.podcast-page .episode-date { font-size: 15px; }
.podcast-page .episode-description { font-size: 17px; line-height: 1.75; }
.podcast-page .episode-topics h2,
.podcast-page .episode-transcript h2,
.podcast-page .episode-resources h2 { font-size: clamp(22px, 2vw, 26px); }
.podcast-page .episode-topics li { font-size: 14px; }
.podcast-page .episode-transcript > div { font-size: 16px; line-height: 1.8; }
.podcast-page .episode-resources li { font-size: 16px; }
.podcast-page .audio-error { font-size: 15px; }
.podcast-page .error-status { font-size: 13px; }

/* ---------- Stories ---------- */
.stories-page .stories-hero h1 { font-size: clamp(38px, 4.2vw, 56px); line-height: 1.07; letter-spacing: -.05em; }
.stories-page .stories-intro p { font-size: 18px; line-height: 1.7; }
.stories-page .stories-filter-title { font-size: 13px; }
.stories-page .story-filter { font-size: 15px; }
.stories-page .stories-count, .stories-page .stories-empty { font-size: 14px; }
.stories-page .story-card h3 { font-size: clamp(22px, 1.9vw, 24px); line-height: 1.22; }
.stories-page .story-quote p { font-size: 17px; line-height: 1.7; }
.stories-page .story-name { font-size: 15px; }
.stories-page .story-name span { font-size: 12px; }
.stories-page .story-tags li { font-size: 13px; }
.stories-page .story-more summary { font-size: 15px; }
.stories-page .story-full p { font-size: 16px; line-height: 1.75; }
.stories-page .stories-featured .gs-head h2 { font-size: clamp(30px, 3vw, 41px); line-height: 1.12; }
.stories-page .stories-featured .gs-feature .gs-label { font-size: 12px; }
.stories-page .stories-featured .gs-feature h3 { font-size: clamp(28px, 2.6vw, 36px); line-height: 1.1; }
.stories-page .stories-featured .gs-feature .gs-context { font-size: 16px; line-height: 1.7; }
.stories-page .stories-featured .gs-feature blockquote p { font-size: clamp(18px, 1.6vw, 20px); }
.stories-page .stories-featured .gs-card h3 { font-size: clamp(21px, 1.8vw, 24px); line-height: 1.25; }
.stories-page .stories-featured .gs-card blockquote p { font-size: 16px; }
.stories-page .stories-featured .gs-who { font-size: 15px; }
.stories-page .stories-featured .gs-who span { font-size: 12px; }

/* ---------- My Mental Caddy Coming Soon (Kit embed itself untouched) ---------- */
.mental-caddy-page .mc-status { font-size: 12px; }
.mental-caddy-page .mc-hero-copy h1 { font-size: clamp(38px, 4.2vw, 56px); line-height: 1.07; letter-spacing: -.05em; }
.mental-caddy-page .mc-hero-copy .body-copy { font-size: 17px; }
.mental-caddy-page .mc-why-grid h2,
.mental-caddy-page .mc-waitlist-copy h2,
.mental-caddy-page .mc-meanwhile h2 { font-size: clamp(30px, 3vw, 41px); line-height: 1.12; letter-spacing: -.045em; }
.mental-caddy-page .mc-why-body p,
.mental-caddy-page .mc-waitlist-copy p:not(.eyebrow) { font-size: 17px; line-height: 1.72; }
.mental-caddy-page .mc-why-body .mc-emph { font-size: 20px; }
.mental-caddy-page .mc-why-body .mc-support { font-size: 14px; }
.mental-caddy-page .mc-form-label { font-size: 12px; }
.mental-caddy-page .mc-form-note { font-size: 14px; }
.mental-caddy-page .mc-links span:first-child { font-size: 12px; }
.mental-caddy-page .mc-links a { font-size: clamp(22px, 1.9vw, 24px); }
.mental-caddy-page .mc-links p { font-size: 16px; }

@media (max-width: 760px) {
  .mental-tips-page .mental-tip-detail h1,
  .mental-tips-page .mental-tip-empty h1,
  .mental-tips-page .mental-tips-error h1 { font-size: clamp(26px, 7.4vw, 32px); }
  .podcast-page .archive-heading h1, .podcast-page .episode-main h1, .podcast-page .error-panel h1,
  .stories-page .stories-hero h1, .mental-caddy-page .mc-hero-copy h1 { font-size: clamp(34px, 9.6vw, 40px); line-height: 1.1; }
  .podcast-page .archive-tools h2, .podcast-page .related-episodes h2, .podcast-page .archive-empty h2,
  .stories-page .stories-featured .gs-head h2,
  .mental-caddy-page .mc-why-grid h2, .mental-caddy-page .mc-waitlist-copy h2, .mental-caddy-page .mc-meanwhile h2 { font-size: clamp(27px, 7.8vw, 31px); line-height: 1.15; }
  .mental-tips-page .mental-tip-app-invite h2 { font-size: 26px; }
  :is(.mental-tips-page, .podcast-page, .stories-page, .mental-caddy-page) .hero-lead,
  :is(.mental-tips-page, .podcast-page, .stories-page, .mental-caddy-page) .section-lead,
  .stories-page .stories-intro p { font-size: 18px; }
  :is(.mental-tips-page, .podcast-page, .stories-page, .mental-caddy-page) .body-copy,
  .mental-tips-page .mental-tip-body-copy, .mental-tips-page .mental-tip-action-copy,
  .podcast-page .episode-description, .stories-page .story-quote p,
  .mental-caddy-page .mc-why-body p, .mental-caddy-page .mc-waitlist-copy p:not(.eyebrow) { font-size: 16.5px; line-height: 1.7; }
  .stories-page .story-card h3, .stories-page .stories-featured .gs-feature h3, .mental-caddy-page .mc-links a { font-size: clamp(22px, 6.2vw, 24px); }
  .stories-page .stories-featured .gs-card h3 { font-size: 21px; }
  .podcast-page .episode-card h2 { font-size: 19px; }
  :is(.mental-tips-page, .stories-page, .mental-caddy-page) .actions .button,
  .podcast-page .error-panel .button { width: 100%; min-height: 54px; padding: 14px 20px; }
  :is(.mental-tips-page, .podcast-page, .stories-page, .mental-caddy-page) .footer-links { gap: 12px 20px; }
}

/* Legal pages share the site's editorial type and navigation. */
.legal-page .legal-reading-column { max-width: 820px; }
.legal-page h1 { font-size: clamp(34px, 4vw, 48px); line-height: 1.15; letter-spacing: -.035em; margin-bottom: 28px; }
.legal-page h2 { font-size: clamp(22px, 2.5vw, 27px); line-height: 1.3; margin: 36px 0 14px; }
.legal-page .legal-reading-column p,
.legal-page .legal-reading-column li { font-size: 17px; line-height: 1.75; }
.legal-page .legal-reading-column .eyebrow { font-size: 12px; line-height: 1.5; }
.legal-page .legal-reading-column p { margin-bottom: 18px; }
.legal-page .legal-reading-column ul { padding-left: 24px; margin-bottom: 22px; }
.legal-page .legal-reading-column li { margin-bottom: 10px; }
.legal-page .legal-reading-column a { color: var(--navy); text-underline-offset: 3px; overflow-wrap: anywhere; }
.legal-page .nav-links a { font-size: 15px; }
.legal-page .footer-brand .brand-copy strong { font-size: 17px; }
.legal-page .brand-copy > span { font-size: 12px; }
.legal-page .footer-links a, .legal-page .footer-legal a { font-size: 14px; }
.legal-page .footer-legal-label { font-size: 12px; }
.legal-page .footer-bottom { font-size: 13px; line-height: 1.6; }
@media (max-width: 760px) {
  .legal-page .section { padding-block: 56px; }
  .legal-page .legal-reading-column p,
  .legal-page .legal-reading-column li { font-size: 16.5px; line-height: 1.7; }
}
