/* GTGF v15.99.92 - Visual System 2.0
 * Site-wide visual contract. This file is intentionally loaded last.
 * It standardises type, contrast, controls, navigation and spacing without
 * flattening GTGF's dark/paper/editorial page art direction.
 */

:root {
  /* Brand and surfaces */
  --gtgf-accent:#ff5a00;
  --gtgf-accent-hover:#ff7429;
  --gtgf-accent-text:#bd3e00;
  --gtgf-black:#050505;
  --gtgf-dark-surface:#101010;
  --gtgf-dark-raised:#171717;
  --gtgf-paper:#f4f2ed;
  --gtgf-white:#ffffff;

  /* Text roles - contrast checked against their intended surfaces */
  --gtgf-text-dark:#111111;
  --gtgf-text-secondary:#55514c;
  --gtgf-text-muted:#686159;
  --gtgf-text-on-dark:#ffffff;
  --gtgf-text-secondary-dark:#b8b8b8;
  --gtgf-text-muted-dark:#929292;

  /* Lines. Decorative lines may use subtle. Functional boundaries use strong. */
  --gtgf-line-subtle:#d8d4cd;
  --gtgf-line-strong:#8f8982;
  --gtgf-line-dark-subtle:#2d2d2d;
  --gtgf-line-dark-strong:#666666;

  /* Layout */
  --gtgf-shell:1280px;
  --gtgf-product-shell:1180px;
  --gtgf-reading-shell:760px;
  --gtgf-shell-gutter:32px;
  --gtgf-header-h:76px;
  --gtgf-section-space:clamp(80px,8vw,120px);
  --gtgf-section-space-compact:clamp(56px,6vw,88px);

  /* Spacing */
  --gtgf-space-1:4px;
  --gtgf-space-2:8px;
  --gtgf-space-3:12px;
  --gtgf-space-4:16px;
  --gtgf-space-5:24px;
  --gtgf-space-6:32px;
  --gtgf-space-7:48px;
  --gtgf-space-8:64px;
  --gtgf-space-9:96px;
  --gtgf-space-10:128px;

  /* Typography */
  --gtgf-font-body:Inter,Arial,Helvetica,sans-serif;
  --gtgf-font-display:"Arial Black",Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;
  --gtgf-type-display:clamp(3.5rem,7.2vw,5.5rem);
  --gtgf-type-h1:clamp(2.75rem,5.5vw,4.5rem);
  --gtgf-type-h2:clamp(2rem,4vw,3.25rem);
  --gtgf-type-h3:clamp(1.375rem,2.2vw,1.75rem);
  --gtgf-type-lead:clamp(1.125rem,1.5vw,1.1875rem);
  --gtgf-type-body:17px;
  --gtgf-type-ui:14px;
  --gtgf-type-support:13px;
  --gtgf-type-meta:12px;
  --gtgf-leading-body:1.65;

  /* Controls */
  --gtgf-control-h:48px;
  --gtgf-control-h-large:56px;
  --gtgf-focus-ring:0 0 0 3px rgba(255,90,0,.38);
  --gtgf-transition:180ms ease;

  /* Compatibility aliases */
  --orange:var(--gtgf-accent);
  --v14-orange:var(--gtgf-accent);
  --v14-black:var(--gtgf-black);
  --v14-ink:var(--gtgf-text-dark);
  --v14-paper:var(--gtgf-paper);
  --v14-white:var(--gtgf-white);
  --v14-grey:var(--gtgf-text-secondary);
  --v14-line:var(--gtgf-line-subtle);
  --v14-line-light:var(--gtgf-line-dark-subtle);
  --v14-header-h:var(--gtgf-header-h);
  --v14-body:var(--gtgf-font-body);
  --v14-display:var(--gtgf-font-display);
  --v14-shell:min(var(--gtgf-shell),calc(100vw - (var(--gtgf-shell-gutter) * 2)));
}

/* Predictable box model is part of the visual contract and prevents form/control overflow. */
body.gtgf-v14.gtgf-vs2 *,
body.gtgf-v14.gtgf-vs2 *::before,
body.gtgf-v14.gtgf-vs2 *::after { box-sizing:border-box; }

/* Base rhythm */
body.gtgf-v14.gtgf-vs2 {
  font-family:var(--gtgf-font-body);
  font-size:var(--gtgf-type-body) !important;
  line-height:var(--gtgf-leading-body);
  color:var(--gtgf-text-dark);
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}
body.gtgf-v14.gtgf-vs2 main { min-width:0; }
body.gtgf-v14.gtgf-vs2 p { line-height:var(--gtgf-leading-body); }
body.gtgf-v14.gtgf-vs2 .v14-lead,
body.gtgf-v14.gtgf-vs2 [class*="__lead"] {
  font-size:var(--gtgf-type-lead) !important;
  line-height:1.58 !important;
}

