/* GTGF v15.99.95 - Deep Contrast + Text Flow Guard
 * Scope: site-wide presentation/accessibility repair.
 * Loaded after v15.99.92, v15.99.93 and v15.99.94.
 * No planner, nutrition or athlete logic is changed here.
 */

body.gtgf-v14.gtgf-vs2.gtgf-vp95 {
  --vp95-paper:#f4f2ed;
  --vp95-white:#fff;
  --vp95-ink:#111;
  --vp95-text:#2f2c29;
  --vp95-muted:#55514c;
  --vp95-muted-2:#686159;
  --vp95-dark:#050505;
  --vp95-dark-raised:#111214;
  --vp95-on-dark:#fff;
  --vp95-muted-dark:#b8b8b8;
  --vp95-muted-dark-2:#9d9da0;
  --vp95-accent:#ff5a00;
  --vp95-accent-on-light:#bd3e00;
  --vp95-focus:#ff7a2d;
  /* v15.99.92 used inherited `anywhere` at 320px. Make normal wrapping the default. */
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none;
}

/* --------------------------------------------------------------------------
 * 1. TEXT FLOW: never cut normal UI words in half.
 * -------------------------------------------------------------------------- */
body.gtgf-v14.gtgf-vs2.gtgf-vp95 :is(h1,h2,h3,h4,h5,h6),
body.gtgf-v14.gtgf-vs2.gtgf-vp95 :is(.eyebrow,[class*="eyebrow"],[class*="kicker"],[class*="overline"]),
body.gtgf-v14.gtgf-vs2.gtgf-vp95 :is(button,summary,label,strong,b,small),
body.gtgf-v14.gtgf-vs2.gtgf-vp95 .site-nav a {
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
}
body.gtgf-v14.gtgf-vs2.gtgf-vp95 :is(h1,h2,h3,h4,h5,h6) {
  text-wrap:balance;
}
body.gtgf-v14.gtgf-vs2.gtgf-vp95 :is(p,li,dd,figcaption) {
  overflow-wrap:break-word;
  word-break:normal;
}
body.gtgf-v14.gtgf-vs2.gtgf-vp95 :is(code,pre,.gtgf-break-long) {
  overflow-wrap:anywhere!important;
  word-break:break-word!important;
}
body.gtgf-v14.gtgf-vs2.gtgf-vp95 pre { overflow-x:auto; }

/* Old mobile guard used overflow-wrap:anywhere on every span/link/button. Undo it. */
@media(max-width:760px){
  body.gtgf-v14.gtgf-vs2.gtgf-vp95 :is(.v14-page,.v14-home-main,.v14-member-app)
  :is(h1,h2,h3,h4,h5,h6,label,small,strong,span,a,button,summary){
    overflow-wrap:normal!important;
    word-break:normal!important;
    hyphens:none!important;
  }
  body.gtgf-v14.gtgf-vs2.gtgf-vp95 :is(.v14-page,.v14-home-main,.v14-member-app) :is(p,li,dd,figcaption){
    overflow-wrap:break-word!important;
    word-break:normal!important;
  }
}

/* Grid/flex children may shrink; text should not force horizontal overflow. */
body.gtgf-v14.gtgf-vs2.gtgf-vp95 :is(
  .page-hero__inner,.section-head,.v14-section-head,
  [class*="__grid"],[class*="-grid"],[class*="__layout"],[class*="-layout"]
) > * { min-width:0; }
body.gtgf-v14.gtgf-vs2.gtgf-vp95 :is(img,svg,video,canvas) { max-width:100%; }

/* --------------------------------------------------------------------------
 * 2. TRAININGSPLANNER HERO: fix the observed TRAININGSSC / HEMA split.
 * -------------------------------------------------------------------------- */
body.gtgf-v14.gtgf-vs2.gtgf-vp95.gtgf-vp94-planner .page-hero--planner-task .page-hero__inner {
  grid-template-columns:minmax(0,1.7fr) minmax(280px,.72fr)!important;
  grid-template-rows:auto auto!important;
  column-gap:44px!important;
  row-gap:12px!important;
  align-items:end!important;
}
body.gtgf-v14.gtgf-vs2.gtgf-vp95.gtgf-vp94-planner .page-hero--planner-task .eyebrow {
  grid-column:1 / -1!important;
  grid-row:1!important;
  margin:0!important;
}
body.gtgf-v14.gtgf-vs2.gtgf-vp95.gtgf-vp94-planner .page-hero--planner-task h1 {
  grid-column:1!important;
  grid-row:2!important;
  width:100%!important;
  max-width:none!important;
  overflow:visible!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
  text-wrap:initial!important;
}
body.gtgf-v14.gtgf-vs2.gtgf-vp95.gtgf-vp94-planner .page-hero--planner-task h1 .accent {
  display:block!important;
  width:max-content;
  max-width:100%;
  white-space:nowrap!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
  font-size:.91em;
}
body.gtgf-v14.gtgf-vs2.gtgf-vp95.gtgf-vp94-planner .page-hero--planner-task .page-hero__intro {
  grid-column:2!important;
  grid-row:2!important;
  align-self:end!important;
  margin:0 0 5px!important;
}

@media(max-width:1080px){
  body.gtgf-v14.gtgf-vs2.gtgf-vp95.gtgf-vp94-planner .page-hero--planner-task .page-hero__inner {
    grid-template-columns:1fr!important;
    grid-template-rows:auto!important;
    gap:16px!important;
  }
  body.gtgf-v14.gtgf-vs2.gtgf-vp95.gtgf-vp94-planner .page-hero--planner-task :is(.eyebrow,h1,.page-hero__intro){
    grid-column:1!important;
    grid-row:auto!important;
  }
  body.gtgf-v14.gtgf-vs2.gtgf-vp95.gtgf-vp94-planner .page-hero--planner-task .page-hero__intro {
    max-width:58ch!important;
    margin-top:2px!important;
  }
}
@media(max-width:560px){
  body.gtgf-v14.gtgf-vs2.gtgf-vp95.gtgf-vp94-planner .page-hero--planner-task h1 {
    font-size:clamp(2.25rem,10.4vw,3.2rem)!important;
    letter-spacing:-.052em!important;
  }
  body.gtgf-v14.gtgf-vs2.gtgf-vp95.gtgf-vp94-planner .page-hero--planner-task h1 .accent {
    font-size:.88em!important;
    letter-spacing:-.058em!important;
  }
}
@media(max-width:360px){
  body.gtgf-v14.gtgf-vs2.gtgf-vp95.gtgf-vp94-planner .page-hero--planner-task h1 {
    font-size:clamp(2.05rem,9.8vw,2.7rem)!important;
  }
  body.gtgf-v14.gtgf-vs2.gtgf-vp95.gtgf-vp94-planner .page-hero--planner-task h1 .accent { font-size:.86em!important; }
}

