:root { --red:#ad0612; --deep:#790009; --ink:#111; --line:#d9d9d9; --paper:#f4f4f2; color-scheme:light; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; background:#e9e9e7; }
body { margin:0; color:var(--ink); background:#e9e9e7; font-family:"Arial Narrow","Helvetica Neue","Yu Gothic",sans-serif; -webkit-font-smoothing:antialiased; }
button,input,select { font:inherit; }
button,a { -webkit-tap-highlight-color:transparent; }
button { color:inherit; }
a { color:inherit; text-decoration:none; }
.page { width:min(100%,1448px); margin:auto; background:#f5f5f3; box-shadow:0 0 60px rgba(0,0,0,.18); overflow:hidden; }

.header { height:63px; padding:0 35px 0 82px; display:grid; grid-template-columns:245px 1fr 180px; align-items:center; position:relative; z-index:20; background:#fff; border-bottom:1px solid #ddd; }
.brand { display:flex; align-items:center; white-space:nowrap; }
.brand img { display:block; width:210px; height:auto; object-fit:contain; }
.header nav { display:flex; align-items:center; justify-content:center; gap:clamp(19px,2.3vw,45px); }
.header nav a { font-size:12px; font-weight:900; white-space:nowrap; }
.header nav a:hover { color:var(--red); }
.header-tools { height:100%; display:flex; justify-content:flex-end; }
.header-tools button,.header-tools .header-tool { width:55px; padding:5px; display:grid; place-content:center; gap:3px; border:0; border-left:1px solid #eee; background:#fff; cursor:pointer; text-align:center; }
.header-tools b { font-size:19px; font-weight:400; }
.header-tools small { font-size:7px; font-weight:800; }
.header-tools .live-tool { width:70px; background:#9d1018; color:#fff; }
.menu-button { display:none!important; }

.hero { height:428px; position:relative; color:#fff; background:#060707 center 34%/cover no-repeat; transition:background-image .45s; }
.hero-a { background-image:linear-gradient(90deg,rgba(0,0,0,.88) 0 28%,rgba(0,0,0,.2) 58%,rgba(0,0,0,.68)),var(--hero-bg-1,url("../images/photos/runner-one.jpg")); }
.hero-b { background-image:linear-gradient(90deg,rgba(0,0,0,.88) 0 28%,rgba(0,0,0,.2) 58%,rgba(0,0,0,.68)),var(--hero-bg-2,url("../images/photos/lineout.jpg")); }
.hero-c { background-image:linear-gradient(90deg,rgba(0,0,0,.88) 0 28%,rgba(0,0,0,.2) 58%,rgba(0,0,0,.68)),var(--hero-bg-3,url("../images/photos/scrum.jpg")); }
.hero::after { content:""; position:absolute; left:0; top:0; bottom:0; width:95px; background:linear-gradient(115deg,#85000a 0 22%,#de0618 23% 25%,transparent 26% 49%,#d00616 50% 52%,transparent 53%); pointer-events:none; }
.hero-inner { width:calc(100% - 170px); height:100%; margin:auto; position:relative; }
.hero-copy { width:430px; padding-top:54px; position:relative; z-index:2; text-shadow:0 2px 9px #000; }
.hero-kicker { color:#db3943; font-size:9px!important; letter-spacing:.18em; }
.hero-copy h1 { margin:0 0 17px; font-size:43px; line-height:1.35; letter-spacing:.03em; }
.hero-copy>p { margin:0 0 16px; font-size:14px; line-height:1.6; font-weight:700; }
.red-button { min-width:195px; min-height:42px; padding:0 20px; border:0; border-radius:3px; display:inline-flex; align-items:center; justify-content:space-between; background:linear-gradient(135deg,#8f000b,#ce0a18); color:#fff; font-size:12px; font-weight:900; cursor:pointer; box-shadow:0 4px 14px rgba(0,0,0,.18); }
.hero-nav { position:absolute; z-index:4; top:180px; border:0; background:rgba(0,0,0,.28); color:#fff; font-size:35px; cursor:pointer; }
.hero-nav.prev { left:-35px; }.hero-nav.next { right:-35px; }
.next-match { width:400px; height:290px; padding:14px 15px; position:absolute; z-index:3; right:0; top:12px; background:linear-gradient(135deg,rgba(18,18,18,.94),rgba(5,5,5,.89)); border:1px solid #333; border-radius:5px; box-shadow:0 12px 35px #000; }
.next-label { width:125px; height:36px; margin:-14px 0 10px -15px; padding:8px 13px; position:relative; background:linear-gradient(90deg,#a40713,#d30c1b); font:900 16px "Arial Narrow"; }
.next-label::after { content:""; position:absolute; right:-20px; top:0; border-block:18px solid transparent; border-left:20px solid #d30c1b; }
.countdown { position:absolute; right:17px; top:10px; font-size:10px; }.countdown strong { margin:0 5px; color:#c61724; font-size:25px; }
.next-match>p { margin:0; font-size:12px; }.next-match h2 { margin:3px 0 5px; font-size:23px; }
.versus { display:grid; grid-template-columns:1fr 40px 1fr; align-items:center; text-align:center; }
.versus>strong { color:#d20d1b; font-size:19px; }
.versus>div { display:grid; justify-items:center; gap:2px; }
.team-logo { width:54px; height:54px; display:grid; place-items:center; font-size:47px; line-height:1; }
.team-logo img { width:100%; height:100%; object-fit:contain; }
.team-logo.moon { color:#ffd020; }.team-logo.cross { color:#b97ad5; }
.versus b { font-size:10px; }.next-match time { display:block; margin-top:3px; font:900 18px "Arial Narrow"; text-align:center; }.next-match time small { font-size:10px; }
.next-match .venue { text-align:center; font-size:9px; }
.next-actions { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:11px; }
.next-actions button,.next-actions a { height:37px; display:flex; align-items:center; justify-content:center; border:1px solid #555; border-radius:3px; background:#111; color:#fff; font-size:10px; font-weight:900; text-decoration:none; cursor:pointer; }
.next-actions button:first-child,.next-actions a:first-child { border-color:#c10b19; background:#b10916; }
.today-bar { height:102px; padding:9px 20px; position:absolute; z-index:5; left:0; right:0; bottom:10px; display:grid; grid-template-columns:1.15fr .8fr repeat(5,1fr) auto; align-items:center; background:rgba(255,255,255,.96); color:#111; border-radius:8px; box-shadow:0 8px 24px rgba(0,0,0,.28); }
.today-title { position:absolute; left:22px; top:9px; }.today-title strong { font:900 20px "Arial Narrow"; }.today-title span { margin-left:12px; font-size:8px; font-weight:700; }
.today-date { align-self:center; height:47px; margin-top:18px; padding-right:10px; display:flex; align-items:center; gap:7px; border-right:1px solid #ccc; }.today-date b { font-size:8px; }.today-date b strong { font:900 26px/1 "Arial Narrow"; }.today-date span { align-self:flex-end; margin-bottom:4px; font-size:8px; font-weight:900; }
.today-bar>div:not(.today-title):not(.today-date) { height:47px; margin-top:18px; padding:0 12px; display:flex; align-items:center; gap:11px; border-right:1px solid #ccc; }
.today-bar i { color:#a60010; font-size:26px; font-style:normal; }.today-bar>div span { font-size:8px; }.today-bar>div span strong { display:block; font:900 25px/1.2 "Arial Narrow"; }.today-bar>div span small { font-size:8px; }
.today-bar>button { width:125px; height:34px; margin-top:18px; border:1px solid #ddd; border-radius:3px; background:#fafafa; font-size:9px; font-weight:900; }

.content { width:calc(100% - 170px); margin:auto; padding:0 0 8px; }
.dashboard { display:grid; grid-template-columns:1.05fr 1fr 1.1fr 1.1fr; gap:9px; margin-top:10px; }
.panel { height:250px; overflow:hidden; background:#fff; border:1px solid #d5d5d5; border-radius:5px; box-shadow:0 3px 9px rgba(0,0,0,.05); }
.panel-head { height:35px; padding:0 12px; display:flex; align-items:center; justify-content:space-between; }
.panel-head h2 { margin:0; font:900 18px "Arial Narrow"; }.panel-head h2 small { margin-left:5px; font:700 7px Arial; }.panel-head a { font-size:7px; }
.live-photo { height:215px; padding:12px; position:relative; display:flex; flex-direction:column; justify-content:flex-end; background:linear-gradient(0deg,rgba(0,0,0,.95),transparent 70%),url("../images/photos/runner-two.jpg") center/cover; color:#fff; }
.live-photo>span { position:absolute; left:9px; top:9px; padding:4px 8px; background:#d40b1c; font-size:8px; font-weight:900; }
.live-photo p { margin:0; font-size:8px; }.live-photo h3 { margin:4px 0; font-size:16px; }.live-photo small { font-size:8px; }
.live-photo button { width:80px; height:27px; margin-top:13px; border:0; border-radius:3px; background:#fff; font-size:8px; font-weight:900; cursor:pointer; }
.match-list button { width:100%; height:70px; padding:5px 10px; display:grid; grid-template-columns:47px 1fr 12px; align-items:center; border:0; border-top:1px solid #eee; background:#fff; text-align:left; cursor:pointer; }
.match-list button:hover { background:#faf5f5; }.match-list time { font:900 18px/1 "Arial Narrow"; }.match-list time small { display:block; margin-top:4px; font-size:8px; }.match-list span { min-width:0; }
.match-list span b { padding:3px 5px; background:#ab0a17; color:#fff; font-size:7px; }.match-list span>small { font-size:7px; }.match-list span strong,.match-list span em { display:block; margin-top:5px; overflow:hidden; font-size:10px; white-space:nowrap; text-overflow:ellipsis; }.match-list span em { margin-top:2px; font-size:7px; font-style:normal; }
.match-list i { font-size:20px; font-style:normal; }
.highlight-main { height:145px; padding:8px; position:relative; display:flex; flex-direction:column; justify-content:flex-end; background:linear-gradient(0deg,rgba(0,0,0,.92),transparent 72%),url("../images/photos/scrum.jpg") center/cover; color:#fff; }
.highlight-main>span { position:absolute; left:8px; top:8px; padding:3px 6px; background:#d20d1b; font-size:8px; font-weight:900; }.highlight-main p,.highlight-main h3,.highlight-main small { margin:0; }.highlight-main p,.highlight-main small { font-size:7px; }.highlight-main h3 { margin:3px 0; font-size:13px; }
.play { width:43px; height:43px; position:absolute; left:50%; top:48%; transform:translate(-50%,-50%); display:grid; place-items:center; border:0; border-radius:50%; background:#fff; cursor:pointer; box-shadow:0 2px 7px #000; }.play span { margin-left:4px; border-block:8px solid transparent; border-left:13px solid #111; }
.highlight-mini-row { height:70px; display:grid; grid-template-columns:1fr 1fr; gap:4px; padding-top:3px; }
.highlight-mini-row button { padding:4px; display:flex; align-items:center; gap:7px; border:0; background:center/cover; color:#fff; text-align:left; text-shadow:0 1px 3px #000; cursor:pointer; }.mini-a { background-image:linear-gradient(#0005,#0008),url("../images/photos/lineout.jpg")!important; }.mini-b { background-image:linear-gradient(#0005,#0008),url("../images/photos/youth-pass.jpg")!important; }.mini-play { width:26px; height:26px; display:grid; place-items:center; flex:0 0 auto; border-radius:50%; background:#fff; color:#111; text-shadow:none; font-size:9px; }.highlight-mini-row b { font-size:7px; }
.standings-panel { padding:0 10px; }.standings-panel .panel-head { padding:0; }.standings-panel select { max-width:150px; height:23px; border:1px solid #ddd; background:#fff; font-size:7px; }
table { width:100%; border-collapse:collapse; font-size:7px; } th,td { padding:4px 3px; border-bottom:1px solid #eee; text-align:center; } th:first-child,td:first-child { text-align:left; } td:first-child b { display:inline-grid; width:16px; place-items:center; }
.standings-panel>a { height:28px; margin-top:4px; display:flex; align-items:center; justify-content:center; border:1px solid #ddd; border-radius:3px; font-size:8px; font-weight:900; }

.vertical-video-section { margin-top:10px; padding:16px 18px 18px; overflow:hidden; background:linear-gradient(135deg,#111,#1e1e1e); color:#fff; border:1px solid #292929; border-radius:5px; box-shadow:0 8px 22px rgba(0,0,0,.18); }
.section-heading { display:flex; align-items:end; justify-content:space-between; gap:20px; margin-bottom:13px; }
.section-heading p { margin:0 0 3px; color:#e26169; font-size:8px; font-weight:900; letter-spacing:.18em; }
.section-heading h2 { margin:0; font-size:21px; letter-spacing:.02em; }
.section-heading>a { padding-bottom:2px; color:#ddd; font-size:8px; font-weight:800; }
.vertical-video-track { display:grid; grid-auto-flow:column; grid-auto-columns:minmax(158px,1fr); gap:9px; overflow-x:auto; overscroll-behavior-inline:contain; scrollbar-width:thin; scrollbar-color:#a90916 #292929; scroll-snap-type:x mandatory; padding-bottom:3px; }
.vertical-video-card { aspect-ratio:9/16; min-width:0; padding:0; position:relative; overflow:hidden; scroll-snap-align:start; border:1px solid rgba(255,255,255,.14); border-radius:5px; background:center/cover no-repeat; color:#fff; text-align:left; cursor:pointer; box-shadow:inset 0 -125px 75px -62px rgba(0,0,0,.94); transition:transform .2s ease,border-color .2s ease; }
.vertical-video-card:hover { transform:translateY(-3px); border-color:#e85b65; }
.vertical-video-card::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(0,0,0,.08) 44%,rgba(0,0,0,.95)); }
.vertical-pass { background-image:url("../images/photos/youth-pass.jpg"); }
.vertical-lineout { background-image:url("../images/photos/lineout.jpg"); background-position:48% center; }
.vertical-run { background-image:url("../images/photos/runner-one.jpg"); background-position:54% center; }
.vertical-team { background-image:url("../images/photos/team.jpg"); background-position:62% center; }
.vertical-scrum { background-image:url("../images/photos/scrum.jpg"); background-position:52% center; }
.vertical-tag { position:absolute; z-index:2; left:8px; top:8px; padding:3px 6px; border-radius:2px; background:#bd0b19; font-size:7px; font-weight:900; letter-spacing:.08em; }
.vertical-play { width:42px; height:42px; padding-left:3px; position:absolute; z-index:2; left:50%; top:43%; transform:translate(-50%,-50%); display:grid; place-items:center; border:1px solid rgba(255,255,255,.7); border-radius:50%; background:rgba(0,0,0,.45); backdrop-filter:blur(4px); font-size:12px; }
.vertical-card-copy { position:absolute; z-index:2; left:10px; right:10px; bottom:11px; display:grid; gap:4px; }
.vertical-card-copy small { color:#e98e94; font-size:6px; font-weight:900; letter-spacing:.11em; }
.vertical-card-copy strong { font-size:10px; line-height:1.45; text-shadow:0 2px 4px #000; }
.vertical-video-card time { position:absolute; z-index:3; right:8px; top:8px; padding:3px 5px; border-radius:2px; background:rgba(0,0,0,.65); font-size:7px; }

.features { display:grid; grid-template-columns:repeat(4,1fr); gap:9px; margin-top:8px; }
.features article { height:145px; padding:14px; overflow:hidden; position:relative; background:#fff right center/47% auto no-repeat; border:1px solid #ddd; border-radius:5px; }
.features article::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,#fff 0 54%,transparent 80%); }
.features article>div { width:63%; position:relative; z-index:2; }.features h2 { margin:0; color:#9e0713; font-size:18px; }.features h3 { margin:6px 0; font-size:10px; }.features p { margin:0; font-size:7px; line-height:1.7; }.features button { min-width:120px; height:28px; margin-top:10px; border:0; border-radius:2px; background:#a90916; color:#fff; font-size:8px; font-weight:900; }
.feature-start { background-image:url("../images/photos/team.jpg")!important; }.feature-learn { background-image:url("../images/photos/youth-pass.jpg")!important; }.feature-support { background-image:url("../images/photos/youth-tackle.jpg")!important; }.feature-originals { background-image:url("../images/photos/runner-one.jpg")!important; }
.feature-originals::before { content:""; position:absolute; right:0; top:0; width:17px; height:100%; background:#b30816; clip-path:polygon(100% 0,100% 100%,0 100%); z-index:2; }

.news-bar { min-height:55px; margin-top:8px; padding:7px 12px; display:grid; grid-template-columns:130px 1fr 1fr 75px; align-items:center; gap:10px; background:#fff; border:1px solid #ddd; border-radius:5px; }
.news-bar h2 { margin:0; font:900 20px "Arial Narrow"; }.news-bar h2 small { font:700 8px Arial; }.news-bar>div { display:grid; gap:7px; }.news-bar>div a { display:grid; grid-template-columns:max-content max-content minmax(0,1fr); align-items:center; column-gap:7px; font-size:8px; }.news-bar time { font-weight:700; white-space:nowrap; }.news-bar b { width:max-content; padding:3px 6px; background:#365785; color:#fff; font-size:7px; }.news-bar b.orange { background:#db7112; }.news-bar b.gray { background:#87796d; }.news-bar>div span { min-width:0; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }.news-bar>a { font-size:8px; font-weight:900; }

.cta-band { min-height:85px; padding:15px calc((100% - 1020px)/2); display:grid; grid-template-columns:1.15fr repeat(3,1fr); align-items:center; gap:20px; background:linear-gradient(120deg,#98000c,#b10a17 74%,#720008); color:#fff; }
.cta-band h2 { margin:0 0 5px; font-size:17px; }.cta-band p { margin:0; font-size:8px; line-height:1.7; }.cta-band>a { height:49px; display:flex; align-items:center; justify-content:center; border:1px solid rgba(255,255,255,.42); border-radius:3px; font-size:11px; }
footer { min-height:60px; padding:0 82px; display:flex; align-items:center; gap:50px; background:#111; color:#fff; } footer .brand img { width:155px; } footer>div:not(.social) { display:flex; gap:28px; font-size:8px; } .social { margin-left:auto; display:flex; gap:22px; font-size:18px; }

.modal-backdrop { position:fixed; inset:0; z-index:100; display:grid; place-items:center; padding:20px; background:rgba(0,0,0,.82); backdrop-filter:blur(8px); }
.modal-backdrop[hidden] { display:none; }
.media-modal { width:min(520px,100%); padding:24px; position:relative; background:#fff; border-radius:7px; box-shadow:0 30px 90px #000; }
.modal-close { position:absolute; z-index:2; right:12px; top:7px; border:0; background:transparent; font-size:25px; cursor:pointer; }.modal-video { height:255px; display:grid; place-items:center; background:linear-gradient(#0004,#0007),url("../images/photos/scrum.jpg") center/cover; }.modal-video.is-vertical { width:210px; height:373px; margin:auto; background-image:linear-gradient(#0004,#0007),url("../images/photos/runner-one.jpg"); }.modal-video span { width:70px; height:70px; display:grid; place-items:center; padding-left:5px; border-radius:50%; background:#fff; font-size:27px; }.media-modal>p { font-size:10px; }.media-modal h2 { margin:5px 0 16px; }

@media(max-width:1100px){.header{padding-inline:25px;grid-template-columns:200px 1fr 170px}.header nav{gap:14px}.header nav a{font-size:9px}.hero-inner,.content{width:calc(100% - 50px)}.today-bar{left:0;right:0}.dashboard{grid-template-columns:1fr 1fr}.panel{height:260px}.features{grid-template-columns:1fr 1fr}.vertical-video-track{grid-auto-columns:minmax(180px,1fr)}.cta-band{padding:15px 30px;grid-template-columns:1.2fr 1fr 1fr}.cta-band>a:last-child{display:none}footer{padding-inline:30px}}
@media(max-width:760px){.header{height:58px;padding:0 14px;grid-template-columns:1fr auto}.brand img{width:168px}.header nav{display:none;position:absolute;left:0;right:0;top:58px;padding:20px;grid-template-columns:1fr 1fr;background:#fff;box-shadow:0 10px 20px #0003}.header nav.open{display:grid}.header-tools button:not(.menu-button):not(.live-tool){display:none}.menu-button{display:grid!important}.hero{height:690px;background-position:55% center}.hero::after{display:none}.hero-inner{width:100%;padding:0 18px}.hero-copy{width:100%;padding-top:42px}.hero-copy h1{font-size:35px}.next-match{left:18px;right:18px;top:300px;width:auto}.today-bar{display:none}.hero-nav{top:240px}.hero-nav.prev{left:4px}.hero-nav.next{right:4px}.content{width:100%;padding:10px}.dashboard{grid-template-columns:1fr}.panel{height:270px}.features{grid-template-columns:1fr}.features article{height:155px}.news-bar{grid-template-columns:1fr}.news-bar>div{gap:9px}.news-bar>a{display:none}.vertical-video-section{padding:16px 13px}.section-heading{align-items:start}.section-heading h2{font-size:20px}.section-heading>a{display:none}.vertical-video-track{grid-auto-columns:68%}.cta-band{padding:24px 18px;grid-template-columns:1fr}.cta-band>a{height:45px}.cta-band>a:last-child{display:flex}footer{padding:20px;flex-wrap:wrap}footer .brand img{width:150px}.social{margin-left:0}.modal-video{height:190px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition-duration:.01ms!important}}

.admin-bar .header { top:32px; }
@media(max-width:782px){.admin-bar .header{top:46px}}

/* Match detail */
.match-page { width:min(1220px,calc(100% - 48px)); margin:0 auto; padding:48px 0 80px; }
.match-detail { background:#fff; border-top:3px solid var(--red); box-shadow:0 8px 28px rgba(0,0,0,.08); }
.match-detail-header { padding:34px 36px 26px; }
.match-detail-label { margin:0 0 12px; color:var(--red); font:900 14px "Arial Narrow",sans-serif; letter-spacing:.18em; }
.match-competition { margin:0 0 8px; color:#8c2126; font-size:16px; font-weight:800; }
.match-round { margin:0; color:#8c2126; font-size:14px; font-weight:800; }
.match-detail h1 { margin:0; font-size:clamp(30px,3.3vw,48px); line-height:1.35; }
.match-date-line { display:flex; flex-wrap:wrap; gap:10px 28px; margin-top:20px; font-size:18px; font-weight:800; }
.match-section-nav { display:grid; grid-template-columns:repeat(4,1fr); border-block:1px solid #d9d9d9; }
.match-section-nav a { min-height:58px; display:grid; place-items:center; border-right:1px solid #d9d9d9; color:#8c2126; font-size:17px; font-weight:900; }
.match-section-nav a:last-child { border-right:0; }
.match-section-nav a:hover { background:#8c2126; color:#fff; }
.match-facts { margin:28px 36px 18px; padding:16px 18px; display:flex; flex-wrap:wrap; gap:8px 24px; background:#f5eeee; font-size:15px; }
.match-score { margin:0 36px 40px; display:grid; grid-template-columns:1fr 290px 1fr; border:1px solid #d9d9d9; }
.match-score-team { min-width:0; display:grid; align-content:center; justify-items:center; padding:24px; text-align:center; }
.match-team-mark { display:none; }
.match-team-mark.has-team-logo { width:64px; height:64px; margin-bottom:8px; display:grid; place-items:center; clip-path:none; background:none; }
.match-team-mark.has-team-logo::after { display:none; }
.match-team-mark.has-team-logo img { width:100%; height:100%; object-fit:contain; }
.match-score-team strong { font-size:20px; }
.match-score-team>b { margin-top:12px; font:900 clamp(64px,7vw,98px)/1 "Arial Narrow",sans-serif; }
.match-score-breakdown { border-inline:1px solid #d9d9d9; text-align:center; }
.match-score-breakdown>span { min-height:44px; display:grid; place-items:center; background:#333; color:#fff; font-weight:900; }
.match-final-score,.match-score-breakdown>p { display:none; }
.match-score-breakdown>div { min-height:52px; display:grid; grid-template-columns:1fr 1.3fr 1fr; align-items:center; border-bottom:1px solid #e4e4e4; }
.match-score-breakdown>div span { color:#555; }
.match-score-breakdown>a { min-height:44px; display:grid; place-items:center; color:#8c2126; font-weight:900; }
.match-report { margin:0 36px 45px; padding-top:28px; border-top:1px solid #d5d5d5; font-size:16px; line-height:1.9; }
.match-gallery { margin:0 36px 45px; padding-top:28px; border-top:1px solid #d5d5d5; }
.match-gallery-item + .match-gallery-item { margin-top:34px; }
.match-gallery-item h3 { margin:0 0 14px; font-size:18px; }
.match-report h2,.match-members h2 { margin:0; font-size:30px; }
.match-members { padding:36px; background:#f3f3f1; }
.match-section-heading { margin-bottom:22px; display:grid; grid-template-columns:1fr auto; align-items:end; }
.match-section-heading p { grid-column:1/-1; margin:0 0 4px; color:var(--red); font-size:13px; font-weight:900; letter-spacing:.16em; }
.match-section-heading span { color:#666; font-size:13px; }
.match-rosters { display:grid; gap:26px; }
.match-roster { background:#fff; border:1px solid #cfcfcf; }
.match-roster header { padding:16px 20px; background:#333; color:#fff; }
.match-roster h3 { margin:0 0 5px; font-size:22px; }
.match-roster header p { margin:0; font-size:14px; }
.match-roster-scroll { overflow-x:auto; }
.match-roster table { min-width:820px; font-size:14px; }
.match-roster th,.match-roster td { padding:11px 10px; text-align:center; border-bottom:1px solid #ddd; }
.match-roster th:nth-child(3),.match-roster td:nth-child(3),.match-roster th:last-child,.match-roster td:last-child { text-align:left; }
.match-roster th { background:#eee; white-space:nowrap; }
.match-roster tbody tr:nth-child(even) { background:#f3f3f3; }
.match-roster td.is-captain { background:#8c2126; color:#fff; font-weight:900; }

@media(min-width:900px){
  .match-page{width:100%;max-width:none;margin:0;padding:12px 0 76px;position:relative;background:#f7f7f5}
  .match-page::before{content:"";height:390px;position:absolute;z-index:0;left:0;right:0;top:0;background:linear-gradient(90deg,rgba(255,255,255,.88),rgba(255,255,255,.68) 24%,rgba(255,255,255,.68) 76%,rgba(255,255,255,.88)),url("../images/photos/scrum.jpg") center 48%/cover no-repeat;filter:grayscale(1);opacity:.62}
  .match-detail{width:min(1320px,calc(100% - 64px));margin:0 auto;position:relative;z-index:1;display:flex;flex-direction:column;border:0;background:transparent;box-shadow:none}
  .match-detail-header{width:min(980px,calc(100% - 100px));margin:0 auto;padding:16px 30px 22px;order:1;text-align:center}
  .match-detail-label{display:none}
  .match-detail h1.match-competition{margin:0;color:#8c2126;font-size:24px;line-height:1.35}
  .match-round{width:max-content;margin:8px auto 0;padding:5px 20px;background:#8c2126;color:#fff;font-size:13px;line-height:1;border-radius:999px}
  .match-date-line{position:static;transform:none;width:auto;max-width:none;margin:14px auto 0;justify-content:center;gap:8px 18px;font-size:15px}
  .match-score{width:min(980px,calc(100% - 100px));min-height:350px;margin:0 auto 28px;order:2;grid-template-columns:1fr 1.25fr 1fr;align-items:center;background:rgba(255,255,255,.97);border:1px solid #d9d9d9;box-shadow:0 10px 28px rgba(0,0,0,.16)}
  .match-score-team{height:100%;padding:34px 20px 48px;align-content:start}
  .match-team-mark{width:96px;height:108px;margin-bottom:10px;display:grid;place-items:center;position:relative;color:#351066;font:900 24px "Arial Narrow",sans-serif;letter-spacing:.05em;clip-path:polygon(50% 0,92% 17%,84% 72%,50% 100%,16% 72%,8% 17%);background:linear-gradient(145deg,#f8f6ff,#e5ddf3);border:0}
  .match-team-mark::after{content:"";position:absolute;inset:8px;z-index:-1;clip-path:inherit;background:#fff}
  .match-team-mark-away{color:#8c2126;background:linear-gradient(145deg,#fff4f4,#e8c9cb)}
  .match-team-mark.has-team-logo{clip-path:none;background:none}
  .match-team-mark.has-team-logo::after{display:none}
  .match-score-team strong{font-size:23px;white-space:nowrap}
  .match-team-total{display:none}
  .match-score-breakdown{height:100%;padding:36px 0;display:flex;flex-direction:column;justify-content:center;border:0}
  .match-score-breakdown>.match-final-label{width:max-content;min-height:0;margin:0 auto 12px;padding:6px 24px;border-radius:999px;background:#8c2126;font-size:13px;line-height:1}
  .match-final-score{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:18px}
  .match-final-score b{font:900 72px/1 "Arial Narrow",sans-serif}
  .match-final-score b:last-child{color:#111}
  .match-final-score i{font-size:45px;font-style:normal;font-weight:300}
  .match-score-breakdown>div:not(.match-final-score){width:max-content;min-height:34px;margin-inline:auto;display:grid;grid-template-columns:2ch 3em 2ch;column-gap:30px;justify-content:center;border-bottom:0;font-size:14px}
  .match-score-breakdown>div:not(.match-final-score) b{font-size:16px}
  .match-score-breakdown>div:not(.match-final-score) span{font-weight:800}
  .match-score-breakdown>a{display:none}
  .match-section-nav{margin:0 calc(50% - 50vw) 0;order:3;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));padding-inline:max(0px,calc((100vw - 1320px)/2));background:#fff;border-top:1px solid #ddd;border-bottom:2px solid #8c2126}
  .match-section-nav a{min-height:54px;border:0;font-size:15px}
  .match-section-nav a:first-child{background:#8c2126;color:#fff}
  .match-facts{margin:28px 0 32px;padding:22px 26px;order:4;justify-content:center;background:#fff;border:1px solid #ddd;font-size:15px}
  .match-facts::before{content:"試合概要";width:100%;color:#8c2126;font-size:22px;font-weight:900;text-align:center}
  .match-members{padding:34px 0 42px;order:5;background:transparent;border-top:1px solid #ddd}
  .match-section-heading{margin-bottom:20px}
  .match-rosters{grid-template-columns:1fr 1fr;gap:20px}
  .match-roster{min-width:0;box-shadow:0 4px 15px rgba(0,0,0,.07)}
  .match-roster header{background:linear-gradient(90deg,#351066,#5f2487)}
  .match-roster:nth-child(2) header{background:linear-gradient(90deg,#8c2126,#b8363c)}
  .match-roster-scroll{overflow:visible}
  .match-roster table{min-width:0;table-layout:fixed;font-size:13px}
  .match-roster th,.match-roster td{padding:8px 7px}
  .match-roster th:nth-child(n+4),.match-roster td:nth-child(n+4){display:none}
  .match-roster th:first-child,.match-roster td:first-child{width:58px;text-align:center}
  .match-roster th:nth-child(2),.match-roster td:nth-child(2){width:70px}
  .match-report{margin:0;padding:36px 0;order:6;border-top:1px solid #ddd;font-size:15px}
  .match-gallery{margin:0;padding:36px 0;order:7;border-top:1px solid #ddd}
  .match-report h2{padding-bottom:12px;position:relative}
  .match-report h2::after{content:"";width:34px;height:3px;position:absolute;left:0;bottom:0;background:#8c2126}
}

@media(max-width:760px){
  .match-page{width:100%;padding:0}
  .match-detail{border-top-width:2px}
  .match-detail-header{padding:26px 18px 22px}
  .match-detail h1{font-size:28px}
  .match-competition{font-size:20px}
  .match-date-line{font-size:15px}
  .match-section-nav{grid-template-columns:1fr 1fr}
  .match-section-nav a{min-height:50px;border-bottom:1px solid #d9d9d9;font-size:15px}
  .match-facts{margin:20px 18px 16px}
  .match-score{margin:0 18px 30px;grid-template-columns:1fr 110px 1fr}
  .match-score-team{padding:14px 8px}
  .match-score-team strong{font-size:14px}
  .match-score-team>b{font-size:50px}
  .match-score-breakdown>span{font-size:11px}
  .match-score-breakdown>div{font-size:12px}
  .match-report{margin:0 18px 32px}
  .match-members{padding:28px 18px}
  .match-section-heading{grid-template-columns:1fr}
  .match-section-heading span{margin-top:5px}
}

/* Selectable home blocks: alternating 3-column and 2-column rows. */
.home-block-layout {
  margin-top:14px;
  display:grid;
  gap:14px;
}
.home-block-row {
  display:grid;
  grid-template-columns:repeat(var(--home-block-columns),minmax(0,1fr));
  gap:14px;
  align-items:stretch;
}
.home-block-row > .panel,
.home-block-row > .next-match,
.home-block-row > .utility-card,
.home-block-row > .pr-youtube {
  width:100%;
  height:auto!important;
  margin:0;
  min-width:0;
}
.home-block-row > .panel,
.home-block-row > .next-match { min-height:360px; }
.home-block-row > .next-match {
  position:relative;
  inset:auto;
}
.home-block-row > .reports-panel,
.home-block-row > .standings-panel { min-height:390px; }
.home-block-row > .utility-card { min-height:330px; }
.home-block-row > .pr-youtube { min-height:285px; }
.home-block-layout .standings-panel { padding:0 18px 14px; }
.home-block-layout .standings-panel table { font-size:13px; table-layout:fixed; }
.home-block-layout .standings-panel th,
.home-block-layout .standings-panel td { height:34px; padding:6px 7px; }
.home-block-layout .standings-panel>a { height:40px; margin-top:10px; }

@media(max-width:1100px){
  .home-block-row{grid-template-columns:repeat(2,minmax(0,1fr))}
  .home-block-row>:last-child:nth-child(odd){grid-column:1 / -1}
}

@media(max-width:760px){
  .home-block-row{grid-template-columns:1fr}
  .home-block-row>:last-child:nth-child(odd){grid-column:auto}
  .home-block-row > .panel,
  .home-block-row > .next-match,
  .home-block-row > .utility-card,
  .home-block-row > .pr-youtube{min-height:0}
  .home-block-row > .reports-panel,
  .home-block-row > .standings-panel{min-height:390px}
}

/* Full-width association header and readability scale */
html,body { overflow-x:hidden; }
.page { overflow:visible; }
.header {
  width:100vw;
  height:88px;
  margin-left:calc(50% - 50vw);
  padding-inline:clamp(28px,4vw,72px);
  grid-template-columns:255px minmax(0,1fr) 225px;
  background:#8c2126;
  color:#fff;
  border-bottom-color:#6f171b;
  box-shadow:0 5px 20px rgba(80,10,15,.28);
}
.header .brand img { width:220px; }
.header nav { gap:clamp(14px,1.7vw,32px); }
.header nav a { font-size:20px; }
.header nav a:hover { color:#ffd8da; }
.header-tools button {
  width:66px;
  color:#fff;
  background:#8c2126;
  border-left-color:rgba(255,255,255,.2);
}
.header-tools b { font-size:27px; }
.header-tools small { font-size:12px; }
.header-tools .live-tool { width:92px; background:#fff; color:#8c2126; }

.hero { height:486px; }
.hero-copy { width:475px; padding-top:60px; }
.hero-kicker { font-size:15px!important; }
.hero-copy h1 { font-size:52px; }
.hero-copy>p { font-size:24px; line-height:1.65; }
.red-button { min-width:240px; min-height:51px; font-size:20px; }
.next-match { width:425px; height:330px; padding:17px 18px; }
.next-label { width:150px; height:43px; margin:-17px 0 11px -18px; padding:10px 15px; font-size:19px; }
.next-label::after { right:-24px; border-block-width:21.5px; border-left-width:24px; }
.countdown { right:18px; top:12px; font-size:17px; }
.countdown strong { font-size:30px; }
.next-match>p { font-size:20px; }
.next-match h2 { font-size:28px; }
.versus b { font-size:17px; }
.versus>strong { font-size:23px; }
.next-match time { font-size:22px; }
.next-match time small,.next-match .venue { font-size:15px; }
.next-actions button,.next-actions a { height:46px; font-size:17px; }

.today-bar { height:126px; padding-inline:23px; }
.today-title strong { font-size:24px; }
.today-title span { font-size:14px; }
.today-date { height:58px; }
.today-date b { font-size:14px; }
.today-date b strong { font-size:31px; }
.today-date span { font-size:14px; }
.today-bar>div:not(.today-title):not(.today-date) { height:58px; gap:9px; padding-inline:9px; }
.today-bar i { font-size:31px; }
.today-bar>div span,.today-bar>div span small { font-size:13px; }
.today-bar>div span strong { font-size:30px; }
.today-bar>button { width:155px; height:43px; font-size:15px; }

.dashboard { margin-top:13px; gap:12px; }
.panel { height:342px; }
.panel-head { height:48px; padding-inline:14px; }
.panel-head h2 { font-size:22px; }
.panel-head h2 small,.panel-head a { font-size:12px; }
.live-photo { height:294px; }
.live-photo>span { font-size:14px; }
.live-photo p,.live-photo small { font-size:14px; }
.live-photo h3 { font-size:19px; }
.live-photo button { width:120px; height:39px; font-size:14px; }
.match-list button { height:98px; grid-template-columns:61px 1fr 16px; padding-inline:12px; }
.match-list time { font-size:22px; }
.match-list time small { font-size:14px; }
.match-list span b,.match-list span>small,.match-list span em { font-size:12px; }
.match-list span strong { font-size:17px; }
.match-list i { font-size:28px; }
.highlight-main { height:195px; }
.highlight-main>span { font-size:14px; }
.highlight-main p,.highlight-main small { font-size:12px; }
.highlight-main h3 { font-size:16px; }
.highlight-mini-row { height:99px; }
.highlight-mini-row b { font-size:12px; }
.standings-panel { padding-inline:13px; }
.standings-panel select { height:32px; font-size:12px; }
table { font-size:12px; }
th,td { padding:7px 4px; }
.standings-panel>a { height:38px; font-size:14px; }

.news-bar { min-height:94px; padding:11px 15px; grid-template-columns:155px 1fr 1fr 95px; }
.news-bar h2 { font-size:24px; }
.news-bar h2 small { font-size:14px; }
.news-bar>div { gap:10px; }
.news-bar>div a { grid-template-columns:max-content max-content minmax(0,1fr); column-gap:10px; font-size:14px; }
.news-bar b { font-size:12px; }
.news-bar>a { font-size:14px; }

.section-heading p { font-size:14px; }
.section-heading h2 { font-size:25px; }
.section-heading>a { font-size:14px; }
.vertical-video-track { grid-auto-columns:minmax(170px,1fr); }
.vertical-tag,.vertical-video-card time { font-size:12px; }
.vertical-card-copy small { font-size:10px; }
.vertical-card-copy strong { font-size:17px; }

.features { gap:12px; margin-top:12px; }
.features article { height:210px; padding:17px; }
.features h2 { font-size:22px; }
.features h3 { font-size:12px; }
.features p { font-size:12px; }
.features button { min-width:150px; height:39px; font-size:14px; }
.cta-band { min-height:115px; }
.cta-band h2 { font-size:20px; }
.cta-band p { font-size:14px; }
.cta-band>a { height:60px; font-size:19px; }
footer>div:not(.social) { font-size:14px; }

@media(max-width:1250px){
  .header{grid-template-columns:220px 1fr 190px;padding-inline:24px}
  .header .brand img{width:195px}
  .header nav{gap:13px}
  .header nav a{font-size:16px}
  .header-tools button{width:57px}
  .header-tools .live-tool{width:76px}
  .dashboard{grid-template-columns:1fr 1fr}
}

@media(max-width:760px){
  .page{overflow:hidden}
  .header{width:100%;height:70px;margin-left:0;padding-inline:14px;grid-template-columns:1fr auto}
  .header .brand img{width:182px}
  .header nav{top:70px;background:#8c2126;color:#fff}
  .header nav a{font-size:17px}
  .header-tools small{font-size:10px}
  .hero{height:745px}
  .hero-copy{width:100%;padding-top:38px}
  .hero-copy h1{font-size:42px}
  .hero-copy>p{font-size:20px}
  .next-match{top:335px;height:340px}
  .news-bar{grid-template-columns:1fr;padding:15px}
  .news-bar>div a{grid-template-columns:max-content max-content minmax(0,1fr);column-gap:8px}
  .panel{height:350px}
  .vertical-video-track{grid-auto-columns:78%}
  .features article{height:225px}
}

/* Modular content rows */
.sponsor-banner {
  width:100%;
  margin-top:14px;
  border:1px solid #d6d6d6;
  border-radius:6px;
  background:#fff;
}
.sponsor-strip {
  min-height:118px;
  padding:14px 18px;
  display:grid;
  grid-template-columns:210px minmax(0,1fr) 120px;
  align-items:center;
  gap:18px;
}
.sponsor-heading p {
  margin:0 0 5px;
  color:#a21f27;
  font-size:11px;
  font-weight:900;
  letter-spacing:.14em;
}
.sponsor-heading h2 { margin:0; font-size:19px; line-height:1.35; }
.sponsor-groups { min-width:0; display:flex; align-items:stretch; gap:8px; }
.sponsor-group {
  min-width:0;
  flex:1;
  padding:9px 11px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  border-left:2px solid #a21f27;
  background:#fafafa;
}
.sponsor-group small {
  margin-bottom:6px;
  color:#9b252b;
  font-size:9px;
  font-weight:900;
  letter-spacing:.07em;
}
.sponsor-group>div { display:flex; flex-wrap:wrap; align-items:center; gap:7px 13px; }
.sponsor-group strong { font-size:15px; line-height:1.2; white-space:nowrap; }
.sponsor-group:first-child strong { color:#e2171d; font-size:24px; }
.sponsor-banner>a {
  min-height:42px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid #a21f27;
  border-radius:3px;
  color:#8c2126;
  font-size:13px;
  font-weight:900;
}

.secondary-grid {
  margin-top:14px;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  align-items:stretch;
}
.secondary-grid>.panel { width:100%; height:390px; }
.secondary-grid>.standings-panel { padding:0 18px 14px; }
.secondary-grid .standings-panel table { font-size:13px; table-layout:fixed; }
.secondary-grid .standings-panel th,
.secondary-grid .standings-panel td { height:34px; padding:6px 7px; }
.secondary-grid .standings-panel>a { height:40px; margin-top:10px; }
.reports-panel { padding-bottom:10px; }
.report-list { height:338px; padding:0 12px 10px; display:grid; grid-template-rows:repeat(3,1fr); gap:8px; }
.report-list button,.report-list .report-button {
  min-height:0;
  padding:0;
  overflow:hidden;
  display:grid;
  grid-template-columns:145px minmax(0,1fr);
  align-items:stretch;
  border:1px solid #e1e1e1;
  border-radius:4px;
  background:#fff;
  text-align:left;
  cursor:pointer;
}
.report-list button:hover,.report-list .report-button:hover { background:#fbf5f5; border-color:#c78f92; }
.report-thumb { display:block; background:center/cover no-repeat; }
.report-a { background-image:url("../images/photos/scrum.jpg"); }
.report-b { background-image:url("../images/photos/youth-pass.jpg"); }
.report-c { background-image:url("../images/photos/youth-tackle.jpg"); }
.report-list button>span:last-child,.report-list .report-button>span:last-child { min-width:0; padding:10px 12px; display:flex; flex-direction:column; justify-content:center; }
.report-list small { color:#777; font-size:12px; }
.report-list strong { margin:5px 0; font-size:16px; line-height:1.4; }
.report-list em { color:#8c2126; font-size:12px; font-style:normal; font-weight:800; }

.action-grid {
  margin-top:14px;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  align-items:stretch;
}
.utility-card {
  min-width:0;
  height:330px;
  padding:20px;
  overflow:hidden;
  border:1px solid #d8d8d8;
  border-radius:6px;
  background:#fff;
  box-shadow:0 4px 15px rgba(0,0,0,.04);
}
.utility-head { min-height:65px; display:flex; align-items:center; gap:13px; border-bottom:1px solid #e5e5e5; }
.utility-head>span {
  width:43px;
  height:43px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#8c2126;
  color:#fff;
  font-size:13px;
  font-weight:900;
}
.utility-head small { color:#9f252c; font-size:10px; font-weight:900; letter-spacing:.12em; }
.utility-head h2 { margin:3px 0 0; font-size:22px; }
.category-links { margin-top:16px; display:grid; grid-template-columns:repeat(2,1fr); gap:9px; }
.category-links a {
  min-height:57px;
  padding:0 13px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  border:1px solid #ddd;
  border-radius:3px;
  font-size:16px;
  font-weight:900;
}
.category-links a:hover { border-color:#8c2126; color:#8c2126; }
.application-links { margin-top:12px; display:grid; }
.application-links a {
  min-height:55px;
  padding:0 4px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  border-bottom:1px solid #e5e5e5;
  font-size:15px;
  font-weight:800;
}
.application-links b { color:#9e2027; font-size:20px; }
.fanclub-card {
  position:relative;
  display:flex;
  align-items:center;
  background:
    linear-gradient(90deg,rgba(20,20,20,.97),rgba(20,20,20,.72)),
    url("../images/photos/runner-one.jpg") 65% center/cover;
  color:#fff;
  border-color:#252525;
}
.fanclub-card::after { content:"FAN"; position:absolute; right:-5px; bottom:-32px; color:rgba(255,255,255,.07); font:900 118px/1 Arial; }
.fanclub-copy { max-width:88%; position:relative; z-index:2; }
.fanclub-copy>small { color:#e9767e; font-size:11px; font-weight:900; letter-spacing:.12em; }
.fanclub-copy h2 { margin:9px 0; font-size:25px; line-height:1.35; }
.fanclub-copy p { margin:0 0 18px; font-size:14px; line-height:1.7; }
.fanclub-copy a {
  min-height:44px;
  padding:0 18px;
  display:inline-flex;
  align-items:center;
  background:#a70b16;
  border-radius:3px;
  font-size:14px;
  font-weight:900;
}

.pr-youtube {
  min-height:285px;
  margin-top:14px;
  display:grid;
  grid-template-columns:1.35fr 1fr;
  overflow:hidden;
  border:1px solid #d7d7d7;
  border-radius:6px;
  background:#fff;
}
.pr-youtube-media {
  min-height:285px;
  position:relative;
  border:0;
  background:
    linear-gradient(90deg,rgba(0,0,0,.16),rgba(0,0,0,.04)),
    url("../images/photos/team.jpg") center 54%/cover;
  cursor:pointer;
}
.pr-label { position:absolute; left:16px; top:16px; padding:6px 10px; background:#8c2126; color:#fff; font-size:12px; font-weight:900; }
.pr-play {
  width:68px;
  height:68px;
  padding-left:4px;
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#fff;
  color:#111;
  font-size:21px;
  box-shadow:0 6px 20px rgba(0,0,0,.32);
}
.pr-youtube-copy { padding:30px; display:flex; flex-direction:column; justify-content:center; }
.pr-youtube-copy>p:first-child { margin:0; color:#a2242b; font-size:11px; font-weight:900; letter-spacing:.15em; }
.pr-youtube-copy h2 { margin:8px 0 10px; font-size:27px; }
.pr-youtube-copy>p:not(:first-child) { margin:0 0 18px; font-size:14px; line-height:1.7; }
.pr-youtube-copy button { min-height:46px; border:0; border-radius:3px; background:#a70b16; color:#fff; font-size:14px; font-weight:900; cursor:pointer; }
.pr-youtube-copy small { margin-top:8px; color:#777; font-size:10px; }

.sponsor-wall { padding:22px; }
.sponsor-wall .sponsor-heading { margin-bottom:17px; display:flex; align-items:end; justify-content:space-between; }
.sponsor-wall .sponsor-heading h2 { font-size:24px; }
.sponsor-wall .sponsor-groups { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.sponsor-wall .sponsor-group { min-height:92px; border-left-width:3px; }
.sponsor-wall .sponsor-group:first-child { grid-column:span 2; }
.sponsor-wall .sponsor-group:nth-child(2) { grid-column:span 2; }
.sponsor-wall>a { width:190px; margin:18px 0 0 auto; }

@media(max-width:1100px){
  .sponsor-strip{grid-template-columns:180px 1fr}
  .sponsor-strip>a{display:none}
  .sponsor-groups{overflow-x:auto}
  .sponsor-group{min-width:155px}
  .secondary-grid{grid-template-columns:1fr}
  .secondary-grid>.panel{height:390px}
  .action-grid{grid-template-columns:1fr 1fr}
  .fanclub-card{grid-column:1 / -1}
  .pr-youtube{grid-template-columns:1.15fr 1fr}
  .sponsor-wall .sponsor-groups{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:760px){
  .sponsor-strip{padding:15px;grid-template-columns:1fr}
  .sponsor-strip .sponsor-heading{display:flex;align-items:end;justify-content:space-between}
  .sponsor-strip .sponsor-heading h2{font-size:17px}
  .sponsor-strip .sponsor-groups{padding-bottom:4px}
  .sponsor-group{min-width:180px}
  .secondary-grid{grid-template-columns:1fr}
  .secondary-grid>.panel{height:auto;min-height:390px}
  .report-list{height:auto;grid-template-rows:repeat(3,116px)}
  .report-list button{grid-template-columns:115px 1fr}
  .report-list strong{font-size:14px}
  .action-grid{grid-template-columns:1fr}
  .utility-card{height:auto;min-height:320px}
  .fanclub-card{grid-column:auto}
  .pr-youtube{grid-template-columns:1fr}
  .pr-youtube-media{min-height:220px}
  .pr-youtube-copy{padding:24px 20px}
  .sponsor-wall{padding:18px 14px}
  .sponsor-wall .sponsor-groups{grid-template-columns:1fr}
  .sponsor-wall .sponsor-group:first-child,
  .sponsor-wall .sponsor-group:nth-child(2){grid-column:auto}
}

/* Sharp visual pass: remove collisions, wraps and excessive rounding */
.header {
  grid-template-columns:230px minmax(0,1fr) 245px;
}
.header-tools { min-width:245px; }
.header-tools button { width:70px; }
.header-tools button:nth-child(2) { width:80px; }
.header-tools .live-tool { width:95px; }
.header-tools .header-tool {
  color:#fff;
  background:#8c2126;
  border-left-color:rgba(255,255,255,.2);
}
.header-tools .header-tool.live-tool {
  color:#8c2126;
  background:#fff;
}
.header-tools small {
  white-space:nowrap;
  line-height:1;
}

.hero { height:570px; }
.hero-copy { padding-top:24px; }
.hero-copy>p { margin-bottom:20px; }
.today-bar {
  bottom:0;
  border-radius:0;
}
.today-title,
.today-date,
.today-bar>div,
.today-bar>button { white-space:nowrap; }

.secondary-grid .standings-panel th:first-child,
.secondary-grid .standings-panel td:first-child {
  width:40%;
  white-space:nowrap;
}
.secondary-grid .standings-panel th:not(:first-child),
.secondary-grid .standings-panel td:not(:first-child) {
  width:12%;
  white-space:nowrap;
}

.header nav a,
.panel-head h2,
.panel-head h2 small,
.panel-head a,
.next-actions button,
.next-actions a,
.match-list span strong,
.match-list span em,
.news-bar a,
.category-links a,
.application-links a,
.sponsor-banner>a,
.vertical-tag,
.vertical-video-card time {
  white-space:nowrap;
}

.panel,
.news-bar,
.sponsor-banner,
.utility-card,
.pr-youtube,
.vertical-video-section,
.features article,
.next-match,
.today-bar,
.report-list button,
.sponsor-group {
  border-radius:0;
}
.panel,
.utility-card,
.features article {
  box-shadow:none;
}
.panel,
.utility-card,
.sponsor-banner,
.pr-youtube,
.vertical-video-section {
  border-color:#cfcfcf;
}
.panel { border-top:2px solid #8c2126; }
.news-bar { border-left:4px solid #8c2126; box-shadow:none; }
.sponsor-banner { border-top:2px solid #8c2126; }
.vertical-video-section { border-top:3px solid #a9232b; }

.red-button,
.next-actions button,
.next-actions a,
.live-photo button,
.features button,
.standings-panel>a,
.category-links a,
.fanclub-copy a,
.pr-youtube-copy button,
.sponsor-banner>a,
.header-tools .live-tool {
  border-radius:0;
}
.vertical-video-card { border-radius:2px; }
.media-modal { border-radius:2px; }

@media(max-width:1100px){
  .header{grid-template-columns:190px minmax(0,1fr) 205px}
  .header .brand img{width:172px}
  .header-tools{min-width:205px}
  .header-tools button{width:61px}
  .header-tools button:nth-child(2){width:72px}
  .header-tools .live-tool{width:72px}
  .header-tools small{font-size:10px}
  .hero{height:590px}
}

@media(max-width:760px){
  .header{grid-template-columns:1fr auto}
  .header-tools{min-width:0}
  .header-tools .live-tool{width:76px}
  .hero{height:755px}
  .secondary-grid .standings-panel th:first-child,
  .secondary-grid .standings-panel td:first-child{width:42%;white-space:normal}
  .secondary-grid .standings-panel th:not(:first-child),
  .secondary-grid .standings-panel td:not(:first-child){width:auto}
}

/* The first enabled home block occupies the Hero's right-hand slot. */
.hero-block-slot {
  width:420px;
  height:330px;
  position:absolute;
  z-index:3;
  right:0;
  top:12px;
  overflow:hidden;
}
.hero-block-slot > .next-match,
.hero-block-slot > .panel,
.hero-block-slot > .utility-card,
.hero-block-slot > .pr-youtube {
  width:100%;
  height:100%!important;
  min-height:0;
  margin:0;
}
.hero-block-slot > .panel,
.hero-block-slot > .utility-card,
.hero-block-slot > .pr-youtube {
  color:#181a1d;
}
.hero-block-slot > .next-match {
  position:relative;
  inset:auto;
}
.hero-block-slot > .standings-panel {
	padding:0 14px 12px;
	background:
		radial-gradient(circle at 88% 8%,rgba(204,24,39,.2),transparent 34%),
		linear-gradient(145deg,rgba(24,26,31,.98),rgba(7,8,11,.98));
	color:#fff;
	border:1px solid rgba(255,255,255,.2);
	border-top:4px solid #d20d1b;
	box-shadow:0 16px 36px rgba(0,0,0,.42);
}
.hero-block-slot > .standings-panel .panel-head {
	height:50px;
	margin:0 -14px 6px;
	padding:0 14px;
	border-bottom:1px solid rgba(255,255,255,.14);
	background:rgba(255,255,255,.035);
}
.hero-block-slot > .standings-panel .panel-head h2 {
	display:flex;
	align-items:baseline;
	gap:8px;
	color:#fff;
	font-size:21px;
	letter-spacing:.03em;
}
.hero-block-slot > .standings-panel .panel-head h2::after {
	content:"RANKING";
	color:#e5535e;
	font:800 9px/1 Arial,sans-serif;
	letter-spacing:.16em;
}
.hero-block-slot > .standings-panel select {
	min-width:92px;
	height:30px;
	padding:0 25px 0 10px;
	border:1px solid rgba(255,255,255,.28);
	background-color:rgba(255,255,255,.08);
	color:#fff;
	font-size:11px;
	font-weight:800;
}
.hero-block-slot > .standings-panel table {
	color:#fff;
	font-size:10px;
	table-layout:fixed;
}
.hero-block-slot > .standings-panel th,
.hero-block-slot > .standings-panel td {
	height:25px;
	padding:2px 4px;
	border-bottom-color:rgba(255,255,255,.1);
}
.hero-block-slot > .standings-panel th {
	color:#c8c9cc;
	font-size:8px;
	font-weight:800;
	letter-spacing:.06em;
}
.hero-block-slot > .standings-panel th:first-child,
.hero-block-slot > .standings-panel td:first-child {
	width:42%;
	overflow:hidden;
	white-space:nowrap;
	text-overflow:ellipsis;
}
.hero-block-slot > .standings-panel th:not(:first-child),
.hero-block-slot > .standings-panel td:not(:first-child) {
	width:11.6%;
}
.hero-block-slot > .standings-panel tbody tr:nth-child(odd) {
	background:rgba(255,255,255,.035);
}
.hero-block-slot > .standings-panel tbody tr:first-child {
	background:linear-gradient(90deg,rgba(210,13,27,.24),rgba(210,13,27,.04));
}
.hero-block-slot > .standings-panel td:first-child {
	font-weight:800;
}
.hero-block-slot > .standings-panel td:first-child b {
	width:19px;
	height:19px;
	margin-right:4px;
	border-radius:50%;
	background:#3c4048;
	color:#fff;
	font-size:9px;
}
.hero-block-slot > .standings-panel tbody tr:nth-child(1) td:first-child b { background:#d20d1b; }
.hero-block-slot > .standings-panel tbody tr:nth-child(2) td:first-child b { background:#8c919a; }
.hero-block-slot > .standings-panel tbody tr:nth-child(3) td:first-child b { background:#9b6243; }
.hero-block-slot > .standings-panel tbody tr:last-child td {
	border-bottom:0;
}
.hero-block-slot > .standings-panel > a {
	height:31px;
	margin-top:6px;
	border:1px solid rgba(255,255,255,.22);
	background:rgba(255,255,255,.06);
	color:#fff;
	font-size:10px;
	letter-spacing:.03em;
	transition:background .2s,border-color .2s;
}
.hero-block-slot > .standings-panel > a:hover {
	border-color:#d20d1b;
	background:#d20d1b;
}

@media(max-width:1100px){
  .hero-block-slot{width:420px}
}

@media(max-width:760px){
  .hero-block-slot{left:18px;right:18px;top:335px;width:auto;height:340px}
}

/* Alignment pass: keep every section on a shared grid */
.header {
  height:82px;
  grid-template-columns:230px minmax(0,1fr) 210px;
  padding-inline:clamp(24px,3vw,54px);
}
.header .brand img { width:205px; }
.header nav { gap:clamp(12px,1.35vw,24px); }
.header nav a { font-size:16px; line-height:1; }
.header-tools button { width:62px; }
.header-tools .live-tool { width:86px; }

.hero-inner,
.content {
  width:min(1280px,calc(100% - 48px));
}
.hero { height:500px; }
.hero-copy { width:560px; }
.hero-copy>p { font-size:21px; }
.hero-copy>.hero-description { max-width:540px; }
.next-match { width:420px; }
.today-bar {
  left:0;
  right:0;
  grid-template-columns:1.15fr .82fr repeat(5,minmax(92px,1fr)) 150px;
}
.today-bar>div:not(.today-title):not(.today-date) { min-width:0; }

.news-bar {
  width:100%;
  min-height:104px;
  margin-top:16px;
  grid-template-columns:150px minmax(0,1fr) minmax(0,1fr) 100px;
  gap:16px;
  align-items:center;
}
.news-bar>div { min-width:0; }
.news-bar>div a { min-height:28px; }

.dashboard {
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  align-items:stretch;
}
.dashboard>.panel { width:100%; height:360px; }
.dashboard>.standings-panel {
  grid-column:1 / -1;
  height:auto;
  min-height:320px;
  padding:0 18px 15px;
}
.panel-head { height:52px; flex:0 0 52px; }
.live-photo { height:308px; }
.match-list button { height:102px; }
.highlight-main { height:202px; }
.highlight-mini-row { height:106px; }
.standings-panel table { table-layout:fixed; }
.standings-panel th,
.standings-panel td { height:29px; vertical-align:middle; }
.standings-panel>a { margin-top:10px; }

.vertical-video-section { margin-top:14px; padding:20px; }
.vertical-video-track {
  grid-auto-flow:unset;
  grid-auto-columns:unset;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:12px;
  overflow:visible;
}
.vertical-video-card { width:100%; }

.features {
  grid-template-columns:repeat(4,minmax(0,1fr));
  align-items:stretch;
}
.features article { width:100%; height:220px; }
.features article>div { display:flex; min-height:100%; flex-direction:column; }
.features p { flex:1; }
.features button { align-self:flex-start; }

@media(max-width:1100px){
  .header{grid-template-columns:200px minmax(0,1fr) 180px;padding-inline:20px}
  .header .brand img{width:180px}
  .header nav{gap:10px}
  .header nav a{font-size:13px}
  .header-tools button{width:54px}
  .header-tools .live-tool{width:72px}
  .today-bar{grid-template-columns:1.1fr .78fr repeat(5,minmax(78px,1fr)) 135px}
  .dashboard{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dashboard>.highlights-panel{grid-column:1 / -1}
  .dashboard>.standings-panel{grid-column:1 / -1}
  .vertical-video-track{grid-template-columns:repeat(5,minmax(180px,1fr));overflow-x:auto}
  .features{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Tablet Hero: preserve a readable copy column beside the featured block. */
@media(min-width:761px) and (max-width:1100px){
  .hero-copy{
    width:calc(100% - 380px);
    padding-top:30px;
  }
  .hero-kicker{font-size:12px!important}
  .hero-copy h1{
    margin-bottom:14px;
    font-size:clamp(35px,4.1vw,45px);
    line-height:1.25;
    letter-spacing:.01em;
  }
  .hero-copy>.hero-description{
    max-width:none;
    margin-bottom:14px;
    font-size:clamp(16px,1.8vw,19px);
    line-height:1.5;
  }
  .red-button{
    min-width:200px;
    min-height:44px;
    font-size:16px;
  }
  .hero-block-slot{width:360px}
}

@media(max-width:760px){
  .header{height:70px;grid-template-columns:1fr auto}
  .header .brand img{width:180px}
  .header nav{top:70px}
  .hero-inner,.content{width:100%}
  .hero-inner{padding-inline:18px}
  .content{padding-inline:12px}
  .hero{height:755px}
  .hero-copy{width:100%}
  .hero-copy>p{font-size:18px}
  .next-match{width:auto;left:18px;right:18px}
  .news-bar{grid-template-columns:1fr;gap:12px}
  .news-bar>div a{min-height:34px}
  .dashboard{grid-template-columns:1fr}
  .dashboard>.highlights-panel,
  .dashboard>.standings-panel{grid-column:auto}
  .dashboard>.panel{height:360px}
  .dashboard>.standings-panel{height:auto;min-height:355px}
  .vertical-video-track{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:78%;overflow-x:auto}
  .features{grid-template-columns:1fr}
  .features article{height:225px}
}

/* Global navigation: league mega menu */
.league-menu-trigger {
  position:relative;
}
.league-menu-trigger::after {
  content:"";
  width:0;
  height:2px;
  position:absolute;
  left:50%;
  bottom:-11px;
  background:#fff;
  transition:width .22s ease,left .22s ease;
}
.league-menu-trigger.is-open::after {
  width:100%;
  left:0;
}
.league-mega {
  width:100vw;
  padding:18px max(24px,calc((100vw - 1280px)/2));
  position:absolute;
  z-index:40;
  left:50%;
  top:100%;
  visibility:hidden;
  opacity:0;
  pointer-events:none;
  transform:translate(-50%,-8px);
  background:rgba(19,19,19,.98);
  border-top:3px solid #b52932;
  box-shadow:0 18px 34px rgba(0,0,0,.28);
  transition:opacity .22s ease,transform .22s ease,visibility .22s;
}
.league-mega.is-open {
  visibility:visible;
  opacity:1;
  pointer-events:auto;
  transform:translate(-50%,0);
}
.league-mega-inner {
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:1px;
  background:rgba(255,255,255,.12);
}
.league-mega a {
  min-width:0;
  min-height:58px;
  padding:0 17px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  background:#171717;
  color:#fff;
  font-size:15px;
  font-weight:800;
  white-space:nowrap;
  transition:background .18s ease,color .18s ease;
}
.league-mega a i {
  color:#bd444b;
  font-size:13px;
  font-style:normal;
  transition:transform .18s ease;
}
.league-mega a:hover,
.league-mega a:focus-visible {
  background:#8c2126;
  color:#fff;
  outline:none;
}
.league-mega a:hover i,
.league-mega a:focus-visible i {
  color:#fff;
  transform:translate(2px,-2px);
}
.league-mega a:last-child {
  grid-column:span 2;
}

@media(max-width:1100px){
  .league-mega-inner{grid-template-columns:repeat(4,minmax(0,1fr))}
  .league-mega a{font-size:13px}
}

@media(max-width:760px){
  .league-menu-trigger::after{display:none}
  .league-mega{top:70px;padding:10px 12px;position:fixed;max-height:calc(100vh - 70px);overflow-y:auto}
  .league-mega-inner{grid-template-columns:1fr 1fr}
  .league-mega a{min-height:52px;padding-inline:14px;font-size:14px}
}

/* Competition / league */
.competition-page{background:#f5f5f3;color:#171717}
.competition-detail{padding-bottom:88px}
.competition-hero{min-height:410px;position:relative;display:flex;align-items:flex-end;background:#111 var(--competition-image,none) center/cover no-repeat;color:#fff}
.competition-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.9) 0%,rgba(0,0,0,.6) 48%,rgba(0,0,0,.25) 100%)}
.competition-hero-inner{width:min(1280px,calc(100% - 64px));margin:0 auto;padding:80px 0 58px;position:relative;z-index:1}
.competition-kicker{margin:0 0 22px;color:#e6a7aa;font:900 15px "Arial Narrow",sans-serif;letter-spacing:.18em}
.competition-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.competition-tags span{padding:6px 11px;border:1px solid rgba(255,255,255,.55);font-size:13px;font-weight:800}
.competition-tags .is-status{border-color:#b52932;background:#b52932}
.competition-hero h1{max-width:900px;margin:0;font-size:clamp(36px,5vw,66px);line-height:1.17}
.competition-short{margin:12px 0 0;font-size:20px;font-weight:700}
.competition-meta{display:flex;flex-wrap:wrap;gap:28px;margin-top:28px;color:#eee;font-size:15px;font-weight:700}
.competition-actions{width:min(1280px,calc(100% - 64px));margin:-1px auto 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));border-top:4px solid #8c2126;background:#fff;box-shadow:0 8px 24px rgba(0,0,0,.08)}
.competition-actions a{min-height:68px;padding:12px 18px;display:flex;align-items:center;justify-content:center;border-right:1px solid #ddd;color:#171717;font-size:15px;font-weight:900;text-align:center}
.competition-actions a:first-child{background:#8c2126;color:#fff}
.competition-actions a:hover{background:#191919;color:#fff}
.competition-content{width:min(1280px,calc(100% - 64px));margin:58px auto 0}
.competition-section-title{margin-bottom:25px;border-bottom:1px solid #d7d7d4}
.competition-section-title p{margin:0 0 5px;color:#a12930;font:900 13px "Arial Narrow",sans-serif;letter-spacing:.16em}
.competition-section-title h2{margin:0 0 14px;font-size:30px}
.competition-body{max-width:960px;font-size:16px;line-height:1.9}
.competition-match-list{border-top:2px solid #222;background:#fff}
.competition-match-row{min-height:74px;padding:14px 20px;display:grid;grid-template-columns:170px 1fr 140px 1fr 24px;gap:18px;align-items:center;border-bottom:1px solid #ddd;color:#171717}
.competition-match-row time{color:#666;font-size:13px;font-weight:800}
.competition-match-row span{font-size:16px;font-weight:800}
.competition-match-row span:nth-of-type(2){text-align:right}
.competition-match-row strong{text-align:center;font-size:22px}
.competition-match-row i{color:#a12930;font-style:normal}
.competition-match-row:hover{background:#f0eded}
.competition-empty{padding:30px;border-top:2px solid #222;background:#fff}
.competition-schedule-scroll{overflow-x:auto;border-top:3px solid #8c2126;background:#fff;box-shadow:0 6px 20px rgba(0,0,0,.06)}
.competition-schedule{width:100%;min-width:1000px;border-collapse:collapse;font-size:14px}
.competition-schedule th{padding:12px 10px;background:#333;color:#fff;font-size:13px;white-space:nowrap}
.competition-schedule td{padding:13px 10px;border-right:1px solid #fff;border-bottom:1px solid #fff;background:#eee;text-align:center;vertical-align:middle}
.competition-schedule tr:nth-child(even) td{background:#e4e4e4}
.competition-schedule td:nth-child(4),.competition-schedule td:nth-child(6){min-width:170px}
.competition-schedule td strong{display:block}
.competition-schedule td small{display:block;margin-top:3px;color:#555}
.competition-schedule td a{color:inherit}
.competition-schedule-score{font-weight:900;white-space:nowrap}
.competition-schedule-streams{min-width:110px}
.competition-schedule-streams a,.competition-schedule-streams span{margin:2px;display:inline-block;padding:5px 8px;border:1px solid #a12930;color:#a12930;font-size:12px;font-weight:900;white-space:nowrap}
.competition-schedule-streams a:hover{background:#a12930;color:#fff}
.competition-schedule-note{margin:10px 0 0;color:#666;font-size:12px;text-align:right}
.competition-archive{width:min(1280px,calc(100% - 64px));margin:0 auto;padding:72px 0 90px}
.competition-archive-header{margin-bottom:38px;border-left:5px solid #9a2329;padding-left:22px}
.competition-archive-header p{margin:0;color:#9a2329;font:900 13px "Arial Narrow",sans-serif;letter-spacing:.16em}
.competition-archive-header h1{margin:4px 0;font-size:46px}
.competition-archive-header span{color:#666}
.competition-archive-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.competition-card{overflow:hidden;border-top:3px solid #9a2329;background:#fff;color:#171717;box-shadow:0 7px 22px rgba(0,0,0,.08)}
.competition-card-image{height:190px;background-position:center;background-size:cover;filter:saturate(.85)}
.competition-card-body{padding:20px}
.competition-card-body p{margin:0 0 8px;color:#9a2329;font-size:12px;font-weight:900}
.competition-card-body h2{margin:0 0 24px;font-size:22px;line-height:1.45}
.competition-card-body span{font-size:13px;font-weight:800}
.competition-card:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(0,0,0,.14)}
.match-competition a{color:inherit}

@media(max-width:900px){
  .competition-archive-grid{grid-template-columns:1fr 1fr}
  .competition-match-row{grid-template-columns:120px 1fr 100px 1fr}
  .competition-match-row i{display:none}
}

@media(max-width:640px){
  .competition-hero{min-height:390px}
  .competition-hero-inner{width:calc(100% - 36px);padding:64px 0 38px}
  .competition-hero h1{font-size:34px}
  .competition-meta{gap:10px;flex-direction:column}
  .competition-actions{width:100%;grid-template-columns:1fr 1fr}
  .competition-actions a{min-height:58px;border-bottom:1px solid #ddd;font-size:13px}
  .competition-content{width:calc(100% - 36px);margin-top:42px}
  .competition-section-title h2{font-size:25px}
  .competition-schedule{font-size:13px}
  .competition-schedule-note{text-align:left}
  .competition-match-row{padding:15px;grid-template-columns:1fr auto 1fr;gap:8px}
  .competition-match-row time{grid-column:1/-1}
  .competition-match-row span{font-size:13px}
  .competition-match-row strong{font-size:18px}
  .competition-archive{width:calc(100% - 36px);padding:48px 0 70px}
  .competition-archive-header h1{font-size:34px}
  .competition-archive-grid{grid-template-columns:1fr}
}

/* Match detail: official-record prototype */
.match-insights{
  margin:0;
  padding:28px 36px 40px;
  background:#f7f7f5;
  border-top:1px solid #d7d7d4;
}
.match-stat-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.match-stat-card{
  min-width:0;
  padding:16px;
  background:#fff;
  border:1px solid #dededb;
  border-radius:6px;
}
.match-stat-card header{
  display:flex;
  align-items:center;
  gap:9px;
}
.match-stat-card header>span{
  min-width:32px;
  height:32px;
  padding-inline:6px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#f2e5e6;
  color:#8c2126;
  font:900 12px "Arial Narrow",sans-serif;
}
.match-stat-card h2{
  margin:0;
  font-size:14px;
}
.match-stat-values{
  margin:13px 0 8px;
  display:grid;
  grid-template-columns:1fr 46px 1fr;
  align-items:center;
  text-align:center;
}
.match-stat-values strong{
  color:#351066;
  font:900 27px/1 "Arial Narrow",sans-serif;
}
.match-stat-values strong:last-child{color:#8c2126}
.match-stat-values i{
  height:6px;
  position:relative;
  background:linear-gradient(90deg,#351066 0 45%,#d7d7d4 45% 55%,#8c2126 55% 100%);
  border-radius:999px;
}
.match-stat-card>p{
  min-height:15px;
  margin:0;
  color:#666;
  font-size:11px;
  text-align:center;
}
.match-progress-grid{
  margin-top:18px;
  display:grid;
  gap:18px;
}
.match-timeline-panel,
.match-pdf-card{
  min-width:0;
  padding:22px;
  background:#fff;
  border:1px solid #dededb;
  border-radius:6px;
  box-shadow:0 5px 18px rgba(0,0,0,.05);
}
.match-panel-heading{
  margin-bottom:20px;
  padding-bottom:13px;
  border-bottom:1px solid #dededb;
}
.match-panel-heading p{
  margin:0 0 4px;
  color:#9d252c;
  font:900 11px "Arial Narrow",sans-serif;
  letter-spacing:.14em;
}
.match-panel-heading h2{
  margin:0;
  font-size:24px;
}
.match-timeline{
  margin:0;
  padding:0;
  list-style:none;
}
.match-timeline li{
  min-height:103px;
  padding:0 0 20px 50px;
  position:relative;
}
.match-timeline li::after{
  content:"";
  width:2px;
  position:absolute;
  left:18px;
  top:30px;
  bottom:-5px;
  background:#ddd;
}
.match-timeline li:last-child::after{display:none}
.match-timeline li::before{
  content:"";
  width:13px;
  height:13px;
  position:absolute;
  z-index:1;
  left:12px;
  top:13px;
  border:3px solid #351066;
  border-radius:50%;
  background:#fff;
}
.match-timeline li.is-away::before{border-color:#8c2126}
.match-timeline li.is-period-start{padding-top:26px}
.match-timeline li.is-period-start::before{top:39px}
.match-timeline li.is-period-start::after{top:56px}
.match-timeline-period{
  position:absolute;
  left:0;
  top:0;
  color:#8c2126;
  font-size:12px;
  font-weight:900;
}
.match-timeline-meta{
  display:block;
  margin-bottom:7px;
}
.match-timeline-meta time{
  display:inline;
  color:#555;
  font-size:12px;
  font-weight:900;
}
.match-timeline-meta strong{
  margin-left:7px;
  color:#111;
  font:900 15px "Arial Narrow",sans-serif;
}
.match-timeline-meta strong i{
  padding-inline:3px;
  color:#888;
  font-style:normal;
}
.match-timeline article{
  padding:12px 14px;
  position:relative;
  border:1px solid #d8d8d5;
  border-left:4px solid #351066;
  border-radius:4px;
  background:#fff;
}
.match-timeline .is-away article{
  border-left-color:#8c2126;
  background:#fffafa;
}
.match-timeline-action{
  float:right;
  margin-left:10px;
  padding:3px 8px;
  border-radius:999px;
  background:#eeece7;
  color:#555;
  font-size:10px;
  font-weight:900;
  white-space:nowrap;
}
.match-timeline article.is-substitution{
  border-color:#deddd8;
  border-left-color:#777;
  background:#fafaf8;
}
.match-timeline .is-away article.is-substitution{border-left-color:#777}
.match-timeline-change{
  display:flex;
  flex-wrap:wrap;
  gap:2px 6px;
  align-items:center;
}
.match-timeline-change i{
  color:#999;
  font-style:normal;
}
.match-timeline article p{
  margin:0 0 3px;
  font-size:14px;
  font-weight:900;
}
.match-timeline article small{
  color:#666;
  font-size:11px;
}
.match-pdf-preview{
  overflow:hidden;
  display:block;
  position:relative;
  border:1px solid #cfcfcc;
  background:#eee;
}
.match-pdf-preview img{
  width:100%;
  height:auto;
  display:block;
}
.match-pdf-preview>span{
  padding:10px 12px;
  position:absolute;
  left:10px;
  right:10px;
  bottom:10px;
  opacity:0;
  transform:translateY(5px);
  background:rgba(0,0,0,.82);
  color:#fff;
  font-size:12px;
  font-weight:900;
  text-align:center;
  transition:opacity .18s ease,transform .18s ease;
}
.match-pdf-preview:hover>span,
.match-pdf-preview:focus-visible>span{
  opacity:1;
  transform:none;
}
.match-pdf-card>p{
  margin:11px 0;
  color:#666;
  font-size:12px;
}
.match-pdf-button{
  min-height:46px;
  padding:0 15px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  background:#8c2126;
  color:#fff;
  font-size:13px;
  font-weight:900;
}
.match-pdf-button:hover{background:#68171b}
.match-roster tr.has-late-change td{background:#fff8e8}
.match-roster-change{
  margin-top:3px;
  display:block;
  color:#a51f27;
  font-size:10px;
  font-weight:900;
  line-height:1.35;
}

@media(min-width:900px){
  .match-page::before{height:330px}
  .match-detail{width:min(1180px,calc(100% - 64px))}
  .match-detail-header{width:min(1040px,calc(100% - 80px));padding-top:13px;padding-bottom:18px}
  .match-score{
    width:min(1040px,calc(100% - 80px));
    min-height:230px;
    margin-bottom:20px;
  }
  .match-score-team{padding:24px 18px 30px}
  .match-team-mark{width:72px;height:82px;margin-bottom:7px;font-size:19px}
  .match-score-team strong{font-size:21px}
  .match-score-breakdown{padding-top:34px}
  .match-final-score b{font-size:61px}
  .match-final-score i{font-size:36px}
  .match-section-nav{padding-inline:max(0px,calc((100vw - 1180px)/2))}
  .match-facts{margin:22px 0 24px;padding:17px 22px}
  .match-insights{padding:0 0 36px;order:5;background:transparent;border-top:0}
  .match-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
  .match-stat-card{padding:17px 16px 14px}
  .match-progress-grid{grid-template-columns:minmax(0,1fr) 320px;align-items:start}
  .match-timeline-panel,.match-pdf-card{padding:25px}
  .match-timeline li{
    min-height:106px;
    padding:0;
    display:grid;
    grid-template-columns:minmax(0,1fr) 76px minmax(0,1fr);
    align-items:start;
  }
  .match-timeline li::after{
    left:50%;
    top:42px;
    bottom:-4px;
    transform:translateX(-50%);
  }
  .match-timeline li::before{
    left:50%;
    top:26px;
    transform:translateX(-50%);
  }
  .match-timeline li.is-period-start{padding-top:30px}
  .match-timeline li.is-period-start::before{top:56px}
  .match-timeline li.is-period-start::after{top:72px}
  .match-timeline-period{
    left:50%;
    transform:translateX(-50%);
    padding:3px 10px;
    border-radius:999px;
    background:#f2e5e6;
    white-space:nowrap;
  }
  .match-timeline-meta{
    grid-column:2;
    grid-row:1;
    position:relative;
    z-index:2;
    margin:0;
    text-align:center;
  }
  .match-timeline-meta time{
    display:block;
    min-height:17px;
    color:#333;
    font-size:12px;
    line-height:17px;
  }
  .match-timeline-meta strong{
    display:inline-block;
    margin:27px 0 0;
    padding:1px 5px;
    background:#fff;
    font-size:14px;
    line-height:18px;
    white-space:nowrap;
  }
  .match-timeline article{
    grid-row:1;
    margin-bottom:17px;
  }
  .match-timeline .is-home article{
    grid-column:1;
    border-left:1px solid #d8d8d5;
    border-right:4px solid #351066;
    text-align:right;
  }
  .match-timeline .is-home article.is-substitution{
    border-right-color:#777;
  }
  .match-timeline .is-home .match-timeline-change{
    justify-content:flex-end;
  }
  .match-timeline .is-away article{
    grid-column:3;
  }
  .match-members{order:6}
  .match-report{order:7}
  .match-gallery{order:8}
  .match-roster td:nth-child(3){font-weight:800}
}

@media(max-width:760px){
  .match-section-nav{grid-template-columns:repeat(2,1fr)}
  .match-insights{padding:24px 18px 32px}
  .match-stat-grid{gap:8px}
  .match-stat-card{padding:13px 11px}
  .match-stat-card header>span{min-width:28px;height:28px}
  .match-stat-card h2{font-size:12px}
  .match-stat-values{grid-template-columns:1fr 28px 1fr}
  .match-stat-values strong{font-size:23px}
  .match-stat-card>p{font-size:9px}
  .match-timeline-panel,.match-pdf-card{padding:18px}
  .match-panel-heading h2{font-size:22px}
  .match-pdf-preview img{max-height:430px;object-fit:cover;object-position:top}
  .match-roster-change{font-size:9px}
}

/* Configurable sponsor banners. */
.sponsor-strip {
  min-height:0;
  padding:20px 22px;
  display:block;
}
.sponsor-strip-title,
.sponsor-wall-title {
  text-align:center;
}
.sponsor-strip-title {
  margin-bottom:20px;
}
.sponsor-strip-title h2 {
  margin:0;
  color:#171717;
  font-size:28px;
  letter-spacing:.08em;
}
.sponsor-tier-groups,
.sponsor-tier-section {
  min-width:0;
}
.sponsor-tier-groups {
  display:grid;
  gap:22px;
}
.sponsor-strip .sponsor-tier-groups {
  grid-template-columns:repeat(3,minmax(0,1fr));
  align-items:center;
  gap:16px;
}
.sponsor-strip .sponsor-tier-section {
  grid-row:1;
}
.sponsor-strip .sponsor-tier-section:first-child {
  grid-column:2;
}
.sponsor-strip .sponsor-tier-section:nth-child(2) {
  grid-column:1;
}
.sponsor-strip .sponsor-tier-section:nth-child(3) {
  grid-column:3;
}
.sponsor-strip .sponsor-tier-section:nth-child(n+4) {
  grid-row:auto;
  grid-column:auto;
}
.sponsor-strip .sponsor-tier-section>h3 {
  margin:0 0 9px;
  color:#a21f27;
  font-size:14px;
  letter-spacing:.08em;
  text-align:center;
}
.sponsor-strip .sponsor-tier-section:first-child>h3 {
  font-size:21px;
}
.sponsor-items {
  min-width:0;
  display:grid;
  grid-template-columns:repeat(var(--sponsor-columns),minmax(0,1fr));
  gap:10px;
}
.sponsor-item {
  min-width:0;
  min-height:72px;
  padding:10px 12px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  border-top:2px solid #a21f27;
  background:#fafafa;
  text-decoration:none;
  text-align:center;
}
.sponsor-item img {
  width:min(100%,220px);
  height:58px;
  display:block;
  object-fit:contain;
}
.sponsor-item small {
  margin-bottom:6px;
  color:#9b252b;
  font-size:9px;
  font-weight:900;
  letter-spacing:.07em;
}
.sponsor-item strong { font-size:15px; line-height:1.25; }
.sponsor-item:hover { background:#f6eeee; }
.sponsor-archive-link { white-space:nowrap; }
.sponsor-wall { padding:22px; }
.sponsor-wall-title {
  margin-bottom:22px;
  padding-bottom:13px;
  border-bottom:2px solid #a21f27;
}
.sponsor-wall-title h2 {
  margin:0;
  font-size:26px;
  letter-spacing:.06em;
}
.sponsor-wall .sponsor-tier-section>h3 {
  margin:0 0 15px;
  padding:0 0 10px;
  border-bottom:1px solid #d9b9bc;
  color:#a21f27;
  font-size:22px;
  letter-spacing:.09em;
  text-align:center;
}
.sponsor-wall .sponsor-item { min-height:92px; border-top-width:3px; }
.sponsor-wall .sponsor-item img { height:72px; }
.sponsor-wall .sponsor-archive-link { width:190px; margin:18px 0 0 auto; }
.sponsor-strip .sponsor-archive-link { width:190px; margin:18px auto 0; }

@media(max-width:1100px){
  .sponsor-items{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sponsor-items.sponsor-columns-1{grid-template-columns:1fr}
}

@media(max-width:760px){
  .sponsor-strip{padding:18px 14px}
  .sponsor-strip-title h2{font-size:23px}
  .sponsor-strip .sponsor-tier-groups{grid-template-columns:1fr}
  .sponsor-strip .sponsor-tier-section,
  .sponsor-strip .sponsor-tier-section:first-child,
  .sponsor-strip .sponsor-tier-section:nth-child(2),
  .sponsor-strip .sponsor-tier-section:nth-child(3){grid-column:auto;grid-row:auto}
  .sponsor-items{grid-template-columns:1fr}
  .sponsor-item{min-height:82px}
  .sponsor-wall{padding:18px 14px}
  .sponsor-wall .sponsor-tier-section>h3{font-size:19px}
}