/* One page-title and section-title hierarchy. Hero art direction remains large. */
body.gtgf-v14.gtgf-vs2 main h1 {
  font-family:var(--gtgf-font-display);
  font-size:var(--gtgf-type-h1) !important;
  font-weight:900;
  line-height:.92 !important;
  letter-spacing:-.045em;
  text-wrap:balance;
}
body.gtgf-v14.gtgf-vs2 :is(.v14-page-hero,.page-hero,[class*="-hero"],[class*="__hero"]) h1,
body.gtgf-v14.gtgf-vs2.home main h1,
body.gtgf-v14.gtgf-vs2 .v14-brand-heading {
  font-size:var(--gtgf-type-display) !important;
  line-height:.9 !important;
}
body.gtgf-v14.gtgf-vs2 :is(.v14-section-head,.section-head,[class*="section-head"],[class*="__section-head"]) h2 {
  font-family:var(--gtgf-font-display);
  font-size:var(--gtgf-type-h2) !important;
  line-height:.98 !important;
  letter-spacing:-.04em;
  text-wrap:balance;
}
body.gtgf-v14.gtgf-vs2 :is(.v14-section-head,.section-head,[class*="section-head"],[class*="__section-head"]) h3 {
  font-size:var(--gtgf-type-h3) !important;
  line-height:1.08 !important;
}

/* Microtype guard: informative text never drops into 8-11px territory. */
body.gtgf-v14.gtgf-vs2 :is(
  .v14-eyebrow,.eyebrow,.home-kicker,
  [class*="eyebrow"],[class*="kicker"],[class*="overline"],
  [class*="badge"],[class*="tag"],[class*="chip"],[class*="status"]
) {
  font-size:var(--gtgf-type-meta) !important;
  line-height:1.35 !important;
}
body.gtgf-v14.gtgf-vs2 :is(
  [class*="meta"],[class*="hint"],[class*="note"],[class*="caption"],
  [class*="legend"],[class*="date"],[class*="credit"],[class*="foot"]
):not(h1):not(h2):not(h3) {
  font-size:var(--gtgf-type-support) !important;
  line-height:1.5 !important;
}
body.gtgf-v14.gtgf-vs2 :is(
  [class*="meta"],[class*="hint"],[class*="note"],[class*="caption"],
  [class*="legend"],[class*="date"],[class*="credit"],[class*="foot"]
) :is(span,small,p,strong,b,em,a,button) {
  font-size:inherit !important;
  line-height:inherit;
}
body.gtgf-v14.gtgf-vs2 small { font-size:var(--gtgf-type-support) !important; line-height:1.5 !important; }

/* Native text-bearing UI elements get a hard readable floor. */
body.gtgf-v14.gtgf-vs2 button,
body.gtgf-v14.gtgf-vs2 summary {
  font-size:var(--gtgf-type-ui) !important;
  line-height:1.4 !important;
}
body.gtgf-v14.gtgf-vs2 :is(button,summary) :is(span,small,strong,b,em) {
  font-size:inherit !important;
  line-height:inherit !important;
}
body.gtgf-v14.gtgf-vs2 :is(time,figcaption) {
  font-size:var(--gtgf-type-support) !important;
  line-height:1.45 !important;
}
body.gtgf-v14.gtgf-vs2 th { font-size:var(--gtgf-type-support) !important; line-height:1.4; }

/* Product and dense-data surfaces: readable UI without turning every label into body copy. */
body.gtgf-v14.gtgf-vs2 :is(
  .planner-field,.planner-step-tip,.planner-coach-note,.planner-ready-note,
  .planner-live-summary,.planner-goal-context,.planner-level-context,
  .planner-action-summary,.planner-week-advice,.planner-week-heading,
  .planner-rolling159988,.planner-levels159988,.planner-roadmap159988,
  .nutrition-form__panel,.nutrition-profile-summary,.nutrition-training-link__summary,
  .nutrition-meal__summary,.nutrition-meal__notes,.nutrition-form__footer,
  .nutrition-week-overview__day,.events-filter-fields,.events-filter-summary
) {
  font-size:var(--gtgf-type-support) !important;
}
body.gtgf-v14.gtgf-vs2 :is(
  .planner-field,.planner-step-tip,.planner-coach-note,.planner-ready-note,
  .planner-live-summary,.planner-goal-context,.planner-level-context,
  .planner-action-summary,.planner-week-advice,.planner-week-heading,
  .planner-rolling159988,.planner-levels159988,.planner-roadmap159988,
  .nutrition-form__panel,.nutrition-profile-summary,.nutrition-training-link__summary,
  .nutrition-meal__summary,.nutrition-meal__notes,.nutrition-form__footer,
  .nutrition-week-overview__day,.events-filter-fields,.events-filter-summary
) :is(span,small,p,strong,b,em,dt,dd) {
  font-size:inherit !important;
}