/* Generic hero safety: normal line breaks, no arbitrary mid-word splits. */
body.gtgf-v14.gtgf-vs2.gtgf-vp95 :is(.page-hero,.v14-page-hero,[class*="__hero"],[class*="-hero"]) :is(h1,h2) {
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
}

/* --------------------------------------------------------------------------
 * 3. LIGHT SURFACES: readable muted text and functional orange.
 * Bright #ff5a00 is fine as a large display colour, not as 12-14px copy on paper.
 * -------------------------------------------------------------------------- */
body.gtgf-v14.gtgf-vs2.gtgf-vp95 :is(
  .section--paper,.section--soft,.section--white,.v14-member-stage--paper,
  .planner-section,#planner-results,.v1594-article-page,.v1594-knowledge,
  .gtgf-community-post,.gtgf-club-board,.gtgf-challenge-card,.gtgf-week-checkin,
  .v1524-article-card,.v145-article-card,.gtgf-recipe-card,.event-card
) :is(p,li,dd,figcaption,small) {
  color:var(--vp95-muted)!important;
  opacity:1!important;
}
body.gtgf-v14.gtgf-vs2.gtgf-vp95 :is(
  .section--paper,.section--soft,.section--white,.v14-member-stage--paper,
  .planner-section,#planner-results,.v1594-article-page,.v1594-knowledge,
  .gtgf-community-post,.gtgf-club-board,.gtgf-challenge-card,.gtgf-week-checkin,
  .v1524-article-card,.v145-article-card,.gtgf-recipe-card,.event-card
) :is(.eyebrow,[class*="eyebrow"],[class*="kicker"],[class*="overline"],[class*="label"].is-orange,[class*="tag"].is-orange) {
  color:var(--vp95-accent-on-light)!important;
  -webkit-text-fill-color:var(--vp95-accent-on-light)!important;
}
body.gtgf-v14.gtgf-vs2.gtgf-vp95 :is(
  .section--paper,.section--soft,.section--white,.v14-member-stage--paper,
  .planner-section,#planner-results,.v1594-article-page,.v1594-knowledge
) a:not(.button):not(.v14-btn):not([class*="button"]):not([class*="btn"]){
  text-decoration-thickness:1px;
  text-underline-offset:3px;
}

