@font-face {
  font-family: "Inter";
  src: url("../fonts/inter-latin-ext-var.woff2") format("woff2");
  font-weight: 300 800;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: "Inter";
  src: url("../fonts/inter-latin-var.woff2") format("woff2");
  font-weight: 300 800;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: "Manrope";
  src: url("../fonts/manrope-var.woff2") format("woff2");
  font-weight: 200 800;
  font-style: normal;
  font-display: swap;
}

:root {
  --color-navy-dark: #101020;
  --color-navy: #003050;
  --color-blue-light: #0060a0;
  --color-red: #e00010;
  --color-white: #fff;
  --color-gray-bg: #f0f0f0;
  --color-gray-text: #9393a6;
  --color-gold: #c8a050;
  --color-green: #305020;
  --color-bordo: #7a1420;
  --color-france: #0a1f44;
  --surface: #161629;
  --surface-2: #1d1d34;
  --line: rgba(255, 255, 255, .11);
  --text: #f8f8fb;
  --muted: #aaaabd;
  --container: 84rem;
  --container-narrow: 54rem;
  --radius-sm: .65rem;
  --radius: 1rem;
  --radius-lg: 1.5rem;
  --shadow: 0 1.25rem 4rem rgba(0, 0, 0, .28);
  --header-height: 4.75rem;
  --ease: cubic-bezier(.2, .7, .2, 1);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: calc(var(--header-height) + 1rem); }