/* Knowledge and events have been especially compressed over time. Give them one floor. */
body.gtgf-v14.gtgf-vs2 :is(
  .v1594-knowledge,.v1594-article-page,.v159975-article-page,
  .v1524-article-card,.v145-article-card,
  [class^="v1587-"],[class^="v1588-"],[class^="v1596-event"],[class^="v1596-community"]
) :is(small,[class*="meta"],[class*="label"],[class*="footer"],[class*="top"],[class*="tag"],[class*="date"]) {
  font-size:var(--gtgf-type-support) !important;
  line-height:1.45 !important;
}
body.gtgf-v14.gtgf-vs2 :is(.v1524-article-card,.v145-article-card,.event-card,.recipe-card,[class*="event-card"]) :is(h2,h3,strong[class*="title"]) {
  font-size:clamp(1.125rem,1.8vw,1.375rem) !important;
  line-height:1.15 !important;
}

/* Surface contrast roles. */
body.gtgf-v14.gtgf-vs2 :is(.section--black,.page-hero,.v14-page-hero,.v14-member-stage--dark,.v14-site-footer,[class*="--dark"],[class*="-dark"]) {
  --gtgf-local-text:var(--gtgf-text-on-dark);
  --gtgf-local-secondary:var(--gtgf-text-secondary-dark);
  --gtgf-local-muted:var(--gtgf-text-muted-dark);
  --gtgf-local-line:var(--gtgf-line-dark-strong);
  color:var(--gtgf-text-on-dark);
}
body.gtgf-v14.gtgf-vs2 :is(.section--black,.page-hero,.v14-page-hero,.v14-member-stage--dark,.v14-site-footer,[class*="--dark"],[class*="-dark"]) :is(p,li,small,.v14-muted,.v14-help):not(.eyebrow):not(.v14-eyebrow):not(.accent) {
  color:var(--gtgf-text-secondary-dark) !important;
}
body.gtgf-v14.gtgf-vs2 :is(.section--black,.page-hero,.v14-page-hero,.v14-member-stage--dark,.v14-site-footer,[class*="--dark"],[class*="-dark"]) :is([class*="muted"],[class*="caption"],[class*="hint"],[class*="note"]):not(.accent) {
  color:var(--gtgf-text-muted-dark) !important;
}
body.gtgf-v14.gtgf-vs2 :is(.section--paper,.v14-page-hero--paper,[class*="--paper"],[class*="-paper"]) {
  color:var(--gtgf-text-dark);
}
body.gtgf-v14.gtgf-vs2 :is(.section--paper,.v14-page-hero--paper,[class*="--paper"],[class*="-paper"]) :is(p,li,small):not(.eyebrow):not(.v14-eyebrow):not(.accent) {
  color:var(--gtgf-text-secondary) !important;
}

/* Accessible accent text: brand orange remains visual accent, darker orange is for small text on light surfaces. */
body.gtgf-v14.gtgf-vs2 :is(.section--paper,.v14-page-hero--paper,main) a:not(.button):not(.v14-btn):not([class*="btn"]):not([class*="button"]) {
  text-decoration-thickness:1px;
  text-underline-offset:3px;
}
body.gtgf-v14.gtgf-vs2 :is(.section--paper,.v14-page-hero--paper) a:not(.button):not(.v14-btn):not([class*="btn"]):not([class*="button"]):not(.event-card):not(.recipe-card) {
  color:var(--gtgf-accent-text);
}
body.gtgf-v14.gtgf-vs2 :is(.section--black,.page-hero,.v14-page-hero,.v14-site-footer) a:not(.button):not(.v14-btn):not([class*="btn"]):not([class*="button"]) {
  color:inherit;
}

/* One button language. Orange always carries dark ink for accessible contrast. */
body.gtgf-v14.gtgf-vs2 :is(.button,a.button,button.button,.wp-element-button,.v14-btn,[class*="-button"],[class*="__button"]) {
  min-height:var(--gtgf-control-h);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:0 18px;
  font-family:var(--gtgf-font-body);
  font-size:var(--gtgf-type-ui) !important;
  font-weight:850;
  line-height:1.15;
  letter-spacing:.04em;
  text-decoration:none;
}
body.gtgf-v14.gtgf-vs2 :is(.button,a.button,button.button,.wp-element-button):not(.button--dark):not(.button--outline):not(.button--outline-dark):not(.button--outline-light):not(.button--light),
body.gtgf-v14.gtgf-vs2 :is(.v14-btn--orange,.button--orange,[class*="button--orange"],[class*="btn--orange"]) {
  background:var(--gtgf-accent) !important;
  border-color:var(--gtgf-accent) !important;
  color:var(--gtgf-black) !important;
  -webkit-text-fill-color:var(--gtgf-black);
}
body.gtgf-v14.gtgf-vs2 :is(.button--dark,.v14-btn--dark) {
  background:var(--gtgf-black) !important;
  border-color:var(--gtgf-black) !important;
  color:var(--gtgf-white) !important;
}
body.gtgf-v14.gtgf-vs2 :is(.button--outline,.button--outline-dark,.button--outline-light,.v14-btn--outline) {
  background:transparent;
  border-color:var(--gtgf-line-strong) !important;
}
body.gtgf-v14.gtgf-vs2 :is(.section--black,.page-hero,.v14-site-footer) :is(.button--outline,.button--outline-light,.v14-btn--outline) {
  border-color:var(--gtgf-line-dark-strong) !important;
  color:var(--gtgf-white) !important;
}