/* Explicit low-contrast paper remnants found in the static audit. */
body.gtgf-v14.gtgf-vs2.gtgf-vp95 .trip-v161-comparison__row b.is-added { color:#9f3500!important; }
body.gtgf-v14.gtgf-vs2.gtgf-vp95 .booking-season-state.is-closed,
body.gtgf-v14.gtgf-vs2.gtgf-vp95 .v1584-club-onboarding__steps span,
body.gtgf-v14.gtgf-vs2.gtgf-vp95 .planner-summary__stats span,
body.gtgf-v14.gtgf-vs2.gtgf-vp95 .planner-day-nav__item,
body.gtgf-v14.gtgf-vs2.gtgf-vp95 .planner-day-nav__item small,
body.gtgf-v14.gtgf-vs2.gtgf-vp95 .planner-session__order,
body.gtgf-v14.gtgf-vs2.gtgf-vp95 .planner-guide-quickfacts small,
body.gtgf-v14.gtgf-vs2.gtgf-vp95 .v159932-purpose__list small,
body.gtgf-v14.gtgf-vs2.gtgf-vp95 .v159932-purpose__list article>span,
body.gtgf-v14.gtgf-vs2.gtgf-vp95 .v159932-purpose__latest p,
body.gtgf-v14.gtgf-vs2.gtgf-vp95 .v1572-purpose-inline p,
body.gtgf-v14.gtgf-vs2.gtgf-vp95 .v1554-week-overview small,
body.gtgf-v14.gtgf-vs2.gtgf-vp95 .v1554-profile-status p {
  color:var(--vp95-muted)!important;
  opacity:1!important;
}

/* Knowledge/editorial paper copy that was below AA in older layers. */
body.gtgf-v14.gtgf-vs2.gtgf-vp95 :is(.v1594-knowledge,.v1515-taxonomy-hub)
:is(.v1524-article-card__top,.v1524-article-card__labels span,.v145-article-card p,.v156-route-grid>a small),
body.gtgf-v14.gtgf-vs2.gtgf-vp95 .v1594-author-note span,
body.gtgf-v14.gtgf-vs2.gtgf-vp95 .v1594-article-page .v145-article-nav>p:not(.eyebrow) {
  color:var(--vp95-muted)!important;
  opacity:1!important;
}

/* --------------------------------------------------------------------------
 * 4. DARK SURFACES: remove washed-out 35-50% white text.
 * -------------------------------------------------------------------------- */
body.gtgf-v14.gtgf-vs2.gtgf-vp95 :is(
  .section--black,.page-hero,.v14-page-hero,.planner-form,.nutrition-form,
  .training-guide159950,.nutrition-guide159949,.v14-member-stage--dark,
  .v1563-activity-lab,.v1564-performance,.v1565-coach,.v1567-race,.v1569-debrief,
  .v1571-history,.v159972-athlete-lab,.v159972-week-story,.v159972-progress-story
) :is(p,li,dd,figcaption,small) {
  color:var(--vp95-muted-dark)!important;
  opacity:1!important;
}
body.gtgf-v14.gtgf-vs2.gtgf-vp95 :is(
  .section--black,.page-hero,.v14-page-hero,.planner-form,.nutrition-form,
  .training-guide159950,.nutrition-guide159949,.v14-member-stage--dark,
  .v1563-activity-lab,.v1564-performance,.v1565-coach,.v1567-race,.v1569-debrief,
  .v1571-history,.v159972-athlete-lab,.v159972-week-story,.v159972-progress-story
) :is(h1,h2,h3,h4,strong,label,legend,summary) {
  color:var(--vp95-on-dark)!important;
}

/* Dark microcopy remnants found below AA. */
body.gtgf-v14.gtgf-vs2.gtgf-vp95 :is(
  .v1594-start-here__head,.v1594-start-here>a span,.v1594-start-here>a i,
  .v1594-article-meta small,.v1594-article-details small,.v1594-article-kicker b,
  .v1569-race-review-mini span,.v1569-race-memory>p,
  .v1573-block-row.is-head,.v1574-quality-row.is-head,.v1595-method-note,
  .v159972-confidence span,.v159972-confidence small,.v159972-evidence header small,
  .v159972-evidence section span b,.v159972-evidence section span small,
  .v1567-hero__metrics span,.v1567-hero__metrics small,.v1567-card header small,
  .v1567-benchmarks span,.v1567-benchmarks small,.v1567-section>header small,
  .v1567-anchor-grid span,.v1567-fuel-grid span,.v1567-timeline-grid article>span,
  .v1571-tabs button small,.v1571-summary article>small,.v1571-card>header small,
  .v1571-attempt__meta small,.v1571-patterns small,.v1571-next small,.v1571-history__foot span
) {
  color:var(--vp95-muted-dark)!important;
  opacity:1!important;
}

/* Home dark cards: legacy 42-58% white was visibly thin. */
body.gtgf-v14.gtgf-vs2.gtgf-vp95.home :is(
  .v1576-flow-card:nth-child(1) .v1576-flow-card__label,
  .v1576-flow-card:nth-child(2) .v1576-flow-card__label,
  .v1576-flow-card:nth-child(1) p,
  .v1576-flow-card:nth-child(2) p,
  .v1576-product__copy>p:not(.v14-eyebrow),
  .v1576-product__points span,
  .v1576-final>.v14-shell>p:not(.v14-eyebrow)
) { color:var(--vp95-muted-dark)!important; opacity:1!important; }

/* --------------------------------------------------------------------------
 * 5. MIJN GTGF: catch versioned modules whose 6-11px rules beat older guards.
 * -------------------------------------------------------------------------- */
body.gtgf-v14.gtgf-vs2.gtgf-vp95.gtgf-vp94-member .v159964-member-shell [class*="v15"]
:is(p,li,small,label,dt,dd,button,summary,time,figcaption) {
  font-size:var(--gtgf-type-support)!important;
  line-height:1.5!important;
}
body.gtgf-v14.gtgf-vs2.gtgf-vp95.gtgf-vp94-member .v159964-member-shell [class*="v15"]
:is(a,button,summary) {
  min-height:40px;
}
body.gtgf-v14.gtgf-vs2.gtgf-vp95.gtgf-vp94-member .v159964-member-shell :is(
  [class*="meta"],[class*="label"],[class*="hint"],[class*="note"],[class*="foot"],
  [class*="axis"],[class*="readout"],[class*="signals"],[class*="metrics"],
  [class*="benchmarks"],[class*="legend"],[class*="insight"]
) :is(span,small,b,em,strong,p,a) {
  font-size:var(--gtgf-type-support)!important;
  line-height:1.45!important;
}
body.gtgf-v14.gtgf-vs2.gtgf-vp95.gtgf-vp94-member .v159964-member-shell :is(
  [class*="meta"],[class*="hint"],[class*="note"],[class*="foot"],[class*="insight"]
) { font-size:var(--gtgf-type-support)!important; line-height:1.5!important; }

/* Explicit dashboard data modules: size + contrast. */
body.gtgf-v14.gtgf-vs2.gtgf-vp95.gtgf-vp94-member :is(
  .v159970-today-intel small,.v159970-next-why,.v159970-status-insight,
  .v159977-chart-readout small,.v159977-chart-axis,.v159977-chart-story,
  .v159977-trend-readout small,.v159977-trend-readout em,.v159977-week-profile p,
  .v159977-week-profile span
) {
  color:var(--vp95-muted-dark)!important;
  font-size:var(--gtgf-type-support)!important;
  line-height:1.45!important;
  opacity:1!important;
}
body.gtgf-v14.gtgf-vs2.gtgf-vp95.gtgf-vp94-member :is(
  .v159970-today-intel strong,.v159977-chart-readout strong,.v159977-trend-readout strong,.v159977-week-profile strong
) {
  color:#f5f5f2!important;
  font-size:var(--gtgf-type-ui)!important;
  line-height:1.35!important;
}
body.gtgf-v14.gtgf-vs2.gtgf-vp95.gtgf-vp94-member .v159970-status-insight {
  display:block!important;
  max-width:34ch!important;
}
@media(max-width:980px){
  body.gtgf-v14.gtgf-vs2.gtgf-vp95.gtgf-vp94-member .v159970-status-insight {
    display:block!important;
  }
}

/* Old dashboard/race/performance modules share a dark visual language. */
body.gtgf-v14.gtgf-vs2.gtgf-vp95.gtgf-vp94-member :is(
  .v1563-activity-lab,.v1564-performance,.v1565-coach,.v1567-race,.v1569-debrief,
  .v1571-history,.v159972-athlete-lab,.v159972-week-story,.v159972-progress-story,
  .v159977-chart-readout,.v159977-trend-readout,.v159970-today-intel,.v159963-status-rail
) :is(p,li,small,figcaption,[class*="meta"],[class*="note"],[class*="hint"],[class*="foot"]){
  color:var(--vp95-muted-dark)!important;
  opacity:1!important;
}

/* --------------------------------------------------------------------------
 * 6. PLANNER + NUTRITION DENSE UI: hard floors and readable states.
 * -------------------------------------------------------------------------- */
body.gtgf-v14.gtgf-vs2.gtgf-vp95 :is(.training-guide159950,.nutrition-guide159949,.planner-form,.nutrition-form)
:is(label,button,summary) {
  font-size:var(--gtgf-type-ui)!important;
  line-height:1.4!important;
}
body.gtgf-v14.gtgf-vs2.gtgf-vp95 :is(.training-guide159950,.nutrition-guide159949,.planner-form,.nutrition-form)
:is(p,li,small,[class*="hint"],[class*="note"],[class*="meta"],[class*="foot"]){
  font-size:var(--gtgf-type-support)!important;
  line-height:1.5!important;
}
body.gtgf-v14.gtgf-vs2.gtgf-vp95 #planner-results :is(
  .planner-day-nav__item small,.planner-session__order,.planner-session__signals span,
  .planner-dose__labels small,.planner-workout-quickfacts small,.planner-workout-section-head strong,
  .planner-readiness__checkin>summary em
){
  font-size:var(--gtgf-type-meta)!important;
  line-height:1.4!important;
  color:var(--vp95-muted)!important;
  opacity:1!important;
}
body.gtgf-v14.gtgf-vs2.gtgf-vp95.gtgf-vp94-nutrition :is(
  .nutrition-guide159949__progress button span,.nutrition-day__targets em,
  .nutrition-day__linked-training span,.nutrition-shopping__contract small,
  .nutrition-shopping__amount,.nutrition-meal__summary small
){
  font-size:var(--gtgf-type-support)!important;
  line-height:1.45!important;
}

