/* =====================================================================
   FAIR Sports — v2 design system (client feedback round, Sep 2026)
   Loaded LAST on every page and inside the header/footer shadow roots,
   so it is the single source of truth for color and typography.

   COLOR ROLES
   - Deep navy (from the footer) is the brand color: dark sections,
     headings, dark buttons. The former medium blue (#233274) is retired.
   - Action blue is reserved for primary buttons, links, small highlights.
   - Sky is only used for small accents on dark backgrounds.
   - White + light gray (#f5f5f9) for page and separator sections.

   TYPE ROLES (two families, one hierarchy)
   - Gothic A1 (the "DEFINE IT" face): H1, H2, H3, card titles, eyebrows.
   - Inter: navigation, audience links, body copy, buttons, labels.
   - Baskervville italic: accent only — hero accent word and footer
     column titles, always in the same color as the text around it.
   ===================================================================== */

:root, :host{
  --fs-navy-950:#060b1f;
  --fs-navy-900:#0b1433;
  --fs-navy-800:#121d48;
  --fs-action:#3898e8;
  --fs-action-hover:#2584d6;
  --fs-sky:#63cbfd;
  --fs-ink:#0a0f1f;
  --fs-dark-bg:
    radial-gradient(ellipse 80% 90% at 50% -20%, rgba(56,152,232,.26) 0%, rgba(56,152,232,.08) 45%, rgba(56,152,232,0) 72%),
    linear-gradient(180deg, #0b1433 0%, #060b1f 100%);

  --fs-font-display:'Gothic A1','Arial Black',Arial,sans-serif;
  --fs-font-ui:'Inter',Arial,sans-serif;
  --fs-font-accent:'Baskervville','Baskerville',Georgia,serif;

  /* remap legacy tokens used across the prototype */
  --navy:var(--fs-navy-800);
  --navy-dark:var(--fs-navy-900);
  --fair-navy:var(--fs-navy-800);
  --blue:var(--fs-action);
  --fair-blue:var(--fs-action);
  --ink:var(--fs-ink);
  --fair-heading:var(--fs-font-display);
  --fair-body:var(--fs-font-ui);
}

/* ---------- Dark sections: one navy treatment with the footer's glow ---------- */
.three-paths,.cta-strip,.newsletter,.placeholder-hero,.page-hero,.page-intro,
.service-hero,.conductor-strip,.register-box,.platform-note,.dark-hero,
.ways-to-resolve{
  background:var(--fs-dark-bg) !important;
  background-color:var(--fs-navy-900) !important;
}
.cta-strip{position:relative;}
.footer{background:var(--fs-navy-950) !important;}
.footer::before{background:radial-gradient(ellipse at center, rgba(56,152,232,.42) 0%, rgba(56,152,232,.18) 42%, rgba(56,152,232,0) 75%) !important;}
.audience-bar{background:var(--fs-navy-900) !important;}

/* Light placeholder heroes (neutrals, legal pages) keep white text on navy */
.placeholder-hero .section-title,.placeholder-hero .line-regular{color:#fff !important;}
.placeholder-hero .section-desc{color:#e5e7eb !important;}

/* ---------- Typography ---------- */
body{font-family:var(--fs-font-ui);}

h1,h2,h3,.fair-h1,.fair-h2,.fair-h3,.section-title,
.path-card-title,.crosslink-title,.leader-name,.insight-card-title,
.conflict-card p,.cost-stat-card p,.collage-name,.hero-title,.service-hero-title,
.stat-num,.clause-card h3,.template-card h3,.legal-content h2{
  font-family:var(--fs-font-display) !important;
}

/* H1 — the "DEFINE IT" treatment */
.fair-h1,.hero-title,.service-hero-title{
  font-weight:900 !important;
  text-transform:uppercase;
  letter-spacing:.2px;
}

/* H2 section titles: one voice. The old second "italic" line now reads as a
   continuation of the same heading — same face, weight and color. */
.section-title .line-regular,
.section-title .line-italic,
.line-regular,.line-italic{
  font-family:var(--fs-font-display) !important;
  font-style:normal !important;
  font-weight:800 !important;
  text-transform:uppercase !important;
  letter-spacing:.2px !important;
  color:inherit !important;
  margin:0 !important;
}
.fair-h2.section-title .line-regular,.fair-h2.section-title .line-italic,
h2.section-title .line-regular,h2.section-title .line-italic{
  font-size:clamp(26px,2.6vw,34px) !important;
  line-height:1.18 !important;
}
.fair-h1.section-title .line-regular,.fair-h1.section-title .line-italic,
h1.section-title .line-regular,h1.section-title .line-italic{
  font-size:clamp(34px,4.2vw,56px) !important;
  line-height:1.08 !important;
  font-weight:900 !important;
}
.section-title{color:var(--fs-ink);}
.section-title.on-dark,.page-hero .section-title,.cta-strip .section-title,
.three-paths .section-title,.service-hero .section-title{color:#fff !important;}
.page-hero .section-title .line-italic,.page-hero .section-title .line-regular{color:#fff !important;}
.collage-title .line2{color:inherit !important;}

/* Hero accent word: the one place the italic serif stays in a heading —
   same color as the rest of the headline. */
.hero-title-accent,.service-hero-title .accent,.service-hero-title em,
.service-hero-title .line-italic{
  font-family:var(--fs-font-accent) !important;
  font-style:italic !important;
  font-weight:400 !important;
  text-transform:none !important;
  color:inherit !important;
}
.service-hero-title .line-italic{font-size:.62em !important;letter-spacing:0 !important;}

/* H3 / card titles */
.fair-h3,.path-card-title,.crosslink-title,.leader-name,.insight-card-title,
.template-card h3{font-weight:800 !important;letter-spacing:0;}

/* Eyebrows */
.eyebrow,.service-eyebrow,.mega-kicker,.insight-tag,.crosslink-tag{
  font-family:var(--fs-font-ui) !important;
  font-weight:600 !important;
  letter-spacing:.12em !important;
  text-transform:uppercase;
}
.eyebrow{font-size:12px !important;}

/* Body copy */
p,li,.section-desc,.page-hero-desc,.hero-sub{font-family:var(--fs-font-ui);}

/* Quotes may keep the serif, but in the text color, never a new color */
.quote-block p{color:var(--fs-navy-800) !important;}

/* ---------- Buttons ---------- */
.fair-button,[class*="btn-"],.btn-subscribe{
  font-family:var(--fs-font-ui) !important;
  font-weight:600 !important;
  letter-spacing:.01em;
  border-radius:4px !important;
}
/* Primary = action blue everywhere */
.btn-hero-primary,.btn-primary,.btn-collage,.btn-subscribe,
.fair-button.btn-primary{
  background:var(--fs-action) !important;
  border:1px solid var(--fs-action) !important;
  color:#fff !important;
}
.btn-hero-primary:hover,.btn-primary:hover,.btn-collage:hover,.btn-subscribe:hover{
  background:var(--fs-action-hover) !important;border-color:var(--fs-action-hover) !important;filter:none !important;
}
/* Secondary on light backgrounds */
.section:not(.three-paths):not(.cta-strip):not(.placeholder-hero):not(.dark-hero):not(.page-intro):not(.page-hero) .btn-outline,
.legal-content .btn-outline,.btn-header-outline{
  background:transparent !important;
  color:var(--fs-navy-800) !important;
  border:1px solid var(--fs-navy-800) !important;
}
/* Secondary on dark backgrounds */
.cta-strip .btn-outline,.three-paths .btn-outline,.page-hero .btn-outline,
.service-hero .btn-outline,.btn-hero-secondary{
  background:transparent !important;
  color:#fff !important;
  border:1px solid rgba(255,255,255,.7) !important;
}

/* Text links use action blue on light, sky on dark */
.path-card-link,.crosslink-link,.view-profile-link,.inquiry-link{font-family:var(--fs-font-ui) !important;}
.crosslink-link,.view-profile-link,.audience-card-link,.decision-link{color:var(--fs-action) !important;}
.cta-strip .inquiry-link,.three-paths .path-card-link{color:#e5e7eb;}

/* ---------- Icons ---------- */
.icon-container{background:var(--fs-navy-800) !important;}

/* ---------- Portrait system: square frame, centred, same as the live site (no custom cropping) ---------- */
.portrait,
.neutrals-grid .neutral-avatar,
.leader-photo,
.profile-photo img,.profile-photo,
.neutral-hero-photo img{
  width:100% !important;
  height:auto !important;
  aspect-ratio:1/1 !important;
  object-fit:cover !important;
  object-position:50% 50% !important;
  border-radius:6px 6px 0 0 !important;
  display:block;
  background:#e9ecf3;
}
div.neutral-avatar,.neutrals-grid div.neutral-avatar,div.leader-photo{
  display:flex !important;align-items:center;justify-content:center;
  background:linear-gradient(160deg,#18245a,#0b1433) !important;
  color:#fff;font-family:var(--fs-font-display) !important;font-weight:800;
  font-size:clamp(24px,3vw,36px) !important;letter-spacing:.04em;
}
.neutrals-grid{display:grid !important;grid-template-columns:repeat(4,minmax(0,1fr)) !important;gap:24px !important;align-items:stretch;}
.neutrals-grid .template-card{display:flex !important;flex-direction:column;padding:0 0 20px !important;border-radius:6px !important;overflow:hidden;height:100%;}
.neutrals-grid .template-card .view-profile-link{margin-top:auto !important;padding-top:12px;}
.neutrals-grid .template-card h3{font-size:17px !important;margin:4px 0 6px !important;}
.neutrals-grid .template-card p{font-size:14px;line-height:1.55;margin-bottom:0;}
@media (max-width:1100px){.neutrals-grid{grid-template-columns:repeat(3,minmax(0,1fr)) !important;}}
@media (max-width:800px){.neutrals-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:16px !important;}}
@media (max-width:460px){.neutrals-grid{grid-template-columns:1fr !important;}}

/* ---------- Numbering removed from resolution options ---------- */
.service-step-pill{display:none !important;}
.crosslink-tag:empty{display:none !important;}

/* ---------- Placeholder content marker (launch content pending) ---------- */
.placeholder-chip{
  display:inline-flex;align-items:center;gap:6px;
  font-family:var(--fs-font-ui);font-size:10.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;
  color:#8a6d1a;background:#fdf6e3;border:1px dashed #d9b64f;border-radius:3px;padding:3px 8px;
}

/* ---------- Hide inactive external links until destinations are live ---------- */
a[href="#"][target="_blank"]:not(.case-portal-link){display:none !important;}

/* ---------- Mid-size windows (≈ half screen) ---------- */
@media (max-width:1100px){
  .path-cards{flex-wrap:wrap;}
  .path-card{flex:1 1 280px;}
}

/* Footer keeps the small italic accent the client liked — same color as its text */
.footer .newsletter-title .line-italic{
  font-family:var(--fs-font-accent) !important;font-style:italic !important;font-weight:400 !important;
  text-transform:none !important;letter-spacing:0 !important;font-size:clamp(28px,3vw,38px) !important;margin-top:-6px !important;
}
.footer .links-col .col-title{
  font-family:var(--fs-font-accent) !important;font-style:italic !important;font-weight:400 !important;
  font-size:17px !important;color:#fff !important;letter-spacing:0 !important;text-transform:none !important;
}

/* ---------- Header: menu + audience links share one treatment (Inter 500) ---------- */
.top nav>a,.top nav summary,.audience-link{
  font-family:var(--fs-font-ui) !important;
  font-size:14px !important;
  font-weight:500 !important;
  letter-spacing:.005em;
}
.top nav summary{color:#374151 !important;}
.top nav summary:hover,.top nav details[open]>summary{color:var(--fs-navy-800) !important;}
details[open]>summary .nav-label{background:#edf5fc;}
.audience-link{color:#fff !important;}
.audience-link:hover{color:var(--fs-sky) !important;}
.top .panel a{font-family:var(--fs-font-ui) !important;font-size:14px !important;font-weight:500 !important;color:var(--fs-ink) !important;}
.top .panel{min-width:240px;border-radius:6px;border-top:1px solid #e5e7eb;}
.top .panel-right{left:auto;right:0;}
.panel-sep{height:1px;background:#e5e7eb;margin:6px 10px;}
.top .panel a.case-portal-link{color:var(--fs-action) !important;font-weight:600 !important;}
.top .actions .btn-primary{font-size:13.5px !important;padding:11px 18px !important;}
.top{gap:28px !important;}
.top>nav{gap:22px !important;}

/* ---------- Footer sitemap: 7 columns, responsive ---------- */
.sitemap-grid{grid-template-columns:repeat(7,minmax(0,1fr)) !important;gap:32px 24px !important;}
.links-col a{color:#e5e7eb;}
.links-col a.case-portal-link{color:var(--fs-sky);}
.footer-bottom .legal-links{display:flex;gap:24px;flex-wrap:wrap;}
.footer-bottom .legal-links a{color:#c9ced8;font-size:13px;}
@media (max-width:1200px){.sitemap-grid{grid-template-columns:repeat(4,minmax(0,1fr)) !important;}}
@media (max-width:720px){.sitemap-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}}
@media (max-width:400px){.sitemap-grid{grid-template-columns:1fr !important;}}

/* Header collapses to the menu button a bit earlier: 6 menu items need room */
@media (max-width:1180px){
  .menu-toggle{display:block !important;background:#fff;border:1px solid var(--fs-navy-800);border-radius:4px;color:var(--fs-navy-800);padding:10px 12px;cursor:pointer;font-family:var(--fs-font-ui);font-weight:600;}
  .top{display:flex !important;flex-wrap:wrap;}
  .top>nav{display:none !important;order:3;width:100%;flex-direction:column;align-items:stretch !important;gap:0 !important;}
  header.menu-open .top>nav{display:flex !important;}
  .top nav summary{display:block;padding:14px 4px !important;border-bottom:1px solid #eef0f4;}
  .top details{width:100%;}
  .top .panel{position:static !important;box-shadow:none !important;border:none !important;border-top:none !important;min-width:0 !important;padding:4px 0 10px 12px !important;display:block;}
  .actions{margin-left:auto;}
  .audience-bar{display:none !important;}
  header.menu-open .audience-bar{display:flex !important;flex-wrap:wrap;gap:10px;padding:12px 16px;justify-content:flex-start;}
  header.menu-open .audience-divider{display:none;}
}
@media (max-width:520px){
  .top .actions .btn-primary{font-size:12px !important;padding:9px 12px !important;}
  .logo{font-size:17px !important;}
}

/* Two-part headings flow as one sentence and wrap naturally */
.section-title>span.line-regular,.section-title>span.line-italic{display:inline !important;}
.section-title>span.line-italic::before{content:" ";}
.section-title{text-wrap:balance;}
.section-header .section-title,.cta-strip .section-title,.page-hero .section-title{max-width:880px;}

/* Buttons sitting inside dark cards on light sections */
.conductor-strip .btn-outline,.register-box .btn-outline,.platform-note .btn-outline{
  color:#fff !important;border-color:rgba(255,255,255,.7) !important;background:transparent !important;
}
.footer{border-top:1px solid rgba(255,255,255,.08);}

/* Standalone portraits (profile + course instructor) use the same 4:5 crop */
img.profile-photo{border-radius:6px !important;max-width:320px;}
img.instructor-photo{width:112px !important;height:auto !important;aspect-ratio:4/5 !important;object-fit:cover !important;object-position:50% 22% !important;border-radius:6px !important;flex-shrink:0;}
.people-grid{margin-top:8px;}
.people-crosslink{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
  border:1px solid #e5e7eb;border-radius:6px;padding:20px 24px;background:#f5f5f9;}
.people-crosslink p{margin:0 !important;color:#374151 !important;}
.people-crosslink .inquiry-link{color:var(--fs-action) !important;font-weight:600;}
.neutrals-grid .template-meta,.neutrals-grid h3,.neutrals-grid p{padding-left:20px !important;padding-right:20px !important;}
.neutrals-grid .template-meta{margin-top:16px !important;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:#6b7280;}
.neutrals-grid .view-profile-link{display:block;margin:0 20px !important;font-family:var(--fs-font-ui) !important;font-weight:600;font-size:13px;}
.neutrals-grid .template-card:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(11,20,51,.12);border-color:var(--fs-navy-800);text-decoration:none;}
@media (max-width:1100px){.neutrals-grid{grid-template-columns:repeat(3,minmax(0,1fr)) !important;gap:18px !important;}}
@media (max-width:640px){.neutrals-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:14px !important;}
  .neutrals-grid .template-card p{display:none;}
  .neutrals-grid .template-meta,.neutrals-grid h3{padding-left:14px !important;padding-right:14px !important;}
  .neutrals-grid .view-profile-link{margin:0 14px !important;}}
@media (max-width:380px){.neutrals-grid{grid-template-columns:1fr !important;}.neutrals-grid .template-card p{display:block;}}
@media (max-width:960px){
  .hero-title-accent{font-size:clamp(44px,9vw,64px) !important;margin:0 0 14px !important;}
  .legal-content{padding-top:48px !important;}
}

/* ---------- Phone fixes ---------- */
.nav-mobile-cta{display:none !important;}
@media (max-width:960px){
  .insight-cards{flex-direction:column;}
  .insight-card,.path-card,.conflict-card{flex:none !important;}
  .footer-newsletter{padding-left:0 !important;max-width:100% !important;}
  .footer-newsletter .email-input{width:100% !important;}
  .footer-brand{width:100% !important;padding-right:0 !important;}
}
@media (max-width:560px){
  .top>.actions{display:none !important;}
  header.menu-open .nav-mobile-cta{display:flex !important;justify-content:center;margin:16px 0 8px;padding:13px 18px !important;}
  .button-group,.cta-group,.placeholder-actions{flex-direction:column !important;align-items:stretch !important;width:100%;max-width:360px;margin-left:auto;margin-right:auto;}
  .button-group .fair-button,.cta-group .fair-button{width:100%;justify-content:center;}
}
@media (max-width:960px){.footer-top{gap:32px !important;}}

/* Titles inside any dark hero are white */
.dark-hero .section-title,.page-intro .section-title,.placeholder-hero .section-title,.service-hero .section-title{color:#fff !important;}
/* Secondary buttons inside dark heroes */
.placeholder-hero .btn-outline,.dark-hero .btn-outline,.page-intro .btn-outline{color:#fff !important;border-color:rgba(255,255,255,.7) !important;background:transparent !important;}

/* ---------- Secondary photo beside a section intro (used sparingly) ---------- */
.media-split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;margin-bottom:56px;}
.media-split .media-split-text{align-items:flex-start !important;text-align:left !important;margin-bottom:0 !important;}
.media-split .media-split-text .section-title,.media-split .media-split-text .section-desc{text-align:left !important;}
.media-split-photo{margin:0;}
.media-split-photo img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:8px;display:block;}
@media (max-width:960px){.media-split{grid-template-columns:1fr;gap:28px;margin-bottom:40px;}}

/* ---------- Audience page heroes with photo ---------- */
.page-hero.has-photo{position:relative;overflow:hidden;isolation:isolate;}
.page-hero.has-photo>.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;}
.page-hero.has-photo>.hero-photo-overlay{position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,rgba(6,11,31,.80) 0%,rgba(11,20,51,.66) 45%,rgba(6,11,31,.88) 100%);}

/* Menu hover background also covers the dropdown arrow */
@media (min-width:1181px){
  #site-menu .nav-label{padding:8px 26px 8px 11px !important;margin:-8px -26px -8px -11px !important;}
}
/* Photos that are already dark (stadium lights) need only a light tint */
.page-hero.has-photo>.hero-photo-light~.hero-photo-overlay{background:linear-gradient(180deg,rgba(6,11,31,.35) 0%,rgba(6,11,31,.25) 50%,rgba(6,11,31,.6) 100%);}


/* ---------- Client feedback, Oct 2026 ---------- */
/* Compact banners: Our People, Insights, Learn & Prepare, Resources */
section.hero-compact{padding:64px 80px 52px !important;min-height:0 !important;}
section.hero-compact.hero-people{padding:44px 80px 36px !important;}
section.hero-compact h1,section.hero-compact .fair-h1{font-size:clamp(30px,3.4vw,44px) !important;line-height:1.12 !important;margin-bottom:12px !important;}
section.hero-compact .section-desc,section.hero-compact p{margin-top:0 !important;}
section.hero-compact .eyebrow{margin-bottom:10px !important;}
section.hero-compact .cta-group,section.hero-compact .placeholder-actions{margin-top:20px !important;}
section.hero-compact + section{padding-top:48px !important;}
@media (max-width:960px){
  section.hero-compact{padding:40px 24px 36px !important;}
  section.hero-compact.hero-people{padding:32px 24px 28px !important;}
}
/* Neutrals: jump links; anchors clear the header */
.people-jump{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 28px;font-family:'Inter',sans-serif;font-size:14px;}
.people-jump span{color:#5b6478;font-weight:600;margin-right:4px;}
.people-jump a{display:inline-block;padding:8px 16px;border:1px solid #cfd5e3;border-radius:999px;color:#0B1433 !important;font-weight:600;text-decoration:none;}
.people-jump a:hover{border-color:#3898E8;color:#3898E8 !important;}
#arbitrators-mediators,#ombuds{scroll-margin-top:130px;}
.people-jump + h2{margin-top:0 !important;}
.people-jump{margin-bottom:-8px !important;}
.placeholder-hero .eyebrow,.hero-compact .eyebrow{color:#63CBFD !important;}
/* Profile: breadcrumb on white, no grey band */
.profile-breadcrumb{padding:28px 80px 0;background:#fff;}
.profile-breadcrumb + .profile-section{padding-top:20px !important;}
@media (max-width:960px){.profile-breadcrumb{padding:20px 24px 0;}}

/* Homepage: Who We Serve block under the hero (replaces the audience ribbon) */
.who-we-serve{background:#F4F5F9;padding:36px 80px 40px;}
.who-we-serve .eyebrow{color:#0B1433 !important;margin:0 0 16px;font-weight:700;}
.wws-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;}
.wws-tile{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:64px;padding:16px 18px;background:#fff;border:1px solid #DDE2EC;border-radius:6px;font-family:'Inter',sans-serif;font-size:15px;font-weight:600;line-height:1.3;color:#0B1433 !important;text-decoration:none !important;transition:border-color .15s,transform .15s,box-shadow .15s;}
.wws-tile svg{flex-shrink:0;color:#3898E8;}
.wws-tile:hover{border-color:#3898E8;transform:translateY(-2px);box-shadow:0 6px 16px rgba(11,20,51,.08);}
.wws-tile:focus-visible{outline:3px solid #3898E8;outline-offset:2px;}
@media (min-width:1600px){.who-we-serve{padding-left:calc((100% - 1440px)/2);padding-right:calc((100% - 1440px)/2);}}
@media (max-width:1100px){.wws-grid{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media (max-width:960px){.who-we-serve{padding:28px 24px 32px;}.wws-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:480px){.wws-grid{grid-template-columns:1fr;}}
.who-we-serve .eyebrow{text-align:center;}
/* Navy buttons: white label for contrast */
.decision-link,.decision-link:hover,.decision-link:focus{color:#fff !important;}
.decision-link svg,.decision-link svg path{color:#fff;stroke:#fff;}
/* Find Your Path: hero content raised ~100px */
section.fyp-hero{padding-top:32px !important;}
@media (max-width:960px){section.fyp-hero{padding-top:28px !important;}}
/* Insights cards: icon before content type */
.insight-tag{display:inline-flex !important;align-items:center;gap:6px;}
.insight-tag svg{flex-shrink:0;}
/* Profile bio: headings and lists from the CMS */
.profile-bio h2{font-family:"Gothic A1",sans-serif;font-size:18px;font-weight:700;color:#0B1433;margin:22px 0 10px;text-transform:none;}
.profile-bio ul,.profile-bio ol{margin:0 0 14px 20px;padding:0;}
.profile-bio li{font-size:15px;line-height:1.7;color:#4a5263;margin-bottom:6px;}
.profile-bio blockquote{border-left:3px solid #63CBFD;padding-left:16px;color:#4a5263;margin:0 0 14px;}
/* Rules: downloadable PDF card */
.rules-doc{display:flex;flex-direction:column;gap:28px;}
.rules-card{display:flex;align-items:center;gap:24px;padding:28px 32px;background:#fff;border:1px solid #DDE2EC;border-radius:8px;box-shadow:0 4px 14px rgba(11,20,51,.05);}
.rules-card-icon{flex-shrink:0;width:56px;height:56px;border-radius:8px;background:#0B1433;color:#63CBFD;display:flex;align-items:center;justify-content:center;}
.rules-card-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px;align-items:flex-start;}
.rules-card-title{font-family:'Gothic A1',sans-serif;font-size:20px;font-weight:700;color:#0B1433;margin:0;text-transform:none;line-height:1.3;}
.rules-card-meta{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:14px;color:#5b6478;margin:0;}
.rules-card-desc{font-size:15px;color:#4a5263;margin:0;}
.rules-download{display:inline-flex !important;align-items:center;gap:8px;white-space:nowrap;text-decoration:none !important;}
.rules-history{border-top:1px solid #E3E7EF;padding-top:24px;}
.rules-history h3{font-family:'Gothic A1',sans-serif;font-size:17px;font-weight:700;color:#0B1433;margin:0 0 8px;}
.rules-history p{font-size:15px;color:#4a5263;margin:0;}
@media (max-width:760px){.rules-card{flex-direction:column;align-items:flex-start;padding:24px;}}
.rules-doc .legal-note a{color:#3898E8 !important;text-decoration:underline;}
/* Forms: no horizontal scroll on phones */
@media (max-width:600px){
  .form-card{width:100% !important;max-width:100% !important;box-sizing:border-box !important;padding:24px 18px !important;min-width:0 !important;}
  .form-row{display:grid !important;grid-template-columns:1fr !important;gap:16px !important;flex-direction:column !important;}
  .form-field{min-width:0 !important;width:100% !important;}
  .form-card input,.form-card select,.form-card textarea{width:100% !important;max-width:100% !important;box-sizing:border-box !important;min-width:0 !important;}
  .form-card label{white-space:normal !important;}
}
@media (max-width:600px){.consent-label{display:flex !important;align-items:flex-start;gap:10px;white-space:normal !important;width:100% !important;}.consent-label span{min-width:0;flex:1;white-space:normal !important;}}
@media (max-width:600px){.form-card input[type="checkbox"],.form-card input[type="radio"]{width:16px !important;min-width:16px !important;flex:0 0 16px;}}

/* =====================================================================
   Consistency pass (Oct 2026) — canonical type, spacing, buttons.
   Approved scale from site-dominant values; not a redesign.
   ===================================================================== */
:root, :host{
  --fs-h1:clamp(34px,4.2vw,56px);
  --fs-h1-compact:clamp(30px,3.4vw,44px);
  --fs-h1-profile:34px;
  --fs-h1-service:40px;
  --fs-h2:clamp(26px,2.6vw,34px);
  --fs-h3:20px;
  --fs-h3-people:17px;
  --fs-eyebrow:12px;
  --fs-lead:16px;
  --fs-body:16px;
  --fs-body-dense:15px;
  --fs-small:13px;
  --fs-meta:11px;
  --fs-btn-size:14px;
  --fs-btn-pad:12px 22px;
  --fs-btn-lg-size:15px;
  --fs-btn-lg-pad:14px 28px;
  --fs-radius-btn:4px;
  --fs-focus:#3898E8;
  --fs-section-y:96px;
  --fs-gutter:80px;
  --fs-gutter-m:24px;
  --fs-link-body:var(--fs-navy-800);
}

/* --- Type: stop shared-styles .fair-h1 clamp(70px) leaking into page titles --- */
h1.fair-h1.section-title,
.fair-h1.section-title{
  font-size:var(--fs-h1) !important;
  line-height:1.08 !important;
  font-weight:900 !important;
}
section.hero-compact h1.fair-h1.section-title,
section.hero-compact .fair-h1.section-title,
section.hero-compact h1.fair-h1,
section.hero-compact .fair-h1.section-title .line-regular,
section.hero-compact .fair-h1.section-title .line-italic,
section.hero-compact h1.section-title .line-regular,
section.hero-compact h1.section-title .line-italic{
  font-size:var(--fs-h1-compact) !important;
  line-height:1.12 !important;
}
h1.fair-h1.profile-name,
h1.profile-name,
.profile-name{
  font-family:var(--fs-font-display) !important;
  font-size:var(--fs-h1-profile) !important;
  font-weight:900 !important;
  line-height:1.15 !important;
  letter-spacing:.2px !important;
  text-transform:uppercase !important;
  color:var(--fs-ink) !important;
}
.service-hero-title{
  font-family:var(--fs-font-display) !important;
  font-size:var(--fs-h1-service) !important;
  font-weight:900 !important;
  line-height:1.1 !important;
  color:#fff !important;
}
h2.fair-h2.section-title,
.fair-h2.section-title,
h2.section-title{
  font-size:var(--fs-h2) !important;
  line-height:1.18 !important;
  font-weight:800 !important;
}
.fair-h3,
h3.fair-h3,
.program-title,
.course-block-title,
.insight-card-title,
.crosslink-title,
.path-card-title,
.clause-card h3,
.template-card h3{
  font-family:var(--fs-font-display) !important;
  font-size:var(--fs-h3) !important;
  font-weight:800 !important;
  line-height:1.25 !important;
  letter-spacing:0 !important;
}
.neutrals-grid .template-card h3,
.leader-name{
  font-size:var(--fs-h3-people) !important;
  font-weight:800 !important;
}
.program-title{margin:0 0 8px !important;color:var(--fs-ink) !important;text-transform:none !important;}
.course-block-title{margin:0 0 16px !important;color:var(--fs-ink) !important;text-transform:none !important;}

.eyebrow,.service-eyebrow{
  font-family:var(--fs-font-ui) !important;
  font-size:var(--fs-eyebrow) !important;
  font-weight:600 !important;
  letter-spacing:.12em !important;
  text-transform:uppercase !important;
  margin:0 0 10px !important;
}
.section-desc,.page-hero-desc,.service-hero-desc{
  font-family:var(--fs-font-ui) !important;
  font-size:var(--fs-lead) !important;
  line-height:1.6 !important;
}
p,li{font-size:inherit;}
.profile-bio p,.course-desc p{font-size:var(--fs-body-dense) !important;line-height:1.7 !important;}

/* --- Legal / Insights / forms: same compact banner as Resources --- */
section.placeholder-hero.hero-compact:not(.hero-people),
section.page-intro.hero-compact{
  padding:64px 80px 52px !important;
  min-height:0 !important;
}
section.hero-compact.hero-people{
  padding:44px 80px 36px !important;
  min-height:0 !important;
}
@media (max-width:960px){
  section.placeholder-hero.hero-compact:not(.hero-people),
  section.page-intro.hero-compact{
    padding:40px 24px 36px !important;
  }
  section.hero-compact.hero-people{
    padding:32px 24px 28px !important;
  }
}

/* --- Buttons: base + hero large (beats shared-styles !important) --- */
.fair-button,
a.fair-button,
.btn-primary,
.btn-outline,
.btn-header-outline,
.btn-collage,
.btn-subscribe{
  font-family:var(--fs-font-ui) !important;
  font-size:var(--fs-btn-size) !important;
  font-weight:600 !important;
  line-height:1.4 !important;
  padding:var(--fs-btn-pad) !important;
  border-radius:var(--fs-radius-btn) !important;
}
a.fair-button.btn-hero-primary,
a.fair-button.btn-hero-secondary,
a.fair-button.btn-outline,
.cta-group a.fair-button,
.placeholder-actions a.fair-button,
.placeholder-hero a.fair-button,
.service-hero-ctas a.fair-button,
.page-hero a.fair-button,
.page-intro a.fair-button,
.hero .cta-group a.fair-button,
.button-group a.fair-button,
.cta-strip a.fair-button{
  font-size:var(--fs-btn-lg-size) !important;
  padding:var(--fs-btn-lg-pad) !important;
}
.top .actions .btn-primary,
.top .actions .fair-button{
  font-size:13.5px !important;
  padding:11px 18px !important;
}
@media (max-width:520px){
  .top .actions .btn-primary,.top .actions .fair-button{
    font-size:12px !important;padding:9px 12px !important;
  }
}

/* Focus: visible keyboard ring */
.fair-button:focus-visible,
a.fair-button:focus-visible,
.btn-primary:focus-visible,
.btn-outline:focus-visible,
.btn-hero-primary:focus-visible,
.btn-hero-secondary:focus-visible,
.btn-header-outline:focus-visible,
.btn-collage:focus-visible,
.btn-subscribe:focus-visible,
.decision-link:focus-visible,
.path-card-link:focus-visible,
.view-profile-link:focus-visible,
.crosslink-link:focus-visible,
.inquiry-link:focus-visible,
.people-jump a:focus-visible{
  outline:3px solid var(--fs-focus) !important;
  outline-offset:2px !important;
}

/* Body / legal text links: navy for AA (action blue reserved for CTAs) */
.legal-content a,
.legal-note a,
.profile-bio a{
  color:var(--fs-link-body) !important;
  font-weight:600;
}
.legal-content a:hover,
.legal-note a:hover{color:var(--fs-action) !important;}

/* Card / section rhythm helpers */
.button-group,.cta-group,.placeholder-actions,.service-hero-ctas{gap:14px;}
.section-header .eyebrow + .section-title,
.page-hero > .eyebrow + .section-title,
.page-intro > .eyebrow + .section-title{margin-top:0;}
/* Typography: avoid one-word last lines (orphans) in headings, card titles and short copy */
h1,h2,h3,h4,.section-title,.path-card-title,.conflict-card p,.wws-tile span,.template-card h3,.template-card p,.insight-card-title,.rules-card-title,.section-desc,.page-hero-desc{text-wrap:pretty;}
h1,h2,.section-title{text-wrap:balance;}
/* Learn & Prepare: hide the "Already registered?" banner while the Learning Platform has no URL.
   It reappears automatically once the button's href="#" is replaced with the platform link. */
.platform-note:has(a[href="#"]){display:none !important;}
/* Course pages: instructor portrait framed like all other portraits (square, centred) */
img.instructor-photo{aspect-ratio:1/1 !important;object-position:50% 50% !important;}
/* Contract Clauses: copy-to-clipboard button */
.clause-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px;}
.clause-head .fair-h3{margin:0 !important;}
.clause-copy{display:inline-flex;align-items:center;gap:8px;flex-shrink:0;padding:8px 14px;border:1px solid #CFD5E3;border-radius:6px;background:#fff;color:#0B1433;font-family:'Inter',sans-serif;font-size:13px;font-weight:600;line-height:1;cursor:pointer;transition:border-color .15s,color .15s,background .15s;}
.clause-copy:hover{border-color:#3898E8;color:#3898E8;}
.clause-copy:focus-visible{outline:3px solid #3898E8;outline-offset:2px;}
.clause-copy .i-check{display:none;}
.clause-copy.is-copied{border-color:#1a7f37;color:#1a7f37;background:#f0faf3;}
.clause-copy.is-copied .i-copy{display:none;}
.clause-copy.is-copied .i-check{display:inline;}
@media (max-width:600px){.clause-head{flex-direction:column;gap:10px;}}
/* QA R1: long hero words must never be cut off on phones */
h1,h2,.fair-h1,.service-hero-title{overflow-wrap:break-word;}
@media (max-width:480px){
  .service-hero-title,.service-hero-title span:not(.line-italic){font-size:clamp(26px,8.2vw,40px) !important;line-height:1.08 !important;}
}
/* QA R2: no horizontal scroll at 320px */
@media (max-width:360px){
  .cost-stat-grid{grid-template-columns:1fr !important;}
  .form-submit-row{flex-direction:column !important;align-items:stretch !important;}
  .form-submit-row .fair-button,.form-submit-row button{width:100%;}
}
/* QA R3: FAQ and other sections get phone gutters (inline .section{padding:96px 80px} was overriding them) */
@media (max-width:960px){
  .section{padding-left:24px !important;padding-right:24px !important;}
  .faq-item{padding:18px 18px !important;}
  .faq-group-title{font-size:clamp(24px,7vw,40px) !important;}
}
/* QA R4: 16px form text on phones so iOS Safari doesn't zoom on focus */
@media (max-width:768px){
  input:not([type=checkbox]):not([type=radio]),select,textarea{font-size:16px !important;}
}
/* QA R5: 44px tap area on phones for text links, without changing the visual layout */
@media (max-width:768px){
  .path-card-link,.inquiry-link,.crosslink-link,.audience-card-link,.instructor-link,.breadcrumb,.service-crumb a{
    padding-top:15px !important;padding-bottom:15px !important;margin-top:-15px !important;margin-bottom:-15px !important;}
  .instructor-link{display:inline-block;}
  .decision-link,.clause-copy,.people-jump a{min-height:44px !important;box-sizing:border-box;display:inline-flex !important;align-items:center;}
}

/* =====================================================================
   CONSISTENCY PASS (approved 26 Oct 2026, see FAIR_Sports_Size_Standardization.html)
   ===================================================================== */
/* Eyebrows / brand navy: one navy everywhere (old #121D48 retired) */
:root{--fs-navy-800:#0b1433;}
.eyebrow{font-size:12px !important;font-weight:600 !important;letter-spacing:1.44px !important;}
.insight-tag{font-size:12px !important;font-weight:600 !important;letter-spacing:1.44px !important;}
.template-meta{font-size:11px !important;font-weight:600 !important;letter-spacing:.66px !important;color:#6B7280 !important;}
.process-time,.service-crumb{font-size:12px !important;font-weight:600 !important;letter-spacing:.36px !important;}

/* Buttons: main 51px, utility 40px, radius 4 */
a.fair-button,button.fair-button,.btn-primary,.btn-outline,.btn-hero-primary,.btn-hero-secondary,.btn-header-outline{
  min-height:51px;box-sizing:border-box;padding:14px 28px !important;font-size:15px !important;font-weight:600 !important;border-radius:4px !important;
  display:inline-flex !important;align-items:center;justify-content:center;line-height:1.2 !important;}
.decision-link,.clause-copy{min-height:40px;box-sizing:border-box;padding:0 18px !important;font-size:13.5px !important;font-weight:600 !important;border-radius:4px !important;}

/* H1: service pages 40 -> 44 on desktop (profiles stay 34) */
@media (min-width:481px){.service-hero-title,.service-hero-title span:not(.line-italic){font-size:44px !important;line-height:1.1 !important;}}

/* H2: sections 34/800, sub-headings 22/700 */
.faq-group-title{font-size:34px !important;font-weight:800 !important;line-height:1.18 !important;}
@media (max-width:960px){.faq-group-title{font-size:clamp(24px,7vw,34px) !important;}}
.legal-content h2,.neutrals-grid ~ h2,h2#arbitrators-mediators,h2#ombuds,.profile-bio h2,.course-block-title,.rules-card-title{
  font-size:22px !important;font-weight:700 !important;line-height:1.3 !important;}
/* H3: content 20/800, card titles 17/800 */
.rules-history h3{font-size:17px !important;font-weight:800 !important;}

/* Body text: 16 / 15 / 14 (+ existing 18px intro paragraphs kept) */
.audience-card-desc,.conductor-desc,.cost-stat-line p,.faq-a,.faq-item p,.objection-a,.platform-note p,.process-desc,.split-col li,.split-col p,.contact-info-item .ci-value,.syllabus-item-title{font-size:15px !important;line-height:1.6 !important;}
.crosslink-desc,.register-box p,.service-fact-value,.syllabus-item-desc,.cookie-table{font-size:14px !important;line-height:1.55 !important;}
.faq-item summary,.objection-q,.when-card-title{font-size:16px !important;}
.profile-bio p,.profile-bio li{font-size:16px !important;line-height:1.7 !important;}

/* Arrow links 14/600, breadcrumbs 13/600 */
.path-card-link,.inquiry-link,.crosslink-link,.view-profile-link,.audience-card-link,.rot-link,.instructor-link{font-size:14px !important;font-weight:600 !important;}
.breadcrumb,.service-crumb a{font-size:13px !important;font-weight:600 !important;}

/* Cards: radius 6; padding 32 large / 24 medium / 16 compact */
.conflict-card,.path-card,.clause-card,.crosslink-card,.program-card,.decision-card,.insight-card,.faq-list,.template-card,.rules-card,.form-card,.cost-stat-card,.wws-tile,.quote-block,.audience-card{border-radius:6px !important;}
.conflict-card,.path-card,.clause-card,.decision-card,.program-card,.rules-card,.form-card,.quote-block,.audience-card{padding:32px !important;}
div.template-card,.crosslink-card{padding:24px !important;}
.wws-tile,.cost-stat-card{padding:16px !important;}
@media (max-width:600px){.conflict-card,.path-card,.clause-card,.decision-card,.program-card,.rules-card,.form-card{padding:24px 20px !important;}}

/* Icons: keep 64 (feature cards) / 48 (compact); number badges 32 */
.step-num,.decision-num{width:32px !important;height:32px !important;min-width:32px;font-size:13px !important;}

/* Vertical spacing: 96 main, 80 CTA, 48 after banners */
.legal-content{padding-bottom:96px !important;}
.insights-preview{padding-top:96px !important;padding-bottom:96px !important;}
.hero-compact + section,.page-intro + section,.placeholder-hero + section{padding-top:48px !important;padding-bottom:96px !important;}
.course-body{padding-bottom:96px !important;}

/* Grid gaps: 24 cards, 12 compact tiles */
.conflict-cards,.insight-cards,.template-grid,.path-cards{gap:24px !important;}
.wws-grid,.cost-stat-grid{gap:12px !important;}

/* Form fields: 44px, radius 4 (16px text on phones is set above) */
.form-input,.form-select{height:44px !important;box-sizing:border-box;border-radius:4px !important;}
.form-textarea{border-radius:4px !important;}

/* Keep phone tap targets (QA R5) after the utility-button sizes above */
@media (max-width:768px){.decision-link,.clause-copy,.people-jump a{min-height:44px !important;}}
/* Buttons on narrow phones: allow two-line labels, never wider than the screen */
@media (max-width:400px){
  a.fair-button,button.fair-button,.btn-primary,.btn-outline,.btn-hero-primary,.btn-hero-secondary,.btn-header-outline{
    padding:12px 20px !important;white-space:normal !important;text-align:center;max-width:100%;}
}
/* Header (shadow DOM also loads this file): keep the header CTA compact and the mobile-menu CTA hidden
   until the menu is open — restores the rules the consistency pass overrode */
.top .actions .btn-primary,.top .actions .fair-button{min-height:0 !important;font-size:13.5px !important;padding:11px 18px !important;}
@media (max-width:520px){.top .actions .btn-primary,.top .actions .fair-button{font-size:12px !important;padding:9px 12px !important;}}
.nav-mobile-cta{display:none !important;}
@media (max-width:560px){header.menu-open .nav-mobile-cta{display:flex !important;justify-content:center;margin:16px 0 8px;padding:13px 18px !important;min-height:44px;}}
