/* ============================================================
   Первенство Москвы по волейболу — премиум-эдишнл
   ============================================================ */

:root{
  /* Palette */
  --ink: #25258E;
  --ink-2: #1E1E78;
  --ink-3: #2E2E9E;
  --surface: #ffffff;
  --surface-2: #F4F4FB;
  --surface-3: #E9E9F6;
  --gold: #EB3941;
  --gold-2: #F0484F;
  --gold-deep: #C62E35;
  --silver: #C2C3D6;
  --silver-deep: #9A9AB8;
  --bronze: #A8252A;
  --bronze-deep: #A8252A;
  --crimson: #EB3941;
  --crimson-deep: #C62E35;
  --line: #DCDCEA;
  --line-dark: #35359E;
  --text-1: #1A1A55;
  --text-2: #565683;
  --text-3: #8A8AB5;
  --text-on-dark: #E8E8F2;
  --text-on-dark-2: #8A8AB5;

  /* Typography */
  --t-display: "Inter", "Arial", sans-serif;
  --t-body: "Inter", "Arial", sans-serif;

  /* Spacing */
  --container: 1280px;
  --gutter: 24px;
  --gutter-mobile: 16px;

  /* Effects */
  --radius: 0;
  --shadow-card: 0 1px 0 var(--line), 0 8px 24px -12px rgba(10, 14, 26, 0.12);
  --shadow-hover: 0 2px 0 var(--line), 0 16px 40px -16px rgba(10, 14, 26, 0.2);
  --shadow-elevated: 0 2px 0 var(--line), 0 24px 60px -20px rgba(10, 14, 26, 0.3);
}
/* ============================================================
   Reset
   ============================================================ */
*, *::before, *::after{ box-sizing: border-box; }
html{ -webkit-text-size-adjust: 100%; }
body{
  margin: 0;
  font-family: var(--t-body);
  font-size: 15px;
  line-height: 1.55;
  color: var(--text-1);
  background: var(--surface-2);
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
img, svg{ max-width: 100%; display: block; }
a{ color: inherit; text-decoration: none; }
button{ font: inherit; cursor: pointer; border: none; background: none; padding: 0; }
ul, ol{ margin: 0; padding: 0; list-style: none; }
h1, h2, h3, h4{ margin: 0; font-family: var(--t-display); font-weight: 700; line-height: 1.05; letter-spacing: -0.01em; }
p{ margin: 0; }
table{ border-collapse: collapse; width: 100%; }
/* ============================================================
   Layout helpers
   ============================================================ */
.container{
  max-width: var(--container);
  margin: 0 auto;
  padding: 0 var(--gutter);
}
@media (max-width: 700px){.container{ padding: 0 var(--gutter-mobile); }



}
/* ============================================================
   Header
   ============================================================ */
.site-header{
  position: sticky;
  top: 0;
  z-index: 50;
  background: var(--ink);
  color: var(--text-on-dark);
  border-bottom: 1px solid var(--line-dark);
}
.header-row{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  height: 64px;
}
.brand{
  display: flex;
  align-items: center;
  gap: 12px;
  color: inherit;
}
.brand-mark{
  width: 30px; height: 38px;
  background: none;
  display: flex; align-items: center; justify-content: center;
  overflow: hidden;
}
.brand-text{ display: flex; flex-direction: column; line-height: 1.1; }
.brand-title{
  font-family: var(--t-display);
  font-weight: 700;
  font-size: 15px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.brand-sub{
  font-size: 11px;
  color: var(--text-on-dark-2);
  letter-spacing: 0.04em;
}
.top-nav{
  display: flex;
  gap: 28px;
  font-size: 13px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.top-nav a{
  color: var(--text-on-dark-2);
  position: relative;
  padding: 4px 0;
  transition: color 0.15s;
}
.top-nav a:hover{ color: var(--gold-2); }
.top-nav a.cta{
  background: var(--gold);
  color: #fff;
  padding: 8px 16px;
  font-weight: 700;
  letter-spacing: 0.1em;
  border-radius: 4px;
  transition: background 0.15s;
}
.top-nav a.cta:hover{ background: var(--gold-2); color: #fff; }
@media (max-width: 800px){.top-nav{ gap: 16px; font-size: 11px; }
.header-row{ height: 56px; }



}
/* Между 721 и 800px бургер ещё не виден, поэтому лишние пункты прячем.
   Ниже 720px бургер появляется и все пункты доступны в раскрытом меню —
   этот правил не должен их прятать. */
@media (min-width: 721px) and (max-width: 800px){.top-nav a:not(.cta):nth-child(n+3){ display: none; }

}
/* ============================================================
   Hero
   ============================================================ */
.hero{
  position: relative;
  background: var(--ink);
  color: var(--text-on-dark);
  overflow: hidden;
  padding: 80px 0 96px;
}
.hero::before{
  content: '';
  position: absolute; inset: 0;
  background-image:
    radial-gradient(circle at 20% 30%, rgba(200, 169, 81, 0.12), transparent 50%),
    radial-gradient(circle at 80% 80%, rgba(200, 16, 46, 0.08), transparent 50%);
  pointer-events: none;
}
.hero::after{
  content: '';
  position: absolute; inset: 0;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='80' height='92' viewBox='0 0 80 92'><path d='M40 2L76 23V69L40 90L4 69V23Z' fill='none' stroke='%23c8a951' stroke-opacity='0.05' stroke-width='1'/></svg>");
  background-size: 80px 92px;
  pointer-events: none;
  opacity: 0.6;
}
.hero .container{ position: relative; z-index: 1; }
.hero-eyebrow{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: var(--t-display);
  font-weight: 600;
  font-size: 12px;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  color: var(--gold-2);
  margin-bottom: 24px;
}
.hero-eyebrow::before{
  content: '';
  width: 32px; height: 2px;
  background: var(--gold);
}
.hero-eyebrow .live{
  display: inline-flex; align-items: center; gap: 6px;
  color: var(--crimson);
  font-weight: 700;
  letter-spacing: 0.2em;
}
.hero-eyebrow .live::before{
  content: '';
  width: 8px; height: 8px;
  border-radius: 50%;
  background: var(--crimson);
  animation: pulse 1.5s ease-in-out infinite;
}
/* «До старта» и «Завершён» — не эфир: точка не мигает и не красная. */
.hero-eyebrow .live.is-idle{ color: var(--gold-2); }
.hero-eyebrow .live.is-idle::before{
  background: var(--gold-2);
  animation: none;
}
@keyframes pulse{0%, 100%{ opacity: 1; transform: scale(1); }
50%{ opacity: 0.4; transform: scale(1.3); }



}
.hero-title{
  font-family: var(--t-display);
  font-weight: 700;
  font-size: clamp(48px, 9vw, 112px);
  line-height: 0.95;
  letter-spacing: -0.02em;
  text-transform: uppercase;
  color: var(--text-on-dark);
  margin-bottom: 24px;
}
.hero-title .accent{
  color: var(--gold);
  display: block;
  font-size: 0.55em;
  font-weight: 600;
  letter-spacing: 0.05em;
  margin-top: 12px;
  color: var(--gold-2);
}
.hero-sub{
  font-size: 18px;
  color: var(--text-on-dark-2);
  max-width: 600px;
  line-height: 1.5;
  margin-bottom: 40px;
}
.hero-meta{
  display: flex;
  flex-wrap: wrap;
  gap: 32px 56px;
  padding-top: 32px;
  border-top: 1px solid var(--line-dark);
}
.hero-meta-item{
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.hero-meta-label{
  font-family: var(--t-display);
  font-size: 10px;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: var(--text-on-dark-2);
  font-weight: 600;
}
.hero-meta-value{
  font-family: var(--t-display);
  font-size: 24px;
  font-weight: 600;
  color: var(--text-on-dark);
  letter-spacing: 0.02em;
}
.hero-meta-value.gold{ color: var(--gold-2); }
@media (max-width: 700px){.hero{ padding: 48px 0 56px; }
.hero-sub{ font-size: 16px; }
.hero-meta{ gap: 20px 28px; }
.hero-meta-value{ font-size: 20px; }



}
/* ============================================================
   Featured match (next big match card)
   ============================================================ */
.featured{
  position: relative;
  background: var(--ink);
  color: var(--text-on-dark);
  padding: 0 0 80px;
  margin-top: -1px;
}
.featured-grid{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 20px;
}
.featured-card{
  position: relative;
  background: linear-gradient(180deg, var(--ink-2) 0%, var(--ink) 100%);
  border: 1px solid var(--line-dark);
  border-radius: 8px;
  padding: 24px 24px;
  overflow: hidden;
  text-decoration: none;
  color: inherit;
  display: block;
  transition: border-color 0.2s, transform 0.2s;
}
.featured-card:hover{
  border-color: var(--gold);
  transform: translateY(-2px);
}
.featured-card::before{
  content: '';
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at top, rgba(200, 169, 81, 0.1), transparent 60%);
  pointer-events: none;
}
.featured-eyebrow{
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 32px;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--line-dark);
}
.featured-eyebrow-label{
  font-family: var(--t-display);
  font-size: 11px;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: var(--gold-2);
  font-weight: 600;
}
.countdown{
  display: flex;
  gap: 16px;
  align-items: baseline;
  font-family: var(--t-display);
}
.countdown-unit{
  display: flex;
  flex-direction: column;
  align-items: center;
  min-width: 56px;
}
.countdown-num{
  font-size: 36px;
  font-weight: 700;
  color: var(--text-on-dark);
  line-height: 1;
}
.countdown-label{
  font-size: 9px;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: var(--text-on-dark-2);
  margin-top: 6px;
}
.countdown-sep{
  font-size: 32px;
  color: var(--gold-2);
  line-height: 1;
}
.featured-body{
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 32px;
  align-items: center;
  margin-bottom: 28px;
}
.featured-team{
  text-align: center;
}
.featured-team.home{ text-align: right; }
.featured-team.away{ text-align: left; }
.featured-team-logo{
  width: 96px; height: 96px;
  margin: 0 auto 16px;
  background: var(--surface-2);
  color: var(--ink);
  display: flex; align-items: center; justify-content: center;
  font-family: var(--t-display);
  font-weight: 700;
  font-size: 24px;
  letter-spacing: 0.02em;
  border-radius: 8px;
  border: 2px solid var(--gold);
  white-space: nowrap;
  padding: 0 6px;
}
.featured-team.home .featured-team-logo{ margin-left: auto; }
.featured-team.away .featured-team-logo{ margin-right: auto; }
.featured-team-name{
  font-family: var(--t-display);
  font-weight: 600;
  font-size: 20px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  line-height: 1.15;
  color: var(--text-on-dark);
}
.featured-vs{
  font-family: var(--t-display);
  font-weight: 700;
  font-size: 48px;
  color: var(--gold);
  letter-spacing: 0.04em;
  text-align: center;
  opacity: 0.6;
}
.featured-foot{
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 24px;
  border-top: 1px solid var(--line-dark);
  font-size: 13px;
  color: var(--text-on-dark-2);
}
.featured-foot-info{ display: flex; gap: 24px; flex-wrap: wrap; }
.featured-foot-info b{ color: var(--text-on-dark); font-weight: 600; }
.featured-foot-cta{
  font-family: var(--t-display);
  font-weight: 600;
  font-size: 12px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--gold-2);
  display: inline-flex; align-items: center; gap: 8px;
}
.featured-foot-cta::after{ content: '→'; }
@media (max-width: 800px){.featured-card{ padding: 28px 20px; }
.featured-body{ grid-template-columns: 1fr; gap: 24px; }
.featured-team.home, .featured-team.away{ text-align: center; }
.featured-team.home .featured-team-logo, .featured-team.away .featured-team-logo{ margin: 0 auto 16px; }
.featured-team-name{ font-size: 16px; }
.featured-vs{ font-size: 32px; }
.featured-eyebrow{ flex-direction: column; align-items: flex-start; gap: 20px; }
.countdown{ gap: 8px; }
.countdown-unit{ min-width: 44px; }
.countdown-num{ font-size: 28px; }
.featured-foot{ flex-direction: column; align-items: flex-start; gap: 16px; }



}
/* ============================================================
   Section
   ============================================================ */
.section{
  padding: 80px 0;
  background: var(--surface-2);
}
.section.alt{
  background: var(--surface);
}
.section.dark{
  background: var(--ink);
  color: var(--text-on-dark);
}
.section-head{
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 40px;
  padding-bottom: 24px;
  border-bottom: 1px solid var(--line);
}
.section.dark .section-head{ border-bottom-color: var(--line-dark); }
.section-title{
  font-family: var(--t-display);
  font-weight: 700;
  font-size: clamp(28px, 4vw, 40px);
  text-transform: uppercase;
  letter-spacing: 0.02em;
  line-height: 1;
  color: var(--text-1);
  display: flex;
  align-items: baseline;
  gap: 16px;
}
.section.dark .section-title{ color: var(--text-on-dark); }
.section-num{
  font-family: var(--t-display);
  font-size: 14px;
  font-weight: 600;
  color: var(--gold-deep);
  letter-spacing: 0.2em;
  /* номер раздела не должен разваливаться на две строки («0» над «1») */
  white-space: nowrap;
  flex: none;
}
.section.dark .section-num{ color: var(--gold-2); }
.section-eyebrow{
  font-family: var(--t-display);
  font-size: 11px;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: var(--gold-deep);
  font-weight: 600;
  margin-bottom: 12px;
}
.section.dark .section-eyebrow{ color: var(--gold-2); }
.section-link{
  font-family: var(--t-display);
  font-weight: 600;
  font-size: 12px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--text-1);
  display: inline-flex; align-items: center; gap: 8px;
  padding-bottom: 4px;
  border-bottom: 2px solid var(--ink);
}
.section.dark .section-link{
  color: var(--gold-2);
  border-bottom-color: var(--gold);
}
.section-link{ white-space: nowrap; flex: 0 0 auto; }
.section-link::after{ content: '→'; margin-left: 6px; }
@media (max-width: 700px){.section{ padding: 56px 0; }
.section-head{ margin-bottom: 28px; }



}
/* ============================================================
   Today / live strip
   ============================================================ */
.today-strip{
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 24px;
  padding: 28px 32px;
  background: var(--surface);
  border: 1px solid var(--line);
  border-left: 4px solid var(--crimson);
  box-shadow: var(--shadow-card);
}
.today-strip.rest{ border-left-color: var(--text-3); }
.today-eyebrow{
  font-family: var(--t-display);
  font-size: 11px;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: var(--gold-deep);
  font-weight: 600;
  margin-bottom: 8px;
}
.today-label{
  font-family: var(--t-display);
  font-size: 11px;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: var(--text-3);
  font-weight: 600;
}
.today-date{
  font-family: var(--t-display);
  font-size: 28px;
  font-weight: 600;
  color: var(--text-1);
  letter-spacing: 0.02em;
  line-height: 1;
  margin-top: 4px;
}
.today-content{ font-size: 16px; color: var(--text-2); }
.today-content b{ color: var(--text-1); font-weight: 600; }
.today-cta{
  display: inline-flex; align-items: center; gap: 8px;
  font-family: var(--t-display);
  font-weight: 600;
  font-size: 12px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--crimson);
  margin-top: 8px;
}
@media (max-width: 700px){.today-strip{ grid-template-columns: 1fr; padding: 20px; gap: 16px; }
.today-date{ font-size: 22px; }



}
/* ============================================================
   Match list (schedule + results)
   ============================================================ */
.match-list{ display: flex; flex-direction: column; }
.match-row{
  display: grid;
  grid-template-columns: 110px minmax(0, 1.6fr) auto;
  align-items: center;
  gap: 24px;
  padding: 16px 4px;
  border-bottom: 1px solid var(--line);
  color: var(--text-1);
  transition: background 0.15s, padding 0.15s;
  min-height: 96px;
}
.section.dark .match-row{
  border-bottom-color: var(--line-dark);
  color: var(--text-on-dark);
}
.match-row:hover{ background: var(--surface-3); }
.section.dark .match-row:hover{ background: var(--ink-2); }
.m-meta{
  display: flex;
  flex-direction: column;
  gap: 2px;
  font-family: var(--t-display);
  font-size: 13px;
  color: var(--text-2);
  font-weight: 500;
  letter-spacing: 0.04em;
}
.m-no{
  font-size: 11px;
  color: var(--text-3);
  font-weight: 600;
  letter-spacing: 0.1em;
}
.m-date{ font-size: 16px; font-weight: 600; color: var(--text-1); }
.section.dark .m-date{ color: var(--text-on-dark); }
.m-time{ font-size: 12px; color: var(--text-2); letter-spacing: 0.05em; }
.section.dark .m-time{ color: var(--text-on-dark-2); }
.m-teams{ display: flex; flex-direction: column; gap: 4px; }
.m-team{ font-size: 14px; color: var(--text-1); font-weight: 500; }
.m-meta-chip{
  display: inline-block;
  margin-top: 4px;
  padding: 2px 8px;
  background: var(--surface-2);
  border: 1px solid var(--line);
  border-radius: 4px;
  font-size: 11px;
  font-weight: 600;
  color: var(--text-2);
  letter-spacing: 0.02em;
  align-self: flex-start;
  white-space: nowrap;
}
.section.dark .m-team{ color: var(--text-on-dark); }
.m-info{
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 6px;
  text-align: right;
  min-width: 320px;
}
.m-where{
  font-size: 11px;
  color: var(--text-2);
  letter-spacing: 0.02em;
  text-transform: uppercase;
  font-weight: 600;
  max-width: 280px;
  line-height: 1.3;
  word-break: break-word;
  hyphens: auto;
}
.section.dark .m-where{ color: var(--text-on-dark-2); }
.m-where:empty{ display: none; }
.m-score{
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 10px;
}
.m-score-big{
  font-family: var(--t-display);
  font-weight: 700;
  font-size: 24px;
  color: var(--crimson);
  letter-spacing: 0.02em;
  min-width: 64px;
  text-align: center;
}
.m-score-big.empty{ color: var(--text-3); font-weight: 500; font-size: 20px; }
.m-sets{
  display: inline-flex;
  gap: 4px;
}
.m-set{
  background: var(--surface-3);
  padding: 4px 8px;
  border-radius: 3px;
  min-width: 42px;
  text-align: center;
  font-family: var(--t-display);
  font-weight: 700;
  font-size: 13px;
  color: var(--crimson);
  letter-spacing: 0.01em;
}
.section.dark .m-set{ background: var(--ink-3); color: var(--crimson-2); }
.m-set.empty{ opacity: 0.30; color: var(--text-3); }
.section.dark .m-set.empty{ color: var(--text-on-dark-2); opacity: 0.4; }
.reschedule{
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--gold-deep);
  font-family: var(--t-display);
}
.match-row.compact{
  grid-template-columns: 100px minmax(0, 1fr) auto;
  gap: 16px;
  padding: 10px 4px;
  min-height: 0;
}
.match-row.compact .m-where{ display: none; }
.match-row.compact .m-info{ min-width: 0; gap: 4px; }
@media (max-width: 800px){.match-row{ grid-template-columns: 90px 1fr; gap: 16px; padding: 14px 0; min-height: 0; }
.match-row .m-info{ min-width: 0; grid-column: 1 / -1; align-items: flex-start; text-align: left; }
.match-row .m-where{ max-width: 100%; }
.match-row .m-score{ flex-direction: row; align-items: center; gap: 8px; flex-wrap: wrap; }
.match-row .m-set{ min-width: 36px; padding: 3px 6px; font-size: 12px; }
.match-row.compact{ grid-template-columns: 80px 1fr; }



}
/* ============================================================
   Group cards
   ============================================================ */