/* --------------------------------------------------------------------------
 * 7. CONTROLS: orange buttons use dark ink; disabled/focus states stay legible.
 * -------------------------------------------------------------------------- */
body.gtgf-v14.gtgf-vs2.gtgf-vp95 :is(
  .button--orange,.button.is-orange,.v14-btn--orange,
  .planner-readiness__actions button,.v1569-form-foot button,
  .gtgf-community-compose__bottom button,.gtgf-week-checkin button,
  .gtgf-sharing-form button,.gtgf-community-dashboard-teaser__copy a,
  .planner-day__today,.gtgf-strava-history__community>a,
  .button--strava,.btn-strava,.gtgf-strava-button,.member-strava-connect-button,
  .gtgf-club-nav__strava,.gtgf-private-strava-sync.is-empty>a,.gtgf-strava-club-bridge>a
) {
  color:#050505!important;
  -webkit-text-fill-color:#050505!important;
  text-shadow:none!important;
}
body.gtgf-v14.gtgf-vs2.gtgf-vp95 :is(a,button,input,select,textarea,summary):focus-visible {
  outline:3px solid var(--vp95-focus)!important;
  outline-offset:3px!important;
  box-shadow:none;
}
body.gtgf-v14.gtgf-vs2.gtgf-vp95 :is(button,input,select,textarea):disabled {
  opacity:1!important;
  cursor:not-allowed!important;
}
body.gtgf-v14.gtgf-vs2.gtgf-vp95 :is(.section--paper,.section--soft,.section--white,.planner-section)
:is(button,input,select,textarea):disabled {
  background:#d4d0c8!important;
  color:#403c37!important;
  -webkit-text-fill-color:#403c37!important;
  border-color:#8f8982!important;
}
body.gtgf-v14.gtgf-vs2.gtgf-vp95 :is(.section--black,.planner-form,.nutrition-form,.v14-member-stage--dark)
:is(button,input,select,textarea):disabled {
  background:#303033!important;
  color:#c7c7c8!important;
  -webkit-text-fill-color:#c7c7c8!important;
  border-color:#68686b!important;
}

