/* FMR, 2026-10-02. Scoped editorial finish; handlers and field borders stay intact.
   Reuse the existing early important layer so legacy unlayered glass rules lose. */
@layer fmrVisual {
  /* ioc-pages.css applies its glass card to form:not(.header-search-form).
     Override known form surfaces, never every form/input on the site. */
  html body :is(
    .site-bug-form,
    .public-role-form,
    #profileForm.settings-form,
    #publicBadgeOwnerForm,
    #contactForm,
    #forgotPasswordForm,
    .site-memory-dialog form,
    .fmr-auth-modal #loginForm,
    .fmr-auth-modal #registerForm,
    #tournamentForm,
    .admin-review-edit-form
  ) {
    background: transparent !important;
    background-image: none !important;
    border: 0 !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  /* Sports cover: bold monochrome typography, full photograph, clear controls. */
  html body main.ioc-site > .faces-feature {
    box-sizing: border-box !important;
    display: grid !important;
    grid-template-columns: minmax(0, .7fr) minmax(0, 1.3fr) !important;
    align-items: center !important;
    gap: clamp(28px, 4vw, 64px) !important;
    width: min(calc(100% - 64px), 1420px) !important;
    max-width: 1420px !important;
    margin: 72px auto !important;
    padding: 44px 36px !important;
    background: #050605 !important;
    background-image: linear-gradient(135deg, #050605 0%, #181b20 60%, #050605 100%) !important;
    border: 3px solid #050605 !important;
    border-top: 3px solid #050605 !important;
    border-bottom: 3px solid #050605 !important;
    box-shadow: 8px 8px 0 #050605 !important;
    overflow: visible !important;
    font-family: Inter, 'Helvetica Neue', Arial, sans-serif !important;
    color: #fff !important;
  }
  html body main.ioc-site > .faces-feature::before,
  html body main.ioc-site > .faces-feature::after {
    content: none !important;
  }
  html body main.ioc-site .faces-feature__intro {
    min-width: 0 !important;
    min-height: 0 !important;
    padding: 0 !important;
  }
  html body main.ioc-site .faces-feature__kicker {
    color: #050605 !important;
    font-size: 12px !important;
    line-height: 1.5 !important;
    letter-spacing: .12em !important;
    text-transform: uppercase !important;
    display: inline-block !important;
    padding: 6px 9px !important;
    background: #dfbd72 !important;
    -webkit-text-fill-color: currentColor !important;
    font-weight: 900 !important;
  }
  html body main.ioc-site .faces-feature__intro h2 {
    margin: 18px 0 24px !important;
    max-width: 12ch !important;
    font-family: Inter, 'Helvetica Neue', Arial, sans-serif !important;
    font-size: clamp(40px, 3.6vw, 58px) !important;
    font-weight: 900 !important;
    line-height: .94 !important;
    letter-spacing: -.045em !important;
    color: #fff !important;
    text-transform: uppercase !important;
    overflow-wrap: normal !important;
    -webkit-text-fill-color: #fff !important;
    text-shadow: none !important;
  }
  html body main.ioc-site .faces-feature__intro > p {
    max-width: 38ch !important;
    color: #e0e3e8 !important;
    font-size: 17px !important;
    line-height: 1.6 !important;
    -webkit-text-fill-color: currentColor !important;
  }
  html body main.ioc-site .faces-feature__actions {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
    margin: 28px 0 0 !important;
  }
  html body main.ioc-site .faces-feature__panel {
    display: block !important;
    position: relative !important;
    min-width: 0 !important;
    width: 100% !important;
    max-width: none !important;
  }
  html body main.ioc-site .faces-athlete-card {
    box-sizing: border-box !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1.08fr) minmax(0, 1fr) !important;
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    min-height: 520px !important;
    background: #101216 !important;
    color: #fff !important;
    border: 2px solid #fff !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    overflow: visible !important;
    transform: none !important;
    transition-property: box-shadow !important;
  }
  html body main.ioc-site .faces-athlete-card::before,
  html body main.ioc-site .faces-athlete-card::after {
    content: none !important;
  }
  html body main.ioc-site #homeAthleteSpotlightImage.faces-athlete-card__photo {
    box-sizing: border-box !important;
    grid-column: auto !important;
    grid-row: auto !important;
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 520px !important;
    max-height: none !important;
    background-color: #050605 !important;
    background-size: contain !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    object-fit: contain !important;
    transform: none !important;
    overflow: visible !important;
  }
  html body main.ioc-site #homeAthleteSpotlightImage::before,
  html body main.ioc-site #homeAthleteSpotlightImage::after {
    content: none !important;
  }
  html body main.ioc-site .faces-athlete-card__content {
    box-sizing: border-box !important;
    grid-column: auto !important;
    grid-row: auto !important;
    position: relative !important;
    inset: auto !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: flex-start !important;
    gap: 18px !important;
    min-width: 0 !important;
    min-height: 0 !important;
    padding: clamp(22px, 2.2vw, 36px) !important;
    background: #101216 !important;
    color: #fff !important;
    border-left: 2px solid #fff !important;
    transition-property: transform, box-shadow !important;
  }
  html body main.ioc-site .faces-athlete-card__label {
    color: #fff !important;
    font-size: 11px !important;
    line-height: 1.5 !important;
    letter-spacing: .1em !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    padding-bottom: 8px !important;
    border-bottom: 2px solid #dfbd72 !important;
  }
  html body main.ioc-site #homeAthleteSpotlightName {
    white-space: normal !important;
    overflow-wrap: normal !important;
    height: auto !important;
    max-height: none !important;
    margin: 0 !important;
    max-width: 100% !important;
    font-size: clamp(30px, 2.6vw, 44px) !important;
    line-height: 1.02 !important;
    color: #fff !important;
    word-break: normal !important;
    overflow-wrap: anywhere !important;
    font-family: Inter, 'Helvetica Neue', Arial, sans-serif !important;
    font-weight: 900 !important;
    letter-spacing: -.035em !important;
    -webkit-text-fill-color: currentColor !important;
    text-transform: uppercase !important;
    text-shadow: none !important;
  }
  html body main.ioc-site #homeAthleteSpotlightName > span {
    font-size: inherit !important;
    line-height: inherit !important;
    color: inherit !important;
  }
  html body main.ioc-site #homeAthleteSpotlightMeta,
  html body main.ioc-site #homeAthleteSpotlightMeta > span {
    font-size: 15px !important;
    line-height: 1.65 !important;
    color: #e0e3e8 !important;
    opacity: 1 !important;
  }
  html body main.ioc-site .faces-athlete-card__content > span {
    display: inline-block !important;
    margin-top: 12px !important;
    font-size: 13px !important;
    line-height: 1.5 !important;
    color: #fff !important;
    border-bottom: 2px solid #dfbd72 !important;
    font-weight: 800 !important;
    letter-spacing: .06em !important;
    text-transform: uppercase !important;
  }

  html body main.ioc-site .faces-feature__actions .ioc-button {
    box-sizing: border-box !important;
    min-height: 46px !important;
    max-width: 100% !important;
    padding: 12px 16px !important;
    background: #fff !important;
    color: #050605 !important;
    -webkit-text-fill-color: currentColor !important;
    border: 2px solid #fff !important;
    border-radius: 0 !important;
    font-family: inherit !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    letter-spacing: .04em !important;
    text-transform: uppercase !important;
    transition-property: transform, box-shadow !important;
  }
  html body main.ioc-site .faces-feature__actions .ioc-button--dark {
    background: #dfbd72 !important;
    border-color: #dfbd72 !important;
  }
  html body main.ioc-site .faces-feature__actions .ioc-button:is(:hover, :focus-visible) {
    background: #050605 !important;
    color: #fff !important;
    -webkit-text-fill-color: currentColor !important;
    border-color: #fff !important;
  }
  html body main.ioc-site .faces-feature__actions .ioc-button--dark:is(:hover, :focus-visible) {
    color: #dfbd72 !important;
    border-color: #dfbd72 !important;
  }
  html body main.ioc-site .faces-athlete-card__content :is(h3, p, span, div) {
    -webkit-text-fill-color: currentColor !important;
    transition-property: transform, box-shadow !important;
  }
  html body main.ioc-site .faces-athlete-card:is(:hover, :focus-visible),
  html body main.ioc-site .faces-athlete-card:is(:hover, :focus-visible) .faces-athlete-card__content {
    background: #fff !important;
    color: #050605 !important;
  }
  html body main.ioc-site .faces-athlete-card:is(:hover, :focus-visible) :is(#homeAthleteSpotlightName, #homeAthleteSpotlightName > span, #homeAthleteSpotlightMeta, #homeAthleteSpotlightMeta > span, .faces-athlete-card__label, .faces-athlete-card__content > span) {
    color: #050605 !important;
    -webkit-text-fill-color: currentColor !important;
    border-color: #050605 !important;
  }
  html body main.ioc-site .faces-athlete-card__nav {
    position: static !important;
    inset: auto !important;
    justify-content: flex-end !important;
    gap: 10px !important;
    margin-top: 16px !important;
  }
  html body main.ioc-site .faces-athlete-card__nav:not([hidden]) {
    display: flex !important;
  }
  html body main.ioc-site .faces-athlete-card__nav[hidden] {
    display: none !important;
  }
  html body main.ioc-site .faces-athlete-card__nav button {
    display: grid !important;
    place-items: center !important;
    width: 48px !important;
    height: 48px !important;
    padding: 0 !important;
    background: #fff !important;
    color: #050605 !important;
    -webkit-text-fill-color: currentColor !important;
    border: 2px solid #fff !important;
    border-radius: 0 !important;
    font-size: 30px !important;
    line-height: 1 !important;
    transition-property: transform, box-shadow !important;
  }
  html body main.ioc-site .faces-athlete-card__nav button:not(:disabled):is(:hover, :focus-visible) {
    background: #050605 !important;
    color: #fff !important;
    -webkit-text-fill-color: currentColor !important;
  }
  html body main.ioc-site .faces-athlete-card__nav button:disabled {
    opacity: .5 !important;
    cursor: default !important;
  }
  html body main.ioc-site .faces-feature :is(.ioc-button, .faces-athlete-card, .faces-athlete-card__nav button):focus-visible {
    outline: 3px solid #dfbd72 !important;
    outline-offset: 4px !important;
  }

  html body #homeCalendarSection .ioc-event-empty {
    background: #242932 !important;
    color: #f5f6f8 !important;
    border: 1px solid #646d79 !important;
    padding: clamp(24px, 3vw, 40px) !important;
  }
  html body #homeCalendarSection .ioc-event-empty strong {
    display: block !important;
    color: #f5f6f8 !important;
    -webkit-text-fill-color: #f5f6f8 !important;
    font-size: clamp(23px, 2vw, 30px) !important;
    line-height: 1.25 !important;
  }
  html body #homeCalendarSection .ioc-event-empty span {
    display: block !important;
    margin-top: 12px !important;
    color: #d7dce3 !important;
    -webkit-text-fill-color: #d7dce3 !important;
    font-size: 16px !important;
    line-height: 1.65 !important;
    opacity: 1 !important;
  }

  /* Balanced brand; menu/auth retain their existing behaviour and breakpoints. */
  html:not(.laptop-phone-mode) body #headerContainer .header .logo {
    gap: 12px !important;
    align-items: center !important;
  }
  html:not(.laptop-phone-mode) body #headerContainer .header .logo-mark {
    width: 60px !important;
    height: 60px !important;
    min-width: 60px !important;
    max-width: 60px !important;
    max-height: 60px !important;
    flex: 0 0 60px !important;
  }
  html:not(.laptop-phone-mode) body #headerContainer .header .logo-copy {
    display: block !important;
    min-width: 0 !important;
  }
  html:not(.laptop-phone-mode) body #headerContainer .header .logo-title {
    display: block !important;
    color: #f7f4ec !important;
    font-size: 15px !important;
    line-height: 1.35 !important;
    font-weight: 700 !important;
    white-space: normal !important;
  }
  html body #headerContainer .header .header-nav-shell .nav-link {
    box-sizing: border-box !important;
    border: 1px solid transparent !important;
    border-radius: 0 !important;
  }
  html body #headerContainer .header .header-nav-shell .nav-link:is(.active, :hover, :focus-visible) {
    background: #fff !important;
    color: #151611 !important;
    -webkit-text-fill-color: #151611 !important;
    border: 1px solid #a17c3e !important;
    box-shadow: none !important;
  }
  html body #headerContainer .header .header-nav-shell .nav-link:focus-visible {
    outline: 2px solid #d8bc80 !important;
    outline-offset: 3px !important;
  }

  html body #footerContainer .footer {
    background: #141412 !important;
    background-image: none !important;
    color: #e9e6de !important;
    border-top: 1px solid #b89a5e !important;
  }
  html body #footerContainer .footer-shell {
    padding-top: 44px !important;
    padding-bottom: 28px !important;
    background: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
  }
  html body #footerContainer .footer-topline {
    padding-bottom: 24px !important;
    border-bottom: 1px solid #67583a !important;
    margin-bottom: 28px !important;
  }
  html body #footerContainer .footer-pill {
    background: transparent !important;
    border: 1px solid #67583a !important;
    color: #e4d5b1 !important;
    border-radius: 0 !important;
  }
  html body #footerContainer .footer-title {
    font-family: Georgia, 'Times New Roman', serif !important;
    font-size: clamp(24px, 2.2vw, 30px) !important;
    line-height: 1.2 !important;
    color: #f5f0e5 !important;
    font-weight: 700 !important;
    text-transform: none !important;
  }
  html body #footerContainer .footer-description,
  html body #footerContainer .footer-subtitle,
  html body #footerContainer .footer-status-card span {
    color: #c8c5bc !important;
    font-size: 14px !important;
    line-height: 1.65 !important;
  }
  html body #footerContainer .footer-section h4 {
    margin-bottom: 16px !important;
    padding-bottom: 10px !important;
    border-bottom: 1px solid #67583a !important;
    color: #d8bc80 !important;
    font-size: 12px !important;
    line-height: 1.5 !important;
    letter-spacing: .1em !important;
    text-transform: uppercase !important;
  }
  html body #footerContainer .footer-section :is(a, p),
  html body #footerContainer .footer-bottom p {
    color: #e9e6de !important;
    font-size: 14px !important;
    line-height: 1.65 !important;
  }
  html body #footerContainer .footer-section a:is(:hover, :focus-visible) {
    color: #f0d89f !important;
    text-decoration: underline !important;
    text-underline-offset: 4px !important;
  }
  html body #footerContainer a:focus-visible {
    outline: 2px solid #d8bc80 !important;
    outline-offset: 4px !important;
  }

  @media (max-width: 1100px) {
    html body main.ioc-site > .faces-feature {
      grid-template-columns: minmax(0, 1fr) !important;
      gap: 32px !important;
      width: min(calc(100% - 48px), 1000px) !important;
      margin: 48px auto !important;
      padding: 32px 28px !important;
    }
    html body main.ioc-site .faces-feature__intro h2 {
      max-width: 20ch !important;
      font-size: clamp(38px, 5.5vw, 54px) !important;
    }
    html body main.ioc-site .faces-feature__intro > p {
      max-width: 60ch !important;
    }
    html body main.ioc-site .faces-athlete-card,
    html body main.ioc-site #homeAthleteSpotlightImage.faces-athlete-card__photo {
      min-height: 480px !important;
    }
  }
  @media (max-width: 767px) {
    html body #headerContainer .header .header-container {
      grid-template-columns: minmax(0, 1fr) auto 44px !important;
      gap: 10px !important;
    }
    html body #headerContainer .header .logo-mark {
      width: 44px !important;
      height: 44px !important;
      min-width: 44px !important;
      max-width: 44px !important;
      max-height: 44px !important;
      flex-basis: 44px !important;
    }
    html body #headerContainer .header .logo {
      gap: 8px !important;
    }
    html body #headerContainer .header .logo-title {
      font-size: 13px !important;
      line-height: 1.3 !important;
    }
    html body main.ioc-site > .faces-feature {
      width: calc(100% - 32px) !important;
      margin: 36px auto !important;
      padding: 28px 18px !important;
    }
    html body main.ioc-site .faces-athlete-card {
      grid-template-columns: minmax(0, 1fr) !important;
      min-height: 0 !important;
    }
    html body main.ioc-site #homeAthleteSpotlightImage.faces-athlete-card__photo {
      min-height: 0 !important;
      height: clamp(360px, 110vw, 560px) !important;
    }
    html body main.ioc-site .faces-athlete-card__content {
      padding: 26px 22px !important;
      border-left: 0 !important;
      border-top: 2px solid #fff !important;
    }
    html body #footerContainer .footer-shell {
      padding-top: 32px !important;
      padding-bottom: 24px !important;
    }
  }
  @media (max-width: 520px) {
    html body #headerContainer .header .header-container {
      grid-template-columns: minmax(0, 1fr) 52px 44px !important;
      gap: 8px !important;
    }
    html body #headerContainer .header .logo-title {
      font-size: 12px !important;
    }
    html body #headerContainer .header .header-auth .user-dropdown-toggle {
      box-sizing: border-box !important;
      width: 44px !important;
      min-width: 44px !important;
      max-width: 44px !important;
      min-height: 44px !important;
      padding: 10px !important;
      justify-content: center !important;
    }
    /* Keep the user's name in the button's accessible text. */
    html body #headerContainer .header #userName {
      position: absolute !important;
      width: 1px !important;
      height: 1px !important;
      overflow: hidden !important;
      clip-path: inset(50%) !important;
      white-space: nowrap !important;
    }
    html body #headerContainer .header .user-dropdown-toggle .fa-chevron-down {
      display: none !important;
    }
    html body #headerContainer .header .login-btn {
      min-height: 44px !important;
      padding: 10px 8px !important;
      font-size: 12px !important;
    }
    html body main.ioc-site .faces-feature__intro h2 {
      font-size: clamp(32px, 9vw, 38px) !important;
    }
  }
  html body main.ioc-site #homeAthleteSpotlight.faces-athlete-card #homeAthleteSpotlightName {
    container-type: inline-size !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none !important;
  }
  html body main.ioc-site #homeAthleteSpotlight.faces-athlete-card #homeAthleteSpotlightName > span {
    font-size: clamp(16px, 9cqi, 38px) !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none !important;
  }
}

