@charset "utf-8";

@font-face {
  font-family: "Montserrat";
  src: url("./assets/fonts/montserrat-variable.ttf") format("truetype");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}

:root {
  color-scheme: light;
  --celeste: #c5dff2;
  --celeste-claro: #f5fbff;
  --celeste-oscuro: #005d9c;
  --azul-marino: #002952;
  --azul-medio: #002952;
  --blanco: #fff;
  --fondo: #f5fbff;
  --gris-texto: #53718c;
  --gris-suave: #53718c;
  --linea: #e8f5ff;
  --victoria: #1d8c67;
  --empate: #bc8127;
  --derrota: #c4515c;
  --sombra: 0 18px 46px rgba(0,41,82, .09);
  --radio: 16px;
  --radio-sm: 11px;
  --display: "Segoe UI", ui-sans-serif, system-ui, sans-serif;
  --body: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
html { min-width: 0; scroll-behavior: smooth; scroll-padding-top: 86px; }
body { margin: 0; background: var(--fondo); color: var(--azul-marino); font: 15px/1.55 var(--body); }
button, input, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; text-decoration: none; }
button { color: inherit; }
img, svg { display: block; }
img { max-width: 100%; }
[hidden] { display: none !important; }
:focus-visible { outline: 3px solid #005d9c; outline-offset: 3px; }
.wrap { width: min(1160px, calc(100% - 48px)); margin-inline: auto; }
.visually-hidden { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; clip-path: inset(50%); }
.team-crest { display: inline-flex; flex: 0 0 34px; width: 34px; height: 34px; align-items: center; justify-content: center; overflow: hidden; padding: 4px; border: 1px solid rgba(0,41,82,.06); border-radius: 9px; background: var(--team-color, #f5fbff); color: var(--team-ink, #002952); }
.team-crest > span { display: grid; width: 100%; height: 100%; place-items: center; clip-path: polygon(50% 0, 92% 15%, 88% 68%, 76% 86%, 50% 100%, 24% 86%, 12% 68%, 8% 15%); background: var(--team-ink, #002952); color: var(--team-color, #f5fbff); font-family: var(--display); font-size: 9px; letter-spacing: -.02em; }
.team-crest img { width: 100%; height: 100%; object-fit: contain; }
.team-crest--sm { flex-basis: 28px; width: 28px; height: 28px; padding: 3px; border-radius: 7px; }
.team-crest--sm > span { font-size: 7px; }
.team-crest--lg { flex-basis: 74px; width: 74px; height: 74px; padding: 0; border: 0; border-radius: 0; background: transparent; }
.team-crest--lg > span { font-size: 17px; }
.team-crest--celta { background: transparent; border: 0; padding: 1px; }
.skip-link { position: fixed; z-index: 100; top: 8px; left: 8px; transform: translateY(-150%); padding: 12px 16px; border-radius: 8px; background: var(--blanco); color: var(--azul-marino); font-weight: 800; }
.skip-link:focus { transform: translateY(0); }

/* Header and navigation */
.site-header { position: sticky; z-index: 20; top: 0; border-bottom: 1px solid rgba(255,255,255,.1); background: rgba(0,41,82,.97); color: var(--blanco); backdrop-filter: blur(14px); }
.header-inner { width: min(1280px, calc(100% - 48px)); height: 76px; display: flex; align-items: center; gap: 28px; margin: auto; }
.brand { display: inline-flex; min-height: 44px; align-items: center; gap: 10px; flex: 0 0 auto; }
.brand img { width: 42px; height: 42px; object-fit: contain; }
.brand-copy { display: block; line-height: .95; letter-spacing: .035em; white-space: nowrap; }
.brand-copy strong { font-family: var(--display); font-size: 17px; font-weight: 500; }
.primary-nav { display: flex; align-items: center; justify-content: center; gap: clamp(12px, 2vw, 27px); margin-left: auto; }
.primary-nav a { position: relative; display: grid; min-height: 44px; align-content: center; color: rgba(255,255,255,.77); font-size: 12px; font-weight: 750; transition: color .18s ease; }
.primary-nav a::after { position: absolute; right: 0; bottom: 5px; left: 0; height: 2px; border-radius: 2px; background: var(--celeste); content: ""; transform: scaleX(0); transform-origin: left; transition: transform .18s ease; }
.primary-nav a:hover, .primary-nav a[aria-current="page"] { color: var(--blanco); }
.primary-nav a[aria-current="page"]::after { transform: scaleX(1); }
.header-season { display: flex; align-items: center; gap: 9px; padding-left: 20px; border-left: 1px solid rgba(255,255,255,.16); color: rgba(255,255,255,.65); font-size: 10px; white-space: nowrap; }
.header-season b { color: var(--blanco); }
.live-dot { width: 7px; height: 7px; border-radius: 99px; background: var(--celeste); box-shadow: 0 0 0 4px rgba(77,178,251,.14); }
.menu-toggle { display: none; width: 44px; height: 44px; padding: 12px 10px; border: 1px solid rgba(255,255,255,.2); border-radius: 10px; background: transparent; cursor: pointer; }
.menu-toggle span { display: block; height: 2px; margin: 4px 0; border-radius: 2px; background: var(--blanco); transition: transform .2s ease, opacity .2s ease; }

/* Shared page elements */
#main { min-height: 62vh; }
.page { padding: 46px 0 72px; }
.page-header { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin: 0 0 28px; }
.eyebrow { display: inline-flex; align-items: center; gap: 8px; margin: 0 0 9px; color: var(--celeste-oscuro); font-size: 10px; font-weight: 850; letter-spacing: .16em; text-transform: uppercase; }
.eyebrow::before { width: 22px; height: 2px; border-radius: 2px; background: var(--celeste); content: ""; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { color: var(--azul-marino); }
.page-title { margin: 0; font-family: var(--display); font-size: clamp(34px, 5vw, 54px); font-weight: 500; line-height: .98; letter-spacing: .01em; }
.page-intro { max-width: 540px; margin: 12px 0 0; color: var(--gris-texto); font-size: 14px; }
.updated { display: inline-flex; align-items: center; gap: 7px; color: var(--gris-texto); font-size: 11px; white-space: nowrap; }
.updated svg { width: 14px; height: 14px; color: #53718c; }
.panel { border: 1px solid var(--linea); border-radius: var(--radio); background: var(--blanco); box-shadow: 0 8px 26px rgba(0,41,82,.04); }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 16px; margin: 0 0 16px; }
.section-heading h2 { margin: 0; font-family: var(--display); font-size: 27px; font-weight: 500; }
.section-heading p { margin: 5px 0 0; color: var(--gris-texto); font-size: 12px; }
.text-link { display: inline-flex; min-height: 44px; align-items: center; gap: 7px; color: #005d9c; font-size: 12px; font-weight: 800; white-space: nowrap; }
.text-link:hover { color: #002952; }
.text-link svg { width: 15px; height: 15px; }
.button { display: inline-flex; justify-content: center; align-items: center; gap: 8px; min-height: 44px; padding: 0 17px; border: 0; border-radius: 9px; background: var(--celeste); color: var(--azul-marino); font-size: 12px; font-weight: 850; cursor: pointer; transition: transform .18s ease, background .18s ease; }
.button:hover { transform: translateY(-2px); background: #c5dff2; }
.button--dark { background: var(--azul-marino); color: var(--blanco); }
.button--dark:hover { background: #002952; }
.button--outline { border: 1px solid var(--linea); background: var(--blanco); }
.button--outline:hover { background: var(--celeste-claro); }
.button svg { width: 16px; height: 16px; }
.pill { display: inline-flex; align-items: center; gap: 6px; min-height: 26px; padding: 0 9px; border-radius: 99px; background: var(--celeste-claro); color: #005d9c; font-size: 10px; font-weight: 800; }
.muted { color: var(--gris-texto); }
.empty-state { display: grid; min-height: 210px; place-items: center; padding: 30px; text-align: center; }
.empty-state-icon { display: grid; width: 46px; height: 46px; margin: 0 auto 12px; place-items: center; border-radius: 50%; background: var(--celeste-claro); color: #005d9c; }
.empty-state-icon svg { width: 22px; height: 22px; }
.empty-state h3 { margin: 0 0 5px; font-size: 14px; }
.empty-state p { max-width: 360px; margin: 0; color: var(--gris-texto); font-size: 12px; }
.error-note { padding: 12px 14px; border-left: 3px solid var(--empate); border-radius: 6px; background: #fff9ed; color: #72521b; font-size: 12px; }
.page-block { margin-top: 30px; }
.filter-empty { padding: 10px; }
.home-content [data-reveal] { opacity: 0; transform: translateY(10px); transition: opacity .35s ease, transform .35s ease; }
.home-content [data-reveal].is-visible { opacity: 1; transform: none; }
.skeleton { position: relative; overflow: hidden; border-radius: 8px; background: #e8f5ff; }
.skeleton::after { position: absolute; inset: 0; background: linear-gradient(90deg, transparent, rgba(255,255,255,.72), transparent); content: ""; transform: translateX(-100%); animation: shimmer 1.3s infinite; }
@keyframes shimmer { to { transform: translateX(100%); } }

/* Home and next match */
.hero { position: relative; overflow: hidden; min-height: 548px; padding: 56px 0 40px; isolation: isolate; background: var(--azul-marino); color: var(--blanco); }
.hero::before, .hero::after { position: absolute; z-index: -1; inset: 0; content: ""; }
.hero::before { background: radial-gradient(ellipse at 76% 28%, rgba(77,178,251,.23), transparent 33%), linear-gradient(112deg, rgba(0,41,82,.91) 4%, rgba(0,41,82,.78) 58%, rgba(0,41,82,.68)), url('./assets/balaidos-renovado.webp') center 43% / cover no-repeat; }
.hero::after { opacity: .14; background-image: linear-gradient(rgba(77,178,251,.3) 1px, transparent 1px), linear-gradient(90deg, rgba(77,178,251,.3) 1px, transparent 1px); background-size: 48px 48px; mask-image: linear-gradient(110deg, transparent, black 50%, transparent); }
.hero-ghost { position: absolute; z-index: -1; right: max(-75px, calc((100vw - 1320px)/2)); bottom: -125px; width: min(47vw, 590px); opacity: .13; transform: rotate(-8deg); }
.hero .wrap { position: relative; }
.hero-topline { display: flex; align-items: center; justify-content: space-between; gap: 20px; color: rgba(255,255,255,.7); font-size: 10px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.hero-topline .eyebrow { margin: 0; color: var(--celeste); }
.hero-topline .eyebrow::before { background: var(--celeste); }
.match-card { max-width: 770px; margin: 36px auto 0; padding: clamp(24px, 4vw, 42px); border: 1px solid rgba(255,255,255,.15); border-radius: 20px; background: rgba(0,41,82,.54); box-shadow: 0 24px 70px rgba(0,0,0,.17); backdrop-filter: blur(12px); }
.match-meta { display: flex; align-items: center; justify-content: center; gap: 10px; color: rgba(255,255,255,.72); font-size: 10px; font-weight: 750; text-transform: uppercase; letter-spacing: .1em; }
.match-meta .meta-dot { width: 3px; height: 3px; border-radius: 50%; background: var(--celeste); }
.match-teams { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 22px; margin: 30px 0 26px; }
.match-team { display: grid; justify-items: center; gap: 12px; min-width: 0; text-align: center; }
.match-team .team-crest { width: 104px; height: 104px; }
.match-team-name { max-width: 100%; overflow: hidden; color: var(--blanco); font-family: var(--display); font-size: clamp(22px, 3vw, 32px); line-height: 1; text-overflow: ellipsis; white-space: nowrap; }
.versus { color: rgba(255,255,255,.43); font-family: var(--display); font-size: 20px; }
.match-time { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 8px 20px; padding: 17px 0; border-top: 1px solid rgba(255,255,255,.12); border-bottom: 1px solid rgba(255,255,255,.12); color: rgba(255,255,255,.82); font-size: 12px; }
.match-time span { display: inline-flex; align-items: center; gap: 7px; }
.match-time svg { width: 15px; height: 15px; color: var(--celeste); }
.countdown { display: flex; justify-content: center; gap: 10px; margin: 19px 0 24px; }
.countdown-unit { min-width: 63px; padding: 9px 8px 7px; border: 1px solid rgba(255,255,255,.12); border-radius: 9px; background: rgba(255,255,255,.06); text-align: center; }
.countdown-unit b { display: block; color: var(--blanco); font-family: var(--display); font-size: 25px; font-weight: 400; line-height: 1; }
.countdown-unit small { color: rgba(255,255,255,.62); font-size: 8px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.hero-actions { display: flex; justify-content: center; gap: 10px; }
.hero-actions .button--outline { border-color: rgba(255,255,255,.25); background: transparent; color: var(--blanco); }
.hero-actions .button--outline:hover { background: rgba(255,255,255,.09); }
.hero-source { margin: 18px 0 0; color: rgba(255,255,255,.48); font-size: 9px; text-align: center; }
.home-content { padding: 42px 0 66px; }
.home-grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(280px, .75fr); gap: 22px; align-items: start; }
.home-column { display: grid; gap: 34px; }
.results-strip { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.result-card { padding: 15px; border: 1px solid var(--linea); border-radius: 12px; background: var(--blanco); }
.result-card-top { display: flex; justify-content: space-between; gap: 10px; color: var(--gris-texto); font-size: 9px; }
.result-card-teams { display: grid; gap: 8px; margin-top: 13px; }
.result-side { display: flex; align-items: center; gap: 8px; min-width: 0; }
.result-side .team-crest { flex: 0 0 25px; width: 25px; height: 25px; }
.result-side .team-label { overflow: hidden; font-size: 11px; font-weight: 750; text-overflow: ellipsis; white-space: nowrap; }
.result-side b { margin-left: auto; font-size: 12px; }
.result-note { margin-top: 9px; font-size: 9px; font-weight: 850; text-align: right; }
.result-note--V { color: var(--victoria); } .result-note--E { color: var(--empate); } .result-note--D { color: var(--derrota); }
.video-feature { overflow: hidden; }
.video-frame { position: relative; aspect-ratio: 16 / 9; background: #002952; }
.video-frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.video-caption { padding: 15px 17px 12px; }
.video-caption .eyebrow { margin-bottom: 6px; }
.video-caption h3 { margin: 0; font-family: var(--display); font-size: 20px; font-weight: 500; }
.video-caption .text-link { margin-top: 4px; }
.video-unavailable { padding: 24px; }
.video-unavailable p:last-child { margin: 0; color: var(--gris-texto); font-size: 12px; }
.mini-table { overflow: hidden; }
.mini-table-head, .mini-table-row { display: grid; grid-template-columns: 28px minmax(0,1fr) 40px 42px; align-items: center; gap: 7px; padding: 9px 14px; }
.mini-table-head { background: #f5fbff; color: var(--gris-texto); font-size: 9px; font-weight: 800; text-transform: uppercase; }
.mini-table-row { min-height: 41px; border-top: 1px solid #f5fbff; font-size: 10px; }
.mini-table-row.is-celta { background: var(--celeste-claro); font-weight: 850; }
.mini-team { display: flex; align-items: center; gap: 8px; min-width: 0; }
.mini-team .team-crest { flex: 0 0 24px; width: 24px; height: 24px; }
.mini-team span:last-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.social-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.social-card { display: flex; align-items: center; gap: 11px; padding: 14px; border: 1px solid var(--linea); border-radius: 12px; background: var(--blanco); transition: transform .18s ease, box-shadow .18s ease; }
.social-card:hover { transform: translateY(-3px); box-shadow: var(--sombra); }
.social-avatar { display: grid; flex: 0 0 38px; width: 38px; height: 38px; place-items: center; overflow: hidden; border: 2px solid #e8f5ff; border-radius: 50%; background: var(--azul-marino); color: var(--celeste); font-family: var(--display); font-size: 13px; }
.social-card strong { display: block; font-size: 10px; }
.social-card small { color: var(--gris-texto); font-size: 9px; }
.news-feature { display: grid; grid-template-columns: 104px 1fr; gap: 16px; align-items: center; padding: 15px; }
.news-art { display: grid; min-height: 94px; place-items: center; overflow: hidden; border-radius: 10px; background: linear-gradient(140deg, #002952, #005d9c); color: var(--celeste); }
.news-art svg { width: 43px; height: 43px; }
.news-feature h3 { margin: 7px 0 5px; font-size: 13px; line-height: 1.35; }
.news-feature p { margin: 0; color: var(--gris-texto); font-size: 10px; }
.news-byline { color: #005d9c; font-size: 9px; font-weight: 800; }

/* Match lists, filters and standings */
.toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-bottom: 18px; }
.filter-set { display: inline-flex; flex-wrap: wrap; gap: 5px; padding: 4px; border: 1px solid var(--linea); border-radius: 10px; background: var(--blanco); }
.filter-chip { min-height: 44px; padding: 0 12px; border: 0; border-radius: 7px; background: transparent; color: var(--gris-texto); font-size: 10px; font-weight: 800; cursor: pointer; }
.filter-chip[aria-pressed="true"] { background: var(--azul-marino); color: var(--blanco); }
.select-control, .search-control { min-height: 44px; padding: 0 12px; border: 1px solid var(--linea); border-radius: 9px; background: var(--blanco); color: var(--azul-marino); font-size: 11px; }
.search-control { width: min(280px, 100%); }
.match-list { display: grid; gap: 9px; }
.fixtures-columns { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); align-items: start; gap: 20px; }
.match-column { min-width: 0; }
.match-column .section-heading h2 { font-size: 25px; }
.match-column .match-list { gap: 10px; }
.fixture-card { display: grid; grid-template-columns: 112px minmax(0,1fr) auto; align-items: center; gap: 20px; padding: 16px 20px; border: 1px solid var(--linea); border-radius: 13px; background: var(--blanco); }
.fixture-date { display: grid; gap: 2px; padding-right: 16px; border-right: 1px solid var(--linea); }
.fixture-date strong { font-size: 11px; }
.fixture-date span, .fixture-date small { color: var(--gris-texto); font-size: 9px; }
.fixture-body { min-width: 0; }
.fixture-comp { margin-bottom: 9px; color: var(--gris-texto); font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.fixture-teams { display: flex; align-items: center; gap: 12px; }
.fixture-team { display: flex; align-items: center; gap: 7px; min-width: 0; }
.fixture-team .team-crest { flex: 0 0 30px; width: 30px; height: 30px; }
.fixture-team-name { overflow: hidden; font-size: 12px; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
.fixture-score { color: var(--azul-marino); font-size: 15px; font-weight: 900; white-space: nowrap; }
.fixture-vs { color: var(--gris-suave); font-size: 10px; }
.fixture-meta { color: var(--gris-texto); font-size: 10px; text-align: right; }
.fixture-meta strong { display: block; color: var(--azul-marino); font-size: 11px; }
.result-badge { display: inline-flex; width: 25px; height: 25px; align-items: center; justify-content: center; border-radius: 7px; font-size: 10px; font-weight: 900; }
.result-badge--V { background: #e4f5ef; color: #167b5a; } .result-badge--E { background: #fff3db; color: #92631b; } .result-badge--D { background: #fdebed; color: #ae3845; }
@media (min-width: 761px) {
  .match-column .fixture-card { grid-template-columns: 76px minmax(0,1fr); gap: 10px; padding: 13px; }
  .match-column .fixture-date { padding-right: 9px; }
  .match-column .fixture-teams { display: grid; grid-template-columns: minmax(0,1fr) auto minmax(0,1fr); gap: 5px; }
  .match-column .fixture-team .team-crest { flex-basis: 26px; width: 26px; height: 26px; }
  .match-column .fixture-team-name { font-size: 10px; }
  .match-column .fixture-score { font-size: 12px; }
  .match-column .fixture-meta { grid-column: 2; display: flex; justify-content: space-between; gap: 8px; text-align: left; }
}
.table-legend { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; color: var(--gris-texto); font-size: 10px; }
.legend-item { display: inline-flex; align-items: center; gap: 6px; }
.legend-dot { width: 8px; height: 8px; border-radius: 2px; background: #53718c; }
.legend-dot--europa { background: #b99345; } .legend-dot--drop { background: #bf6770; }
.table-wrap { overflow-x: auto; border: 1px solid var(--linea); border-radius: 14px; background: var(--blanco); }
.standings { width: 100%; min-width: 850px; border-collapse: collapse; text-align: center; font-size: 11px; }
.standings th { height: 43px; padding: 0 10px; background: #f5fbff; color: var(--gris-texto); font-size: 9px; font-weight: 850; letter-spacing: .04em; text-transform: uppercase; }
.standings td { height: 45px; padding: 0 10px; border-top: 1px solid #f5fbff; }
.standings tr { transition: background .12s ease; }
.standings tbody tr:hover { background: #f5fbff; }
.standings tr.is-celta { background: #f5fbff; font-weight: 850; }
.standings tr.zone-champions td:first-child { box-shadow: inset 3px 0 #53718c; }
.standings tr.zone-europa td:first-child { box-shadow: inset 3px 0 #b99345; }
.standings tr.zone-drop td:first-child { box-shadow: inset 3px 0 #bf6770; }
.standings .team-cell { min-width: 168px; text-align: left; }
.standings .team-name-wrap { display: flex; align-items: center; gap: 9px; min-width: 0; }
.standings .team-crest { flex: 0 0 27px; width: 27px; height: 27px; }
.standings .team-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.standings .form-cell { display: flex; justify-content: center; gap: 3px; }
.form-dot { display: grid; width: 17px; height: 17px; place-items: center; border-radius: 5px; background: #f5fbff; color: #53718c; font-size: 8px; font-weight: 900; }
.form-dot--V { background: #e4f5ef; color: #167b5a; } .form-dot--E { background: #fff3db; color: #92631b; } .form-dot--D { background: #fdebed; color: #ae3845; }
.extra-cols { display: table-cell; }
.table-controls { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin: 13px 0 0; }
.table-wrap .standings .optional-col { display: none; }
.table-wrap.show-extra .standings .optional-col { display: table-cell; }

/* Squad, ranking and news */
.player-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 13px; }
.player-card { position: relative; min-height: 218px; overflow: hidden; padding: 16px; border: 1px solid var(--linea); border-radius: 14px; background: var(--blanco); cursor: pointer; transition: transform .2s ease, box-shadow .2s ease; }
.player-card:hover { transform: translateY(-3px); box-shadow: var(--sombra); }
.player-card::after { position: absolute; right: -6px; bottom: -16px; color: rgba(0,41,82,.055); content: attr(data-number); font-family: var(--display); font-size: 104px; line-height: 1; pointer-events: none; }
.player-top { position: relative; z-index: 1; display: flex; align-items: center; justify-content: space-between; }
.player-number { color: #005d9c; font-family: var(--display); font-size: 16px; }
.player-position { padding: 5px 8px; border-radius: 99px; background: var(--celeste-claro); color: #005d9c; font-size: 8px; font-weight: 900; text-transform: uppercase; }
.player-body { position: relative; z-index: 1; display: grid; justify-items: center; margin-top: 7px; text-align: center; }
.player-avatar { width: 88px; height: 88px; margin-bottom: 10px; padding: 6px; border: 4px solid white; border-radius: 50%; background: #f5fbff; box-shadow: 0 3px 14px rgba(0,41,82,.12); object-fit: contain; }
.player-name { max-width: 100%; overflow: hidden; margin: 0; font-family: var(--display); font-size: 19px; font-weight: 500; line-height: 1.1; text-overflow: ellipsis; white-space: nowrap; }
.player-sub { margin: 5px 0 0; color: var(--gris-texto); font-size: 9px; }
.player-statline { display: flex; gap: 12px; margin-top: 10px; color: var(--gris-texto); font-size: 9px; }
.player-statline b { color: var(--azul-marino); }
.profile-modal { position: fixed; z-index: 50; inset: 0; display: grid; padding: 18px; place-items: center; background: rgba(0,41,82,.72); backdrop-filter: blur(6px); }
.profile-dialog { position: relative; width: min(620px, 100%); max-height: min(86vh, 760px); overflow: auto; padding: 26px; border-radius: 18px; background: var(--blanco); box-shadow: 0 28px 90px rgba(0,0,0,.3); }
.modal-close { position: absolute; top: 14px; right: 14px; display: grid; width: 44px; height: 44px; place-items: center; border: 1px solid var(--linea); border-radius: 50%; background: var(--blanco); cursor: pointer; }
.profile-head { display: flex; align-items: center; gap: 16px; padding-right: 38px; }
.profile-head img { width: 90px; height: 90px; border-radius: 50%; background: var(--celeste-claro); }
.profile-head h2 { margin: 0; font-family: var(--display); font-size: 30px; font-weight: 500; }
.profile-head p { margin: 3px 0 0; color: var(--gris-texto); font-size: 11px; }
.profile-data { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; margin: 22px 0; }
.profile-data div { padding: 12px; border-radius: 9px; background: #f5fbff; }
.profile-data small { display: block; margin-bottom: 3px; color: var(--gris-texto); font-size: 8px; font-weight: 800; text-transform: uppercase; }
.profile-data b { font-size: 12px; }
.profile-dialog h3 { margin: 18px 0 8px; font-family: var(--display); font-size: 19px; font-weight: 500; }
.profile-note { padding: 11px 13px; border-radius: 8px; background: var(--celeste-claro); color: #005d9c; font-size: 10px; }
.rank-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.rank-panel { padding: 18px; }
.rank-panel h2 { display: flex; align-items: center; gap: 9px; margin: 0 0 15px; font-family: var(--display); font-size: 20px; font-weight: 500; }
.rank-icon { display: grid; width: 30px; height: 30px; place-items: center; border-radius: 9px; background: var(--celeste-claro); color: #005d9c; }
.rank-icon svg { width: 16px; height: 16px; }
.rank-empty { display: flex; align-items: center; gap: 11px; padding: 13px; border-radius: 10px; background: #f5fbff; color: var(--gris-texto); font-size: 10px; }
.rank-empty .rank-icon { flex: 0 0 auto; }
.rank-list { display: grid; gap: 7px; }
.rank-row { display: grid; grid-template-columns: 20px 32px minmax(0,1fr) auto; align-items: center; gap: 8px; padding: 8px; border-radius: 9px; background: #f5fbff; }
.rank-row .player-avatar { width: 30px; height: 30px; margin: 0; border-width: 1px; }
.rank-row strong { overflow: hidden; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.rank-row small { color: var(--gris-texto); font-size: 8px; }
.rank-row b { font-family: var(--display); font-size: 17px; font-weight: 500; }
.news-grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: 15px; }
.news-card { display: grid; grid-template-rows: auto 1fr; overflow: hidden; border: 1px solid var(--linea); border-radius: 14px; background: var(--blanco); transition: transform .18s ease, box-shadow .18s ease; }
.news-card:hover { transform: translateY(-3px); box-shadow: var(--sombra); }
.news-card:first-child { grid-row: span 2; }
.news-image { display: grid; min-height: 164px; place-items: center; background: linear-gradient(130deg, #002952, #005d9c); color: rgba(77,178,251,.8); }
.news-card:first-child .news-image { min-height: 245px; }
.news-image svg { width: 56px; height: 56px; }
.news-copy { display: grid; align-content: start; padding: 17px; }
.news-meta { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; color: var(--gris-texto); font-size: 9px; }
.news-meta strong { color: #005d9c; }
.news-copy h2 { margin: 10px 0 7px; font-family: var(--display); font-size: clamp(19px, 2vw, 27px); font-weight: 500; line-height: 1.12; }
.news-copy p { margin: 0; color: var(--gris-texto); font-size: 11px; }
.news-read { margin-top: 16px; }

/* History */
.history-intro { position: relative; overflow: hidden; padding: 33px; border-radius: 17px; background: var(--azul-marino); color: var(--blanco); }
.history-intro::after { position: absolute; top: -55px; right: -10px; width: 260px; height: 260px; border: 1px solid rgba(77,178,251,.2); border-radius: 50%; box-shadow: 0 0 0 35px rgba(77,178,251,.06), 0 0 0 72px rgba(77,178,251,.04); content: ""; }
.history-intro .eyebrow { color: var(--celeste); }
.history-intro h2 { position: relative; z-index: 1; max-width: 690px; margin: 0; color: var(--blanco); font-family: var(--display); font-size: clamp(29px,5vw,48px); font-weight: 500; line-height: 1.04; }
.history-intro p { position: relative; z-index: 1; max-width: 610px; margin: 14px 0 0; color: rgba(255,255,255,.72); font-size: 12px; }
.timeline { position: relative; display: grid; gap: 0; margin: 31px 0 0 20px; }
.timeline::before { position: absolute; top: 8px; bottom: 8px; left: 0; width: 2px; background: #e8f5ff; content: ""; }
.timeline-item { position: relative; display: grid; grid-template-columns: 82px 1fr; gap: 22px; padding: 0 0 27px 27px; }
.timeline-item::before { position: absolute; top: 5px; left: -6px; width: 14px; height: 14px; border: 3px solid var(--fondo); border-radius: 50%; background: #005d9c; content: ""; }
.timeline-year { color: #005d9c; font-family: var(--display); font-size: 22px; }
.timeline-item h3 { margin: 0 0 5px; font-size: 14px; }
.timeline-item p { max-width: 700px; margin: 0; color: var(--gris-texto); font-size: 11px; }
.history-sources { display: flex; flex-wrap: wrap; align-items: center; gap: 3px 8px; white-space: normal; }
.history-source-link { display: inline-flex; min-height: 44px; align-items: center; color: #005d9c; font-size: 10px; font-weight: 800; white-space: normal; }
.history-facts { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; margin-top: 16px; }
.history-fact { padding: 18px; border: 1px solid var(--linea); border-radius: 12px; background: var(--blanco); }
.history-fact strong { display: block; font-family: var(--display); font-size: 25px; font-weight: 500; }
.history-fact small { color: var(--gris-texto); font-size: 9px; }

/* Footer */
.site-footer { background: #002952; color: var(--blanco); }
.footer-main { display: grid; grid-template-columns: 1.35fr .8fr .8fr 1fr; gap: 35px; padding-top: 38px; padding-bottom: 31px; }
.footer-brand { display: flex; align-items: center; gap: 14px; }
.footer-brand img { flex: 0 0 50px; width: 50px; height: 50px; }
.footer-disclaimer { margin: 0; font-size: 11px; font-weight: 750; line-height: 1.5; }
.footer-disclaimer span { color: rgba(255,255,255,.52); font-size: 9px; font-weight: 500; }
.footer-links { display: grid; align-content: start; gap: 7px; }
.footer-links strong { margin-bottom: 4px; color: var(--celeste); font-size: 9px; letter-spacing: .1em; text-transform: uppercase; }
.footer-links a { display: flex; width: fit-content; min-height: 44px; align-items: center; color: rgba(255,255,255,.68); font-size: 10px; }
.footer-links a:hover { color: var(--blanco); }
.footer-bottom { display: flex; justify-content: space-between; gap: 20px; padding-top: 15px; padding-bottom: 17px; border-top: 1px solid rgba(255,255,255,.12); color: rgba(255,255,255,.48); font-size: 9px; }
.footer-bottom strong { color: rgba(255,255,255,.8); font-size: 10px; letter-spacing: .025em; }
.noscript-note { position: fixed; z-index: 99; inset: auto 15px 15px; padding: 15px; border-radius: 10px; background: #fff4d9; color: #533900; text-align: center; }

/* Breakpoints */
@media (min-width: 1440px) { .hero { min-height: 590px; padding-top: 64px; } .match-card { margin-top: 42px; } }
@media (max-width: 1020px) {
  .header-inner { gap: 17px; }
  .primary-nav { gap: 13px; }
  .primary-nav a { font-size: 10px; }
  .header-season { padding-left: 12px; font-size: 9px; }
  .player-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width: 760px) {
  html { scroll-padding-top: 70px; }
  .wrap, .header-inner { width: min(100% - 32px, 620px); }
  .header-inner { height: 68px; gap: 13px; }
  .brand img { width: 38px; height: 38px; }
  .brand-copy strong { font-size: 19px; }
  .menu-toggle { display: block; order: 3; margin-left: auto; }
  .header-season { order: 2; margin-left: auto; padding-left: 12px; border-left: 0; }
  .primary-nav { position: absolute; top: calc(100% + 1px); right: 0; left: 0; display: none; align-items: stretch; gap: 0; padding: 8px 16px 15px; border-bottom: 1px solid rgba(255,255,255,.14); background: var(--azul-marino); box-shadow: 0 16px 24px rgba(0,41,82,.18); }
  .primary-nav.is-open { display: grid; grid-template-columns: repeat(2,1fr); }
  .primary-nav a { min-height: 46px; padding: 0 10px; font-size: 12px; }
  .primary-nav a::after { right: 10px; bottom: 4px; left: 10px; transform-origin: left; }
  .page { padding: 33px 0 56px; }
  .page-header { display: block; margin-bottom: 22px; }
  .page-header > .updated { margin-top: 14px; }
  .hero { min-height: unset; padding: 33px 0 28px; }
  .hero-topline { align-items: start; font-size: 8px; }
  .hero-topline .updated { font-size: 9px; }
  .hero-ghost { right: -100px; bottom: -20px; width: 330px; opacity: .11; }
  .match-card { margin-top: 24px; padding: 24px 17px 20px; border-radius: 16px; }
  .match-teams { gap: 10px; margin: 24px 0 20px; }
  .match-team .team-crest { width: 64px; height: 64px; }
  .match-team-name { font-size: clamp(20px, 6vw, 27px); }
  .match-time { gap: 10px 14px; font-size: 10px; }
  .countdown-unit { min-width: 54px; }
  .countdown-unit b { font-size: 22px; }
  .home-content { padding: 31px 0 48px; }
  .home-grid { grid-template-columns: 1fr; gap: 30px; }
  .home-column { gap: 29px; }
  .results-strip { grid-template-columns: repeat(2, 1fr); }
  .result-card:last-child { display: none; }
  .social-grid { grid-template-columns: 1fr; }
  .social-card { min-height: 64px; }
  .fixture-card { grid-template-columns: 75px minmax(0,1fr) auto; gap: 12px; padding: 13px; }
  .fixture-date { padding-right: 10px; }
  .fixture-team .team-crest { flex-basis: 25px; width: 25px; height: 25px; }
  .fixture-team-name { max-width: 115px; font-size: 10px; }
  .fixture-meta { font-size: 8px; }
  .fixture-meta strong { font-size: 9px; }
  .fixture-score { font-size: 13px; }
  .standings { min-width: 570px; }
  .standings th, .standings td { padding-inline: 7px; }
  .table-controls { align-items: start; }
  .table-controls .table-legend { gap: 9px; font-size: 9px; }
  .player-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; }
  .player-card { min-height: 204px; padding: 12px 9px; }
  .player-avatar { width: 76px; height: 76px; }
  .player-name { font-size: 17px; }
  .rank-grid, .news-grid { grid-template-columns: 1fr; }
  .news-card:first-child { grid-row: auto; }
  .news-card:first-child .news-image { min-height: 180px; }
  .history-intro { padding: 24px 20px; }
  .history-intro::after { right: -150px; }
  .timeline { margin-left: 7px; }
  .timeline-item { grid-template-columns: 63px 1fr; gap: 13px; padding-left: 22px; }
  .history-facts { grid-template-columns: 1fr; }
  .footer-main { grid-template-columns: repeat(2,1fr); gap: 24px 18px; padding-top: 30px; }
  .footer-brand { grid-column: 1 / -1; }
  .footer-bottom { align-items: start; flex-direction: column; gap: 7px; }
}
@media (max-width: 400px) {
  .header-season { display: none; }
  .hero-topline { display: grid; }
  .match-time { display: grid; justify-content: start; grid-template-columns: repeat(2,1fr); }
  .hero-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .results-strip { grid-template-columns: 1fr; }
  .result-card:nth-child(2) { display: none; }
  .fixture-card { grid-template-columns: 1fr auto; }
  .fixture-date { grid-column: 1 / -1; grid-template-columns: auto 1fr auto; align-items: baseline; padding: 0 0 7px; border-right: 0; border-bottom: 1px solid var(--linea); }
  .fixture-body { grid-column: 1; }
  .fixture-meta { grid-column: 2; grid-row: 2; }
  .fixture-team-name { max-width: 88px; }
  .profile-data { grid-template-columns: repeat(2,1fr); }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* Official lightweight badges, bilingual controls and newly added sections */
.team-crest--sprite, .team-crest--remote { flex: 0 0 34px; border: 0; padding: 0; background: transparent; overflow: visible; }
.team-crest--sprite.team-crest--sm, .team-crest--remote.team-crest--sm { flex-basis: 28px; width: 28px; height: 28px; }
.team-crest--sprite.team-crest--lg, .team-crest--remote.team-crest--lg { flex-basis: 74px; width: 74px; height: 74px; }
.team-crest--sprite > .shield-sprite { flex: 0 0 auto; clip-path: none; background-color: transparent; }
.team-crest--sprite.team-crest--sm > .shield-sprite { transform: scale(.9); }
.team-crest--sprite.team-crest--lg > .shield-sprite { transform: scale(1); }
.team-crest--remote img { width: 100%; height: 100%; object-fit: contain; }
.team-crest--unknown { background: #f5fbff; }
.team-crest--unknown .crest-letters { font-size: 9px; }
.brand .shield-sprite { flex: 0 0 50px; }
.footer-brand .shield-sprite { flex: 0 0 50px; }
.header-tools { display: flex; align-items: center; gap: 13px; }
.language-toggle { min-width: 42px; min-height: 40px; padding: 0 9px; border: 1px solid rgba(255,255,255,.22); border-radius: 9px; background: rgba(255,255,255,.08); color: #fff; font-size: 10px; font-weight: 900; cursor: pointer; }
.language-toggle:hover { background: rgba(255,255,255,.16); }
.article-frame { display: block; width: 100%; height: min(66vh, 760px); min-height: 440px; border: 1px solid var(--linea); border-radius: 10px; background: #fff; }
.article-modal { position: fixed; z-index: 55; inset: 0; display: grid; padding: 16px; place-items: center; background: rgba(0,41,82,.76); backdrop-filter: blur(6px); }
.article-dialog { position: relative; width: min(1080px,100%); max-height: 94vh; overflow: auto; padding: 25px; border-radius: 16px; background: #fff; box-shadow: 0 28px 90px rgba(0,0,0,.32); }
.article-dialog-heading { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; padding-right: 46px; color: var(--gris-texto); font-size: 10px; }
.article-dialog > h2 { max-width: 850px; margin: 14px 0 8px; font-family: var(--display); font-size: clamp(24px,3vw,36px); font-weight: 500; line-height: 1.12; }
.article-summary { color: var(--gris-texto); font-size: 13px; }
.article-reader-content { display: grid; grid-template-columns: minmax(180px,.42fr) minmax(0,1fr); gap: 20px; align-items: start; margin-top: 18px; padding: 15px; border: 1px solid var(--linea); border-radius: 12px; background: #f5fbff; }
.article-reader-content > img { width: 100%; max-height: 300px; border-radius: 8px; object-fit: cover; }
.article-reader-content .eyebrow { margin: 0 0 6px; }
.article-reader-content .article-summary { margin: 0; }
.article-reader-content .article-reader-note { margin: 9px 0 0; }
.article-reader-note { margin: 0 0 10px; color: var(--gris-texto); font-size: 10px; }
.article-dialog-footer { display: flex; justify-content: flex-end; padding-top: 12px; }
.news-toolbar .filter-set { max-width: 100%; }
.news-index-label, .news-credits { color: var(--gris-texto); font-size: 10px; }
.news-source-line { margin-top: 10px !important; }
.news-card .news-read { justify-self: start; padding: 0; border: 0; background: transparent; cursor: pointer; }
.news-image--photo img { width: 100%; height: 100%; min-height: inherit; object-fit: cover; }
.pill--official { background: #e4f5ef; color: #146c50; }
.load-more-wrap { display: flex; justify-content: center; margin-top: 24px; }
.social-timelines { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 15px; align-items: start; }
.social-feed { min-width: 0; overflow: hidden; padding: 16px; }
.social-feed header { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.social-feed header .eyebrow { margin-bottom: 4px; }
.social-feed h2 { margin: 0; font-family: var(--display); font-size: 22px; font-weight: 500; }
.social-feed .button { min-height: 38px; font-size: 10px; }
.social-feed .twitter-timeline { display: block; min-height: 140px; color: #005d9c; font-size: 12px; }
.social-feed.is-x-unavailable .twitter-timeline-rendered { display: none !important; }
.social-feed > a.twitter-timeline { display: none; }
.social-feed-fallback { display: grid; min-height: 175px; align-content: center; justify-items: start; gap: 9px; padding: 16px; border: 1px dashed #c5dff2; border-radius: 9px; background: #f5fbff; }
.social-feed-fallback[hidden] { display: none; }
.social-feed-fallback p { max-width: 680px; margin: 0; color: var(--gris-texto); font-size: 11px; }
.social-feed-fallback .button { min-height: 38px; font-size: 10px; }
.social-live-note { margin: -9px 0 20px; color: var(--gris-texto); font-size: 11px; }
.social-credit { margin-top: 18px; font-size: 10px; }
.social-credit a { color: #005d9c; font-weight: 800; }
.staff-section { margin-top: 35px; }
.staff-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
.staff-card { display: flex; align-items: center; gap: 12px; min-height: 76px; padding: 14px; border: 1px solid var(--linea); border-radius: 12px; background: #fff; }
.staff-avatar { display: grid; flex: 0 0 42px; width: 42px; height: 42px; place-items: center; border-radius: 50%; background: var(--azul-marino); color: var(--celeste); font-family: var(--display); font-size: 13px; }
.staff-card strong, .staff-card small { display: block; }
.staff-card strong { font-size: 11px; }
.staff-card small { color: var(--gris-texto); font-size: 9px; }
.generation-facts { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; margin-top: 14px; }
.generation-facts span { display: grid; gap: 3px; padding: 12px; border: 1px solid var(--linea); border-radius: 10px; background: #fff; }
.generation-facts small { color: var(--gris-texto); font-size: 9px; }
.generation-facts b { font-size: 11px; }
.generation-sources { display: flex; flex-wrap: wrap; gap: 4px 9px; margin-top: 11px !important; }
.generation-sources a { color: #005d9c; font-size: 10px; font-weight: 800; }
.timeline-item--current { margin: 4px 0 18px; padding-top: 16px; border: 1px solid #e8f5ff; border-radius: 13px; background: #f5fbff; }
.timeline-item--current::before { top: 20px; }
.player-card { min-height: 254px; }
.player-statline { flex-wrap: wrap; justify-content: center; gap: 3px 9px; }
.player-statline span { white-space: nowrap; }
.rank-row .player-avatar { object-fit: cover; }
@media (max-width: 760px) {
  .header-tools { order: 2; margin-left: auto; gap: 8px; }
  .header-season { order: initial; margin-left: 0; }
  .menu-toggle { margin-left: 0; }
  .brand .shield-sprite { flex-basis: 44px; }
  .social-timelines { grid-template-columns: 1fr; }
  .staff-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .article-dialog { padding: 19px 14px; }
  .article-frame { min-height: 55vh; }
  .article-reader-content { grid-template-columns: 1fr; }
  .article-reader-content > img { max-height: 220px; }
}
@media (max-width: 400px) {
  .header-season { display: none; }
  .staff-grid { grid-template-columns: 1fr; }
  .generation-facts { grid-template-columns: 1fr; }
  .player-statline { gap: 2px 5px; font-size: 8px; }
}

/* Current page refinements */
.brand-copy strong { font-size: 17px; }
.fixtures-columns { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.social-group + .social-group { margin-top: 32px; }
.social-account-list { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 12px; }
.social-account { display: inline-flex; min-height: 36px; align-items: center; padding: 0 11px; border: 1px solid var(--linea); border-radius: 8px; background: #fff; color: #005d9c; font-size: 10px; font-weight: 800; }
.social-feed--community { min-height: 240px; }
.social-feed--community .twitter-timeline { min-height: 230px; }
.team-crest--sprite.team-crest--lg, .team-crest--remote.team-crest--lg { flex-basis: 104px; width: 104px; height: 104px; }
.team-crest--sprite.team-crest--lg > .shield-sprite { transform: scale(1.5); }
.rank-row .player-avatar { padding: 0; object-fit: contain; }
.squad-eyebrow { margin: 0; font-size: clamp(18px, 2.2vw, 23px); line-height: 1.1; letter-spacing: .02em; }
.squad-page-header .page-intro { margin-top: 9px; }
.news-image--context { position: relative; }
.news-image--context img { filter: brightness(.78); }
.news-context-label { position: absolute; right: 10px; bottom: 10px; padding: 5px 8px; border-radius: 6px; background: rgba(0,41,82,.75); color: #fff; font-size: 8px; font-weight: 750; }
.news-art--photo { position: relative; display: block; min-width: 0; padding: 0; overflow: hidden; }
.news-art--photo img { width: 100%; height: 100%; min-height: 94px; object-fit: cover; }
.classification-page .page-header { margin-bottom: 20px; }
.classification-page .page-title { margin: 4px 0 0; font-family: var(--display); font-size: clamp(32px, 4vw, 46px); font-weight: 500; line-height: 1; }
.competition-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 20px; padding-bottom: 12px; border-bottom: 1px solid var(--linea); }
.competition-tabs button { min-height: 42px; padding: 0 15px; border: 1px solid var(--linea); border-radius: 9px; background: #fff; color: var(--azul-marino); font-size: 11px; font-weight: 800; cursor: pointer; }
.competition-tabs button[aria-selected="true"] { border-color: var(--azul-marino); background: var(--azul-marino); color: #fff; }
.competition-panel[hidden] { display: none; }
.classification-block + .classification-block, .fortuna-table-section { margin-top: 34px; }
.classification-block .section-heading { align-items: end; }
.classification-block .section-heading h2 { margin: 0; font-size: clamp(20px, 2.5vw, 27px); }
.classification-source { margin: 12px 2px 0; color: var(--gris-texto); font-size: 9px; }
.classification-source a { color: #005d9c; font-weight: 800; }
.bracket-section { margin-top: 35px; }
.bracket-section > .section-heading h2, .copa-heading h2 { margin: 3px 0 0; font-size: clamp(23px, 3vw, 31px); }
.copa-heading { align-items: end; margin-bottom: 14px; }
.copa-heading p:not(.eyebrow) { max-width: 620px; margin: 8px 0 0; color: var(--gris-texto); font-size: 11px; }
.bracket-note { margin: -4px 0 13px; font-size: 10px; }
.bracket-scroll { overflow-x: auto; padding: 0 0 8px; }
.bracket-track { display: grid; grid-template-columns: 1.25fr 1.25fr .9fr .75fr .65fr; align-items: center; gap: 14px; min-width: 960px; }
.bracket-track--copa { grid-template-columns: 1.3fr 1.25fr .95fr .8fr .7fr .6fr; min-width: 1180px; }
.bracket-round { min-width: 0; padding: 13px; border: 1px solid var(--linea); border-radius: 12px; background: #fff; }
.bracket-round h3 { margin: 0; font-family: var(--display); font-size: 16px; font-weight: 500; }
.bracket-round > p { min-height: 25px; margin: 5px 0 10px; color: var(--gris-texto); font-size: 8px; }
.bracket-slots { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
.bracket-slot { display: grid; grid-template-columns: 20px minmax(0,1fr); gap: 1px 5px; min-height: 45px; align-content: center; padding: 6px; border: 1px dashed #e8f5ff; border-radius: 7px; background: #f5fbff; }
.bracket-slot > span { grid-row: span 2; align-self: center; color: #53718c; font-size: 8px; font-weight: 850; }
.bracket-slot b { overflow: hidden; font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.bracket-slot small { color: var(--gris-texto); font-size: 7px; }
.bracket-celta-round { border-color: #c5dff2; background: #f5fbff; }
.bracket-celta-round .bracket-slots { grid-template-columns: 1fr; }
@media (max-width: 760px) {
  .brand-copy strong { font-size: 14px; letter-spacing: -.02em; }
  .fixtures-columns { grid-template-columns: 1fr; gap: 32px; }
  .match-team .team-crest { width: 78px; height: 78px; }
  .team-crest--sprite.team-crest--lg, .team-crest--remote.team-crest--lg { flex-basis: 78px; width: 78px; height: 78px; }
  .team-crest--sprite.team-crest--lg > .shield-sprite { transform: scale(1.25); }
  .bracket-track { min-width: 900px; }
  .bracket-track--copa { min-width: 1100px; }
}
@media (max-width: 400px) {
  .brand-copy strong { font-size: 12px; }
  .competition-tabs button { flex: 1; padding: 0 8px; font-size: 9px; }
}


/* Editorial layout, shared across every section. */
:root { --display: "Segoe UI", ui-sans-serif, system-ui, sans-serif; --body: "Segoe UI", ui-sans-serif, system-ui, sans-serif; --radio: 7px; --radio-sm: 5px; --fondo: #f5fbff; --sombra: none; }
body { font-size: 14px; }
h1,h2,h3,h4,.page-title,.classification-page .page-title,.brand-copy strong,.match-team-name,.countdown b,.timeline-year,.player-name { font-family: var(--body); font-weight: 700; letter-spacing: -.025em; }
.wrap { width: min(1280px, calc(100% - 48px)); }
.page { padding: 30px 0 48px; }
.page-header { margin-bottom: 20px; align-items: center; }
.page-title,.classification-page .page-title { font-size: clamp(28px,3vw,38px); line-height: 1.15; }
.page-intro { font-size: 13px; margin-top: 7px; }
.section-heading { margin-bottom: 12px; }
.section-heading h2 { font-size: 22px; font-weight: 700; }
.eyebrow { font-size: 10px; letter-spacing: .12em; }
.panel { background: transparent; border: 0; border-radius: 0; box-shadow: none; }
.button { min-height: 40px; padding: 9px 16px; border-radius: 5px; font-size: 12px; }
.text-link { font-size: 12px; }
.updated { font-size: 10px; }
.header-inner { width: min(1360px,calc(100% - 40px)); height: 66px; gap: 20px; }
.brand { gap: 8px; }
.brand img { width: 32px; height: 40px; }
.brand-copy strong { font-size: 16px; letter-spacing: -.035em; }
.primary-nav { gap: clamp(12px,1.6vw,22px); }
.primary-nav a { font-size: 12px; font-weight: 600; }
.language-switch { display: flex; border: 1px solid #53718c; border-radius: 5px; padding: 2px; gap: 2px; }
.language-switch button { width: 31px; min-height: 30px; padding: 3px; border: 0; border-radius: 3px; background: transparent; color: #c5dff2; cursor: pointer; font-size: 11px; font-weight: 700; }
.language-switch button[aria-pressed="true"] { background: var(--celeste); color: var(--azul-marino); }
.header-tools { gap: 0; }
.hero { min-height: auto; padding: 24px 0 32px; }
.hero::before { background: linear-gradient(90deg,rgba(0,41,82,.55),rgba(0,41,82,.4)), url('./assets/balaidos-renovado.webp') center 43%/cover no-repeat; }
.hero-topline { text-align: center; }
.hero-topline .eyebrow { font-size: 10px; }
.match-card { position: relative; max-width: 790px; margin: 18px auto 0; padding: 24px 36px; background: rgba(0,41,82,.38); border: 1px solid rgba(255,255,255,.2); border-radius: 8px; backdrop-filter: none; box-shadow: none; overflow: hidden; }
.match-meta { font-size: 11px; }
.match-teams { margin: 20px 0; gap: 30px; }
.match-team { gap: 8px; }
.match-team-name { font-size: 28px; }
.versus { font-size: 16px; font-weight: 600; }
.team-crest, .team-crest--sprite { background: transparent; border: 0; border-radius: 0; padding: 0; }
.team-crest > .shield-sprite { clip-path: none; background-color: transparent; }
.team-crest--lg,.team-crest--remote.team-crest--lg { width: 104px; height: 104px; flex-basis: 104px; }
.team-crest--remote img { object-fit: contain; }
.team-crest--sm { width: 28px; height: 28px; flex-basis: 28px; }
.match-time { padding: 13px 0; font-size: 12px; gap: 24px; border-color: rgba(255,255,255,.18); }
.countdown { gap: 24px; margin: 18px 0; }
.countdown-unit { padding: 0; min-width: 54px; background: transparent; border: 0; border-radius: 0; }
.countdown-unit b { font-size: 30px; font-weight: 600; font-variant-numeric: tabular-nums; }
.countdown-unit small { font-size: 9px; }
.hero-actions { margin-top: 18px; gap: 10px; }
.home-content { padding-top: 26px; padding-bottom: 36px; }
.home-grid { grid-template-columns: minmax(0,2.1fr) minmax(290px,1fr); gap: 30px; }
.home-column { gap: 24px; }
.results-strip { display: flex; flex-direction: column; gap: 0; }
.result-card { display: grid !important; grid-template-columns: 58px minmax(0,1fr) 52px minmax(0,1fr) 22px; align-items: center; gap: 10px; position: relative; min-height: 64px; padding: 10px 0; border: 0; border-bottom: 1px solid var(--linea); border-radius: 0; background: transparent; overflow: hidden; }
.result-card time { font-size: 10px; color: var(--gris-texto); }
.result-team { display: flex; align-items: center; gap: 8px; min-width: 0; font-size: 12px; font-weight: 600; }
.result-team span:last-child { overflow: hidden; text-overflow: ellipsis; }
.result-score { font-size: 17px; text-align: center; font-variant-numeric: tabular-nums; }
.competition-watermark { position: absolute; width: 110px; height: 56px; object-fit: contain; right: 16px; top: 4px; filter: grayscale(1); opacity: .045; pointer-events: none; z-index: 0; }
.result-card > :not(.competition-watermark) { z-index: 1; }
.match-card > .competition-watermark { width: 170px; height: 120px; top: 26px; right: 24px; filter: grayscale(1) brightness(5); opacity: .04; }
.result-badge { font: 600 10px var(--body); width: 22px; height: 22px; display: grid; place-items: center; padding: 0; border-radius: 50%; }
.video-feature { border: 0; border-radius: 0; background: transparent; }
.video-frame { aspect-ratio: 16/9; border-radius: 5px; }
.video-caption { padding: 12px 0 0; background: transparent; }
.video-caption .eyebrow { display: none; }
.video-caption h3 { font-size: 18px; font-weight: 650; margin: 0 0 8px; }
.mini-table-head,.mini-table-row { grid-template-columns: 24px minmax(0,1fr) 28px 28px; padding: 10px 7px; }
.mini-table-head { background: transparent; }
.mini-table-row { min-height: 60px; font-size: 12px; }
.mini-team { gap: 10px; }
.mini-team > span { display: block; }
.mini-table-row .form-chips { display: flex; margin-top: 5px; }
.form-chips { display: flex; gap: 3px; margin-top: 4px; }
.form-chip { display: inline-grid; place-items: center; width: 19px; height: 19px; border-radius: 50%; font-size: 9px; color: white; font-weight: 700; line-height: 1; }
.form-W { background: #278065; }
.form-D { background: #a58332; }
.form-L { background: #bc5360; }
.form-missing { font-size: 10px; color: #53718c; }
.news-feature { display: grid; grid-template-columns: 110px minmax(0,1fr); gap: 13px; padding: 0; align-items: start; }
.news-art--photo { height: 92px; min-height: 0; border-radius: 4px; }
.news-art--photo img { min-height: 0; height: 92px; }
.news-feature h3 { font-size: 17px; line-height: 1.3; margin: 4px 0 7px; }
.news-feature p { font-size: 12px; margin: 6px 0; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.news-byline { font-size: 10px; }
.fixtures-columns { gap: 30px; }
.match-list { gap: 0; }
.fixture-card { grid-template-columns: 78px minmax(0,1fr) 85px; gap: 12px; padding: 14px 0; min-height: 98px; border: 0; border-bottom: 1px solid var(--linea); border-radius: 0; background: transparent; }
.fixture-date { border: 0; padding-right: 0; }
.fixture-date strong { font: 600 12px/1.4 var(--body); }
.fixture-date small { font-size: 10px; }
.fixture-comp { margin-bottom: 7px; font-size: 9px; letter-spacing: .04em; }
.fixture-teams { grid-template-columns: minmax(0,1fr) 50px minmax(0,1fr); gap: 8px; }
.fixture-team { gap: 6px; }
.fixture-team-name { font-size: 14px; font-weight: 650; white-space: normal; }
.fixture-team .team-crest--sm { width: 36px; height: 36px; flex-basis: 36px; }
.fixture-team .shield-sprite.xs { transform: scale(1.3); }
.fixture-score { font: 700 16px var(--body); white-space: nowrap; }
.fixture-meta { font-size: 9px; min-width: 0; gap: 4px; }
.fixture-meta strong { font-size: 13px; }
.fixture-vs { font-size: 10px; }
.toolbar { margin-bottom: 20px; gap: 10px; }
.filter-chip,.select-control,.search-control { border-radius: 4px; min-height: 36px; font-size: 11px; }
#panel-laliga { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 30px; align-items: start; }
.fortuna-table-section { margin-top: 0; }
.classification-block { min-width: 0; }
.classification-block .section-heading { min-height: 40px; align-items: center; flex-wrap: wrap; gap: 6px; }
.classification-block .section-heading h2 { font-size: 18px; font-weight: 650; }
.table-legend { font-size: 8px; gap: 6px; }
.table-wrap { border: 0; border-radius: 0; background: transparent; }
.standings { min-width: 0; width: 100%; font-size: 11px; }
.standings th { background: transparent; padding: 11px 7px; font-size: 9px; }
.standings td { padding: 8px 7px; height: 57px; }
.standings .team-cell { text-align: left; }
.team-name-wrap { gap: 8px; }
.standings .team-name { font-size: 11px; white-space: normal; }
.table-wrap.show-extra .standings { min-width: 730px; }
.table-controls { align-items: center; gap: 10px; }
.table-controls .button { min-height: 34px; padding: 7px 10px; font-size: 10px; }
.competition-tabs button { border-radius: 4px; }
.squad-eyebrow { font-size: 20px; font-weight: 700; }
.player-grid { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; }
.player-card { min-height: 248px; padding: 13px 12px; border: 0; border-bottom: 1px solid #e8f5ff; border-radius: 6px; box-shadow: none; background: linear-gradient(135deg,#fff8,#f5fbff80); }
.player-card:hover { box-shadow: none; transform: translateY(-2px); background: #f5fbff; }
.player-top { margin-bottom: 4px; }
.player-body { gap: 3px; }
.player-card .player-avatar { width: 128px; height: 128px; padding: 0; margin-bottom: 6px; border: 3px solid #fff; box-shadow: none; object-fit: contain; }
.player-card .player-name { font-size: 18px; font-weight: 700; }
.player-sub { display: flex; align-items: center; justify-content: center; gap: 4px; font-size: 11px; }
.country-flag { width: 19px; height: 13px; object-fit: cover; border-radius: 1px; }
.player-statline { display: grid; grid-template-columns: repeat(4,1fr); width: 100%; gap: 4px; margin-top: 10px; font-size: 9px; }
.player-statline span { display: flex; flex-direction: column; gap: 2px; }
.player-statline b { font-size: 13px; }
.staff-section { margin-top: 28px; }
.staff-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
.staff-card { background: transparent; padding: 12px 0; border: 0; border-bottom: 1px solid var(--linea); border-radius: 0; }
.staff-avatar { width: 38px; height: 38px; font: 600 12px var(--body); }
.staff-card--lead { gap: 24px; margin-bottom: 14px; border: 0; }
.staff-photo { width: 140px; height: 160px; object-fit: cover; object-position: center 30%; border-radius: 5px; }
.staff-card--lead strong { font-size: 26px; }
.staff-card--lead small { margin-top: 5px; font-size: 13px; }
.staff-source { display: none; }
.news-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 30px; align-items: start; }
.news-card { display: grid; grid-template-columns: 34% minmax(0,1fr); align-items: start; gap: 16px; border: 0; border-bottom: 1px solid var(--linea); border-radius: 0; padding: 18px 0; background: transparent; }
.news-card:first-child { grid-row: auto; }
.news-card .news-image,.news-card:first-child .news-image { min-height: 0; }
.news-card { grid-template-rows: auto; }
.news-card:hover { transform: none; }
.news-card:has(.news-image[hidden]) { grid-template-columns: 1fr; }
.news-image { height: 160px; border-radius: 4px; overflow: hidden; }
.news-image img { width: 100%; height: 100%; object-fit: cover; }
.news-copy { padding: 0; }
.news-copy h2 { font: 700 19px/1.25 var(--body); margin: 7px 0; }
.news-excerpt { font-size: 12px; margin: 7px 0; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.news-meta { font-size: 9px; }
.news-source-line { margin: 7px 0; }
.news-read { margin-top: 4px; }
.refresh-news { margin: -54px 0 24px auto; display: flex; width: fit-content; min-height: 32px; border: 0; border-radius: 4px; background: transparent; cursor: pointer; padding: 4px 8px; font-size: 11px; }
.refresh-news:hover { background: #e8f5ff; }
.refresh-news:disabled { cursor: wait; opacity: .65; }
.news-toolbar { margin-bottom: 0; }
.article-dialog h2 { font-size: 27px; font-weight: 700; }
.article-summary { font-size: 15px; }
.social-columns { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 40px; }
.social-group + .social-group { margin-top: 0; }
.social-group h2 { font-size: 20px; margin-top: 0; }
.social-accounts { display: flex; gap: 6px; flex-wrap: wrap; }
.social-accounts .filter-chip { display: inline-flex; align-items: center; }
.social-empty { font-size: 13px; color: var(--gris-texto); margin: 20px 0; }
.social-post { border-bottom: 1px solid var(--linea); padding: 20px 0; }
.social-post header { display: flex; align-items: center; gap: 10px; }
.social-post header img { border-radius: 50%; }
.social-post header div { display: flex; flex-direction: column; font-size: 12px; }
.social-post header a,.social-post time { color: var(--gris-texto); font-size: 10px; }
.social-post time { margin-left: auto; }
.social-post p { white-space: pre-wrap; overflow-wrap: anywhere; font-size: 14px; }
.social-photo { max-height: 400px; border-radius: 4px; margin-bottom: 12px; object-fit: contain; }
.history-intro { margin-bottom: 20px; padding: 40px; min-height: 270px; display: flex; flex-direction: column; justify-content: end; border-radius: 6px; background: linear-gradient(0deg,rgba(0,41,82,.9),rgba(0,41,82,.15)),var(--history-image) center 45%/cover; }
.history-intro::after { display: none; }
.history-intro h1 { color: #fff; font-size: 38px; margin: 5px 0 0; line-height: 1.2; }
.history-intro .eyebrow { color: #e8f5ff; }
.timeline { padding: 0; }
.timeline::before { display: none; }
.timeline-item { display: grid; grid-template-columns: 100px 270px minmax(0,1fr); align-items: center; gap: 25px; padding: 20px 0; margin: 0; border-bottom: 1px solid var(--linea); }
.timeline-item::before { display: none; }
.timeline-year { font-size: 24px; color: #005d9c; }
.timeline-photo { width: 270px; height: 180px; object-fit: cover; border-radius: 4px; }
.timeline-item h2 { font-size: 21px; margin: 0 0 9px; }
.timeline-item p { font-size: 14px; line-height: 1.7; margin: 0; max-width: 700px; }
.history-source-link { display: inline-flex; margin-top: 22px; }
.rank-grid { gap: 30px; }
.rank-panel { padding: 0; }
.rank-panel h2 { font-size: 21px; font-weight: 700; }
.rank-row { padding: 10px 0; min-height: 56px; }
.site-footer { padding-top: 28px; }
.footer-main { gap: 25px; padding-bottom: 24px; }
.footer-brand img { width: 35px; height: 42px; object-fit: contain; }
.footer-bottom { padding: 16px 0; font-size: 10px; }
@media(min-width:1440px) { .hero { min-height: auto; padding-top: 24px; } .match-card { margin-top:18px; } }
@media(max-width:1100px) {
 .header-inner { gap: 12px; } .brand-copy strong { font-size: 13px; } .primary-nav { gap: 11px; } .primary-nav a { font-size: 11px; }
 .fixtures-columns { grid-template-columns: 1fr; gap: 26px; } .fixture-card { grid-template-columns: 95px minmax(0,1fr) 130px; }
 .player-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
 .news-card { grid-template-columns: 1fr; } .news-image { height: 185px; }
 .timeline-item { grid-template-columns: 85px 220px minmax(0,1fr); gap: 18px; } .timeline-photo { width: 220px; height: 150px; }
}
@media(max-width:760px) {
 .wrap { width: calc(100% - 28px); } .header-inner { width: calc(100% - 24px); gap: 10px; height: 62px; } .brand-copy strong { font-size: 14px; }
 .header-tools { order: 2; margin-left: auto; } .menu-toggle { order: 3; border:0; padding:10px; width:36px; }
 .primary-nav { top:62px; } .primary-nav a { font-size: 14px; }
 .language-switch button { width:27px; min-height:28px; }
 .hero { padding: 18px 0 24px; } .hero-topline .eyebrow { font-size: 8px; }
 .match-card { margin-top:12px; padding:20px 15px; border-radius:6px; } .match-teams { margin:16px 0; gap:12px; }
 .match-team-name { font-size:24px; } .match-time { flex-wrap:wrap; gap:8px 16px; font-size:11px; } .team-crest--remote.team-crest--lg { width:90px; height:90px; flex-basis:90px; }
 .countdown { gap:14px; } .countdown-unit b { font-size:28px; } .hero-actions .button { font-size:11px; padding:9px 13px; }
 .home-grid { grid-template-columns:1fr; gap:24px; } .home-column { gap:22px; }
 .result-card { grid-template-columns:45px minmax(0,1fr) 42px minmax(0,1fr) 20px; gap:5px; } .result-team { font-size:11px; gap:5px; } .result-score { font-size:15px; }
 .news-feature { grid-template-columns:110px minmax(0,1fr); }
 #panel-laliga { grid-template-columns:1fr; gap:28px; } .standings td { padding:8px 5px; } .table-wrap.show-extra .standings { min-width:640px; }
 .player-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; } .player-card { padding:10px 6px; min-height:240px; } .player-card .player-avatar { width:114px; height:114px; } .player-card .player-name { font-size:16px; }
 .player-sub { font-size:10px; } .player-statline { font-size:8px; gap:2px; }
 .fixture-card { grid-template-columns:65px minmax(0,1fr); gap:8px; padding:12px 0; } .fixture-teams { grid-template-columns:minmax(0,1fr) 38px minmax(0,1fr); gap:4px; } .fixture-team { gap:4px; } .fixture-team-name { font-size:12px; } .fixture-date strong { font-size:11px; }
 .fixture-team .team-crest--sm { width:28px; height:28px; flex-basis:28px; } .fixture-team .shield-sprite.xs { transform:none; }
 .fixture-meta { grid-column:2; display:flex; flex-direction:row; justify-content:space-between; width:100%; font-size:10px; } .fixture-meta strong { font-size:12px; }
 .staff-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .staff-photo { width:110px; height:130px; } .staff-card--lead { gap:16px; } .staff-card--lead strong { font-size:23px; }
 .news-grid { grid-template-columns:1fr; } .news-card { grid-template-columns:32% minmax(0,1fr); gap:12px; padding:16px 0; } .news-image { height:135px; } .news-copy h2 { font-size:17px; } .news-excerpt { font-size:11px; }
 .refresh-news { margin:-7px 0 14px; } .news-toolbar { gap:10px; } .news-toolbar .filter-set { gap:5px; }
 .social-columns { grid-template-columns:1fr; gap:26px; }
 .history-intro { min-height:240px; padding:25px; } .history-intro h1 { font-size:30px; }
 .timeline-item { grid-template-columns:65px minmax(0,1fr); gap:12px; align-items:start; } .timeline-year { font-size:19px; } .timeline-photo { width:100%; height:180px; } .timeline-item > div { grid-column:2; } .timeline-item h2 { font-size:18px; } .timeline-item p { font-size:13px; }
 .footer-main { grid-template-columns:1fr 1fr; gap:24px; } .footer-brand { grid-column:1/-1; } .footer-bottom { align-items:start; gap:8px; }
}
@media(max-width:380px) { .brand-copy strong { font-size:12px; } .brand img { width:26px; } .header-inner { gap:6px; } .language-switch button { width:24px; } .player-sub { flex-wrap:wrap; } }
.hero::after { display: none; }
.home-grid { align-items: start; }
.home-column { align-content: start; }
.home-content [data-reveal] { opacity: 1; transform: none; transition: none; }
.footer-main { padding-top: 0; align-items: start; }
.footer-links a { min-height: 26px; font-size: 11px; }
.match-column .match-list { gap: 0; }
.match-column .fixture-card { grid-template-columns: 85px minmax(0,1fr); padding: 13px 0; gap: 8px 12px; }
.match-column .fixture-date { padding: 0; }
.match-column .fixture-date strong { white-space: nowrap; font-size: 12px; }
.match-column .fixture-teams { display: grid; grid-template-columns: minmax(0,1fr) 48px minmax(0,1fr); gap: 8px; }
.match-column .fixture-team-name { font-size: 15px; line-height: 1.35; font-weight: 600; }
.match-column .fixture-team .team-crest { width: 38px; height: 38px; flex-basis: 38px; }
.match-column .fixture-team .shield-sprite.xs { transform: scale(1.3); }
.match-column .fixture-score { font: 700 17px var(--body); }
.match-column .fixture-meta { grid-column: 2; display:flex; justify-content:space-between; font-size:10px; }
.profile-head h2,.profile-dialog h3,.article-dialog h2 { font-weight: 700; }
.social-accounts .filter-chip { background: #e8f5ff; }
@media(max-width:760px) {
 .footer-links a { min-height: 40px; }
 .match-column .fixture-card { grid-template-columns:70px minmax(0,1fr); gap:7px 8px; }
 .match-column .fixture-date strong { font-size:10px; }
 .match-column .fixture-teams { grid-template-columns:minmax(0,1fr) 38px minmax(0,1fr); gap:4px; }
 .match-column .fixture-team-name { font-size:13px; }
 .match-column .fixture-team .team-crest { width:30px; height:30px; flex-basis:30px; }
 .match-column .fixture-team .shield-sprite.xs { transform:scale(1.1); }
 .match-column .fixture-score { font-size:15px; }
}
/* Revision 5: balance, portraits and calendar hierarchy. */
.hero { padding: 22px 0 30px; }
.hero::before { background-position: center bottom; }
.hero .match-card { margin-top: 0; }
.home-results { width: min(100%, 650px); margin-inline: auto; }
.home-results .result-card { grid-template-columns: 48px minmax(0,1fr) 56px minmax(0,1fr) 22px; gap: 10px; }
.home-results .result-team:first-of-type { justify-content: flex-end; text-align: right; }
.home-results .result-team:first-of-type .team-crest { order: 2; }
.home-results .result-team { position: relative; z-index: 1; }
.result-card .competition-watermark { opacity: .15; width: 104px; right: 15px; }
.home-news .news-feature + .news-feature { margin-top: 20px; padding-top: 20px; border-top: 1px solid var(--linea); }
.home-news .news-feature { background: transparent; }
#panel-laliga { display: block; }
.classification-row { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 30px; align-items: start; }
.classification-row + .classification-row { margin-top: 50px; padding-top: 30px; border-top: 1px solid var(--linea); }
.matchday-schedule { min-width: 0; }
.matchday-schedule .section-heading { margin-bottom: 4px; }
.matchday-schedule h2 { font-size: 18px; font-family: var(--body); }
.matchday-timezone { font-size: 10px; margin: 0 0 24px; }
.matchday-date { font: 600 12px var(--body); color: var(--azul-medio); padding: 18px 0 7px; margin: 0; }
.matchday-game { display: grid; grid-template-columns: 42px minmax(0,1fr) 10px minmax(0,1fr); gap: 8px; align-items: center; padding: 13px 7px; border-bottom: 1px solid var(--linea); font-size: 12px; }
.matchday-game > time { font-weight: 700; font-variant-numeric: tabular-nums; }
.matchday-game > div { display: flex; gap: 7px; align-items: center; min-width: 0; }
.matchday-game .team-crest--sm { width: 28px; height: 28px; flex-basis: 28px; }
.matchday-game .shield-sprite.xs { transform: none; }
.matchday-vs { color: var(--gris-texto); }
.matchday-game.is-celta { background: #e8f5ff; font-weight: 650; }
.bracket-round { font-family: var(--body); background: transparent; border-radius: 0; border: 0; border-left: 1px solid var(--linea); padding: 14px; }
.bracket-round h3 { font: 700 18px var(--body); }
.bracket-round > p { font: 400 12px/1.6 var(--body); }
.bracket-slot { background: transparent; border-radius: 0; font: 500 12px/1.5 var(--body); min-height: 60px; }
.bracket-slot b { font-size: 12px; white-space: normal; overflow: visible; text-overflow: clip; }.bracket-slot small { font-size: 11px; }
.bracket-track--copa { align-items: start; grid-template-columns:260px repeat(5,minmax(200px,1fr)); min-width:1330px; }
.bracket-track--copa .bracket-round:last-child .bracket-slots { grid-template-columns:1fr; }
.bracket-track--copa .bracket-slot > span { grid-row:auto; }
.bracket-track--copa .bracket-slot small { grid-column:1/-1; overflow-wrap:normal; }
.bracket-track--copa .bracket-celta-round { min-width: 260px; }
.copa-heading h2 { font: 700 18px var(--body); }
.player-card { min-height: 315px; padding: 14px 10px 16px; }
.player-card .player-avatar { width: 184px; height: 184px; padding: 0; border: 0; object-fit: cover; object-position: center top; background: linear-gradient(145deg,#e8f5ff,#f5fbff); }
.player-card .player-name { font-size: 19px; margin-top: 8px; }
.player-statline { margin-top: 14px; }
.profile-head { gap: 24px; align-items: center; padding-right: 14px; }
.profile-head img { width: 176px; height: 176px; flex-shrink: 0; object-fit: cover; object-position: center top; padding: 0; border: 0; background: linear-gradient(145deg,#e8f5ff,#f5fbff); }
.rankings-page { max-width: 1060px; }
.rankings-page .rank-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 36px 32px; }
.rankings-page .rank-panel { border: 0; padding: 0; background: transparent; }
.rankings-page .rank-column { display: grid; align-content: start; gap: 34px; min-width: 0; }
.rankings-page .rank-panel h2 { font: 700 18px var(--body); margin-bottom: 10px; }
.rankings-page .rank-row { grid-template-columns: 18px 64px minmax(0,1fr) auto; gap: 9px; border-radius: 0; border-bottom: 1px solid var(--linea); background: transparent; min-height: 85px; padding: 10px 0; }
.rankings-page .rank-row .player-avatar { width: 64px; height: 64px; padding: 0; object-fit: cover; object-position: top; border: 0; box-shadow: none; background: #e8f5ff; }
.rankings-page .rank-row strong { display: block; font: 650 14px/1.35 var(--body); white-space: normal; }
.rankings-page .rank-row br { display: none; }.rankings-page .rank-row small { font-size: 10px; }
.rankings-page .rank-row b { font: 700 20px var(--body); }
.calendar-page { max-width: 1060px; }
.calendar-tools { display: flex; align-items: center; justify-content: space-between; gap: 20px; border-bottom: 1px solid var(--linea); margin-bottom: 16px; }
.calendar-tabs { display: flex; gap: 24px; }
.calendar-tabs button { padding: 17px 0; border: 0; border-bottom: 3px solid transparent; background: transparent; color: var(--gris-texto); font: 650 16px var(--body); cursor: pointer; }
.calendar-tabs button[aria-selected=true] { color: var(--azul-marino); border-color: var(--celeste); }
.calendar-tabs button span { font-size: 11px; margin-left: 6px; color: var(--gris-texto); }
.calendar-filters { display: flex; gap: 10px; }
.calendar-month { font: 700 17px var(--body); margin: 30px 0 8px; }
.calendar-game { display: grid; grid-template-columns: 115px minmax(0,1fr) 58px; align-items: center; gap: 24px; border-bottom: 1px solid var(--linea); padding: 20px 0; }
.calendar-date { display: grid; gap: 7px; }.calendar-date strong { font-size: 13px; }.calendar-date small { color: var(--gris-texto); font-size: 11px; }
.calendar-context { color: var(--azul-medio); font-size: 10px; font-weight: 650; letter-spacing: .07em; text-transform: uppercase; text-align: center; margin-bottom: 12px; }
.calendar-teams { display: grid; grid-template-columns: minmax(0,1fr) 98px minmax(0,1fr); align-items: center; gap: 18px; }
.calendar-team { display: flex; align-items: center; gap: 12px; font-size: 17px; font-weight: 600; }
.calendar-team--home { justify-content: flex-end; text-align: right; }
.calendar-team .team-crest { width: 42px; height: 42px; flex-basis: 42px; }
.calendar-team .shield-sprite.xs { transform: scale(1.5); }
.calendar-score { font: 750 23px var(--body); text-align: center; font-variant-numeric: tabular-nums; }
.calendar-score small { display: block; font: 400 9px var(--body); color: var(--gris-texto); margin-top: 5px; }
.calendar-venue { font-size: 11px; color: var(--gris-texto); text-align: center; margin-top: 11px; }
.calendar-status { font-size: 10px; color: var(--gris-texto); }.calendar-game > .result-badge { justify-self: end; }
@media(max-width:1100px) { .rankings-page .rank-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px 38px; } .rankings-page .rank-column { display: contents; } }
@media(max-width:760px) {
 .hero::before { background-size: 100% auto; background-position: center bottom; }
 .home-results .result-card { grid-template-columns: 36px minmax(0,1fr) 40px minmax(0,1fr) 18px; gap: 5px; }
 .home-results .result-team { gap:4px; font-size:11px; }.home-results .result-team .team-crest { flex-shrink:0; }
 .classification-row { grid-template-columns: 1fr; gap: 28px; }.classification-row + .classification-row { margin-top:32px; }
 .matchday-game { font-size:12px; gap:7px; }.matchday-game > div { gap:5px; }
 .player-card { min-height:280px; padding:12px 6px; }.player-card .player-avatar { width:min(100%,148px); height:auto; aspect-ratio:1; }.player-card .player-name { font-size:17px; }
 .profile-head { gap:14px; padding:32px 0 0; }.profile-head > div { min-width:0; flex:1; }.profile-head .eyebrow { white-space:normal; overflow:visible; text-overflow:clip; font-size:9px; letter-spacing:1.2px; }.profile-head img { width:112px; height:112px; }.profile-head h2 { font-size:23px; }
 .calendar-tools { align-items:stretch; flex-direction:column; gap:14px; padding-bottom:14px; }.calendar-tabs { gap:24px; }.calendar-tabs button { font-size:15px; padding:12px 0; }
 .calendar-filters .select-control { min-width:0; flex:1; width:50%; font-size:11px; }
 .calendar-game { grid-template-columns: 1fr 26px; gap:10px; padding:18px 0; }.calendar-date { grid-column:1/-1; display:flex; gap:10px; align-items:center; }.calendar-date strong { font-size:12px; }
 .calendar-match { grid-column:1; }.calendar-context { font-size:9px; margin-bottom:10px; }.calendar-teams { grid-template-columns:minmax(0,1fr) 68px minmax(0,1fr); gap:8px; }.calendar-team { gap:6px; font-size:13px; }
 .calendar-team .team-crest { width:30px; height:30px; flex-basis:30px; }.calendar-team .shield-sprite.xs { transform:scale(1.1); }.calendar-score { font-size:19px; }.calendar-score small { font-size:8px; }
 .calendar-status { writing-mode:vertical-rl; }.calendar-venue { font-size:10px; }
 .rankings-page .rank-grid { grid-template-columns:1fr; gap:30px; }.rankings-page .rank-row strong { font-size:16px; }
}

/* Revision 6 */
:root { --header-height:66px; }
html { scroll-padding-top:calc(var(--header-height) + 18px); }
.header-inner { width:min(1680px,calc(100% - 40px)); gap:22px; }
.header-match { display:flex; align-items:center; gap:14px; padding-inline:20px; border-left:1px solid #ffffff26; margin-left:auto; }
.has-match .primary-nav { margin-left:auto; gap:16px; }
.header-fixture { display:grid; gap:1px; }
.header-fixture-teams { display:flex; align-items:center; gap:7px; font-size:11px; white-space:nowrap; }
.header-fixture-teams > span:not(.team-crest) { color:#c5dff2; font-size:9px; }
.header-fixture .team-crest { width:22px; height:22px; flex-basis:22px; }
.header-fixture > small { text-align:center; font-size:9px; color:#c5dff2; }
.header-countdown { display:flex; gap:9px; font-variant-numeric:tabular-nums; }
.header-countdown b { font-size:14px; font-weight:650; }
.header-countdown small { font-size:9px; font-weight:400; color:#c5dff2; margin-left:2px; }
.hero { display:grid; padding:0; min-height:0; }
.hero-photo { grid-area:1/1; width:100%; height:auto; align-self:end; position:relative; z-index:-2; }
.hero::before { background:linear-gradient(90deg,rgba(0,41,82,.55),rgba(0,41,82,.4)); z-index:-1; }
.hero::after { display:none; }
.hero .wrap { grid-area:1/1; align-self:center; padding-block:28px; }
.hero .match-card { margin-block:0; }
.classification-row { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:76px; }
.matchday-game { grid-template-columns:minmax(0,1fr) 56px minmax(0,1fr); gap:8px; padding:11px 4px; min-height:54px; }
.matchday-game > time { text-align:center; font-size:15px; }
.matchday-game > .matchday-team { gap:6px; font-size:12px; line-height:1.35; }
.matchday-team--home { justify-content:flex-end; text-align:right; }
.matchday-team .team-crest { flex-shrink:0; width:26px; height:26px; flex-basis:26px; }
.competition-tabs button { display:inline-flex; align-items:center; gap:9px; }
.competition-tab-icon { object-fit:contain; flex-shrink:0; width:24px; height:24px; }
#tab-laliga .competition-tab-icon { width:38px; }
.competition-tabs button[aria-selected=true] .competition-tab-icon { filter:brightness(0) invert(1); }
.zone-conference td:first-child { border-left:3px solid #55a181; }
.legend-dot--conference { background:#55a181; }
.table-legend { flex-wrap:wrap; gap:5px 9px; }
.calendar-match { position:relative; padding-block:8px; isolation:isolate; }
.calendar-match > .competition-watermark { width:102px; height:58px; top:50%; right:-12px; transform:translateY(-50%); opacity:.13; z-index:-1; }
.calendar-match .calendar-teams, .calendar-match .calendar-venue { position:relative; }
.history-page { padding:0 0 48px; }
.history-intro { margin:0; padding:0; min-height:340px; border-radius:0; }
.history-intro > .wrap { padding-block:50px; }
.history-years { position:sticky; top:var(--header-height); z-index:10; background:rgba(77,178,251,.98); border-bottom:1px solid var(--linea); }
.history-years-inner { display:flex; align-items:center; overflow-x:auto; padding:14px 2px 16px; scrollbar-width:thin; }
.history-years button { display:grid; gap:8px; place-items:center; min-width:53px; padding:7px 6px; border:0; position:relative; background:transparent; font-size:10px; font-weight:650; cursor:pointer; transition:color .18s,transform .18s; }
.history-years button::before { content:''; position:absolute; height:1px; background:#e8f5ff; left:0; right:0; top:12px; z-index:-1; }
.history-year-dot { width:10px; height:10px; border:2px solid var(--fondo); border-radius:50%; background:#53718c; box-shadow:0 0 0 1px #e8f5ff; transition:background .18s,transform .18s; }
.history-years button:hover,.history-years button:focus-visible,.history-years button[aria-current] { color:#005d9c; transform:translateY(-2px); }
.history-years button:hover .history-year-dot,.history-years button[aria-current] .history-year-dot { background:#005d9c; transform:scale(1.5); }
.history-content .timeline { margin-left:0; }
.timeline-item { scroll-margin-top:80px; }
.timeline-item:focus { outline:none; background:#e8f5ff; }
.rankings-page { max-width:1160px; }
.rankings-intro { margin:-10px 0 24px; color:var(--gris-texto); font-size:14px; }
.ranking-tabs { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); border-bottom:1px solid var(--linea); gap:12px; margin-bottom:34px; }
.ranking-tabs button { display:flex; align-items:center; justify-content:center; gap:9px; padding:18px 6px; border:0; border-bottom:3px solid transparent; background:transparent; font-weight:650; font-size:14px; cursor:pointer; color:var(--gris-texto); }
.ranking-tabs button[aria-selected=true] { color:var(--azul-marino); border-color:#005d9c; background:#e8f5ff; }
.ranking-detail-heading { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-bottom:24px; }
.ranking-detail-heading h2 { font-size:26px; margin:0; }
.ranking-detail-heading p { color:var(--gris-texto); font-size:12px; margin:0; }
.ranking-layout { display:grid; grid-template-columns:300px minmax(0,1fr); gap:60px; }
.ranking-leader { padding:24px; border-left:3px solid var(--celeste); align-self:start; background:linear-gradient(160deg,#e8f5ff,transparent); text-align:center; }
.ranking-leader .eyebrow { font-size:10px; justify-content:center; }
.ranking-leader img { width:176px; height:176px; border-radius:50%; margin:20px auto; background:#e8f5ff; }
.ranking-leader h3 { font-size:23px; margin:0 0 16px; }
.ranking-leader-value { display:grid; font-size:52px; font-weight:750; font-variant-numeric:tabular-nums; line-height:1.1; }
.ranking-leader-value small { font-size:13px; font-weight:400; color:var(--gris-texto); margin-top:7px; }
.ranking-table-head { display:grid; grid-template-columns:28px minmax(0,1fr) auto; gap:12px; padding:0 0 10px; font-size:10px; text-transform:uppercase; letter-spacing:.06em; color:var(--gris-texto); border-bottom:1px solid var(--linea); }
.ranking-table .rank-list { margin:0; padding:0; list-style:none; }
.rankings-page .ranking-table .rank-row { grid-template-columns:28px 64px minmax(0,1fr) 42px; gap:12px; min-height:90px; }
.ranking-table .rank-row small { display:block; margin-top:4px; }
.ranking-table .rank-row b { text-align:right; }
.ranking-table .rank-row a:hover { text-decoration:underline; }
.rankings-source { margin-top:30px; font-size:11px; display:flex; align-items:center; gap:8px; }
.social-intro { color:var(--gris-texto); margin:-8px 0 30px; }
.social-list-group { min-width:0; border-top:3px solid var(--celeste); }
.social-group-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; padding-block:20px; }
.social-group-heading h2 { font-size:23px; margin:0; }.social-group-heading .eyebrow { margin:0 0 7px; }
.social-feed-viewport { min-height:300px; background:#fff; border:1px solid var(--linea); border-radius:12px; overflow:hidden; }
.social-feed-loading,.social-feed-error { padding:28px; color:var(--gris-texto); font-size:13px; }
.social-feed-error .text-link { display:block; margin-top:20px; border:0; background:transparent; cursor:pointer; }
.social-embed-target iframe { max-width:100%; }
.social-account-details { margin-top:16px; font-size:12px; color:var(--gris-texto); }
.social-account-details summary { cursor:pointer; }.social-account-details .social-accounts { margin-top:12px; }
@media(max-width:1450px) {
 .header-inner { flex-wrap:wrap; height:auto; min-height:66px; gap:0 18px; }
 .header-match { order:5; flex-basis:100%; padding:9px 0; margin:0; justify-content:center; border-left:0; border-top:1px solid #ffffff20; }
 .has-match .primary-nav { margin-left:auto; }
 .header-inner .brand,.header-tools { min-height:66px; }
 .classification-row { gap:48px; }
}
@media(max-width:760px) {
 .header-inner { width:calc(100% - 24px); min-height:62px; gap:0 10px; }.header-inner .brand,.header-tools { min-height:62px; }
 .header-match { gap:14px; padding:8px 0; }.header-fixture-teams { font-size:10px; gap:5px; }.header-countdown { gap:5px; }.header-countdown b { font-size:12px; }
 .primary-nav { top:100%; }.hero .wrap { grid-area:1/1; padding-block:18px; }.hero-photo { grid-area:2/1; z-index:0; }
 .classification-row { grid-template-columns:1fr; gap:38px; }.matchday-game { grid-template-columns:minmax(0,1fr) 52px minmax(0,1fr); gap:6px; }
 .matchday-game > .matchday-team { font-size:11px; gap:5px; }.competition-tabs { gap:5px; }.competition-tabs button { gap:5px; padding:10px 7px; font-size:10px; }.competition-tab-icon { width:18px; height:22px; } #tab-laliga .competition-tab-icon { width:26px; }
 .history-intro { min-height:270px; }.history-intro > .wrap { padding-block:30px; }.history-years-inner { width:100%; padding-inline:14px; }.history-years button { min-width:53px; }
 .ranking-tabs { grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; margin-bottom:24px; }.ranking-tabs button { padding:12px 5px; font-size:12px; gap:5px; }.ranking-tabs svg { width:16px; }
 .ranking-detail-heading { display:block; }.ranking-detail-heading p { margin-top:8px; }.ranking-layout { grid-template-columns:1fr; gap:28px; }
 .ranking-leader { display:grid; grid-template-columns:96px minmax(0,1fr); text-align:left; padding:18px; column-gap:16px; }.ranking-leader .eyebrow { grid-column:1/-1; justify-content:start; margin-bottom:12px; }.ranking-leader > a { display:contents; }.ranking-leader img { grid-column:1;grid-row:2/4;width:96px;height:96px;margin:0; }.ranking-leader h3 { grid-column:2; margin:0 0 8px; font-size:20px; }.ranking-leader-value { grid-column:2; font-size:34px; }.ranking-leader-value small { font-size:11px; margin-top:4px; }
 .rankings-page .ranking-table .rank-row { grid-template-columns:22px 56px minmax(0,1fr) 35px; gap:9px; }.rankings-page .ranking-table .player-avatar { width:56px;height:56px; }.rankings-page .ranking-table .rank-row strong { font-size:14px; }
 .calendar-match > .competition-watermark { width:76px;right:-24px;opacity:.09; }.social-group-heading h2 { font-size:20px; }
}
@media(prefers-reduced-motion:reduce) { .history-years button,.history-year-dot { transition:none; } }

/* Squad groups and detailed player profiles. */
.squad-group-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 22px}
.squad-group-heading h2{font-size:22px;margin:0}
.squad-group-heading .eyebrow{margin:0 0 7px}
.squad-source{color:var(--gris-texto);font-size:10px;margin:16px 0 0}
.squad-loans{border-top:1px solid var(--linea);padding-top:38px;margin-top:40px}
.squad-loan-intro{font-size:13px;color:var(--gris-texto);margin:-8px 0 24px}
.loan-club{display:flex;align-items:center;justify-content:center;gap:8px;min-height:36px;margin-top:10px;font-size:12px;font-weight:700}
.loan-club img{object-fit:contain}
.player-card--loan .player-statline{margin-top:12px}
.filter-empty{grid-column:1/-1;padding:22px 0}
body.has-profile{overflow:hidden}
.profile-modal{padding:24px;background:rgba(0,41,82,.66);backdrop-filter:blur(7px)}
.profile-dialog.profile-dialog--modern{width:min(780px,100%);max-height:calc(100dvh - 48px);padding:0;border:0;border-radius:22px;box-shadow:0 24px 100px rgba(0,41,82,.35);overflow:auto}
.profile-identity{position:relative;display:grid;grid-template-columns:288px 1fr;align-items:center;background:linear-gradient(125deg,#002952,#002952);color:#fff;min-height:284px;overflow:hidden}
.profile-number{position:absolute;right:24px;bottom:-36px;font-family:Oswald,sans-serif;font-size:210px;line-height:1.3;opacity:.07;pointer-events:none}
.profile-portrait{position:relative;align-self:end;width:288px;height:284px;display:flex;align-items:end;justify-content:center}
.profile-portrait:before{content:'';position:absolute;inset:28px 18px 0;border-radius:50% 50% 0 0;background:linear-gradient(150deg,rgba(77,178,251,.21),rgba(77,178,251,0))}
.profile-portrait img{position:relative;display:block;width:264px;height:264px;object-fit:contain;object-position:center bottom;border:0;border-radius:0;background:none}
.profile-title{position:relative;padding:45px 28px 40px 14px}
.profile-title .eyebrow{font-size:11px;color:#e8f5ff;margin:0 0 13px}
.profile-title h2{font-size:38px;line-height:1.12;color:white;margin:0 0 16px;text-wrap:balance}
.profile-title>p:last-child{font-size:14px;color:#e8f5ff;margin:0}
.profile-dialog--modern .modal-close{top:15px;right:15px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);color:white;z-index:2;width:36px;height:36px;border-radius:50%}
.profile-dialog--modern .modal-close:hover{background:rgba(255,255,255,.23)}
.profile-content{padding:26px 30px 24px}
.profile-contract{display:grid;grid-template-columns:1fr auto;gap:8px 18px;align-items:center;background:#f5fbff;border-left:3px solid #4db2fb;padding:16px 20px;border-radius:0 9px 9px 0}
.profile-contract small{display:block;color:#53718c;font-size:11px;margin-bottom:4px}
.profile-contract strong{font-size:23px;line-height:1.3;color:#002952}
.profile-contract .text-link{font-size:11px}
.profile-contract>p{grid-column:1/-1;margin:2px 0 0;color:#53718c;font-size:12px;line-height:1.55}
.profile-loan{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;padding:15px 0 0;font-size:11px;color:var(--gris-texto)}
.profile-bio{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 22px;margin:24px 0;padding:0}
.profile-bio dt{font-size:10px;color:var(--gris-texto);margin-bottom:5px}
.profile-bio dd{font-size:13px;font-weight:700;margin:0;line-height:1.5}
.profile-stats-heading{display:flex;align-items:baseline;justify-content:space-between;gap:15px;border-top:1px solid var(--linea);padding-top:22px}
.profile-stats-heading h3{font-size:21px;margin:0}
.profile-stats-heading span{font-size:10px;color:var(--gris-texto)}
.profile-highlights{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:20px 0}
.profile-highlights>div{border-right:1px solid var(--linea);text-align:center;padding:4px 0}
.profile-highlights>div:last-child{border:0}
.profile-highlights strong{display:block;font-family:Oswald,sans-serif;font-size:31px;line-height:1.25}
.profile-highlights small{display:block;color:var(--gris-texto);font-size:10px;margin-top:5px}
.profile-more-stats{border-top:1px solid var(--linea);border-bottom:1px solid var(--linea);padding:13px 0}
.profile-more-stats summary{font-size:12px;font-weight:700;cursor:pointer}
.profile-source{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:10px;color:var(--gris-texto);margin:18px 0 0}
.profile-source svg,.profile-loan svg{width:12px;height:12px;vertical-align:middle}
.profile-source a,.profile-loan a{display:inline-flex;align-items:center;gap:4px}
@media(max-width:760px){
  .squad-group-heading h2{font-size:20px}
  .squad-loans{padding-top:30px;margin-top:30px}
  .profile-modal{padding:12px}
  .profile-dialog.profile-dialog--modern{max-height:calc(100dvh - 24px);border-radius:15px}
  .profile-identity{grid-template-columns:145px 1fr;min-height:196px}
  .profile-portrait{width:145px;height:185px}
  .profile-portrait img{width:155px;height:177px;max-width:none}
  .profile-portrait:before{inset:18px 6px 0}
  .profile-title{padding:50px 18px 24px 6px}
  .profile-title h2{font-size:28px;margin-bottom:10px}
  .profile-title .eyebrow{font-size:9px;margin-bottom:8px}
  .profile-title>p:last-child{font-size:11px}
  .profile-number{font-size:155px;right:8px;bottom:-30px}
  .profile-content{padding:20px}
  .profile-contract{padding:13px 14px;gap:9px;grid-template-columns:1fr}
  .profile-contract strong{font-size:21px}
  .profile-bio{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:22px 0}
  .profile-stats-heading{align-items:start;flex-direction:column;gap:5px}
  .profile-highlights{gap:5px}
}


/* Revision 7: compact cover, reusable dialogs and mobile navigation. */
.hero{height:clamp(370px,42svh,530px);max-height:60svh;background:radial-gradient(ellipse at center,#005d9c,#002952 80%)}
.hero-photo{grid-area:1/1;width:100%;height:100%;min-height:0;object-fit:contain;object-position:center bottom;align-self:stretch}
.hero .wrap{padding-block:18px;align-self:center;width:min(1100px,calc(100% - 48px))}
.hero::before{background:linear-gradient(90deg,rgba(0,41,82,.58),rgba(0,41,82,.26),rgba(0,41,82,.58))}
.hero .match-meta{margin-bottom:16px}.hero .match-teams{margin-bottom:12px}.hero .match-time{margin-top:10px}.hero .countdown{margin:18px 0}.hero .hero-actions{margin-top:0}
.hero .match-team .team-crest{width:65px;height:75px}.hero .match-team-name{font-size:28px}.hero .countdown-unit b{font-size:30px}
.header-countdown{border-radius:5px;padding:8px 4px}.header-countdown:hover{background:#ffffff12}.header-countdown:focus-visible{outline:2px solid var(--celeste);outline-offset:3px}
.competition-logo{display:inline-block;object-fit:contain;width:28px;height:28px;vertical-align:middle;margin-right:9px}
.classification-block .section-heading h2{display:flex;align-items:center;flex-wrap:wrap;gap:4px 6px}.classification-block .competition-logo{margin-right:3px;flex-shrink:0}
#tab-laliga .competition-tab-icon{width:24px;height:24px}
.standings .points-cell,.mini-table-row .points-cell{font-weight:800;background:linear-gradient(90deg,rgba(77,178,251,.09),rgba(77,178,251,.19),rgba(77,178,251,.09));color:#002952}
.standings td.points-cell{font-size:14px;min-width:42px}.standings th.points-cell{color:#005d9c}
.standings .zone-conference td:first-child{border-left:0;box-shadow:inset 3px 0 #55a181}
.ranking-tabs{grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}
.rank-player-link{padding:0;border:0;background:transparent;color:inherit;text-align:inherit;font:inherit;cursor:pointer;border-radius:4px}
.rank-player-link:hover strong,.rank-player-link:hover h3{text-decoration:underline;text-underline-offset:3px}
.ranking-leader > .rank-player-link{display:block;width:100%}.ranking-leader .rank-player-link img{display:block}
.rank-player-link:focus-visible{outline:2px solid #005d9c;outline-offset:4px}
.calendar-team-switch{display:inline-flex;gap:5px;padding:4px;background:#e8f5ff;border-radius:9px;margin-bottom:12px}
.calendar-team-switch button{font:650 14px var(--body);border:0;padding:12px 18px;background:transparent;color:var(--gris-texto);border-radius:6px;cursor:pointer}
.calendar-team-switch button[aria-pressed=true]{background:var(--azul-marino);color:#fff}
.calendar-timezone-note{font-size:12px;line-height:1.6;color:var(--gris-texto);margin:0 0 22px;max-width:660px}
.calendar-team-intro{font-weight:700;font-size:14px;margin:12px 0 0}.calendar-team-intro span{font-size:11px;font-weight:400;color:var(--gris-texto)}
.calendar-game{grid-template-columns:115px minmax(0,1fr) 88px;gap:20px}.calendar-status{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px;writing-mode:horizontal-tb}
.broadcast-logo{object-fit:contain;width:82px;height:28px;filter:none}
.calendar-match>.competition-watermark{right:-8px;width:54px;height:40px;opacity:.13}
body.has-article{overflow:hidden}.article-modal{z-index:140;background:rgba(0,41,82,.65);backdrop-filter:blur(5px)}
.article-dialog{width:min(980px,100%);padding:34px 40px 40px;border:0;border-radius:14px;max-height:calc(100dvh - 48px)}
.article-dialog-heading{font-size:12px;padding-right:42px;gap:8px 14px}
.article-dialog>h2{font-size:clamp(26px,3vw,36px);line-height:1.2;margin:18px 0 16px;max-width:830px}
.article-reader-content{grid-template-columns:minmax(0,.85fr) minmax(0,1fr);align-items:start;gap:30px;padding:0;border:0;border-radius:0;background:none;margin-top:24px}
.article-reader-content figure{margin:0}.article-reader-content img{display:block;width:100%;height:auto;max-height:440px;object-fit:contain;object-position:top;border-radius:0}
.article-summary{font-size:16px;line-height:1.75}.article-source{margin-top:24px;font-size:13px}.article-reader-note{font-size:14px;line-height:1.7}
.news-player-tags{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}
.news-player-tags button{border:0;background:#e8f5ff;color:#005d9c;border-radius:5px;padding:5px 8px;font:600 11px var(--body);cursor:pointer}
.news-player-tags button:hover{background:#e8f5ff}
.player-availability{position:absolute;left:12px;top:42px;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#eff8f3;color:#267859;border:1px solid #26785920;z-index:2}
.player-availability svg{width:13px;height:13px}.player-availability--injured{color:#ad3e50;background:#fff0f2;border-color:#ad3e5025}.player-availability--unknown{color:#53718c;background:#f5fbff}
.profile-availability{margin-bottom:22px;padding:0 0 22px;border-bottom:1px solid var(--linea)}
.profile-availability header{display:flex;align-items:center;gap:9px;margin-bottom:10px}.profile-availability h3{margin:0;font-size:17px}.profile-availability .player-availability{position:static;flex-shrink:0}
.profile-availability p{font-size:13px;line-height:1.65;color:var(--gris-texto);margin:6px 0}.profile-availability small{display:block;margin:10px 0;font-size:11px;color:var(--gris-texto)}
.profile-availability .text-link{font-size:11px;margin-top:8px}
.profile-news{border-top:1px solid var(--linea);margin-top:24px;padding-top:24px}.profile-news h3{font-size:18px;margin:0 0 16px}
.profile-news article{border-bottom:1px solid var(--linea);padding:14px 0}.profile-news time{font-size:10px;color:var(--gris-texto)}
.profile-news article button{display:flex;align-items:start;gap:10px;padding:8px 0 0;border:0;background:transparent;text-align:left;font:650 14px/1.45 var(--body);color:var(--azul-marino);cursor:pointer;width:100%}.profile-news button svg{flex-shrink:0;width:16px}
.profile-dialog--modern .modal-close{position:sticky;top:12px;display:flex;margin:12px 12px -56px auto;width:44px;height:44px;align-items:center;justify-content:center;z-index:30;background:#fff;border:1px solid #e8f5ff;color:#002952;box-shadow:0 2px 10px #00295220}
.mobile-shortcuts{display:none}
@media(max-width:760px){
 html{scroll-padding-bottom:85px}body{padding-bottom:calc(66px + env(safe-area-inset-bottom))}
 .wrap{width:calc(100% - 32px)}.page{padding-top:25px;padding-bottom:36px}.page-header{align-items:start;gap:12px;margin-bottom:20px}.page-title{font-size:30px}.page-header .updated{font-size:9px;margin-top:5px}
 .header-inner .brand{gap:7px}.brand strong{font-size:13px}.header-inner .brand img{height:30px}.header-tools{gap:7px}.language-switch button{min-width:30px;min-height:36px}.menu-toggle{width:42px;height:42px}
 .primary-nav.is-open{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:16px;background:#002952;box-shadow:0 16px 25px #00295240}.primary-nav a{padding:15px 12px;font-size:14px;border-radius:7px;background:#ffffff06}.primary-nav a[aria-current=page]{background:#ffffff17}
 .mobile-shortcuts{position:fixed;bottom:0;left:0;right:0;z-index:70;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:5px 10px calc(5px + env(safe-area-inset-bottom));background:#f5fbff;border-top:1px solid #e8f5ff;box-shadow:0 -5px 20px #00295210}
 .mobile-shortcuts a{display:grid;place-items:center;gap:4px;padding:8px 2px;color:#53718c;font-size:10px;font-weight:650;border-radius:8px;min-height:51px}.mobile-shortcuts svg{width:21px;height:21px}.mobile-shortcuts a[aria-current=page]{background:#e8f5ff;color:#005d9c}
 .hero{height:auto;max-height:none;min-height:440px;background:#002952}.hero-photo{grid-area:1/1;align-self:end;width:100%;height:auto;object-fit:contain;object-position:center bottom;z-index:-2}
 .hero .wrap{grid-area:1/1;align-self:start;width:calc(100% - 28px);padding:22px 0 170px}.hero::before{background:linear-gradient(180deg,#002952 0%,#002952 49%,rgba(0,41,82,.91) 60%,rgba(0,41,82,.05) 82%,rgba(0,41,82,.07) 100%)}
 .hero .match-card{padding:0;min-height:0}.hero .match-meta{font-size:10px;margin-bottom:17px}.hero .match-teams{gap:14px;grid-template-columns:1fr 34px 1fr}.hero .match-team{gap:9px}.hero .match-team .team-crest{width:46px;height:55px}.hero .match-team-name{font-size:21px}.hero .versus{font-size:11px}
 .hero .match-time{font-size:10px;gap:8px;margin-top:14px}.hero .match-time span{gap:4px}.hero .match-time svg{width:12px}.hero .countdown{gap:20px;margin:17px 0}.hero .countdown-unit b{font-size:27px}.hero .countdown-unit small{font-size:8px}.hero .hero-actions{display:flex;justify-content:center;gap:10px}.hero .hero-actions .button{min-height:44px;padding:11px 14px;font-size:12px}
 .home-content{padding-top:24px}.home-grid{gap:26px}.home-column{gap:26px}.home-results{width:100%}.result-card{gap:6px;grid-template-columns:42px minmax(0,1fr) 44px minmax(0,1fr) 22px;font-size:11px;padding-block:16px}.result-team{gap:5px}.result-card .competition-watermark{width:33px;height:27px;right:27px;top:auto;bottom:2px;opacity:.13}.match-card>.competition-watermark{width:45px;height:38px;top:0;right:0;opacity:.12}
 .competition-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.competition-tabs button{min-height:48px;padding:8px 5px;font-size:10px;line-height:1.4;gap:5px}.competition-tabs .competition-tab-icon,#tab-laliga .competition-tab-icon{width:18px;height:22px}
 .classification-block .section-heading{flex-wrap:wrap;gap:14px}.classification-block .section-heading h2{font-size:17px}.table-legend{font-size:8px}.standings{font-size:12px}.standings .team-cell{min-width:138px}.standings td,.standings th{padding-inline:5px}.standings .team-name{font-size:12px;line-height:1.35}.standings .team-crest{width:24px;height:24px;flex-basis:24px}.standings .team-name-wrap{gap:7px}.standings td.points-cell{min-width:34px;font-size:14px}.standings .form-chip{width:15px;height:15px;font-size:8px}.table-controls{gap:10px;flex-wrap:wrap}.table-controls button{min-height:42px;font-size:10px;padding:8px 10px}.table-wrap{border-radius:0}.table-wrap.show-extra{overflow-x:auto;overscroll-behavior-x:contain}.table-wrap.show-extra .standings .team-cell{position:sticky;left:0;background:var(--fondo);z-index:1}
 .ranking-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin-bottom:25px}.ranking-tabs button{min-height:54px;padding:10px 6px;font-size:11px;line-height:1.35}.ranking-leader>.rank-player-link{display:contents}.rankings-intro{font-size:13px;line-height:1.6;margin:0 0 20px}.ranking-detail-heading h2{font-size:23px}.ranking-detail-heading p{font-size:10px}.ranking-table-head{font-size:9px}.ranking-table .rank-player-link{min-height:44px;display:flex;align-items:center}.rankings-page .ranking-table .rank-row{min-height:82px}.ranking-leader{border-radius:0;padding:16px}.ranking-layout{gap:24px}
 .calendar-page .page-header{margin-bottom:18px}.calendar-team-switch{display:flex;width:100%;gap:4px}.calendar-team-switch button{flex:1;min-height:46px;font-size:12px;padding:10px 6px}.calendar-timezone-note{font-size:11px;margin:0 0 18px}.calendar-tools{gap:12px}.calendar-tabs{gap:20px}.calendar-tabs button{min-height:47px;font-size:14px}.calendar-filters .select-control{min-height:44px;font-size:12px}.calendar-month{margin-top:26px;font-size:16px}
 .calendar-game{grid-template-columns:minmax(0,1fr) 78px;gap:8px;padding:18px 0}.calendar-date{grid-column:1;grid-row:1;display:flex;align-items:center;gap:10px}.calendar-date strong{font-size:12px}.calendar-date small{font-size:10px}.calendar-status{grid-column:2;grid-row:1;min-height:25px}.broadcast-logo{width:74px;height:24px}.calendar-match{grid-column:1/-1;grid-row:2;padding-block:12px 2px}.calendar-match>.competition-watermark{width:30px;height:25px;right:0;top:auto;bottom:-4px;transform:none;opacity:.14}.calendar-teams{grid-template-columns:minmax(0,1fr) 64px minmax(0,1fr);gap:7px}.calendar-team{font-size:14px;line-height:1.4;gap:6px}.calendar-team .team-crest{width:29px;height:33px;flex-basis:29px}.calendar-score{font-size:21px}.calendar-score small{font-size:9px}.calendar-venue{font-size:10px;margin-top:13px;padding-inline:28px}
 .squad-page .toolbar{display:flex;flex-direction:column;align-items:stretch;gap:12px;margin-bottom:24px}.squad-page .filter-set{display:flex;overflow-x:auto;flex-wrap:nowrap;gap:5px;padding-bottom:3px;scrollbar-width:none}.filter-chip{min-height:44px;flex-shrink:0;font-size:11px;padding:9px 11px}.search-control{width:100%;min-height:46px;font-size:14px}.squad-group-heading{gap:8px;margin-bottom:18px}.squad-group-heading h2{font-size:19px}.squad-group-heading .pill{font-size:9px}.squad-loans{padding-top:28px;margin-top:30px}.player-card{min-height:0;padding:12px 7px 14px}.player-card .player-avatar{width:100%;max-width:152px;height:auto;aspect-ratio:1}.player-card .player-name{font-size:17px;line-height:1.2;min-height:41px;display:flex;align-items:center;justify-content:center}.player-sub{font-size:9px}.player-position{font-size:7px}.player-statline{gap:4px}.player-statline>span{font-size:8px}.player-statline b{font-size:13px}.player-availability{left:5px;top:35px;width:21px;height:21px}.loan-club{font-size:11px;min-height:31px}.squad-loan-intro{font-size:12px;line-height:1.6}
 .news-toolbar{display:flex;align-items:stretch;flex-direction:column;gap:12px}.news-toolbar .filter-set{display:flex;overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none;gap:5px;padding-bottom:3px}.news-toolbar .select-control{min-height:44px;font-size:13px}.news-grid{gap:24px}.news-card{padding:0 0 24px;display:grid;grid-template-columns:106px minmax(0,1fr);gap:13px}.news-image{height:106px;border-radius:4px}.news-copy h2{font-size:17px;line-height:1.35}.news-excerpt{display:none}.news-meta{font-size:9px;gap:5px;flex-wrap:wrap}.news-player-tags{gap:5px;margin:7px 0}.news-player-tags button{min-height:30px;font-size:10px;padding:5px 7px}.news-read{min-height:38px;padding-top:5px;font-size:12px}.load-more-wrap button{min-height:46px;width:100%}
 .profile-modal,.article-modal{padding:12px 0 0;align-items:end}.profile-dialog.profile-dialog--modern,.article-dialog{width:100%;max-height:calc(100dvh - 12px);border-radius:18px 18px 0 0}.profile-content{padding:22px 20px calc(25px + env(safe-area-inset-bottom))}.profile-identity{min-height:210px}.profile-portrait{width:170px;height:210px}.profile-portrait img{width:190px;height:190px}.profile-title{padding:42px 20px 24px 0}.profile-title h2{font-size:27px}.profile-bio{grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 12px}.profile-availability p{font-size:13px}.profile-contract{border-radius:0;border:0;padding:0 0 18px;background:none;border-bottom:1px solid var(--linea)}
 .article-dialog{padding:25px 20px calc(25px + env(safe-area-inset-bottom))}.article-dialog .modal-close{width:44px;height:44px;top:12px;right:12px}.article-dialog-heading{font-size:10px;padding-right:43px;line-height:1.5}.article-dialog>h2{font-size:25px;line-height:1.3;margin-top:20px}.article-reader-content{grid-template-columns:1fr;gap:22px;margin-top:20px}.article-reader-content img{max-height:300px;object-fit:contain}.article-summary{font-size:16px;line-height:1.75}.article-reader-note{font-size:14px}.article-source{min-height:44px;font-size:13px}
 .social-columns{gap:30px}.social-feed-viewport{border-radius:7px}.social-group-heading h2{font-size:21px}.social-intro{font-size:13px;line-height:1.6}.social-embed-target iframe{height:620px!important}.history-years{top:var(--header-height)}.timeline-item{scroll-margin-top:84px}.history-content .timeline-photo{width:100%;height:auto;max-height:260px;object-fit:contain}
}
@media(max-width:380px){.brand strong{font-size:11px}.header-countdown b{font-size:11px}.header-fixture-teams{font-size:9px}.header-match{gap:8px}.hero .match-time{font-size:9px}.player-card .player-name{font-size:15px}.calendar-team{font-size:12px}.standings .team-cell{min-width:122px}.news-card{grid-template-columns:88px minmax(0,1fr)}.news-image{height:88px}.news-copy h2{font-size:16px}.profile-identity{grid-template-columns:150px minmax(0,1fr)}.profile-portrait{width:150px}.profile-title h2{font-size:24px}}

@media(max-width:760px){
 .hero .match-card{border:0;background:transparent;border-radius:0;overflow:visible}.hero .match-teams{margin-top:16px}.hero .match-time{display:flex;justify-content:center;flex-wrap:wrap;padding:0;border:0;gap:8px 12px}.hero .match-time span:last-child{flex-basis:100%;justify-content:center}.hero .wrap{padding-bottom:154px}.hero .countdown{margin:15px 0}.hero .hero-actions{margin-top:5px}.hero{min-height:440px}
 .calendar-timezone-note{margin-bottom:14px}.calendar-team-intro{margin-top:8px}.calendar-month{margin-top:21px}
}

.profile-modal{z-index:130}body.has-profile .mobile-shortcuts,body.has-article .mobile-shortcuts{visibility:hidden}
@media(max-width:760px){.profile-identity{grid-template-columns:minmax(0,.42fr) minmax(0,.58fr)}.profile-portrait{width:100%;height:210px;min-width:0}.profile-portrait img{width:100%;max-width:220px;height:auto;aspect-ratio:1;max-height:210px;border-radius:48% 48% 0 0}.profile-title{min-width:0;padding-left:10px;padding-right:20px}.profile-title h2{font-size:clamp(23px,6.5vw,30px);overflow-wrap:anywhere}}
@media(max-width:760px){.toolbar,.squad-page .filter-set,.news-toolbar .filter-set{min-width:0;max-width:100%;width:100%}.squad-page .toolbar{overflow:hidden}}

/* Revision 8: full-width photography, compact match logos, and month calendar. */
.hero-scenes{grid-area:1/1;position:relative;display:grid;grid-template-columns:18% minmax(0,64%) 18%;height:100%;width:100%;overflow:hidden;z-index:-2}
.hero-scenes img{width:100%;height:100%;object-fit:cover;min-height:0;grid-area:auto;align-self:stretch}
.hero-scenes .hero-photo{object-fit:cover;object-position:center bottom}.hero-side--left{object-position:55% center}.hero-side--right{object-position:30% center}
.hero-scenes:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#00295215,#00295255 18%,transparent 30%,transparent 70%,#00295255 82%,#00295215)}
.hero .match-card{border:0;background:transparent;box-shadow:none}
.home-results .result-card{grid-template-columns:48px minmax(0,1fr) 56px minmax(0,1fr) 30px 22px;gap:10px}
.home-results .result-card>.competition-watermark{position:static;grid-column:5;grid-row:1;width:25px;height:29px;margin:0;align-self:center;justify-self:center;opacity:.32;filter:grayscale(1)}
.home-results .result-card>.result-badge{grid-column:6;grid-row:1}.home-results .result-card>time{grid-column:1;grid-row:1}.home-results .result-team{grid-row:1}.home-results .result-team:nth-of-type(1){grid-column:2}.home-results .result-score{grid-column:3;grid-row:1}.home-results .result-team:nth-of-type(2){grid-column:4}
.standings .team-crest{width:34px;height:38px;flex-basis:34px}.standings .team-name-wrap{gap:10px}
.competition-tabs{grid-template-columns:repeat(4,minmax(0,1fr))}
.staff-photo{width:140px;height:160px;object-fit:cover;object-position:center 15%;border-radius:50%;aspect-ratio:1;background:#fff}
.player-card--loan .player-avatar{padding:5px;background:#fff;object-fit:contain;object-position:center top}
.news-editorial-note{font-size:13px;line-height:1.6;color:var(--gris-texto);margin:0}.news-toolbar{justify-content:space-between}
.calendar-switches{display:flex;justify-content:space-between;gap:18px;align-items:start;flex-wrap:wrap}
.calendar-view-switch{display:flex;gap:4px;padding:4px;background:#e8f5ff;border-radius:9px}.calendar-view-switch button{display:flex;align-items:center;justify-content:center;gap:7px;border:0;border-radius:6px;background:none;color:#005d9c;font:650 13px var(--body);padding:11px 15px;cursor:pointer;min-height:44px}.calendar-view-switch button[aria-pressed=true]{color:#fff;background:var(--azul-marino)}.calendar-view-switch svg{width:17px;height:17px}
.visual-calendar-heading{display:flex;gap:12px;align-items:center;margin:24px 0 20px}.visual-calendar-heading h2{font-size:23px;margin:0;flex:1}.visual-calendar-heading .icon-button{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--linea);border-radius:6px;background:#fff;color:var(--azul-marino);cursor:pointer}.visual-calendar-heading .text-link{border:0;background:none;padding:10px;min-height:44px}
.visual-weekdays,.visual-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.visual-weekdays span{font-size:12px;text-align:center;padding:10px;font-weight:700;color:var(--gris-texto)}.visual-days{gap:1px;background:#e8f5ff;border:1px solid #e8f5ff;border-radius:8px;overflow:hidden}.visual-day{min-height:130px;padding:10px;background:#f5fbff;position:relative}.visual-day--blank{background:#f5fbff}.visual-day>time{display:block;font-size:12px;line-height:24px;width:24px;text-align:center;margin-bottom:5px}.visual-day.is-today>time{background:var(--azul-marino);color:#fff;border-radius:50%;font-weight:800}.visual-day.has-match{background:#e8f5ff}.visual-day.is-selected{box-shadow:inset 0 0 0 2px #4db2fb}
.visual-match{width:100%;border:0;background:none;color:var(--azul-marino);text-align:center;font:inherit;cursor:pointer;padding:3px 1px 7px;border-radius:5px}.visual-match:hover{background:#e8f5ff}.visual-match:focus-visible{outline:2px solid #005d9c;outline-offset:0}.visual-match-crests{display:flex;gap:6px;justify-content:center;align-items:center;margin:5px 0}.visual-match-crests>span:not(.team-crest){font-size:9px;color:var(--gris-texto)}.visual-match .team-crest{width:25px;height:30px;flex-basis:25px}.visual-match-names{font-size:11px;line-height:1.5;display:block;margin-bottom:6px}.visual-match strong{font-size:15px}.visual-calendar-hint{font-size:12px;color:var(--gris-texto);margin:14px 0}.visual-selected{margin-top:10px}.visual-selected .calendar-game{border-top:1px solid var(--linea);padding-top:20px}
@media(max-width:760px){
 .hero-scenes{position:absolute;inset:auto 0 0;height:auto;display:block;z-index:-2}.hero-scenes .hero-photo{display:block;height:auto;width:100%;object-fit:contain}.hero-scenes .hero-side{display:none}.hero-scenes:after{background:linear-gradient(#002952bb,transparent 65%)}
 .home-grid{display:flex;flex-direction:column;gap:26px}.home-grid>.home-column{display:contents}.home-standings{order:0}.home-results{order:1}.home-video{order:2}.home-news{order:3}
 .home-results .result-card{grid-template-columns:36px minmax(0,1fr) 34px minmax(0,1fr) 17px 17px;gap:5px}.home-results .result-card>.competition-watermark{width:16px;height:21px;opacity:.35}.result-team{font-size:10px}.result-team .team-crest{width:17px;height:22px;flex-basis:17px}.result-score{font-size:15px}
 .standings .team-crest{width:29px;height:33px;flex-basis:29px}.standings .team-name-wrap{gap:7px}.standings .team-cell{min-width:138px}
 .competition-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.competition-tabs button{font-size:11px;min-height:46px;padding:9px}
 .history-content .timeline-photo{width:100%;height:auto;aspect-ratio:16/9;max-height:none;object-fit:cover;object-position:center 35%}
 .calendar-switches{display:grid;grid-template-columns:1fr;gap:9px}.calendar-team-switch{margin-bottom:0}.calendar-view-switch button{flex:1}.calendar-view-switch{width:100%;margin-bottom:12px}.calendar-timezone-note{margin-bottom:16px}
 .visual-calendar-heading{gap:7px;margin-top:16px}.visual-calendar-heading h2{font-size:18px}.visual-calendar-heading .text-link{font-size:11px;padding:7px}.visual-calendar-heading .icon-button{width:38px;flex-shrink:0}.visual-weekdays span{font-size:9px;padding:7px 0}.visual-day{min-height:80px;padding:4px 1px}.visual-day>time{font-size:10px;width:21px;line-height:21px;margin:0 auto 2px}.visual-match{padding:2px 0}.visual-match .team-crest{width:16px;height:20px;flex-basis:16px}.visual-match-crests{gap:1px;margin:3px 0}.visual-match-crests>span:not(.team-crest){font-size:6px}.visual-match-names{display:none}.visual-match strong{font-size:10px}.visual-calendar-hint{font-size:11px}.visual-selected .calendar-game{grid-template-columns:minmax(0,1fr) 78px}
}


/* Revision 9: single photograph and consistent crest dimensions. */
.header-match{border-left:0}
.hero-scenes{position:absolute;inset:0;display:block;height:100%;width:100%}
.hero-scenes .hero-photo{display:block;width:100%;height:100%;object-fit:cover;object-position:center 58%}
.hero-scenes:after{display:none}
.hero::before{background:linear-gradient(90deg,rgba(0,41,82,.78),rgba(0,41,82,.65) 50%,rgba(0,41,82,.78));z-index:-1}
.hero .wrap{align-self:center}
.hero .match-card{color:#fff;text-shadow:0 1px 12px #0007}
.hero .match-meta,.hero .match-time,.hero .versus{color:#e8f5ff}
.hero .hero-actions{ text-shadow:none }
.standings .team-crest{width:42px;height:46px;flex-basis:42px}
.standings .team-crest--sprite>.shield-sprite.xs{transform:scale(2.1)}
.standings .team-crest--remote img{padding:2px}
.visual-match .team-crest{width:40px;height:44px;flex-basis:40px}
.visual-match .team-crest--sprite>.shield-sprite.xs{transform:scale(1.7)}
.visual-match-crests{gap:7px;margin:7px 0}
.visual-match .team-crest--juventus{mix-blend-mode:multiply}
.standings .team-crest--juventus{mix-blend-mode:multiply}
.calendar-game .team-crest--juventus,.matchday-game .team-crest--juventus,.result-card .team-crest--juventus{mix-blend-mode:multiply}
.hero .team-crest--juventus img,.header-match .team-crest--juventus img{filter:invert(1);mix-blend-mode:screen}
.ranking-leader img{margin-top:4px}
@media(max-width:760px){
 .hero{height:470px;min-height:470px;max-height:none}
 .hero-scenes{position:absolute;inset:0;height:100%;display:block}
 .hero-scenes .hero-photo{height:100%;width:100%;object-fit:cover;object-position:center 62%}
 .hero::before{background:linear-gradient(180deg,rgba(0,41,82,.82),rgba(0,41,82,.67) 55%,rgba(0,41,82,.75))}
 .hero .wrap{align-self:center;padding:22px 0;width:calc(100% - 28px)}
 .standings .team-crest{width:36px;height:40px;flex-basis:36px}
 .standings .team-crest--sprite>.shield-sprite.xs{transform:scale(1.8)}
 .visual-match .team-crest{width:21px;height:28px;flex-basis:21px}
 .visual-match .team-crest--sprite>.shield-sprite.xs{transform:none}
 .visual-match-crests{gap:1px;margin:5px 0}
 .visual-match-crests>span:not(.team-crest){display:none}
 .ranking-leader .rank-player-link img{grid-row:1/3;margin:0}
 .ranking-leader .rank-player-link h3{grid-row:1}
 .ranking-leader-value{grid-row:2}
}

/* Revision 10: consistent controls and responsive page layouts. */
select.select-control,select {
 appearance:none;min-height:46px;padding:11px 42px 11px 16px;
 border:1px solid #e8f5ff;border-radius:12px;background-color:#f5fbff;
 background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23466580' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3C/svg%3E");
 background-repeat:no-repeat;background-position:right 13px center;
 color:#002952;font:600 12px/1.4 var(--body);box-shadow:0 2px 5px #00295203;
 cursor:pointer;transition:border-color .15s,background-color .15s;
}
select:hover{border-color:#c5dff2;background-color:#fff}
select:focus-visible{outline:3px solid #c5dff239;outline-offset:2px;border-color:#4db2fb}
select option{background:#fff;color:#002952;font-weight:400}
.calendar-filters{gap:10px}
.team-crest--juventus,.visual-match .team-crest--juventus,.standings .team-crest--juventus,.calendar-game .team-crest--juventus,.matchday-game .team-crest--juventus,.result-card .team-crest--juventus{mix-blend-mode:normal}
.hero .team-crest--juventus img,.header-match .team-crest--juventus img{mix-blend-mode:normal}
.calendar-filters .select-control{min-height:46px;padding:11px 42px 11px 16px;border-radius:12px}

/* Table geometry is shared by every competition, independent of text length. */
.standings{table-layout:fixed;width:100%;font-variant-numeric:tabular-nums}
.standings th:first-child{width:42px}
.standings th:nth-child(3){width:60px}
.standings th:nth-child(4){width:48px}
.standings th:last-child{width:56px}
.standings th.optional-col{width:46px}
.standings th,.standings td{padding-inline:7px;text-align:center}
.standings .team-cell{min-width:0;text-align:left}
.standings .team-name-wrap{gap:10px}
.standings .team-name{min-width:0;overflow-wrap:anywhere}
.standings .points-cell{background:rgba(77,178,251,.045);color:inherit;font-weight:650}
.standings td.points-cell{min-width:0;font-size:14px}
.standings .points-cell strong{font-weight:650}
.standings tr.is-celta .points-cell{background:rgba(77,178,251,.075)}
.mini-table-head,.mini-table-row{grid-template-columns:26px minmax(0,1fr) 42px 30px;gap:7px}
.mini-table-head>:nth-child(n+3),.mini-table-row>:nth-child(n+3){text-align:center;justify-self:stretch}
.mini-table-row .points-cell{display:grid;place-items:center;width:100%;height:30px;border-radius:7px;background:rgba(77,178,251,.07);color:inherit;font-weight:650}
.mini-table-row.is-celta .points-cell{background:rgba(77,178,251,.09)}

/* A month with quiet dates and rounded match tiles. */
.visual-calendar-heading{margin-bottom:18px}
.visual-weekdays{border-bottom:1px solid #e8f5ff;padding-bottom:5px;margin-bottom:8px}
.visual-weekdays span{font-size:11px;font-weight:650;color:#53718c}
.visual-days{gap:6px 10px;background:transparent;border:0;border-radius:0;overflow:visible}
.visual-day{min-height:148px;padding:5px 3px;background:transparent;border-top:1px solid #e8f5ff;box-shadow:none}
.visual-day--blank{background:transparent;border-color:transparent}
.visual-day.has-match,.visual-day.is-selected{background:transparent;box-shadow:none}
.visual-day>time{width:27px;line-height:27px;font-size:12px;color:#53718c;margin:0 0 4px 3px}
.visual-day.has-match>time{color:#005d9c;font-weight:700}
.visual-day.is-selected>time{color:#005d9c}
.visual-day.is-today>time{color:#fff}
.visual-match{padding:8px 3px 10px;background:#f5fbff;border:1px solid transparent;border-radius:15px;transition:background .15s,border-color .15s,transform .15s}
.visual-match:hover{background:#e8f5ff;transform:translateY(-2px)}
.visual-day.is-selected .visual-match{background:#e8f5ff;border-color:#c5dff2}
.visual-match-crests{margin:1px 0 5px;gap:8px}
.visual-match-names{font-size:11px;line-height:1.4;margin-bottom:5px}
.visual-match strong{font-size:14px}
.visual-selected .calendar-game{background:#f5fbff;border:0;border-radius:16px;padding:22px 18px;margin-top:18px}
.visual-calendar-hint{margin:17px 0 0;font-size:12px}

.social-list-group{border-top:0}
.social-group-heading{padding-top:0}
.staff-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:50px;align-items:center;max-width:800px}
.staff-layout .staff-card--lead{flex-direction:column;gap:18px;text-align:center;margin:0;padding:12px 0;border:0}
.staff-layout .staff-photo{display:block;width:140px;height:140px;aspect-ratio:1;border-radius:50%;object-fit:cover;object-position:center 22%;flex-shrink:0}
.staff-layout .staff-card--lead strong{font-size:23px;line-height:1.2}
.staff-layout .staff-grid{display:flex;flex-direction:column;gap:0}
.staff-grid .staff-card{min-height:0;padding:18px 0;gap:0;border-bottom:1px solid #e8f5ff}
.staff-grid .staff-card:last-child{border:0}
.staff-grid .staff-card strong{font-size:16px;line-height:1.3}
.staff-grid .staff-card small{font-size:12px;line-height:1.5;margin-top:4px}

/* Each ranking entry keeps identity and metrics together. */
.ranking-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;list-style:none;margin:0;padding:0}
.ranking-entry{min-width:0}
.ranking-player{position:relative;display:grid;grid-template-columns:30px 76px minmax(0,1fr) 18px;align-items:center;gap:15px;width:100%;min-height:140px;padding:20px;text-align:left;border:1px solid #e8f5ff;border-radius:16px;background:#f5fbff;color:var(--azul-marino);font:inherit;cursor:pointer;transition:border-color .15s,background .15s}
.ranking-player:hover{background:#fff;border-color:#c5dff2}
.ranking-player:focus-visible{outline:3px solid #c5dff2;outline-offset:3px}
.ranking-entry--first .ranking-player{background:#f5fbff;border-color:#e8f5ff}
.ranking-place{align-self:start;padding-top:2px;font-size:12px;font-weight:700;color:#53718c;font-variant-numeric:tabular-nums}
.ranking-player>.player-avatar{width:76px;height:76px;border-radius:50%;background:#e8f5ff;object-fit:cover}
.ranking-player-copy{display:block;min-width:0}
.ranking-player-copy>strong{display:block;font-size:17px;line-height:1.3;white-space:normal}
.ranking-dorsal{display:block;font-size:10px;color:#53718c;margin-top:4px}
.ranking-player>svg{width:16px;color:#53718c}
.rank-metrics{display:flex;align-items:baseline;gap:7px;margin-top:13px;font-variant-numeric:tabular-nums}
.rank-metrics>b,.rank-metrics b{font-size:25px;line-height:1.1;font-weight:750}
.rank-metrics small{font-size:11px;color:#53718c;line-height:1.3}
.rank-metrics--split{gap:0;align-items:stretch}
.rank-metrics--split>span{display:grid;gap:4px;min-width:64px;padding-right:16px}
.rank-metrics--split>span+span{border-left:1px solid #e8f5ff;padding-left:16px}
.rank-metrics--split .rank-total{padding-right:0}
.rank-total b{color:#005d9c}
.ranking-detail-heading{margin-bottom:22px}
.ranking-detail-heading p{font-size:11px}

/* Searchable news, always ordered by publication date. */
.news-toolbar{display:flex;justify-content:space-between;align-items:center;gap:25px;margin:0 0 17px}
.news-editorial-note{margin:0;font-size:13px;color:#53718c;line-height:1.6}
.news-search-field{position:relative;display:flex;align-items:center;min-width:340px;flex-basis:420px}
.news-search-field>svg{position:absolute;left:15px;width:19px;color:#53718c;pointer-events:none}
.news-search-field .search-control{width:100%;padding:13px 44px;border:1px solid #e8f5ff;border-radius:12px;background:#f5fbff;font-size:13px;min-height:48px}
.news-search-field input::-webkit-search-cancel-button{display:none}
.news-search-field button{position:absolute;right:5px;display:grid;place-items:center;width:38px;height:38px;border:0;border-radius:9px;background:transparent;color:#53718c;cursor:pointer}
.news-search-field button:hover{background:#e8f5ff}
.news-search-field button svg{width:18px}
.news-search-count{font-size:11px;color:#53718c;margin:0 0 23px;overflow-wrap:anywhere}
.news-page .news-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 34px;align-items:start}
.news-page .news-card{grid-template-columns:160px minmax(0,1fr);grid-template-rows:auto;gap:19px;padding:0 0 25px;border:0;border-bottom:1px solid #e8f5ff;border-radius:0;background:transparent;box-shadow:none;transform:none}
.news-page .news-card:first-child{grid-row:auto}
.news-page .news-image,.news-page .news-card:first-child .news-image{height:145px;min-height:0;border-radius:10px;background:#e8f5ff}
.news-page .news-image img{width:100%;height:100%;object-fit:cover}
.news-page .news-copy{padding:0;min-width:0}
.news-page .news-card:has(.news-image[hidden]) .news-copy,.news-page .news-card>.news-copy:only-child{grid-column:1/-1}
.news-page .news-copy h2{margin:9px 0;font-size:18px;line-height:1.35}
.news-title-link{padding:0;border:0;background:none;color:inherit;font:inherit;font-weight:750;text-align:left;cursor:pointer}
.news-title-link:hover{color:#005d9c}
.news-title-link:focus-visible{outline:2px solid #4db2fb;outline-offset:4px;border-radius:3px}
.news-page .news-meta{font-size:10px;gap:4px 10px;line-height:1.45}
.news-page .news-meta strong{color:#005d9c;font-size:10px;font-weight:650}
.news-page .news-excerpt{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;font-size:12px;line-height:1.65;margin:8px 0;color:#53718c}
.news-page .news-author{font-size:10px;line-height:1.5;color:#53718c;margin:8px 0 2px}
.news-page .news-read{font-size:12px;min-height:40px;margin-top:2px}
.news-page .news-player-tags{margin:9px 0;gap:5px}
.news-page .news-player-tags button{font-size:10px;min-height:30px;border-radius:6px}
.news-page .empty-state{grid-column:1/-1}
.home-video .section-heading h2.video-heading{margin:0;font-family:var(--body);font-size:12px;font-weight:750;line-height:1.6;letter-spacing:1.1px;color:var(--gris-texto)}

@media(max-width:1000px){
 .news-page .news-card{grid-template-columns:120px minmax(0,1fr);gap:15px}
 .news-page .news-image,.news-page .news-card:first-child .news-image{height:120px}
 .ranking-player{grid-template-columns:24px 64px minmax(0,1fr);gap:12px;padding:17px}
 .ranking-player>.player-avatar{width:64px;height:64px}
 .ranking-player>svg{display:none}
 .rank-metrics--split>span{min-width:55px;padding-right:11px}
 .rank-metrics--split>span+span{padding-left:11px}
}
@media(max-width:760px){
 .page{padding-top:28px;padding-bottom:38px}
 .page-header{gap:12px;margin-bottom:22px}
 .page-title{font-size:31px;line-height:1.15}
 .calendar-switches{display:flex;flex-wrap:nowrap;gap:10px;align-items:center;margin-bottom:12px}
 .calendar-view-switch{width:auto;flex-shrink:0;padding:3px;gap:0;margin-bottom:0}
 .calendar-view-switch button{flex:0 1 auto;min-height:43px;font-size:11px;padding:8px 10px;gap:5px}
 .calendar-view-switch button svg{width:15px;height:15px}
 .calendar-team-switch{min-width:0;width:auto;flex:1;padding:3px;gap:1px}
 .calendar-team-switch button{min-height:43px;font-size:10px;padding:8px 6px;line-height:1.3}
 .calendar-timezone-note{font-size:10px;margin-bottom:15px}
 .calendar-filters{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);width:100%;gap:8px}
 .calendar-filters .select-control{width:100%;min-width:0;font-size:11px;padding:12px 29px 12px 11px;background-position:right 7px center}
 .calendar-tools{gap:14px}
 .visual-calendar-heading{gap:8px;margin:14px 0 12px}
 .visual-calendar-heading h2{font-size:17px;line-height:1.3;flex:1}
 .visual-calendar-heading .icon-button{width:34px;height:40px;min-height:40px;border-radius:10px}
 .visual-calendar-heading .text-link{font-size:11px;padding:4px;min-height:40px}
 .visual-weekdays{margin-bottom:6px;padding-bottom:3px}
 .visual-weekdays span{font-size:9px;padding:7px 0}
 .visual-days{gap:3px}
 .visual-day{min-height:99px;padding:4px 0;border-color:#e8f5ff}
 .visual-day--blank{border-color:transparent}
 .visual-day>time{width:22px;line-height:22px;font-size:10px;margin:0 auto 5px}
 .visual-match{padding:6px 0;border-radius:10px}
 .visual-match-crests{gap:0;margin:0 0 4px}
 .visual-match .team-crest{width:21px;height:27px;flex-basis:21px}
 .visual-match-names{display:none}
 .visual-match strong{font-size:10px}
 .visual-selected .calendar-game{padding:16px 12px;border-radius:13px}
 .visual-calendar-hint{font-size:11px;margin:13px 0 0}
 .standings th:first-child{width:29px}
 .standings th:nth-child(3){width:39px}
 .standings th:nth-child(4){width:30px}
 .standings th:last-child{width:37px}
 .standings th,.standings td{padding-inline:4px}
 .standings td{height:62px}
 .standings .team-cell{min-width:0}
 .standings .team-name-wrap{gap:7px}
 .standings .team-name{font-size:11px;line-height:1.35}
 .standings .team-crest{width:34px;height:38px;flex-basis:34px}
 .standings .team-crest--sprite>.shield-sprite.xs{transform:scale(1.65)}
 .standings td.points-cell{font-size:13px}
 .standings .form-chips{gap:3px;margin-top:4px}
 .standings .form-chip{width:14px;height:14px;font-size:8px}
 .table-controls{gap:12px;margin-top:16px}
 .table-controls .button{border-radius:10px;min-height:44px}
 .staff-layout{grid-template-columns:128px minmax(0,1fr);gap:22px}
 .staff-layout .staff-photo{width:112px;height:112px}
 .staff-layout .staff-card--lead{gap:14px;padding:0}
 .staff-layout .staff-card--lead strong{font-size:18px}
 .staff-layout .staff-card--lead small{font-size:11px}
 .staff-grid .staff-card{padding:13px 0}
 .staff-grid .staff-card strong{font-size:14px}
 .staff-grid .staff-card small{font-size:11px;margin-top:4px}
 .rankings-intro{font-size:13px;margin-bottom:19px}
 .ranking-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;border:0;padding:5px;border-radius:14px;background:#e8f5ff;margin-bottom:28px}
 .ranking-tabs button{display:flex;align-items:center;justify-content:center;gap:6px;min-height:56px;border:0;border-radius:9px;padding:8px 5px;font-size:11px;line-height:1.3}
 .ranking-tabs button[aria-selected=true]{background:#fff;color:#002952;box-shadow:0 2px 8px #00295210}
 .ranking-tabs button svg{flex-shrink:0;width:16px;height:16px}
 .ranking-detail-heading{display:block;margin-bottom:17px}
 .ranking-detail-heading h2{font-size:24px;margin-bottom:7px}
 .ranking-detail-heading p{font-size:10px;margin:0}
 .ranking-cards{grid-template-columns:1fr;gap:10px}
 .ranking-player{grid-template-columns:23px 64px minmax(0,1fr);gap:12px;min-height:128px;padding:17px 13px;border-radius:14px}
 .ranking-player-copy>strong{font-size:16px}
 .ranking-dorsal{font-size:10px}
 .rank-metrics{margin-top:10px}
 .rank-metrics b{font-size:24px}
 .rank-metrics--split>span{min-width:54px;padding-right:10px}
 .rank-metrics--split>span+span{padding-left:10px}
 .rank-metrics small{font-size:10px}
 .rankings-source{margin-top:24px;font-size:11px}
 .news-page .page-header{margin-bottom:15px}
 .news-toolbar{flex-direction:column;align-items:stretch;gap:17px;margin-bottom:13px}
 .news-editorial-note{font-size:12px}
 .news-search-field{min-width:0;flex-basis:auto;width:100%}
 .news-search-field .search-control{font-size:14px;min-height:50px}
 .news-search-count{font-size:10px;margin-bottom:23px}
 .news-page .news-grid{grid-template-columns:1fr;gap:28px}
 .news-page .news-card{display:flex;flex-direction:column;gap:0;padding:0 0 24px;border-radius:0}
 .news-page .news-image,.news-page .news-card:first-child .news-image{width:100%;height:auto;min-height:0;aspect-ratio:16/9;border-radius:12px;margin-bottom:15px}
 .news-page .news-copy{width:100%;padding:0 3px}
 .news-page .news-meta{font-size:10px;justify-content:space-between;gap:7px}
 .news-page .news-meta strong{font-size:11px}
 .news-page .news-copy h2{font-size:21px;line-height:1.35;margin:10px 0}
 .news-page .news-excerpt{display:-webkit-box;font-size:13px;line-height:1.65;margin:9px 0;-webkit-line-clamp:3}
 .news-page .news-read{font-size:12px;min-height:44px;margin-top:5px}
 .news-page .news-player-tags button{min-height:34px;font-size:10px}
 .news-page .news-author{font-size:10px}
 .news-page .load-more-wrap{margin-top:8px}
 .home-content.wrap{width:100%;max-width:none;padding:29px 16px 36px}
 .home-grid{display:flex;flex-direction:column;gap:34px}
 .home-grid>.home-column{display:contents}
 .home-news{order:0}
 .home-results{order:1}
 .home-video{order:2}
 .home-standings{order:3}
 .home-news .news-feature{grid-template-columns:104px minmax(0,1fr);gap:14px;padding:0 0 19px;margin-bottom:20px}
 .home-news .news-art{width:104px;height:112px;min-height:0;border-radius:9px}
 .home-news .news-feature h3{font-size:17px;line-height:1.35;margin-top:7px}
 .home-news .news-feature p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:12px;line-height:1.6;margin:8px 0 0}
 .home-news .news-byline{font-size:9px;line-height:1.5}
 .home-news .news-feature .text-link{min-height:42px;font-size:11px}
 .home-video .video-feature{width:calc(100% + 32px);max-width:none;margin-inline:-16px;border-radius:0;border:0;padding:0;background:transparent}
 .home-video .video-frame{width:100%;border-radius:0;aspect-ratio:16/9}
 .home-video .section-heading{margin-bottom:14px}
 .home-video .section-heading h2.video-heading{font-size:11px;letter-spacing:1px;line-height:1.7}
 .home-standings .mini-table-head,.home-standings .mini-table-row{grid-template-columns:28px minmax(0,1fr) 42px 30px;padding-inline:8px}
 .mini-table-row .points-cell{height:30px;font-size:13px}
 .home-results .result-card{grid-template-columns:43px minmax(0,1fr) 38px minmax(0,1fr) 23px;gap:5px;min-height:78px;padding-inline:0}
 .home-results .result-team{font-size:11px;gap:4px}
 .home-results .result-team .team-crest{width:23px;height:29px;flex-basis:23px}
 .home-results .result-score{font-size:16px}
 .home-results .result-card>time{font-size:9px}
 .home-results .competition-watermark{display:none}
 .profile-content{padding:23px 18px}
 .profile-bio{gap:19px 15px}
 .profile-bio dt{font-size:10px;line-height:1.4}
 .profile-bio dd{font-size:13px}
 .social-columns{gap:27px}
 .social-group-heading h2{font-size:21px}
 .social-feed-viewport{border-radius:13px}
}
@media(max-width:380px){
 .calendar-switches{gap:6px}
 .calendar-view-switch button{padding-inline:8px;font-size:10px}
 .calendar-team-switch button{font-size:9px;padding-inline:4px}
 .staff-layout{grid-template-columns:115px minmax(0,1fr);gap:17px}
 .staff-layout .staff-photo{width:104px;height:104px}
 .ranking-player{grid-template-columns:20px 56px minmax(0,1fr);gap:10px;padding:16px 11px}
 .ranking-player>.player-avatar{width:56px;height:56px}
 .rank-metrics--split>span{min-width:50px;padding-right:7px}
 .rank-metrics--split>span+span{padding-left:7px}
 .home-news .news-feature{grid-template-columns:88px minmax(0,1fr);gap:12px}
 .home-news .news-art{width:88px;height:100px}
}

/* Reviewed layouts: one ranking per row, shared news heights and measured crest artwork. */
:root{--display:"Montserrat",ui-sans-serif,system-ui,sans-serif}
h1,h2,h3,h4,h5,h6,.page-title,.match-team-name,.player-name{font-family:var(--display)!important}
.rankings-page .ranking-detail{max-width:920px}
.rankings-page .ranking-detail-heading{margin:28px 0 12px}
.rankings-page .ranking-detail-heading p{display:none}
.rankings-page .ranking-cards{display:grid;grid-template-columns:minmax(0,1fr);gap:0;list-style:none;margin:0;padding:0}
.rankings-page .ranking-entry{min-width:0;border:0;border-bottom:1px solid #e8f5ff;border-radius:0;background:transparent;box-shadow:none}
.rankings-page .ranking-player{display:grid;grid-template-columns:42px 80px minmax(0,1fr) 16px;align-items:center;gap:18px;width:100%;min-height:102px;padding:16px 0;border:0;border-radius:0;background:transparent;box-shadow:none;text-align:left}
.rankings-page .ranking-player:hover{background:#f5fbff80;box-shadow:none;border:0}
.rankings-page .ranking-player>.player-avatar{width:64px;height:64px;justify-self:center;object-fit:cover;border:0;box-shadow:none;background:#e8f5ff}
.rankings-page .ranking-place{align-self:center;justify-self:center;padding:0;color:#53718c;font:600 17px/1.2 var(--display);font-variant-numeric:tabular-nums}
.rankings-page .ranking-player-copy{display:grid;grid-template-columns:minmax(0,1fr) 270px;align-items:center;gap:24px;min-width:0}
.rankings-page .ranking-identity{display:block;min-width:0}
.rankings-page .ranking-identity>strong{display:block;font:700 17px/1.35 var(--display);white-space:normal;overflow-wrap:anywhere}
.rankings-page .ranking-dorsal{display:block;margin-top:5px;font-size:11px;line-height:1.3;color:#53718c}
.rankings-page .rank-metrics{display:grid;grid-template-columns:1fr;gap:0;align-items:center;justify-content:normal;margin:0;font-variant-numeric:tabular-nums}
.rankings-page .rank-metrics--split{grid-template-columns:repeat(3,minmax(0,1fr))}
.rankings-page .rank-metric{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-width:0;padding:0 10px;border:0;text-align:center}
.rankings-page .rank-metric+.rank-metric{border-left:1px solid #e8f5ff}
.rankings-page .rank-metric b{font:700 24px/1.1 var(--display)}
.rankings-page .rank-metric small{font-size:11px;line-height:1.35;color:#53718c;text-align:center;white-space:normal}
.rankings-page .rank-metric--total b{color:#005d9c}
.rankings-page .ranking-entry--first .ranking-player{min-height:124px;padding-block:20px;background:transparent;border:0}
.rankings-page .ranking-entry--first .ranking-player:hover{background:#f5fbff80}
.rankings-page .ranking-entry--first .player-avatar{width:80px;height:80px}
.rankings-page .ranking-entry--first .ranking-place{font-size:20px;color:#005d9c}
.rankings-page .ranking-entry--first .ranking-identity>strong{font-size:21px}
.rankings-page .ranking-entry--first .rank-metric b{font-size:30px}
.rankings-page .ranking-player>svg{display:block;width:16px;height:16px}
.news-page .news-grid{grid-auto-rows:1fr;align-items:stretch}
.news-page .news-card{height:auto;min-height:250px;align-self:stretch;overflow:visible;align-items:stretch}
.news-page .news-copy{display:flex;flex-direction:column;min-height:0;min-width:0}
.news-page .news-copy h2{flex-shrink:0;margin:9px 0;line-height:1.4}
.news-page .news-excerpt{flex-shrink:0;max-height:none;-webkit-line-clamp:3}
.news-page .news-author{flex-shrink:0}
.news-page .news-read{align-self:flex-start;flex-shrink:0;justify-content:flex-start;margin-top:auto;min-height:40px;padding:10px 0;border:0;background:transparent}
.calendar-page .team-crest--calendar{display:flex;width:28px;height:28px;flex:0 0 28px;align-items:center;justify-content:center;overflow:hidden;padding:0;border:0;border-radius:0;background:transparent}
.calendar-page .calendar-crest-art{display:block;width:28px;height:28px;flex:none;overflow:hidden;transform:none}
.calendar-page .visual-match .team-crest--calendar img{width:28px;height:28px;object-fit:contain;padding:0;transform:none}
@media(max-width:760px){
 .hero{height:auto;min-height:470px;max-height:none;padding:42px 0}
 .hero .wrap{width:min(560px,calc(100% - 32px));margin-inline:auto;align-self:center;padding:0;text-align:center}
 .hero .match-card{width:100%;max-width:none;margin:0;padding:0;text-align:center}
 .hero .match-meta{justify-content:center;flex-wrap:wrap;margin:0 auto 22px}
 .hero .match-teams{width:100%;grid-template-columns:minmax(0,1fr) 28px minmax(0,1fr);gap:12px;justify-items:center;margin:0 auto 20px}
 .hero .match-team{width:100%;justify-items:center;gap:12px;text-align:center}
 .hero .match-team-name{font-size:clamp(19px,5vw,25px);line-height:1.2;white-space:normal;overflow:visible;overflow-wrap:anywhere}
 .hero .match-time{display:grid;grid-template-columns:minmax(0,1fr);width:100%;justify-items:center;gap:8px;margin:0 auto;padding:0;border:0;text-align:center;font-size:11px}
 .hero .match-time>span{justify-content:center;max-width:100%}
 .hero .countdown{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:min(300px,100%);gap:8px;justify-content:center;margin:22px auto}
 .hero .countdown-unit{min-width:0;text-align:center}
 .hero .hero-actions{justify-content:center;flex-wrap:wrap;gap:12px;margin:0 auto}
 .home-news .section-heading>div{display:none}
 .home-news .section-heading .eyebrow{display:none}
 .home-news .section-heading{justify-content:center;min-height:32px;margin-bottom:12px}
 .rankings-page .ranking-player{grid-template-columns:28px 64px minmax(0,1fr);gap:10px;min-height:108px;padding:16px 0}
 .rankings-page .ranking-player>.player-avatar{width:56px;height:56px}
 .rankings-page .ranking-player>svg{display:none}
 .rankings-page .ranking-player-copy{grid-template-columns:minmax(0,1fr);gap:12px}
 .rankings-page .ranking-identity>strong{font-size:16px}
 .rankings-page .ranking-place{font-size:15px}
 .rankings-page .ranking-dorsal{font-size:10px}
 .rankings-page .rank-metrics{grid-template-columns:minmax(0,1fr);width:100%;max-width:240px}
 .rankings-page .rank-metrics--split{grid-template-columns:repeat(3,minmax(0,1fr))}
 .rankings-page .rank-metric{align-items:center;padding:0 4px;gap:4px}
 .rankings-page .rank-metric b{font-size:21px}
 .rankings-page .rank-metric small{font-size:10px}
 .rankings-page .ranking-entry--first .ranking-player{min-height:136px;padding-block:20px}
 .rankings-page .ranking-entry--first .player-avatar{width:64px;height:64px}
 .rankings-page .ranking-entry--first .ranking-identity>strong{font-size:18px}
 .rankings-page .ranking-entry--first .rank-metric b{font-size:26px}
 .news-page .news-grid{grid-auto-rows:1fr;gap:28px}
 .news-page .news-card{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);min-height:0;gap:0;padding-bottom:24px;align-items:stretch}
 .news-page .news-image,.news-page .news-card:first-child .news-image{width:100%;height:auto;aspect-ratio:16/9;margin-bottom:16px;align-self:start}
 .news-page .news-copy{width:100%;padding:0}
 .news-page .news-copy h2{font-size:20px;line-height:1.4}
 .news-page .news-excerpt{max-height:none;-webkit-line-clamp:3}
 .news-page .news-read{min-height:44px}
 .calendar-page .visual-day{min-height:128px}
 .calendar-page .visual-match-crests{display:grid;grid-template-columns:minmax(0,1fr);justify-items:center;gap:4px;margin:0 0 7px}
 .calendar-page .visual-match-crests>span:not(.team-crest){display:none}
 .calendar-page .visual-match{padding:8px 0}
}
@media(max-width:380px){
 .site-header .header-inner{column-gap:6px}
 .site-header .language-switch button{width:25px;min-width:25px;min-height:34px}
 .site-header .menu-toggle{width:34px;flex:0 0 34px;padding-inline:7px}
 .rankings-page .rank-metric small{font-size:9px}
}

/* Larger portraits and mobile sections sized against the complete content area. */
.webapp-install{background:#e8f5ff;border-bottom:1px solid #e8f5ff;color:var(--azul)}
.webapp-install>.wrap{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;padding-block:16px}
.webapp-install strong{font:700 15px/1.4 var(--display)}
.webapp-install p{font-size:12px;line-height:1.5;margin:5px 0 0}
.webapp-install .button,.webapp-install .text-link{font-size:12px;min-height:44px}
.webapp-install .text-link{border:0;background:transparent;cursor:pointer}
.webapp-preferences{padding-block:22px 32px;border-top:1px solid var(--linea)}
.webapp-preferences-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.webapp-preferences .button{min-height:44px;font-size:12px}
.news-list-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 18px;margin-bottom:16px}
.news-list-heading .news-search-count{margin:0}
.news-alert-button{border:0;background:transparent;min-height:44px;padding:4px 0;font-size:12px;cursor:pointer}
.webapp-preferences p{max-width:600px;margin:12px 0 0;font-size:12px;line-height:1.6;color:var(--gris-texto)}
[data-install-guidance]{padding:14px 16px;background:#e8f5ff;border-radius:8px}
@media(max-width:760px){
 .webapp-install>.wrap{grid-template-columns:1fr auto;gap:10px;padding-block:14px}
 .webapp-install>.wrap>div{grid-column:1/-1}
 .webapp-install .button{justify-self:start}
 .webapp-install .text-link{justify-self:end}
 .webapp-preferences-actions{display:grid;grid-template-columns:minmax(0,1fr)}
}
.rankings-page .ranking-player{grid-template-columns:42px 110px minmax(0,1fr) 16px;min-height:120px}
.rankings-page .ranking-player>.player-avatar{width:88px;height:88px}
.rankings-page .ranking-entry--first .player-avatar{width:104px;height:104px}
.rankings-page .ranking-entry--first .ranking-player{min-height:148px}
.home-standings{position:relative}
.home-standings>.home-table-link{position:absolute;right:0;top:0}
@media(max-width:760px){
 .rankings-page .ranking-player{grid-template-columns:24px 80px minmax(0,1fr);gap:8px;min-height:112px}
 .rankings-page .ranking-player>.player-avatar{width:68px;height:68px}
 .rankings-page .ranking-entry--first .player-avatar{width:80px;height:80px}
 .rankings-page .ranking-entry--first .ranking-player{min-height:128px}
 .rankings-page .ranking-player-copy{grid-template-columns:minmax(0,1fr) 64px;gap:8px}
 .rankings-page .rank-metrics{justify-self:end;max-width:64px}
 .rankings-page .rank-metrics:not(.rank-metrics--split) .rank-metric{padding:0}
 .rankings-page .ranking-player--split .ranking-player-copy{grid-template-columns:minmax(0,1fr);gap:14px}
 .rankings-page .rank-metrics--split{max-width:180px;justify-self:end}
 .home-content .home-grid{width:100%;align-items:stretch}
 .home-content .home-video{width:100%;max-width:none;align-self:stretch}
 .home-content .home-video .video-feature{width:calc(100% + 32px);margin-inline:-16px;max-width:none}
 .home-content .home-standings{display:grid;grid-template-columns:minmax(0,1fr);width:100%;max-width:440px;align-self:center;margin-inline:auto}
 .home-standings .section-heading{justify-content:center;text-align:center}
 .home-standings .mini-table{width:100%;margin-inline:auto}
 .home-standings>.home-table-link{position:static;justify-self:end;min-height:44px;margin-top:8px;display:inline-flex;align-items:center}
}
@media(max-width:380px){
 .rankings-page .ranking-player{grid-template-columns:20px 70px minmax(0,1fr);gap:6px}
 .rankings-page .ranking-player>.player-avatar{width:60px;height:60px}
 .rankings-page .ranking-entry--first .player-avatar{width:70px;height:70px}
 .rankings-page .ranking-identity>strong{font-size:14px}
 .rankings-page .ranking-entry--first .ranking-identity>strong{font-size:16px}
}

/* Official live match state and inline match summaries. */
.live-status{color:#007558;font-weight:700;line-height:1.4}
.live-status::before{content:"";display:inline-block;width:6px;height:6px;background:currentColor;border-radius:50%;margin-right:5px;vertical-align:middle}
.hero .live-status{color:#b7f5df;font-size:15px;letter-spacing:.02em;padding:8px 14px;border:1px solid #b7f5df66;border-radius:999px;background:#00295299}
.hero .countdown[data-live=true]{display:flex;justify-content:center}
.hero .countdown[data-live=true] .live-status{white-space:nowrap}
.hero .match-teams:has(.versus--live){grid-template-columns:1fr 64px 1fr}
.hero .versus--live{color:var(--blanco);font-size:clamp(24px,3vw,36px);font-weight:750;line-height:1.2;white-space:nowrap}
.versus--live{white-space:nowrap;font-variant-numeric:tabular-nums}
.matchday-game{grid-template-columns:minmax(0,1fr) 94px minmax(0,1fr)}
.matchday-game>.matchday-score{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;text-align:center;font-variant-numeric:tabular-nums}
.matchday-score b{font-size:16px;white-space:nowrap}
.matchday-score small{font-size:10px;line-height:1.4}
.matchday-game.is-live{background:#e1f4ed}
.calendar-score small.live-status{color:#007558;font-weight:700;font-size:10px;max-width:105px;margin-inline:auto}
.match-summary-action{grid-column:2/-1;justify-self:center;margin-top:-8px}
.summary-toggle{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:9px 16px;border:1px solid #e8f5ff;border-radius:8px;background:#e8f5ff;color:#005d9c;font:700 12px var(--body);cursor:pointer}
.summary-toggle:hover{background:#e8f5ff}
.summary-toggle svg{width:16px;height:16px;transform:rotate(90deg)}
.summary-toggle[aria-expanded=true] svg{transform:rotate(-90deg)}
.match-summary{grid-column:1/-1;min-width:0;width:100%;padding-top:3px}
.match-summary[hidden]{display:none}
.match-summary h3{font-size:16px;line-height:1.5;margin:0 0 12px}
.match-summary .video-frame{width:100%;overflow:hidden;border-radius:8px}
.match-summary>.text-link{display:inline-flex;align-items:center;min-height:44px;margin-top:4px;font-size:12px}
.match-summary-pending{grid-column:2/-1;justify-self:center;margin:-8px 0 0;font-size:11px;color:var(--gris-texto);text-align:center}
.visual-live{display:block;color:#007558;font-size:10px;font-weight:700;line-height:1.3}
@media(max-width:760px){
 .matchday-game{grid-template-columns:minmax(0,1fr) 82px minmax(0,1fr);gap:6px}
 .matchday-score small{font-size:9px}
 .calendar-score small.live-status{font-size:9px}
 .match-summary-action,.match-summary-pending{grid-column:1/-1;margin-top:0}
 .match-summary h3{font-size:14px}
 .match-summary .video-frame{border-radius:5px}
 .summary-toggle{min-height:46px;font-size:12px}
.visual-live{font-size:8px}
}

/* Fillos identity: supplied originals, marine blue and bright sky blue. */
:root{--azul-marino:#002952;--azul-medio:#0c4774;--azul:var(--azul-marino);--celeste:#4DB2FB;--celeste-variacion:#4FB4FC;--celeste-claro:#e8f5ff;--celeste-oscuro:#005d9c;--fondo:#f5fbff;--gris-texto:#53718c;--linea:#d3e6f4}
:focus-visible{outline-color:var(--celeste-oscuro)}
.button:hover{background:var(--celeste-variacion)}
.button--dark:hover{background:var(--azul-medio)}
.button--outline:hover{background:var(--celeste-claro)}
.site-header{color:var(--azul-marino);background:rgba(250,253,255,.98);border-bottom:1px solid var(--linea);box-shadow:0 3px 18px #00295206}
.site-header .brand{flex:0 1 auto;min-width:0;gap:0}
.brand-wordmark{position:relative;display:block;flex:none;width:252px;max-width:100%;aspect-ratio:4.1;overflow:hidden}
.site-header .brand-wordmark img{position:absolute;inset:0 auto auto 0;width:100%;height:auto;max-width:none;object-fit:contain;transform:translateY(-26%)}
.primary-nav a{color:var(--gris-texto)}
.primary-nav a:hover,.primary-nav a[aria-current=page]{color:var(--azul-marino)}
.language-switch{border-color:var(--linea)}
.language-switch button{color:var(--gris-texto)}
.language-switch button[aria-pressed=true]{background:var(--celeste);color:var(--azul-marino)}
.menu-toggle{border:0;background:transparent}
.menu-toggle span{background:var(--azul-marino)}
.header-match{border-color:var(--linea)}
.header-fixture>small,.header-countdown small,.header-fixture-teams>span:not(.team-crest){color:var(--gris-texto)}
.header-countdown:hover{background:var(--celeste-claro)}
.site-footer{background:#edf7ff;color:var(--azul-marino);border-top:1px solid var(--linea)}
.footer-brand .footer-emblem{flex:0 0 76px;width:76px;height:76px;object-fit:contain;mix-blend-mode:multiply}
.footer-links strong{color:var(--celeste-oscuro)}
.footer-links a,.footer-bottom{color:var(--gris-texto)}
.footer-links a:hover,.footer-bottom strong{color:var(--azul-marino)}
.footer-bottom{border-color:var(--linea)}
.rankings-page,.social-page{position:relative;isolation:isolate}
.rankings-page::before,.social-page::before{position:absolute;z-index:-1;right:0;bottom:7%;width:min(42%,440px);aspect-ratio:1;background:url('./assets/brand/emblem.png') center/contain no-repeat;opacity:.035;mix-blend-mode:multiply;pointer-events:none;content:""}
.match-summary-action,.match-summary-pending{grid-column:1/-1;justify-self:center}
.summary-toggle{border:0;border-radius:0;background:transparent;color:var(--azul-marino);min-height:46px;padding:10px 8px;font-size:13px;gap:9px;transition:color .18s}
.summary-toggle:hover{background:transparent;color:var(--celeste-oscuro)}
.summary-toggle:hover>span:first-child{text-decoration:underline;text-decoration-color:var(--celeste);text-underline-offset:5px}
.summary-toggle svg{color:var(--celeste-oscuro)}
.webapp-preferences-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px 36px}
.webapp-preferences{padding-block:24px 30px}
.app-action,.webapp-preferences .app-action,.webapp-install .app-action{display:inline-flex;align-items:center;justify-content:flex-start;gap:10px;min-height:46px;padding:9px 0;border:0;border-radius:0;background:transparent;color:var(--azul-marino);font:700 13px/1.5 var(--body);text-align:left;cursor:pointer;transition:color .18s}
.app-action:hover,.webapp-install .app-action:hover{background:transparent;color:var(--celeste-oscuro);transform:none}
.app-action:hover>span{text-decoration:underline;text-decoration-color:var(--celeste);text-underline-offset:5px}
.app-action>svg{width:21px;height:21px;flex-shrink:0;color:var(--celeste-oscuro)}
.app-action>svg:last-child:not(:first-child){width:15px;height:15px;margin-left:2px}
.app-action:disabled{opacity:.5;cursor:default}
.app-action[aria-pressed=true]>svg:first-child{color:var(--victoria)}
.webapp-install{background:linear-gradient(100deg,#e8f5ff,#f5fbff);border-color:var(--linea);color:var(--azul-marino)}
.webapp-install strong{font-size:15px}
.webapp-install [data-dismiss-install]{color:var(--gris-texto);padding:9px 0;min-height:46px}
[data-install-guidance]{background:var(--celeste-claro);border-radius:0;border-left:2px solid var(--celeste)}
.standings-live-dot{display:inline-block;vertical-align:middle;width:7px;height:7px;flex:0 0 7px;margin:0 0 2px 7px;border-radius:50%;background:#16805d;box-shadow:0 0 0 3px #16805d12;animation:standings-live-pulse 1.8s ease-in-out infinite}
.standings-live-note{display:flex;align-items:center;gap:8px;margin:12px 0 0;color:var(--gris-texto);font-size:11px;line-height:1.5}
.standings-live-note .standings-live-dot{margin:0}
.mini-team .standings-live-dot{display:inline-block}
.standings tr:has(.standings-live-dot) .points-cell{color:var(--azul-marino)}
@keyframes standings-live-pulse{0%,100%{opacity:1;box-shadow:0 0 0 3px #16805d12}50%{opacity:.4;box-shadow:0 0 0 5px #16805d08}}
@media(max-width:1450px){.header-match{border-top-color:var(--linea)}}
@media(max-width:760px){
 .site-header .header-inner{column-gap:8px}
 .site-header .brand{flex:1;min-height:62px}
 .brand-wordmark{width:190px;max-width:100%}
 .header-tools{flex:none}
 .primary-nav,.primary-nav.is-open{background:#f5fbff;box-shadow:0 16px 25px #00295212;border-color:var(--linea)}
 .primary-nav a{background:transparent;color:var(--gris-texto)}
 .primary-nav a[aria-current=page]{background:var(--celeste-claro);color:var(--azul-marino)}
 .webapp-install>.wrap{gap:5px 20px}
 .webapp-install .app-action{justify-self:start}
 .webapp-preferences-actions{flex-direction:column;align-items:flex-start;gap:4px}
 .webapp-preferences p{margin-top:8px}
 .rankings-page::before,.social-page::before{width:65%;opacity:.025;bottom:3%}
 .footer-brand .footer-emblem{flex-basis:64px;width:64px;height:64px}
}
@media(max-width:380px){.site-header .header-inner{column-gap:5px}.brand-wordmark{width:174px}.app-action,.webapp-install .app-action{font-size:12px;gap:8px}}
@media(prefers-reduced-motion:reduce){.standings-live-dot{animation:none}.app-action,.summary-toggle{transition:none}}

/* Separate wave mark and quiet wordmark; keep the result and action together. */
.site-header .brand{gap:10px}
.brand-isotype{position:relative;display:block;flex:none;width:32px;aspect-ratio:1169/427;overflow:hidden}
.site-header .brand-isotype img{position:absolute;left:-9.3242%;top:-97.4239%;width:117.8785%;height:auto;max-width:none}
.brand-wordmark{width:154px;aspect-ratio:2005/277}
.site-header .brand-wordmark img{left:-3.2918%;top:-91.6968%;width:106.4838%;transform:none}
.footer-brand .footer-emblem{height:28px;mix-blend-mode:normal}
.rankings-page::before,.social-page::before{background-image:url('./assets/brand/emblem.svg');aspect-ratio:1169/427}
.calendar-game.calendar-game--played{grid-template-columns:115px minmax(0,1fr) 115px;row-gap:12px;padding-block:14px;align-items:center}
.calendar-game--played .calendar-match{padding-block:0}
.calendar-game--played .calendar-venue{margin-top:6px}
.calendar-match>.match-summary-action{display:flex;align-items:center;justify-content:center;margin:0}
.calendar-match>.match-summary-pending{margin:10px 0 2px}
@media(max-width:760px){
 .site-header .brand{gap:8px}
 .brand-isotype{width:28px}
 .brand-wordmark{width:134px}
 .calendar-game.calendar-game--played{grid-template-columns:minmax(0,1fr) 78px;row-gap:6px;padding-block:14px}
 .calendar-game--played .calendar-match{padding-block:6px 0}
 .footer-brand .footer-emblem{height:24px}
}
@media(max-width:380px){.brand-isotype{width:26px}.brand-wordmark{width:122px}}

/* Competition rankings and immediate news in both languages. */
.rankings-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}
.rankings-toolbar .rankings-intro{margin:0}
.ranking-competition-filter{display:flex;align-items:center;gap:10px;font-size:.8rem;font-weight:600}
.ranking-competition-filter select{appearance:auto;min-width:215px;max-width:100%;min-height:44px;padding:8px 12px;color:var(--navy,#002952);border:1px solid #4DB2FB44;background:transparent;border-radius:8px;font:inherit}
.ranking-update-note{max-width:780px;font-size:.85rem;color:#496b8d;margin:0 0 20px;line-height:1.6}
.ranking-minutes-note{display:block;margin-top:8px}
.rankings-source{display:block;line-height:1.8;overflow-wrap:anywhere}
.rankings-source .text-link{display:inline-flex;white-space:normal;vertical-align:middle;max-width:100%}
.news-language-note{display:block;font-size:.68rem;font-weight:400;line-height:1.5;color:#496b8d;margin-top:4px}
.news-meta .news-language-note{flex-basis:100%}
/* Squad status, clean loan portraits and a quiet history navigation. */
.player-availability{width:26px;height:26px}
.player-availability svg{width:14px;height:14px}
.player-availability--injured{color:#af2846;background:#ffe6ed;border:1.5px solid #d653714d;box-shadow:0 0 0 2px #d653710d}
.player-card--loan .player-avatar{background:transparent;mix-blend-mode:multiply}
.profile-identity--loan{background:#e8f5ff;color:var(--azul-marino)}
.profile-identity--loan .profile-title .eyebrow,.profile-identity--loan .profile-title>p{color:var(--gris-texto)}
.profile-identity--loan .profile-title h2{color:var(--azul-marino)}
.profile-identity--loan .profile-portrait img{mix-blend-mode:multiply}
.profile-identity--loan .profile-portrait::before{background:transparent}
.staff-layout{grid-template-columns:210px minmax(0,1fr);max-width:none;gap:36px;align-items:start}
.staff-layout .staff-card--lead{position:sticky;top:calc(var(--header-height) + 25px)}
.staff-layout .staff-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:30px;row-gap:0}
.staff-grid .staff-card{padding:15px 0;min-height:76px;align-items:center;border-bottom:1px solid var(--linea)}
.staff-grid .staff-card strong{font-size:14px}
.history-years{background:var(--fondo);border-bottom:1px solid var(--linea)}
.history-years button::before{background:var(--linea)}
.history-year-dot{border-color:var(--celeste);background:var(--fondo)}
.standings tr.is-celta,.standings tr.is-celta>td{background:#d9edfc}
.standings tr.is-celta>td:first-child{box-shadow:inset 3px 0 var(--celeste)}
.standings tr.is-celta>.points-cell{background:#cce7fb}
.mini-table-row.is-celta{background:#d9edfc}
/* Both squads share chronological dates; Fortuna has its own blue tone. */
.calendar-team-switch button{min-height:44px}
.calendar-game--fortuna{background:#e3eff9;border-radius:8px;padding-inline:12px}
.calendar-game--fortuna.calendar-game--live{background:#ddf1ec}
.calendar-competition{display:flex;align-items:center;gap:5px;margin-top:7px;color:#28557a;font-size:9px;font-weight:600;line-height:1.2}
.calendar-competition .competition-logo{width:17px;height:17px;object-fit:contain;flex:none}
.calendar-period-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:14px 0}
.calendar-period-switch{display:flex;align-items:center;gap:6px}
.calendar-period-switch button{border:0;background:transparent;color:var(--gris-texto);padding:10px 18px;min-height:44px;font:650 13px var(--body);border-bottom:2px solid transparent;cursor:pointer}
.calendar-period-switch button[aria-pressed=true]{color:var(--azul-marino);border-color:var(--celeste);background:#4db2fb0e}
.calendar-period-tools>.text-link{min-height:44px;display:flex;align-items:center;border:0;background:none;font:650 12px var(--body);cursor:pointer}
.visual-calendar-heading{display:flex;align-items:center;gap:16px;margin:14px 0 6px}
.visual-calendar-heading h2{flex:1;text-align:center;margin:0}
.calendar-scroll-help{color:var(--gris-texto);font-size:11px;text-align:center;margin:8px 0 15px}
.calendar-month-scroll{position:relative;max-height:min(840px,72vh);overflow-y:auto;overflow-x:hidden;scroll-snap-type:y proximity;scrollbar-width:thin;scrollbar-color:#4db2fb66 transparent;scroll-padding-top:0;overflow-anchor:none}
.calendar-month-panel{position:relative;scroll-snap-align:start;padding-bottom:28px;border-bottom:1px solid var(--linea);margin-bottom:12px}
.calendar-month-panel h3{font-size:17px;margin:0;padding:12px 0 16px;color:var(--azul-marino)}
.calendar-month-panel .visual-day{min-width:0;min-height:130px}
.calendar-month-panel .visual-days{align-items:stretch}
.visual-match--fortuna{background:#e3eff9!important}
.visual-competition{display:flex;justify-content:center;align-items:center;gap:4px;font-size:9px;color:#28557a;margin-top:5px;line-height:1.2}
.visual-competition .competition-logo{width:13px;height:13px;object-fit:contain;flex:none}
.calendar-week-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;border-top:1px solid var(--linea)}
.calendar-week-day{min-width:0;padding-top:10px}
.calendar-week-day h3{font-size:12px;color:var(--gris-texto);text-align:center;margin:0 0 14px}
.calendar-week-day h3 time{display:block;font-size:10px;font-weight:400;margin-top:6px}
.calendar-week-day .visual-match{width:100%;margin-bottom:9px}
.calendar-no-event{display:block;text-align:center;color:#53718c88;padding:30px 0}
.calendar-year-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}
.calendar-year-month{min-width:0;border-top:1px solid var(--linea);padding-top:10px}
.calendar-year-month>.text-link{display:flex;justify-content:space-between;width:100%;min-height:44px;background:transparent;border:0;padding:0;text-align:left;color:var(--azul-marino);font:650 14px var(--body);cursor:pointer}
.calendar-year-event{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:7px;align-items:center;background:transparent;border:0;border-bottom:1px solid var(--linea);border-radius:5px;width:100%;min-height:52px;padding:9px 6px;text-align:left;font:500 10px/1.5 var(--body);color:var(--azul-marino);cursor:pointer}
.calendar-year-event>time{font-size:9px;color:var(--gris-texto)}
.calendar-year-event .visual-competition{grid-column:2/4;justify-content:start;margin:0}
.calendar-year-month>p{font-size:11px;padding:8px 0}
@media(max-width:1000px){.staff-layout .staff-grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:22px}.staff-layout{grid-template-columns:185px minmax(0,1fr);gap:25px}}
@media(max-width:760px){
 .staff-layout{grid-template-columns:1fr;gap:15px}.staff-layout .staff-card--lead{position:static;justify-self:center}.staff-layout .staff-grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:20px}.staff-grid .staff-card strong{font-size:13px}
 .calendar-switches{flex-wrap:wrap;gap:12px}.calendar-view-switch{flex-shrink:0}.calendar-team-switch{flex-basis:100%;width:100%;display:flex}.calendar-team-switch button{flex:1;min-width:0;min-height:44px;font-size:11px;padding:9px 7px}
 .calendar-period-switch button{padding:10px 15px;font-size:12px}
 .calendar-month-scroll{max-height:min(620px,68vh)}
 .calendar-month-panel .visual-day{min-height:103px}
 .calendar-month-panel h3{font-size:15px;padding:10px 0}
 .calendar-month-panel .visual-match{min-height:44px;padding:7px 0}
 .visual-competition{gap:2px;font-size:7px;flex-wrap:wrap}
 .visual-competition .competition-logo{width:11px;height:11px}
 .visual-calendar-heading h2{font-size:17px}.visual-calendar-heading .icon-button{min-height:44px;width:44px}
 .calendar-scroll-help{font-size:10px;line-height:1.6}
 .calendar-week-grid{grid-template-columns:1fr;gap:0}
 .calendar-week-day{display:grid;grid-template-columns:67px minmax(0,1fr);column-gap:12px;padding:12px 0;border-bottom:1px solid var(--linea);align-items:center}
 .calendar-week-day h3{margin:0;text-align:left}
 .calendar-week-day .visual-match{display:grid;grid-template-columns:60px minmax(0,1fr) 44px;align-items:center;gap:5px;padding:9px;margin:0 0 5px;border-radius:8px;text-align:left}
 .calendar-week-day .visual-match-names{display:block;font-size:10px;line-height:1.5;margin:0;overflow-wrap:anywhere}
 .calendar-week-day .visual-match-crests{gap:2px;margin:0}
 .calendar-week-day .visual-match-crests .team-crest{width:24px;height:24px}
 .calendar-week-day .visual-competition{grid-column:2/4;justify-content:start;margin:0;font-size:9px}
 .calendar-no-event{text-align:left;padding:4px 0;font-size:12px}
 .calendar-year-grid{grid-template-columns:1fr;gap:20px}
 .calendar-year-event{font-size:12px;grid-template-columns:50px minmax(0,1fr) 43px}
 .calendar-game--fortuna{padding-inline:8px}.calendar-competition{font-size:9px}
}
@media(max-width:760px){.rankings-toolbar{align-items:flex-start;flex-direction:column;gap:16px}.ranking-competition-filter{width:100%;justify-content:space-between}.ranking-competition-filter select{min-width:0;width:calc(100% - 90px)}.news-meta{flex-wrap:wrap}}

/* Player profiles: clean portraits, compact availability and a discreet scroll rail. */
.profile-dialog.profile-dialog--modern{scrollbar-width:thin;scrollbar-color:#4db2fb88 transparent;scrollbar-gutter:stable}
.profile-dialog--modern::-webkit-scrollbar{width:8px}
.profile-dialog--modern::-webkit-scrollbar-track{background:transparent;margin-block:20px}
.profile-dialog--modern::-webkit-scrollbar-thumb{border:2px solid transparent;border-radius:20px;background:#4db2fb88;background-clip:padding-box}
.profile-dialog--modern::-webkit-scrollbar-thumb:hover{background-color:#3387bf}
.profile-portrait::before{display:none;content:none}
.profile-portrait img{border-radius:0}
.profile-title .eyebrow::before{display:none;content:none}
.profile-title h2{margin-bottom:0}
.profile-availability{margin-bottom:14px;padding-bottom:12px}
.profile-availability header{margin-bottom:6px}
.profile-availability p{margin:4px 0;line-height:1.5}
.profile-availability small{margin:5px 0}
.profile-availability .text-link{display:inline-flex;align-items:center;min-height:32px;margin:2px 12px 0 0;padding:4px 0}
.profile-news-more{display:inline-flex;align-items:center;justify-content:center;min-height:44px;margin-top:12px;padding:9px 18px;border:1px solid #4db2fb55;border-radius:8px;background:#e8f5ff;font:700 13px var(--body);cursor:pointer}
.profile-news-more:hover{background:#d9edfc}
.mini-team>span{min-width:0;overflow:visible;white-space:normal}
.mini-team .mini-team-name{display:block;overflow:visible;white-space:normal;text-overflow:clip;font-size:13px;line-height:1.35}
.mini-table-row{min-height:66px}

/* Equal news rows without the former stretched vertical gaps. */
.news-page .news-grid{grid-auto-rows:auto;gap:18px 30px}
.news-page .news-card{position:relative;display:grid;grid-template-columns:136px minmax(0,1fr);grid-template-rows:minmax(0,1fr);gap:17px;height:210px;min-height:0;padding:0 0 12px;align-items:start}
.news-page .news-image,.news-page .news-card:first-child .news-image{width:100%;height:136px;aspect-ratio:1;min-height:0;margin:0;border-radius:9px}
.news-page .news-copy{height:auto;min-height:0;display:flex;flex-direction:column}
.news-page .news-meta{gap:3px 8px;font-size:10px;line-height:1.4;flex-shrink:0;justify-content:flex-start}
.news-page .news-meta .news-author{font-size:10px;line-height:1.4;margin:0;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.news-page .news-copy h2{display:block;margin:6px 0;font-size:17px;line-height:1.35;flex-shrink:0;min-height:0}
.news-page .news-title-link{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;width:100%;line-height:inherit}
.news-page .news-excerpt{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:12px;line-height:1.5;margin:4px 0 0;flex-shrink:0}
.news-page .news-player-tags{flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;scrollbar-color:#4db2fb66 transparent;margin:7px 0 0;gap:5px;flex-shrink:0;max-width:100%}
.news-page .news-player-tags button{white-space:nowrap;flex-shrink:0;min-height:30px}
.news-page .news-read{position:absolute;left:0;bottom:12px;min-height:38px;margin:0;padding:7px 0;font-size:12px}

/* Compact staff directory; every member remains visible. */
.staff-layout{grid-template-columns:155px minmax(0,1fr);gap:28px}
.staff-layout .staff-card--lead{gap:10px;padding:0;position:static}
.staff-layout .staff-photo{width:104px;height:104px}
.staff-layout .staff-card--lead strong{font-size:18px}
.staff-layout .staff-card--lead small{font-size:12px}
.staff-layout .staff-grid{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:22px}
.staff-grid .staff-card{padding:7px 0;min-height:44px}
.staff-grid .staff-card strong{font-size:12px;line-height:1.3}
.staff-grid .staff-card small{font-size:10px;line-height:1.4;margin-top:2px}

/* Rankings: leader summaries and an ordered, compact comparison board. */
.rankings-page{max-width:1160px}
.rankings-page .page-header{margin-bottom:16px}
.rankings-toolbar{margin-bottom:22px}
.rankings-intro{font-size:14px;line-height:1.5;color:var(--gris-texto)}
.rankings-metric-tabs{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-bottom:28px}
.rankings-metric-tab{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:10px;min-width:0;min-height:148px;padding:16px 14px;border:1px solid #c8e5fa;border-radius:12px;background:#f5fbff;color:var(--azul-marino);text-align:left;font-family:var(--body);cursor:pointer;transition:background .15s,border-color .15s}
.rankings-metric-tab:hover{background:#e1f1fd;border-color:#4db2fb}
.rankings-metric-tab[aria-selected=true]{background:#002952;color:white;border-color:#002952}
.rankings-metric-tab[aria-selected=true]::after{position:absolute;bottom:0;left:14px;right:14px;height:3px;border-radius:3px 3px 0 0;background:#4db2fb;content:''}
.rankings-metric-label{min-height:36px;font-size:14px;line-height:1.35;font-weight:700}
.rankings-metric-number{font:750 28px/1 var(--display);font-variant-numeric:tabular-nums}
.rankings-metric-leader{display:flex;align-items:center;gap:7px;min-width:0;width:100%;margin-top:auto;color:#53718c;font-size:12px;line-height:1.35}
.rankings-metric-leader img{width:28px;height:28px;border-radius:50%;background:#e1f1fd;object-fit:cover;flex:none}
.rankings-metric-leader>span{min-width:0;overflow-wrap:anywhere}
.rankings-metric-tab[aria-selected=true] .rankings-metric-leader{color:#d9edfc}
.rank-board-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}
.rank-board-heading h2{margin:0;font:750 24px/1.3 var(--display)}
.rank-board-heading>span{font-size:12px;color:var(--gris-texto)}
.rank-board-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px;list-style:none;margin:0;padding:0}
.rank-board-entry{min-width:0;border:1px solid #d9edfc;border-radius:11px;background:#f5fbff80}
.rank-board-row{display:grid;grid-template-columns:25px 52px minmax(0,1fr) auto 14px;align-items:center;gap:12px;width:100%;min-height:86px;padding:13px 16px;border:0;border-radius:10px;background:none;color:var(--azul-marino);text-align:left;font-family:var(--body);cursor:pointer}
.rank-board-row:hover{background:#e1f1fd}
.rank-board-place{font:650 14px/1 var(--display);color:#53718c;font-variant-numeric:tabular-nums}
.rank-board-row>img{width:52px;height:52px;border-radius:50%;object-fit:cover;background:#e1f1fd}
.rank-board-player{min-width:0}
.rank-board-player>strong{display:block;font:700 16px/1.3 var(--display);overflow-wrap:anywhere}
.rank-board-bar{display:block;width:100%;max-width:150px;height:3px;margin-top:10px;border-radius:3px;background:#d9edfc}
.rank-board-bar>span{display:block;height:100%;border-radius:inherit;background:#4db2fb}
.rank-board-value{min-width:40px;text-align:right;font-variant-numeric:tabular-nums}
.rank-board-value>strong{display:block;font:750 26px/1.15 var(--display)}
.rank-board-value--split{max-width:135px}
.rank-board-value small{display:block;margin-top:5px;font-size:10px;line-height:1.4;color:#53718c}
.rank-board-row>svg{width:14px;height:14px;color:#53718c}
.rank-board-entry--leader{background:#d9edfc;border-color:#4db2fb77}
.rank-board-entry--leader .rank-board-place{color:#005d9c}
.rank-board-entry--leader .rank-board-value>strong{color:#005d9c}
.rank-board-empty{padding:30px 22px;border:1px dashed #a9d5f5;border-radius:12px;color:var(--gris-texto)}
.rank-board-empty h3{font-size:18px;color:var(--azul-marino);margin:0 0 8px}
.rank-board-empty p{font-size:14px;margin:0;line-height:1.6}
.rankings-provenance{margin-top:24px;padding-top:16px;border-top:1px solid var(--linea);font-size:11px;color:var(--gris-texto);line-height:1.6}
.rankings-provenance p{margin:0 0 5px}
.rankings-provenance>div{display:flex;flex-wrap:wrap;column-gap:18px}
.rankings-provenance .text-link{display:inline-flex;align-items:center;gap:4px;min-height:36px;margin:0;font-size:11px}
.rankings-provenance svg{width:12px;height:12px}
.rankings-metric-tab:focus-visible,.rank-board-row:focus-visible,.profile-news-more:focus-visible{outline:3px solid #4db2fb;outline-offset:3px}
@media(max-width:1050px){
 .rankings-metric-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}
 .rankings-metric-tab{min-height:124px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px}
 .rankings-metric-label{min-height:0;align-self:center;font-size:14px}
 .rankings-metric-leader{grid-column:1/-1}
 .staff-layout .staff-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
 .profile-portrait img{border-radius:0}
 .profile-title .eyebrow{font-size:10px;letter-spacing:.5px}
 .mini-team .mini-team-name{font-size:13px}
 .news-page .news-grid{grid-template-columns:1fr;gap:16px}
 .news-page .news-card{grid-template-columns:96px minmax(0,1fr);gap:13px;height:224px;padding-bottom:12px}
 .news-page .news-image,.news-page .news-card:first-child .news-image{height:96px;margin:0;aspect-ratio:1}
 .news-page .news-copy h2{font-size:16px;line-height:1.35;margin:5px 0}
 .news-page .news-excerpt{font-size:12px}
 .news-page .news-read{min-height:44px}
 .news-page .news-player-tags button{min-height:36px;font-size:11px}
 .staff-layout{grid-template-columns:1fr;gap:15px}
 .staff-layout .staff-card--lead{flex-direction:row;text-align:left;justify-self:start;gap:14px}
 .staff-layout .staff-photo{width:80px;height:80px}
 .staff-layout .staff-card--lead strong{font-size:18px}
 .staff-layout .staff-grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:18px}
 .staff-grid .staff-card{min-height:48px}
 .rankings-toolbar{gap:14px;margin-bottom:18px}
 .rankings-intro{font-size:13px}
 .ranking-competition-filter{font-size:12px}
 .rankings-metric-tabs{gap:7px;margin-bottom:22px}
 .rankings-metric-tab{display:flex;min-height:118px;gap:6px;padding:12px 10px;border-radius:10px}
 .rankings-metric-label{align-self:start;min-height:34px;font-size:12px}
 .rankings-metric-number{font-size:25px}
 .rankings-metric-leader{display:block;font-size:12px}
 .rankings-metric-leader img{display:none}
 .rankings-metric-leader>span{display:block;overflow-wrap:normal}
 .rankings-metric-tab[aria-selected=true]::after{left:10px;right:10px}
 .rank-board-heading h2{font-size:21px}
 .rank-board-order{display:none}
 .rank-board-list{grid-template-columns:1fr;gap:8px}
 .rank-board-row{grid-template-columns:22px 44px minmax(0,1fr) auto;min-height:76px;padding:11px 12px;gap:9px}
 .rank-board-row>img{width:44px;height:44px}
 .rank-board-player>strong{font-size:15px}
 .rank-board-row>svg{display:none}
 .rank-board-place{font-size:13px}
 .rank-board-value>strong{font-size:23px}
 .rank-board-value--split{max-width:92px}
 .rank-board-value small{font-size:10px}
 .rank-board-bar{margin-top:8px;max-width:115px}
 .rankings-provenance{margin-top:20px}
}
@media(prefers-reduced-motion:reduce){.rankings-metric-tab{transition:none}}

/* Historical shirt archive: paired season plates, equal image canvases. */
.kits-page{padding-top:28px}
.service-connection{margin:0;padding:12px 24px;background:#fff4dc;color:var(--azul-marino);font-size:14px;line-height:1.5;text-align:center}
.home-data-note{padding-top:14px;padding-bottom:14px;margin-top:0;margin-bottom:0;color:var(--gris-texto);font-size:14px;line-height:1.5}
.kit-page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:20px}
.kit-page-heading h1{font-size:clamp(32px,4vw,40px);line-height:1.15;margin:8px 0 10px;letter-spacing:-1.4px}
.kit-intro{font-size:16px;line-height:1.6;color:var(--gris-texto);margin:0}
.kit-decades{display:flex;gap:6px;overflow:auto;padding:8px 0 12px;position:sticky;top:var(--header-height,76px);z-index:10;background:var(--fondo,#f5fbff);border-bottom:1px solid var(--linea);scrollbar-width:none;margin-bottom:28px}
.kit-decades::-webkit-scrollbar{display:none}
.kit-decades button{font:inherit;font-size:14px;font-weight:650;min-width:72px;min-height:42px;padding:8px 14px;border:0;border-radius:6px;background:transparent;color:var(--gris-texto);cursor:pointer}
.kit-decades button:hover{background:var(--celeste-claro,#e0f2ff)}
.kit-decades button[aria-pressed=true]{background:var(--azul-marino);color:white}
.kit-decade{scroll-margin-top:calc(var(--header-height,76px) + 88px);margin-bottom:46px}
.kit-decade-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}
.kit-decade-heading h2{font-size:22px;letter-spacing:-.5px;margin:0}
.kit-decade-heading>span{font-size:13px;color:var(--gris-texto)}
.kit-seasons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.kit-season{border:1px solid var(--linea);border-radius:12px;overflow:hidden;background:white}
.kit-season-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:15px 18px;border-bottom:1px solid var(--linea)}
.kit-season-heading h3{font-size:20px;line-height:1.2;letter-spacing:-.6px;margin:0}
.kit-season-heading>span{font-size:13px;color:var(--gris-texto)}
.kit-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:16px 12px 20px;gap:8px}
.kit-item{min-width:0;margin:0;text-align:center}
.kit-image-button{display:block;position:relative;width:100%;padding:0;border:0;background:#f0f7fc;cursor:zoom-in;border-radius:8px;color:var(--azul-marino);overflow:hidden}
.kit-image-frame{display:block;aspect-ratio:6/7;overflow:hidden;position:relative}
.kit-image-frame img{width:100%;height:100%;object-fit:contain;transform:scale(var(--kit-scale,1));transition:transform .2s}
.kit-expand{position:absolute;right:8px;bottom:8px;padding:6px 8px;font-size:12px;line-height:1;border-radius:4px;background:#f1f7fbec;opacity:0;transition:opacity .2s}
.kit-image-button:hover .kit-expand,.kit-image-button:focus-visible .kit-expand{opacity:1}
.kit-item figcaption{padding:14px 0 0;font-size:14px;font-weight:650}
.kit-image-kind{display:block;font-size:12px;line-height:1.4;font-weight:400;color:var(--gris-texto);margin-top:7px}
.kit-image-missing{display:flex;align-items:center;justify-content:center;border:1px dashed var(--linea);background:#f9fcff;border-radius:6px}
.kit-image-missing p{max-width:130px;padding:8px;color:var(--gris-texto);font-size:13px;line-height:1.6;font-weight:400}
.kit-coverage{font-size:14px;line-height:1.7;color:var(--gris-texto);max-width:870px;margin:0 0 18px}
.kit-decade-note{font-size:14px;line-height:1.6;color:var(--gris-texto);margin:0 0 18px}
.kit-documentation{border-top:1px solid var(--linea);padding-top:20px;color:var(--gris-texto);font-size:14px;line-height:1.7}
.kit-documentation summary{cursor:pointer;color:var(--azul-marino);font-weight:650;min-height:44px;display:list-item;align-content:center}
.kit-documentation p{margin:12px 0}
.kit-type{display:inline-flex;align-items:center;gap:7px}
.kit-type:before{content:'';width:6px;height:6px;border-radius:50%;background:#4db2fb}
.kit-type.away:before{background:#002952}
.kit-source-note{font-size:12px;line-height:1.6;color:var(--gris-texto);border-top:1px solid var(--linea);padding-top:20px;margin-top:40px}
.kit-lightbox{width:min(960px,calc(100% - 32px));max-height:calc(100dvh - 40px);padding:0;border:0;border-radius:14px;background:white;color:var(--azul-marino);box-shadow:0 20px 80px #00295250;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#4db2fb7a transparent}
.kit-lightbox::backdrop{background:#001e3acc;backdrop-filter:blur(5px)}
.kit-lightbox>header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px;border-bottom:1px solid var(--linea)}
.kit-lightbox h2{font-size:20px;margin:0 0 6px;line-height:1.4}
.kit-lightbox header p{font-size:12px;color:var(--gris-texto);margin:0}
.kit-lightbox-close{border:0;background:var(--celeste-claro);color:var(--azul-marino);font:inherit;font-size:28px;line-height:1;width:44px;height:44px;flex:none;border-radius:50%;cursor:pointer}
.kit-lightbox-image{height:min(75dvh,800px);display:flex;align-items:center;justify-content:center;padding:20px}
.kit-lightbox-image img{max-width:100%;max-height:100%;object-fit:contain}
.kit-lightbox-attribution{font-size:12px;line-height:1.6;color:var(--gris-texto);margin:0;padding:0 24px 16px}
.kit-lightbox-note{font-size:14px;line-height:1.6;color:var(--gris-texto);margin:0 24px 20px;padding:12px 16px;background:#f0f7fc;border-radius:8px}
@media(max-width:1179px){.kit-seasons{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.kit-season-heading{padding:16px}}
@media(max-width:760px){
 .kits-page{padding-top:22px}.kit-page-heading{align-items:flex-start;gap:16px;margin-bottom:14px}.kit-intro{max-width:none}
 .kit-decades{margin-bottom:20px;padding-top:8px}.kit-decades button{min-width:65px;padding-inline:12px}
 .kit-seasons{grid-template-columns:1fr;gap:20px}.kit-decade-heading{margin-bottom:12px}.kit-decade-heading h2{font-size:20px}.kit-season-heading{padding:15px 18px}
 .kit-pair{padding:12px 8px 20px;gap:4px}.kit-item figcaption{font-size:14px}.kit-expand{display:none}
 .kit-lightbox{width:calc(100% - 20px);max-height:calc(100dvh - 24px)}.kit-lightbox>header{padding:16px}.kit-lightbox h2{font-size:17px}.kit-lightbox-image{height:65dvh;padding:10px}
 .primary-nav a{font-size:14px}
}
@media(prefers-reduced-motion:reduce){.kit-image-frame img,.kit-expand{transition:none}}

/* Match view and team controls are text tabs on the page itself. */
.calendar-page .calendar-view-switch,.calendar-page .calendar-team-switch{background:transparent;border:0;border-radius:0;padding:0;gap:8px}
.calendar-page .calendar-view-switch button,.calendar-page .calendar-team-switch button{background:transparent;border:0;border-bottom:2px solid transparent;border-radius:0;color:var(--gris-texto);min-height:44px;padding:10px 13px}
.calendar-page .calendar-view-switch button[aria-pressed=true],.calendar-page .calendar-team-switch button[aria-pressed=true]{background:transparent;color:var(--azul-marino);border-bottom-color:#4db2fb}
.calendar-page .calendar-view-switch button:hover,.calendar-page .calendar-team-switch button:hover{color:#005d9c}
#tab-hypermotion[aria-selected=true] .competition-tab-icon{filter:none}
.calendar-year-event{grid-template-columns:44px 24px minmax(0,1fr) auto}
.calendar-year-event>.team-crest{width:24px;height:28px;flex-basis:24px}
.calendar-year-event .visual-competition{grid-column:3/5}
.calendar-page .visual-match-crests{justify-content:center}
.calendar-page .visual-match-crests .team-crest{width:28px;height:32px;flex-basis:28px}
.match-events{grid-column:1/-1;min-width:0;width:100%;color:var(--azul-marino)}
.match-events>summary{display:flex;align-items:center;justify-content:center;gap:8px;list-style:none;cursor:pointer;min-height:44px;font-size:12px;font-weight:700;color:#005d9c;width:fit-content;margin:0 auto;padding:8px 12px;border-radius:4px}
.match-events>summary::-webkit-details-marker{display:none}
.match-events>summary:hover{color:var(--azul-marino)}
.match-events>summary:focus-visible{outline:2px solid #4db2fb;outline-offset:2px}
.match-events>summary svg{width:15px;height:15px;transition:transform .18s}
.match-events[open]>summary svg{transform:rotate(90deg)}
.match-events-content{max-width:760px;margin:8px auto 0;padding:16px 24px 12px;background:#eaf5ff;border-radius:10px}
.match-event-list{list-style:none;margin:0;padding:0}
.match-event-period{font-size:11px;font-weight:700;color:var(--gris-texto);padding:13px 0 8px;border-bottom:1px solid var(--linea)}
.match-event-period:first-child{padding-top:0}
.match-event{display:grid;grid-template-columns:49px 24px minmax(0,1fr) 45px;align-items:start;gap:12px;padding:13px 0;border-bottom:1px solid var(--linea)}
.match-event:last-child{border-bottom:0}
.match-event>time{font-size:13px;font-weight:750;padding-top:1px;font-variant-numeric:tabular-nums}
.match-event-symbol{display:flex;align-items:center;justify-content:center;min-height:22px}
.match-event-symbol svg{width:19px;height:19px}
.match-event-card{display:block;width:11px;height:16px;border-radius:2px;background:#dfa522;transform:rotate(-8deg)}
.match-event-card--red{background:#cd405b}
.match-event-card--second-yellow{background:#cd405b;box-shadow:-4px -3px 0 #dfa522}
.match-event-label{display:flex;align-items:baseline;justify-content:space-between;gap:12px;font-size:12px;font-weight:650}
.match-event-label small{font-size:10px;font-weight:500;color:var(--gris-texto);text-align:right}
.match-event-people{display:flex;flex-wrap:wrap;column-gap:14px;row-gap:3px;margin-top:4px;font-size:13px;line-height:1.5}
.match-event-people>span{font-size:11px;color:var(--gris-texto)}
.match-event-people .match-event-in{color:#137d6d}
.match-event-score{font-size:15px;text-align:right;font-variant-numeric:tabular-nums;padding-top:2px}
.match-events-note,.match-events-source{font-size:11px;line-height:1.6;color:var(--gris-texto)}
.match-events-note{margin:0 0 12px}.match-events-source{margin:12px 0 0;text-align:right}
@media(max-width:760px){
 .calendar-page .calendar-view-switch,.calendar-page .calendar-team-switch{gap:5px}
 .calendar-page .calendar-view-switch button,.calendar-page .calendar-team-switch button{padding-inline:9px}
 .calendar-page .visual-match-crests .team-crest{width:25px;height:29px;flex-basis:25px}
 .calendar-year-event{grid-template-columns:38px 24px minmax(0,1fr) 40px;gap:6px}
 .match-events-content{padding:14px 12px 10px;margin-top:4px}
 .match-event{grid-template-columns:40px 19px minmax(0,1fr) 35px;gap:7px;padding:12px 0}
 .match-event-label{display:block;font-size:11px}.match-event-label small{display:block;text-align:left;margin-top:1px}
 .match-event-people{font-size:12px;display:flex;flex-direction:column;gap:2px}
 .match-event>time,.match-event-score{font-size:12px}
}
@media(prefers-reduced-motion:reduce){.match-events>summary svg{transition:none}}

/* Editorial news: one lead story, followed by a compact chronological edition. */
.news-page--editorial .page-header{margin-bottom:18px}
.news-page--editorial .news-toolbar{display:grid;grid-template-columns:1fr minmax(290px,410px);align-items:center;gap:28px;margin-bottom:18px}
.news-page--editorial .news-search-field{min-width:0;flex-basis:auto}
.news-page--editorial .news-search-field .search-control{background:#fff;border-color:#dceaf3;border-radius:8px}
.news-page--editorial .news-list-heading{padding-bottom:18px;margin-bottom:24px;border-bottom:1px solid #dceaf3;gap:12px 20px}
.news-list-filters{display:flex;align-items:center;flex-wrap:wrap;gap:12px 18px;min-width:0}
.news-list-filters .select-control{min-height:44px;background-color:transparent;border-color:#dceaf3;border-radius:7px;font-size:12px;max-width:100%}
.news-page--editorial .news-search-count{margin:0;font-size:11px}
.news-editorial{min-width:0}
.news-story{min-width:0;display:flex;flex-direction:column;border:0;border-bottom:1px solid #dceaf3;padding:0 0 14px;margin:0;background:transparent}
.news-story-cover{position:relative;display:block;flex:none;width:100%;aspect-ratio:16/10;overflow:hidden;border:0;border-radius:10px;padding:0;background:#e5f2fc;cursor:pointer;isolation:isolate}
.news-story-fallback{position:absolute;inset:0;display:grid;place-items:center;background:linear-gradient(135deg,#e3f2ff,#f4faff)}
.news-story-fallback img{width:68px;height:36px;opacity:.28;object-fit:contain}
.news-story-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.news-story-cover:hover .news-story-photo{transform:scale(1.035)}
.news-story-cover:focus-visible,.news-story-read:focus-visible{outline:3px solid #4db2fb;outline-offset:4px}
.news-story-body{min-width:0;display:flex;flex:1;flex-direction:column;padding-top:17px}
.news-story-meta{display:flex;align-items:baseline;flex-wrap:wrap;gap:5px 12px;font-size:11px;line-height:1.5;color:#58718a}
.news-story-meta strong{color:#005d9c;font-weight:700}
.news-story-meta time{white-space:nowrap}
.news-story h2,.news-story h3{margin:9px 0 0;color:var(--azul-marino);font-size:19px;line-height:1.35;font-weight:750;letter-spacing:-.025em}
.news-story .news-title-link{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;width:100%;line-height:inherit;letter-spacing:inherit}
.news-story-excerpt{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:10px 0 0;font-size:13px;line-height:1.65;color:#58718a}
.news-story-author{margin:12px 0 0;font-size:11px;color:#58718a}
.news-story-bottom{display:flex;align-items:flex-start;flex-direction:column;gap:4px;margin-top:auto;padding-top:12px}
.news-story .news-player-tags{margin:0;gap:5px;flex-wrap:wrap;overflow:visible}
.news-story .news-player-tags button{min-height:30px;padding:4px 8px;background:#e8f4fe;font-size:10px;font-weight:600;border-radius:4px}
.news-story-read{min-height:44px;padding:7px 0;border:0;background:transparent;font-size:12px;justify-content:flex-start;cursor:pointer;gap:8px}
.news-story-read svg{width:16px;height:16px;transition:transform .2s}
.news-story-read:hover svg{transform:translateX(3px)}
.news-story--featured{display:grid;grid-template-columns:1.18fr 1fr;align-items:stretch;padding:0;border:1px solid #dceaf3;border-radius:14px;overflow:hidden;background:#fff;box-shadow:0 4px 22px #00295204}
.news-story--featured .news-story-cover{height:100%;min-height:340px;aspect-ratio:auto;border-radius:0}
.news-story--featured .news-story-body{padding:30px 32px 22px}
.news-story-kicker{display:flex;align-items:center;gap:8px;margin:0 0 20px;color:#005d9c;font-size:10px;font-weight:750;letter-spacing:.12em;text-transform:uppercase}
.news-story-kicker span{width:6px;height:6px;border-radius:50%;background:#4db2fb}
.news-story--featured h2{font-size:clamp(26px,2.4vw,33px);line-height:1.17;letter-spacing:-.04em;margin-top:12px}
.news-story--featured .news-title-link{display:block;-webkit-line-clamp:unset;overflow:visible}
.news-story--featured .news-story-excerpt{-webkit-line-clamp:3;font-size:14px;margin-top:16px;line-height:1.7}
.news-story--featured .news-story-bottom{padding-top:20px}
.news-story--featured .news-story-read{font-size:13px;min-height:44px}
.news-stream{margin-top:38px}
.news-stream-heading{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding-bottom:17px;margin-bottom:23px;border-bottom:1px solid #dceaf3}
.news-stream-heading h2{font-size:21px;font-weight:750;letter-spacing:-.03em;margin:0}
.news-stream-heading>span{font-size:11px;color:#58718a}
.news-story-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 26px;align-items:stretch}
.news-page--editorial .load-more-wrap{display:flex;flex-direction:column;align-items:center;gap:12px;margin-top:30px}
.news-progress{font-size:11px;color:#58718a;margin:0}
.news-page--editorial #load-more{border-radius:7px;min-height:46px;gap:18px;padding-inline:26px;font-size:12px}
.news-page--editorial #load-more svg{width:16px;height:16px;transform:rotate(90deg)}
@media(min-width:761px) and (max-width:1050px){
 .news-story--featured{grid-template-columns:1fr 1fr}
 .news-story--featured .news-story-body{padding:24px}
 .news-story--featured h2{font-size:27px}
 .news-story-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
 .news-page--editorial .news-toolbar{grid-template-columns:1fr;gap:0;margin-bottom:16px}
 .news-page--editorial .news-editorial-note{display:none}
 .news-page--editorial .news-list-heading .news-search-count{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
 .news-page--editorial .news-list-heading{gap:6px 16px;padding-bottom:14px;margin-bottom:20px;align-items:center}
 .news-list-filters{gap:10px 13px;flex:1}
 .news-list-filters .select-control{font-size:12px;max-width:200px}
 .news-page--editorial .news-alert-button{font-size:11px}
 .news-story--featured{display:flex;border-radius:12px}
 .news-story--featured .news-story-cover{min-height:0;aspect-ratio:16/9;height:auto}
 .news-story--featured .news-story-body{padding:21px 20px 15px}
 .news-story-kicker{margin-bottom:14px;font-size:9px}
 .news-story--featured h2{font-size:25px;line-height:1.22;letter-spacing:-.035em;margin-top:10px}
 .news-story--featured .news-story-excerpt{font-size:13px;line-height:1.65;margin-top:12px;-webkit-line-clamp:3}
 .news-story--featured .news-story-bottom{padding-top:12px}
 .news-stream{margin-top:28px}
 .news-stream-heading{margin-bottom:0;padding-bottom:14px;align-items:center}
 .news-stream-heading h2{font-size:20px}
 .news-stream-heading>span{font-size:10px;text-align:right;max-width:110px}
 .news-story-grid{grid-template-columns:1fr;gap:0}
 .news-story-grid .news-story{display:grid;grid-template-columns:minmax(0,1fr) 100px;gap:18px;padding:22px 0 17px;align-items:start}
 .news-story-grid .news-story-cover{grid-column:2;grid-row:1;aspect-ratio:1;border-radius:8px}
 .news-story-grid .news-story-body{grid-column:1;grid-row:1;padding:0}
 .news-story-grid h3{font-size:16px;line-height:1.4;margin-top:7px;letter-spacing:-.02em}
 .news-story-grid .news-title-link{-webkit-line-clamp:4}
 .news-story-grid .news-story-excerpt,.news-story-grid .news-player-tags{display:none}
 .news-story-grid .news-story-meta{gap:3px 9px;font-size:11px}
 .news-story-grid .news-story-bottom{padding-top:7px}
 .news-story-grid .news-story-read{min-height:44px;font-size:11px}
 .news-page--editorial .load-more-wrap{margin-top:24px}
}
@media(max-width:360px){.news-story-grid .news-story{grid-template-columns:minmax(0,1fr) 84px;gap:12px}.news-story--featured h2{font-size:23px}.news-story--featured .news-story-body{padding-inline:17px}}
@media(prefers-reduced-motion:reduce){.news-story-photo,.news-story-read svg{transition:none}}

.calendar-match-time{display:inline-flex;align-items:center;justify-content:center;gap:5px;max-width:100%;white-space:nowrap;font-variant-numeric:tabular-nums}
.calendar-ground{display:inline-flex;align-items:center;justify-content:center;flex:none;width:15px;height:15px;color:#58718a}
.calendar-ground--home{color:#00679e}
.calendar-ground svg{width:15px;height:15px}
.calendar-ground-legend{display:flex;align-items:center;justify-content:center;gap:22px;margin:0 0 15px;font-size:11px;line-height:1.5;color:#58718a}
.calendar-ground-legend>span{display:inline-flex;align-items:center;gap:6px}
.calendar-ground-legend svg{width:14px;height:14px}
.calendar-ground-legend>span:first-child svg{color:#00679e}
.calendar-year-event .calendar-match-time{justify-content:flex-end}
@media(max-width:760px){
 .calendar-match-time{gap:3px}
 .calendar-ground,.calendar-ground svg{width:12px;height:12px}
 .calendar-ground-legend{font-size:10px;gap:20px;margin-bottom:12px}
 .calendar-week-day .visual-match{grid-template-columns:52px minmax(0,1fr) 54px}
 .calendar-week-day .calendar-match-time{justify-content:flex-end}
 .calendar-year-event{grid-template-columns:38px 24px minmax(0,1fr) 54px}
}

/* Supplied nautical emblem: preserve the original artwork and frame it consistently. */
.site-header .brand{gap:9px}
.brand-isotype{width:36px;aspect-ratio:909/1116;overflow:visible}
.site-header .brand-isotype img{position:static;width:100%;height:100%;max-width:100%;object-fit:contain;transform:none}
.footer-brand .footer-emblem{width:52px;height:64px;flex:0 0 52px;mix-blend-mode:normal}
.rankings-page::before,.social-page::before{background-image:url('./assets/brand/emblem.svg');aspect-ratio:909/1116}
.calendar-page .calendar-crest-art{width:100%;height:100%;max-width:100%;max-height:100%;flex:none;overflow:hidden}
.calendar-page .visual-match .team-crest--calendar img{width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain}
.calendar-ground svg{stroke-width:1.65}
.calendar-ground--home svg{width:16px;height:16px}
@media(max-width:760px){.brand-isotype{width:32px}.calendar-ground--home svg{width:13px;height:13px}}

.broadcast-channel{display:flex;flex-direction:column;align-items:center;gap:4px;max-width:120px;font-size:11px;line-height:1.35;text-align:center;color:var(--azul-marino)}
.broadcast-channel small{font-size:9px;color:var(--gris-texto)}

/* Preserve the operator mark as a compact black silhouette without a tile. */
.broadcast-channel:has(.broadcast-logo[src*="movistarplus.es"]) .broadcast-logo{width:58px;height:23px;padding:0;object-fit:contain;background:transparent;border-radius:0;filter:brightness(0);opacity:1}

/* Shared navigation and compact home news. */
.site-header .language-switch{border:0;background:transparent;padding:0;box-shadow:none;gap:4px}
.home-news-more{display:flex;justify-content:flex-end;margin-top:16px}
.home-news .news-feature:last-of-type{margin-bottom:0;padding-bottom:0}
.mobile-shortcuts svg{stroke-width:1.65}
.calendar-ground svg,.calendar-ground--home svg{width:15px;height:15px}
@media(max-width:760px){.home-content.wrap{padding-top:18px}.home-news-more{justify-content:center;margin-top:12px}.calendar-ground svg,.calendar-ground--home svg{width:13px;height:13px}.broadcast-channel:has(.broadcast-logo[src*="movistarplus.es"]) .broadcast-logo{width:50px;height:20px}}

.home-news .news-feature{margin-bottom:0;padding-bottom:0}.home-news .news-feature + .news-feature{margin-top:16px;padding-top:16px}


/* Breadcrumbs reflect the page hierarchy and remain small on narrow screens. */
.breadcrumbs{margin:0 0 14px;color:var(--gris-texto);font-size:11px;line-height:1.5;min-width:0}
.breadcrumbs ol{display:flex;align-items:center;gap:7px;margin:0;padding:0;list-style:none;min-width:0}
.breadcrumbs li{display:flex;align-items:center;gap:7px;min-width:0}
.breadcrumbs li+li::before{content:'›';color:#6996b3;flex:none}
.breadcrumbs a{color:#53718c;text-decoration:none;white-space:nowrap;padding-block:4px}
.breadcrumbs a:hover{text-decoration:underline;color:#005d9c}
.breadcrumbs [aria-current]{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:40ch;color:var(--azul-marino)}
.profile-dialog>.breadcrumbs,.article-dialog>.breadcrumbs{padding:14px 55px 12px 22px;margin:0;background:#f5fbff}
.calendar-filter-disclosure>summary,.team-label-short{display:none}
.calendar-filter-disclosure{min-width:0}
@media(min-width:761px){.calendar-filter-disclosure:not([open])>.calendar-filters{display:flex}}
@media(max-width:760px){
 .breadcrumbs{font-size:10px;margin-bottom:8px}
 .breadcrumbs a{padding-block:3px}
 .breadcrumbs [aria-current]{max-width:24ch}
 .home-content .home-grid{gap:18px}
 .home-news-more{margin-top:0;justify-content:flex-end}
 .home-news-more .text-link{padding-block:0;min-height:36px;font-size:11px}
 .home-video .section-heading{margin-bottom:10px;min-width:0}
 .home-video .section-heading>div{min-width:0;max-width:100%;width:100%}
 .home-video .section-heading h2.video-heading{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:10px;line-height:1.5;letter-spacing:.45px;max-width:100%}
 .home-video .video-heading::before{display:inline-block;vertical-align:middle;margin-right:6px;width:12px}
 .calendar-page{padding-top:16px}
 .calendar-page .page-header{display:flex;flex-direction:row;align-items:baseline;gap:12px;margin-bottom:12px}
 .calendar-page .page-header .updated{font-size:9px;white-space:nowrap;margin:0}
 .calendar-page .calendar-switches{display:flex;flex-wrap:nowrap;align-items:center;gap:10px;margin-bottom:8px}
 .calendar-page .calendar-view-switch{width:auto;flex:none;gap:1px}
 .calendar-page .calendar-view-switch button{padding:8px 6px;font-size:10px;min-height:40px;gap:4px}
 .calendar-page .calendar-team-switch{flex:1;flex-basis:auto;width:auto;gap:0;min-width:0}
 .calendar-page .calendar-team-switch button{flex:1;padding:8px 4px;font-size:10px;min-height:40px}
 .calendar-page .team-label-full{display:none}.calendar-page .team-label-short{display:inline}
 .calendar-timezone-note{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%)}
 .calendar-page .calendar-tools{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 10px;padding-bottom:6px;margin-bottom:10px}
 .calendar-tabs{gap:14px;min-width:0}
 .calendar-tabs button{font-size:12px;min-height:40px;padding:8px 0}
 .calendar-tabs button span{font-size:9px;margin-left:3px}
 .calendar-filter-disclosure{position:relative;flex:none}
 .calendar-filter-disclosure>summary{display:flex;align-items:center;gap:4px;list-style:none;min-height:40px;font-size:10px;cursor:pointer;padding:6px 0;color:#005d9c}
 .calendar-filter-disclosure>summary::-webkit-details-marker{display:none}
 .calendar-filter-disclosure>summary svg{width:13px;height:13px}
 .calendar-filter-disclosure[open]{flex-basis:100%}
 .calendar-filter-disclosure[open]>summary{justify-content:flex-end}
 .calendar-filter-disclosure .calendar-filters{padding:0 0 6px;gap:6px}
 .calendar-filters .select-control{padding:8px 25px 8px 8px;min-height:38px;font-size:10px}
 .filter-active-dot{width:5px;height:5px;background:#4db2fb;border-radius:50%}
 .calendar-month{font-size:15px;margin:18px 0 2px}
 .calendar-page .calendar-game,.calendar-page .calendar-game.calendar-game--played{grid-template-columns:minmax(0,1fr) 65px;gap:4px 8px;padding:10px 0;row-gap:4px}
 .calendar-page .calendar-date{gap:7px;min-height:20px}
 .calendar-page .calendar-date strong{font-size:10px}.calendar-page .calendar-date small{font-size:9px}
 .calendar-page .calendar-status{min-height:20px;gap:4px}
 .calendar-page .calendar-match,.calendar-page .calendar-game--played .calendar-match{padding:2px 0}
 .calendar-page .calendar-teams{grid-template-columns:minmax(0,1fr) 56px minmax(0,1fr);gap:5px}
 .calendar-page .calendar-team{font-size:12px;line-height:1.25;gap:5px}
 .calendar-page .calendar-team .team-crest{width:24px;height:27px;flex-basis:24px}
 .calendar-page .calendar-score{font-size:19px;line-height:1.2}
 .calendar-page .calendar-score small{font-size:8px;margin-top:2px}
 .calendar-page .calendar-venue,.calendar-page .calendar-game--played .calendar-venue{font-size:9px;margin-top:5px;padding-inline:18px}
 .calendar-page .broadcast-logo{max-width:60px;height:19px}
 .calendar-page .broadcast-channel:has(.broadcast-logo[src*="movistarplus.es"]) .broadcast-logo{width:45px;height:18px}
 .calendar-page .match-summary-action{min-height:0;margin:2px 0 0}
 .calendar-page .summary-toggle{min-height:34px;padding:4px 0;font-size:11px}
 .calendar-page .match-summary-pending{font-size:9px;margin:4px 0 0}
 .calendar-page .match-events>summary{min-height:34px;padding:5px 8px;font-size:10px}
 .calendar-page .visual-calendar-heading{margin:5px 0 6px}
 .calendar-page .calendar-scroll-help{display:none}
 .calendar-page .calendar-period-tools{margin-top:0;margin-bottom:4px}
 .calendar-page .calendar-ground-legend{margin-bottom:7px}
 .news-page--editorial{padding-top:16px}
 .news-page--editorial .page-header{display:grid;grid-template-columns:1fr auto;gap:3px 10px;align-items:center;margin-bottom:12px}
 .news-page--editorial .page-header>div{grid-column:1;grid-row:1}
 .news-page--editorial .page-header>.updated{grid-column:1;grid-row:2;margin:0;font-size:9px}
 .news-page--editorial .page-header>.news-alert-button{grid-column:2;grid-row:1/3;display:inline-flex;align-items:center;gap:5px;min-height:40px;margin:0;font-size:10px;padding:6px 0}
 .news-page--editorial .page-header>.news-alert-button span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
 .news-page--editorial .page-header>.news-alert-button::after{content:attr(data-short-label)}
 .news-page--editorial .page-header>.news-alert-button svg{width:17px;height:17px}
 .news-page--editorial .news-list-heading{padding:0;margin:0;border:0;min-height:0;height:0}
 .news-page--editorial #news-source,.news-page--editorial label[for=news-source]{display:none}
 .news-page--editorial .news-toolbar{margin-bottom:14px}
}

.profile-statistics-note{font-size:12px;line-height:1.6;color:var(--gris-texto);margin:0 0 12px}

.calendar-filter-disclosure>summary[data-active=true]::after{content:"";width:5px;height:5px;background:#4db2fb;border-radius:50%}

.history-intro .breadcrumbs,.history-intro .breadcrumbs a,.history-intro .breadcrumbs [aria-current]{color:#e8f5ff}.history-intro .breadcrumbs li+li::before{color:#96cbed}