.group-grid{
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}
@media (max-width: 800px){.group-grid{ grid-template-columns: 1fr; }



}
.group-card{
  position: relative;
  display: block;
  background: var(--surface);
  border: 1px solid var(--line);
  padding: 24px 24px 20px;
  box-shadow: var(--shadow-card);
  transition: transform 0.18s, box-shadow 0.18s;
  overflow: hidden;
}
.group-card::before{
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 4px;
  background: var(--ink);
}
.group-card[data-gender="ж"]::before{ background: var(--crimson); }
.group-card[data-gender="м"]::before{ background: var(--ink); }
.group-card:hover{
  transform: translateY(-2px);
  box-shadow: var(--shadow-hover);
}
.gc-head{
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 18px;
}
.gc-emoji{
  width: 48px; height: 48px;
  background: var(--surface-3);
  color: var(--ink);
  display: flex; align-items: center; justify-content: center;
  font-size: 24px;
  border-radius: 4px;
  flex-shrink: 0;
}
.group-card[data-gender="ж"] .gc-emoji{ background: var(--crimson); color: #fff; }
.group-card[data-gender="м"] .gc-emoji{ background: var(--ink); color: #fff; }
.gc-title{
  flex: 1;
  font-family: var(--t-display);
  font-weight: 600;
  font-size: 16px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--text-1);
  line-height: 1.1;
}
.gc-title small{
  display: block;
  font-family: var(--t-display);
  font-weight: 600;
  font-size: 11px;
  letter-spacing: 0.25em;
  color: var(--gold-deep);
  text-transform: uppercase;
  margin-bottom: 4px;
}
.gc-stats{
  display: flex;
  gap: 16px;
  font-size: 11px;
  color: var(--text-2);
  letter-spacing: 0.05em;
  margin-bottom: 16px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--line);
}
.gc-stats b{ color: var(--text-1); font-family: var(--t-display); font-weight: 700; font-size: 14px; }
.gc-leaders{
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-size: 12px;
}
.gc-leader{
  display: grid;
  grid-template-columns: 24px 1fr auto;
  align-items: center;
  gap: 10px;
  padding: 4px 0;
}
.gc-leader-pl{
  font-family: var(--t-display);
  font-weight: 700;
  font-size: 14px;
  color: var(--text-3);
  text-align: center;
  letter-spacing: 0.02em;
}
.gc-leader.pl-1 .gc-leader-pl{ color: var(--gold-deep); }
.gc-leader.pl-2 .gc-leader-pl{ color: var(--silver-deep); }
.gc-leader.pl-3 .gc-leader-pl{ color: var(--bronze-deep); }
.gc-leader-nm{
  color: var(--text-1);
  font-weight: 600;
  font-size: 12.5px;
  line-height: 1.25;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.gc-leader-pts{
  font-family: var(--t-display);
  font-weight: 700;
  font-size: 14px;
  color: var(--crimson);
}
.gc-foot{
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid var(--line);
  font-family: var(--t-display);
  font-size: 11px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--text-2);
  font-weight: 600;
}
.gc-foot::after{ content: '→'; color: var(--ink); }
/* ============================================================
   Standings (group page)
   ============================================================ */