/* Known orange selected states that previously used white text on orange. */
body.gtgf-v14.gtgf-vs2 :is(
  .v14-dashboard-nav a.is-active,.v14-dashboard-nav a:hover,
  .planner-week-tabs button.is-active,.planner-day-nav__item.is-active,
  .v1587-sport-filter button.is-active,.gtgf-club-nav button.is-active,
  .v1569-choice input:checked + span,.v1569-body-options input:checked + span,
  .training-review-week-editor159957__day input:checked + span,
  .v159963-side-nav a[aria-current="page"],.v159964-nav-link[aria-current="page"]
) {
  color:var(--gtgf-black) !important;
  -webkit-text-fill-color:var(--gtgf-black);
}

/* Forms: readable labels, 16px fields and functional boundaries. */
body.gtgf-v14.gtgf-vs2 :is(form label,.form-label,.planner-field>label,.planner-field label,.events-filter label,.recipe-filter-group label) {
  font-size:var(--gtgf-type-ui) !important;
  line-height:1.4 !important;
  font-weight:750;
}
body.gtgf-v14.gtgf-vs2 :is(input:not([type=checkbox]):not([type=radio]),select,textarea) {
  min-height:var(--gtgf-control-h);
  border:1px solid var(--gtgf-line-strong) !important;
  border-radius:0 !important;
  background:var(--gtgf-white);
  color:var(--gtgf-text-dark);
  font-size:16px !important;
  line-height:1.4;
}
body.gtgf-v14.gtgf-vs2 textarea { min-height:120px; }
body.gtgf-v14.gtgf-vs2 :is(input,textarea)::placeholder { color:var(--gtgf-text-muted); opacity:1; }
body.gtgf-v14.gtgf-vs2 :is(.section--black,.page-hero,.v14-member-stage--dark,.gtgf-ae,[class*="--dark"]) :is(input:not([type=checkbox]):not([type=radio]),select,textarea) {
  background:var(--gtgf-dark-surface) !important;
  color:var(--gtgf-white) !important;
  border-color:var(--gtgf-line-dark-strong) !important;
  -webkit-text-fill-color:var(--gtgf-white);
}
body.gtgf-v14.gtgf-vs2 :is(.section--black,.page-hero,.v14-member-stage--dark,.gtgf-ae,[class*="--dark"]) :is(input,textarea)::placeholder {
  color:var(--gtgf-text-muted-dark) !important;
}
body.gtgf-v14.gtgf-vs2 :is(input[type=checkbox],input[type=radio]) {
  width:22px;
  height:22px;
  accent-color:var(--gtgf-accent);
}

/* Functional borders must be visible. Decorative dividers stay subtle. */
body.gtgf-v14.gtgf-vs2 :is(details,summary,[role="tab"],[role="button"],[class*="filter"] button,[class*="choice"] label) {
  --gtgf-functional-line:var(--gtgf-line-strong);
}
body.gtgf-v14.gtgf-vs2 :is(.section--black,.page-hero,.v14-site-footer,[class*="--dark"]) :is(details,summary,[role="tab"],[role="button"],[class*="filter"] button,[class*="choice"] label) {
  --gtgf-functional-line:var(--gtgf-line-dark-strong);
}