/* Forms: placeholder and border contrast. */
body.gtgf-v14.gtgf-vs2.gtgf-vp95 :is(.section--black,.planner-form,.nutrition-form,.v14-member-stage--dark)
:is(input:not([type="checkbox"]):not([type="radio"]),select,textarea){
  background:#151515!important;
  color:#f8f7f4!important;
  -webkit-text-fill-color:#f8f7f4!important;
  border-color:#666!important;
}
body.gtgf-v14.gtgf-vs2.gtgf-vp95 :is(.section--black,.planner-form,.nutrition-form,.v14-member-stage--dark)
:is(input,textarea)::placeholder { color:#b1ada6!important; opacity:1!important; }
body.gtgf-v14.gtgf-vs2.gtgf-vp95 :is(.section--paper,.section--soft,.section--white,.v14-member-stage--paper,.planner-section)
:is(input:not([type="checkbox"]):not([type="radio"]),select,textarea){
  background:#fff!important;
  color:#171717!important;
  -webkit-text-fill-color:#171717!important;
  border-color:#8f8982!important;
}
body.gtgf-v14.gtgf-vs2.gtgf-vp95 :is(.section--paper,.section--soft,.section--white,.v14-member-stage--paper,.planner-section)
:is(input,textarea)::placeholder { color:#625d56!important; opacity:1!important; }

/* --------------------------------------------------------------------------
 * 8. FOOTER + NAVIGATION: secondary text cannot disappear into black.
 * -------------------------------------------------------------------------- */
body.gtgf-v14.gtgf-vs2.gtgf-vp95 .v14-site-footer :is(p,small,.v14-footer-muted) {
  color:var(--vp95-muted-dark)!important;
  opacity:1!important;
}
body.gtgf-v14.gtgf-vs2.gtgf-vp95 .v14-site-footer a { color:#f3f3f0; }
body.gtgf-v14.gtgf-vs2.gtgf-vp95 .site-header :is(.site-nav a,.header-account-link) {
  font-size:var(--gtgf-type-ui)!important;
  line-height:1.25!important;
}

/* --------------------------------------------------------------------------
 * 9. MOBILE OVERFLOW SAFETY.
 * -------------------------------------------------------------------------- */
@media(max-width:820px){
  body.gtgf-v14.gtgf-vs2.gtgf-vp95 :is(.wrap,.v14-shell){
    width:min(100% - 32px,var(--gtgf-shell))!important;
    max-width:100%!important;
  }
  body.gtgf-v14.gtgf-vs2.gtgf-vp95 :is(button,.button,.v14-btn,summary){
    max-width:100%;
  }
}
@media(max-width:390px){
  body.gtgf-v14.gtgf-vs2.gtgf-vp95 :is(.wrap,.v14-shell){
    width:calc(100% - 24px)!important;
  }
}

/* --------------------------------------------------------------------------
 * 10. MEANINGFUL COPY: remove legacy ellipsis/clamps from product content.
 * Navigation chips and dense chart axes may stay compact; titles/advice may not.
 * -------------------------------------------------------------------------- */
body.gtgf-v14.gtgf-vs2.gtgf-vp95.gtgf-vp94-planner #planner-results :is(
  .planner-day__sessions .planner-session h3,.planner-session__purpose
){
  display:block!important;
  -webkit-line-clamp:unset!important;
  -webkit-box-orient:initial!important;
  overflow:visible!important;
  text-overflow:clip!important;
  white-space:normal!important;
}
@media(max-width:700px){
  body.gtgf-v14.gtgf-vs2.gtgf-vp95.gtgf-vp94-planner .planner-summary h2{
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
    line-height:1.15!important;
  }
}
body.gtgf-v14.gtgf-vs2.gtgf-vp95.gtgf-vp94-nutrition :is(
  .nutrition-guide159949__progress button strong,
  .nutrition-guide159949__review-grid strong,
  .nutrition-form--ux1549 .nutrition-flow-rail button>strong,
  .nutrition-form--ux1549 .nutrition-ready-summary strong,
  #nutrition-week .nutrition-meal__summary strong
){
  overflow:visible!important;
  text-overflow:clip!important;
  white-space:normal!important;
}
body.gtgf-v14.gtgf-vs2.gtgf-vp95.gtgf-vp94-member :is(
  .v159970-latest strong,.v1582-activity__body>strong,.v1582-kpis strong,.v1582-kpis small
){
  overflow:visible!important;
  text-overflow:clip!important;
  white-space:normal!important;
}
body.gtgf-v14.gtgf-vs2.gtgf-vp95.gtgf-vp94-member .v1582-coach p{
  display:block!important;
  -webkit-line-clamp:unset!important;
  -webkit-box-orient:initial!important;
  overflow:visible!important;
}

/* Specificity bridge over the version-island microcopy repair. */
body.gtgf-v14.gtgf-vs2.gtgf-vp95.gtgf-vp94-member .v159964-member-shell :is(
  .v159942-hub__top p,.v159942-today p,.v159960-next-session>p,.v1565-coach__head>p
){font-size:15px!important;line-height:1.6!important}
@media(max-width:560px){
  body.gtgf-v14.gtgf-vs2.gtgf-vp95.gtgf-vp94-member .v159964-member-shell :is(.v159942-hub__top p,.v159942-today p){font-size:16px!important}
}

/* --------------------------------------------------------------------------
 * 11. PUBLIC EDITORIAL LEGACY ISLANDS.
 * Deep audit found recent premium modules that still hard-coded 7-11px copy or
 * low-opacity text with higher specificity than the earlier visual contract.
 * -------------------------------------------------------------------------- */

/* Form legends are text-bearing controls, not decorative microcopy. */
body.gtgf-v14.gtgf-vs2.gtgf-vp95 main legend {
  font-size:var(--gtgf-type-ui)!important;
  line-height:1.4!important;
}

/* Knowledge archive: dark hero card. */
body.gtgf-v14.gtgf-vs2.gtgf-vp95 .v159975-editorial-pick__label,
body.gtgf-v14.gtgf-vs2.gtgf-vp95 .v159975-editorial-pick__main>span,
body.gtgf-v14.gtgf-vs2.gtgf-vp95 .v159975-editorial-pick__main>b,
body.gtgf-v14.gtgf-vs2.gtgf-vp95 .v159975-editorial-pick__quick span {
  font-size:var(--gtgf-type-meta)!important;
  line-height:1.4!important;
}
body.gtgf-v14.gtgf-vs2.gtgf-vp95 .v159975-editorial-pick :is(
  .v159975-editorial-pick__label small,.v159975-editorial-pick__main>small
){
  color:var(--vp95-muted-dark)!important;
  font-size:var(--gtgf-type-support)!important;
  line-height:1.5!important;
  opacity:1!important;
}
body.gtgf-v14.gtgf-vs2.gtgf-vp95 .v159975-editorial-pick__main>span {
  color:var(--vp95-muted-dark)!important;
}
body.gtgf-v14.gtgf-vs2.gtgf-vp95 .v159975-editorial-pick__quick strong {
  font-size:var(--gtgf-type-ui)!important;
  line-height:1.35!important;
}

/* Knowledge library: orange labels on paper use the darker text orange. */
body.gtgf-v14.gtgf-vs2.gtgf-vp95 .v159975-library-intro span {
  color:var(--vp95-accent-on-light)!important;
  font-size:var(--gtgf-type-meta)!important;
  line-height:1.4!important;
}
/* Card proof sits on #ebe6dc: #bd3e00 only reaches ~4.38:1 there. */
body.gtgf-v14.gtgf-vs2.gtgf-vp95 .v159975-card-proof span {
  color:#9f3500!important;
  font-size:var(--gtgf-type-meta)!important;
  line-height:1.4!important;
}
body.gtgf-v14.gtgf-vs2.gtgf-vp95 .v159975-library-intro strong {
  color:var(--vp95-ink)!important;
  font-size:var(--gtgf-type-ui)!important;
  line-height:1.35!important;
}
body.gtgf-v14.gtgf-vs2.gtgf-vp95 .v159975-library-intro small {
  color:var(--vp95-muted)!important;
  font-size:var(--gtgf-type-support)!important;
}
body.gtgf-v14.gtgf-vs2.gtgf-vp95 .v159975-knowledge .v145-article-card p {
  color:var(--vp95-muted)!important;
  font-size:15px!important;
  line-height:1.6!important;
}

/* Knowledge article: breadcrumb/facts/details/nav were still 8-11px. */
body.gtgf-v14.gtgf-vs2.gtgf-vp95 .v159975-article-page .v159975-article-breadcrumb {
  color:var(--vp95-muted-dark)!important;
  font-size:var(--gtgf-type-meta)!important;
  line-height:1.4!important;
}
body.gtgf-v14.gtgf-vs2.gtgf-vp95 .v159975-article-page .v159975-article-breadcrumb a {
  color:var(--vp95-muted-dark)!important;
}
body.gtgf-v14.gtgf-vs2.gtgf-vp95 .v159975-article-page .v159975-article-facts small {
  color:var(--vp95-muted-dark)!important;
  font-size:var(--gtgf-type-meta)!important;
  line-height:1.35!important;
}
body.gtgf-v14.gtgf-vs2.gtgf-vp95 .v159975-article-page .v159975-article-facts strong {
  color:#fff!important;
  font-size:var(--gtgf-type-ui)!important;
  line-height:1.35!important;
}
body.gtgf-v14.gtgf-vs2.gtgf-vp95 .v159975-article-page .v1594-article-details summary {
  color:var(--vp95-muted-dark)!important;
  font-size:var(--gtgf-type-support)!important;
  line-height:1.45!important;
}
body.gtgf-v14.gtgf-vs2.gtgf-vp95 .v159975-article-page .v145-article-nav>p:not(.eyebrow) {
  color:var(--vp95-muted)!important;
  font-size:14px!important;
  line-height:1.6!important;
}
body.gtgf-v14.gtgf-vs2.gtgf-vp95 .v159975-article-page .v1595-article-toc a {
  color:var(--vp95-muted)!important;
  font-size:var(--gtgf-type-support)!important;
  line-height:1.45!important;
}
body.gtgf-v14.gtgf-vs2.gtgf-vp95 .v159975-article-page .v145-article-nav .button {
  font-size:var(--gtgf-type-ui)!important;
}
body.gtgf-v14.gtgf-vs2.gtgf-vp95 .v159975-article-page .v159975-read-intro span {
  color:var(--vp95-accent-on-light)!important;
  font-size:var(--gtgf-type-meta)!important;
  line-height:1.35!important;
}
body.gtgf-v14.gtgf-vs2.gtgf-vp95 .v159975-article-page .v159975-read-intro strong {
  font-size:15px!important;
  line-height:1.4!important;
}
body.gtgf-v14.gtgf-vs2.gtgf-vp95 .v159975-article-page .v159975-read-intro small {
  color:var(--vp95-muted)!important;
  font-size:var(--gtgf-type-support)!important;
}
body.gtgf-v14.gtgf-vs2.gtgf-vp95 .v159975-article-page .v1595-decision :is(th,td) {
  font-size:var(--gtgf-type-support)!important;
  line-height:1.45!important;
}
body.gtgf-v14.gtgf-vs2.gtgf-vp95 .v159975-article-page .gtgf-article-summary:before {
  color:var(--vp95-accent-on-light)!important;
  font-size:var(--gtgf-type-meta)!important;
}

/* Earn the Start Line: paper chapters and dark partner section. */
body.gtgf-v14.gtgf-vs2.gtgf-vp95 :is(
  .v1591-partner-strip>.wrap>span,
  .v1591-story-arc__chapters>article>span,
  .v1591-story-quote>span,
  .v1592-story-lines small,
  .v1592-story-signature>span
){
  font-size:var(--gtgf-type-meta)!important;
  line-height:1.4!important;
}
body.gtgf-v14.gtgf-vs2.gtgf-vp95 :is(
  .v1591-partner-strip>.wrap>span,
  .v1591-story-arc__chapters>article:not(.is-active)>span,
  .v1592-story-lines small
){color:var(--vp95-muted)!important;opacity:1!important}
body.gtgf-v14.gtgf-vs2.gtgf-vp95 :is(.v1591-story-quote>span,.v1592-story-signature>span){
  color:var(--vp95-accent-on-light)!important;
}
body.gtgf-v14.gtgf-vs2.gtgf-vp95 .v1591-story-arc__chapters>article.is-active :is(p,small){
  color:var(--vp95-muted-dark)!important;
  opacity:1!important;
}
body.gtgf-v14.gtgf-vs2.gtgf-vp95 .v1591-story-arc__chapters>article :is(p,small){
  font-size:var(--gtgf-type-support)!important;
  line-height:1.55!important;
}
body.gtgf-v14.gtgf-vs2.gtgf-vp95 :is(.v1591-partners,.v1592-partners) :is(
  .v1591-partner-direct,.v1591-open-partners__intro p,.v1591-open-partners__grid p,
  .v1591-partner-cta p,.v1592-partner-intro>p,.v1592-partner-current p,
  .v1592-partner-open__head p,.v1592-partner-open li small,.v1592-partner-rule p,
  .v1593-partner-slot p,.v1593-partner-slot li
){
  color:var(--vp95-muted-dark)!important;
  font-size:var(--gtgf-type-support)!important;
  line-height:1.55!important;
  opacity:1!important;
}
body.gtgf-v14.gtgf-vs2.gtgf-vp95 :is(
  .v1591-partner-status span,.v1591-partner-status b,.v1591-current-partner__copy>p:first-child,
  .v1591-current-partner__copy>span,.v1591-open-partners__intro>span,.v1591-open-partners__grid b,
  .v1591-partner-value__list b,.v1591-partner-cta span,.v1592-partner-current span,
  .v1592-partner-open__head>span,.v1592-partner-open li b,.v1592-partner-rule span,.v1593-partner-slot>span
){
  font-size:var(--gtgf-type-meta)!important;
  line-height:1.4!important;
}
body.gtgf-v14.gtgf-vs2.gtgf-vp95 :is(
  .v1591-current-partner__copy>a,.v1592-partner-current div>a,.v1593-partner-slot a
){font-size:var(--gtgf-type-support)!important}
/* Light A Casa logo tile nested inside the dark partner section. */
body.gtgf-v14.gtgf-vs2.gtgf-vp95 .v1593-casa-logo small {
  color:#8a551c!important;
  font-size:var(--gtgf-type-meta)!important;
}
body.gtgf-v14.gtgf-vs2.gtgf-vp95 .v1593-casa-logo span {
  color:#635d54!important;
  font-size:var(--gtgf-type-support)!important;
}

/* Performance Week: the current page still had multiple 7-11px decision, day,
 * package, booking and calendar labels. Keep body copy compact but readable. */
body.gtgf-v14.gtgf-vs2.gtgf-vp95 main.trip-v146 :is(
  .trip-v146-hero__facts span,.metric span,.trip-v148-decision span,.trip-v148-day li span,
  .trip-v158-package-key span,.trip-booking__steps span,.booking-calendar__weekdays span,
  .trip-v158-extra-grid article>span,.trip-v161-ladder__step span,.trip-v158-package-block--value em,
  .trip-package__price span
){
  font-size:var(--gtgf-type-meta)!important;
  line-height:1.4!important;
}
body.gtgf-v14.gtgf-vs2.gtgf-vp95 main.trip-v146 :is(
  .trip-v146-promise p,.trip-flow p,.trip-v148-day li span,.trip-v148-booking-faq p,
  .trip-booking__intro>p:not(.eyebrow),.trip-booking-form__note,.trip-v158-clarity p,
  .trip-v158-rules p,.trip-v158-rules li,.trip-package li
){
  font-size:14px!important;
  line-height:1.6!important;
}
body.gtgf-v14.gtgf-vs2.gtgf-vp95 main.trip-v146 .trip-booking :is(
  .trip-v148-booking-faq p,.trip-booking__intro>p:not(.eyebrow),.trip-booking-form__note
){color:var(--vp95-muted-dark)!important;opacity:1!important}
body.gtgf-v14.gtgf-vs2.gtgf-vp95 main.trip-v146 .trip-booking .booking-calendar-wrap :is(
  .booking-calendar__weekdays span,.booking-date-status,.booking-calendar__step
){
  color:var(--vp95-muted)!important;
  opacity:1!important;
}
body.gtgf-v14.gtgf-vs2.gtgf-vp95 main.trip-v146 :is(.booking-date-status,.booking-calendar__step){
  font-size:var(--gtgf-type-support)!important;
  line-height:1.5!important;
}
body.gtgf-v14.gtgf-vs2.gtgf-vp95 main.trip-v146 .trip-v148-decision span {
  color:#4b1b06!important;
}

/* A Casa Amarela: small orange review labels on white were below AA. */
body.gtgf-v14.gtgf-vs2.gtgf-vp95 .casa-splash__rating span {
  color:#050505!important;
  font-size:var(--gtgf-type-meta)!important;
  line-height:1.4!important;
}
body.gtgf-v14.gtgf-vs2.gtgf-vp95 .casa-review-grid span {
  color:var(--vp95-accent-on-light)!important;
  font-size:var(--gtgf-type-meta)!important;
  line-height:1.4!important;
}
body.gtgf-v14.gtgf-vs2.gtgf-vp95 :is(.casa-reviews__source,.casa-reviews__score small) {
  color:var(--vp95-muted)!important;
  font-size:var(--gtgf-type-support)!important;
  line-height:1.55!important;
  opacity:1!important;
}
body.gtgf-v14.gtgf-vs2.gtgf-vp95 .casa-bed-grid p {
  color:var(--vp95-muted-dark)!important;
  font-size:14px!important;
  line-height:1.55!important;
}


/* --------------------------------------------------------------------------
 * 12. DISCOVERY + ACCOUNT + NEWS LEGACY ISLANDS.
 * These screens were not part of the v15.99.94 product trio, but the deep
 * active-stylesheet audit found compact text and low-opacity copy here too.
 * -------------------------------------------------------------------------- */

/* Events discovery: dark browser rows, filters and detail drawers. */
body.gtgf-v14.gtgf-vs2.gtgf-vp95 :is(
  .v1587-events-browser,.v1596-event-actions,.v1596-event-hero,.v1596-event-crew-card
) :is(
  .v1587-events-head__meta span,.v1587-sport-filter button,.v1587-sport-filter button small,
  .v1587-filter-count span,.v1587-reset,.v1587-map-disclosure>summary,.v1587-map-disclosure>summary small,
  .v1587-event-date small,.v1587-event-meta,.v1587-event-more>summary,.v1587-detail-grid small,
  .v1587-detail-actions button,.v1587-detail-actions a,.v1587-detail-actions small,
  .v1596-row-community span,.v1596-detail-community span,.v1596-detail-community p
){
  color:var(--vp95-muted-dark)!important;
  opacity:1!important;
}
body.gtgf-v14.gtgf-vs2.gtgf-vp95 .v1587-sport-filter button,
body.gtgf-v14.gtgf-vs2.gtgf-vp95 :is(.v1587-reset,.v1587-map-disclosure>summary,.v1587-event-more>summary,.v1587-detail-actions button,.v1587-detail-actions a){
  font-size:var(--gtgf-type-ui)!important;
  line-height:1.4!important;
}
body.gtgf-v14.gtgf-vs2.gtgf-vp95 :is(
  .v1587-sport-filter button small,.v1587-event-date small,.v1587-event-meta,
  .v1587-detail-grid small,.v1587-detail-actions small,.v1596-row-community span,
  .v1596-detail-community span,.v1596-detail-community p
){
  font-size:var(--gtgf-type-support)!important;
  line-height:1.5!important;
}
body.gtgf-v14.gtgf-vs2.gtgf-vp95 .v1587-filter-bar input::placeholder{
  color:#b1ada6!important;
  opacity:1!important;
}
/* Event names are content, not navigation chips: never ellipsize or clamp them. */
body.gtgf-v14.gtgf-vs2.gtgf-vp95 .v1587-event-main h3{
  display:block!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  -webkit-line-clamp:unset!important;
  -webkit-box-orient:initial!important;
  overflow-wrap:normal!important;
}

/* Events how-it-works + major-events sit on light paper. */
body.gtgf-v14.gtgf-vs2.gtgf-vp95 .v1587-how-grid span,
body.gtgf-v14.gtgf-vs2.gtgf-vp95 .v1588-major-events :is(
  .eyebrow,.v1588-major-date span,.v1588-major-badge,.v1588-major-tba>div:first-child span,
  .v1588-major-tba__list span span,.v1588-major-tba__list a span
){
  color:#9f3500!important;
  -webkit-text-fill-color:#9f3500!important;
}
body.gtgf-v14.gtgf-vs2.gtgf-vp95 .v1587-how-grid p,
body.gtgf-v14.gtgf-vs2.gtgf-vp95 .v1588-major-events :is(
  .v1588-major-head>p,.v1588-major-group>header a,.v1588-major-date small,
  .v1588-major-copy p,.v1588-major-copy>small,.v1588-major-copy em,.v1588-major-plan
){
  color:var(--vp95-muted)!important;
  opacity:1!important;
}
body.gtgf-v14.gtgf-vs2.gtgf-vp95 .v1587-how-grid p,
body.gtgf-v14.gtgf-vs2.gtgf-vp95 .v1588-major-copy p{
  font-size:14px!important;
  line-height:1.55!important;
}
body.gtgf-v14.gtgf-vs2.gtgf-vp95 .v1588-major-events :is(
  .v1588-major-group>header a,.v1588-major-copy em,.v1588-major-plan,
  .v1588-major-tba>div:first-child span,.v1588-major-tba__list span span,.v1588-major-tba__list a span
){
  font-size:var(--gtgf-type-support)!important;
  line-height:1.45!important;
}

/* Login/account handoff: mobile layer previously re-compressed labels to 10-11px. */
body.gtgf-v14.gtgf-vs2.gtgf-vp95 .login-section .planner-auth-card:not(.planner-auth-card--orange) :is(p,span,.login-register-note){
  color:var(--vp95-muted-dark)!important;
  opacity:1!important;
}
body.gtgf-v14.gtgf-vs2.gtgf-vp95 .login-section .planner-auth-card--orange :is(p,span,.login-register-note){
  color:var(--vp95-muted)!important;
  opacity:1!important;
}
body.gtgf-v14.gtgf-vs2.gtgf-vp95 .login-section .planner-auth-card--orange .eyebrow{
  color:var(--vp95-accent-on-light)!important;
  -webkit-text-fill-color:var(--vp95-accent-on-light)!important;
}
body.gtgf-v14.gtgf-vs2.gtgf-vp95 .login-section .planner-auth-card :is(.form-row label,.login-remember span){
  font-size:var(--gtgf-type-ui)!important;
  line-height:1.4!important;
}
body.gtgf-v14.gtgf-vs2.gtgf-vp95 .login-section .login-register-note{
  font-size:var(--gtgf-type-support)!important;
  line-height:1.5!important;
}
body.gtgf-v14.gtgf-vs2.gtgf-vp95 .login-section .planner-auth-card :is(input[type=text],input[type=email],input[type=password]){
  font-size:16px!important;
  min-height:48px!important;
}
body.gtgf-v14.gtgf-vs2.gtgf-vp95 .login-intro>p:last-of-type{
  font-size:16px!important;
  line-height:1.6!important;
}

/* News: dark metadata/support copy and paper-card actions. */
body.gtgf-v14.gtgf-vs2.gtgf-vp95 .v1526-news :is(
  .v1526-news-hero__meta small,.v1526-news-hero__meta i,.v1526-news-meta,
  .v1526-news-follow__grid>p,.v1526-news-back,.v1526-news-article__aside p
){
  color:var(--vp95-muted-dark)!important;
  opacity:1!important;
}
body.gtgf-v14.gtgf-vs2.gtgf-vp95 .v1526-news :is(
  .v1526-news-hero__meta>span,.v1526-news-meta,.v1526-news-back,
  .v1526-news-article__signature strong,.v1526-news-article__aside>span,.v1526-news-related__grid span
){
  font-size:var(--gtgf-type-meta)!important;
  line-height:1.4!important;
}
body.gtgf-v14.gtgf-vs2.gtgf-vp95 .v1526-news :is(.v1526-news-hero__meta small,.v1526-news-hero__meta i){
  font-size:var(--gtgf-type-support)!important;
  line-height:1.45!important;
}
body.gtgf-v14.gtgf-vs2.gtgf-vp95 .v1526-news-article__aside p{
  font-size:14px!important;
  line-height:1.6!important;
}
body.gtgf-v14.gtgf-vs2.gtgf-vp95 .v1526-news-card .v1526-news-meta{
  color:var(--vp95-muted)!important;
}
body.gtgf-v14.gtgf-vs2.gtgf-vp95 .v1526-news-card .v1526-news-link{
  color:var(--vp95-accent-on-light)!important;
  -webkit-text-fill-color:var(--vp95-accent-on-light)!important;
  font-size:var(--gtgf-type-support)!important;
}
body.gtgf-v14.gtgf-vs2.gtgf-vp95 .v1526-news-feed .page-numbers{
  font-size:var(--gtgf-type-ui)!important;
  min-height:44px!important;
}

/* Remaining light/dark contrast details found in Performance Week + Casa. */
body.gtgf-v14.gtgf-vs2.gtgf-vp95 main.trip-v146 .trip-package--featured .trip-package__price span{
  color:#3b1706!important;
  opacity:1!important;
}
body.gtgf-v14.gtgf-vs2.gtgf-vp95 .casa-reviews__score span{
  color:var(--vp95-accent-on-light)!important;
}

/* Editorial excerpts should remain available to the reader instead of silently
 * losing the fourth line because of a legacy card clamp. */
body.gtgf-v14.gtgf-vs2.gtgf-vp95 .v159975-editorial-pick__main>small{
  display:block!important;
  -webkit-line-clamp:unset!important;
  -webkit-box-orient:initial!important;
  overflow:visible!important;
}
