/* Website foundation: shared details, not a replacement for page-family art
   direction. Applied only to sitemap pages by the public build. */
@font-face {
  font-family: 'Unbroken Inter';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('/assets/fonts/inter-latin-ext-variable.woff2') format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
  font-family: 'Unbroken Inter';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('/assets/fonts/inter-latin-variable.woff2') format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
body.site-brand {
  --site-font: 'Unbroken Inter', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --site-action: #FFE500;
  --site-action-ink: #090909;
  --site-action-radius: 15px;
  --site-race-recover: #FFE500;
  --site-race-align: #B13CFF;
  --site-race-condition: #00CFFF;
  --site-race-execute: #FF2CA3;
  font-family: var(--site-font);
}
/* Preserve heading scale, tracking, line-height and all mono data labels. */
body.site-brand :is(h1, h2, h3),
body.site-brand .members-week .section-h2,
body.site-brand.editorial-page .article-header h1,
body.site-brand.editorial-page .article-body :is(h2, h3) {
  font-family: var(--site-font);
  font-weight: 700;
}
body.site-brand :is(.up-hero, .up-hero-text, .up-app-hero) h1 em {
  font-style: normal;
  font-family: inherit;
  font-weight: inherit;
}
/* Do not set --action globally: it also colours text on light backgrounds.
   These local aliases work with existing important navigation declarations. */
body.site-brand :is(.nav-cta, .iq-cta) {
  --yellow: var(--site-action);
  --editorial-accent: var(--site-action);
  --fp-yellow: var(--site-action);
}
body.site-brand.site-brand-race-tools .btn:where(:not(.alt):not(:disabled):not([aria-disabled="true"]):not([aria-busy="true"]):not(.disabled)),
body.site-brand :is(.nav-cta, .iq-cta, .btn-primary, .cta-btn,
  .up-btn-primary, .uc-btn--fill, .btn-solid, .lc-button, .oc-button,
  .wl-appstore, .club-btn-primary, .sticky-mobile-cta > a,
  [data-planner-build], [data-road-form] button[type="submit"],
  .ub-btn, .fp-button, .form-submit, .wl-submit, .club-form-submit,
  .submit, .success-cta):where(:not(:disabled):not([aria-disabled="true"]):not([aria-busy="true"]):not(.disabled):not(.ub-btn--secondary):not(.ub-btn--dark):not(.fp-button-secondary):not(.fp-button-ink):not(.lc-button--secondary):not(.oc-button--secondary):not(.btn-ghost):not(.btn-secondary)) {
  background-color: var(--site-action);
  background-image: none;
  color: var(--site-action-ink);
  border-radius: var(--site-action-radius);
  font-family: var(--site-font);
}
/* Only the primary founder control's border uses its yellow fill. */
body.site-brand .fp-button:not(.fp-button-secondary):not(.fp-button-ink),
body.site-brand .lc-button:not(.lc-button--secondary),
body.site-brand .oc-button:not(.oc-button--secondary) {
  border-color: var(--site-action);
}
/* Equivalent secondary actions share shape/type, never primary fill colours. */
body.site-brand :is(.fp-button-secondary, .fp-button-ink, .btn-secondary,
  .btn-ghost, .btn-discovery, .uc-btn--ghost, .ub-btn--secondary,
  .ub-btn--dark, .oc-button--secondary, .lc-button--secondary),
body.site-brand.site-brand-race-tools .btn.alt {
  border-radius: var(--site-action-radius);
  font-family: var(--site-font);
}
/* Semantic stage accents use dark instrument surfaces and readable text. */
body.site-brand .mw-phase.phase-recover { border-left: 3px solid var(--site-race-recover); }
body.site-brand .mw-phase.phase-align { border-left: 3px solid var(--site-race-align); }
body.site-brand .mw-phase.phase-condition { border-left: 3px solid var(--site-race-condition); }
body.site-brand .mw-phase.phase-execute { border-left: 3px solid var(--site-race-execute); }
body.site-brand .mw-phase:is(.phase-recover, .phase-align, .phase-condition, .phase-execute) {
  background: #10111E;
  color: #F2EFFF;
}
body.site-brand :is(.fp-pillar-recover, .up-phase-recover) { --up-phase-color: var(--site-race-recover); }
body.site-brand :is(.fp-pillar-align, .up-phase-align) { --up-phase-color: var(--site-race-align); }
body.site-brand :is(.fp-pillar-condition, .up-phase-condition) { --up-phase-color: var(--site-race-condition); }
body.site-brand :is(.fp-pillar-execute, .up-phase-execute) { --up-phase-color: var(--site-race-execute); }
body.site-brand .fp-pillar > span {
  background: var(--up-phase-color);
  color: #090909;
  border-color: #090909;
}
/* Two-tone focus remains visible on white, dark and gradient panels.
   Only focused controls gain a ring; motion/state treatments are untouched. */
body.site-brand :is(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: 3px solid #111111;
  outline-offset: 3px;
  box-shadow: 0 0 0 6px #FFFFFF;
}
body.site-brand .site-skip-link {
  position: fixed;
  top: 12px;
  left: 12px;
  z-index: 10000;
  transform: translateY(-200%);
  padding: 12px 18px;
  border-radius: var(--site-action-radius);
  background: var(--site-action);
  color: var(--site-action-ink);
  font: 700 16px/1.4 var(--site-font);
  text-decoration: none;
}
body.site-brand .site-skip-link:focus { transform: translateY(0); }
body.site-brand :is(a.skip, a.skip-link) {
  background-color: var(--site-action);
  color: var(--site-action-ink);
  border-radius: var(--site-action-radius);
  font-family: var(--site-font);
}
body.site-brand main[tabindex="-1"] { scroll-margin-top: 100px; }