/* Header: identical visual scale on every public page. */
body.gtgf-v14.gtgf-vs2 .v14-site-header {
  height:var(--gtgf-header-h) !important;
  background:rgba(5,5,5,.97) !important;
  border-bottom:1px solid var(--gtgf-line-dark-subtle) !important;
  color:var(--gtgf-white);
  box-shadow:none;
}
body.gtgf-v14.gtgf-vs2 .v14-header-inner {
  width:min(1480px,calc(100vw - 48px)) !important;
  min-width:0;
}
body.gtgf-v14.gtgf-vs2 .v14-brand img { max-height:46px; }
body.gtgf-v14.gtgf-vs2 .v14-nav-list>li>a,
body.gtgf-v14.gtgf-vs2 .v1581-member-cta,
body.gtgf-v14.gtgf-vs2 .v1581-profile-trigger {
  font-size:13px !important;
  line-height:1;
  color:var(--gtgf-text-secondary-dark);
}
body.gtgf-v14.gtgf-vs2 .v14-nav-list>li:is(:hover,:focus-within,.is-current)>a,
body.gtgf-v14.gtgf-vs2 .v1581-member-cta:is(:hover,:focus-visible),
body.gtgf-v14.gtgf-vs2 .v1581-profile-trigger:is(:hover,:focus-visible) { color:#fff !important; }
body.gtgf-v14.gtgf-vs2 .v14-submenu { border-color:var(--gtgf-line-dark-strong); }
body.gtgf-v14.gtgf-vs2 .v14-submenu a { font-size:14px !important; color:var(--gtgf-text-secondary-dark); }
body.gtgf-v14.gtgf-vs2 .v14-submenu strong { font-size:14px !important; color:#fff; }
body.gtgf-v14.gtgf-vs2 .v14-submenu span { font-size:13px !important; color:var(--gtgf-text-muted-dark); }
body.gtgf-v14.gtgf-vs2 .v14-mobile-toggle { min-width:44px; min-height:44px; border-color:var(--gtgf-line-dark-strong) !important; }
body.gtgf-v14.gtgf-vs2 .v14-mobile-group>button,
body.gtgf-v14.gtgf-vs2 .v159947-mobile-nav>a,
body.gtgf-v14.gtgf-vs2 .v14-mobile-group a { font-size:16px !important; }

/* Footer: one readable scale on every page. */
body.gtgf-v14.gtgf-vs2 .v14-site-footer { background:var(--gtgf-black); border-top-color:var(--gtgf-line-dark-subtle); }
body.gtgf-v14.gtgf-vs2 .v14-footer-top {
  width:min(var(--gtgf-shell),calc(100vw - (var(--gtgf-shell-gutter) * 2)));
  padding:72px 0;
  gap:48px;
}
body.gtgf-v14.gtgf-vs2 .v14-footer-brand p { color:var(--gtgf-text-secondary-dark) !important; font-size:15px !important; }
body.gtgf-v14.gtgf-vs2 .v14-footer-brand>strong,
body.gtgf-v14.gtgf-vs2 .v14-footer-column h2 { font-size:12px !important; line-height:1.35 !important; }
body.gtgf-v14.gtgf-vs2 .v14-footer-column a,
body.gtgf-v14.gtgf-vs2 .v14-footer-muted { color:var(--gtgf-text-secondary-dark) !important; font-size:14px !important; line-height:1.45; }
body.gtgf-v14.gtgf-vs2 .v14-footer-column a:hover { color:var(--gtgf-accent) !important; }
body.gtgf-v14.gtgf-vs2 .v14-footer-bottom {
  width:min(var(--gtgf-shell),calc(100vw - (var(--gtgf-shell-gutter) * 2)));
  color:var(--gtgf-text-muted-dark) !important;
  font-size:12px !important;
}

/* Feedback dialog was one of the smallest type islands. */
body.gtgf-v14.gtgf-vs2 .gtgf-feedback__head>div>span { font-size:12px !important; }
body.gtgf-v14.gtgf-vs2 .gtgf-feedback__head h2 { font-size:clamp(1.5rem,3vw,2rem) !important; }
body.gtgf-v14.gtgf-vs2 .gtgf-feedback__head button,
body.gtgf-v14.gtgf-vs2 .gtgf-feedback__form>label,
body.gtgf-v14.gtgf-vs2 .gtgf-feedback__form>label span,
body.gtgf-v14.gtgf-vs2 .gtgf-feedback__actions small,
body.gtgf-v14.gtgf-vs2 .gtgf-feedback__notice { font-size:13px !important; line-height:1.45 !important; }

/* Shared geometry. GTGF stays sharp rather than generic rounded-app UI. */
body.gtgf-v14.gtgf-vs2 :is(.v14-product-card,.v14-current-card,.saved-plan-card,.event-card,.recipe-card,.v1524-article-card,.v145-article-card,.planner-auth-card,[class*="-card"],[class*="__card"]) {
  border-radius:0 !important;
}
body.gtgf-v14.gtgf-vs2 :is(.v14-page,.v14-home-main)>section { scroll-margin-top:calc(var(--gtgf-header-h) + 20px); }
body.gtgf-v14.gtgf-vs2 :is(.section,.v14-section):not([class*="compact"]) { padding-block:var(--gtgf-section-space); }
body.gtgf-v14.gtgf-vs2 :is(.v14-section-head,.section-head,[class*="section-head"]) { margin-bottom:clamp(32px,4vw,56px); }

/* Focus and targets. */
body.gtgf-v14.gtgf-vs2 :is(a,button,input,select,textarea,summary,[tabindex]):focus-visible {
  outline:3px solid var(--gtgf-accent) !important;
  outline-offset:3px !important;
  box-shadow:none !important;
}
body.gtgf-v14.gtgf-vs2 :is(button,[role="button"],summary,input[type=checkbox],input[type=radio]) { min-width:24px; min-height:24px; }

/* Reflow and mobile rhythm. */
@media (max-width:1020px) {
  :root { --gtgf-shell-gutter:22px; --gtgf-section-space:clamp(64px,8vw,88px); }
  body.gtgf-v14.gtgf-vs2 .v14-header-inner { width:calc(100vw - 32px) !important; }
  body.gtgf-v14.gtgf-vs2 .v14-mobile-menu { top:var(--gtgf-header-h) !important; }
}
@media (max-width:680px) {
  :root {
    --gtgf-shell-gutter:18px;
    --gtgf-header-h:70px;
    --gtgf-type-display:clamp(2.75rem,13vw,3.625rem);
    --gtgf-type-h1:clamp(2.375rem,10vw,3.125rem);
    --gtgf-type-h2:clamp(1.875rem,8vw,2.375rem);
    --gtgf-type-h3:clamp(1.25rem,6vw,1.5rem);
    --gtgf-type-body:16px;
    --gtgf-section-space:clamp(52px,12vw,64px);
  }
  body.gtgf-v14.gtgf-vs2 .v14-header-inner { width:calc(100vw - 24px) !important; }
  body.gtgf-v14.gtgf-vs2 :is(.button,a.button,button.button,.wp-element-button,.v14-btn,[class*="-button"],[class*="__button"]) { min-height:48px; }
  body.gtgf-v14.gtgf-vs2 .v14-footer-top { grid-template-columns:1fr; padding:52px 0; gap:30px; }
  body.gtgf-v14.gtgf-vs2 .v14-footer-bottom { align-items:flex-start; flex-direction:column; padding:20px 0; }
}
@media (max-width:320px) {
  :root { --gtgf-shell-gutter:14px; }
  body.gtgf-v14.gtgf-vs2 { overflow-wrap:anywhere; }
  body.gtgf-v14.gtgf-vs2 :is(img,svg,video,canvas,iframe,table) { max-width:100%; }
}

@media (prefers-reduced-motion:reduce) {
  body.gtgf-v14.gtgf-vs2 *,
  body.gtgf-v14.gtgf-vs2 *::before,
  body.gtgf-v14.gtgf-vs2 *::after {
    scroll-behavior:auto !important;
    transition-duration:.01ms !important;
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
  }
}

/* Accent text guard. Bright GTGF orange is excellent on dark, but too light for small text on paper. */
body.gtgf-v14.gtgf-vs2 main :is(.v14-eyebrow,.eyebrow,.home-kicker,[class*="eyebrow"],[class*="kicker"],[class*="overline"]) {
  color:var(--gtgf-accent-text) !important;
}
body.gtgf-v14.gtgf-vs2 :is(.section--black,.page-hero,.v14-page-hero,.v14-member-stage--dark,.v14-site-footer,[class*="--dark"],[class*="-dark"]) :is(.v14-eyebrow,.eyebrow,.home-kicker,[class*="eyebrow"],[class*="kicker"],[class*="overline"]) {
  color:var(--gtgf-accent) !important;
}

/* Explicit fixes for legacy orange surfaces with white small text. */
body.gtgf-v14.gtgf-vs2 :is(
  .gtgf-strava-history__community>a,
  .gtgf-community-compose__bottom button,
  .gtgf-week-checkin button,
  .gtgf-sharing-form button,
  .gtgf-community-dashboard-teaser__copy a,
  .planner-readiness__actions button,
  .v1569-form-foot button,
  .v1563-detail-placeholder button,
  .planner-day__today
) {
  color:var(--gtgf-black) !important;
  -webkit-text-fill-color:var(--gtgf-black);
}
body.gtgf-v14.gtgf-vs2 .trip-v161-package-card:nth-child(2)::before,
body.gtgf-v14.gtgf-vs2 .trip-v161-package-card:nth-child(3)::before {
  color:var(--gtgf-black) !important;
}

/* Dense product microtype floors. These selectors cover the smallest legacy islands directly. */
body.gtgf-v14.gtgf-vs2 .planner-wizard__progress button span,
body.gtgf-v14.gtgf-vs2 .planner-step legend span,
body.gtgf-v14.gtgf-vs2 .planner-rolling159988__head span,
body.gtgf-v14.gtgf-vs2 .planner-levels159988__head span,
body.gtgf-v14.gtgf-vs2 .planner-roadmap159988__top span,
body.gtgf-v14.gtgf-vs2 .planner-roadmap159988__dose span,
body.gtgf-v14.gtgf-vs2 .planner-fit159988,
body.gtgf-v14.gtgf-vs2 .planner-roadmap159988__metrics span,
body.gtgf-v14.gtgf-vs2 .planner-flex159987__preview>span,
body.gtgf-v14.gtgf-vs2 .planner-flex159987__calendar-head span {
  font-size:var(--gtgf-type-meta) !important;
  line-height:1.35 !important;
}
body.gtgf-v14.gtgf-vs2 .planner-wizard__progress button strong,
body.gtgf-v14.gtgf-vs2 .planner-field-heading small,
body.gtgf-v14.gtgf-vs2 .planner-primary-choice small,
body.gtgf-v14.gtgf-vs2 .planner-step__intro,
body.gtgf-v14.gtgf-vs2 .planner-rolling159988__legend span,
body.gtgf-v14.gtgf-vs2 .planner-levels159988__grid article span,
body.gtgf-v14.gtgf-vs2 .planner-levels159988__grid article small,
body.gtgf-v14.gtgf-vs2 .planner-fit159988__copy,
body.gtgf-v14.gtgf-vs2 .planner-flex159987__field span,
body.gtgf-v14.gtgf-vs2 .planner-flex159987__calendar-grid span {
  font-size:var(--gtgf-type-support) !important;
  line-height:1.45 !important;
}
body.gtgf-v14.gtgf-vs2 :is(.planner-flex159987__choices,.planner-flex159987__actions,.planner-flex159987__calendar-head) button,
body.gtgf-v14.gtgf-vs2 .planner-day__open,
body.gtgf-v14.gtgf-vs2 .planner-week-advice button,
body.gtgf-v14.gtgf-vs2 .planner-ux-inline-actions button {
  font-size:var(--gtgf-type-ui) !important;
  min-height:44px;
}

body.gtgf-v14.gtgf-vs2 :is(
  .nutrition-results__legend span,
  .nutrition-week-overview__day>span,.nutrition-week-overview__day>strong,.nutrition-week-overview__day>small,
  .nutrition-day header span,.nutrition-day header>strong,
  .nutrition-day__targets em,.nutrition-day__example-total span,
  .nutrition-meal__slot,.nutrition-meal__energy,
  .nutrition-meal__macros,.nutrition-meal__macros span,
  .nutrition-shopping__package-head>small,
  .nutrition-shopping__package-results-head small,
  .nutrition-shopping__package-candidate span small,
  .nutrition-shopping__package-candidate em,.nutrition-shopping__package-candidate b
) {
  font-size:var(--gtgf-type-support) !important;
  line-height:1.45 !important;
}
body.gtgf-v14.gtgf-vs2 :is(.nutrition-shopping__package-actions,.nutrition-shopping__package-selected,.nutrition-shopping__package-manual) button {
  font-size:var(--gtgf-type-ui) !important;
  min-height:44px;
}

body.gtgf-v14.gtgf-vs2 :is(
  .v1594-knowledge-proof,.v1594-start-here__head,.v1594-article-kicker,
  .v1594-article-meta small,.v1594-article-details small,
  .v1524-article-card__top,.v1524-article-card__labels span,.v1524-article-card__footer,
  .v145-article-card__footer,.v159975-editorial-pick__label,
  .v159975-editorial-pick__main>span,.v159975-editorial-pick__quick span,
  .v159975-library-intro span
) {
  font-size:var(--gtgf-type-meta) !important;
  line-height:1.4 !important;
}
body.gtgf-v14.gtgf-vs2 :is(.v1594-knowledge-search button,.v1594-article-details summary,.v1594-article-page .v145-article-nav .button) {
  font-size:var(--gtgf-type-ui) !important;
  min-height:44px;
}

body.gtgf-v14.gtgf-vs2 :is(
  .v1587-events-head__meta span,.v1587-filter-count span,.v1587-event-date span,.v1587-event-date small,
  .v1587-event-labels .event-sport,.v1587-event-labels .event-featured,
  .v1587-detail-grid small,.v1587-detail-actions small,
  .v1588-major-group>header span,.v1588-major-date span,.v1588-major-date small,
  .v1596-community-event__main>span,.v1596-row-community span,.v1596-event-tags span,
  .v1596-event-hero__meta span,.v1596-event-crew-card__eyebrow,
  .v1596-event-facts small,.v1596-event-registration span,.v1596-event-practical small,
  .v1596-event-plan-card>span,.v1596-event-people__grid span,.v1596-event-photo-credit
) {
  font-size:var(--gtgf-type-support) !important;
  line-height:1.45 !important;
}
body.gtgf-v14.gtgf-vs2 :is(
  .v1587-sport-filter button,.v1587-reset,.v1587-map-disclosure>summary,.v1587-event-plan,
  .v1587-event-more>summary,.v1587-detail-grid a,.v1587-detail-actions button,.v1587-detail-actions a,
  .v1588-major-group>header a,.v1596-inline-attendance button,a.v1596-inline-login,
  .v1596-event-view,.v1596-event-back,.v1596-event-rsvp button,.v1596-event-rsvp__login,
  .v1596-event-official,.v1596-event-practical a,.v1596-event-plan-button,.v1596-event-share,.v1596-event-final a
) {
  font-size:var(--gtgf-type-ui) !important;
  line-height:1.4 !important;
}

/* Homepage compact labels: keep the cinematic hero, remove microscopic supporting UI. */
body.home.gtgf-v14.gtgf-vs2 :is(
  .v1576-journey-rail span,.v1576-journey-rail b,.v1576-hero__trust,
  .v1576-flow-card__number,.v1576-flow-card__label,.v1576-proof__metrics span,
  .v1576-coach-demo__top span,.v1576-coach-demo article span,.v1576-coach-demo__footer span,
  .v1576-more__links span,.gtgf-home-compact__meta,.gtgf-home-compact__cap-head span,
  .gtgf-home-compact__resume-inner span,.gtgf-home-compact__steps b
) {
  font-size:var(--gtgf-type-support) !important;
  line-height:1.45 !important;
}
body.home.gtgf-v14.gtgf-vs2 :is(.v1576-goal-picker button,.gtgf-home-compact__capabilities>a) {
  font-size:var(--gtgf-type-ui) !important;
}

/* Editorial microtype: Earn the Start Line keeps its art direction but not 8-10px labels. */
body.gtgf-v14.gtgf-vs2.gtgf-vs2-editorial :is(
  .v1591-partner-strip>.wrap>span,.v1591-story-arc__chapters span,.v1591-story-quote span,
  .v1591-partner-status span,.v1591-partner-status b,.v1591-current-partner__copy>span,
  .v1591-open-partners__intro>span,.v1591-open-partners__grid b,.v1591-partner-value__list b,
  .v1591-partner-cta span,.v1589-project-card span,.v1589-proof-rail small,
  .v1589-section-label small,.v1589-project-principles span,.v1589-momentum-grid span,
  .v1589-positive-note span,.v1589-roadmap b,.v1589-journal-grid span,.v1589-live-log span,
  .v1592-story-lines small,.v1592-story-signature span,.v1592-partner-current span,
  .v1592-partner-open__head>span,.v1592-partner-open li b,.v1592-partner-rule span,
  .v1593-casa-logo small,.v1593-casa-logo span,.v1593-partner-slot>span,.v1590-project-card .v1590-chapter
) {
  font-size:var(--gtgf-type-meta) !important;
  line-height:1.4 !important;
}
body.gtgf-v14.gtgf-vs2.gtgf-vs2-editorial :is(
  .v1591-partner-strip__cta,.v1591-current-partner__copy>a,.v1589-btn,.v1592-partner-current div>a
) {
  font-size:var(--gtgf-type-ui) !important;
  min-height:44px;
}

/* Member app floor: navigation and data labels remain compact, but readable. */
body.gtgf-v14.gtgf-vs2.gtgf-mijn-gtgf-app :is(
  .v159965-nav-label,.v159963-side-label,.v159963-side-index,.v159964-nav-label,
  .v159942-hub__top>div:first-child>span,.v159942-today__label span,.v159963-coach-context,
  .v159960-next-session>span,.v159963-status-rail span,.v159963-status-rail b,
  .v15992-home__identity>span,.v15992-startline>span,.v15992-priority>div>span,.v15992-card>span,
  .v15992-weekpulse span,.v159917-open-coach__head>div>span,.v159917-coach-voice>span,
  .v159917-coach-conversation__copy>span,.v159917-open-coach__facts span,.v159917-context-badge,
  .v159942-hub__status>span,.v159942-hub__status small,.v159942-today__meta span,
  .v159942-tile>small,.v159942-tile>p,.v159942-tile>b,.v159942-quick>a>span,
  .v159942-quick>a>small,.v159942-depth summary small,.v159942-depth summary b
) {
  font-size:var(--gtgf-type-meta) !important;
  line-height:1.4 !important;
}
body.gtgf-v14.gtgf-vs2.gtgf-mijn-gtgf-app :is(
  .v159965-nav-link,.v159963-side-nav a,.v159963-side-nav button,.v159964-nav-link,
  .v15992-card>a,.v15992-weekpulse>a,.v159917-coach-prompts button,.v159917-open-coach__actions a
) {
  font-size:var(--gtgf-type-ui) !important;
  line-height:1.4 !important;
}
body.gtgf-v14.gtgf-vs2.gtgf-mijn-gtgf-app :is(
  .v159963-side-user small,.v159964-nav-usercopy small,.v159960-next-session>small,
  .v159963-status-rail small,.v15992-weekpulse small,.v159917-open-coach__actions small,
  .v159942-hub__top p,.v159942-today p,.v159942-today__cta span
) {
  font-size:var(--gtgf-type-support) !important;
  line-height:1.45 !important;
}

/* Tracking pages use many span-only labels; standardise them without touching metric headings. */
body.gtgf-v14.gtgf-vs2.gtgf-mijn-gtgf-app :is(
  .v1582-panel>span,.v1582-panel>header span,.v1582-weekline>header span,
  .v1582-coach>div>span,.v1582-activity__body>small,.v1582-activity__body>span,
  .v1582-activity__right em,.v1582-activity__right b,.v1582-activity__right small,
  .v1582-weekline__days strong,.v1582-weekline__days small,.v1582-weekline__legend,
  .v1582-activity-summary small,.v1582-week-score small,.v1582-data-note,
  .v1582-day>header span,.v1582-day>header small,.v1582-dayitem small,.v1582-dayitem>span,.v1582-rest
) {
  font-size:var(--gtgf-type-support) !important;
  line-height:1.45 !important;
}
body.gtgf-v14.gtgf-vs2.gtgf-mijn-gtgf-app :is(
  .v1582-panel>header a,.v1582-next>a,.v1582-coach>a,.v1582-fuel>a,.v1582-weekline>header a,
  .v1582-segment button,.v1582-app-nav a,.v1582-app-nav button,.v1583-sync-action
) {
  font-size:var(--gtgf-type-ui) !important;
}