body { margin: 0; min-width: 20rem; overflow-x: clip; background: var(--color-navy-dark); color: var(--text); font-family: "Manrope", Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-size: 1rem; line-height: 1.65; text-rendering: optimizeLegibility; }
img, picture, svg { display: block; max-width: 100%; }
img { height: auto; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button { color: inherit; }
h1, h2, h3, p, ul, ol, dl, blockquote, figure { margin-top: 0; }
h1, h2, h3 { line-height: 1.08; letter-spacing: -.035em; }
h1 { font-size: clamp(2.5rem, 7vw, 6.8rem); }
h2 { font-size: clamp(2rem, 4.6vw, 4rem); }
h3 { font-size: clamp(1.15rem, 2vw, 1.55rem); }
p { color: var(--muted); }
::selection { background: var(--color-red); color: #fff; }
:focus-visible { outline: .18rem solid #5fc5ff; outline-offset: .22rem; }
.container { width: min(100% - 2rem - env(safe-area-inset-left) - env(safe-area-inset-right), var(--container)); margin-inline: auto; }
.narrow { max-width: var(--container-narrow); }
.narrow-wide { max-width: 72rem; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; z-index: 1000; top: .5rem; left: .5rem; padding: .75rem 1rem; transform: translateY(-150%); background: #fff; color: #111; border-radius: .5rem; }
.skip-link:focus { transform: none; }
.mobile-only { display: inline-flex; }
.desktop-link { display: none; }

.site-header { position: sticky; z-index: 100; top: 0; height: var(--header-height); border-bottom: 1px solid var(--line); background: rgba(16, 16, 32, .9); -webkit-backdrop-filter: blur(1rem); backdrop-filter: blur(1rem); }
.header-inner { display: flex; align-items: center; height: 100%; gap: 1rem; }
.logo { display: grid; place-items: center; width: 3.5rem; height: 3.5rem; flex: 0 0 auto; }
.logo img { width: 100%; height: 100%; }
.nav-toggle { width: 2.75rem; height: 2.75rem; margin-left: auto; display: grid; place-content: center; gap: .3rem; border: 1px solid var(--line); border-radius: 50%; background: transparent; cursor: pointer; }
.nav-toggle span:not(.sr-only) { width: 1.15rem; height: .1rem; background: #fff; transition: transform .25s, opacity .25s; }
.nav-toggle[aria-expanded="true"] span:nth-child(2) { transform: translateY(.4rem) rotate(45deg); }
.nav-toggle[aria-expanded="true"] span:nth-child(3) { opacity: 0; }
.nav-toggle[aria-expanded="true"] span:nth-child(4) { transform: translateY(-.4rem) rotate(-45deg); }
.site-nav { position: fixed; inset: var(--header-height) 0 auto; display: none; padding: 1.25rem max(1rem, env(safe-area-inset-right)) 1.5rem max(1rem, env(safe-area-inset-left)); background: #111124; border-bottom: 1px solid var(--line); box-shadow: var(--shadow); }
.site-nav.is-open { display: grid; }
.site-nav a { min-height: 3.25rem; display: flex; align-items: center; border-bottom: 1px solid var(--line); font-weight: 700; }
.site-nav a[aria-current="page"] { color: #ff6b76; }
.noscript-note { padding: .7rem 1rem; background: #ffd56a; color: #1b1500; text-align: center; font-size: .85rem; font-weight: 700; }

.button { min-height: 3rem; display: inline-flex; align-items: center; justify-content: center; gap: .7rem; padding: .7rem 1.2rem; border: 1px solid transparent; border-radius: 999px; font-size: .88rem; font-weight: 800; letter-spacing: .015em; cursor: pointer; transition: transform .25s var(--ease), background .25s, border-color .25s; }
.button-primary { background: var(--color-red); color: #fff; box-shadow: 0 .75rem 2rem rgba(224, 0, 16, .24); }
.button-light { background: #fff; color: #151525; }
.button-ghost { border-color: var(--line); background: rgba(255,255,255,.025); }
.button-large { min-height: 3.5rem; padding-inline: 1.5rem; }
.button-block { width: 100%; }
.text-link, .soft-link { display: inline-flex; align-items: center; gap: .5rem; color: #fff; font-weight: 800; }
.soft-link { min-height: 3rem; margin-top: 1.5rem; color: #ff777f; }
.eyebrow, .section-kicker { display: block; color: #ff6a74; font-size: .72rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.status-dot, .live-pulse { display: inline-block; width: .48rem; height: .48rem; border-radius: 50%; background: #4fe08b; box-shadow: 0 0 0 .25rem rgba(79,224,139,.12); }

.hero { position: relative; min-height: calc(100svh - var(--header-height)); display: grid; align-items: center; overflow: hidden; isolation: isolate; }
.hero::after { content: ""; position: absolute; z-index: -1; inset: 0; background: linear-gradient(180deg, rgba(10,10,26,.28), rgba(16,16,32,.5) 48%, #101020 100%); }
.hero-media { position: absolute; z-index: -3; inset: 0; }
.hero-media img { width: 100%; height: 100%; object-fit: cover; opacity: .55; }
.hero-glow { position: absolute; z-index: -2; width: 28rem; height: 28rem; filter: blur(7rem); opacity: .25; border-radius: 50%; }
.hero-glow-tr { top: 10%; left: -14rem; background: var(--color-red); }
.hero-glow-fr { right: -14rem; bottom: 12%; background: var(--color-blue-light); }
.hero-content { padding-block: clamp(3rem, 8vw, 7rem) 7rem; text-align: center; }
.hero-topline { display: flex; justify-content: center; flex-wrap: wrap; gap: .4rem 1rem; color: #c4c4d2; font-size: .68rem; font-weight: 800; letter-spacing: .14em; }
.hero-teams { display: flex; align-items: center; justify-content: center; gap: clamp(1.2rem, 7vw, 5rem); margin: clamp(2rem, 6vw, 4rem) auto 1.2rem; }
.hero-team { display: grid; justify-items: center; gap: .8rem; color: #fff; font-size: clamp(.8rem, 2vw, 1.05rem); font-weight: 800; letter-spacing: .14em; }
.hero-team img { width: clamp(4rem, 10vw, 6rem); filter: drop-shadow(0 .8rem 1.5rem rgba(0,0,0,.35)); }
.versus { display: grid; place-items: center; width: 2.7rem; height: 2.7rem; border: 1px solid rgba(255,255,255,.25); border-radius: 50%; color: #d0d0da; font-size: .7rem; font-weight: 800; }
.hero h1 { margin-bottom: .4rem; text-transform: uppercase; font-weight: 800; }
.hero-tagline { margin-bottom: 1.2rem; color: #fff; font-family: "Manrope", sans-serif; font-size: clamp(1.2rem, 3vw, 2rem); font-style: italic; }
.match-facts { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: .55rem; color: #d8d8e1; font-size: .72rem; font-weight: 800; letter-spacing: .12em; }
.match-facts i { width: .25rem; height: .25rem; border-radius: 50%; background: var(--color-red); }
.countdown { max-width: 37rem; margin: 2rem auto 0; padding: 1.2rem .7rem 1rem; border: 1px solid var(--line); background: rgba(10,10,25,.58); -webkit-backdrop-filter: blur(.8rem); backdrop-filter: blur(.8rem); border-radius: var(--radius); }
.countdown-label { margin-bottom: .8rem; color: #b8b8c8; font-size: .65rem; font-weight: 800; letter-spacing: .2em; }
.countdown-grid { display: flex; justify-content: center; align-items: start; gap: .25rem; }
.countdown-grid > span { min-width: 3.5rem; display: grid; }
.countdown-grid strong { font-size: clamp(1.65rem, 6vw, 3.1rem); line-height: 1; font-variant-numeric: tabular-nums; }
.countdown-grid small { margin-top: .35rem; color: var(--muted); font-size: .52rem; font-weight: 800; letter-spacing: .11em; }
.countdown-grid b { color: var(--color-red); font-size: 1.6rem; line-height: 1; }
.countdown-state { margin: .7rem 0 0; font-size: .78rem; }
.scroll-cue { position: absolute; bottom: 1.4rem; left: 50%; display: grid; justify-items: center; gap: .4rem; transform: translateX(-50%); color: #adadbd; font-size: .65rem; letter-spacing: .1em; text-transform: uppercase; }
.scroll-cue i { width: 1px; height: 1.5rem; background: linear-gradient(#fff, transparent); }

.watch-banner { position: relative; background: var(--color-red); overflow: hidden; }
.watch-banner::after { content: "TF"; position: absolute; right: -1rem; bottom: -4.5rem; color: rgba(255,255,255,.07); font-size: 13rem; font-weight: 800; line-height: 1; }
.watch-banner-inner { position: relative; z-index: 1; padding-block: 2rem; display: grid; gap: 1.3rem; }
.watch-banner h2, .watch-banner p { margin-bottom: .25rem; color: #fff; }
.watch-banner h2 { font-size: clamp(1.7rem, 5vw, 3rem); }
.watch-banner .eyebrow { color: #ffd9dc; }

.anchor-nav { position: sticky; z-index: 50; top: var(--header-height); border-bottom: 1px solid var(--line); background: rgba(16,16,32,.96); overflow: auto hidden; scrollbar-width: none; }
.anchor-nav::-webkit-scrollbar { display: none; }
.anchor-nav .container { display: flex; width: max-content; min-width: calc(100% - 2rem); }
.anchor-nav a { flex: 0 0 auto; min-height: 3.2rem; display: grid; place-items: center; padding-inline: 1rem; color: #b9b9c9; border-bottom: .14rem solid transparent; font-size: .72rem; font-weight: 750; white-space: nowrap; }

.section { padding-block: clamp(4rem, 9vw, 8rem); }
.muted-section { background: #131326; border-block: 1px solid var(--line); }
.section-heading { display: flex; align-items: flex-start; gap: 1rem; margin-bottom: clamp(2rem, 5vw, 4rem); }
.section-heading.simple { justify-content: space-between; align-items: end; }
.section-heading h2 { margin: .25rem 0 0; }
.section-number { color: rgba(255,255,255,.15); font-size: clamp(3rem, 8vw, 6.5rem); font-weight: 200; line-height: .75; letter-spacing: -.08em; }
.panel { padding: 1.1rem; border: 1px solid var(--line); border-radius: var(--radius-lg); background: linear-gradient(145deg, rgba(255,255,255,.055), rgba(255,255,255,.018)); box-shadow: var(--shadow); }
.panel-top { display: flex; justify-content: space-between; gap: 1rem; padding-bottom: 1rem; border-bottom: 1px solid var(--line); color: #a9a9b9; font-size: .7rem; font-weight: 800; letter-spacing: .07em; }
.live-badge, .player-live { display: inline-flex; align-items: center; gap: .45rem; color: #fff; font-size: .68rem; font-weight: 800; letter-spacing: .12em; }
.live-badge i, .player-live i { width: .45rem; height: .45rem; border-radius: 50%; background: var(--color-red); box-shadow: 0 0 0 .25rem rgba(224,0,16,.15); animation: pulse 1.6s infinite; }
.match-center-grid { display: grid; gap: 1rem; }
.score-row { min-height: 14rem; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: .6rem; }
.score-team { display: grid; justify-items: center; gap: .5rem; text-align: center; }
.score-team img { width: clamp(3rem, 12vw, 4.6rem); }
.score-team strong { font-size: clamp(.9rem, 3vw, 1.25rem); }
.score-team small { color: var(--muted); font-size: .65rem; }
.score { display: flex; align-items: center; gap: .35rem; font-size: clamp(2rem, 8vw, 4rem); font-weight: 750; font-variant-numeric: tabular-nums; }
.score b { color: #55556a; font-weight: 300; }
.score-footer { display: grid; gap: .25rem; padding-top: 1rem; border-top: 1px solid var(--line); color: var(--muted); font-size: .72rem; text-align: center; }
.vote-panel h3 { margin: 1.4rem 0; font-size: 1.55rem; }
.vote-options { display: grid; gap: .75rem; margin-bottom: 1rem; }
.vote-option { display: grid; cursor: pointer; }
.vote-option input { position: absolute; opacity: 0; pointer-events: none; }
.vote-choice { min-height: 3.4rem; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: .75rem; padding: .65rem .8rem; border: 1px solid var(--line); border-radius: .8rem .8rem 0 0; background: rgba(255,255,255,.025); }
.vote-option input:checked + .vote-choice { border-color: #ff5a66; background: rgba(224,0,16,.08); }
.vote-option input:focus-visible + .vote-choice { outline: .18rem solid #5fc5ff; outline-offset: .15rem; }
.vote-choice img { width: 2.35rem; }
.vote-choice em { color: #d5d5df; font-size: .8rem; font-style: normal; font-weight: 800; }
.vote-progress { height: .23rem; background: #28283d; border-radius: 0 0 .3rem .3rem; overflow: hidden; }
.vote-progress progress { display: block; width: 100%; height: 100%; border: 0; background: transparent; appearance: none; }
.vote-progress progress::-webkit-progress-bar { background: transparent; }
.vote-progress progress::-webkit-progress-value { background: linear-gradient(90deg, var(--color-red), #ff6570); transition: width .5s var(--ease); }
.vote-progress progress::-moz-progress-bar { background: linear-gradient(90deg, var(--color-red), #ff6570); }
.form-message { min-height: 1.4rem; margin: .65rem 0 0; font-size: .78rem; text-align: center; }

.player-shell { position: relative; aspect-ratio: 16/9; margin-top: clamp(1.2rem, 3vw, 2.5rem); overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius-lg); background: #070711; box-shadow: var(--shadow); }
.player-backdrop, .player-backdrop::after { position: absolute; inset: 0; }
.player-backdrop::after { content: ""; background: rgba(5,5,15,.56); }
.player-backdrop img { width: 100%; height: 100%; object-fit: cover; filter: blur(.4rem); transform: scale(1.04); opacity: .75; }
.player-overlay { position: relative; z-index: 1; height: 100%; display: grid; place-content: center; justify-items: center; padding: 1rem; text-align: center; }
.player-overlay h3 { margin: .9rem 0 .15rem; font-size: clamp(1.35rem, 4vw, 2.8rem); }
.player-overlay p { margin-bottom: 1rem; color: #c2c2cf; font-size: .65rem; font-weight: 800; letter-spacing: .14em; }
.play-icon { width: clamp(3.2rem, 9vw, 5rem); aspect-ratio: 1; display: grid; place-items: center; margin-top: .8rem; border: 1px solid rgba(255,255,255,.25); border-radius: 50%; background: rgba(255,255,255,.08); }
.play-icon span { width: 0; height: 0; margin-left: .25rem; border-block: .55rem solid transparent; border-left: .85rem solid #fff; }

.editorial-section { background: #f1f0ed; color: #181824; }
.editorial-section .section-kicker { color: var(--color-red); }
.editorial-section .section-number { color: rgba(10,10,20,.12); }
.editorial-grid { display: grid; gap: 2rem; }
.prose { min-width: 0; }
.prose p, .prose li { color: #c1c1cf; }
.editorial-section .prose p { color: #454553; }
.prose h2 { margin-top: 2.5rem; }
.prose h3 { margin-top: 2rem; }
.prose a { color: #ff6973; text-decoration: underline; text-underline-offset: .18rem; }
.lead-prose { font-size: clamp(1rem, 2vw, 1.12rem); }
.dropcap::first-letter { float: left; margin: .12rem .5rem 0 0; color: var(--color-red); font-family: "Manrope", sans-serif; font-size: 4.5rem; font-weight: 800; line-height: .75; }
.editorial-aside { display: grid; align-content: start; gap: 1rem; }
.quote-card, .fact-card, .timeline-card { padding: 1.5rem; border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--surface); color: #fff; }
.quote-card > span { color: var(--color-red); font-family: "Manrope", sans-serif; font-size: 5rem; line-height: .5; }
.quote-card blockquote { margin: 1rem 0; font-family: "Manrope", sans-serif; font-size: clamp(1.25rem, 3vw, 1.8rem); line-height: 1.35; }
.quote-card cite { color: var(--muted); font-size: .74rem; font-style: normal; }
.fact-card { background: var(--color-bordo); }
.fact-card strong { display: block; margin: .6rem 0; font-size: 1.5rem; }
.fact-card p { margin-bottom: 0; color: #f1cdd1; }

.guide-section { background: #131326; }
.guide-grid { display: grid; gap: .75rem; }
.guide-grid article { position: relative; min-height: 13rem; padding: 1.35rem; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.guide-grid article > span { position: absolute; right: -.3rem; bottom: -2.8rem; color: rgba(255,255,255,.04); font-size: 8rem; font-weight: 800; }
.guide-grid h3 { margin-top: 2.5rem; }
.guide-grid p { margin-bottom: 0; }
.watch-notes { display: grid; gap: 1rem; }
.watch-note-main { min-height: 20rem; display: grid; align-content: end; padding: 1.5rem; border-radius: var(--radius-lg); background: linear-gradient(150deg, #68121d, #261526); overflow: hidden; }
.watch-note-main p { margin-bottom: 0; color: #dfbdc1; }
.watch-notes ol { list-style: none; display: grid; gap: .7rem; margin: 0; padding: 0; }
.watch-notes li { display: grid; grid-template-columns: auto 1fr; gap: 1rem; padding: 1.2rem; border: 1px solid var(--line); border-radius: var(--radius); }
.watch-notes li > span { color: #ff6d76; font-weight: 800; }
.watch-notes li p { margin: .2rem 0 0; }

.news-grid { display: grid; gap: 1rem; }
.news-card { overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--surface); transition: transform .3s var(--ease), border-color .3s; }
.news-card-image { display: block; aspect-ratio: 40/21; overflow: hidden; background: #0d0d1e; }
.news-card-image picture { width: 100%; height: 100%; }
.news-card-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s var(--ease); }
.news-card-body { padding: 1.2rem; }
.card-meta { display: flex; justify-content: space-between; gap: 1rem; color: #a6a6b8; font-size: .68rem; font-weight: 750; text-transform: uppercase; letter-spacing: .06em; }
.card-meta span { color: #ff6e77; }
.news-card h3 { margin: .8rem 0 .6rem; font-size: clamp(1.18rem, 2vw, 1.5rem); }
.news-card p { font-size: .9rem; }
.card-footer { display: flex; justify-content: space-between; align-items: center; gap: .7rem; padding-top: .8rem; border-top: 1px solid var(--line); color: #9b9bad; font-size: .75rem; }
.card-footer .text-link { color: #fff; }

.faq-section { background: #0d0d1b; }
.faq-section h2 { margin: .3rem 0 2rem; }
.faq-list { border-top: 1px solid var(--line); }
.faq-list details { border-bottom: 1px solid var(--line); }
.faq-list summary { min-height: 4.5rem; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 1rem; padding-block: 1rem; list-style: none; font-weight: 750; cursor: pointer; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary span { display: grid; place-items: center; width: 2rem; height: 2rem; border: 1px solid var(--line); border-radius: 50%; transition: transform .25s; }
.faq-list details[open] summary span { transform: rotate(45deg); }
.faq-list details > div { padding: 0 2.8rem 1.2rem 0; }

.breadcrumbs { padding-block: .75rem; }
.breadcrumbs ol { list-style: none; display: flex; align-items: center; flex-wrap: wrap; gap: .4rem; margin: 0; padding: 0; color: #8e8ea2; font-size: .68rem; }
.breadcrumbs li:not(:last-child)::after { content: "/"; margin-left: .4rem; color: #515166; }
.breadcrumbs a { color: #c4c4cf; }
.cluster-hero, .service-hero { position: relative; padding-block: clamp(4.5rem, 11vw, 9rem); overflow: hidden; background: radial-gradient(circle at 85% 10%, rgba(0,96,160,.23), transparent 35%), radial-gradient(circle at 10% 100%, rgba(224,0,16,.17), transparent 34%), #121225; }
.cluster-hero::after { content: "TF"; position: absolute; right: -1rem; bottom: -4rem; color: rgba(255,255,255,.025); font-size: clamp(10rem, 25vw, 24rem); font-weight: 800; line-height: .8; }
.cluster-hero .container, .service-hero .container { position: relative; z-index: 1; }
.cluster-hero h1, .service-hero h1 { max-width: 68rem; margin: .6rem 0 1rem; }
.cluster-hero p, .service-hero p { max-width: 48rem; margin-bottom: 1.3rem; font-size: clamp(1rem, 2vw, 1.2rem); }
.compact-hero h1 { font-size: clamp(2.8rem, 7vw, 6rem); }
.page-update { color: #c2c2d0; font-size: .78rem; }

.filter-bar { display: grid; gap: .85rem; margin-bottom: 1rem; padding: 1rem; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.field { display: grid; gap: .35rem; }
.field label, .error-search label { color: #bdbdca; font-size: .68rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.field input, .field select, .error-search input { width: 100%; min-height: 3rem; padding: .65rem .8rem; border: 1px solid var(--line); border-radius: .65rem; background: #101020; color: #fff; }
.search-field > div { display: grid; grid-template-columns: 1fr auto; }
.search-field input { border-radius: .65rem 0 0 .65rem; }
.search-field button { width: 3rem; border: 1px solid var(--line); border-left: 0; border-radius: 0 .65rem .65rem 0; background: #202038; cursor: pointer; }
.honeypot { position: absolute; left: -9999px; }
.result-summary { margin-bottom: 1.2rem; font-size: .8rem; }
.empty-state { grid-column: 1 / -1; padding: 4rem 1.5rem; border: 1px dashed var(--line); border-radius: var(--radius-lg); text-align: center; }
.empty-state > span { color: #ff6b76; font-size: 3rem; font-weight: 300; }
.empty-state h2 { font-size: 1.8rem; }
.cta-strip { padding-block: 2.5rem; background: var(--color-red); }
.cta-strip .container { display: grid; gap: 1rem; align-items: center; }
.cta-strip h2, .cta-strip p { margin-bottom: .2rem; color: #fff; }
.cta-strip .eyebrow { color: #ffd9dc; }

.article-header { padding-block: clamp(2rem, 6vw, 5rem) 2rem; }
.article-category { display: inline-flex; padding: .35rem .7rem; border-radius: 999px; background: rgba(224,0,16,.12); color: #ff737c; font-size: .7rem; font-weight: 800; text-transform: uppercase; }
.article-header h1 { max-width: 68rem; margin: 1rem 0; font-size: clamp(2.2rem, 6.5vw, 5rem); }
.article-lead { max-width: 58rem; color: #c9c9d5; font-size: clamp(1.05rem, 2vw, 1.3rem); }
.article-byline { display: grid; grid-template-columns: auto 1fr; gap: .8rem; align-items: center; margin-top: 1.5rem; padding-top: 1.2rem; border-top: 1px solid var(--line); }
.author-avatar { width: 2.8rem; height: 2.8rem; display: grid; place-items: center; border-radius: 50%; background: var(--color-red); font-size: .7rem; font-weight: 800; }
.article-byline > div:nth-child(2) { display: grid; font-size: .78rem; }
.article-byline > div:nth-child(2) span { color: var(--muted); }
.article-dates { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: .4rem 1rem; color: var(--muted); font-size: .7rem; }
.article-hero picture, .article-hero img { width: 100%; }
.article-hero img { aspect-ratio: 12/7; object-fit: cover; border-radius: var(--radius-lg); }
.article-hero figcaption { padding-top: .5rem; color: var(--muted); font-size: .68rem; }
.article-layout { display: grid; gap: 2rem; padding-block: clamp(2rem, 6vw, 5rem); }
.article-toc { display: none; }
.article-content { max-width: 47rem; min-width: 0; }
.article-content > p:first-of-type { color: #e2e2e9; font-size: 1.08rem; }
.article-content ul { padding-left: 1.2rem; }
.article-content li { margin-bottom: .4rem; }
.article-callout, .key-points { margin-block: 2rem; padding: 1.2rem; border-left: .22rem solid var(--color-red); background: var(--surface); border-radius: 0 var(--radius) var(--radius) 0; color: #d9d9e2; }
.key-points ul { margin: .6rem 0 0; }
.lineup-grid { display: grid; gap: .7rem; }
.lineup-grid > div { padding: 1rem; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.article-cta { margin-top: 2.5rem; padding: 1.5rem; border-radius: var(--radius-lg); background: linear-gradient(145deg, #68121e, #17172d); }
.article-cta h2 { margin: .8rem 0 .4rem; font-size: 2rem; }

.teams-hero { background: linear-gradient(110deg, rgba(122,20,32,.64), rgba(10,31,68,.75)), #101020; }
.team-feature { overflow: hidden; }
.team-feature-fransa { background: #0d1932; }
.team-feature-grid, .profile-hero-grid, .player-profile-grid, .two-column { display: grid; gap: 2rem; align-items: center; }
.team-visual { position: relative; min-height: 22rem; display: grid; place-items: center; overflow: hidden; border-radius: var(--radius-lg); background: radial-gradient(circle, rgba(255,255,255,.08), transparent 55%), var(--surface); }
.team-visual img { width: min(70%, 20rem); filter: drop-shadow(0 1.5rem 2rem rgba(0,0,0,.3)); }
.team-code { position: absolute; top: -1rem; left: -.5rem; color: rgba(255,255,255,.035); font-size: 12rem; font-weight: 800; line-height: 1; }
.team-coach { position: absolute; inset: auto 1rem 1rem; display: grid; padding: .7rem .9rem; border: 1px solid var(--line); border-radius: .6rem; background: rgba(8,8,20,.72); font-size: .7rem; }
.team-copy h2 { margin: .4rem 0 1rem; }
.lead-text { font-size: 1.05rem; }
.fact-inline { margin: 1.5rem 0; padding: 1rem; border-left: .2rem solid var(--color-red); background: rgba(255,255,255,.035); }
.fact-inline span { color: #ff6a74; font-size: .68rem; font-weight: 800; text-transform: uppercase; }
.fact-inline p { margin: .3rem 0 0; }
.subsection-title { margin: 3rem 0 1.2rem; }
.comparison-section { background: #f1f0ed; color: #191925; }
.comparison-grid { display: grid; gap: 1rem; }
.comparison-grid > div { padding: 1.5rem; border: 1px solid rgba(10,10,20,.12); border-radius: var(--radius); }
.comparison-grid span { color: #7c7c89; font-size: .7rem; font-weight: 800; text-transform: uppercase; }
.comparison-grid strong { display: block; margin: .4rem 0; font-size: 1.45rem; }
.comparison-grid p { margin: 0; color: #525260; }
.comparison-grid i { display: none; }

.profile-hero { padding-block: clamp(4rem, 10vw, 8rem); background: radial-gradient(circle at 80% 50%, rgba(255,255,255,.08), transparent 32%), #17172c; }
.team-profile-hero.team-turkiye { background-color: #3d101a; }
.team-profile-hero.team-fransa { background-color: #0a1f44; }
.profile-hero h1 { margin: .7rem 0 1rem; }
.profile-tags { display: flex; flex-wrap: wrap; gap: .5rem; }
.profile-tags span { padding: .45rem .7rem; border: 1px solid var(--line); border-radius: 999px; font-size: .72rem; }
.profile-emblem { position: relative; display: grid; place-items: center; min-height: 20rem; }
.profile-emblem img { width: min(80%, 25rem); filter: drop-shadow(0 2rem 3rem rgba(0,0,0,.35)); }
.profile-emblem span { position: absolute; z-index: 0; color: rgba(255,255,255,.045); font-size: 12rem; font-weight: 800; }
.profile-emblem img { position: relative; z-index: 1; }

.player-grid { display: grid; gap: 1rem; }
.player-card { min-width: 0; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--surface); transition: transform .3s var(--ease), border-color .3s; }
.player-photo { position: relative; aspect-ratio: 3/4; overflow: hidden; background: #202036; }
.player-photo img { width: 100%; height: 100%; object-fit: cover; }
.shirt-number { position: absolute; right: .75rem; bottom: .5rem; color: rgba(255,255,255,.88); font-size: 3.5rem; font-weight: 800; line-height: 1; text-shadow: 0 .25rem 1rem rgba(0,0,0,.45); }
.player-card-body { padding: 1rem; }
.team-label { display: inline-flex; align-items: center; gap: .4rem; color: #a8a8ba; font-size: .65rem; font-weight: 750; text-transform: uppercase; }
.team-label img { flex: 0 0 auto; }
.player-card h3 { margin: .55rem 0 .9rem; }
.player-metrics { display: grid; grid-template-columns: repeat(3, 1fr); gap: .35rem; margin-bottom: 1rem; }
.player-metrics span { display: grid; align-content: start; padding: .5rem; background: #111122; border-radius: .45rem; color: #8f8fa3; font-size: .55rem; line-height: 1.3; }
.player-metrics strong { color: #fff; font-size: .75rem; }
.player-card .button { width: 100%; }
.team-card-turkiye { --card-accent: var(--color-bordo); }
.team-card-fransa { --card-accent: var(--color-france); }
.player-card { border-bottom: .2rem solid var(--card-accent, var(--color-red)); }

.player-profile-hero { padding-block: clamp(3rem, 8vw, 7rem); background: radial-gradient(circle at 15% 70%, rgba(224,0,16,.18), transparent 30%), #121225; }
.team-fransa.player-profile-hero, .team-fransa .player-profile-hero { background-color: #0a1731; }
.player-profile-photo { position: relative; max-width: 30rem; margin-inline: auto; overflow: hidden; border-radius: var(--radius-lg); background: var(--surface); }
.player-profile-photo img { width: 100%; }
.player-profile-photo > span { position: absolute; right: 1rem; bottom: .3rem; font-size: 7rem; font-weight: 800; line-height: 1; }
.player-profile-hero h1 { margin: .7rem 0 .3rem; }
.player-position { color: #ff727b; font-weight: 700; }
.profile-intro { max-width: 44rem; font-size: 1.05rem; }
.stats-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: .7rem; }
.stats-grid > div { min-height: 7rem; display: grid; align-content: space-between; padding: 1rem; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.stats-grid span { color: var(--muted); font-size: .7rem; text-transform: uppercase; }
.stats-grid strong { font-size: clamp(1rem, 2vw, 1.4rem); }

.tournament-badges { display: flex; flex-wrap: wrap; gap: .5rem; }
.tournament-badges span { padding: .45rem .75rem; border: 1px solid var(--line); border-radius: 999px; font-size: .68rem; font-weight: 800; letter-spacing: .07em; }
.timeline-card ol { list-style: none; margin: 1rem 0 0; padding: 0; }
.timeline-card li { display: grid; grid-template-columns: 4rem 1fr; gap: .7rem; padding: .8rem 0; border-bottom: 1px solid var(--line); }
.timeline-card li strong { color: #ff737c; }
.timeline-card li span { color: #c3c3cf; }
.format-flow { display: grid; gap: .7rem; }
.format-flow > div { padding: 1.2rem; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.format-flow > div > span { color: #ff6d77; font-size: .7rem; font-weight: 800; }
.format-flow strong { display: block; margin: .5rem 0; }
.format-flow p { margin: 0; font-size: .87rem; }
.format-flow > i { display: none; }
.regulation-note { margin-top: 1rem; padding: 1.2rem; border-left: .2rem solid var(--color-gold); background: rgba(200,160,80,.07); }
.regulation-note h3 { margin-bottom: .5rem; }
.regulation-note p { margin: 0; }
.group-table { border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; }
.group-table > div { min-height: 3.6rem; display: grid; grid-template-columns: minmax(8rem, 1fr) repeat(5, 2rem); align-items: center; gap: .25rem; padding-inline: .7rem; border-bottom: 1px solid var(--line); font-size: .8rem; }
.group-table > div:last-child { border: 0; }
.group-table .group-head { min-height: 2.7rem; background: #202037; color: #9d9daf; font-size: .62rem; font-weight: 800; text-transform: uppercase; }
.group-table [role="cell"]:not(:first-child), .group-table [role="columnheader"]:not(:first-child) { text-align: center; }
.group-table [role="cell"]:first-child { display: grid; grid-template-columns: 1.2rem 2rem 1fr; align-items: center; gap: .5rem; }
.table-note { margin: .7rem 0 0; font-size: .7rem; }
.schedule-section { background: #131326; }
.schedule-list { display: grid; gap: .5rem; }
.schedule-list article { display: grid; grid-template-columns: 5rem 1fr; align-items: center; gap: 1rem; padding: 1rem; border: 1px solid var(--line); border-radius: var(--radius); }
.schedule-list article.featured { border-color: rgba(224,0,16,.6); background: rgba(224,0,16,.08); }
.schedule-list time { color: #a6a6b7; font-size: .62rem; font-weight: 800; }
.schedule-list time strong { color: #fff; font-size: 1rem; }
.schedule-list span { color: #a4a4b4; font-size: .62rem; font-weight: 800; letter-spacing: .06em; }
.schedule-list h3 { margin: .15rem 0 0; font-size: 1rem; }
.schedule-list a { grid-column: 2; color: #ff6d77; font-size: .75rem; font-weight: 800; }
.stadium-section { position: relative; min-height: 38rem; display: grid; align-items: end; overflow: hidden; }
.stadium-section::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, #0f0f20 5%, rgba(15,15,32,.3) 80%); }
.stadium-media { position: absolute; inset: 0; }
.stadium-media img { width: 100%; height: 100%; object-fit: cover; }
.stadium-copy { position: relative; z-index: 1; padding-block: 8rem 3rem; }
.stadium-copy p { max-width: 42rem; color: #d3d3dc; }
.stadium-copy dl { display: flex; flex-wrap: wrap; gap: .7rem; }
.stadium-copy dl > div { min-width: 8rem; padding: .7rem; border: 1px solid var(--line); background: rgba(10,10,25,.55); border-radius: .6rem; }
.stadium-copy dt { color: #a3a3b4; font-size: .62rem; text-transform: uppercase; }
.stadium-copy dd { margin: .2rem 0 0; font-weight: 750; }

.service-hero { background: linear-gradient(140deg, #17172d, #101020); }
.service-hero h1 { font-size: clamp(2.7rem, 7vw, 5rem); }
.contact-grid, .sitemap-grid { display: grid; gap: 1rem; }
.contact-card { padding: 1.3rem; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.contact-card > span { color: #ff6a74; font-size: .7rem; font-weight: 800; }
.contact-card h2 { margin: .5rem 0 1rem; font-size: 1.6rem; }
.service-note { margin-top: 1rem; padding: 1rem; border-left: .2rem solid var(--color-gold); background: rgba(200,160,80,.08); color: #cfcfd8; }
.sitemap-grid > div { padding: 1.2rem; border: 1px solid var(--line); border-radius: var(--radius); }
.sitemap-grid h2 { margin-top: 1.5rem; font-size: 1.25rem; }
.sitemap-grid h2:first-child { margin-top: 0; }
.sitemap-grid ul { list-style: none; margin: 0; padding: 0; }
.sitemap-grid li { padding-block: .35rem; border-bottom: 1px solid rgba(255,255,255,.05); }
.sitemap-grid a { color: #cacad5; }

.empty-page { min-height: 65vh; display: grid; place-items: center; padding-block: 5rem; text-align: center; }
.empty-code { display: block; margin-bottom: 1rem; color: rgba(255,255,255,.1); font-size: clamp(6rem, 20vw, 13rem); font-weight: 800; line-height: .7; }
.empty-page h1 { font-size: clamp(2.2rem, 6vw, 4.5rem); }
.error-search { max-width: 32rem; margin: 2rem auto; text-align: left; }
.error-search > div { display: grid; gap: .5rem; margin-top: .4rem; }
.error-links { display: flex; justify-content: center; flex-wrap: wrap; gap: 1rem; }
.error-links a { color: #ff727b; font-weight: 800; }

.site-footer { padding: 4rem 0 calc(6rem + env(safe-area-inset-bottom)); border-top: 1px solid var(--line); background: #090916; }
.footer-grid { display: grid; gap: 2rem; }
.footer-grid h2 { font-size: .8rem; text-transform: uppercase; letter-spacing: .1em; }
.footer-grid p, .footer-grid li { font-size: .78rem; }
.footer-grid ul { list-style: none; margin: 0; padding: 0; }
.footer-grid li { margin-bottom: .5rem; color: #b0b0bf; }
.footer-brand { display: inline-flex; align-items: center; gap: .8rem; margin-bottom: 1rem; font-weight: 800; line-height: 1.25; }
.footer-brand img { width: 3.25rem; }
.footer-brand small { color: var(--muted); font-size: .68rem; font-weight: 600; }
.updated { display: flex; align-items: center; gap: .5rem; }
.footer-bottom { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .5rem 1rem; margin-top: 2.5rem; padding-top: 1rem; border-top: 1px solid var(--line); color: #77778a; font-size: .65rem; }
.mobile-watch { position: fixed; z-index: 90; right: .8rem; bottom: max(.8rem, env(safe-area-inset-bottom)); left: .8rem; min-height: 3.6rem; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: .7rem; padding: .7rem 1rem; border: 1px solid rgba(255,255,255,.16); border-radius: 999px; background: var(--color-red); box-shadow: 0 1rem 3rem rgba(0,0,0,.42); font-weight: 800; }
.mobile-watch small { font-size: .65rem; opacity: .8; }

@keyframes pulse { 50% { opacity: .4; transform: scale(.8); } }
@keyframes skeleton { to { background-position-x: -200%; } }

@media (min-width: 26.875rem) {
  .player-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .player-grid.compact .player-metrics span:nth-child(3) { display: none; }
  .guide-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .stats-grid { grid-template-columns: repeat(3, 1fr); }
}

@media (min-width: 48rem) {
  :root { --header-height: 5.25rem; }
  .container { width: min(100% - 3rem - env(safe-area-inset-left) - env(safe-area-inset-right), var(--container)); }
  .nav-toggle { display: none; }
  .site-nav { position: static; display: flex; align-items: center; gap: 1.4rem; margin-left: auto; padding: 0; background: transparent; border: 0; box-shadow: none; }
  .site-nav a { min-height: var(--header-height); border: 0; border-bottom: .15rem solid transparent; font-size: .78rem; }
  .site-nav a[aria-current="page"] { color: #fff; border-bottom-color: var(--color-red); }
  .watch-banner-inner, .cta-strip .container { grid-template-columns: 1fr auto; align-items: center; }
  .match-center-grid { grid-template-columns: minmax(0, 1.35fr) minmax(18rem, .65fr); }
  .panel { padding: 1.5rem; }
  .score-footer { grid-template-columns: 1fr 1fr; text-align: left; }
  .score-footer span:last-child { text-align: right; }
  .editorial-grid { grid-template-columns: minmax(0, 1.7fr) minmax(16rem, .7fr); gap: clamp(2rem, 5vw, 5rem); }
  .guide-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .watch-notes { grid-template-columns: 1.25fr .75fr; }
  .news-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .filter-bar { grid-template-columns: minmax(15rem, 1.5fr) 1fr 1fr auto; align-items: end; padding: 1.2rem; }
  .filter-submit { min-width: 7rem; }
  .article-byline { grid-template-columns: auto 1fr auto; }
  .article-dates { grid-column: auto; justify-content: flex-end; }
  .lineup-grid { grid-template-columns: repeat(2, 1fr); }
  .team-feature-grid, .profile-hero-grid, .player-profile-grid, .two-column { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .team-feature-fransa .team-visual { order: 2; }
  .comparison-grid { grid-template-columns: 1fr auto 1fr; align-items: center; }
  .comparison-grid i { display: block; width: 3rem; height: 1px; background: rgba(10,10,20,.25); }
  .player-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .player-grid.compact { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .format-flow { grid-template-columns: repeat(7, auto); align-items: center; }
  .format-flow > i { display: block; color: #55556b; }
  .schedule-list article { grid-template-columns: 6rem 1fr auto; padding: 1.2rem; }
  .schedule-list a { grid-column: auto; }
  .contact-grid, .sitemap-grid { grid-template-columns: repeat(3, 1fr); }
  .error-search > div { grid-template-columns: 1fr auto; }
  .footer-grid { grid-template-columns: 1.4fr repeat(3, 1fr); }
  .site-footer { padding-bottom: 2rem; }
  .mobile-watch { display: none; }
  .mobile-only { display: none; }
  .desktop-link { display: inline-flex; }
}

@media (min-width: 64rem) {
  .article-layout { grid-template-columns: 13rem minmax(0, 47rem); justify-content: center; gap: 3rem; }
  .article-toc { position: sticky; top: calc(var(--header-height) + 4.5rem); align-self: start; display: grid; gap: .45rem; padding-left: 1rem; border-left: 1px solid var(--line); color: #9f9fb0; font-size: .7rem; }
  .article-toc strong { margin-bottom: .4rem; color: #fff; text-transform: uppercase; }
  .player-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .player-grid.compact .player-metrics span:nth-child(3) { display: grid; }
  .news-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .news-section .news-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (min-width: 80rem) {
  .player-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .player-grid.compact { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .guide-grid article { min-height: 15rem; }
}

@media (min-width: 100rem) {
  :root { --container: 92rem; }
  .player-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .player-grid.compact { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

/* Professional editorial theme v2 */
:root {
  --surface: #ffffff;
  --surface-2: #f4f5f7;
  --line: #dde1e8;
  --text: #101020;
  --muted: #5f6673;
  --shadow: 0 1rem 3rem rgba(10, 31, 68, .1);
  --header-height: 5.25rem;
}

body { background: var(--color-white); color: var(--text); }
main { background: var(--color-white); }
p { color: var(--muted); }
.text-link { color: var(--color-navy); }
.soft-link { color: var(--color-red); }
.eyebrow, .section-kicker { color: var(--color-red); }

.site-header { height: var(--header-height); border-bottom-color: #e2e5eb; background: rgba(255,255,255,.96); box-shadow: 0 .4rem 1.5rem rgba(10,31,68,.06); }
.header-inner { gap: 1.25rem; }
.logo { width: 3.25rem; height: 4.8rem; padding-block: .22rem; }
.logo img { width: 100%; height: 100%; object-fit: contain; }
.nav-toggle { border-color: #d9dde5; }
.nav-toggle span:not(.sr-only) { background: var(--color-navy-dark); }
.site-nav { background: #fff; border-bottom-color: #dfe2e8; box-shadow: 0 1rem 2rem rgba(10,31,68,.08); }
.site-nav a { border-bottom-color: #eceef2; color: #252a35; }
.site-nav a[aria-current="page"] { color: var(--color-red); }

.hero { min-height: clamp(43rem, 86svh, 58rem); color: #fff; background: var(--color-navy-dark); }
.hero::after { background: linear-gradient(180deg, rgba(5,14,31,.34), rgba(5,17,38,.52) 46%, rgba(16,16,32,.94) 100%); }
.hero-media picture, .hero-media img { width: 100%; height: 100%; }
.hero-media img { object-fit: cover; opacity: 1; }
.hero-content { max-width: 74rem; padding-block: clamp(3rem, 7vw, 6rem) 7.5rem; }
.hero h1 { color: #fff; font-size: clamp(3rem, 8vw, 7rem); text-shadow: 0 .25rem 1.5rem rgba(0,0,0,.25); }
.hero-topline { color: #fff; }
.hero-topline span { padding: .35rem .65rem; border: 1px solid rgba(255,255,255,.22); background: rgba(8,20,42,.48); backdrop-filter: blur(.5rem); }
.hero-teams { margin-top: clamp(1.8rem, 5vw, 3.5rem); }
.hero-team { min-width: 7rem; color: #fff; }
.hero-team img { padding: .35rem; border-radius: .3rem; background: #fff; box-shadow: 0 .75rem 2rem rgba(0,0,0,.28); }
.versus { border-color: rgba(255,255,255,.5); background: rgba(16,16,32,.6); color: #fff; }
.hero-tagline { color: #fff; }
.match-facts { color: #fff; }
.countdown { border-color: rgba(255,255,255,.24); background: rgba(7,17,37,.72); box-shadow: 0 1rem 3rem rgba(0,0,0,.2); }
.countdown-label, .countdown-grid small, .countdown-state { color: #dce3ec; }
.countdown-grid strong { color: #fff; }
.scroll-cue { color: #fff; }

.watch-banner { background: var(--color-red); }
.watch-banner::after { content: "UEFA"; color: rgba(255,255,255,.08); font-size: clamp(6rem, 17vw, 14rem); }
.watch-banner-inner { padding-block: 2.35rem; }
.watch-banner h2 { letter-spacing: -.04em; }

.anchor-nav { border-bottom-color: #e0e3e9; background: rgba(255,255,255,.97); box-shadow: 0 .45rem 1.3rem rgba(10,31,68,.06); }
.anchor-nav a { color: #4f5663; }

.section { background: #fff; }
.muted-section, .viewing-section { background: #f4f5f7; border-block-color: #e1e4e9; }
.section-heading h2 { color: var(--color-navy-dark); }
.section-number { color: #d6dbe4; font-weight: 650; }

.panel { border-color: #dfe2e8; background: #fff; box-shadow: var(--shadow); }
.panel-top { border-bottom-color: #e6e8ed; color: #68707d; }
.live-badge { color: var(--color-navy-dark); }
.score-team strong, .score { color: var(--color-navy-dark); }
.score-team small, .score-footer { color: #707783; }
.score b { color: #b7bdc7; }
.vote-choice { border-color: #dfe2e8; background: #f8f9fb; }
.vote-choice em { color: var(--color-navy-dark); }
.vote-progress { background: #e7e9ee; }

.player-shell { margin-top: clamp(1.5rem, 4vw, 3rem); border: .45rem solid #0c1426; border-radius: 1.15rem; background: #07101f; box-shadow: 0 1.7rem 4.5rem rgba(10,31,68,.24); }
.player-backdrop picture, .player-backdrop img { width: 100%; height: 100%; }
.player-backdrop::after { background: linear-gradient(180deg, rgba(4,10,21,.16), rgba(4,10,21,.42)); }
.player-backdrop img { object-fit: cover; filter: blur(.12rem) brightness(.72); transform: scale(1.015); opacity: 1; }
.player-overlay { z-index: 3; background: radial-gradient(circle, rgba(3,10,24,.18), rgba(3,10,24,.02) 55%); color: #fff; }
.player-overlay h3 { color: #fff; text-shadow: 0 .15rem .7rem rgba(0,0,0,.45); }
.player-overlay p { color: #fff; text-shadow: 0 .1rem .35rem rgba(0,0,0,.55); }
.play-icon { border: 2px solid rgba(255,255,255,.78); background: rgba(7,18,39,.68); box-shadow: 0 .8rem 2.3rem rgba(0,0,0,.32); backdrop-filter: blur(.6rem); }
.broadcast-top { position: absolute; z-index: 4; top: clamp(.7rem, 2vw, 1.4rem); right: clamp(.7rem, 2vw, 1.4rem); left: clamp(.7rem, 2vw, 1.4rem); display: flex; align-items: flex-start; justify-content: space-between; gap: .5rem; pointer-events: none; }
.broadcast-channel, .broadcast-top .player-live { min-height: 2rem; display: inline-flex; align-items: center; gap: .45rem; padding: .42rem .65rem; border-radius: .3rem; background: rgba(5,14,31,.86); color: #fff; font-size: clamp(.52rem, 1.6vw, .68rem); font-style: normal; font-weight: 800; letter-spacing: .1em; backdrop-filter: blur(.5rem); }
.broadcast-scorebug { display: flex; align-items: stretch; min-height: 2rem; margin-inline: auto; border-radius: .25rem; overflow: hidden; box-shadow: 0 .4rem 1.2rem rgba(0,0,0,.25); font-size: clamp(.54rem, 1.7vw, .74rem); font-style: normal; font-weight: 800; }
.broadcast-scorebug > * { display: flex; align-items: center; gap: .45rem; padding: .4rem .55rem; }
.broadcast-scorebug time { background: #fff; color: #111827; }
.broadcast-scorebug strong { background: var(--color-red); color: #fff; }
.broadcast-scorebug i { background: var(--color-france); color: #fff; font-style: normal; }
.broadcast-scorebug b { font-size: 1.12em; }
.broadcast-controls { position: absolute; z-index: 4; right: 1rem; bottom: .7rem; left: 1rem; display: grid; grid-template-columns: auto 1fr auto auto; align-items: center; gap: .7rem; color: #fff; font-size: .68rem; pointer-events: none; }
.broadcast-controls > span { width: .7rem; height: .7rem; border-radius: 50%; background: #fff; }
.broadcast-controls > i { height: .18rem; border-radius: 999px; background: linear-gradient(90deg, var(--color-red) 0 38%, rgba(255,255,255,.55) 38%); }
.broadcast-controls small { padding: .14rem .35rem; border: 1px solid rgba(255,255,255,.65); border-radius: .2rem; }

.editorial-section { background: #f1f3f6; color: var(--color-navy-dark); }
.editorial-grid { align-items: start; }
.editorial-story { display: grid; gap: 1rem; }
.editorial-card { padding: clamp(1.25rem, 3vw, 2rem); border: 1px solid #dfe3e9; border-radius: 1rem; background: #fff; box-shadow: 0 .75rem 2.4rem rgba(10,31,68,.06); }
.editorial-card-lead { border: 0; background: linear-gradient(135deg, var(--color-navy-dark), var(--color-navy)); color: #fff; }
.editorial-card-conclusion { border-left: .28rem solid var(--color-red); }
.editorial-card h3 { margin: .55rem 0 1rem; color: var(--color-navy-dark); font-size: clamp(1.3rem, 2.4vw, 2rem); }
.editorial-card p { margin-bottom: 1rem; color: #454c58; }
.editorial-card p:last-child { margin-bottom: 0; }
.editorial-card-lead h3, .editorial-card-lead p { color: #fff; }
.editorial-index { color: var(--color-red); font-size: .68rem; font-weight: 800; letter-spacing: .13em; }
.editorial-card-lead .editorial-index { color: #ff8b93; }
.editorial-aside { position: sticky; top: calc(var(--header-height) + 4.2rem); }
.quote-card { border: 0; background: var(--color-france); color: #fff; }
.quote-card cite { color: #cad3e3; }
.fact-card { border: 0; background: var(--color-bordo); }

.guide-section { background: #fff; }
.guide-grid { gap: 1rem; }
.guide-grid article { border-color: #dfe3e9; background: #f7f8fa; box-shadow: 0 .65rem 2rem rgba(10,31,68,.05); }
.guide-grid article > span { color: rgba(0,48,80,.07); }
.guide-grid h3 { color: var(--color-navy-dark); }
.guide-grid p { color: #5b6270; }
.watch-note-main { background: linear-gradient(145deg, var(--color-bordo), #32131b); }
.watch-notes li { border-color: #dde1e8; background: #fff; box-shadow: 0 .5rem 1.5rem rgba(10,31,68,.04); }
.watch-notes li strong { color: var(--color-navy-dark); }

.news-section { background: #fff; }
.news-card { border-color: #dde1e8; background: #fff; box-shadow: 0 .75rem 2.3rem rgba(10,31,68,.07); }
.news-card-image { background: #e7e9ee; }
.news-card h3 { color: var(--color-navy-dark); }
.news-card p { color: #5f6673; }
.card-meta { color: #747b86; }
.card-footer { border-top-color: #e3e6eb; color: #6d7480; }
.card-footer .text-link { color: var(--color-red); }

.faq-section { background: #f3f5f7; }
.faq-section h2 { color: var(--color-navy-dark); }
.faq-list { border-top-color: #d9dde4; }
.faq-list details { border-bottom-color: #d9dde4; }
.faq-list summary { color: var(--color-navy-dark); }
.faq-list summary span { border-color: #cfd4dc; }
.faq-list details > div { color: #5f6673; }

.breadcrumbs { background: #fff; }
.breadcrumbs ol { color: #69717d; }
.breadcrumbs a { color: var(--color-navy); }
.cluster-hero, .service-hero, .profile-hero, .player-profile-hero { color: #fff; }
.cluster-hero h1, .service-hero h1, .profile-hero h1, .player-profile-hero h1 { color: #fff; }
.cluster-hero p, .service-hero p, .profile-hero p, .player-profile-hero p { color: #d3dbe7; }
.cluster-hero .page-update { color: #d3dbe7; }
.article-header { background: #fff; }
.article-header h1 { color: var(--color-navy-dark); }
.article-lead, .article-content > p:first-of-type { color: #4f5663; }
.article-byline { border-top-color: #dde1e8; }
.article-callout, .key-points, .lineup-grid > div { border-color: #dde1e8; background: #f5f7f9; color: #3f4652; }
.article-cta { color: #fff; }
.article-cta h2, .article-cta p { color: #fff; }
.team-feature-fransa { color: #fff; }
.team-feature-fransa h2 { color: #fff; }
.team-feature-fransa p { color: #cbd4e2; }
.team-feature-fransa .team-visual { background: radial-gradient(circle, rgba(255,255,255,.1), transparent 56%), #101d37; }
.team-copy h2 { color: var(--color-navy-dark); }
.team-feature-fransa .team-copy h2 { color: #fff; }
.profile-tags span { border-color: rgba(255,255,255,.25); }
.player-profile-photo { background: #20273a; }
.filter-bar, .contact-card, .sitemap-grid > div, .stats-grid > div, .format-flow > div, .schedule-list article { border-color: #dde1e8; background: #fff; box-shadow: 0 .55rem 1.8rem rgba(10,31,68,.05); }
.field label, .error-search label { color: #5b6370; }
.field input, .field select, .error-search input { border-color: #d7dce4; background: #fff; color: var(--color-navy-dark); }
.search-field button { border-color: #d7dce4; background: #eef1f4; color: var(--color-navy-dark); }
.prose p, .prose li { color: #414854; }
.prose a { color: var(--color-red); }
.player-card { border-color: #dfe2e8; background: #fff; box-shadow: 0 .65rem 2rem rgba(10,31,68,.06); }
.player-card h3 { color: var(--color-navy-dark); }
.player-metrics span { background: #f2f4f7; color: #69717d; }
.player-metrics strong { color: var(--color-navy-dark); }
.group-table { border-color: #dce0e7; }
.group-table > div { border-bottom-color: #e4e7ec; }
.group-table .group-head { background: #eef1f4; color: #5b6370; }
.schedule-section { background: #f3f5f7; }
.schedule-list time, .schedule-list span { color: #69717d; }
.schedule-list time strong, .schedule-list h3 { color: var(--color-navy-dark); }
.service-note { color: #525966; }
.sitemap-grid a { color: var(--color-navy); }

.site-footer { border-top-color: rgba(255,255,255,.1); background: #081426; color: #fff; }
.site-footer p { color: #aeb8c8; }
.footer-brand img { width: 4rem; height: 5.5rem; padding: .35rem; border-radius: .35rem; background: #fff; object-fit: contain; }
.footer-grid li { color: #b8c1cf; }
.footer-grid .text-link { color: #fff; }

@media (min-width: 48rem) {
  :root { --header-height: 6rem; }
  .logo { width: 3.8rem; height: 5.6rem; }
  .site-nav a { min-height: var(--header-height); color: #252a35; }
  .site-nav a[aria-current="page"] { color: var(--color-navy-dark); border-bottom-color: var(--color-red); }
  .editorial-story { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .editorial-card-lead, .editorial-card-conclusion { grid-column: 1 / -1; }
}

@media (hover: hover) and (pointer: fine) {
  a:hover { color: #ff7780; }
  .button:hover { transform: translateY(-.14rem); color: inherit; }
  .button-primary:hover { background: #ff1222; }
  .news-card:hover, .player-card:hover { transform: translateY(-.4rem); border-color: rgba(0,48,80,.28); }
  .news-card:hover .news-card-image img { transform: scale(1.035); }
  .player-card:hover { background: var(--card-accent, var(--surface)); }
  .anchor-nav a:hover { color: var(--color-navy-dark); border-bottom-color: var(--color-red); }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

@media print {
  .site-header, .anchor-nav, .mobile-watch, .watch-banner, .cta-strip, .site-footer, .button, .player-shell { display: none !important; }
  body { background: #fff; color: #000; }
  p, .prose p { color: #222; }
  a { color: #000; text-decoration: underline; }
  .section { padding-block: 1rem; }
}

/* Compact editorial system v3 — aligned with the owner's existing portals */
:root {
  --font-body: "Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-display: "Manrope", "Inter", ui-sans-serif, system-ui, sans-serif;
  --container: 80rem;
  --header-height: 4rem;
  --radius: .75rem;
  --radius-lg: 1rem;
  --shadow-soft: 0 .75rem 2.4rem rgba(10, 31, 68, .08);
}

body { font-family: var(--font-body); font-size: .95rem; line-height: 1.62; }
h1, h2, h3, h4, h5, h6, .button, .site-nav, .brand-copy, .section-number, .shirt-number { font-family: var(--font-display); }
h1, h2, h3 { letter-spacing: -.045em; }
h1 { font-size: clamp(2.55rem, 6.5vw, 5.75rem); }
h2 { font-size: clamp(1.9rem, 3.5vw, 3.25rem); }
h3 { font-size: clamp(1.05rem, 1.7vw, 1.35rem); letter-spacing: -.025em; }
.container { width: min(100% - 2rem - env(safe-area-inset-left) - env(safe-area-inset-right), var(--container)); }
.section { padding-block: clamp(3.25rem, 6vw, 5rem); }
.section-heading { margin-bottom: clamp(1.75rem, 3.5vw, 2.75rem); }
.section-heading h2 { max-width: 49rem; }
.section-heading p { max-width: 44rem; margin: .65rem 0 0; }
.section-number { min-width: 3.5rem; font-size: clamp(2.75rem, 5vw, 4.75rem); line-height: .8; }
.section-kicker, .eyebrow { font-family: var(--font-display); font-size: .65rem; font-weight: 800; letter-spacing: .14em; }
.button { min-height: 2.8rem; padding: .65rem 1.15rem; border-radius: .55rem; font-size: .76rem; letter-spacing: .02em; }
.button-large { min-height: 3.15rem; padding-inline: 1.35rem; }

/* Two-level header */
.site-topbar { position: relative; z-index: 102; height: 1.85rem; color: #cbd5e3; background: #071a34; }
.site-topbar-inner { height: 100%; display: flex; align-items: center; justify-content: space-between; gap: 1rem; font-family: var(--font-display); font-size: .54rem; font-weight: 800; letter-spacing: .115em; white-space: nowrap; }
.topbar-countdown { color: #d6ad55; }
.topbar-countdown strong { margin-left: .35rem; color: #fff; font-variant-numeric: tabular-nums; }
.topbar-status { display: flex; align-items: center; gap: .4rem; }
.topbar-status i { width: .38rem; height: .38rem; border-radius: 50%; background: #42d7d0; box-shadow: 0 0 0 .2rem rgba(66, 215, 208, .12); }
.site-header { height: var(--header-height); background: rgba(255,255,255,.98); }
.header-inner { gap: clamp(.75rem, 2vw, 1.5rem); }
.site-brand { min-width: 0; display: flex; align-items: center; gap: .72rem; color: #13213a; }
.brand-logo { width: 2.25rem; height: 3.3rem; flex: 0 0 auto; display: grid; place-items: center; }
.brand-logo img { width: 100%; height: 100%; object-fit: contain; }
.brand-copy { min-width: 0; display: grid; padding-left: .72rem; border-left: 1px solid #dce1e8; line-height: 1.1; }
.brand-copy strong { font-size: .64rem; letter-spacing: .13em; }
.brand-copy small { margin-top: .33rem; overflow: hidden; color: #243653; font-size: .52rem; font-weight: 800; letter-spacing: .12em; text-overflow: ellipsis; white-space: nowrap; }
.header-live { display: none; min-height: 2.7rem; align-items: center; gap: .48rem; padding: .55rem .9rem; border-left: 1px solid #dfe3e9; color: #0060a0; font-family: var(--font-display); font-size: .68rem; font-weight: 800; letter-spacing: .04em; }
.header-live span { width: 1.45rem; height: 1.45rem; display: grid; place-items: center; border-radius: 50%; background: #28aee8; color: #fff; font-size: .66rem; }
.nav-toggle { flex: 0 0 auto; border-color: #dfe3e9; }
.nav-toggle span:not(.sr-only) { background: #17213a; }
.site-nav { inset: var(--header-height) 0 auto; }
.site-nav a { font-family: var(--font-display); font-size: .72rem; letter-spacing: -.01em; }

/* Compact match hero */
.hero { min-height: clamp(37rem, 78svh, 45rem); }
.hero::after { background: linear-gradient(180deg, rgba(5,14,31,.27), rgba(5,17,38,.56) 52%, rgba(8,16,31,.96) 100%); }
.hero-content { max-width: 70rem; padding-block: clamp(2.1rem, 4vw, 3.5rem) 5.7rem; }
.hero-topline { gap: .45rem; }
.hero-topline span { padding: .3rem .58rem; font-size: .59rem; }
.hero-teams { gap: clamp(1.5rem, 6vw, 4.5rem); margin: clamp(1.5rem, 3.5vw, 2.5rem) auto .9rem; }
.hero-team { min-width: 6.25rem; gap: .55rem; font-size: .78rem; }
.hero-team img { width: clamp(3.7rem, 7vw, 5rem); }
.versus { width: 2.5rem; height: 2.5rem; font-size: .62rem; }
.hero h1 { margin: 0; font-size: clamp(2.85rem, 7.1vw, 5.9rem); letter-spacing: -.065em; }
.hero h1 span { display: inline; }
.hero h1 span + span { margin-left: .14em; }
.hero-tagline { margin: .35rem 0 .95rem; font-family: var(--font-display); font-size: clamp(1.05rem, 2.2vw, 1.55rem); font-style: italic; font-weight: 450; letter-spacing: -.025em; }
.match-facts { gap: .55rem; font-size: .58rem; }
.countdown { max-width: 33rem; margin-top: 1.55rem; padding: 1rem .75rem .85rem; border-radius: .8rem; }
.countdown-label { margin-bottom: .65rem; font-size: .58rem; }
.countdown-grid > span { min-width: 3.2rem; }
.countdown-grid strong { font-size: clamp(1.75rem, 4vw, 2.75rem); }
.countdown-grid small { font-size: .45rem; }
.countdown-grid b { font-size: 1.35rem; }
.countdown-state { margin-top: .6rem; font-size: .68rem; }
.scroll-cue { bottom: .7rem; font-size: .55rem; }

.watch-banner { padding-block: 1.35rem; }
.watch-banner h2 { margin-bottom: .2rem; font-size: clamp(1.35rem, 2.4vw, 2rem); }
.watch-banner p { margin: 0; font-size: .84rem; }
.anchor-nav a { min-height: 2.85rem; padding-inline: .85rem; font-size: .66rem; }

/* Denser cards and editorial blocks */
.panel { border-radius: .9rem; }
.match-brief-strip { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); margin-top: .85rem; overflow: hidden; border: 1px solid #dfe3e9; border-radius: .75rem; background: #fff; }
.match-brief-strip > div { min-height: 4rem; display: grid; align-content: center; padding: .65rem .8rem; border-right: 1px solid #e5e8ed; border-bottom: 1px solid #e5e8ed; }
.match-brief-strip span { color: #526174; font-size: .52rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.match-brief-strip strong { margin-top: .12rem; color: #12223c; font-size: .71rem; }
.guide-grid { gap: .8rem; }
.guide-grid article { min-height: 11.5rem; padding: 1.2rem; border-radius: .85rem; }
.guide-grid article > span { font-size: 3.5rem; }
.editorial-card { padding: 1.35rem; border-radius: .85rem; }
.news-card { border-radius: .85rem; }
.news-card-body { padding: 1.05rem; }
.cluster-hero, .service-hero { padding-block: clamp(3.25rem, 7vw, 5.75rem); }
.cluster-hero h1, .service-hero h1 { max-width: 56rem; margin: .5rem 0 .8rem; font-size: clamp(2.45rem, 5.5vw, 4.75rem); }
.cluster-hero p, .service-hero p { font-size: clamp(.95rem, 1.6vw, 1.1rem); }

/* Player cards */
.player-grid { gap: .85rem; }
.player-card { display: flex; flex-direction: column; border-radius: .8rem; border-bottom-width: .16rem; box-shadow: 0 .55rem 1.8rem rgba(10,31,68,.07); }
.player-photo { aspect-ratio: 6 / 5; background: linear-gradient(145deg, #13253d, #0b1730); }
.player-photo::after { content: ""; position: absolute; inset: auto 0 0; height: 42%; background: linear-gradient(transparent, rgba(4,12,28,.52)); pointer-events: none; }
.player-photo img { object-position: center 15%; }
.shirt-number { z-index: 1; top: .65rem; right: .65rem; bottom: auto; min-width: 2.05rem; height: 2.05rem; display: grid; place-items: center; padding-inline: .4rem; border: 1px solid rgba(255,255,255,.45); border-radius: .55rem; background: rgba(5,18,39,.82); color: #fff; font-size: .8rem; text-shadow: none; backdrop-filter: blur(.35rem); }
.player-card-body { flex: 1; display: flex; flex-direction: column; padding: .85rem .9rem .9rem; }
.team-label { font-size: .56rem; letter-spacing: .04em; }
.team-label img { width: 1rem; height: .7rem; }
.player-card h3 { margin: .42rem 0 .2rem; font-size: 1.02rem; }
.player-club { margin: 0 0 .6rem; color: #6a7280; font-size: .67rem; line-height: 1.35; }
.player-card-fact { display: -webkit-box; margin: 0 0 .75rem; overflow: hidden; color: #4f5866; font-size: .7rem; line-height: 1.48; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.player-metrics { gap: .25rem; margin-top: auto; margin-bottom: .75rem; }
.player-metrics span { min-width: 0; padding: .43rem .35rem; border: 1px solid #e7eaf0; border-radius: .38rem; background: #f5f7f9; color: #69717e; font-size: .48rem; }
.player-metrics strong { overflow: hidden; color: #111c31; font-size: .65rem; text-overflow: ellipsis; white-space: nowrap; }
.player-detail-link { min-height: 2.3rem; display: flex; align-items: center; justify-content: space-between; padding: .5rem .68rem; border: 1px solid #dce1e8; border-radius: .48rem; color: #15243d; font-family: var(--font-display); font-size: .64rem; font-weight: 800; }

/* Teams hub */
.cluster-hero-inner { display: grid; gap: 1.5rem; align-items: end; }
.hero-match-card { max-width: 27rem; display: grid; gap: .45rem; padding: 1.2rem; border: 1px solid rgba(255,255,255,.2); border-radius: .85rem; background: rgba(5,18,39,.56); box-shadow: 0 1rem 3rem rgba(0,0,0,.16); backdrop-filter: blur(.6rem); }
.hero-match-card > span { color: #d6ad55; font-size: .58rem; font-weight: 800; letter-spacing: .14em; }
.hero-match-card strong { font-family: var(--font-display); font-size: clamp(1.2rem, 2.8vw, 1.75rem); }
.hero-match-card b { padding-inline: .45rem; color: #ef3340; }
.hero-match-card small { color: #c8d1df; font-size: .72rem; }
.hero-match-card a { margin-top: .35rem; color: #fff; font-size: .7rem; font-weight: 800; }
.team-summary-strip { border-bottom: 1px solid #dfe3e9; background: #f4f6f8; }
.team-summary-strip .container { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); }
.team-summary-strip .container > div { min-height: 4.3rem; display: grid; align-content: center; padding: .7rem .8rem; border-right: 1px solid #dfe3e9; }
.team-summary-strip span { color: #79818e; font-size: .56rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.team-summary-strip strong { margin-top: .17rem; color: #14223a; font-size: .72rem; }
.team-feature-grid { gap: clamp(1.7rem, 5vw, 4.5rem); }
.team-feature-fransa { background: #0b1c38; }
.team-visual { min-height: 19rem; border-radius: .85rem; background: linear-gradient(145deg, #f5f7fa, #e7ebf0); }
.team-feature-fransa .team-visual { background: linear-gradient(145deg, #13284d, #08162e); }
.team-code { top: .4rem; left: .6rem; color: rgba(11,30,58,.055); font-size: clamp(6rem, 15vw, 10rem); }
.team-feature-fransa .team-code { color: rgba(255,255,255,.045); }
.team-flag-frame { position: relative; z-index: 1; width: min(68%, 17rem); padding: .35rem; border-radius: .35rem; background: #fff; box-shadow: 0 1rem 2.8rem rgba(10,31,68,.18); }
.team-flag-frame img { width: 100%; }
.team-visual figcaption { position: absolute; z-index: 2; right: .75rem; bottom: .75rem; left: .75rem; display: grid; grid-template-columns: 1fr auto; align-items: center; padding: .65rem .75rem; border: 1px solid rgba(255,255,255,.2); border-radius: .52rem; background: rgba(12,22,40,.88); color: #fff; backdrop-filter: blur(.5rem); }
.team-visual figcaption span { grid-column: 1 / -1; color: #aeb9c9; font-size: .5rem; text-transform: uppercase; }
.team-visual figcaption strong { font-size: .72rem; }
.team-visual figcaption small { color: #d6ad55; font-size: .58rem; }
.team-copy h2 { margin: .25rem 0 .75rem; }
.lead-text { font-size: .98rem; }
.team-mini-facts { display: grid; grid-template-columns: repeat(3, 1fr); margin: 1.2rem 0; border-block: 1px solid #e0e4ea; }
.team-mini-facts span { display: grid; gap: .1rem; padding: .75rem .45rem; color: #737b88; font-size: .55rem; }
.team-mini-facts strong { color: #13223b; font-size: 1rem; }
.team-feature-fransa .team-mini-facts { border-color: rgba(255,255,255,.16); }
.team-feature-fransa .team-mini-facts strong { color: #fff; }
.fact-inline { margin: 1rem 0; padding: .8rem .9rem; background: #f5f6f8; }
.fact-inline p { font-size: .78rem; }
.team-feature-fransa .fact-inline { background: rgba(255,255,255,.06); }
.soft-link { display: inline-flex; align-items: center; gap: .6rem; color: #e00010; font-family: var(--font-display); font-size: .73rem; font-weight: 800; }
.team-principles { display: grid; gap: .75rem; margin-top: 2rem; }
.team-principles article { padding: 1rem; border: 1px solid #e0e4ea; border-radius: .7rem; background: rgba(255,255,255,.04); }
.team-principles article > span { color: #e00010; font-size: .62rem; font-weight: 800; letter-spacing: .1em; }
.team-principles h3 { margin: .45rem 0 .45rem; font-size: 1rem; }
.team-principles p { margin: 0; font-size: .75rem; }
.team-feature-fransa .team-principles article { border-color: rgba(255,255,255,.15); }
.team-feature-fransa .team-principles h3 { color: #fff; }
.team-player-block { margin-top: 2.5rem; }
.subsection-heading { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin-bottom: 1.2rem; }
.subsection-heading h3 { margin: .25rem 0 0; font-size: clamp(1.35rem, 2.4vw, 2rem); }
.subsection-heading > a { flex: 0 0 auto; color: #e00010; font-size: .7rem; font-weight: 800; }
.team-feature-fransa .subsection-heading h3 { color: #fff; }

.comparison-section { background: #f3f5f7; }
.comparison-table { overflow: hidden; border: 1px solid #dce1e8; border-radius: .85rem; background: #fff; box-shadow: var(--shadow-soft); }
.comparison-head, .comparison-row { display: grid; grid-template-columns: .72fr 1.2fr 1.2fr; gap: 1rem; align-items: center; padding: .9rem 1rem; }
.comparison-head { background: #0a1f44; color: #fff; font-size: .65rem; }
.comparison-row { border-top: 1px solid #e4e7ec; }
.comparison-row > span { color: #e00010; font-size: .64rem; font-weight: 800; text-transform: uppercase; }
.comparison-row p { margin: 0; color: #4a5361; font-size: .76rem; }
.team-sources-section { background: #fff; }
.source-panel { display: grid; gap: 1.5rem; padding: clamp(1.4rem, 3vw, 2.25rem); border-left: .22rem solid #c8a050; background: #0b1d37; border-radius: 0 .85rem .85rem 0; }
.source-panel h2 { margin: .3rem 0 .6rem; color: #fff; }
.source-panel p { margin: 0; color: #bdc7d5; }
.source-links { display: grid; gap: .55rem; align-content: center; }
.source-links a { padding: .65rem .75rem; border: 1px solid rgba(255,255,255,.15); border-radius: .45rem; color: #fff; font-size: .68rem; font-weight: 700; }
.compact-cta { padding-block: 1.8rem; }
.compact-cta h2 { font-size: clamp(1.55rem, 2.8vw, 2.35rem); }

/* Team detail */
.profile-hero { padding-block: clamp(3rem, 6vw, 5rem); }
.profile-hero-grid { gap: clamp(1.5rem, 5vw, 4rem); }
.profile-hero h1 { max-width: 45rem; margin: .45rem 0 .8rem; font-size: clamp(2.55rem, 5.8vw, 4.8rem); }
.profile-hero p { max-width: 42rem; font-size: .95rem; }
.profile-emblem { min-height: 16rem; }
.profile-emblem > span { font-size: clamp(7rem, 17vw, 11rem); }
.profile-emblem > div { position: relative; z-index: 1; width: min(76%, 19rem); padding: .35rem; border-radius: .35rem; background: #fff; box-shadow: 0 1.3rem 3rem rgba(0,0,0,.25); }
.profile-emblem img { width: 100%; }
.team-metric-band { border-bottom: 1px solid #dfe3e9; background: #fff; }
.team-metric-band .container { display: grid; grid-template-columns: repeat(2, 1fr); }
.team-metric-band .container > div { min-height: 4.5rem; display: grid; align-content: center; padding: .7rem; border-right: 1px solid #e2e5ea; }
.team-metric-band strong { color: #0a1f44; font-family: var(--font-display); font-size: 1.15rem; }
.team-metric-band span { color: #707987; font-size: .56rem; font-weight: 700; text-transform: uppercase; }
.team-identity .two-column { align-items: start; }
.team-identity .prose { max-width: 47rem; }
.team-identity .prose h2 { margin: .3rem 0 1.1rem; }
.team-check-card { padding: 1.3rem; border-radius: .8rem; background: #0a1f44; box-shadow: var(--shadow-soft); color: #fff; }
.team-check-card > span { color: #d6ad55; font-size: .58rem; font-weight: 800; letter-spacing: .12em; }
.team-check-card h3 { margin: .55rem 0 1rem; color: #fff; }
.team-check-card dl { margin: 0; }
.team-check-card dl > div { display: flex; justify-content: space-between; gap: 1rem; padding: .65rem 0; border-top: 1px solid rgba(255,255,255,.12); }
.team-check-card dt { color: #aeb9c9; font-size: .65rem; }
.team-check-card dd { margin: 0; font-size: .72rem; font-weight: 800; }
.team-check-card p { margin: .9rem 0 0; color: #adb9c9; font-size: .67rem; }
.team-principles.detailed { margin-top: 0; }
.strength-risk-grid { display: grid; gap: .8rem; margin-top: .8rem; }
.strength-risk-grid article { padding: 1.1rem; border-radius: .7rem; background: #fff; box-shadow: var(--shadow-soft); }
.strength-risk-grid article > span { color: #e00010; font-size: .6rem; font-weight: 800; letter-spacing: .1em; }
.strength-risk-grid ul { margin: .75rem 0 0; padding-left: 1.1rem; color: #46505f; }
.strength-risk-grid li { margin-bottom: .42rem; font-size: .78rem; }
.team-timeline { display: grid; max-width: 58rem; }
.team-timeline article { display: grid; grid-template-columns: 4.5rem 1fr; gap: 1rem; padding: 1rem 0; border-top: 1px solid #dfe3e9; }
.team-timeline time { color: #e00010; font-family: var(--font-display); font-size: 1.1rem; font-weight: 800; }
.team-timeline h3 { margin: 0 0 .35rem; }
.team-timeline p { margin: 0; font-size: .8rem; }
.match-plan-section { background: #fff; }
.match-key-grid { display: grid; gap: .8rem; }
.match-key-grid article { padding: 1.15rem; border: 1px solid #dfe3e9; border-radius: .75rem; }
.match-key-grid article > span { color: #d3d9e2; font-family: var(--font-display); font-size: 2rem; font-weight: 800; }
.match-key-grid h3 { margin: .15rem 0 .5rem; }
.match-key-grid p { margin: 0; font-size: .78rem; }
.team-source-note { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .75rem 1.5rem; margin-top: 1.2rem; padding: .9rem 1rem; border-radius: .6rem; background: #f3f5f7; }
.team-source-note strong { color: #15243d; font-size: .68rem; }
.team-source-note > div { display: flex; flex-wrap: wrap; gap: .5rem 1rem; }
.team-source-note a { color: #0060a0; font-size: .66rem; font-weight: 700; }

@media (min-width: 26.875rem) {
  .team-metric-band .container { grid-template-columns: repeat(4, 1fr); }
}

@media (min-width: 48rem) {
  :root { --header-height: 4.9rem; }
  .site-topbar { height: 2.1rem; }
  .site-topbar-inner { font-size: .58rem; }
  .brand-logo { width: 2.7rem; height: 4rem; }
  .brand-copy { padding-left: .9rem; }
  .brand-copy strong { font-size: .72rem; }
  .brand-copy small { font-size: .56rem; }
  .site-nav { margin-left: auto; gap: clamp(.65rem, 1.5vw, 1.35rem); }
  .site-nav a { min-height: var(--header-height); padding-top: .12rem; font-size: .69rem; color: #24304a; }
  .site-nav a[aria-current="page"] { color: #0a1f44; }
  .header-live { display: flex; }
  .match-brief-strip { grid-template-columns: repeat(4, 1fr); }
  .match-brief-strip > div { min-height: 4.4rem; border-bottom: 0; }
  .cluster-hero-inner { grid-template-columns: minmax(0,1fr) minmax(20rem,.55fr); }
  .team-summary-strip .container { grid-template-columns: repeat(4, 1fr); }
  .team-summary-strip .container > div { min-height: 4.8rem; }
  .team-principles { grid-template-columns: repeat(3, 1fr); }
  .source-panel { grid-template-columns: 1.15fr .85fr; }
  .strength-risk-grid { grid-template-columns: repeat(2, 1fr); }
  .match-key-grid { grid-template-columns: repeat(3, 1fr); }
  .team-metric-band .container > div { min-height: 5.25rem; }
}

@media (min-width: 64rem) {
  .player-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .hero-content { padding-top: 2.6rem; }
}

@media (min-width: 80rem) {
  .site-nav { gap: 1.55rem; }
  .site-nav a { font-size: .73rem; }
  .header-live { padding-inline: 1rem; }
}

@media (max-width: 63.999rem) and (min-width: 48rem) {
  .brand-copy small { display: none; }
  .site-nav { gap: .7rem; }
  .site-nav a { font-size: .63rem; }
  .header-live { padding-inline: .7rem; font-size: .61rem; }
}

@media (max-width: 47.999rem) {
  .topbar-place { display: none; }
  .site-topbar-inner { justify-content: center; }
  .topbar-status { display: none; }
  .brand-copy small { max-width: 11.5rem; }
  .hero { min-height: 39rem; }
  .hero h1 { font-size: clamp(2.65rem, 14vw, 4.5rem); }
  .watch-banner-inner { text-align: left; }
  .watch-banner .button { width: 100%; }
  .comparison-table { overflow-x: auto; }
  .comparison-head, .comparison-row { min-width: 39rem; }
  .team-feature-grid { gap: 1.4rem; }
  .team-feature-fransa .team-visual { order: 0; }
  .source-panel { padding: 1.25rem; }
}

@media (max-width: 26.874rem) {
  .brand-copy small { display: none; }
  .brand-copy strong { font-size: .58rem; }
  .hero-team { min-width: 4.7rem; }
  .hero-teams { gap: .75rem; }
  .countdown-grid > span { min-width: 2.75rem; }
  .section-heading { gap: .65rem; }
  .player-grid { grid-template-columns: 1fr; }
  .subsection-heading { align-items: start; flex-direction: column; }
  .team-summary-strip .container > div:nth-child(even) { border-right: 0; }
}

@media (hover: hover) and (pointer: fine) {
  .player-card:hover { color: #fff; background: var(--card-accent, #0a1f44); box-shadow: 0 1rem 2.7rem rgba(10,31,68,.18); }
  .player-card:hover h3, .player-card:hover h3 a, .player-card:hover .player-club, .player-card:hover .player-card-fact, .player-card:hover .team-label { color: #fff; }
  .player-card:hover .player-metrics span { border-color: rgba(255,255,255,.16); background: rgba(255,255,255,.09); color: rgba(255,255,255,.74); }
  .player-card:hover .player-metrics strong { color: #fff; }
  .player-card:hover .player-detail-link { border-color: rgba(255,255,255,.35); color: #fff; }
  .source-links a:hover { border-color: #d6ad55; color: #fff; }
}

@media print {
  .site-topbar, .site-header, .anchor-nav, .mobile-watch, .watch-banner, .cta-strip, .site-footer, .button, .player-shell { display: none !important; }
  body, .section { background: #fff !important; color: #000; }
  .section { padding-block: 1rem; }
  p, .prose p { color: #222; }
}

/* Professional football interface v4 */
:root {
  --telegram: #229ed9;
  --telegram-dark: #087eba;
  --ink: #0b1428;
  --paper: #fff;
  --paper-soft: #f4f7fb;
}

body { color: var(--ink); background: var(--paper); }
h1, h2, h3, h4 { text-wrap: balance; }
h1, h2 { letter-spacing: -.04em; }
p { color: #4d596c; }
.section-heading { position: relative; padding-left: 1rem; }
.section-heading::before { content: ""; position: absolute; top: .15rem; bottom: .15rem; left: 0; width: .22rem; border-radius: 999px; background: linear-gradient(180deg, var(--color-red), #ff5a66); }
.section-heading.simple { padding-left: 1rem; }
.section-heading h2 { margin-top: .28rem; }
.section-heading p { color: #536174; font-size: .9rem; line-height: 1.58; }

/* Header and Telegram identity */
.header-live.telegram-link { gap: .62rem; border-left: 0; border-radius: .55rem; background: #f2f8fc; color: #075f90; letter-spacing: 0; }
.header-live.telegram-link > img { width: 1.65rem; height: 1.65rem; flex: 0 0 auto; }
.header-live.telegram-link > span { width: auto; height: auto; display: grid; place-items: initial; border-radius: 0; background: transparent; color: inherit; line-height: 1.08; }
.header-live.telegram-link strong { font-size: .67rem; letter-spacing: .035em; }
.header-live.telegram-link small { margin-top: .2rem; color: #50728a; font-size: .48rem; font-weight: 700; letter-spacing: 0; }
.telegram-text-link { display: inline-flex; align-items: center; gap: .55rem; }
.telegram-text-link img { flex: 0 0 auto; }
.mobile-watch { border-color: rgba(255,255,255,.22); border-radius: .8rem; background: linear-gradient(135deg, var(--telegram), var(--telegram-dark)); }
.mobile-watch > img { width: 1.9rem; height: 1.9rem; }

/* Official UEFA nation marks */
.nation-emblem { position: relative; width: clamp(4rem, 7vw, 5.25rem); aspect-ratio: 1; display: grid; place-items: center; }
.nation-emblem::before { content: ""; position: absolute; inset: .22rem; transform: rotate(45deg); border: 1px solid rgba(255,255,255,.68); border-radius: .45rem; background: rgba(7,18,39,.55); box-shadow: 0 .8rem 2rem rgba(0,0,0,.26); backdrop-filter: blur(.45rem); }
.hero-team .nation-emblem img { position: relative; z-index: 1; width: 72%; height: 72%; padding: 0; border-radius: 50%; background: none; box-shadow: 0 .35rem 1rem rgba(0,0,0,.24); object-fit: contain; }
.score-emblem { width: clamp(3.8rem, 7vw, 5.4rem); aspect-ratio: 1; display: grid; place-items: center; margin-inline: auto; border: 1px solid #dfe5ed; border-radius: 50%; background: #f4f7fb; box-shadow: 0 .65rem 1.8rem rgba(10,31,68,.08); }
.score-team .score-emblem img { width: 84%; height: 84%; object-fit: contain; }
.vote-emblem { width: 2rem; height: 2rem; display: grid; place-items: center; border-radius: 50%; background: #fff; box-shadow: 0 .15rem .6rem rgba(10,31,68,.12); }
.vote-emblem img { width: 100%; height: 100%; object-fit: contain; }
.vote-choice { min-height: 3.7rem; border-radius: .65rem .65rem 0 0; background: #f6f8fb; }

/* Telegram banners and player CTA */
.watch-banner.telegram-banner, .telegram-section-cta { position: relative; overflow: hidden; background: linear-gradient(117deg, #075a91 0%, #168fca 52%, #25a9df 100%); }
.watch-banner.telegram-banner::before, .telegram-section-cta::before { content: ""; position: absolute; inset: 0; opacity: .18; background-image: radial-gradient(circle at 1px 1px, #fff 1px, transparent 0); background-size: 24px 24px; pointer-events: none; }
.watch-banner.telegram-banner::after { content: "TELEGRAM"; right: -1rem; bottom: -3.7rem; color: rgba(255,255,255,.07); font-size: clamp(5rem, 15vw, 12rem); letter-spacing: -.08em; }
.watch-banner-inner { position: relative; z-index: 1; gap: 1.5rem; }
.telegram-banner-copy { display: flex; align-items: center; gap: 1rem; }
.telegram-banner-copy > img { flex: 0 0 auto; width: clamp(2.8rem, 5vw, 3.5rem); filter: drop-shadow(0 .55rem 1rem rgba(0,0,0,.16)); }
.telegram-banner .eyebrow, .telegram-section-cta .eyebrow { color: #bcecff; }
.telegram-banner h2, .telegram-banner p, .telegram-section-cta h2, .telegram-section-cta p { color: #fff; }
.telegram-cta, .player-telegram-cta { justify-content: flex-start; gap: .7rem; text-align: left; }
.telegram-cta > img, .player-telegram-cta > img { flex: 0 0 auto; }
.telegram-cta > span, .player-telegram-cta > span { display: grid; line-height: 1.1; }
.telegram-cta strong, .player-telegram-cta strong { font-size: .76rem; }
.telegram-cta small, .player-telegram-cta small { margin-top: .22rem; opacity: .7; font-size: .54rem; font-weight: 650; }
.telegram-cta > i, .player-telegram-cta > i { margin-left: auto; font-style: normal; }
.player-telegram-cta { min-width: min(90vw, 19rem); border-color: #fff; background: linear-gradient(135deg, var(--telegram), var(--telegram-dark)); box-shadow: 0 .9rem 2rem rgba(0,100,160,.32); }
.telegram-inline-button { gap: .6rem; background: linear-gradient(135deg, var(--telegram), var(--telegram-dark)); }

/* Broadcast surface */
.player-shell { border-color: #07172f; box-shadow: 0 1.4rem 3.8rem rgba(10,31,68,.22); }
.player-overlay { padding: 1rem; background: radial-gradient(circle at center, rgba(5,14,29,.08), rgba(5,14,29,.36) 72%); }
.player-overlay h3 { margin: .6rem 0 .16rem; font-size: clamp(1.55rem, 4vw, 3rem); }
.player-overlay p { margin-bottom: 1rem; font-size: clamp(.52rem, 1.3vw, .72rem); letter-spacing: .14em; }
.play-icon { width: clamp(3.8rem, 7vw, 5.2rem); height: clamp(3.8rem, 7vw, 5.2rem); }
.broadcast-channel, .broadcast-top .player-live { border: 1px solid rgba(255,255,255,.12); }

/* Editorial readability */
.editorial-section { background: #f3f6fa; }
.editorial-card { border-color: #e0e6ee; box-shadow: 0 .65rem 1.8rem rgba(9,31,65,.055); }
.editorial-card:not(.editorial-card-lead) { border-top: .22rem solid #0a1f44; }
.editorial-card h3 { font-size: clamp(1.25rem, 2vw, 1.75rem); line-height: 1.18; }
.editorial-card p { color: #3e4c60; font-size: .91rem; line-height: 1.72; }
.editorial-card-lead { position: relative; overflow: hidden; background: linear-gradient(125deg, #091a36, #073f61); }
.editorial-card-lead::after { content: ""; position: absolute; right: -7rem; bottom: -8rem; width: 18rem; height: 18rem; border: 1px solid rgba(255,255,255,.08); border-radius: 50%; box-shadow: 0 0 0 3rem rgba(255,255,255,.02), 0 0 0 6rem rgba(255,255,255,.018); }
.editorial-card-lead > * { position: relative; z-index: 1; }
.editorial-card.editorial-card-lead p { color: #e8f1fb; }
.editorial-card.editorial-card-lead .dropcap::first-letter { color: #ff4653; }
.quote-card blockquote { color: #fff; font-size: clamp(1.25rem, 2.5vw, 2rem); line-height: 1.36; }
.fact-card p { color: #f0ced2; }

/* Match guide and viewing notes */
.guide-grid article { position: relative; overflow: hidden; min-height: 12rem; border-top: .2rem solid #0a1f44; background: #fff; }
.guide-grid article::after { content: ""; position: absolute; right: -2rem; bottom: -2rem; width: 6rem; height: 6rem; border: 1px solid #e4e9f0; border-radius: 50%; }
.guide-grid article > .guide-icon { position: static; width: 2.65rem; height: 2.65rem; display: grid; place-items: center; margin-bottom: 1.4rem; border-radius: .55rem; background: #eef3f8; color: #0a1f44; font-size: .74rem; font-weight: 800; }
.guide-grid article > .telegram-guide-icon { background: transparent; }
.telegram-guide-icon img { width: 100%; height: 100%; }
.watch-note-main { position: relative; isolation: isolate; overflow: hidden; background: #09182e url("../img/stadium-hero-960.jpg") center/cover no-repeat; }
.watch-note-main::before { content: ""; position: absolute; z-index: -1; inset: 0; background: linear-gradient(115deg, rgba(5,17,39,.95), rgba(6,34,60,.72)); }
.watch-note-main h3, .watch-note-main p { color: #fff; }
.watch-notes li > span { color: var(--color-red); font-size: .62rem; }

/* Team presentation */
.teams-hero, .players-hero { position: relative; isolation: isolate; background: #09182e url("../img/stadium-hero-1680.jpg") center 44%/cover no-repeat; }
.teams-hero::before, .players-hero::before { content: ""; position: absolute; z-index: -1; inset: 0; background: linear-gradient(105deg, rgba(6,18,39,.96), rgba(7,36,62,.77)); }
.team-visual { isolation: isolate; background: #0b1e38 url("../img/stadium-hero-960.jpg") center/cover no-repeat; }
.team-visual::before { content: ""; position: absolute; z-index: -1; inset: 0; background: linear-gradient(145deg, rgba(7,23,47,.92), rgba(14,54,82,.65)); }
.team-feature-turkiye .team-visual::before { background: linear-gradient(145deg, rgba(68,8,21,.92), rgba(122,20,32,.67)); }
.team-emblem-stage, .profile-emblem-mark { position: relative; z-index: 1; width: min(58%, 13rem); aspect-ratio: 1; display: grid; place-items: center; }
.team-emblem-stage > span, .profile-emblem-mark > span { position: absolute; inset: 8%; transform: rotate(45deg); border: 1px solid rgba(255,255,255,.75); border-radius: .7rem; background: rgba(6,18,39,.52); box-shadow: 0 1.4rem 3.4rem rgba(0,0,0,.34); backdrop-filter: blur(.55rem); }
.team-emblem-stage img, .profile-emblem-mark img { position: relative; z-index: 1; width: 70%; height: 70%; object-fit: contain; filter: drop-shadow(0 .7rem 1.5rem rgba(0,0,0,.28)); }
.team-feature-fransa .team-visual { background: #0b1e38 url("../img/stadium-hero-960.jpg") center/cover no-repeat; }
.team-visual figcaption { border-color: rgba(255,255,255,.26); background: rgba(5,17,36,.86); }
.team-principles article { border-top: .18rem solid var(--color-red); background: #fff; box-shadow: 0 .5rem 1.4rem rgba(10,31,68,.04); }
.team-feature-fransa .team-principles article { border-color: rgba(255,255,255,.2); border-top-color: #4bb6ef; background: rgba(255,255,255,.06); }
.team-profile-hero { position: relative; isolation: isolate; background: #08172c url("../img/stadium-hero-1680.jpg") center/cover no-repeat !important; }
.team-profile-hero::before { content: ""; position: absolute; z-index: -1; inset: 0; background: linear-gradient(105deg, rgba(8,21,43,.97), rgba(8,38,66,.74)); }
.team-profile-hero.team-turkiye::before { background: linear-gradient(105deg, rgba(55,7,17,.96), rgba(99,19,31,.74)); }
.profile-emblem > .profile-emblem-mark { width: min(72%, 15rem); padding: 0; border-radius: 0; background: transparent; box-shadow: none; }
.profile-emblem > .profile-emblem-mark img { width: 70%; }
.match-key-grid article { border-top: .2rem solid #0a1f44; background: #fff; box-shadow: 0 .55rem 1.6rem rgba(10,31,68,.05); }
.match-key-grid article > span { color: var(--color-red); font-size: .58rem; letter-spacing: .12em; }

/* Player cutout cards */
.player-photo { isolation: isolate; aspect-ratio: 4 / 5; background: radial-gradient(circle at 50% 38%, #e8eff7 0, #cfdae8 58%, #afbed0 100%); }
.team-card-turkiye .player-photo { background: radial-gradient(circle at 50% 38%, #bb5360 0, #7a1420 58%, #410713 100%); }
.team-card-fransa .player-photo { background: radial-gradient(circle at 50% 38%, #244a7e 0, #0a1f44 60%, #041127 100%); }
.player-photo::before { content: ""; position: absolute; z-index: -1; inset: 0; opacity: .26; background-image: linear-gradient(rgba(255,255,255,.18) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.18) 1px, transparent 1px); background-size: 3rem 3rem; mask-image: linear-gradient(to bottom, #000, transparent 85%); }
.player-photo::after { z-index: 1; height: 28%; background: linear-gradient(transparent, rgba(2,9,22,.38)); }
.player-photo img { position: relative; z-index: 0; width: 100%; height: 100%; padding: .55rem .35rem 0; object-fit: contain; object-position: center bottom; }
.portrait-status { position: absolute; z-index: 2; top: .75rem; left: .75rem; padding: .35rem .48rem; border: 1px solid rgba(255,255,255,.28); border-radius: .3rem; background: rgba(5,18,39,.55); color: #fff; font-size: .46rem; font-weight: 800; letter-spacing: .09em; backdrop-filter: blur(.35rem); }
.shirt-number { z-index: 3; }
.team-label { color: #687386; }
.team-label img { width: 1.15rem; height: 1.15rem; border-radius: 50%; object-fit: contain; }
.player-card-body { border-top: 1px solid #e5eaf0; }
.player-card h3 { line-height: 1.15; }
.player-card-fact { min-height: 3.12rem; }
.player-profile-hero { position: relative; isolation: isolate; background: #07172e url("../img/stadium-hero-1680.jpg") center/cover no-repeat; }
.player-profile-hero { background-image: image-set(url("../img/stadium-hero-1680.webp") type("image/webp"), url("../img/stadium-hero-1680.jpg") type("image/jpeg")); }
.player-profile-hero::before { content: ""; position: absolute; z-index: -1; inset: 0; background: linear-gradient(105deg, rgba(6,18,39,.96), rgba(6,47,75,.78)); }
.player-profile-photo { aspect-ratio: 4/5; overflow: hidden; border: 1px solid rgba(255,255,255,.18); background: radial-gradient(circle at 50% 38%, #274d7c, #0a1f44 65%); }
.player-profile-photo img { width: 100%; height: 100%; padding: 1rem 1rem 0; object-fit: contain; object-position: center bottom; }
.player-profile-photo > .portrait-status { right: auto; bottom: auto; font-size: .5rem; }
.player-profile-photo > .profile-shirt-number { z-index: 2; color: rgba(255,255,255,.9); }

/* Tournament atmosphere */
.tournament-hero { position: relative; isolation: isolate; overflow: hidden; background: #07162b; }
.tournament-hero::before { content: ""; position: absolute; z-index: -1; inset: 0; background: linear-gradient(98deg, rgba(4,16,36,.97), rgba(4,31,58,.77) 64%, rgba(7,20,42,.78)); }
.tournament-hero-media { position: absolute; z-index: -2; inset: 0; }
.tournament-hero-media picture, .tournament-hero-media img { width: 100%; height: 100%; }
.tournament-hero-media img { object-fit: cover; object-position: center 42%; }
.tournament-hero-content { position: relative; display: grid; grid-template-columns: auto 1fr; gap: 1.35rem; align-items: center; }
.tournament-mark { width: clamp(3.8rem, 7vw, 5.2rem); height: auto; padding: .5rem; border-radius: .55rem; background: #fff; box-shadow: 0 1rem 2.2rem rgba(0,0,0,.24); }
.tournament-hero .tournament-badges span { border-color: rgba(255,255,255,.35); background: rgba(5,18,39,.45); }
.format-flow > div > span { color: var(--color-red); font-size: .55rem; letter-spacing: .09em; }
.group-table [role="cell"]:first-child img { width: 2rem; height: 2rem; border-radius: 50%; object-fit: contain; }

@media (max-width: 47.999rem) {
  .hero-content { min-width: 0; }
  .hero h1 { max-width: 100%; font-size: clamp(2.65rem, 13vw, 3.5rem); line-height: .94; white-space: normal; }
  .hero h1 span { display: block; }
  .hero h1 span + span { margin: .08em 0 0; }
  .match-facts { width: 100%; flex-direction: column; gap: .28rem; line-height: 1.25; }
  .match-facts i { display: none; }
  .telegram-banner-copy { align-items: flex-start; }
  .telegram-banner-copy > img { width: 2.75rem; }
  .telegram-cta { width: 100%; }
  .broadcast-channel { display: none; }
  .broadcast-scorebug { margin-left: 0; }
  .player-overlay .play-icon { width: 3.5rem; height: 3.5rem; }
  .player-telegram-cta { min-width: 0; max-width: 92%; padding: .62rem .75rem; }
  .player-telegram-cta strong { font-size: .65rem; }
  .player-telegram-cta small { font-size: .48rem; }
  .team-emblem-stage { width: min(55%, 11rem); }
  .tournament-hero-content { grid-template-columns: 1fr; }
  .tournament-mark { width: 3.5rem; }
  .mobile-watch { right: .65rem; left: .65rem; min-width: 0; grid-template-columns: auto minmax(0, 1fr) auto; padding-inline: .75rem; }
  .mobile-watch span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .mobile-watch small { white-space: nowrap; }
}

@media (min-width: 48rem) {
  .header-live.telegram-link { display: flex; min-width: 9.8rem; }
  .watch-banner.telegram-banner { padding-block: 1.65rem; }
  .player-card-body { padding: 1rem; }
}

@media (hover: hover) and (pointer: fine) {
  .header-live.telegram-link:hover { background: #e5f4fb; color: #075f90; }
  .telegram-cta:hover, .player-telegram-cta:hover, .telegram-inline-button:hover { color: #061429; background: #fff; }
  .player-card:hover .portrait-status { border-color: rgba(255,255,255,.45); }
}

/* UEFA-inspired navigation */
.site-topbar { background: #07090d; }
.site-header { border-bottom-color: rgba(255,255,255,.08); background: #1b2433; box-shadow: 0 .45rem 1.6rem rgba(4,12,25,.18); }
.site-brand { color: #fff; }
.site-header .brand-logo { padding: .22rem; border-radius: .35rem; background: #fff; box-shadow: 0 .2rem .6rem rgba(0,0,0,.18); }
.site-header .brand-logo img { filter: none; }
.brand-copy { border-left-color: rgba(255,255,255,.2); }
.brand-copy small { color: #b9c6d6; }
.site-nav { background: #1b2433; border-bottom-color: rgba(255,255,255,.1); }
.site-nav a { border-bottom-color: rgba(255,255,255,.08); color: #e9eef5; }
.site-nav a[aria-current="page"] { color: #5ec8f2; border-bottom-color: #5ec8f2; }
.nav-toggle { border-color: rgba(255,255,255,.28); }
.nav-toggle span:not(.sr-only) { background: #fff; }
.header-live.telegram-link { background: #27364b; color: #fff; }
.header-live.telegram-link small { color: #b8c8da; }

/* News header uses a real football setting */
.page-news .cluster-hero { position: relative; isolation: isolate; background: #09182e url("../img/stadium-hero-1680.jpg") center 46%/cover no-repeat; }
.page-news .cluster-hero::before { content: ""; position: absolute; z-index: -1; inset: 0; background: linear-gradient(100deg, rgba(5,17,36,.97), rgba(7,36,62,.78) 62%, rgba(6,23,47,.72)); }
.page-news .cluster-hero::after { display: none; }
.page-news .cluster-hero h1, .page-news .cluster-hero p { color: #fff; }
.page-news .cluster-hero .page-update { color: #d5dfeb; }

/* Official match centre */
.official-data-section { background: #eef2f8; color: #10243a; }
.official-data-section .section-kicker { color: #b10e21; }
.official-data-heading { justify-content: space-between; align-items: end; }
.source-link { flex: 0 0 auto; display: inline-flex; min-height: 2.75rem; align-items: center; padding: .65rem 1rem; border: 1px solid #cad4e2; border-radius: .45rem; color: #173650; background: #fff; font-size: .72rem; font-weight: 800; }
.official-data-shell { overflow: hidden; border: 1px solid #d8e0eb; border-radius: 1rem; background: #fff; box-shadow: 0 1.2rem 3.5rem rgba(7,31,63,.08); }
.official-tabs { display: flex; overflow: auto hidden; padding-inline: clamp(.5rem, 2vw, 1.25rem); border-bottom: 1px solid #dce3ed; background: #17283e; scrollbar-width: none; }
.official-tabs::-webkit-scrollbar { display: none; }
.official-tabs button { position: relative; min-height: 4rem; flex: 0 0 auto; padding: .8rem clamp(.8rem, 2vw, 1.4rem); border: 0; background: transparent; color: #bfcbd9; font: 750 .78rem/1 var(--font-display); cursor: pointer; }
.official-tabs button::after { content: ""; position: absolute; right: .8rem; bottom: 0; left: .8rem; height: .2rem; border-radius: .2rem .2rem 0 0; background: transparent; }
.official-tabs button.is-active { color: #62ccf6; }
.official-tabs button.is-active::after { background: #62ccf6; }
.official-tab-panel { padding: clamp(1rem, 3vw, 2rem); }
.official-data-shell.is-enhanced .official-tab-panel { display: none; }
.official-data-shell.is-enhanced .official-tab-panel.is-active { display: block; }
.data-label { color: #df1728; font-size: .62rem; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }
.overview-grid { display: grid; gap: 1rem; }
.overview-card { min-width: 0; padding: 1.25rem; border: 1px solid #dfe5ed; border-radius: .75rem; background: #f8fafc; }
.overview-card h3 { margin: .55rem 0 1rem; color: #10243a; font-size: 1.25rem; }
.form-row { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding-block: .9rem; border-bottom: 1px solid #dde4ed; }
.form-row:last-child { border-bottom: 0; }
.form-row > span { display: flex; align-items: center; gap: .65rem; }
.form-row img { width: 2rem; height: 2rem; border-radius: 50%; }
.form-row > div { display: flex; gap: .28rem; }
.form-row i { width: 1.55rem; height: 1.55rem; display: grid; place-items: center; border-radius: 50%; color: #fff; font-size: .58rem; font-style: normal; font-weight: 850; }
.form-row .win { background: #138c42; }
.form-row .loss { background: #d52638; }
.h2h-score { display: grid; grid-template-columns: repeat(3, 1fr); border-block: 1px solid #dde4ed; }
.h2h-score > div { display: grid; justify-items: center; gap: .25rem; padding: .85rem .35rem; text-align: center; }
.h2h-score > div + div { border-left: 1px solid #dde4ed; }
.h2h-score strong { color: #0b2943; font: 800 1.85rem/1 var(--font-display); }
.h2h-score span { color: #506174; font-size: .62rem; }
.h2h-card > p { margin: .9rem 0 0; color: #596a7c; font-size: .75rem; text-align: center; }
.broadcast-card dl { display: grid; gap: .5rem; margin: 0 0 1rem; }
.broadcast-card dl div { display: flex; justify-content: space-between; gap: 1rem; padding-bottom: .5rem; border-bottom: 1px solid #dde4ed; }
.broadcast-card dt { color: #516276; font-size: .7rem; }
.broadcast-card dd { margin: 0; color: #10243a; font-weight: 800; }
.broadcast-card a { color: #087bad; font-size: .74rem; font-weight: 800; }
.squad-source-note { display: flex; align-items: flex-start; gap: .65rem; margin-bottom: 1.25rem; padding: .9rem 1rem; border-radius: .55rem; background: #edf7fb; color: #42576b; font-size: .75rem; }
.squad-source-note .status-dot { margin-top: .35rem; flex: 0 0 auto; }
.squad-source-note p { margin: 0; }
.squad-grid { display: grid; gap: 1rem; }
.squad-card { overflow: hidden; border: 1px solid #dbe3ed; border-radius: .85rem; background: #fff; }
.squad-card > header { display: flex; align-items: center; gap: 1rem; padding: 1.1rem; color: #fff; background: #7a1420; }
.squad-fransa > header { background: #0a2d58; }
.squad-card > header img { width: 3.5rem; height: 3.5rem; border-radius: 50%; background: #fff; box-shadow: 0 .35rem 1rem rgba(0,0,0,.2); }
.squad-card > header span { font-size: .56rem; font-weight: 850; letter-spacing: .12em; opacity: .75; }
.squad-card > header h3 { margin: .12rem 0; color: #fff; font-size: 1.6rem; }
.squad-card > header p { margin: 0; color: rgba(255,255,255,.78); font-size: .7rem; }
.squad-positions details { border-bottom: 1px solid #e2e7ee; }
.squad-positions details:last-child { border-bottom: 0; }
.squad-positions summary { min-height: 3.3rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .75rem 1rem; color: #152b43; background: #f5f7fa; font-size: .76rem; font-weight: 800; cursor: pointer; }
.squad-positions summary small { color: #7b8999; font-size: .6rem; font-weight: 700; }
.squad-positions ul { list-style: none; margin: 0; padding: .35rem 1rem .65rem; }
.squad-positions li { min-height: 3.35rem; display: grid; grid-template-columns: 1.55rem 2.55rem minmax(0,1fr) auto; align-items: center; gap: .55rem; border-bottom: 1px solid #edf0f4; }
.squad-positions li:last-child { border-bottom: 0; }
.squad-positions li b { color: #cf1e2e; font-size: .68rem; }
.squad-positions li span { color: #192d43; font-size: .74rem; font-weight: 750; }
.squad-positions li small { color: #7a8795; font-size: .58rem; }
.squad-player-photo { width: 2.55rem; height: 2.55rem; align-self: end; object-fit: contain; object-position: center bottom; border: 1px solid #dbe3ed; border-radius: 50%; background: linear-gradient(145deg, #fff, #e9eef5); }
.group-panel-head { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin-bottom: 1.25rem; }
.group-panel-head h3 { margin: .35rem 0 0; color: #10243a; }
.group-panel-head p { max-width: 24rem; margin: 0; color: #6c7988; font-size: .76rem; text-align: right; }
.official-group-table { min-width: 49rem; border: 1px solid #dce3ec; border-radius: .7rem; overflow: hidden; }
#match-group { overflow-x: auto; }
.official-group-row { min-height: 4rem; display: grid; grid-template-columns: minmax(13rem,1fr) repeat(7, 2.7rem) 8rem; align-items: center; border-bottom: 1px solid #dfe5ed; color: #30475d; font-size: .72rem; text-align: center; }
.official-group-row:last-child { border-bottom: 0; }
.official-group-row > span:first-child { display: grid; grid-template-columns: 1.4rem 2.1rem minmax(0,1fr); align-items: center; gap: .65rem; padding-left: .85rem; text-align: left; }
.official-group-row > span:first-child b { color: #8a96a4; font-size: .65rem; }
.official-group-row img { width: 2.1rem; height: 2.1rem; border-radius: 50%; }
.official-group-row strong { color: #172d43; font-size: .77rem; }
.official-group-row.group-header { min-height: 2.9rem; background: #f2f5f8; color: #758393; font-size: .58rem; font-weight: 800; text-transform: uppercase; }
.form-empty { display: flex; justify-content: center; gap: .25rem; }
.form-empty i { width: .95rem; height: .95rem; border: 1px solid #cad6e5; border-radius: 50%; }
.group-more { margin-top: 1rem; color: #173650; border-color: #bfcbd9; }
.match-info-grid { display: grid; gap: 1rem; }
.venue-card, .officials-card { overflow: hidden; border: 1px solid #dce3ec; border-radius: .8rem; background: #f8fafc; }
.venue-photo { aspect-ratio: 16/7; overflow: hidden; }
.venue-photo img { width: 100%; height: 100%; object-fit: cover; }
.venue-card > div:last-child, .officials-card { padding: 1.25rem; }
.venue-card h3, .officials-card h3 { margin: .45rem 0 .65rem; color: #10243a; }
.venue-card p { color: #657588; }
.venue-card dl { display: grid; grid-template-columns: repeat(2,1fr); gap: .65rem; }
.venue-card dl div { padding: .7rem; border-radius: .45rem; background: #fff; }
.venue-card dt, .officials-card dt { color: #7a8897; font-size: .6rem; text-transform: uppercase; }
.venue-card dd, .officials-card dd { margin: .2rem 0 0; color: #162d44; font-size: .76rem; font-weight: 800; }
.match-info-link { display: inline-flex; align-items: center; min-height: 2.65rem; margin-top: .85rem; padding: .65rem .85rem; border: 1px solid #bed0e2; border-radius: .45rem; color: #0d5f91; background: #fff; font-size: .7rem; font-weight: 800; }
.officials-card dl { margin: 0; }
.officials-card dl div { padding: .75rem 0; border-bottom: 1px solid #dfe5ed; }
.officials-card dl div:last-child { border-bottom: 0; }

/* Structured editorial analysis */
.editorial-section { background: #f4f6f9; }
.analysis-lead { display: grid; gap: 1.5rem; padding: clamp(1.4rem, 4vw, 2.5rem); border-radius: 1rem; background: #10253d; color: #fff; box-shadow: 0 1.2rem 3rem rgba(7,28,55,.13); }
.analysis-lead h3 { max-width: 42rem; margin: .55rem 0 .8rem; color: #fff; font-size: clamp(1.6rem, 3.5vw, 2.6rem); line-height: 1.12; }
.analysis-lead p { max-width: 46rem; margin: 0; color: #d5e0eb; line-height: 1.7; }
.analysis-lead .data-label { color: #ff9199; }
.analysis-balance { display: grid; align-content: center; gap: 1rem; padding: 1rem; border: 1px solid rgba(255,255,255,.12); border-radius: .7rem; background: rgba(255,255,255,.045); }
.analysis-balance > div { display: grid; grid-template-columns: 1fr auto; gap: .35rem .75rem; }
.analysis-balance span { color: #fff; font-size: .72rem; font-weight: 800; }
.analysis-balance strong { color: #c4d2df; font-size: .58rem; font-weight: 700; }
.analysis-balance i { grid-column: 1 / -1; height: .28rem; overflow: hidden; border-radius: 99px; background: rgba(255,255,255,.12); }
.analysis-balance i b { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #ef2336, #64c9f4); }
.team-plan-grid { display: grid; gap: 1rem; margin-top: 1rem; }
.team-plan { overflow: hidden; border: 1px solid #dce3eb; border-radius: .9rem; background: #fff; box-shadow: 0 .7rem 2rem rgba(9,31,58,.05); }
.team-plan header { min-height: 7.5rem; display: flex; align-items: center; gap: 1rem; padding: 1.25rem; color: #fff; background: #7a1420; }
.team-plan-fransa header { background: #0a2d58; }
.team-plan header img { width: 3.5rem; height: 3.5rem; border-radius: 50%; background: #fff; }
.team-plan header span { font-size: .58rem; font-weight: 850; letter-spacing: .13em; opacity: .72; }
.team-plan header h3 { margin: .25rem 0 0; color: #fff; font-size: clamp(1.15rem, 2.2vw, 1.55rem); }
.team-plan dl { margin: 0; padding: 0 1.25rem; }
.team-plan dl div { display: grid; grid-template-columns: 6.5rem 1fr; gap: .8rem; padding: 1rem 0; border-bottom: 1px solid #e4e8ee; }
.team-plan dl div:last-child { border-bottom: 0; }
.team-plan dt { color: #d51e30; font-size: .61rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.team-plan-fransa dt { color: #087eae; }
.team-plan dd { margin: 0; color: #435367; font-size: .82rem; line-height: 1.58; }
.decisive-board { display: grid; gap: 1.25rem; margin-top: 1rem; padding: clamp(1.25rem, 3vw, 2rem); border: 1px solid #d9e1ea; border-radius: .9rem; background: #fff; }
.decisive-heading h3 { margin: .4rem 0 .5rem; color: #10243a; }
.decisive-heading p { margin: 0; color: #687789; }
.decisive-list { display: grid; gap: .7rem; }
.decisive-list article { position: relative; padding: 1rem 1rem 1rem 1.2rem; border-left: .2rem solid #d91d30; background: #f4f7fa; }
.decisive-list article > span { color: #d51e30; font-size: .57rem; font-weight: 850; letter-spacing: .12em; }
.decisive-list strong { display: block; margin: .28rem 0; color: #122a42; font-size: .82rem; }
.decisive-list p { margin: 0; color: #607083; font-size: .73rem; line-height: 1.55; }
.editorial-more, .guide-more { margin-top: 1.1rem; color: #cc1426; }

/* Unified match guide */
.guide-section { background: #fff; }
.match-guide-board { display: grid; overflow: hidden; border: 1px solid #dce3ec; border-radius: 1rem; background: #f8fafc; box-shadow: 0 .9rem 2.8rem rgba(10,34,63,.07); }
.guide-date-card { display: grid; align-content: center; padding: clamp(1.4rem, 4vw, 2.2rem); color: #fff; background: #10253d; }
.guide-date-card .data-label { color: #68cef5; }
.guide-date-card > strong { margin: .55rem 0 0; font: 800 clamp(3.5rem, 8vw, 5.6rem)/.88 var(--font-display); letter-spacing: -.06em; }
.guide-date-card > small { margin-top: .45rem; color: #bbcbd9; font-size: .68rem; font-weight: 750; }
.guide-date-card p { margin: 1.4rem 0 0; color: #dce6ef; font-size: .8rem; line-height: 1.6; }
.calendar-link { width: fit-content; margin-top: 1.1rem; padding: .5rem .72rem; border: 1px solid rgba(255,255,255,.28); border-radius: .35rem; color: #fff; font-size: .65rem; font-weight: 800; }
.guide-detail-list { margin: 0; padding: .6rem clamp(1rem, 3vw, 1.5rem); }
.guide-detail-list > div { display: grid; grid-template-columns: 2.5rem minmax(5.5rem,.55fr) 1.45fr; align-items: center; gap: .8rem; min-height: 4.75rem; border-bottom: 1px solid #dfe5ec; }
.guide-detail-list > div:last-child { border-bottom: 0; }
.guide-symbol { width: 2.25rem; height: 2.25rem; display: grid; place-items: center; border: 1px solid #cfd9e5; border-radius: .45rem; background: #fff; color: #0b6c99; }
.guide-symbol svg { width: 1.15rem; height: 1.15rem; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.guide-detail-list dt { color: #122a42; font-size: .74rem; font-weight: 850; }
.guide-detail-list dd { margin: 0; color: #5d6d7f; font-size: .72rem; line-height: 1.52; }
.guide-telegram-card { display: grid; align-content: center; justify-items: start; padding: clamp(1.4rem, 4vw, 2rem); color: #fff; background: linear-gradient(145deg, #0676aa, #21a8dc); }
.guide-telegram-card > img { margin-bottom: 1.2rem; }
.guide-telegram-card .data-label { color: #dff6ff; }
.guide-telegram-card h3 { margin: .45rem 0 .7rem; color: #fff; font-size: 1.35rem; }
.guide-telegram-card p { color: #e4f6fc; font-size: .78rem; line-height: 1.62; }
.guide-telegram-card .button { margin-top: .45rem; border-radius: .45rem; }

@media (min-width: 48rem) {
  .site-nav { background: transparent; box-shadow: none; }
  .site-nav a { border-bottom-color: transparent; }
  .site-nav a[aria-current="page"] { color: #62ccf6; border-bottom-color: #62ccf6; }
  .overview-grid { grid-template-columns: 1.15fr 1fr .85fr; }
  .squad-grid { grid-template-columns: repeat(2, minmax(0,1fr)); align-items: start; }
  .match-info-grid { grid-template-columns: minmax(0,1.45fr) minmax(18rem,.7fr); }
  .analysis-lead { grid-template-columns: minmax(0,1.4fr) minmax(18rem,.6fr); }
  .team-plan-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .decisive-board { grid-template-columns: minmax(13rem,.55fr) minmax(0,1.45fr); align-items: start; }
  .decisive-list { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .match-guide-board { grid-template-columns: minmax(14rem,.6fr) minmax(26rem,1.25fr) minmax(16rem,.65fr); }
}

@media (max-width: 47.999rem) {
  .header-inner { position: relative; padding-right: 3.7rem; }
  .header-inner .nav-toggle { position: absolute; z-index: 5; top: 50%; right: 0; display: grid !important; margin: 0; transform: translateY(-50%); border-color: rgba(255,255,255,.45); background: #28384e; box-shadow: 0 .35rem 1rem rgba(0,0,0,.22); }
  .site-brand { max-width: calc(100% - 3.75rem); }
  .brand-copy { min-width: 0; }
  .telegram-banner-copy > div { min-width: 0; }
  .telegram-banner-copy h2, .telegram-banner-copy p { overflow-wrap: anywhere; }
  .official-data-heading { align-items: flex-start; }
  .source-link { display: none; }
  .official-tabs button { min-height: 3.45rem; font-size: .69rem; }
  .official-tab-panel { padding: .85rem; }
  .group-panel-head { align-items: flex-start; flex-direction: column; }
  .group-panel-head p { text-align: left; }
  .team-plan dl div { grid-template-columns: 1fr; gap: .35rem; }
  .guide-detail-list > div { grid-template-columns: 2.5rem minmax(0,1fr); padding-block: .75rem; }
  .guide-detail-list dd { grid-column: 2; }
  .player-overlay h3 { margin-top: 0; }
}

@media (hover: hover) and (pointer: fine) {
  .official-tabs button:hover { color: #fff; }
  .source-link:hover { border-color: #62bfe8; color: #087bad; }
  .header-live.telegram-link:hover { background: #31435b; color: #fff; }
  .calendar-link:hover { border-color: #62ccf6; color: #62ccf6; }
}

/* Stadium contrast */
.stadium-section::after { background: linear-gradient(90deg, rgba(4,13,29,.96) 0%, rgba(5,18,38,.86) 52%, rgba(5,13,29,.72) 100%); }
.stadium-section .stadium-copy { padding-block: clamp(5rem, 10vw, 8rem) clamp(3rem, 6vw, 5rem); }
.stadium-section .stadium-copy h2 { margin: .45rem 0 1.25rem; color: #fff; text-shadow: 0 .2rem 1rem rgba(0,0,0,.55); }
.stadium-section .stadium-copy p { color: #eef5ff; font-size: clamp(.92rem, 1.5vw, 1.08rem); line-height: 1.72; text-shadow: 0 .1rem .5rem rgba(0,0,0,.65); }
.stadium-section .stadium-copy dl > div { min-width: 9rem; border-color: rgba(255,255,255,.35); background: rgba(5,17,36,.72); box-shadow: 0 .6rem 1.5rem rgba(0,0,0,.14); backdrop-filter: blur(.45rem); }
.stadium-section .stadium-copy dt { color: #b9c9dd; }
.stadium-section .stadium-copy dd { color: #fff; }

/* Service pages */
.page-service { background: #f1f4f9; color: #10243a; }
.page-service .service-hero { padding-block: clamp(4rem, 8vw, 7rem); background: radial-gradient(circle at 78% 25%, rgba(26,88,139,.28), transparent 34%), linear-gradient(125deg, #07162b, #102e4d 65%, #0c2139); }
.service-hero-inner { max-width: 61rem; }
.page-service .service-hero h1 { margin: .45rem 0 .8rem; color: #fff; font-size: clamp(3rem, 8vw, 5.8rem); line-height: .95; letter-spacing: -.055em; }
.page-service .service-hero p { max-width: 48rem; margin: 0; color: #d8e5f2; font-size: clamp(.96rem, 1.8vw, 1.18rem); line-height: 1.65; }
.service-hero-tags { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1.35rem; }
.service-hero-tags span { padding: .42rem .7rem; border: 1px solid rgba(255,255,255,.2); border-radius: 999px; color: #dbe8f5; background: rgba(255,255,255,.05); font-size: .62rem; font-weight: 750; }
.service-nav { position: relative; z-index: 5; border-bottom: 1px solid #dce3ed; background: #fff; box-shadow: 0 .5rem 1.5rem rgba(7,31,63,.05); }
.service-nav-inner { display: grid; align-items: center; }
.service-nav-inner > strong { display: none; color: #263b50; font-size: .66rem; letter-spacing: .1em; text-transform: uppercase; }
.service-nav-inner > div { display: flex; overflow-x: auto; scrollbar-width: none; }
.service-nav-inner > div::-webkit-scrollbar { display: none; }
.service-nav a { position: relative; min-width: 9.5rem; display: grid; gap: .18rem; padding: 1rem .85rem; color: #233a51; }
.service-nav a::after { content: ""; position: absolute; right: .85rem; bottom: 0; left: .85rem; height: .2rem; background: transparent; }
.service-nav a span { font-size: .76rem; font-weight: 800; }
.service-nav a small { color: #7b8998; font-size: .58rem; }
.service-nav a[aria-current="page"] { color: #087bad; background: #f6fbfe; }
.service-nav a[aria-current="page"]::after { background: #31aee1; }
.service-content { background: #f1f4f9; }
.service-lead-card { display: grid; gap: 1.5rem; padding: clamp(1.4rem, 4vw, 2.5rem); border-radius: 1rem; background: linear-gradient(125deg, #0a2340, #103c61); box-shadow: 0 1.2rem 3rem rgba(7,31,63,.14); }
.service-lead-card h2 { max-width: 42rem; margin: .5rem 0 0; color: #fff; font-size: clamp(1.7rem, 4vw, 2.8rem); }
.service-lead-card p { max-width: 42rem; margin: 0; color: #dce8f3; line-height: 1.75; }
.service-principles { display: grid; gap: 1rem; margin-top: 1rem; }
.service-principles article, .service-editorial-grid > *, .portal-contact-card, .contact-checklist, .federation-contact-card, .privacy-card, .privacy-contact, .service-sitemap-grid > article { padding: clamp(1.25rem, 3vw, 1.8rem); border: 1px solid #d9e1eb; border-radius: .85rem; background: #fff; box-shadow: 0 .55rem 1.5rem rgba(7,31,63,.045); }
.service-principles article > span { color: #d7192d; font-size: .65rem; font-weight: 850; letter-spacing: .11em; }
.service-principles h2, .service-editorial-grid h2, .portal-contact-card h2, .contact-checklist h2, .federation-contact-card h2, .privacy-card h2, .privacy-contact h2, .service-sitemap-grid h2 { margin: .55rem 0 .75rem; color: #0c2239; font-size: 1.25rem; }
.service-principles p, .service-editorial-grid p, .portal-contact-card p, .contact-checklist p, .federation-contact-card p, .privacy-card p, .privacy-contact p { color: #5c6b7b; line-height: 1.68; }
.service-editorial-grid, .contact-intro-grid, .federation-contact-grid, .privacy-layout { display: grid; gap: 1rem; margin-top: 1rem; }
.service-editorial-grid ul, .contact-checklist ul { margin: 1rem 0; padding-left: 1.2rem; color: #41566c; }
.service-editorial-grid li, .contact-checklist li { margin-bottom: .55rem; }
.service-editorial-grid aside { background: #eaf5fb; }
.service-editorial-grid aside > a { display: block; padding: .8rem 0; border-bottom: 1px solid #cddde8; color: #123d5e; font-weight: 750; }
.service-editorial-grid aside > a:last-child { border-bottom: 0; }
.service-inline-link, .official-site-link { display: inline-flex; min-height: 2.65rem; align-items: center; margin-top: .35rem; padding: .65rem .85rem; border: 1px solid #bfd0df; border-radius: .45rem; color: #076c9c; background: #fff; font-size: .72rem; font-weight: 800; }
.contact-intro-grid { margin-top: 0; }
.portal-contact-card { color: #fff; background: linear-gradient(130deg, #8c1421, #b21e2f); border-color: #8c1421; }
.portal-contact-card .data-label, .portal-contact-card h2, .portal-contact-card p { color: #fff; }
.portal-contact-card .button { margin-top: .4rem; color: #8c1421; background: #fff; }
.contact-checklist { background: #eaf5fb; }
.federation-contact-card > header { display: flex; align-items: center; gap: .85rem; padding-bottom: 1rem; border-bottom: 1px solid #e0e6ed; }
.federation-contact-card > header > div { min-width: 0; }
.federation-contact-card > header img { width: 3.6rem; height: 3.6rem; border-radius: 50%; }
.federation-contact-card > header span { color: #d7192d; font-size: .58rem; font-weight: 850; letter-spacing: .1em; }
.federation-contact-card > header h2 { margin: .25rem 0 0; overflow-wrap: anywhere; }
.federation-contact-card > h3 { margin: 1.4rem 0 .7rem; color: #10243a; font-size: .83rem; }
.federation-contact-card > p a { color: #254b69; }
.social-links { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .55rem; }
.social-links a { min-width: 0; display: flex; align-items: center; gap: .55rem; padding: .58rem .65rem; border: 1px solid #dce3eb; border-radius: .5rem; color: #203b54; background: #f8fafc; font-size: .66rem; font-weight: 750; }
.social-links img { width: 1.25rem; height: 1.25rem; flex: 0 0 auto; object-fit: contain; }
.service-bottom-note { display: grid; gap: .35rem; margin-top: 1rem; padding: 1.2rem 1.4rem; border-left: .25rem solid #d7192d; border-radius: 0 .65rem .65rem 0; background: #fff; }
.service-bottom-note strong { color: #10243a; }
.service-bottom-note p { margin: 0; color: #5e6c7c; }
.service-bottom-note a { color: #087bad; font-weight: 750; }
.privacy-summary { display: grid; gap: .75rem; margin-bottom: 1rem; }
.privacy-summary article { padding: 1rem; border-radius: .7rem; color: #fff; background: #102a46; }
.privacy-summary span { display: block; color: #67d2fb; font-size: .56rem; font-weight: 850; letter-spacing: .12em; }
.privacy-summary strong { display: block; margin: .35rem 0; }
.privacy-summary p { margin: 0; color: #bdcad8; font-size: .68rem; }
.privacy-card code { padding: .1rem .28rem; border-radius: .2rem; color: #173854; background: #edf2f6; }
.privacy-contact { color: #fff; background: linear-gradient(140deg, #0a2946, #0d5278); }
.privacy-contact .data-label, .privacy-contact h2 { color: #fff; }
.privacy-contact p { color: #dbe7f1; }
.privacy-contact > a { color: #fff; font-weight: 850; }
.privacy-contact > div { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1.2rem; }
.privacy-contact > div a { padding: .5rem .65rem; border: 1px solid rgba(255,255,255,.3); border-radius: .4rem; color: #fff; font-size: .66rem; font-weight: 750; }
.sitemap-featured { display: grid; gap: .75rem; margin-bottom: 1rem; }
.sitemap-featured a { display: grid; gap: .3rem; padding: 1.2rem; border-radius: .75rem; color: #fff; background: #102d4c; }
.sitemap-featured a:nth-child(2) { background: #8a1522; }
.sitemap-featured a:nth-child(3) { background: #0876a7; }
.sitemap-featured span { font-size: .55rem; font-weight: 850; letter-spacing: .11em; opacity: .75; }
.sitemap-featured strong { font-size: 1.02rem; }
.sitemap-featured small { font-size: .65rem; opacity: .75; }
.service-sitemap-grid > article { min-width: 0; }
.service-sitemap-grid ul { list-style: none; margin: 0; padding: 0; }
.service-sitemap-grid li { border-bottom-color: #e5e9ef; }
.service-sitemap-grid a { color: #28465f; }
.sitemap-player-list ul { columns: 2; column-gap: 1.2rem; }
.sitemap-player-list li { break-inside: avoid; }

/* Official federation social links */
.footer-socials { margin-top: 1.4rem; padding-top: 1.1rem; border-top: 1px solid rgba(255,255,255,.13); }
.footer-socials h3 { margin: 0 0 .8rem; color: #fff; font-size: .66rem; letter-spacing: .08em; text-transform: uppercase; }
.footer-socials > div { display: grid; grid-template-columns: 3.5rem 1fr; align-items: center; gap: .5rem; margin-bottom: .55rem; }
.footer-socials > div > span { color: #aeb8c8; font-size: .62rem; font-weight: 750; }
.social-links.is-compact { display: flex; gap: .35rem; }
.social-links.is-compact a { width: 2rem; height: 2rem; display: grid; place-items: center; padding: .35rem; border-color: rgba(255,255,255,.45); background: #fff; }
.social-links.is-compact a span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
.social-links.is-compact img { width: 1.15rem; height: 1.15rem; }
.footer-social-more { color: #62ccf6; font-size: .62rem; font-weight: 750; }

@media (min-width: 48rem) {
  .service-nav-inner { grid-template-columns: 10rem 1fr; }
  .service-nav-inner > strong { display: block; }
  .service-nav-inner > div { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); }
  .service-nav a { min-width: 0; }
  .service-lead-card { grid-template-columns: minmax(0,1.05fr) minmax(18rem,.75fr); align-items: end; }
  .service-principles, .privacy-summary, .sitemap-featured { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .service-editorial-grid { grid-template-columns: minmax(0,1.35fr) minmax(18rem,.65fr); }
  .contact-intro-grid { grid-template-columns: minmax(0,1.25fr) minmax(18rem,.75fr); }
  .federation-contact-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .privacy-layout { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .privacy-contact { grid-column: span 2; }
}

@media (max-width: 47.999rem) {
  .player-shell { aspect-ratio: auto; min-height: clamp(22rem, 88vw, 27rem); }
  .player-overlay { padding: 5.35rem .85rem 4.15rem; align-content: center; }
  .player-overlay h3 { max-width: 17rem; margin: 0 0 .25rem; font-size: clamp(1.55rem, 7vw, 2rem); line-height: 1.05; }
  .player-overlay p { max-width: 17rem; margin-bottom: 1.15rem; line-height: 1.45; }
  .player-telegram-cta { min-height: 4.25rem; max-width: min(92%, 18rem); padding: .75rem .85rem; }
  .player-telegram-cta strong { font-size: .75rem; line-height: 1.2; }
  .player-telegram-cta small { margin-top: .15rem; font-size: .56rem; }
  .broadcast-top { top: .75rem; right: .65rem; left: .65rem; }
  .broadcast-scorebug > * { padding: .42rem .48rem; }
  .broadcast-top .player-live { margin-left: auto; }
  .broadcast-controls { right: .7rem; bottom: .7rem; left: .7rem; gap: .5rem; }
  .stadium-section { min-height: 34rem; align-items: center; }
  .stadium-section .stadium-copy { padding-block: 4.5rem 3rem; }
  .stadium-section .stadium-copy dl { display: grid; grid-template-columns: 1fr; }
  .stadium-section .stadium-copy dl > div { min-width: 0; }
  .service-content { padding-block: 2.2rem; }
  .service-nav-inner > div { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); overflow: visible; }
  .service-nav a { min-width: 0; padding: .82rem .75rem; }
  .service-nav a::after { right: .75rem; left: .75rem; }
  .service-principles, .service-editorial-grid, .contact-intro-grid, .federation-contact-grid, .privacy-layout { grid-template-columns: minmax(0,1fr); }
  .federation-contact-card > header { align-items: flex-start; }
  .federation-contact-card > header h2 { font-size: 1.08rem; }
  .sitemap-player-list ul { columns: 1; }
}