.standings-wrap{
  background: var(--surface);
  border: 1px solid var(--line);
  box-shadow: var(--shadow-card);
  overflow: hidden;
}
table.standings{
  font-size: 14px;
  width: 100%;
}
table.standings th, table.standings td{
  padding: 14px 16px;
  text-align: left;
  border-bottom: 1px solid var(--line);
}
table.standings th{
  font-family: var(--t-display);
  font-size: 10px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--text-3);
  font-weight: 700;
  background: var(--surface-3);
  border-bottom: 1px solid var(--line);
}
table.standings td.pl{
  font-family: var(--t-display);
  font-weight: 700;
  font-size: 18px;
  color: var(--text-3);
  text-align: center;
  width: 56px;
}
table.standings tr.pl-1 td.pl{ color: var(--gold-deep); background: rgba(200, 169, 81, 0.08); }
table.standings tr.pl-2 td.pl{ color: var(--silver-deep); background: rgba(37, 37, 142, 0.04); }
table.standings tr.pl-3 td.pl{ color: var(--bronze-deep); background: rgba(37, 37, 142, 0.06); }
table.standings td.nm{
  font-weight: 600;
  color: var(--text-1);
  display: flex; align-items: center; gap: 10px;
}
.team-logo{
  width: 28px; height: 28px;
  background: var(--ink);
  color: #fff;
  display: inline-flex; align-items: center; justify-content: center;
  font-family: var(--t-display);
  font-weight: 700;
  font-size: 11px;
  letter-spacing: 0.02em;
  border-radius: 3px;
  flex-shrink: 0;
}
table.standings tr.pl-1 .team-logo{ background: var(--crimson); color: #fff; }
table.standings tr.pl-2 .team-logo{ background: var(--ink-3); color: #fff; }
table.standings tr.pl-3 .team-logo{ background: var(--ink-2); color: #fff; }
table.standings td.pts{ font-family: var(--t-display); font-weight: 700; font-size: 18px; color: var(--crimson); text-align: right; width: 80px; }
table.standings td.r{ text-align: right; font-family: var(--t-display); color: var(--text-2); font-weight: 500; }
table.standings tr:last-child td{ border-bottom: none; }
@media (max-width: 700px){table.standings th:nth-child(3), table.standings td:nth-child(3),
  table.standings th:nth-child(4), table.standings td:nth-child(4){ display: none; }



}
/* ============================================================
   Round block
   ============================================================ */
.round-block{ margin-bottom: 32px; }
.round-block:last-child{ margin-bottom: 0; }
.round-title{
  font-family: var(--t-display);
  font-weight: 600;
  font-size: 22px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--text-1);
  margin-bottom: 16px;
  display: flex;
  align-items: center;
  gap: 16px;
}
.round-title::before{
  content: '';
  width: 24px; height: 2px;
  background: var(--crimson);
  display: inline-block;
}
.round-title small{
  font-family: var(--t-body);
  font-weight: 500;
  font-size: 12px;
  color: var(--text-3);
  letter-spacing: 0.05em;
  text-transform: none;
}
.round-block .match-list{
  background: var(--surface);
  border: 1px solid var(--line);
  box-shadow: var(--shadow-card);
  padding: 0 20px;
}
.round-block .match-row{ border-bottom: 1px solid var(--line); }
.round-block .match-row:last-child{ border-bottom: none; }
@media (max-width: 700px){.round-block .match-list{ padding: 0 14px; }



}
/* ============================================================
   Group hero
   ============================================================ */
.group-hero{
  background: var(--ink);
  color: var(--text-on-dark);
  padding: 56px 0 64px;
  position: relative;
  overflow: hidden;
}
.group-hero::before{
  content: '';
  position: absolute; inset: 0;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='80' height='92' viewBox='0 0 80 92'><path d='M40 2L76 23V69L40 90L4 69V23Z' fill='none' stroke='%23c8a951' stroke-opacity='0.04' stroke-width='1'/></svg>");
  background-size: 80px 92px;
  pointer-events: none;
}
.group-hero .container{ position: relative; z-index: 1; }
.breadcrumbs{
  font-family: var(--t-display);
  font-size: 11px;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: var(--text-on-dark-2);
  font-weight: 600;
  margin-bottom: 24px;
}
.breadcrumbs a{ color: var(--gold-2); }
.breadcrumbs a:hover{ color: var(--gold); }
.group-title{
  font-family: var(--t-display);
  font-weight: 700;
  font-size: clamp(40px, 6vw, 72px);
  text-transform: uppercase;
  letter-spacing: 0.01em;
  line-height: 0.95;
  color: var(--text-on-dark);
  margin-bottom: 24px;
  display: flex;
  align-items: center;
  gap: 24px;
}
.group-title .gc-emoji{
  width: 72px; height: 72px;
  font-size: 40px;
}
.group-title small{
  display: block;
  font-family: var(--t-display);
  font-weight: 500;
  font-size: 12px;
  letter-spacing: 0.3em;
  color: var(--gold-2);
  margin-bottom: 8px;
}
.group-meta{
  display: flex;
  gap: 40px;
  padding-top: 24px;
  border-top: 1px solid var(--line-dark);
  flex-wrap: wrap;
}
.group-meta-item{ display: flex; flex-direction: column; gap: 4px; }
.group-meta-item .lbl{
  font-family: var(--t-display);
  font-size: 10px;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: var(--text-on-dark-2);
  font-weight: 600;
}
.group-meta-item .val{
  font-family: var(--t-display);
  font-weight: 600;
  font-size: 22px;
  color: var(--text-on-dark);
  letter-spacing: 0.02em;
}
/* ============================================================
   Footer
   ============================================================ */
.site-footer{
  background: var(--ink);
  color: var(--text-on-dark);
  padding: 56px 0 32px;
  border-top: 4px solid var(--gold);
}
.footer-grid{
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: 40px;
  margin-bottom: 40px;
}
.footer-brand{ max-width: 320px; }
.footer-brand .brand{ margin-bottom: 16px; }
.footer-tagline{
  font-size: 13px;
  color: var(--text-on-dark-2);
  line-height: 1.5;
}
.footer-col h4{
  font-family: var(--t-display);
  font-weight: 600;
  font-size: 11px;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: var(--gold-2);
  margin-bottom: 16px;
}
.footer-col ul li{ margin-bottom: 10px; }
.footer-col a{
  font-size: 13px;
  color: var(--text-on-dark-2);
  transition: color 0.15s;
}
.footer-col a:hover{ color: var(--gold-2); }
.footer-bottom{
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 24px;
  border-top: 1px solid var(--line-dark);
  font-size: 12px;
  color: var(--text-on-dark-2);
  letter-spacing: 0.04em;
  flex-wrap: wrap;
  gap: 12px;
}
@media (max-width: 800px){.footer-grid{ grid-template-columns: 1fr 1fr; gap: 32px; }
.footer-brand{ max-width: 100%; grid-column: 1 / -1; }



}
@media (max-width: 500px){.footer-grid{ grid-template-columns: 1fr; }



}
/* ============================================================
   Misc
   ============================================================ */
.empty{
  text-align: center;
  padding: 40px 20px;
  color: var(--text-3);
  font-style: italic;
  background: var(--surface);
  border: 1px dashed var(--line);
}
.empty a{ color: var(--crimson); font-weight: 600; }
.news-grid{
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr;
  gap: 24px;
}
.news-card{
  background: var(--surface);
  border: 1px solid var(--line);
  box-shadow: var(--shadow-card);
  display: block;
  transition: transform 0.18s, box-shadow 0.18s;
}
.news-card:hover{ transform: translateY(-2px); box-shadow: var(--shadow-hover); }
.news-card.featured{
  grid-row: span 2;
  background: var(--ink);
  color: var(--text-on-dark);
  border: none;
}
.news-card-img{
  aspect-ratio: 16/10;
  background: linear-gradient(135deg, var(--ink-2), var(--ink-3));
  display: flex; align-items: center; justify-content: center;
  position: relative;
  overflow: hidden;
}
.news-card.featured .news-card-img{ aspect-ratio: 4/3; }
.news-card-img::after{
  content: '';
  position: absolute; inset: 0;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='80' height='92' viewBox='0 0 80 92'><path d='M40 2L76 23V69L40 90L4 69V23Z' fill='none' stroke='%23c8a951' stroke-opacity='0.15' stroke-width='1'/></svg>");
  background-size: 60px 70px;
}
.news-card-img .score-overlay{
  position: relative;
  z-index: 1;
  font-family: var(--t-display);
  font-weight: 700;
  font-size: 56px;
  color: var(--gold-2);
  letter-spacing: 0.02em;
  text-align: center;
}
.news-card-img .score-overlay small{
  display: block;
  font-size: 11px;
  letter-spacing: 0.3em;
  color: var(--text-on-dark-2);
  text-transform: uppercase;
  margin-top: 8px;
  font-weight: 600;
}
.news-card-body{ padding: 16px 20px 20px; }
.news-card-eyebrow{
  font-family: var(--t-display);
  font-size: 10px;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: var(--crimson);
  font-weight: 600;
  margin-bottom: 8px;
}
.news-card.featured .news-card-eyebrow{ color: var(--gold-2); }
.news-card-title{
  font-family: var(--t-display);
  font-weight: 600;
  font-size: 16px;
  line-height: 1.2;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  color: var(--text-1);
}
.news-card.featured .news-card-title{ font-size: 22px; color: var(--text-on-dark); }
.news-card-meta{
  display: flex;
  gap: 12px;
  margin-top: 10px;
  font-size: 12px;
  color: var(--text-2);
}
.news-card.featured .news-card-meta{ color: var(--text-on-dark-2); }
@media (max-width: 800px){.news-grid{ grid-template-columns: 1fr; }
.news-card.featured{ grid-row: auto; }



}
/* ============================================================
   Standings-preview (top-6 on home)
   ============================================================ */
.leaders-list{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  background: var(--surface);
  border: 1px solid var(--line);
  box-shadow: var(--shadow-card);
}
.leaders-list > div{
  padding: 24px 24px;
  border-right: 1px solid var(--line);
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.leaders-list > div:last-child{ border-right: none; }
.leader-card-eyebrow{
  font-family: var(--t-display);
  font-size: 10px;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: var(--text-3);
  font-weight: 600;
}
.leader-card-num{
  font-family: var(--t-display);
  font-weight: 700;
  font-size: 64px;
  line-height: 1;
  letter-spacing: -0.02em;
  color: var(--text-1);
}
.leader-card-num.gold{ color: var(--gold-deep); }
.leader-card-team{
  font-family: var(--t-display);
  font-weight: 600;
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--text-1);
  line-height: 1.2;
}
.leader-card-pts{
  font-size: 12px;
  color: var(--text-2);
  margin-top: auto;
  display: flex;
  align-items: baseline;
  gap: 6px;
}
.leader-card-pts b{
  font-family: var(--t-display);
  font-weight: 700;
  font-size: 20px;
  color: var(--crimson);
}
@media (max-width: 800px){.leaders-list{ grid-template-columns: 1fr; }
.leaders-list > div{ border-right: none; border-bottom: 1px solid var(--line); }
.leaders-list > div:last-child{ border-bottom: none; }



}
/* ============================================================
   Round-strip (horizontal rounds)
   ============================================================ */
.round-strip{
  display: flex;
  gap: 0;
  overflow-x: auto;
  border: 1px solid var(--line);
  background: var(--surface);
  box-shadow: var(--shadow-card);
}
.round-chip{
  flex: 1;
  min-width: 120px;
  padding: 20px 16px;
  text-align: center;
  border-right: 1px solid var(--line);
  background: var(--surface);
  display: flex;
  flex-direction: column;
  gap: 4px;
  align-items: center;
  color: var(--text-1);
  transition: background 0.15s;
}
.round-chip:last-child{ border-right: none; }
.round-chip:hover{ background: var(--surface-3); }
.round-chip.is-current{
  background: var(--ink);
  color: var(--gold-2);
}
.round-chip.is-current .rc-num{ color: var(--gold-2); }
.round-chip.is-current .rc-meta{ color: var(--text-on-dark-2); }
.rc-num{
  font-family: var(--t-display);
  font-weight: 700;
  font-size: 28px;
  letter-spacing: 0.02em;
  line-height: 1;
  color: var(--text-1);
}
.rc-label{
  font-family: var(--t-display);
  font-size: 10px;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: var(--text-3);
  font-weight: 600;
}
.rc-meta{
  font-size: 11px;
  color: var(--text-2);
  margin-top: 4px;
}
.rc-meta b{ color: var(--crimson); font-weight: 700; }
/* ============================================================
   Big-stats (championship numbers)
   ============================================================ */
.stats-grid{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid var(--line-dark);
  border-bottom: 1px solid var(--line-dark);
}
.stat-cell{
  padding: 32px 0;
  text-align: center;
  border-right: 1px solid var(--line-dark);
}
.stat-cell:last-child{ border-right: none; }
.stat-num{
  font-family: var(--t-display);
  font-weight: 700;
  font-size: 56px;
  line-height: 1;
  color: var(--gold-2);
  letter-spacing: -0.01em;
}
.stat-lbl{
  font-family: var(--t-display);
  font-size: 10px;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: var(--text-on-dark-2);
  font-weight: 600;
  margin-top: 8px;
}
@media (max-width: 700px){.stats-grid{ grid-template-columns: repeat(2, 1fr); }
.stat-cell:nth-child(2){ border-right: none; }
.stat-cell:nth-child(1), .stat-cell:nth-child(2){ border-bottom: 1px solid var(--line-dark); }
.stat-num{ font-size: 40px; }



}
/* ============================================================
   Sponsors strip (footer)
   ============================================================ */
.sponsors{
  display: flex;
  gap: 32px;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  padding: 24px 0;
  border-top: 1px solid var(--line-dark);
  border-bottom: 1px solid var(--line-dark);
  margin-bottom: 32px;
}
.sponsors-label{
  font-family: var(--t-display);
  font-size: 10px;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: var(--text-on-dark-2);
  font-weight: 600;
}
.sponsor{
  font-family: var(--t-display);
  font-weight: 700;
  font-size: 16px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--text-on-dark);
  opacity: 0.8;
}
/* ============================================================
   Club pages
   ============================================================ */
.club-hero{
  position: relative;
  background: var(--ink);
  color: var(--text-on-dark);
  padding: 80px 0 56px;
  overflow: hidden;
}
.club-hero::before{
  content: "";
  position: absolute;
  inset: 0;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='60' height='52' viewBox='0 0 60 52'><polygon points='30,1 58,16 58,36 30,51 2,36 2,16' fill='none' stroke='%23ffffff10'/></svg>");
  background-size: 60px 52px;
  pointer-events: none;
  opacity: 0.5;
}
.club-hero .container{ position: relative; z-index: 1; }
.club-title{
  font-family: var(--t-display);
  font-weight: 700;
  font-size: 56px;
  line-height: 1.05;
  margin: 16px 0 24px;
  letter-spacing: -0.01em;
  display: flex;
  align-items: center;
  gap: 20px;
}
.club-hero-emoji{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 88px; height: 88px;
  background: var(--gold);
  color: #fff;
  font-size: 48px;
  border-radius: 16px;
  box-shadow: 0 6px 24px rgba(245, 184, 0, 0.4);
}
.club-hero .breadcrumbs{ color: var(--text-on-dark-2); }
.club-hero .breadcrumbs a{ color: var(--gold); }
/* Club teams grid */
.club-teams{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(360px, 1fr));
  gap: 16px;
  margin-top: 24px;
}
.club-teams.is-single{ grid-template-columns: 1fr; }
.club-team{
  display: flex;
  align-items: flex-start;
  gap: 20px;
  padding: 24px 28px;
  background: var(--surface);
  border: 1px solid var(--line);
  border-left: 4px solid var(--gold);
  border-radius: 8px;
  box-shadow: var(--shadow-card);
  min-width: 0;
}
.club-team-logo{
  display: flex; align-items: center; justify-content: center;
  width: 56px; height: 56px;
  background: var(--ink);
  color: var(--gold);
  font-family: var(--t-display);
  font-weight: 700; font-size: 18px;
  border-radius: 8px;
  flex-shrink: 0;
}
.club-team-body{ flex: 1; min-width: 0; }
.club-team-name{
  font-weight: 600;
  font-size: 16px;
  color: var(--text-1);
  margin-bottom: 8px;
}
.club-team-groups{ display: flex; flex-wrap: wrap; gap: 6px; }
.chip{
  display: inline-block;
  padding: 4px 10px;
  font-size: 11px;
  font-family: var(--t-display);
  letter-spacing: 0.1em;
  background: var(--bg-1);
  color: var(--text-2);
  border: 1px solid var(--line);
  border-radius: 999px;
  text-decoration: none;
  transition: all 0.2s;
}
.chip:hover{ background: var(--gold); color: #fff; border-color: var(--gold); }
/* Clubs grid on index */
.clubs-grid{
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 12px;
  margin-top: 24px;
}
.clubs-grid.is-hub{
  grid-template-columns: repeat(auto-fill, minmax(360px, 1fr));
}
.club-card{
  display: block;
  padding: 20px;
  background: var(--surface);
  border: 1px solid var(--line);
  border-left: 4px solid var(--crimson);
  border-radius: 8px;
  box-shadow: var(--shadow-card);
  text-decoration: none;
  color: var(--text-1);
  transition: all 0.2s;
}
.club-card:hover{ transform: translateY(-2px); box-shadow: 0 8px 24px rgba(0,0,0,0.12); border-left-color: var(--gold); }
.club-card-name{
  font-family: var(--t-display);
  font-weight: 700;
  font-size: 16px;
  color: var(--text-1);
  margin-bottom: 12px;
  line-height: 1.25;
}
.club-card-stats{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
  text-align: center;
}
.club-card-stats > div{ display: flex; flex-direction: column; }
.club-card-stats b{
  font-family: var(--t-display);
  font-weight: 700;
  font-size: 18px;
  color: var(--text-1);
}
.club-card-stats span{
  font-size: 9px;
  font-family: var(--t-display);
  text-transform: uppercase;
  letter-spacing: 0.15em;
  color: var(--text-3);
  margin-top: 2px;
}
/* Filter bar */
.club-filters{
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 20px 24px;
  margin: 24px 0;
  display: flex;
  flex-wrap: wrap;
  gap: 16px 24px;
  align-items: center;
}
.filter-row{
  display: flex;
  align-items: center;
  gap: 12px;
}
.filter-row-meta{ margin-left: auto; }
.filter-label{
  font-family: var(--t-display);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: var(--text-3);
}
.filter-select{
  padding: 8px 14px;
  font-size: 14px;
  font-family: inherit;
  background: var(--bg-1);
  border: 1px solid var(--line);
  border-radius: 6px;
  color: var(--text-1);
  cursor: pointer;
  min-width: 200px;
}
.filter-select:focus{ outline: 2px solid var(--gold); }
.filter-pills{ display: flex; gap: 4px; }
.pill{
  padding: 6px 14px;
  font-size: 12px;
  font-family: var(--t-display);
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  background: var(--bg-1);
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--text-2);
  cursor: pointer;
  transition: all 0.15s;
}
.pill:hover{ color: var(--text-1); }
.pill.active{ background: var(--ink); color: #fff; border-color: var(--ink); }
.filter-count{
  font-size: 12px;
  font-family: var(--t-display);
  color: var(--text-2);
  font-weight: 600;
}
.filter-reset{
  padding: 6px 14px;
  font-size: 11px;
  font-family: var(--t-display);
  font-weight: 600;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  background: transparent;
  border: 1px solid var(--crimson);
  color: var(--crimson);
  border-radius: 4px;
  cursor: pointer;
}
.filter-reset:hover{ background: var(--crimson); color: white; }
/* Club section blocks */
.club-section{ margin-bottom: 32px; }
.club-section-title{
  font-family: var(--t-display);
  font-weight: 700;
  font-size: 18px;
  margin: 24px 0 12px;
  color: var(--text-1);
  letter-spacing: 0.02em;
}
.empty{
  padding: 24px;
  text-align: center;
  color: var(--text-3);
  font-style: italic;
  background: var(--bg-1);
  border-radius: 8px;
  border: 1px dashed var(--line);
}
/* Match row variants for club pages */
.match-row .match-date{
  display: flex; flex-direction: column; align-items: center; min-width: 56px;
  padding: 4px 8px;
  background: var(--bg-1);
  border-radius: 6px;
}
.match-row .match-date .d{ font-family: var(--t-display); font-weight: 700; font-size: 14px; color: var(--text-1); }
.match-row .match-date .wd{ font-size: 10px; color: var(--text-3); margin-top: 2px; }
.match-row .match-teams{ flex: 1; font-size: 14px; min-width: 0; }
.match-row .match-teams .club-self{ font-weight: 700; color: var(--text-1); }
.match-row .match-teams .club-opp{ color: var(--text-2); margin-left: 4px; }
.match-row .match-teams .vs{ color: var(--text-3); margin: 0 6px; }
.match-row .match-teams .rescheduled{ color: var(--crimson); font-size: 12px; }
.match-row .match-meta{ display: flex; gap: 6px; flex-wrap: wrap; align-items: center; }
.match-row .round-chip{
  display: inline-block;
  padding: 2px 8px;
  background: var(--ink);
  color: var(--gold);
  font-family: var(--t-display);
  font-weight: 600;
  font-size: 10px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  border-radius: 4px;
}
.match-row .group-chip{
  display: inline-block;
  padding: 2px 8px;
  background: var(--bg-1);
  color: var(--text-2);
  font-size: 11px;
  font-family: var(--t-display);
  border: 1px solid var(--line);
  border-radius: 4px;
}
.match-row .match-score{
  font-family: var(--t-display);
  font-weight: 700;
  font-size: 16px;
  padding: 4px 10px;
  border-radius: 4px;
  min-width: 56px; text-align: center;
}
.match-row .match-score.win{ background: var(--crimson); color: white; }
.match-row .match-score.loss{ background: var(--bg-1); color: var(--text-3); }
.match-row .match-score.none{ background: var(--bg-1); color: var(--text-3); }
@media (max-width: 760px){.club-title{ font-size: 36px; }
.club-hero-emoji{ width: 64px; height: 64px; font-size: 32px; }
.club-filters{ padding: 16px; gap: 12px; }
.filter-row{ flex-direction: column; align-items: flex-start; gap: 6px; width: 100%; }
.filter-select{ min-width: 0; width: 100%; }
.filter-pills{ width: 100%; overflow-x: auto; }
.filter-row-meta{ width: 100%; flex-direction: row; justify-content: space-between; }



}
/* Club hub page cards (larger) and mini cards (in "Other clubs") */
.club-card-hub{
  display: flex;
  align-items: flex-start;
  gap: 20px;
  padding: 24px 28px;
  border-left-width: 4px;
}
.club-card-logo{
  display: flex; align-items: center; justify-content: center;
  width: 64px; height: 64px;
  background: var(--ink);
  color: var(--gold);
  font-family: var(--t-display);
  font-weight: 700; font-size: 20px;
  border-radius: 8px;
  flex-shrink: 0;
}
.club-card-body{ flex: 1; min-width: 0; }
.club-card-hub .club-card-name{ font-size: 18px; margin-bottom: 12px; }
.club-card-hub .club-card-stats{ grid-template-columns: repeat(4, 1fr); }
.club-card-mini{
  padding: 16px 20px;
}
.club-card-mini .club-card-name{ font-size: 14px; margin-bottom: 8px; }
.club-card-mini .club-card-stats{ grid-template-columns: repeat(2, 1fr); gap: 4px; }
.club-card-mini .club-card-stats b{ font-size: 16px; }
.club-card-mini .club-card-stats span{ font-size: 9px; }
/* ===================================================================
   Spru 12-feature additions: nav burger, page-hero, team page,
   round / day / calendar pages, is-mine highlight, sparkline, print.
   =================================================================== */

/* --- Nav burger (mobile) ------------------------------------------- */
.nav-burger{
  display: none;
  background: transparent;
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 6px;
  padding: 8px 10px;
  cursor: pointer;
  flex-direction: column;
  gap: 4px;
  margin-left: auto;
  -webkit-tap-highlight-color: transparent;
}
.nav-burger span{
  display: block;
  width: 22px; height: 2px;
  /* Шапка тёмная: полоски были цвета --ink и были на ней не видны,
     кнопка выглядела пустым контуром. */
  background: var(--text-on-dark);
  border-radius: 1px;
  transition: transform .18s ease, opacity .18s ease;
}
.nav-burger.is-open span:nth-child(1){ transform: translateY(6px) rotate(45deg); }
.nav-burger.is-open span:nth-child(2){ opacity: 0; }
.nav-burger.is-open span:nth-child(3){ transform: translateY(-6px) rotate(-45deg); }
/* --- Page hero (round / day / calendar / team) --------------------- */
.page-hero{
  position: relative;
  background: linear-gradient(180deg, #1A1A55 0%, #11152a 100%);
  color: var(--text-on-dark);
  padding: 60px 0 48px;
  overflow: hidden;
}
.page-hero::before{
  content: '';
  position: absolute; inset: 0;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><polygon points='50,3 95,28 95,72 50,97 5,72 5,28' fill='none' stroke='%23c8a951' stroke-width='1' opacity='0.05'/></svg>");
  background-size: 80px 80px;
  opacity: 0.6;
  pointer-events: none;
}
.page-hero > .container{ position: relative; }
.page-hero .breadcrumbs{
  font-family: var(--t-body);
  font-size: 13px;
  color: var(--gold);
  letter-spacing: .02em;
  margin-bottom: 18px;
  text-transform: uppercase;
}
.page-hero .breadcrumbs a{ color: var(--text-2); text-decoration: none; }
.page-hero .breadcrumbs a:hover{ color: var(--gold); }
.page-hero .breadcrumbs span:not(:last-child)::after{ content: ' · '; opacity: .5; }
.page-hero-title{
  font-family: var(--t-display);
  font-weight: 700;
  font-size: clamp(36px, 7vw, 72px);
  line-height: 1;
  letter-spacing: -.01em;
  margin: 0 0 12px;
  color: var(--text-on-dark);
}
.page-hero-sub{
  font-family: var(--t-body);
  font-size: 16px;
  color: var(--text-2);
  margin: 0 0 28px;
  max-width: 60ch;
}
.page-hero-stats{
  display: flex;
  flex-wrap: wrap;
  gap: 28px;
  margin: 28px 0;
}
.ph-stat{
  display: flex; flex-direction: column; align-items: flex-start;
  border-left: 3px solid var(--gold);
  padding: 4px 0 4px 14px;
}
.ph-stat b{
  font-family: var(--t-display);
  font-weight: 700;
  font-size: 32px;
  color: var(--gold);
  line-height: 1;
}
.ph-stat span{
  font-family: var(--t-body);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--text-2);
  margin-top: 4px;
}
.page-hero-nav{
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 24px;
}
.round-nav-link{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 10px 16px;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(200,169,81,0.3);
  border-radius: 6px;
  color: var(--text-on-dark);
  text-decoration: none;
  font-family: var(--t-body);
  font-size: 14px;
  transition: all .15s ease;
}
.round-nav-link:hover{
  background: rgba(200,169,81,0.15);
  border-color: var(--gold);
  color: var(--gold);
}
/* --- Group section (round / day pages) ---------------------------- */
.group-section{
  margin-bottom: 32px;
}
.group-section-head{
  display: flex; align-items: center; gap: 12px;
  padding: 12px 0;
  border-bottom: 2px solid var(--line);
  margin-bottom: 16px;
}
.gc-emoji{ font-size: 24px; }
.group-section-title{
  font-family: var(--t-display);
  font-weight: 600;
  font-size: 22px;
  color: var(--ink);
  text-decoration: none;
  flex: 1;
  min-width: 0;
}
.group-section-title:hover{ color: var(--gold); }
.group-section-count{
  font-family: var(--t-body);
  font-size: 12px;
  text-transform: uppercase;
  color: var(--text-2);
  letter-spacing: .06em;
}
/* --- Calendar grid ------------------------------------------------ */
.calendar-grid{
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: 12px;
}
.cal-card{
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 16px;
  background: var(--surface);
  border: 1px solid var(--line);
  border-left: 4px solid var(--ink);
  border-radius: 6px;
  text-decoration: none;
  color: inherit;
  transition: all .15s ease;
}
.cal-card:hover{
  border-left-color: var(--gold);
  transform: translateY(-1px);
  box-shadow: 0 6px 20px rgba(0,0,0,0.06);
}
.cal-card.is-current{
  background: linear-gradient(135deg, var(--gold) 0%, var(--gold-2) 100%);
  color: #fff;
  border-color: var(--gold-deep);
}
.cal-num{
  font-family: var(--t-display);
  font-weight: 700;
  font-size: 22px;
  color: inherit;
}
.cal-status{
  display: inline-block;
  align-self: flex-start;
  font-family: var(--t-display);
  font-weight: 700;
  font-size: 10px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  padding: 4px 10px;
  border-radius: 3px;
  margin-top: -2px;
}
.cal-status.is-done{
  background: rgba(58, 138, 96, 0.12);
  color: #2e7d52;
}
.cal-status.is-live{
  background: rgba(200, 16, 46, 0.12);
  color: var(--crimson);
}
.cal-status.is-future{
  background: rgba(13, 35, 71, 0.10);
  color: var(--ink);
}
.cal-status.is-none{
  background: rgba(0, 0, 0, 0.06);
  color: var(--text-3);
}
.cal-card.is-current .cal-status.is-live{
  background: var(--ink);
  color: var(--gold-2);
}
.cal-card.is-current .cal-status.is-future{
  background: var(--ink);
  color: var(--gold-2);
}
.cal-card.is-current .cal-status.is-done{
  background: var(--ink);
  color: var(--gold-2);
}
.cal-bar{
  display: block;
  width: 100%;
  height: 4px;
  background: rgba(0, 0, 0, 0.08);
  border-radius: 2px;
  overflow: hidden;
  margin-top: 4px;
}
.cal-card.is-current .cal-bar{ background: rgba(13, 35, 71, 0.18); }
.cal-bar > span{
  display: block;
  height: 100%;
  background: var(--crimson);
  border-radius: 2px;
  transition: width .3s ease;
}
.cal-card.is-current .cal-bar > span{ background: var(--ink); }
.cal-meta{
  font-family: var(--t-body);
  font-size: 12px;
  color: inherit;
  opacity: 0.7;
  margin-top: 4px;
}
/* --- Team page ---------------------------------------------------- */
.team-hero .team-hero-row{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 24px;
  margin: 12px 0 24px;
}
.team-hero-block{
  display: flex; align-items: center; gap: 18px;
}
.team-hero-logo{
  width: 88px; height: 88px;
  background: var(--gold);
  color: var(--ink);
  font-family: var(--t-display);
  font-weight: 700;
  font-size: 32px;
  display: flex; align-items: center; justify-content: center;
  border-radius: 8px;
  flex-shrink: 0;
  box-shadow: 0 6px 20px rgba(200,169,81,0.3);
}
.team-title{ font-size: clamp(28px, 4.5vw, 48px); }
.team-hero-stats{
  display: flex; flex-wrap: wrap; gap: 18px;
  margin-left: auto;
}
.th-stat{
  display: flex; flex-direction: column; align-items: flex-start;
  border-left: 2px solid var(--gold);
  padding: 4px 0 4px 12px;
}
.th-stat b{
  font-family: var(--t-display);
  font-weight: 700;
  font-size: 22px;
  color: var(--gold);
  line-height: 1;
}
.th-stat span{
  font-family: var(--t-body);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--text-2);
  margin-top: 2px;
}
.team-sparkline-wrap{
  display: flex; align-items: center; gap: 18px;
  margin: 18px 0 8px;
  padding: 16px 20px;
  background: rgba(255,255,255,0.04);
  border-radius: 8px;
  border: 1px solid rgba(200,169,81,0.2);
}
.ts-label{
  font-family: var(--t-body);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--text-2);
}
.team-group-chips{
  display: flex; flex-wrap: wrap; gap: 8px;
  margin-top: 8px;
}
.team-group-chips .chip{ background: rgba(200,169,81,0.15); color: var(--gold); }
/* --- Sparkline ---------------------------------------------------- */
.sparkline{ display: block; }
.sparkline-line{ filter: drop-shadow(0 0 4px rgba(200,169,81,0.4)); }
.sparkline-base{ stroke: rgba(255,255,255,0.1); stroke-width: 1; }
.sparkline-dot{ transition: r .15s ease; }
.sparkline-dot-last{ filter: drop-shadow(0 0 6px rgba(200,169,81,0.8)); }
.sparkline-empty{
  display: inline-block;
  padding: 8px 12px;
  font-family: var(--t-body);
  font-size: 13px;
  color: var(--text-2);
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 4px;
}
/* --- is-mine highlight ------------------------------------------- */
.is-mine, .is-mine-row{
  background: linear-gradient(90deg, rgba(200,169,81,0.18) 0%, rgba(200,169,81,0.04) 100%) !important;
  border-left: 3px solid var(--crimson) !important;
}
.is-mine .nm, .is-mine .m-team, .is-mine .pl{ color: var(--ink); }
tr.is-mine td{ background: rgba(200,169,81,0.12); }
tr.is-mine td.pl{ color: var(--crimson); font-weight: 700; }
.has-team-highlight .is-mine{ box-shadow: inset 3px 0 0 0 var(--gold); }
/* --- Standings team link ----------------------------------------- */
.standings-team-link{
  color: inherit;
  text-decoration: none;
  border-bottom: 1px dashed transparent;
  transition: border-color .15s ease;
}
.standings-team-link:hover{
  border-bottom-color: var(--gold);
  color: var(--gold);
}
/* --- 404 page ----------------------------------------------------- */
.error-404{
  text-align: center;
  padding: 100px 0 80px;
}
.error-code{
  font-family: var(--t-display);
  font-weight: 700;
  font-size: clamp(80px, 14vw, 180px);
  color: var(--gold);
  line-height: 1;
  margin-bottom: 16px;
  text-shadow: 0 4px 30px rgba(200,169,81,0.3);
}
.error-actions{
  display: flex; justify-content: center; gap: 12px;
  flex-wrap: wrap;
  margin-top: 28px;
}
.cta-btn{
  display: inline-flex; align-items: center; gap: 6px;
  padding: 12px 22px;
  background: var(--gold);
  color: var(--ink);
  font-family: var(--t-display);
  font-weight: 700;
  font-size: 15px;
  text-decoration: none;
  border-radius: 6px;
  text-transform: uppercase;
  letter-spacing: .04em;
  transition: all .15s ease;
  border: 1px solid var(--gold);
}
.cta-btn:hover{
  background: var(--gold-2);
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(200,169,81,0.4);
}
.cta-btn.ghost{
  background: transparent;
  color: var(--text-on-dark);
  border-color: rgba(200,169,81,0.4);
}
.cta-btn.ghost:hover{
  background: rgba(200,169,81,0.15);
  color: var(--gold);
}
.hero-ctas{
  display: flex; flex-wrap: wrap; gap: 12px;
  margin-top: 28px;
}
.hero-ctas .cta-btn{ background: var(--gold); color: #fff; }
.hero-ctas .cta-btn.ghost{
  background: transparent;
  color: var(--text-on-dark);
  border: 1px solid rgba(255,255,255,0.3);
}
.hero-ctas .cta-btn.ghost:hover{
  background: rgba(200,169,81,0.15);
  color: var(--gold);
  border-color: var(--gold);
}
/* --- Footer extras ----------------------------------------------- */
.footer-extra{
  margin-left: 16px;
  font-family: var(--t-body);
  font-size: 13px;
  color: var(--text-2);
}
.footer-extra a{ color: var(--gold); text-decoration: none; }
.footer-extra a:hover{ text-decoration: underline; }
/* --- Updated-ago inline ------------------------------------------ */
#updated-ago{
  font-family: var(--t-body);
  font-size: 13px;
  color: var(--text-2);
}
/* --- Club team card as a link with sparkline -------------------- */
.club-team{
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px;
  background: var(--surface);
  border: 1px solid var(--line);
  border-left: 3px solid var(--crimson);
  border-radius: 6px;
  text-decoration: none;
  color: inherit;
  transition: all .15s ease;
}
.club-team:hover{
  border-left-color: var(--gold);
  transform: translateY(-1px);
  box-shadow: 0 4px 16px rgba(0,0,0,0.06);
}
.club-team-sparkline{
  margin-top: 8px;
  flex-shrink: 0;
}
.club-team-body{ flex: 1; min-width: 0; }
/* --- Responsive: nav burger on small screens --------------------- */
@media (max-width: 720px){.nav-burger{ display: flex; }
.top-nav{
    position: absolute;
    top: 100%;
    left: 0; right: 0;
    background: var(--ink);
    flex-direction: column;
    padding: 12px 16px;
    gap: 4px;
    border-top: 2px solid var(--gold);
    z-index: 50;
    max-height: 0;
    overflow: hidden;
    transition: max-height .25s ease, padding .25s ease;
    padding: 0 16px;
  }
.top-nav.is-open{
    max-height: 60vh;
    padding: 12px 16px;
  }
.top-nav a{
    color: var(--text-on-dark);
    padding: 10px 8px;
    border-bottom: 1px solid rgba(255,255,255,0.08);
    width: 100%;
    display: block;
  }
.top-nav a.cta{ margin-top: 8px; }
.site-header{ position: relative; }
.site-header .container.header-row{
    flex-wrap: wrap;
    position: relative;
  }

}
@media (max-width: 700px){.team-hero-block{ flex-direction: column; align-items: flex-start; gap: 12px; }
.team-hero-stats{ margin-left: 0; }
.team-sparkline-wrap{ flex-direction: column; align-items: flex-start; gap: 8px; }
.ph-stat b{ font-size: 24px; }
.page-hero{ padding: 40px 0 32px; }
.page-hero-stats{ gap: 16px; }
.ph-stat{ padding: 4px 0 4px 10px; }
.ph-stat b{ font-size: 22px; }



}
@media (max-width: 500px){.hero-ctas{ flex-direction: column; align-items: stretch; }
.hero-ctas .cta-btn{ justify-content: center; }
.club-team{ flex-direction: column; align-items: flex-start; }
.footer-bottom{
    flex-direction: column;
    gap: 8px;
    text-align: left;
  }
.footer-extra{ margin-left: 0; }
.news-card-meta{ display: none; }
.section-title{ font-size: 22px; }
.featured-card{ padding: 24px 20px; }
.featured-team-logo{ width: 60px; height: 60px; font-size: 18px; }



}
@media (max-width: 380px){.container{ padding-left: 12px; padding-right: 12px; }
.hero-title{ font-size: 32px !important; }
.hero-meta{ flex-direction: column; gap: 12px; }
.stats-grid{ grid-template-columns: 1fr 1fr; }
.stat-cell .stat-num{ font-size: 36px; }
.group-grid{ grid-template-columns: 1fr; }
.clubs-grid{ grid-template-columns: 1fr; }
.calendar-grid{ grid-template-columns: 1fr; }
.ph-stat b{ font-size: 20px; }
.ph-stat span{ font-size: 10px; }



}
/* --- Print styles ------------------------------------------------ */
@media print{.site-header, .site-footer, .nav-burger, .hero-ctas, .error-actions,
  .round-nav-link, .club-filters, .filter-row, .filter-reset,
  .page-hero-stats, .page-hero-nav, .team-sparkline-wrap,
  .stats-grid, .sponsors, .hero-ctas{
    display: none !important;
  }
body{ background: white; color: black; }
.hero, .page-hero, .section, .section.alt, .section.dark{ background: white !important; color: black !important; padding: 12px 0 !important; }
.page-hero-title, .hero-title, .section-title, h1, h2, h3, h4, th, td{ color: black !important; }
.featured-card, .ph-stat, .cal-card, .group-card, .club-team, .club-card, .news-card{
    background: white !important; color: black !important; box-shadow: none !important;
    border-color: #C9CADD !important;
  }
.standings td, .standings th{ background: white !important; color: black !important; border-color: #C9CADD !important; }
.m-score-big, .match-score{ color: black !important; }
a{ color: black !important; text-decoration: underline !important; }
a[href]::after{ content: "" !important; }
.match-row{ break-inside: avoid; }
.section{ break-inside: avoid; }
.round-block, .group-section{ break-inside: avoid; }

}
/* Timetable — used by "Ближайшие матчи" and "Сегодня" sections on home */
.tt-wrap{ display: flex; flex-direction: column; gap: 18px; }
.tt-day{ background: var(--surface); border: 1px solid var(--line); border-radius: 8px; overflow: hidden; }
.tt-day.is-today{ border-left: 4px solid var(--crimson, #EB3941); }
.tt-day-head{
  display: flex; align-items: center; gap: 12px;
  padding: 14px 20px;
  background: var(--surface-2);
  border-bottom: 1px solid var(--line);
}
.tt-day-date{
  font-family: 'Inter', Arial, sans-serif; font-weight: 700;
  font-size: 22px; color: var(--ink); letter-spacing: 0.02em;
  min-width: 56px;
}
.tt-day-wd{
  font-family: 'Inter', Arial, sans-serif; font-weight: 500;
  font-size: 12px; color: var(--text-2);
  text-transform: uppercase; letter-spacing: 0.18em;
}
.tt-day-month{
  font-size: 12px; color: var(--text-3);
  text-transform: lowercase;
}
.tt-day-count{
  margin-left: auto;
  font-size: 12px; color: var(--text-2);
  font-weight: 500;
}
.tt-rows{ display: flex; flex-direction: column; }
.tt-row{
  display: grid;
  grid-template-columns: 60px 1fr auto 1fr;
  align-items: center;
  gap: 16px;
  padding: 12px 20px;
  border-bottom: 1px solid var(--line);
  text-decoration: none; color: inherit;
  transition: background 0.15s;
}
.tt-row:last-child{ border-bottom: none; }
.tt-row:hover{ background: var(--surface-2); }
.tt-time{
  font-family: 'Inter', Arial, sans-serif; font-weight: 600;
  font-size: 16px; color: var(--ink);
}
.tt-teams{
  display: flex; flex-direction: column; gap: 2px;
  font-size: 14px; font-weight: 500;
  min-width: 0;
}
.tt-team{ overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tt-vs{ font-size: 10px; color: var(--text-3); letter-spacing: 0.2em; }
.tt-chip{
  font-size: 11px; font-weight: 600;
  color: var(--text-2);
  background: var(--surface-2);
  border: 1px solid var(--line);
  border-radius: 4px;
  padding: 3px 8px;
  white-space: nowrap;
}
.tt-venue{
  font-size: 12px; color: var(--text-2);
  text-align: right;
  min-width: 0;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.tt-reschedule{ color: var(--crimson, #EB3941); font-size: 11px; }
.tt-more{
  display: block;
  margin: 12px 20px 16px;
  padding: 10px 16px;
  background: var(--ink);
  color: var(--text-on-dark, #fff);
  text-align: center;
  text-decoration: none;
  font-family: 'Inter', Arial, sans-serif;
  font-size: 12px; font-weight: 600;
  letter-spacing: 0.18em;
  border-radius: 4px;
  transition: background 0.15s;
}
.tt-more:hover{ background: var(--crimson, #EB3941); }
.today-rest{
  padding: 20px 24px;
  background: var(--surface);
  border: 1px solid var(--line);
  border-left: 4px solid var(--gold, #EB3941);
  border-radius: 8px;
  font-size: 15px;
  color: var(--text-2);
}
.section.dark .tt-day{ background: var(--ink-2); border-color: var(--line-dark); }
.section.dark .tt-day-head{ background: var(--ink-3, #1A1A55); border-color: var(--line-dark); }
.section.dark .tt-day-date, .section.dark .tt-time{ color: var(--text-on-dark, #fff); }
.section.dark .tt-day-wd, .section.dark .tt-day-month, .section.dark .tt-day-count{ color: var(--text-on-dark-2, #8A8AB5); }
.section.dark .tt-row{ border-color: var(--line-dark); }
.section.dark .tt-row:hover{ background: rgba(255,255,255,0.04); }
.section.dark .tt-chip{ background: var(--ink); border-color: var(--line-dark); color: var(--text-on-dark-2, #8A8AB5); }
@media (max-width: 720px){.tt-row{ grid-template-columns: 50px 1fr; gap: 10px; padding: 10px 14px; }
.tt-chip, .tt-venue{ grid-column: 2; text-align: left; }



}
/* Fix team name visibility in timetable */
.tt-team{ color: var(--ink, #1A1A55); font-weight: 500; }
.section.dark .tt-team, .featured .tt-team{ color: #fff; }
/* Force timetable rows to be readable on dark hero/featured backgrounds */
.featured .tt-day, .section .tt-day{ background: #fff; }
.featured .tt-day-head{ background: #F4F4FB; border-bottom-color: #DCDCEA; }
.featured .tt-day-date{ color: #1A1A55; }
.featured .tt-day-wd, .featured .tt-day-month, .featured .tt-day-count{ color: #5A5A8C; }
.featured .tt-row{ color: #1A1A55; border-bottom-color: #E9E9F6; }
.featured .tt-row:hover{ background: #F4F4FB; }
.featured .tt-time{ color: #1A1A55; }
.featured .tt-team{ color: #1A1A55; }
.featured .tt-vs{ color: #8A8AB5; }
.featured .tt-chip{ background: #F4F4FB; border-color: #DCDCEA; color: #565683; }
.featured .tt-venue{ color: #5A5A8C; }
/* Last-played day variant: gold left border + score column */
.tt-day.is-last{ border-left: 4px solid var(--gold, #EB3941); }
.tt-score{
  font-family: 'Inter', Arial, sans-serif; font-weight: 700;
  font-size: 18px; color: var(--crimson, #EB3941);
  text-align: center;
  min-width: 64px;
  letter-spacing: 0.04em;
}
.section.alt .tt-day{ background: #fff; border-color: #DCDCEA; }
.section.alt .tt-day-head{ background: #F4F4FB; border-bottom-color: #DCDCEA; }
.section.alt .tt-day-date{ color: #1A1A55; }
.section.alt .tt-day-wd, .section.alt .tt-day-month, .section.alt .tt-day-count{ color: #5A5A8C; }
.section.alt .tt-row{ color: #1A1A55; border-bottom-color: #E9E9F6; }
.section.alt .tt-row:hover{ background: #F4F4FB; }
.section.alt .tt-time{ color: #1A1A55; }
.section.alt .tt-team{ color: #1A1A55; }
.section.alt .tt-vs{ color: #8A8AB5; }
.section.alt .tt-chip{ background: #F4F4FB; border-color: #DCDCEA; color: #565683; }
.section.alt .tt-venue{ color: #5A5A8C; }
/* Hide Spru Pages badge */
#spru-pages-badge-host{ display: none !important; }
.mf-nav-caret{
  display: inline-block;
  width: 0;
  height: 0;
  margin-left: 6px;
  vertical-align: middle;
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-top: 5px solid currentColor;
  opacity: .6;
  transition: transform .15s;
}
/* ─── Hero (портал) ─── */
.portal-hero{
  background: var(--ink);
  color: #fff;
  position: relative;
  overflow: hidden;
  padding: 80px 24px 100px;
  text-align: center;
}
.portal-hero::before{
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(30deg, transparent 49%, rgba(235,57,65,0.05) 49%, rgba(235,57,65,0.05) 51%, transparent 51%),
    linear-gradient(-30deg, transparent 49%, rgba(235,57,65,0.05) 49%, rgba(235,57,65,0.05) 51%, transparent 51%);
  background-size: 80px 140px;
  opacity: 0.6;
}
.portal-hero-inner{
  position: relative;
  max-width: 900px;
  margin: 0 auto;
}
.portal-eyebrow{
  display: inline-block;
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--gold);
  font-weight: 700;
  margin-bottom: 18px;
}
.portal-eyebrow::before{ content: '— '; color: var(--crimson); }
.portal-hero h1{
  font-size: clamp(36px, 6vw, 64px);
  font-weight: 900;
  line-height: 1.05;
  letter-spacing: -0.02em;
  margin-bottom: 18px;
}
.portal-hero h1 span{ color: var(--gold); }
.portal-hero p{
  font-size: 17px;
  color: rgba(255,255,255,0.7);
  max-width: 640px;
  margin: 0 auto 32px;
  line-height: 1.55;
}
.portal-stats{
  display: flex;
  gap: 48px;
  justify-content: center;
  margin-top: 40px;
  padding-top: 32px;
  border-top: 1px solid rgba(255,255,255,0.1);
  flex-wrap: wrap;
}
.portal-stat b{
  display: block;
  font-size: 36px;
  font-weight: 900;
  color: var(--gold);
  font-family: 'Inter', Arial, sans-serif;
  line-height: 1;
}
.portal-stat span{
  display: block;
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.6);
  margin-top: 8px;
}
/* ─── Tournament section ─── */
.tournaments{
  max-width: 1320px;
  margin: 0 auto;
  padding: 80px 24px 80px;
  position: relative;
  z-index: 2;
}
.section-eyebrow{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 12px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--text-2);
  margin-bottom: 14px;
  font-weight: 700;
}
.section-eyebrow::before{ content: ''; width: 24px; height: 2px; background: var(--gold); }
.tournaments h2{
  font-size: 32px;
  font-weight: 800;
  margin-bottom: 32px;
  letter-spacing: -0.01em;
}
@media (max-width: 720px){.portal-hero{ padding: 48px 20px 64px; }
.portal-stats{ gap: 28px; }
.tournaments{ padding: 60px 16px 60px; }
.t-grid{ grid-template-columns: 1fr; }
.t-card h3{ padding-right: 0; }
.t-status{ position: static; display: inline-block; margin-bottom: 12px; }
.t-card{ padding: 24px 20px 20px; }
.t-stats{ gap: 8px; }
.t-stats b{ font-size: 20px; }
.t-stats span{ font-size: 9px; }



}
@media (max-width: 480px){.portal-hero h1{ font-size: 32px; }
.portal-stat b{ font-size: 28px; }



}
/* Hide Spru Pages badge */
#spru-pages-badge-host{ display: none !important; }
/* Фирменный знак в нижней шапке и футере */
.brand-mark::before{
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  background-image: url("data:image/png;base64,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");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
/* Фирменный знак в заголовке группы */
.group-hero .gc-emoji{
  width: 40px;
  height: 52px;
  background: none;
  border-radius: 0;
  overflow: hidden;
}
.group-hero .gc-emoji::before{
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  background-image: url("data:image/png;base64,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");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}





/* ==== раздел «Чемпионат Москвы» ====
/* Раздел «Чемпионат Москвы» — tournament-specific styles.
   Оформление — по дизайн-системе раздела «Первенство Москвы»:
   общий файл /workspace/pm-site/static/style.css подключается к разделу
   первым, здесь только отличия и переопределения. */

/* --- первый экран: как .hero эталона --- */
.chm-hero{
  position: relative;
  overflow: hidden;
  background: var(--ink);
  color: var(--text-on-dark);
  padding: 80px 0 96px;
}
.chm-hero::before{
  content: '';
  position: absolute; inset: 0;
  background-image:
    radial-gradient(circle at 20% 30%, rgba(200, 169, 81, 0.12), transparent 50%),
    radial-gradient(circle at 80% 80%, rgba(200, 16, 46, 0.08), transparent 50%);
  pointer-events: none;
}
.chm-hero::after{
  content: '';
  position: absolute; inset: 0;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='80' height='92' viewBox='0 0 80 92'><path d='M40 2L76 23V69L40 90L4 69V23Z' fill='none' stroke='%23c8a951' stroke-opacity='0.05' stroke-width='1'/></svg>");
  background-size: 80px 92px;
  pointer-events: none;
  opacity: 0.6;
}
.chm-hero .container{ position: relative; z-index: 1; }
.chm-hero-sm{ padding: 56px 0 60px; }
.chm-hero h1{
  font-family: var(--t-display);
  font-weight: 700;
  font-size: clamp(40px, 7vw, 88px);
  line-height: 0.95;
  letter-spacing: -0.02em;
  text-transform: uppercase;
  margin: 0 0 24px;
  color: var(--text-on-dark);
}
/* акцентная строка заголовка — отдельным блоком, как в эталонном .hero-title */
.chm-hero h1 span{
  display: block;
  color: var(--gold-2);
  font-size: 0.55em;
  font-weight: 600;
  letter-spacing: 0.05em;
  margin-top: 12px;
}
/* заголовок с эмблемой команды — в строку, без блочного акцента */
.chm-hero.chm-hero-team h1{ display: flex; align-items: center; gap: 18px; flex-wrap: wrap; }
.chm-hero.chm-hero-team h1 span{ display: inline; font-size: 1em; margin-top: 0; }
/* заголовок турнира: «Мужчины 2027» одной строкой */
.chm-hero.chm-hero-tour h1{ display: block; }
.chm-hero.chm-hero-tour h1 span{ display: inline; font-size: 1em; margin-top: 0; }
/* заголовок матча: названия команд через тире, акцент не выделяется */
.chm-hero.chm-hero-match h1{ display: block; }
.chm-hero.chm-hero-match h1 span{ display: inline; font-size: 1em; margin-top: 0; color: var(--text-on-dark-2); }
.chm-eyebrow{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: var(--t-display);
  font-weight: 600;
  font-size: 12px;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  color: var(--gold-2);
  margin-bottom: 24px;
}
.chm-eyebrow::before{
  content: '';
  width: 32px; height: 2px;
  background: var(--gold);
  flex: none;
}
.chm-lead{
  max-width: 600px;
  color: var(--text-on-dark-2);
  line-height: 1.5;
  font-size: 18px;
  margin-bottom: 40px;
}
.chm-hero-meta{
  display: flex;
  flex-wrap: wrap;
  gap: 32px 56px;
  padding-top: 32px;
  border-top: 1px solid var(--line-dark);
}
/* подпись сверху, значение снизу — как в эталонном .hero-meta */
.chm-hero-meta > div{
  display: flex;
  flex-direction: column-reverse;
  gap: 6px;
}
.chm-hero-meta b{
  display: block;
  font-family: var(--t-display);
  font-size: 24px;
  font-weight: 600;
  color: var(--text-on-dark);
  letter-spacing: 0.02em;
  line-height: 1.1;
}
.chm-hero-meta span{
  font-family: var(--t-display);
  font-size: 10px;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: var(--text-on-dark-2);
  font-weight: 600;
}
.chm-hero-links{ display: flex; gap: 12px; flex-wrap: wrap; margin-top: 28px; }
.chm-btn{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 12px 22px;
  background: transparent;
  border: 1px solid rgba(255, 255, 255, 0.3);
  color: var(--text-on-dark);
  text-decoration: none;
  font-family: var(--t-display);
  font-weight: 700;
  font-size: 15px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  border-radius: 6px;
  transition: all .15s ease;
}
.chm-btn:hover{
  background: rgba(200, 169, 81, 0.15);
  border-color: var(--gold);
  color: var(--gold-2);
}
/* активный пункт в блоке быстрых переходов */
.chm-hero-links .chm-btn.is-active{
  background: var(--gold);
  border-color: var(--gold);
  color: #fff;
}
.chm-hero-links .chm-btn.is-active:hover{
  background: var(--gold-2);
  border-color: var(--gold-2);
  color: #fff;
}
.chm-btn-gold{ background: var(--gold); border-color: var(--gold); color: #fff; }
.chm-btn-gold:hover{ background: var(--gold-2); border-color: var(--gold-2); color: #fff; }
.chm-btn-row{ display: flex; gap: 12px; flex-wrap: wrap; margin-top: 20px; }
.chm-btn-row .chm-btn{
  color: var(--text-1);
  border-color: var(--line);
  background: var(--surface);
}
.chm-btn-row .chm-btn:hover{
  border-color: var(--gold);
  color: var(--gold-deep);
  background: var(--surface);
}
/* турнирная подшапка: тот же .site-header, что на эталоне, но не sticky —
   портальная шапка .mfv-header уже закреплена сверху */
.chm-site-header{ position: relative; z-index: 90; }
/* подшапка турнира скрыта на главной странице раздела и на узких экранах */
.chm-site-header.chm-site-header-hidden{ display: none; }
@media (max-width: 800px){
  .chm-site-header{ display: none; }
}
.chm-site-header .brand-mark img{ display: block; width: 30px; height: 38px; object-fit: contain; }
.chm-site-header .top-nav a.is-active{ color: var(--gold-2); }
.chm-site-header .top-nav a{ padding: 4px 0; }
.chm-section-alt{ background: var(--surface); }
.chm-note{ color: var(--text-2); font-size: 13px; }
@media (max-width: 700px){.chm-hero{ padding: 48px 0 56px; }
.chm-hero-sm{ padding: 40px 0 44px; }
.chm-lead{ font-size: 16px; margin-bottom: 28px; }
.chm-hero-meta{ gap: 20px 28px; }
.chm-hero-meta b{ font-size: 20px; }



}
/* карточки турниров — по образцу .group-card */
.chm-cards{ display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 20px; }
.chm-card{
  position: relative; display: block; padding: 24px 24px 20px;
  background: var(--surface); border: 1px solid var(--line);
  box-shadow: var(--shadow-card);
  overflow: hidden;
  text-decoration: none; color: inherit; transition: transform .18s, box-shadow .18s;
}
.chm-card::before{
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 4px;
  background: var(--ink);
}
.chm-card.is-live::before{ background: var(--crimson); }
.chm-card.is-soon::before{ background: var(--silver-deep); }
.chm-card:hover{ transform: translateY(-2px); box-shadow: var(--shadow-hover); }
.chm-card-status{
  position: absolute; top: 18px; right: 18px; font-family: var(--t-display);
  font-size: 10px; font-weight: 700;
  letter-spacing: .2em; text-transform: uppercase; padding: 5px 10px; border-radius: 4px;
}
.chm-card.is-live .chm-card-status{ background: var(--crimson); color: #fff; }
.chm-card.is-done .chm-card-status{ background: var(--ink); color: var(--gold-2); }
.chm-card.is-soon .chm-card-status{ background: var(--surface-3); color: var(--text-2); }
.chm-card-type{
  padding-right: 110px; font-family: var(--t-display); font-size: 11px;
  letter-spacing: .2em; text-transform: uppercase; color: var(--gold-deep); font-weight: 600;
}
.chm-card h3{
  font-family: var(--t-display); font-weight: 600; font-size: 20px;
  letter-spacing: .06em; text-transform: uppercase; margin: 12px 0 8px; line-height: 1.15;
}
.chm-card h3 span{ color: var(--gold-deep); }
.chm-card-dates{ color: var(--text-2); font-size: 13px; }
.chm-card-stats{ display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin-top: 18px; }
.chm-card-stats > div{ text-align: center; background: var(--surface-2); border-radius: 4px; padding: 9px 4px; }
.chm-card-stats b{ display: block; font-family: var(--t-display); font-size: 20px; color: var(--ink); }
.chm-card-stats span{ font-size: 10px; color: var(--text-2); text-transform: uppercase; letter-spacing: .05em; }
.chm-card-cta{
  display: inline-flex; gap: 8px; margin-top: 18px;
  font-family: var(--t-display); font-size: 12px; letter-spacing: .2em;
  text-transform: uppercase; color: var(--text-1); font-weight: 600;
  border-bottom: 2px solid var(--ink); padding-bottom: 4px;
}
.chm-card:hover .chm-card-cta{ color: var(--gold-deep); border-bottom-color: var(--gold); }
/* таблицы — по образцу table.standings */
/* min(560px,100%) — иначе на телефоне колонка шире экрана и вся
   страница получает горизонтальный скролл (белая полоса справа) */
.chm-tables{ display: grid; grid-template-columns: repeat(auto-fit, minmax(min(560px, 100%), 1fr)); gap: 22px; }
.chm-table-card{
  background: var(--surface); border: 1px solid var(--line);
  box-shadow: var(--shadow-card); overflow: hidden; min-width: 0;
}
.chm-table-card-head{
  display: flex; align-items: baseline; gap: 10px; padding: 12px 16px;
  background: var(--surface-3); border-bottom: 1px solid var(--line);
}
.chm-table-card-head b{ font-family: var(--t-display); font-size: 16px; letter-spacing: .04em; }
.chm-table-card-head span{ color: var(--text-2); font-size: 12px; }
/* Скролл таблиц остаётся локальным: контейнер не может быть шире
   карточки, иначе страница растягивается по горизонтали. */
.chm-table-scroll{ overflow-x: auto; max-width: 100%; width: 100%; -webkit-overflow-scrolling: touch; }
.chm-table{ width: 100%; border-collapse: collapse; font-size: 14px; }
.chm-table th{
  text-align: left; padding: 12px 16px;
  font-family: var(--t-display); font-size: 10px; letter-spacing: .2em;
  text-transform: uppercase; color: var(--text-3); font-weight: 700;
  background: var(--surface-3); border-bottom: 1px solid var(--line);
  white-space: nowrap;
}
.chm-table td{ padding: 12px 16px; border-bottom: 1px solid var(--line); }
.chm-table tbody tr:last-child td{ border-bottom: 0; }
.chm-table tbody tr:hover{ background: var(--surface-2); }
.chm-td{ color: var(--text-2); white-space: nowrap; }
/* Ячейка команды. Раньше здесь стоял display:flex — из-за этого <td>
   выпадал из табличной раскладки, и длинное название наезжало на
   соседние колонки. Теперь это обычная ячейка, логотип и ссылка
   выравниваются по вертикали, а название переносится. */
.chm-tname{ font-weight: 600; white-space: normal; overflow-wrap: break-word; overflow: hidden; }
.chm-tname > .chm-logo, .chm-tname > .chm-avatar{ vertical-align: middle; margin-right: 8px; }
/* Логотип слева с обтеканием: название переносится под ним, а не
   уезжает на следующую строку целиком. */
.chm-tname > .chm-logo{ float: left; margin: 2px 8px 4px 0; }
.chm-tname > a, .chm-tname > .chm-pl-link{ vertical-align: middle; overflow-wrap: anywhere; }
/* место — как в эталонной таблице: цифра акцентом, топ-3 с подложкой */
.chm-pl{
  font-family: var(--t-display) !important;
  font-weight: 700;
  font-size: 18px;
  color: var(--text-3);
  text-align: center;
  width: 56px;
}
.chm-pl-row.chm-pl-1 .chm-pl{ color: var(--gold-deep); background: rgba(200, 169, 81, 0.08); }
.chm-pl-row.chm-pl-2 .chm-pl{ color: var(--silver-deep); background: rgba(37, 37, 142, 0.04); }
.chm-pl-row.chm-pl-3 .chm-pl{ color: var(--bronze-deep); background: rgba(37, 37, 142, 0.06); }
.chm-row-total td{ font-weight: 700; color: var(--ink); background: var(--surface-2); }
.chm-strong{ color: var(--ink); font-weight: 700; }
.chm-muted{ color: var(--text-3); }
.chm-team-link{ color: inherit; text-decoration: none; }
.chm-team-link:hover{ color: var(--gold-deep); text-decoration: underline; }
.chm-pl-link{ color: inherit; text-decoration: none; display: inline-block;
  padding: 3px 0; min-height: 24px; }
.chm-pl-link:hover{ color: var(--gold-deep); text-decoration: underline; }
.chm-logo{ border-radius: 6px; object-fit: contain; background: #fff; flex: none; }
.chm-logo-no-logo{ background: #fff; padding: 4px; border-radius: 8px; }
.chm-logo-empty, .chm-avatar-empty{
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--surface-3); color: var(--text-2); font-weight: 700; font-size: 13px;
  border-radius: 6px; flex: none;
}
.chm-avatar{ border-radius: 50%; object-fit: cover; background: var(--surface-3); flex: none; }
.chm-avatar-lg{ border-radius: 12px; object-fit: cover; background: var(--surface-3); }
/* плей-офф */
.chm-bracket{ display: grid; gap: 22px; }
.chm-ko-stage{
  background: var(--surface); border: 1px solid var(--line);
  box-shadow: var(--shadow-card); overflow: hidden;
}
.chm-ko-stage-head{
  padding: 12px 18px; background: var(--surface-3); border-bottom: 1px solid var(--line);
  font-family: var(--t-display); font-size: 17px; letter-spacing: .06em;
  text-transform: uppercase;
}
.chm-ko-match{
  display: grid; grid-template-columns: 1fr 68px 1fr; align-items: center; gap: 12px;
  padding: 12px 18px; border-bottom: 1px solid var(--line);
}
.chm-ko-match:last-child{ border-bottom: 0; }
.chm-ko-side{ display: flex; align-items: center; gap: 9px; font-weight: 600; }
.chm-ko-side-b{ flex-direction: row-reverse; text-align: right; }
.chm-ko-score{
  font-family: var(--t-display); font-size: 20px; text-align: center;
  color: var(--crimson); font-weight: 700;
}
.chm-ko-meta{ grid-column: 1 / -1; color: var(--text-3); font-size: 12px; display: flex; gap: 8px; align-items: center; }
.chm-set{
  border: 1px solid var(--line); border-radius: 3px; padding: 1px 6px;
  font-size: 12px; color: var(--text-2); background: var(--surface-2);
}
/* команды */
.chm-team-grid{ display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 14px; }
.chm-team-grid-wide{ grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
.chm-team-card{
  display: grid; gap: 8px; justify-items: center; text-align: center;
  padding: 20px 16px; background: var(--surface); border: 1px solid var(--line);
  box-shadow: var(--shadow-card);
  text-decoration: none; color: inherit; transition: transform .18s, box-shadow .18s;
}
.chm-team-card:hover{ transform: translateY(-2px); box-shadow: var(--shadow-hover); }
.chm-team-card b{
  font-family: var(--t-display); font-size: 17px; line-height: 1.25;
  letter-spacing: .04em; text-transform: uppercase;
}
.chm-team-card > span{ color: var(--text-2); font-size: 12px; }
.chm-team-rec{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; width: 100%; margin-top: 6px; }
.chm-team-rec > div{ background: var(--surface-2); border-radius: 4px; padding: 7px 4px; }
.chm-team-rec b{ display: block; font-family: var(--t-display); font-size: 16px; }
.chm-team-rec span{ font-size: 10px; color: var(--text-2); text-transform: uppercase; letter-spacing: .05em; }
/* дни и матчи */
.chm-days{ display: grid; gap: 16px; }
/* фильтры расписания */
.chm-filters{
  display: flex; flex-wrap: wrap; gap: 14px; align-items: flex-end;
  margin-bottom: 22px; padding: 16px 18px;
  background: var(--surface-2); border: 1px solid var(--line); border-radius: 14px;
}
.chm-filter{ display: flex; flex-direction: column; gap: 6px; }
.chm-filter label{ font: 500 12px/1.2 var(--sans); color: var(--text-2); }
.chm-filter select{
  font: 400 14px/1.2 var(--sans); color: var(--text-1);
  padding: 9px 12px; min-width: 170px;
  background: var(--surface); border: 1px solid var(--line); border-radius: 10px;
}
.chm-filter-count{ margin-left: auto; color: var(--text-2); font: 400 13px/1.2 var(--sans); }
.chm-filter-count b{ color: var(--text-1); }
/* команды по лигам */
.chm-teams-league{ margin-bottom: 34px; }
.chm-teams-league-title{
  font-family: var(--t-display); font-size: 20px; letter-spacing: .04em;
  text-transform: uppercase; margin: 0 0 14px;
}
/* блок матча и трансляции — компактные отступы */
.chm-section-match{ padding: 30px 0; }
.chm-section-match .chm-stream{ margin-top: 18px; }
.chm-day{
  border: 1px solid var(--line); background: var(--surface);
  box-shadow: var(--shadow-card); overflow: hidden;
}
.chm-day-head{
  display: flex; align-items: baseline; gap: 12px; padding: 12px 18px;
  background: var(--surface-3); border-bottom: 1px solid var(--line);
  text-decoration: none; color: inherit;
}
.chm-day-head b{ font-family: var(--t-display); font-size: 17px; letter-spacing: .04em; text-transform: uppercase; }
.chm-day-head span{ color: var(--text-2); font-size: 13px; }
.chm-matches{ display: grid; }
.chm-match{
  display: grid; grid-template-columns: 56px 150px 1fr 78px 1fr; align-items: center; gap: 12px;
  padding: 11px 18px; border-bottom: 1px solid var(--line);
  text-decoration: none; color: inherit; transition: background .15s;
}
.chm-match:last-child{ border-bottom: 0; }
.chm-match:hover{ background: var(--surface-2); }
.chm-match-time{ font-family: var(--t-display); font-size: 16px; color: var(--gold-deep); font-weight: 600; }
.chm-match-stage{ font-size: 11px; color: var(--text-3); text-transform: uppercase; letter-spacing: .05em; }
.chm-match-team{ display: flex; align-items: center; gap: 9px; font-weight: 600; }
.chm-match-team-b{ flex-direction: row-reverse; text-align: right; justify-content: flex-end; }
.chm-match-score{
  font-family: var(--t-display); font-size: 19px; text-align: center;
  color: var(--crimson); font-weight: 700;
}
.chm-match-meta{ grid-column: 3 / 5; grid-row: 2; display: flex; gap: 6px; }
.chm-sets{ display: flex; gap: 6px; flex-wrap: wrap; }
/* онлайн-счёт: значок LIVE на карточке матча */
.chm-match-live{ position: relative; background: rgba(235,57,65,.07); }
.chm-match-live::before{
  content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 3px;
  background: var(--crimson);
}
.chm-live-badge{
  grid-column: 1 / -1; justify-self: start;
  display: inline-flex; align-items: center; gap: 6px;
  margin-top: 6px; padding: 3px 10px; border-radius: 999px;
  background: var(--crimson); color: #fff;
  font-family: 'Inter', Arial, sans-serif; font-size: 11px; font-weight: 700;
  letter-spacing: .08em; text-transform: uppercase;
}
.chm-live-badge::before{
  content: ''; width: 7px; height: 7px; border-radius: 50%; background: #fff;
  animation: chm-live-pulse 1.4s ease-in-out infinite;
}
@keyframes chm-live-pulse{0%,100%{ opacity: 1; }
50%{ opacity: .25; }


 }
/* блок «сейчас играют» */
.chm-live-list{
  margin-top: 24px; border: 1px solid var(--line); border-radius: 12px;
  background: var(--surface-2); overflow: hidden;
  /* блок лежит на тёмном герое — задаём свои цвета, иначе текст белый на белом */
  color: var(--text-1);
}
.chm-live-head{
  display: flex; align-items: center; gap: 8px;
  padding: 12px 16px; border-bottom: 1px solid var(--line);
  font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
  color: var(--gold);
}
.chm-live-dot{
  width: 9px; height: 9px; border-radius: 50%; background: var(--crimson);
  animation: chm-live-pulse 1.4s ease-in-out infinite;
}
.chm-live-row{
  display: flex; align-items: center; justify-content: space-between; gap: 14px;
  padding: 12px 16px; border-bottom: 1px solid var(--line);
  text-decoration: none; color: inherit;
}
.chm-live-row:last-child{ border-bottom: 0; }
.chm-live-row:hover{ background: var(--surface-3); }
.chm-live-teams{ font-weight: 600; color: var(--text-1); }
.chm-live-sets{
  font-family: 'Inter', Arial, sans-serif; font-size: 15px; font-weight: 700;
  color: var(--gold-deep); white-space: nowrap;
}
.chm-live-sets::after{ content: ' по партиям'; font-size: 11px; font-weight: 600;
  color: var(--text-3); text-transform: uppercase; letter-spacing: .05em; }
.chm-live-score{
  font-family: 'Inter', Arial, sans-serif; font-size: 20px; font-weight: 700; color: var(--crimson);
}
/* счёт на странице матча */
.chm-live-match{
  border: 1px solid var(--line); border-left: 4px solid var(--crimson);
  border-radius: 12px; background: var(--surface-2); padding: 18px 22px;
}
.chm-live-match .chm-live-head{ padding: 0 0 12px; border-bottom: 0; }
.chm-live-names{ font-size: 16px; font-weight: 600; margin-bottom: 4px; }
.chm-live-score-big{
  font-family: 'Inter', Arial, sans-serif; font-size: 46px; font-weight: 800;
  color: var(--gold-2); line-height: 1.05; margin: 6px 0 8px;
}
.chm-live-meta{ display: flex; gap: 8px; flex-wrap: wrap; align-items: center; color: var(--text-2); font-size: 13px; }
.chm-live-when{ font-family: 'Inter', Arial, sans-serif; font-size: 22px; font-weight: 700; color: var(--gold-2); margin: 6px 0 4px; }
/* ход матча: порядок набора очков по партиям */
.chm-playlog{
  margin-top: 18px; border: 1px solid var(--line); border-left: 4px solid var(--gold);
  border-radius: 12px; background: var(--surface-2); padding: 18px 22px;
}
.chm-pl-title{ font-family: 'Inter', Arial, sans-serif; font-size: 20px; font-weight: 700; margin-bottom: 12px; }
.chm-pl-legend{ display: flex; gap: 18px; flex-wrap: wrap; font-size: 13px; color: var(--text-2); margin-bottom: 14px; }
.chm-pl-legend span{ display: inline-flex; align-items: center; gap: 7px; }
.chm-pl-row{ padding: 10px 0; border-top: 1px solid var(--line); }
.chm-pl-row:first-of-type{ border-top: 0; }
.chm-pl-head{ display: flex; justify-content: space-between; gap: 12px; font-size: 14px; margin-bottom: 7px; }
.chm-pl-head b{ font-weight: 700; text-transform: uppercase; letter-spacing: .05em; font-size: 12px; color: var(--text-2); }
.chm-pl-strip{ display: flex; flex-wrap: wrap; gap: 3px; }
.chm-rally{ display: inline-block; width: 9px; height: 14px; border-radius: 2px; }
/* игрок */
.chm-player-head{ display: flex; align-items: center; gap: 22px; flex-wrap: wrap; }
.chm-player-sub{ display: flex; gap: 10px; align-items: center; color: rgba(232,234,240,.75); font-size: 15px; flex-wrap: wrap; }
.chm-tag{
  font-size: 10px; text-transform: uppercase; letter-spacing: .07em; font-weight: 700;
  background: var(--surface-3); color: var(--text-2); border-radius: 4px; padding: 2px 6px;
}
.chm-tag-cap{ background: var(--gold); color: #fff; }
.chm-tag-lib{ background: var(--crimson); color: #fff; }
.chm-win{ color: #EB3941; font-weight: 700; }
.chm-lose{ color: var(--crimson); font-weight: 700; }
/* матч-центр */
.chm-score-big{ font-family: 'Inter', Arial, sans-serif; font-size: 54px; color: var(--gold-2); line-height: 1; margin: 6px 0 14px; }
.chm-sets-row{ display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 8px; }
.chm-set-col{
  background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.12);
  border-radius: 8px; padding: 8px 14px; text-align: center; min-width: 74px;
}
.chm-set-col b{ display: block; font-family: 'Inter', Arial, sans-serif; font-size: 20px; color: #fff; }
.chm-set-col span{ font-size: 10px; color: rgba(232,234,240,.55); text-transform: uppercase; letter-spacing: .06em; }
.chm-two-col{ display: grid; grid-template-columns: repeat(auto-fit, minmax(330px, 1fr)); gap: 26px; }
.chm-sub-head{
  display: flex; align-items: center; gap: 10px; font-family: 'Inter', Arial, sans-serif;
  font-size: 21px; margin-bottom: 12px;
}
/* min-width:0 обязателен: в гриде колонка иначе распирается до ширины
   таблицы, overflow-x:auto у .chm-table-scroll не срабатывает и страница
   получает горизонтальный скролл */
.chm-leaderboards{ display: grid; gap: 20px; }
.chm-leaderboards > *{ min-width: 0; }
.chm-lb-head{
  font-family: 'Inter', Arial, sans-serif; font-size: 20px; margin-bottom: 10px;
  padding-bottom: 8px; border-bottom: 2px solid var(--gold);
}
.chm-empty{ color: var(--text-2); padding: 18px 0; }

/* ─── Сводная статистика турнира (/statistics) ───────────────────── */

.chm-sts-bar{
  display: flex; align-items: center; gap: 16px; flex-wrap: wrap;
  margin: 0 0 22px; padding-bottom: 14px; border-bottom: 1px solid var(--line);
}
.chm-sts-cover{
  margin-left: auto; color: var(--text-2); font: 400 13px/1.3 var(--sans);
}
.chm-sts-cover b{ color: var(--ink); font-weight: 700; }

/* переключатель лиг и вкладки — как сегмент-контрол ВФВ */
.chm-tabs{ display: inline-flex; flex-wrap: wrap; gap: 6px; }
.chm-tab{
  display: inline-flex; align-items: center; padding: 9px 18px;
  border: 1px solid var(--line); border-radius: 999px;
  background: var(--surface); color: var(--text-2);
  font: 600 14px/1 var(--sans); text-decoration: none;
  cursor: pointer; transition: background .15s, color .15s, border-color .15s;
}
.chm-tab:hover{ border-color: var(--gold); color: var(--gold-deep); }
.chm-tab.is-active{
  background: var(--gold); border-color: var(--gold); color: #fff;
}
.chm-tab.is-active:hover{ color: #fff; }

/* фильтр по команде над таблицей игроков */
.chm-sts-filter{ margin: 0 0 14px; }
.chm-sts-filter .chm-filter{ display: inline-flex; }

/* сортировка по заголовкам */
.chm-sortable{ cursor: pointer; user-select: none; }
.chm-sortable:hover{ color: var(--gold-deep); }
.chm-sortable.is-active{ color: var(--gold-deep); }

/* карточки лидеров */
.chm-lb{
  background: var(--surface); border: 1px solid var(--line);
  box-shadow: var(--shadow-card); padding: 18px 20px 8px; min-width: 0;
}
.chm-lb-head{
  display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap;
  font-family: 'Inter', Arial, sans-serif; font-size: 18px;
  margin-bottom: 6px; padding-bottom: 8px; border-bottom: 2px solid var(--gold);
}
.chm-lb-note{
  font: 400 12px/1.3 var(--sans); color: var(--text-3);
  margin-left: auto; text-transform: none; letter-spacing: 0;
}
.chm-lb-list{ list-style: none; margin: 0; padding: 0; }
.chm-lb-item{
  display: flex; align-items: center; gap: 12px;
  padding: 10px 0; border-bottom: 1px solid var(--line);
}
.chm-lb-item:last-child{ border-bottom: 0; }
.chm-lb-place{
  width: 22px; flex: none; text-align: center;
  font-family: var(--t-display); font-weight: 700; font-size: 15px;
  color: var(--text-3);
}
.chm-lb-ava{ flex: none; display: inline-flex; }
.chm-lb-name{
  display: flex; flex-direction: column; gap: 2px; min-width: 0;
  font-weight: 600; font-size: 14px; color: var(--text-1);
}
.chm-lb-name i{
  font-style: normal; font-weight: 400; font-size: 12px; color: var(--text-3);
}
.chm-lb-val{
  margin-left: auto; flex: none; text-align: right;
  display: flex; flex-direction: column; gap: 2px;
}
.chm-lb-val b{
  font-family: var(--t-display); font-weight: 700; font-size: 18px;
  color: var(--ink); line-height: 1.1;
}
.chm-lb-val i{
  font-style: normal; font-size: 11px; color: var(--text-3);
}

@media (max-width: 900px){.chm-tables{ grid-template-columns: 1fr; }



}
/* На телефоне скрываем второстепенные колонки турнирной таблицы —
   так же, как на эталонной странице «Первенства Москвы». */
@media (max-width: 700px){.chm-table-standings th:nth-child(5), .chm-table-standings td:nth-child(5),
  .chm-table-standings th:nth-child(7), .chm-table-standings td:nth-child(7){ display: none; }
.chm-table-standings th, .chm-table-standings td{ padding: 10px 8px; }
.chm-table-standings .chm-tname{ white-space: normal; }
.chm-table-standings .chm-pl{ width: 34px; }

}
@media (max-width: 860px){
.chm-match-team, .chm-match-team-b{ flex-direction: row; text-align: left; }
.chm-match-team span{ white-space: normal; overflow-wrap: anywhere; min-width: 0; }
.chm-ko-match{ grid-template-columns: 1fr 56px 1fr; }
.chm-ko-side-b{ flex-direction: row; text-align: left; }
.chm-card-stats{ grid-template-columns: repeat(2, 1fr); }



}
/* ==== архив: соревнования из Google Sheets ==== */
/* Название команды переносится — иначе длинные названия наезжают
   на числовые колонки. Заголовки и числа остаются в одну строку. */
.chm-table-card .chm-table td{ white-space: normal; }
.chm-table-card .chm-table th{ white-space: nowrap; }
.chm-table-card .chm-table td.chm-td{ white-space: nowrap; }
.mf-nav-caret{
  display: inline-block; width: 0; height: 0; margin-left: 6px; vertical-align: middle;
  border-left: 4px solid transparent; border-right: 4px solid transparent;
  border-top: 5px solid currentColor; opacity: .6; transition: transform .15s;
}
/* --- карточки новостей --- */
.chm-news-grid{ display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 22px; }
.chm-news-card{
  display: flex; flex-direction: column; overflow: hidden;
  background: var(--surface); border: 1px solid var(--line);
  color: var(--text-1); text-decoration: none;
  transition: transform .18s, box-shadow .18s, border-color .18s;
}
.chm-news-card:hover{
  transform: translateY(-3px);
  box-shadow: 0 14px 34px rgba(37,37,142,0.14);
  border-color: rgba(235,57,65,0.5);
}
.chm-news-card-img{ aspect-ratio: 16 / 9; background: var(--surface-3); overflow: hidden; }
.chm-news-card-img.is-empty{ background: linear-gradient(135deg, var(--ink) 0%, var(--ink-3) 100%); }
.chm-news-cover{ width: 100%; height: 100%; object-fit: cover; object-position: 50% 18%; display: block; }
.chm-news-card-body{ padding: 18px 20px 22px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
.chm-news-card-meta{ display: flex; align-items: center; gap: 12px; font-size: 12px; color: var(--text-2); }
.chm-news-date{ font-variant-numeric: tabular-nums; }
.chm-news-cat{ color: var(--crimson); font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; font-size: 11px; }
.chm-news-card h3{ font-family: var(--t-display); font-size: 18px; line-height: 1.3; margin: 0; }
.chm-news-card p{ margin: 0; font-size: 14px; line-height: 1.55; color: var(--text-2); }
.chm-news-more-row{ display: flex; justify-content: center; margin-top: 30px; }
.chm-empty{ color: var(--text-2); padding: 26px 0; font-size: 15px; }
/* --- страница новости --- */
.chm-news-cover-wrap{ max-width: 1000px; }
.chm-news-cover-lg{ width: 100%; height: auto; display: block; }
.chm-article-body{ max-width: 800px; font-size: 16px; line-height: 1.7; color: var(--text-1); }
.chm-article-body h2{ font-size: 26px; margin: 30px 0 12px; }
.chm-article-body h3{ font-size: 20px; margin: 24px 0 10px; }
.chm-article-body p{ margin: 0 0 14px; }
.chm-article-body ul, .chm-article-body ol{ margin: 0 0 16px; padding-left: 22px; }
.chm-article-body img{ max-width: 100%; height: auto; }
.chm-article-body a{ color: var(--ink); }
.chm-article-body table{ width: 100%; border-collapse: collapse; margin-bottom: 18px; }
.chm-article-body th, .chm-article-body td{ border: 1px solid var(--line); padding: 8px 10px; font-size: 14px; text-align: left; }
.chm-article-body blockquote{
  margin: 0 0 16px; padding: 12px 18px;
  border-left: 3px solid var(--crimson); background: var(--surface-2);
}
.chm-article-nav{ display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 40px; }
.chm-article-nav-item{
  border: 1px solid var(--line); padding: 14px 16px; text-decoration: none;
  color: var(--text-1); display: flex; flex-direction: column; gap: 6px; background: var(--surface);
}
.chm-article-nav-item.is-next{ text-align: right; }
.chm-article-nav-item span{ font-size: 11px; color: var(--crimson); text-transform: uppercase; letter-spacing: 0.06em; }
.chm-article-nav-item b{ font-size: 15px; line-height: 1.35; }
.chm-article-nav-item:hover{ border-color: var(--crimson); }
.chm-gallery{ display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 16px; }
.chm-gallery-item{ margin: 0; }
.chm-gallery-img{ width: 100%; height: 210px; object-fit: cover; display: block; background: var(--surface-3); }
.chm-gallery-item figcaption{ font-size: 12px; color: var(--text-2); padding-top: 8px; }
/* --- федерация: руководство --- */
.chm-lead-grid{ display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 20px; }
.chm-lead-grid.is-3{ grid-template-columns: repeat(3, 1fr); }
.chm-lead-grid.is-lead{ grid-template-columns: minmax(0, 520px); justify-content: start; }
.chm-lead-h{
  font-size: 22px; margin: 34px 0 16px; padding-bottom: 10px;
  border-bottom: 1px solid var(--line);
}
.chm-lead-h:first-child{ margin-top: 0; }
.chm-lead-card{ background: var(--surface); border: 1px solid var(--line); padding: 24px 22px; text-align: center; }
.chm-lead-card.is-top{ padding: 32px 30px; }
.chm-lead-photo{
  width: 96px; height: 96px; margin: 0 auto 14px; border-radius: 50%;
  overflow: hidden; background: var(--surface-3);
}
.chm-lead-card.is-top .chm-lead-photo{ width: 220px; height: 220px; border-radius: 0; }
.chm-lead-card.is-top h3{ font-size: 24px; }
.chm-lead-card.is-top .chm-lead-pos{ font-size: 15px; }
.chm-lead-grid.is-3 .chm-lead-photo{ width: 140px; height: 140px; border-radius: 0; }
.chm-lead-grid.is-3 .chm-lead-card h3{ font-size: 17px; }
@media (max-width: 900px){.chm-lead-grid.is-3{ grid-template-columns: repeat(2, 1fr); }
.chm-lead-card.is-top .chm-lead-photo{ width: 160px; height: 160px; }



}
@media (max-width: 620px){.chm-lead-grid.is-3{ grid-template-columns: 1fr; }



}
.chm-lead-photo.is-initials{
  display: flex; align-items: center; justify-content: center;
  background: var(--ink); color: #fff; font-size: 28px; font-weight: 800;
}
.chm-lead-img{ width: 100%; height: 100%; object-fit: cover; display: block; }
.chm-lead-card h3{ font-size: 18px; margin: 0 0 4px; }
.chm-lead-pos{ color: var(--crimson); font-size: 13px; font-weight: 600; margin-bottom: 8px; }
.chm-lead-bio{ font-size: 14px; color: var(--text-2); line-height: 1.55; margin: 0 0 10px; }
.chm-lead-contacts{ display: flex; flex-direction: column; gap: 4px; font-size: 13px; }
.chm-lead-contacts a{ color: var(--ink); text-decoration: none; }
.chm-lead-contacts a:hover{ color: var(--crimson); }
/* --- федерация: документы --- */
.chm-doc-toolbar{ display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin-bottom: 22px; }
.chm-doc-input{
  flex: 1 1 220px; max-width: 340px; padding: 10px 14px;
  border: 1px solid var(--line); background: var(--surface); font-family: inherit; font-size: 14px;
}
.chm-doc-input:focus{ outline: 2px solid rgba(235,57,65,0.35); outline-offset: 1px; }
.chm-doc-filters{ display: flex; flex-wrap: wrap; gap: 8px; }
.chm-doc-filter{
  border: 1px solid var(--line); background: var(--surface); padding: 8px 14px;
  font-family: inherit; font-size: 13px; font-weight: 600; cursor: pointer; color: var(--text-2);
}
.chm-doc-filter:hover{ border-color: var(--crimson); color: var(--crimson); }
.chm-doc-filter.is-active{ border-color: var(--crimson); color: #fff; background: var(--crimson); }
.chm-doc-count{ font-size: 13px; color: var(--text-2); }
.chm-doc-list{ display: flex; flex-direction: column; border-top: 1px solid var(--line); }
.chm-doc-row{
  display: flex; gap: 16px; align-items: center; justify-content: space-between;
  padding: 16px 4px; border-bottom: 1px solid var(--line); flex-wrap: wrap;
}
.chm-doc-info b{ display: block; font-size: 15px; }
.chm-doc-meta{ font-size: 12px; color: var(--text-2); }
.chm-doc-acts{ display: flex; gap: 8px; }
.chm-btn-doc{
  border: 1px solid var(--line); padding: 8px 14px; font-size: 13px;
  text-decoration: none; color: var(--ink); background: var(--surface);
}
.chm-btn-doc:hover{ border-color: var(--crimson); color: var(--crimson); }
.chm-btn-doc.is-dl{ color: #fff; background: var(--ink); border-color: var(--ink); }
.chm-btn-doc.is-dl:hover{ background: var(--crimson); border-color: var(--crimson); color: #fff; }
/* --- федерация: партнёры --- */
.chm-partner-grid{ display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 20px; }
.chm-partner-card{
  border: 1px solid var(--line); background: var(--surface); padding: 24px 22px;
  text-align: center; display: flex; flex-direction: column; gap: 10px; align-items: center;
}
.chm-partner-logo{ height: 66px; display: flex; align-items: center; justify-content: center; }
.chm-partner-img{ max-height: 62px; max-width: 100%; object-fit: contain; }
.chm-partner-none{
  width: 56px; height: 56px; border-radius: 50%; background: var(--ink); color: #fff;
  display: flex; align-items: center; justify-content: center; font-size: 24px; font-weight: 800;
}
.chm-partner-card h3{ font-size: 16px; margin: 0; }
.chm-partner-card p{ font-size: 13px; color: var(--text-2); margin: 0; }
/* --- федерация: контакты и площадки --- */
.chm-contacts-grid{ display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 16px; margin-bottom: 34px; }
.chm-contact-item{
  border: 1px solid var(--line); background: var(--surface); padding: 16px 18px;
  display: flex; flex-direction: column; gap: 4px; font-size: 14px;
}
.chm-contact-item b{ font-size: 12px; text-transform: uppercase; letter-spacing: 0.06em; color: var(--crimson); }
.chm-contact-name{ color: var(--text-2); }
.chm-contact-item a{ color: var(--ink); text-decoration: none; }
.chm-contact-item a:hover{ color: var(--crimson); }
.chm-venue-grid{ display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 20px; margin-bottom: 34px; }
.chm-venue-card{ border: 1px solid var(--line); background: var(--surface); overflow: hidden; }
.chm-venue-photo{ aspect-ratio: 16 / 10; background: var(--surface-3); }
.chm-venue-img{ width: 100%; height: 100%; object-fit: cover; display: block; }
.chm-venue-body{ padding: 18px 20px 22px; }
.chm-venue-body h3{ font-size: 18px; margin: 0 0 8px; }
.chm-venue-addr{ margin: 0 0 6px; font-size: 14px; }
.chm-venue-addr a{ color: var(--ink); text-decoration: none; }
.chm-venue-addr a:hover{ color: var(--crimson); }
.chm-venue-note{ margin: 0 0 4px; font-size: 13px; color: var(--text-2); }
/* --- служебное --- */
.chm-page-lead{ font-size: 17px; color: var(--text-2); margin: 0 0 18px; }
.chm-home-news:empty{ display: none; }
.chm-skel-grid{ display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 22px; }
.chm-skel{
  height: 240px;
  background: linear-gradient(100deg, var(--surface-2) 30%, var(--surface-3) 50%, var(--surface-2) 70%);
  background-size: 300% 100%;
  animation: chm-shimmer 1.3s ease-in-out infinite;
}
@keyframes chm-shimmer{0%{ background-position: 100% 0; }
100%{ background-position: 0 0; }



}
@media (max-width: 760px){.chm-news-grid, .chm-skel-grid{ grid-template-columns: 1fr; }
.chm-gallery{ grid-template-columns: 1fr; }
.chm-article-nav{ grid-template-columns: 1fr; }
.chm-article-nav-item.is-next{ text-align: left; }
.chm-doc-row{ flex-direction: column; align-items: flex-start; gap: 10px; }
.chm-news-more-row .chm-btn{ width: 100%; text-align: center; }



}
.chm-venue-photo.is-empty{
  background: linear-gradient(135deg, var(--ink) 0%, var(--ink-3) 100%);
  display: flex; align-items: center; justify-content: center;
}
.chm-venue-photo.is-empty span{
  width: 62px; height: 62px; border-radius: 50%;
  border: 2px solid rgba(255,255,255,0.5);
  color: #fff; font-size: 26px; font-weight: 800;
  display: flex; align-items: center; justify-content: center;
}
/* --- архив: пляжные/PM-таблицы и пиллы --- */
.chm-reschedule{
  font-size: 11px; color: var(--gold); white-space: nowrap;
  margin-top: 1px;
}
.chm-td{ vertical-align: top; }
.chm-tag-muted{ background: #f1f3f7; color: #555; padding: 1px 6px; border-radius: 4px; font-size: 12px; }
.chm-pill{
  display: inline-block;
  padding: 6px 12px;
  border-radius: 999px;
  border: 1px solid var(--line);
  background: var(--surface);
  color: var(--text-1);
  font-size: 14px;
  text-decoration: none;
  white-space: nowrap;
  transition: border-color .15s, color .15s;
}
.chm-pill:hover{ border-color: var(--gold); color: var(--gold); }
.chm-pill small{ color: #777; font-weight: 400; }
.chm-pm-tabs{
  display: flex; flex-wrap: wrap; gap: 8px;
  margin-top: 10px;
}
.chm-pm-group{ margin-bottom: 30px; }
.chm-pm-group-head{ display: flex; justify-content: space-between; align-items: baseline;
  margin: 16px 0 12px; padding-bottom: 6px; border-bottom: 2px solid var(--gold); }
.chm-pm-group-head h3{ margin: 0; }
.chm-pm-group-head span{ color: #777; font-size: 13px; }
.chm-stage-card{ margin-top: 16px; }
.chm-stage-head{
  display: flex; flex-wrap: wrap; gap: 6px;
  padding: 8px 12px;
  background: rgba(37,37,142,.05);
  border-left: 3px solid var(--blue, #25258e);
  border-radius: 4px;
  margin-bottom: 10px;
}
.chm-stage-round{ margin-bottom: 14px; scroll-margin-top: 90px; }
.chm-stage-table{ margin: 10px 0 16px; }
.chm-stage-round-title{
  font-weight: 600; color: var(--text-1);
  margin: 8px 0 6px; font-size: 14px;
}
.chm-stage-round-title small{ font-weight: 400; color: #777; }
.chm-stage-head .chm-pill{ font-size: 13px; padding: 4px 10px; }
.chm-block-anchor{ scroll-margin-top: 90px; margin-bottom: 22px; }
/* ------------------------------------------------- трансляция матча */
.chm-stream{
  background: var(--ink-2); border: 1px solid var(--line);
  border-radius: 14px; overflow: hidden;
}
.chm-stream-head{
  display: flex; align-items: center; justify-content: space-between;
  gap: 16px; padding: 14px 18px; border-bottom: 1px solid var(--line);
}
.chm-stream-head b{ font: 700 15px/1.2 var(--sans); color: var(--text-on-dark); }
.chm-stream-btn{
  border: 1px solid var(--gold); background: var(--gold); color: #fff;
  font: 700 13px/1 var(--sans); padding: 9px 18px; border-radius: 999px;
  cursor: pointer; transition: background .15s;
}
.chm-stream-btn:hover:not(:disabled){ background: var(--gold-2); border-color: var(--gold-2); }
.chm-stream-btn:disabled{ opacity: .6; cursor: default; }
.chm-stream-box{ background: #000; aspect-ratio: 16 / 9; }
.chm-stream-video{ width: 100%; height: 100%; display: block; background: #000; }
.chm-stream-hint, .chm-stream-err{
  display: flex; align-items: center; justify-content: center;
  min-height: 180px; margin: 0; padding: 20px; text-align: center;
  color: rgba(255,255,255,.7); font: 400 14px/1.5 var(--sans);
}
.chm-stream-err{ color: #ff9b9b; }
/* Статистика матча: команды идут подряд, не в две колонки */
.chm-stats-stack{ display: flex; flex-direction: column; gap: 28px; }
.chm-stats-stack .chm-team-card{
  background: var(--surface); border: 1px solid var(--line); border-radius: 14px;
  padding: 18px 20px;
  /* карточка команды — грид; без minmax(0,1fr) широкая таблица
     статистики распирает её и всю страницу */
  grid-template-columns: minmax(0, 1fr); justify-items: stretch;
  min-width: 0; max-width: 100%;
}
.chm-stats-stack .chm-team-card > *{ min-width: 0; max-width: 100%; }
/* матч без назначенного времени и без сыгранного счёта */
.chm-match-time-tbd{ color: var(--text-3); font-weight: 400; font-size: 13px; }
.chm-match-score-tbd{ color: var(--text-3); font-weight: 400; font-size: 13px; }
/* Кнопка перехода к соседнему турниру (другой пол) */
.chm-btn-sibling{
  margin-left: auto;
  background: var(--surface-2);
  border: 1px solid var(--gold);
  color: var(--gold-deep);
}
.chm-btn-sibling span{ font-size: 14px; margin-left: 6px; }
.chm-btn-sibling:hover{ background: var(--gold); color: #fff; }
/* заголовок этапа/группы над блоком матчей дня */
.chm-day-stage{
  display: flex; align-items: baseline; gap: 10px;
  padding: 14px 18px 10px;
  background: var(--surface-2);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.chm-day-stage b{
  font-size: 17px; letter-spacing: .01em; color: var(--text-1);
  font-family: 'Inter', Arial, sans-serif; font-weight: 700;
}
.chm-day-stage span{
  font-size: 11px; color: var(--text-3);
  text-transform: uppercase; letter-spacing: .06em;
}
/* строка без колонки этапа — он вынесен в заголовок выше */
.chm-match.no-stage{ grid-template-columns: 56px 1fr 78px 1fr; }
.chm-match.no-stage .chm-match-meta{ grid-column: 2 / 4; grid-row: 2; }
@media (max-width: 760px){.chm-match.no-stage{ grid-template-columns: 46px 1fr; }
.chm-match.no-stage .chm-match-meta{ grid-column: 2; grid-row: 2; }



}
/* ─── Аудит 23.10: узкие экраны ─── */
/* «Текущий сезон 2026 / 2027» — 276px с white-space:nowrap — выдавливал
   заголовок секции и давал боковой скролл до 120px на ширине 360px.
   Ссылка переносится на вторую строку, а не выходит за край. */
@media (max-width: 620px){.section-head{ flex-wrap: wrap; gap: 14px; margin-bottom: 28px; padding-bottom: 18px; }
.section-head > div{ min-width: 0; }
.section-head .section-title{ overflow-wrap: anywhere; }
.section-link{ white-space: normal; text-align: left; }

}
/* ─── Поиск по турниру и ближайший матч (23.10) ─── */
.chm-next{
  display: flex; align-items: center; gap: 14px; flex-wrap: wrap;
  margin-top: 22px; padding: 14px 20px; border-radius: 14px;
  background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.14);
  color: #E8E8F2;
}
.chm-next-label{
  font-size: 11px; letter-spacing: .16em; text-transform: uppercase;
  color: var(--gold-2); font-weight: 700; flex: 0 0 auto;
}
.chm-next-pair{ color: #fff; font-weight: 700; font-size: 16px; text-decoration: none; }
.chm-next-pair:hover{ color: var(--gold-2); }
.chm-next-pair span{ color: rgba(255,255,255,.45); margin: 0 4px; }
.chm-next-meta{ color: rgba(255,255,255,.65); font-size: 13px; }
.chm-next-count{
  margin-left: auto; padding: 6px 14px; border-radius: 999px;
  background: var(--gold); color: #fff; font-size: 13px; font-weight: 700; white-space: nowrap;
}
.chm-search{ position: relative; margin-top: 26px; max-width: 620px; }
.chm-search-label{
  display: block; font-size: 11px; letter-spacing: .16em; text-transform: uppercase;
  color: rgba(255,255,255,.55); font-weight: 700; margin-bottom: 8px;
}
.chm-search-box{ position: relative; }
.chm-search-input{
  width: 100%; padding: 13px 18px; border-radius: 12px; font-size: 16px;
  border: 1px solid rgba(255,255,255,.22); background: rgba(255,255,255,.08); color: #fff;
}
.chm-search-input::placeholder{ color: rgba(255,255,255,.45); }
.chm-search-input:focus{ outline: none; border-color: var(--gold); background: rgba(255,255,255,.12); }
.chm-search-out{
  position: absolute; z-index: 40; top: calc(100% + 8px); left: 0; right: 0;
  background: var(--surface); border: 1px solid var(--line); border-radius: 14px;
  box-shadow: 0 18px 44px rgba(10,10,60,.28); overflow: hidden; max-height: 60vh; overflow-y: auto;
}
.chm-search-item{
  display: flex; align-items: center; gap: 12px; padding: 10px 16px;
  text-decoration: none; color: var(--text-1); border-bottom: 1px solid var(--line);
}
.chm-search-item:last-child{ border-bottom: 0; }
.chm-search-item:hover, .chm-search-item:focus-visible{ background: var(--surface-2); }
.chm-search-photo{ width: 34px; height: 34px; flex: 0 0 34px; display: block; }
.chm-search-photo .chm-avatar, .chm-search-photo img{ width: 34px !important; height: 34px !important; }
.chm-search-item b{ display: block; font-size: 15px; line-height: 1.25; }
.chm-search-item small{ display: block; color: var(--text-2); font-size: 13px; }
.chm-search-none{ margin: 0; padding: 14px 16px; color: var(--text-2); font-size: 14px; }
.chm-search-hint{ margin: 10px 0 0; color: rgba(255,255,255,.5); font-size: 13px; }
.chm-search-chip{
  display: inline-block; padding: 2px 10px; border-radius: 999px; cursor: pointer;
  border: 1px solid rgba(255,255,255,.22); color: rgba(255,255,255,.8); font-size: 12px;
}
.chm-search-chip:hover{ border-color: var(--gold); color: var(--gold-2); }
@media (max-width: 620px){.chm-next-count{ margin-left: 0; }



}
/* ═══════════════════════════════════════════════════════════════
   Федерация: «О федерации» и «Руководство» (редизайн 26.10.2026)
   ═══════════════════════════════════════════════════════════════ */

.fed-kicker{
  display: inline-flex; align-items: center; gap: 10px;
  font-size: 11px; letter-spacing: .18em; text-transform: uppercase;
  font-weight: 700; color: var(--crimson);
}
.fed-kicker::before{
  content: ''; width: 28px; height: 2px; background: var(--crimson); display: block;
}
/* ─── первый экран «О федерации» ─── */
.fed-about-hero{
  position: relative; overflow: hidden;
  background:
    radial-gradient(1100px 520px at 78% -20%, rgba(235,57,65,.28), transparent 62%),
    linear-gradient(155deg, #14144F 0%, #1D1D74 52%, #2A2A95 100%);
  color: #fff;
  isolation: isolate;
}
.fed-about-hero::after{
  content: ''; position: absolute; inset: 0; z-index: -1;
  background-image:
    repeating-linear-gradient(90deg, rgba(255,255,255,.05) 0 1px, transparent 1px 100%);
  background-size: 96px 100%;
  opacity: .5;
}
.fed-about-hero-in{
  display: grid; grid-template-columns: minmax(0, 1.02fr) minmax(0, .98fr);
  gap: clamp(28px, 5vw, 68px); align-items: center;
  padding: clamp(40px, 6vw, 84px) 0 clamp(44px, 6vw, 78px);
}
.fed-about-hero h1{
  font-size: clamp(32px, 4.6vw, 62px); line-height: 1.02; letter-spacing: -.015em;
  font-weight: 800; margin: 18px 0 20px; color: #fff;
}
.fed-about-hero h1 em{
  font-style: normal; color: #FF5A61;
}
.fed-about-lead{
  max-width: 560px; font-size: clamp(15px, 1.3vw, 18px); line-height: 1.62;
  color: rgba(240,241,250,.82); margin: 0;
}
.fed-hero-actions{ display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.fed-btn{
  display: inline-flex; align-items: center; gap: 9px;
  padding: 13px 22px; border-radius: 2px; text-decoration: none;
  font-size: 14px; font-weight: 700; letter-spacing: .01em;
  background: var(--crimson); color: #fff; border: 1px solid var(--crimson);
  transition: .18s;
}
.fed-btn:hover{ background: #F14C53; border-color: #F14C53; }
.fed-btn.is-ghost{ background: transparent; border-color: rgba(255,255,255,.32); color: #fff; }
.fed-btn.is-ghost:hover{ border-color: #fff; background: rgba(255,255,255,.08); }
.fed-btn.is-dark{ background: var(--ink); border-color: var(--ink); }
.fed-btn.is-dark:hover{ background: #33339F; border-color: #33339F; }
.fed-hero-figure{ margin: 0; position: relative; }
.fed-hero-figure img{
  width: 100%; height: auto; display: block;
  aspect-ratio: 3 / 4; object-fit: cover; object-position: 50% 42%;
  border-radius: 2px;
}
.fed-hero-figure::before{
  content: ''; position: absolute; inset: 14px -14px -14px 14px;
  border: 1px solid rgba(255,255,255,.22); border-radius: 2px; z-index: -1;
}
.fed-hero-figure figcaption{
  margin-top: 14px; font-size: 12px; letter-spacing: .04em;
  color: rgba(240,241,250,.6); text-transform: uppercase;
}
/* ─── секция «О федерации»: цель ─── */
.fed-sec{ padding: clamp(48px, 6vw, 92px) 0; }
.fed-sec--surface{ background: var(--surface); }
.fed-sec-head{ max-width: 820px; margin-bottom: clamp(26px, 3vw, 44px); }
.fed-sec-head h2{
  font-size: clamp(24px, 3vw, 40px); line-height: 1.08; letter-spacing: -.01em;
  font-weight: 800; color: var(--ink); margin: 14px 0 0;
}
.fed-split{
  display: grid; grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
  gap: clamp(24px, 4vw, 64px); align-items: start;
}
.fed-goal{
  font-size: clamp(22px, 2.6vw, 34px); line-height: 1.18; font-weight: 800;
  color: var(--ink); letter-spacing: -.01em; margin: 0 0 18px;
  position: relative; padding-left: 24px;
}
.fed-goal::before{
  content: ''; position: absolute; left: 0; top: 6px; bottom: 6px; width: 4px;
  background: linear-gradient(180deg, var(--crimson), #FF8A5C);
}
.fed-prose p{
  font-size: 16px; line-height: 1.72; color: var(--text-1); margin: 0 0 16px;
}
.fed-prose p:last-child{ margin-bottom: 0; }
.fed-prose b, .fed-prose strong{ color: var(--ink); }
/* ─── масштаб: инфографика ─── */
.fed-scale{
  background: var(--ink); color: #fff;
  padding: clamp(46px, 6vw, 86px) 0;
  position: relative; overflow: hidden;
}
.fed-scale::before{
  content: ''; position: absolute; right: -140px; top: -140px;
  width: 420px; height: 420px; border-radius: 50%;
  background: radial-gradient(circle, rgba(235,57,65,.34), transparent 68%);
}
.fed-scale .fed-kicker{ color: #FF7A80; }
.fed-scale .fed-kicker::before{ background: #FF7A80; }
.fed-scale h2{
  font-size: clamp(24px, 3vw, 40px); font-weight: 800; line-height: 1.08;
  margin: 14px 0 8px; letter-spacing: -.01em; color: #fff;
}
.fed-scale-lead{ max-width: 720px; color: rgba(240,241,250,.72); font-size: 16px; line-height: 1.62; margin: 0; }
.fed-metrics{
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0; margin-top: clamp(30px, 4vw, 52px);
  border-top: 1px solid rgba(255,255,255,.18);
}
.fed-metric{
  padding: 26px 22px 4px 0; position: relative;
}
.fed-metric + .fed-metric{ padding-left: 26px; border-left: 1px solid rgba(255,255,255,.16); }
.fed-metric b{
  display: block; font-size: clamp(30px, 4vw, 50px); line-height: 1; font-weight: 800;
  letter-spacing: -.02em; color: #fff;
}
.fed-metric b i{ font-style: normal; color: #FF5A61; }
.fed-metric span{
  display: block; margin-top: 10px; font-size: 13px; line-height: 1.5;
  color: rgba(240,241,250,.72); max-width: 220px;
}
.fed-scale-note{
  margin: 30px 0 0; font-size: 12px; line-height: 1.6; color: rgba(240,241,250,.45);
  max-width: 720px;
}
/* ─── направления деятельности ─── */
.fed-dirs{
  display: grid; grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 18px;
}
.fed-dir{
  grid-column: span 2; display: flex; flex-direction: column;
  background: #fff; border: 1px solid var(--line);
  overflow: hidden; position: relative;
  transition: .2s;
}
.fed-dir:hover{ border-color: #C3C3DD; box-shadow: 0 14px 34px rgba(20,20,80,.09); }
.fed-dir.is-wide{ grid-column: span 3; }
.fed-dir-img{ position: relative; }
.fed-dir-img img{
  width: 100%; height: auto; display: block;
  aspect-ratio: 16 / 10; object-fit: cover;
}
.fed-dir.is-wide .fed-dir-img img{ aspect-ratio: 16 / 9; }
.fed-dir-body{ padding: 20px 22px 24px; display: flex; flex-direction: column; flex: 1; }
.fed-dir-num{
  font-size: 11px; font-weight: 700; letter-spacing: .16em; color: var(--crimson);
  margin-bottom: 10px;
}
.fed-dir h3{
  font-size: 19px; line-height: 1.22; font-weight: 800; color: var(--ink);
  margin: 0 0 8px; letter-spacing: -.01em;
}
.fed-dir.is-wide h3{ font-size: 23px; }
.fed-dir p{ margin: 0; font-size: 14px; line-height: 1.6; color: var(--text-2); }
.fed-dir.is-plain{
  background: linear-gradient(160deg, #F6F6FC 0%, #ECECF7 100%);
  justify-content: flex-end; min-height: 240px;
}
.fed-dir.is-plain::before{
  content: ''; position: absolute; right: -40px; top: -40px; width: 160px; height: 160px;
  border: 18px solid rgba(235,57,65,.12); border-radius: 50%;
}
.fed-dir.is-plain .fed-dir-body{ position: relative; }
/* ─── путь спортсмена ─── */
.fed-path{
  display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0;
  margin-top: 8px; position: relative;
}
.fed-path::before{
  content: ''; position: absolute; left: 0; right: 0; top: 17px; height: 1px;
  background: var(--line);
}
.fed-step{ padding: 0 18px 0 0; position: relative; }
.fed-step-dot{
  width: 35px; height: 35px; border-radius: 50%; display: flex;
  align-items: center; justify-content: center; position: relative; z-index: 1;
  background: #fff; border: 1px solid var(--line);
  font-size: 12px; font-weight: 800; color: var(--ink);
}
.fed-step:first-child .fed-step-dot{ background: var(--crimson); border-color: var(--crimson); color: #fff; }
.fed-step h3{
  font-size: 15px; font-weight: 800; color: var(--ink); margin: 16px 0 6px; line-height: 1.25;
}
.fed-step p{ margin: 0; font-size: 13px; line-height: 1.55; color: var(--text-2); }
/* ─── финальный акцент ─── */
.fed-final{
  background: linear-gradient(150deg, #17174F 0%, #20207B 60%, #2A2A95 100%);
  color: #fff; padding: clamp(48px, 6vw, 92px) 0; position: relative; overflow: hidden;
}
.fed-final::after{
  content: ''; position: absolute; right: calc(50% - 640px); bottom: -180px;
  width: 420px; height: 420px; border: 26px solid rgba(255,255,255,.05); border-radius: 50%;
}
.fed-final-in{ max-width: 860px; position: relative; }
.fed-final h2{
  font-size: clamp(26px, 3.6vw, 46px); line-height: 1.08; font-weight: 800;
  letter-spacing: -.015em; margin: 16px 0 22px; color: #fff;
}
.fed-final h2 em{ font-style: normal; color: #FF5A61; }
.fed-final p{ margin: 0 0 16px; font-size: 17px; line-height: 1.68; color: rgba(240,241,250,.8); max-width: 720px; }
.fed-final .fed-btn{ margin-top: 16px; }
/* ─── руководство ─── */
.fed-lead-hero{
  background:
    radial-gradient(900px 420px at 20% -10%, rgba(235,57,65,.22), transparent 60%),
    linear-gradient(155deg, #14144F 0%, #1D1D74 60%, #2A2A95 100%);
  color: #fff; position: relative; overflow: hidden;
}
.fed-lead-hero-in{
  padding: clamp(38px, 5vw, 68px) 0 clamp(38px, 5vw, 58px);
  display: flex; align-items: flex-end; justify-content: space-between; gap: 28px; flex-wrap: wrap;
}
.fed-lead-hero h1{
  font-size: clamp(32px, 4.2vw, 54px); font-weight: 800; line-height: 1.04;
  letter-spacing: -.015em; margin: 16px 0 14px; color: #fff;
}
.fed-lead-hero .fed-about-lead{ max-width: 620px; }
.fed-lead-count{
  border-left: 1px solid rgba(255,255,255,.25); padding-left: 22px; margin-bottom: 6px;
}
.fed-lead-count b{ display: block; font-size: 40px; line-height: 1; font-weight: 800; color: #FF5A61; }
.fed-lead-count span{ font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: rgba(240,241,250,.6); }
.fed-pres{
  display: grid; grid-template-columns: minmax(0, 300px) minmax(0, 1fr);
  gap: clamp(24px, 4vw, 56px); align-items: center;
  padding: clamp(24px, 3vw, 36px);
  background: var(--surface); border: 1px solid var(--line);
}
.fed-pres-img{
  width: 100%; aspect-ratio: 1 / 1; object-fit: cover; object-position: 50% 12%;
  display: block; background: var(--surface-2);
}
.fed-pres-role{
  font-size: 11px; letter-spacing: .18em; text-transform: uppercase;
  font-weight: 700; color: var(--crimson); margin-bottom: 12px;
}
.fed-pres h2{
  font-size: clamp(26px, 3.2vw, 40px); line-height: 1.08; font-weight: 800;
  color: var(--ink); letter-spacing: -.015em; margin: 0 0 12px;
}
.fed-pres-pos{ font-size: 16px; color: var(--text-2); margin: 0; }
.fed-pres-contacts{ display: flex; flex-wrap: wrap; gap: 14px; margin-top: 18px; font-size: 14px; }
.fed-pres-contacts a{ color: var(--ink); font-weight: 600; }
.fed-vice{
  display: grid; grid-template-columns: minmax(0, 300px) minmax(0, 1fr);
  gap: clamp(24px, 4vw, 56px); align-items: center; margin-top: 18px;
  padding: clamp(24px, 3vw, 36px);
  border: 1px solid var(--line); background: var(--surface);
}
.fed-vice-img{
  width: 100%; aspect-ratio: 1 / 1; object-fit: cover; object-position: 50% 12%;
  display: block; background: var(--surface-2);
}
.fed-vice h2{
  font-size: clamp(26px, 3.2vw, 40px); line-height: 1.08; font-weight: 800;
  color: var(--ink); letter-spacing: -.015em; margin: 0 0 12px;
}
.fed-people{
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px;
}
.fed-person{
  display: flex; flex-direction: column; background: #fff;
  border: 1px solid var(--line); transition: .18s;
}
.fed-person:hover{ border-color: #C3C3DD; box-shadow: 0 12px 30px rgba(20,20,80,.08); }
.fed-person-img{
  width: 100%; aspect-ratio: 1 / 1; object-fit: cover; object-position: 50% 12%;
  display: block; background: var(--surface-2);
}
.fed-person-body{ padding: 16px 18px 20px; }
.fed-person h3{ font-size: 17px; font-weight: 800; color: var(--ink); margin: 0 0 4px; line-height: 1.25; }
.fed-person span{ font-size: 13px; color: var(--crimson); font-weight: 600; }
.fed-person.is-compact .fed-person-body{ padding: 13px 16px 16px; }
.fed-person.is-compact h3{ font-size: 15px; }
.fed-group{ margin-top: clamp(30px, 4vw, 52px); }
.fed-group-head{
  display: flex; align-items: baseline; gap: 16px; margin-bottom: 18px;
  padding-bottom: 12px; border-bottom: 1px solid var(--line);
}
.fed-group-head h2{
  font-size: clamp(20px, 2.2vw, 28px); font-weight: 800; color: var(--ink);
  margin: 0; letter-spacing: -.01em;
}
.fed-group-head span{ font-size: 13px; color: var(--text-2); }
.fed-initials{
  display: flex; align-items: center; justify-content: center;
  width: 100%; aspect-ratio: 1 / 1; background: var(--ink); color: #fff;
  font-size: 34px; font-weight: 800; letter-spacing: .02em;
}
@media (max-width: 1080px){.fed-about-hero-in{ grid-template-columns: 1fr; }
.fed-hero-figure{ max-width: 520px; }
.fed-hero-figure img{ aspect-ratio: 4 / 3; }
.fed-dirs{ grid-template-columns: repeat(4, minmax(0, 1fr)); }
.fed-dir.is-wide{ grid-column: span 2; }
.fed-metrics{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
.fed-metric:nth-child(odd){ border-left: 0; padding-left: 0; }
.fed-metric:nth-child(n+3){ border-top: 1px solid rgba(255,255,255,.16); margin-top: 8px; }
.fed-people{ grid-template-columns: repeat(2, minmax(0, 1fr)); }



}
@media (max-width: 820px){.fed-split{ grid-template-columns: 1fr; }
.fed-path{ grid-template-columns: 1fr; gap: 22px; }
.fed-path::before{ left: 17px; right: auto; top: 0; bottom: 0; width: 1px; height: auto; }
.fed-step{ padding-left: 54px; }
.fed-step-dot{ position: absolute; left: 0; top: 0; }
.fed-pres, .fed-vice{ grid-template-columns: 1fr; }
.fed-pres-img, .fed-vice-img{ max-width: 260px; }
.fed-dirs{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
.fed-dir{ grid-column: span 1; }
.fed-dir.is-wide{ grid-column: span 2; }



}
@media (max-width: 620px){.fed-dirs{ grid-template-columns: 1fr; }
.fed-dir, .fed-dir.is-wide{ grid-column: span 1; }
.fed-metrics{ grid-template-columns: 1fr; }
.fed-metric{ border-left: 0 !important; padding-left: 0 !important; border-top: 1px solid rgba(255,255,255,.16); margin-top: 10px; }
.fed-metric:first-child{ border-top: 0; margin-top: 0; }
.fed-people{ grid-template-columns: 1fr; }
.fed-lead-count{ border-left: 0; padding-left: 0; }



}
/* иконка скачивания статистики в расписании */
.chm-stat-ico{
  grid-column: 5; grid-row: 2; justify-self: end; align-self: center;
  display: inline-flex; align-items: center; justify-content: center;
  width: 28px; height: 28px; border-radius: 8px;
  color: var(--ink); background: var(--surface-2);
  cursor: pointer; transition: background .15s, color .15s;
}
.chm-stat-ico:hover{ background: var(--ink); color: #fff; }
.chm-stat-ico.is-off{ color: var(--text-3); opacity: .45; cursor: default; }
.chm-stat-ico.is-off:hover{ background: var(--surface-2); color: var(--text-3); }
.chm-match.no-stage .chm-stat-ico{ grid-column: 4; }

/* ─── Мобильная карточка матча ──────────────────────────────────────
   Явные области сетки: раньше элементы раскладывались автоматически
   в две колонки, из-за чего названия команд, счёт и метаданные
   наезжали друг на друга. Порядок: время · этап | команда · счёт ·
   команда | партии + иконка статистики. */
@media (max-width: 860px){
/* На телефоне названия команд длинные: каждой команде — своя строка
   во всю ширину, счёт — между ними по центру. Так ничего не наезжает
   и слова не рвутся посередине. */
.chm-match, .chm-match.no-stage{
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: auto auto auto auto auto;
  row-gap: 6px; column-gap: 10px;
  align-items: center;
}
.chm-match-time{ grid-column: 1; grid-row: 1; }
.chm-match-stage{ grid-column: 1; grid-row: 1; min-width: 0; justify-self: end; text-align: right; }
.chm-match-team{ grid-column: 1; grid-row: 2; min-width: 0; width: 100%; }
.chm-match-score{ grid-column: 1; grid-row: 3; text-align: center; justify-self: center; }
.chm-match-team-b{ grid-column: 1; grid-row: 4; min-width: 0; width: 100%;
  flex-direction: row-reverse; justify-content: flex-end; text-align: right; }
.chm-match-meta{ grid-column: 1; grid-row: 5; padding-right: 34px; flex-wrap: wrap; }
.chm-stat-ico{ grid-column: 1; grid-row: 5; justify-self: end; align-self: center; }
.chm-match.no-stage .chm-stat-ico{ grid-column: 1; grid-row: 5; }
.chm-match.no-stage .chm-match-meta{ grid-column: 1; grid-row: 5; }
/* На телефоне колонки узкие: уменьшаем логотип и шрифт названия,
   чтобы длинные слова переносились по границам слов, а не по буквам. */
.chm-match-team > .chm-logo{ width: 20px; height: 20px; }
.chm-match-team{ font-size: 13px; gap: 6px; }
.chm-match-team span{ flex: 1 1 auto; min-width: 0; overflow-wrap: break-word; word-break: normal; }
/* Турнирная таблица: логотип и название команды в одну строку. */
.chm-table-standings .chm-tname{ min-width: 132px; }
.chm-table-standings .chm-tname > .chm-logo{ width: 22px; height: 22px; margin-right: 6px; }
}

/* --- блок «Статистика матча» по протоколу ВФВ (match.st) --------------- */
.chm-stats-pdf{ margin-top: 8px; }
.chm-stats-tabs{
  display: flex; gap: 6px; flex-wrap: wrap;
  border-bottom: 1px solid var(--line); margin-bottom: 20px;
}
.chm-stats-tab{
  appearance: none; border: 0; background: transparent; cursor: pointer;
  font: inherit; font-size: 14px; font-weight: 600; letter-spacing: .02em;
  color: var(--text-2); padding: 10px 16px; border-bottom: 2px solid transparent;
  margin-bottom: -1px; border-radius: 6px 6px 0 0;
}
.chm-stats-tab:hover{ color: var(--ink); background: var(--surface-2); }
.chm-stats-tab.is-active{ color: var(--ink); border-bottom-color: var(--gold-2); }
.chm-stats-pane[hidden]{ display: none; }

/* «Общая»: зеркальные колонки A | метрика | B */
.chm-stats-legend{
  display: grid; grid-template-columns: 1fr 1fr; gap: 16px;
  font-family: var(--t-display); font-size: 15px; letter-spacing: .03em;
  text-transform: uppercase; margin-bottom: 18px;
}
.chm-stats-legend .chm-legend-side{ color: var(--ink); }
.chm-stats-legend .chm-legend-b{ color: var(--text-2); text-align: right; }
.chm-stats-group{ margin-bottom: 22px; }
.chm-stats-group-title{
  font-family: var(--t-display); font-size: 13px; letter-spacing: .08em;
  text-transform: uppercase; color: var(--text-2);
  border-bottom: 1px solid var(--line); padding-bottom: 6px; margin-bottom: 10px;
}
.chm-metric{
  display: grid; grid-template-columns: 62px 1fr 62px; align-items: center;
  gap: 12px; padding: 5px 0;
}
.chm-metric-val{
  font-family: var(--t-display); font-size: 17px; font-weight: 700;
  color: var(--ink); text-align: right;
}
.chm-metric-val:last-child{ text-align: left; color: var(--text-2); }
.chm-metric-mid{ display: block; }
.chm-metric-label{
  display: block; text-align: center; font-size: 12px; color: var(--text-2);
  margin-bottom: 4px;
}
.chm-metric-bar{ display: flex; height: 8px; }
.chm-metric-half{ display: flex; flex: 1 1 50%; }
.chm-half-l{ justify-content: flex-end; }
.chm-half-r{ justify-content: flex-start; }
.chm-metric-half i{
  display: block; height: 100%; border-radius: 2px;
  transition: width .25s ease;
}
.chm-half-l i{ background: var(--ink); border-radius: 2px 0 0 2px; }
.chm-half-r i{ background: var(--gold-2); border-radius: 0 2px 2px 0; }

/* «Подробная» и «По партиям» — широкие таблицы */
.chm-table-stats, .chm-table-sets{ font-size: 13px; }
.chm-table-stats th, .chm-table-sets th{ white-space: nowrap; }
.chm-table-stats td, .chm-table-sets td{ padding: 8px 10px; white-space: nowrap; }
.chm-table-stats .chm-tname{ white-space: normal; min-width: 150px; }
.chm-row-total td{
  font-weight: 700; background: var(--surface-2);
  border-top: 2px solid var(--line);
}
@media (max-width: 700px){
  .chm-metric{ grid-template-columns: 46px 1fr 46px; gap: 8px; }
  .chm-metric-val{ font-size: 15px; }
}
