/*
 * NBFC light identity, 07.11.2026
 * Original NBFC seal retained; light greys, white, anthracite typography,
 * authentic NBFC red for navigation, headings and actions.
 */
:root {
  --ink: #2b3033;
  --ink-2: #3d4447;
  --paper: #f7f7f6;
  --muted: #697277;
  --line: rgba(44,53,58,.16);
  --red: #c63c31;
  --red-dark: #a92d23;
}
html { background: #f5f6f6; }
body, .platform-page { background: #f5f6f6; color: #2b3033; }
.site-header {
  background: rgba(255,255,255,.97);
  color: #283034;
  border-bottom: 1px solid #d8dcdd;
  box-shadow: 0 2px 18px rgba(30,39,44,.045);
}
.brand { color: #2b3033; }
.brand-seal { border-radius: 50%; border: 1px solid #cfd3d4; background: white; }
.brand-name { color: #23282c; }
.brand-name strong { color: #667177; }
.main-nav { color: #394247; }
.main-nav a:hover, .text-link:hover { color: var(--red-dark); }
.main-nav .nav-cta { background: #f8eeee; color: #a92d23; border: 1px solid #e8c3bf; }
.site-header .main-nav { background: rgba(255,255,255,.98); }
.menu-toggle, .menu-toggle span { color: #313b41; }
.menu-toggle span { background: #394249; }
.button-red { background: var(--red); color: white; }
.button-red:hover { background: var(--red-dark); }
.section-rule { background: #d4dadc; }
.section-label { color: #6c767a; }
.section-index { color: var(--red-dark); }

/* Public event homepage */
.hero {
  color: #2b3033;
  background: radial-gradient(ellipse at 78% 36%,rgba(199,60,49,.07),transparent 41%),
              linear-gradient(116deg,#fff 0%,#f1f3f3 52%,#e5e8e9 100%);
  border-bottom: 1px solid #d5dadc;
}
.hero-grid { opacity: .42; background-image: linear-gradient(90deg,transparent 49.5%,rgba(58,69,75,.095) 50%,transparent 50.5%),linear-gradient(transparent 49.5%,rgba(58,69,75,.095) 50%,transparent 50.5%); }
.eyebrow { color: #707a7f; }
.hero #hero-title { color: #2b3033; }
.hero-lead { color: #5d696f; }
.text-link { color: #424e54; }
.hero-foot { color: #6d797d; }
.hero-photo { border: 1px solid #bbc3c6; box-shadow: 13px 16px 0 rgba(197,204,207,.48); }
.hero-photo-shade { background: linear-gradient(180deg,rgba(15,18,20,.17),transparent 32%,rgba(11,15,16,.05) 45%,rgba(11,15,16,.78) 100%); }
.hero-photo-bottom strong { color: #fff; }
.hero-photo-top,.hero-photo-bottom,.hero-photo-caption { text-shadow: 0 1px 8px rgba(0,0,0,.48); }
.hero-art:not(.event-poster) { border-color: #ccd2d4; }
.hero-art:not(.event-poster) .ring { border-color: #cdd2d3; }
.art-word,.art-index { color: #2e3438; text-shadow: none; }
.event-strip { background: #fff; color: #2c3235; }
.event-kicker,.event-note { border-color: #d8dcdd; }
.arrow-button { background: #343e43; color: white; }

/* Federation entry and public thematic blocks */
.portal-entry { background: #eff1f1; color: #292f33; }
.portal-entry-head p { color: #5e686c; }
.portal-entry-grid { background: #d3d9db; border-color: #d3d9db; }
.portal-entry-grid a { background: #fff; color: #30383c; }
.portal-entry-grid a:hover { background: #f9ebea; }
.portal-entry-grid a span { color: #5d6970; }
.portal-entry-grid a b { color: var(--red-dark); }
.manifesto { background: #f8f9f8; color: #2d3336; }
.manifesto .manifesto-copy,.manifesto .values-row p,.manifesto .league-callout p { color: #5b676b; }
.fighter-section { background: #edf0f1; color: #2b3033; border-color: #d3d8da; }
.fighter-visual { background: linear-gradient(135deg,#e4e8ea,#cdd4d7); }
.fighter-visual:before,.fighter-visual:after { border-color: rgba(54,64,68,.14); }
.fighter-cross { background: linear-gradient(45deg,transparent 49.8%,rgba(54,64,68,.08) 50%,transparent 50.2%),linear-gradient(-45deg,transparent 49.8%,rgba(54,64,68,.08) 50%,transparent 50.2%); }
.fighter-number { color: #3a4449; }
.fighter-vertical,.fighter-copy small { color: #6b767b; }
.fighter-copy h2 { color: #2b3033; }
.fighter-copy p { color: #5f6a6f; }
.updates-section { background: #fafbfa; }
.updates-grid h2 { color: #283034; }
.updates-grid p { color: #606d72; }
.updates-card { background: #fff; border: 1px solid #dbe0e2; color: #293134; box-shadow: 0 12px 26px rgba(30,38,42,.03); }
.updates-card h3 { color: #2c3438; }
.event-row:hover,.event-row-current { background: #eceff0; }
.event-row strong,.event-row small { color: #414c51; }
.faq-section { background: #f5f6f6; color: #2b3033; }
.faq-list details { background: #fff; border-color: #d8dddf; }
.faq-list details+details { border-top-color: #d8dddf; }
.faq-list summary { color: #2c3337; }
.faq-list details p { color: #5f6b70; }
.faq-list details>a { color: #a92d23; }
.shop-teaser { background: linear-gradient(117deg,#e6e9ea,#f5f6f6); color: #2c3337; }
.shop-teaser-body p { color: #626e72; }
.shop-status { color: #9e3028; border: 1px solid #d5b9b4; }
.results-section { background: #f6f7f6; }
.results-live i { background: var(--red); box-shadow: 0 0 0 4px rgba(198,60,49,.12); }
.cage-rental { background: #e9edef; color: #2d3438; }
.cage-rental-copy>p:not(.event-label),.cage-features li { color: #58666c; }
.cage-inquiry { background: #fff; border: 1px solid #d1d9dc; box-shadow: 0 10px 27px rgba(30,38,42,.03); }
.cage-inquiry p,.cage-calculator small { color: #657176; }
.cage-route-link,.cage-route-link:hover { color: #a92d23; }
.cage-calculator label { color: #3f4b51; }
.cage-input-row,.cage-calculator select { background: #f7f8f8; color: #2d3438; border: 1px solid #cad2d5; }
.cage-input-row input,.cage-result strong { color: #252e33; }
.cage-result span,.cage-input-row span { color: #5f6d71; }

/* Federation sections */
.hub-hero { background: radial-gradient(circle at 77% 31%,rgba(199,60,49,.065),transparent 38%),linear-gradient(125deg,#fafafa,#e9edee); color: #293134; }
.hub-kicker { color: #a9342b; }
.hub-hero-copy>p:not(.hub-kicker),.hub-quiet-link,.hub-hero-bottom { color: #5b686e; }
.hub-hero-image { box-shadow: 12px 16px 0 #d0d5d6; border-color: #bfc8cc; }
.hub-hero-image:after { background: linear-gradient(180deg,rgba(0,0,0,.1),rgba(0,0,0,.57)); }
.hub-image-overlay b { color: #fff; text-shadow: 0 2px 12px rgba(0,0,0,.65); }
.hub-index { background: #d5dbdd; }
.hub-index a { background: #fff; color: #2b3235; }
.hub-index a:hover { background: #f8ebea; }
.hub-dark,.hub-light,.hub-rankings,.hub-officials { background: #f7f8f8; color: #2c3438; }
.hub-rankings { background: #e9edef; }
.hub-officials { background: #eceff0; }
.hub-intro>div:last-child p,.hub-light .hub-intro>div:last-child p,.hub-rankings .hub-intro>div:last-child p { color: #5c696e; }
.hub-section-top { opacity: .74; color: #5e6a70; }
.hub-panel { background: #fff; border: 1px solid #d6dddf; color: #2c3438; box-shadow: 0 9px 24px rgba(25,34,38,.03); }
.hub-panel p,.hub-panel li,.hub-notice p { color: #5d6a70; }
.hub-panel>span,.hub-notice a,.hub-document-bar a { color: var(--red-dark); }
.hub-steps { background: #d4dcde; border-color: #d4dcde; }
.hub-steps article,.hub-ranking-archive { background: #fff; }
.hub-league { background: #eef1f2; color: #283035; }
.hub-league-head,.hub-league>p,.division-result span { color: #5e696f; }
.hub-league-head strong,.hub-league>a { color: #ab3329; }
.division-controls button { color: #344147; border: 1px solid #aeb9bd; }
.division-controls button:hover,.division-controls button.is-active { color: #fff; }
.division-result { border-color: #cdd5d8; }
.hub-document-bar p { color: #5c696f; }
.hub-event-feature { background: #fff; color: #293135; border: 1px solid #d4dbde; }
.hub-event-feature p { color: #5f6c70; }
.hub-event-tags span { border-color: #b9c5c9; color: #566368; }
.hub-contact { background: linear-gradient(115deg,#f1e7e5,#e1e6e8); color: #2d3438; }
.hub-contact h2 em { color: var(--red-dark); }
.hub-contact .button-red { background: var(--red); color: #fff; }
.hub-contact .button-red:hover { background: var(--red-dark); }

/* Public rulebook and document downloads */
.rules-page,.downloads-page { background: #f7f8f8; color: #2c3438; }
.rules-page .site-header,.downloads-page .site-header,.rules-page .site-footer,.downloads-page .site-footer { color: #2b3236; }
.rules-hero,.downloads-hero { background: linear-gradient(118deg,#fdfdfd,#e7ebed); color: #2b3236; border-bottom: 1px solid #d4dcdf; }
.rules-kicker { color: #af352b; }
.rules-hero p,.downloads-hero p,.downloads-hero aside span { color: #59676e; }
.rules-secondary { color: #3d484e; border-bottom-color: #8a999f; }
.rules-hero aside { background: #fff; border: 1px solid #d7dddf; border-top: 3px solid var(--red); }
.rules-hero aside strong { color: #293136; }
.rules-hero aside span { color: #a13b32; }
.rules-hero aside small { color: #626f75; }
.rules-toc { background: #eef0f1; border-color: #cdd4d6; }
.rules-appendix { background: #eef0f1; }
.docs-main { background: #f8f9f9; }
.docs-next { background: #edf0f1; }
.docs-filters button[aria-pressed="true"],.docs-filters button:hover { background: #394348; color: #fff; border-color: #394348; }
.docs-toolbar input:focus { outline-color: var(--red); }

/* All footers use light slate, never black */
.site-footer {
  background: #e1e5e6;
  color: #30383c;
  border-top: 1px solid #cbd2d5;
}
.site-footer>p,.site-footer p,.site-footer .footer-entity,.site-footer .footer-bottom { color: #5d696e; }
.site-footer .brand-name { color: #252c30; }
.site-footer .brand-name strong { color: #647075; }
.site-footer a { color: #343f44; }
.site-footer a:hover { color: var(--red-dark); }

@media (max-width: 1000px) {
  .site-header .main-nav { background: #fff; color: #2b3337; border-bottom: 1px solid #dce0e2; }
}
@media (max-width: 700px) {
  .hero { background: linear-gradient(160deg,#fff,#e9edef); }
  .hero-photo { box-shadow: 8px 9px 0 #d9dfe1; }
  .hero-foot { color: #657278; }
  .hub-hero-image { box-shadow: 8px 9px 0 #d9dfe1; }
}

/* Editorial federation style: disciplined hierarchy, not event-poster typography. */
:root {
  --ink: #292e32;
  --ink-2: #41494d;
  --paper: #f8f8f7;
  --muted: #687176;
  --line: rgba(41,50,55,.18);
  --red: #a63731;
  --red-dark: #812a25;
  --display: "Manrope", Arial, sans-serif;
}
body { font-size: 14px; line-height: 1.75; }
h1,h2,h3 { letter-spacing: -.035em; }
.site-header { box-shadow: none; }
.main-nav { letter-spacing: .065em; font-size: 10px; }
.main-nav .nav-cta { background: transparent; border-color: #d4d9db; color: #752a27; }
.button { padding: 13px 18px; border-radius: 2px; letter-spacing: .045em; }
.button-red,.hero-photo-bottom a,.hub-contact .button-red { background: #a63731; }
.button-red:hover,.hero-photo-bottom a:hover,.hub-contact .button-red:hover { background: #812a25; transform: none; }
.eyebrow,.section-index,.section-label,.hub-kicker,.rules-kicker { letter-spacing: .12em; }
.hero { min-height: 580px; padding-top: 86px; padding-bottom: 72px; }
.hero-grid { opacity: .1; }
.hero #hero-title { font: 800 clamp(49px,6vw,82px)/1.06 var(--display); letter-spacing: -.052em; margin: 26px 0 24px; }
.hero #hero-title em,.hub-hero h1 em,.rules-hero h1 em,.downloads-hero h1 em { color: #a63731; }
.hero-lead { max-width: 450px; font-size: 15px; line-height: 1.8; }
.hero-actions { gap: 24px; margin-top: 29px; }
.hero-photo { height: min(35vw,455px); min-height: 335px; border-radius: 2px; box-shadow: 0 16px 42px rgba(36,45,50,.13); }
.hero-photo-bottom strong { font: 800 clamp(42px,4.8vw,64px)/.99 var(--display); letter-spacing: -.045em; }
.hero-photo-bottom strong em { color: #b94539; }
.hero-photo-bottom a { border-radius: 2px; }
.hero-photo-shade { background: linear-gradient(180deg,rgba(10,15,18,.15),transparent 30%,rgba(10,15,18,.77)); }
.event-main h2 { font: 800 clamp(43px,5vw,68px)/1 var(--display); }
.date-day { font: 800 49px/1 var(--display); color: #922f2b; }
.portal-entry { padding-top: 58px; padding-bottom: 65px; }
.portal-entry-head h2 { font: 800 clamp(38px,4.5vw,60px)/1.12 var(--display); }
.portal-entry-grid { gap: 12px; border: 0; background: transparent; }
.portal-entry-grid a { min-height: 125px; border: 1px solid #d6dcde; padding: 21px; }
.portal-entry-grid a strong { font: 750 20px/1.2 var(--display); letter-spacing: -.035em; }
.portal-entry-grid a b { font-size: 18px; }
.manifesto-grid h2,.fighter-copy h2,.updates-grid h2,.cage-rental-copy h2,.results-intro h2,.faq-heading { font: 800 clamp(39px,4.7vw,62px)/1.14 var(--display); letter-spacing: -.05em; }
.manifesto-grid { margin-top: 38px; margin-bottom: 44px; }
.values-row h3 { font: 800 18px/1.2 var(--display); letter-spacing: -.015em; }
.fighter-section { display: block; min-height: 0; background: #eef0f1; }
.fighter-visual { display: none; }
.fighter-copy { max-width: 1000px; padding: 63px 8vw 67px; }
.fighter-copy h2 { margin: 21px 0 18px; }
.updates-card { border-top: 2px solid #a63731; }
.updates-card:before { display:none; }
.countdown b { font: 800 38px/1 var(--display); }
.results-intro h2 { max-width: 850px; }
.result-card h3 { font: 750 24px/1.2 var(--display); }
.faq-heading { margin: 28px 0 25px; }
.cage-inquiry h3 { font: 750 25px/1.25 var(--display); }
.shop-status { color:#812a25; background: transparent; }

/* Club federation pages, officials and rankings */
.hub-hero { padding-top: 66px; }
.hub-hero h1 { font: 800 clamp(48px,5.7vw,76px)/1.07 var(--display); letter-spacing: -.052em; }
.hub-hero-copy { padding-bottom: 57px; }
.hub-hero-image { height: min(39vw,465px); min-height: 355px; box-shadow: 0 16px 32px rgba(36,45,50,.12); }
.hub-image-overlay b { font: 800 clamp(26px,3vw,40px)/1.12 var(--display); letter-spacing: -.035em; }
.hub-image-overlay b { display: none; }
.hub-index { gap: 9px; padding: 9px 8vw; background: #f0f2f3; }
.hub-index a { min-height: 86px; border: 1px solid #d6dcde; padding: 15px 13px; gap: 13px; }
.hub-index b { font: 750 14px/1.3 var(--display); }
.hub-index span { font-size: 16px; }
.hub-section { padding-top: 75px; padding-bottom: 78px; }
.hub-intro { margin-top: 37px; margin-bottom: 34px; }
.hub-intro h2 { font: 800 clamp(39px,4.9vw,64px)/1.13 var(--display); letter-spacing: -.045em; }
.hub-panel h3 { font: 750 22px/1.18 var(--display); margin-top: 19px; }
.hub-panel-feature h3 { font-size: 28px; }
.hub-league h3 { font: 800 36px/1.14 var(--display); margin-top: 28px; }
.hub-ranking-archive>a strong { font: 750 27px/1.15 var(--display); }
.hub-event-feature h3 { font: 800 clamp(45px,5vw,68px)/1.08 var(--display); }
.hub-contact h2 { font: 800 clamp(42px,5vw,68px)/1.1 var(--display); }
.hub-event-list b { font: 750 22px/1.2 var(--display); }
.hub-overline,.hub-small-label { color:#812a25; }

/* Rulebook and official document index */
.rules-hero,.downloads-hero { padding-top: 62px; padding-bottom: 58px; }
.rules-hero h1,.downloads-hero h1 { font: 800 clamp(45px,5.2vw,73px)/1.08 var(--display); letter-spacing: -.05em; }
.rules-hero aside strong,.downloads-hero aside strong { font: 750 27px/1.2 var(--display); }
.rules-hero aside img { border-radius: 50%; }
.rules-notice,.docs-alert { background: #eff1f2; color: #495258; border-color: #d9dfe1; }
.rules-notice strong { font: 750 15px/1.3 var(--display); }
.rules-toc h2,.docs-sidebar h2,.docs-toolbar h2 { font: 750 24px/1.2 var(--display); }
.rules-chapter h2 { font: 750 clamp(23px,2.7vw,32px)/1.25 var(--display); color: #2b3135; border-left: 3px solid #a63731; padding-left: 14px; }
.docs-grid h3 { font-family:var(--display); }
.docs-next h3 { font: 750 22px/1.25 var(--display); }
.site-footer { background: #e9eced; }

@media (max-width: 960px) {
  .hub-index { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width: 720px) {
  .hero { min-height: 0; padding-top: 76px; padding-bottom: 0; }
  .hero #hero-title { font-size: clamp(42px,10vw,62px); line-height: 1.1; }
  .hero-photo { min-height: 265px; height: min(76vw,370px); box-shadow: 0 10px 24px rgba(36,45,50,.12); }
  .hero-photo-bottom strong { font-size: clamp(38px,9vw,58px); }
  .portal-entry-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .portal-entry-grid a { min-height: 103px; }
  .manifesto-grid h2,.fighter-copy h2,.updates-grid h2,.cage-rental-copy h2,.results-intro h2,.faq-heading { font-size: clamp(35px,8.8vw,48px); }
  .fighter-copy { padding: 52px 6vw 58px; }
  .hub-hero { padding-top: 46px; }
  .hub-hero h1 { font-size: clamp(43px,10vw,59px); }
  .hub-hero-image { min-height: 0; height: 65vw; box-shadow: 0 10px 24px rgba(36,45,50,.12); }
  .hub-intro h2 { font-size: clamp(35px,8.5vw,47px); }
  .hub-index { padding: 8px 6vw; }
  .hub-index a { min-height: 75px; }
  .hub-event-feature h3 { font-size: clamp(44px,10vw,60px); }
  .rules-hero h1,.downloads-hero h1 { font-size: clamp(43px,9vw,57px); }
}

/* Readability and MMA-friendly warmth: 07.11.2026 */
.payment-transition { margin: 0; padding: 19px clamp(20px, 5vw, 64px); background: #f8f4f0; border-top: 1px solid #ddd5ce; border-left: 4px solid #a63a32; color: #283034; display: flex; align-items: baseline; gap: clamp(15px, 2vw, 32px); }
.payment-transition strong { font-size: 11px; line-height: 1.5; letter-spacing: .06em; color: #90342d; min-width: 175px; }
.payment-transition p { margin: 0; font-size: 14px; line-height: 1.7; max-width: 780px; }
.payment-transition b { font-weight: 750; }
@media (max-width: 740px) { .payment-transition { display: block; padding: 20px 24px; } .payment-transition p { margin-top: 8px; } }
:root { --paper: #faf9f8; --ink: #252b2f; --muted: #4c585e; --red: #a63a32; --red-dark: #832b26; }
html,body,.platform-page { background: #faf9f8; color: #252b2f; }
body { font-size: 16px; line-height: 1.76; }
.hero,.hub-hero,.rules-hero,.downloads-hero {
  background: linear-gradient(115deg,#fff 0%,#faf9f8 48%,#e9edef 100%);
}
.site-header .main-nav { gap: clamp(10px,1.25vw,19px); font-size: 11px; letter-spacing: .02em; }
.site-header .main-nav .nav-cta { font-size: 11px; }
.eyebrow,.section-label,.section-index,.event-label,.rules-kicker,.hub-kicker,.hub-overline,.hub-small-label { font-size: 11px; letter-spacing: .075em; }
.hero-lead { font-size: 17px; max-width: 495px; line-height: 1.8; color: #47545a; }
.text-link,.button,.rules-secondary,.hub-quiet-link { font-size: 12px; }
.hero-photo-top { font-size: 10px; letter-spacing: .055em; }
.photo-kicker,.hero-photo-bottom>span:nth-of-type(2) { font-size: 11px; }
.hero-photo-bottom a { font-size: 11px; }
.hero-photo-caption { font-size: 9px; }
.hero-foot,.hub-hero-bottom { font-size: 10px; letter-spacing: .07em; }
.event-status,.event-note a { font-size: 12px; }
.event-place b { font-size: 14px; }
.event-place small,.event-note p { font-size: 13px; color: #4c585e; }
.event-meta span { font-size: 11px; letter-spacing: .06em; color: #586368; }
.event-meta b { font-size: 14px; color: #293134; }
.portal-entry-head p,.hub-hero-copy>p:not(.hub-kicker),.hub-intro>div:last-child p,.hub-light .hub-intro>div:last-child p,.hub-rankings .hub-intro>div:last-child p { font-size: 15px; line-height: 1.82; color: #455259; }
.portal-entry-grid a span,.hub-index small { font-size: 11px; letter-spacing: .08em; color: #5c666c; }
.portal-entry-grid a strong { font-size: 19px; }
.manifesto .manifesto-copy,.manifesto-copy p:last-child,.manifesto .values-row p,.manifesto .league-callout p { font-size: 14px; line-height: 1.78; color: #4c585e; }
.large-copy { font-size: 18px; color: #2f383c; }
.values-row article>span { font-size: 14px; }
.fighter-copy p,.updates-grid p,.shop-teaser-body p,.results-intro p,.cage-rental-copy>p:not(.event-label) { font-size: 15px; line-height: 1.85; color: #48565c; }
.fighter-copy small,.result-card>p,.results-note { font-size: 13px; }
.league-tag,.league-callout>a,.card-top,.update-footer,.event-row strong,.result-card-top,.result-link,.results-live { font-size: 11px; }
.event-row b,.result-card>p { font-size: 14px; }
.event-row small,.result-tags span { font-size: 11px; }
.faq-list summary { font-size: 16px; line-height: 1.45; }
.faq-list details p { font-size: 14px; line-height: 1.85; }
.faq-list details>a { font-size: 12px; }
.hub-panel p,.hub-panel li,.hub-notice p,.hub-fineprint,.hub-ranking-archive>a span,.hub-ranking-archive>p,.hub-league>p,.hub-document-bar p,.hub-event-feature p,.hub-contact p { font-size: 14px; line-height: 1.8; color: #4b575d; }
.hub-panel>span,.hub-notice a,.hub-document-bar a,.hub-inline,.hub-league>a { font-size: 12px; }
.hub-steps p,.hub-event-list small,.hub-event-list span,.hub-event-tags span,.hub-league-head { font-size: 12px; }
.hub-event-feature .hub-event-tags span { color: #4f5a5f; }
.cage-features li,.cage-inquiry p { font-size: 14px; line-height: 1.76; color: #4b585f; }
.cage-calculator label,.cage-route-link,.cage-result span,.cage-calculator small { font-size: 12px; }
.cage-input-row input,.cage-calculator select { font-size: 14px; }
.rules-hero p,.downloads-hero p { font-size: 16px; color: #455259; }
.rules-hero aside small,.downloads-hero aside span,.rules-notice p,.docs-alert { font-size: 13px; line-height: 1.75; }
.rules-content>p,.rules-chapter p,.rules-chapter li { font-size: 15px; line-height: 1.86; color: #354046; }
.rules-toc-links a,.docs-filters button { font-size: 13px; line-height: 1.5; }
.docs-sidebar p,.docs-next p,.docs-toolbar input { font-size: 13px; }
.docs-count,.docs-card p,.docs-card small,.docs-card span { font-size: 12px; }
.rules-toc-footer,.docs-card a { font-size: 12px; }
.site-footer>p,.site-footer p,.site-footer .footer-entity,.site-footer .footer-bottom,.footer-contact a { font-size: 12px; line-height: 1.8; color: #4b575c; }
@media (max-width: 960px) {
  .site-header .main-nav { gap: 15px; font-size: 13px; }
  .site-header .main-nav a { padding: 7px 0; }
}
@media (max-width: 720px) {
  body { font-size: 15px; }
  .hero-lead { font-size: 16px; }
  .hero-photo-top { font-size: 8px; }
  .hero-photo-caption { font-size: 8px; }
  .section-label { gap: 10px; flex-wrap: wrap; }
  .portal-entry-head p,.hub-intro>div:last-child p { font-size: 15px; }
  .rules-content>p,.rules-chapter p,.rules-chapter li { font-size: 14px; }
  .hub-panel p,.hub-panel li { font-size: 14px; }
}

/* High-contrast footer and metadata across all public pages. Previously,
   dark-theme text colors survived on the light footer background. */
.site-footer { background: #e9eced; color: #263238; border-top-color: #c8d1d5; }
.site-footer .brand-name { color: #222c32; }
.site-footer .brand-name strong { color: #43535b; }
.site-footer>p { color: #34434b; font-size: 14px; line-height: 1.7; }
.site-footer .footer-contact a { color: #273940; font-size: 14px; line-height: 1.55; text-decoration: underline; text-decoration-color: #aebdc3; text-underline-offset: 4px; }
.site-footer .footer-contact a:hover,.site-footer .footer-contact a:focus-visible { color: #812a25; text-decoration-color: currentColor; }
.site-footer .footer-entity { color: #334149; font-size: 14px; line-height: 1.8; }
.site-footer .footer-entity strong { color: #1f2d34; font-weight: 800; }
.site-footer .footer-entity span { color: #35454d; font-weight: 550; }
.site-footer .footer-bottom,.site-footer .footer-bottom span,.site-footer .footer-bottom a { color: #3e4b52; font-size: 12px; line-height: 1.7; }
.site-footer .footer-bottom a:hover,.site-footer .footer-bottom a:focus-visible { color: #812a25; }
.updates-card .countdown span,.updates-card .card-bottom,.updates-card .card-top,.update-footer { color: #46535b; }
.updates-card .countdown span,.updates-card .countdown .count-note { font-size: 12px; line-height: 1.45; letter-spacing: .035em; }
.updates-card .card-bottom,.updates-card .count-status { font-size: 12px; letter-spacing: .025em; }
.update-footer b { color: #253139; }
.updates-card .count-status { color: #832b26; }
.site-header .brand-name strong,.site-footer .footer-brand .brand-name strong { font-size: 10px; letter-spacing: .08em; }

@media (max-width: 720px) {
  .site-footer { padding: 30px 6vw 25px; }
  .site-footer>p { margin: 16px 0 23px; }
  .site-footer .footer-contact { margin: 0 0 24px; gap: 16px 20px; }
  .site-footer .footer-contact a { font-size: 14px; min-height: 25px; }
  .site-footer .footer-entity { font-size: 14px; margin: 0 0 20px; padding: 18px 0; }
  .site-footer .footer-entity span { display: block; margin: 5px 0 0; }
  .site-footer .footer-bottom { gap: 12px; }
  .site-footer .footer-bottom span,.site-footer .footer-bottom a { font-size: 12px; letter-spacing: .025em; }
  .site-header .brand-name strong,.site-footer .footer-brand .brand-name strong { font-size: 10px; }
}