@layer fmrVisual {
  /* Brushed gold: muted body, a narrow light edge and a shaded lower lip. */
  html body #headerContainer .header .header-nav-shell .nav-link {
    border-width: 2px 2px 4px !important;
  }
  html body #headerContainer .header .header-nav-shell .nav-link:is(.active, :hover, :focus-visible) {
    border: 2px solid #ac986b !important;
    border-bottom: 4px solid #8d7950 !important;
    border-image: linear-gradient(125deg, #7c6b48 0%, #b5a176 26%, #ded4ba 43%, #a28c60 56%, #c2b18a 76%, #80704c 100%) 1 !important;
    box-shadow: inset 0 0 0 1px #e6dfce, 0 1px 0 #625437 !important;
  }
  html body #headerContainer .header .header-nav-shell .nav-link:focus-visible {
    outline-color: #ac986b !important;
  }

  /* System serif keeps the brand legible without waiting for another font. */
  html body #headerContainer .header .logo-title {
    font-family: Georgia, 'Times New Roman', serif !important;
    font-weight: 700 !important;
    font-style: normal !important;
    letter-spacing: -.015em !important;
    text-transform: none !important;
    text-shadow: none !important;
  }
  @media (min-width: 768px) {
    html:not(.laptop-phone-mode) body #headerContainer .header .logo-title {
      font-size: clamp(15px, 1.05vw, 18px) !important;
    }
  }
}
