.season-page { background: #f3f5ef; }
.season-page .championship-hero { padding: 150px 0 72px; overflow: hidden; }
.season-hero-grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 64px; align-items: center; }
.season-hero-copy { min-width: 0; }
.season-page .championship-hero h1 { font-size: clamp(3.5rem, 6.4vw, 6.8rem); line-height: .92; margin: 26px 0; letter-spacing: -.045em; }
.season-page .championship-hero h1 > span { display: block; font-size: .58em; color: #83ef80; margin-top: 18px; line-height: 1.05; letter-spacing: -.025em; }
.season-page .championship-hero p { max-width: 460px; color: #dae8df; font-size: 1.05rem; line-height: 1.7; }
.season-hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 20px; margin-top: 30px; }
.season-dr3-link { color: #e1eee5; font-size: .85rem; font-weight: 700; text-underline-offset: 5px; }
.season-hero-photo { position: relative; margin: 0; aspect-ratio: 1 / 1.12; border: 1px solid #2a754b; overflow: hidden; background: #063622; }
.season-hero-photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, #032d1d 0%, rgba(3,45,29,.85) 16%, transparent 62%); }
.season-hero-photo > img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.season-hero-photo figcaption { position: absolute; z-index: 1; bottom: 30px; left: 30px; right: 30px; color: #fff; }
.season-hero-photo figcaption span { font-size: .7rem; letter-spacing: .14em; font-weight: 800; color: #83ef80; }
.season-hero-photo figcaption strong { display: block; margin: 12px 0; font-family: var(--font-display); font-size: clamp(1.8rem, 3vw, 3rem); letter-spacing: -.035em; line-height: 1; }
.season-hero-photo figcaption small { color: #d7e9dd; }
.season-page .championship-page { padding-top: 64px; }
.season-page .championship-overview { gap: 50px; align-items: center; }
.season-page .championship-overview h2 { font-size: clamp(2.5rem, 4.5vw, 4rem); }
.season-page .championship-status { border: 1px solid #dbe4d9; border-left: 4px solid #1acb20; padding: 26px 30px; }
.season-page .championship-facts { margin-top: 36px; gap: 12px; border: 0; }
.season-page .championship-facts article { min-height: 115px; padding: 24px; border: 1px solid #dbe4d9; background: #fff; }
.season-page .championship-facts span { color: #53665b; }
.season-page .championship-facts strong { margin-top: 18px; font-size: 1.15rem; }
.season-page .championship-section { padding-top: 88px; }
.season-page .championship-section-heading { gap: 40px; }
.season-page .championship-section-heading h2 { font-size: clamp(2.5rem, 4.5vw, 4.5rem); line-height: .98; }
.season-page .pending-panel { border: 1px solid #dbe4d9; border-left: 4px solid #1acb20; background: #e8efe4; padding: 24px; }
.season-page .teams-placeholder { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; border: 0; }
.season-page .team-slot { display: grid; grid-template-columns: 68px minmax(0, 1fr); gap: 6px 15px; align-content: center; padding: 22px 18px; min-height: 130px; border: 1px solid #dbe4d9; transition: border-color .2s, transform .2s; }
.season-page .team-slot:hover { border-color: #0b8735; transform: translateY(-3px); }
.season-page .team-slot > img { grid-row: 1 / 3; width: 68px; height: 68px; margin: 0; padding: 6px; border-radius: 50%; align-self: center; }
.season-page .team-slot strong { align-self: end; font-size: .92rem; line-height: 1.25; }
.season-page .team-slot small { margin: 0; color: #586c60; font-size: .75rem; }
.season-page .team-slot-boars { border-color: #032d1d; }
.season-page .team-slot-boars small { color: #c6e5cf; }
.season-calendar-toolbar { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 16px; margin-bottom: 16px; }
.season-filter-group { display: flex; flex-wrap: wrap; gap: 4px; padding: 5px; border: 1px solid #dbe4d9; background: #fff; }
.season-filter-group button { border: 0; padding: 12px 15px; font: inherit; font-size: .85rem; font-weight: 800; color: #40594b; background: transparent; cursor: pointer; }
.season-filter-group button.selected { color: #fff; background: #032d1d; }
.season-filter-group button:hover:not(.selected) { background: #e8efe4; }
.season-filter-group button:focus-visible { outline: 3px solid #0b8735; outline-offset: 2px; }
.season-calendar-count { margin: 0 0 20px; font-size: .85rem; color: #53665b; }
.season-page .schedule-shell { border: 0; background: transparent; }
.season-page .schedule-head { display: none; }
.season-page .schedule-phase { margin: 20px 0 10px; padding: 16px 22px; border: 0; color: #fff; background: #032d1d; font-size: .82rem; }
.season-page .schedule-phase:first-of-type { margin-top: 0; }
.season-page .schedule-row { grid-template-columns: 85px minmax(135px, .85fr) minmax(0, 3fr) 85px; gap: 20px; padding: 22px; margin-bottom: 8px; min-height: 110px; border: 1px solid #dbe4d9; border-left: 4px solid #c9d7ca; background: #fff; }
.season-page .schedule-row.home { border-left-color: #0b8735; background: #f7fcf4; }
.season-page .schedule-row[hidden], .season-page .schedule-phase[hidden] { display: none; }
.season-page .schedule-day { grid-column: 1; grid-row: 1; font-size: 1.25rem; color: #032d1d; }
.season-venue { display: block; margin-top: 7px; font-size: .58rem; letter-spacing: .05em; font-weight: 800; color: #53665b; }
.season-page .schedule-row time { grid-column: 2; grid-row: 1; padding: 0; justify-items: start; text-align: left; font-size: .95rem; }
.season-page .schedule-row time::after { color: #53665b; font-size: .7rem; }
.season-page .schedule-match { grid-column: 3; grid-row: 1; display: grid; grid-template-columns: 45px minmax(0,1fr) 26px 45px minmax(0,1fr); align-items: center; gap: 10px; }
.season-page .schedule-match img { width: 45px; height: 45px; }
.season-page .schedule-match img:first-of-type { grid-column: 1; grid-row: 1; }
.season-page .schedule-match strong:first-of-type { grid-column: 2; grid-row: 1; }
.season-page .schedule-match b { grid-column: 3; grid-row: 1; align-self: center; margin: 0; }
.season-page .schedule-match img:last-of-type { grid-column: 4; grid-row: 1; }
.season-page .schedule-match strong:last-of-type { grid-column: 5; grid-row: 1; text-align: left; }
.season-page .schedule-match strong { font-size: .86rem; }
.season-page .schedule-result { display: block; grid-column: 4; grid-row: 1; text-align: center; color: #657069; font-size: 1.05rem; }
.season-page .schedule-result.played { padding: 10px 5px; color: #032d1d; background: #e8efe4; }
.season-page .championship-promotion { margin-top: 80px; padding: 42px; background: #032d1d; }
.season-page .championship-promotion .championship-section-heading h2 { color: #fff; }
.season-page .championship-promotion .championship-section-heading p { color: #d0e3d6; }
.season-page .championship-promotion .promotion-stats { gap: 12px; border: 0; }
.season-page .championship-promotion .promotion-stats article { background: #0a3d28; border: 1px solid #2a6547; }
.season-page .championship-promotion .promotion-stats strong { color: #83ef80; }
.season-page .championship-promotion .promotion-stats span { color: #d0e3d6; }
@media (max-width: 1100px) {
  .season-hero-grid { gap: 32px; }
  .season-page .teams-placeholder { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .season-page .schedule-row { grid-template-columns: 70px 120px minmax(0,1fr) 72px; gap: 12px; padding: 18px 14px; }
  .season-page .schedule-match { grid-template-columns: 34px minmax(0,1fr) 20px 34px minmax(0,1fr); gap: 6px; }
  .season-page .schedule-match img { width: 34px; height: 34px; }
}
@media (max-width: 760px) {
  .season-page .championship-hero { padding: 120px 0 44px; }
  .season-hero-grid { grid-template-columns: 1fr; }
  .season-hero-photo { aspect-ratio: 1.6; }
  .season-page .championship-hero h1 { font-size: clamp(3.5rem, 13vw, 5rem); }
  .season-page .championship-facts { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .season-page .championship-facts article { padding: 18px; }
  .season-page .teams-placeholder { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .season-page .team-slot { grid-template-columns: 1fr; text-align: center; justify-items: center; padding: 20px 12px; }
  .season-page .team-slot > img { grid-row: auto; }
  .season-page .pending-panel { display: block; }
  .season-page .pending-panel .text-link { display: inline-block; margin-top: 16px; white-space: normal; }
  .season-page .championship-section-heading { grid-template-columns: 1fr; gap: 20px; }
  .season-page .championship-section { padding-top: 60px; }
  .season-page .schedule-row { grid-template-columns: minmax(0,1fr) auto; gap: 18px 12px; padding: 18px; }
  .season-page .schedule-day { position: static; grid-column: 1; display: flex; align-items: center; gap: 12px; font-size: 1rem; }
  .season-venue { margin: 0; font-size: .65rem; }
  .season-page .schedule-row time { grid-column: 2; justify-items: end; text-align: right; }
  .season-page .schedule-match { grid-column: 1 / -1; grid-row: 2; grid-template-columns: 44px minmax(0,1fr) 24px 44px minmax(0,1fr); gap: 8px; }
  .season-page .schedule-match img { width: 44px; height: 44px; }
  .season-page .schedule-match strong { font-size: .85rem; }
  .season-page .schedule-result { grid-column: 1 / -1; grid-row: 3; justify-self: center; min-width: 85px; }
  .season-page .schedule-result:not(.played) { display: none; }
  .season-page .championship-promotion { padding: 26px 20px; }
}
@media (max-width: 390px) {
  .season-page .schedule-match { grid-template-columns: 30px minmax(0,1fr) 16px 30px minmax(0,1fr); gap: 6px; }
  .season-page .schedule-match img { width: 30px; height: 30px; }
  .season-page .schedule-match strong { font-size: .78rem; }
}
@media (prefers-reduced-motion: reduce) { .season-page .team-slot { transition: none; } }

/* Championship visual refresh: strong hierarchy, club crests and clear fixtures. */
.season-page{--season-border:#d7dfd5;--season-accent:#91f18e}
.season-page .site-header{background:rgba(3,45,29,.96)}
.season-page .championship-hero{position:relative;padding:142px 0 64px;background:radial-gradient(ellipse at 80% 10%,#15644188,transparent 58%),#032d1d}
.season-hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:72px}
.season-hero-copy .eyebrow{font-size:.67rem;letter-spacing:.14em}
.season-page .championship-hero h1{font-size:clamp(4rem,7.5vw,7.4rem);letter-spacing:-.065em;margin:25px 0}
.season-page .championship-hero h1>span{font-size:.42em;line-height:1.08;letter-spacing:-.035em;margin-top:20px;color:var(--season-accent)}
.season-page .championship-hero p{font-size:.98rem;line-height:1.75;color:#c8dcd0;max-width:410px}
.season-hero-actions{gap:18px;margin-top:28px}
.season-hero-actions .button{font-size:.72rem;padding:18px 22px}
.season-dr3-link{font-size:.75rem;color:#b8d5c3}
.season-hero-photo{aspect-ratio:1.05;border:1px solid #ffffff24;border-radius:6px;box-shadow:0 25px 65px #001b1270}
.season-hero-photo>img{object-position:center 40%;transition:transform .7s}
.season-hero-photo::after{background:linear-gradient(0deg,#021c13f5,transparent 80%)}
.season-hero-photo figcaption{left:28px;right:28px;bottom:28px;padding-top:20px;border-top:1px solid #ffffff40}
.season-hero-photo figcaption span{font-size:.6rem;letter-spacing:.18em}
.season-hero-photo figcaption strong{font-size:clamp(1.8rem,3.2vw,3rem);font-weight:900;margin:12px 0;letter-spacing:-.045em}
.season-hero-photo figcaption small{font-size:.75rem}
.season-page .championship-nav{border-bottom:1px solid var(--season-border);box-shadow:0 5px 20px #032d1d05}
.season-page .championship-nav .container{gap:28px;padding:10px 0}
.season-page .championship-nav a{min-height:40px;border:0;border-radius:3px;padding:11px 15px;font-size:.67rem;letter-spacing:.07em}
.season-page .championship-nav a.active{color:white;background:#032d1d}
.season-page .championship-page{padding-top:56px}
.season-page .championship-overview{grid-template-columns:1fr 1fr;gap:64px}
.season-page .championship-overview h2{font-size:clamp(2.4rem,4.4vw,4.1rem);letter-spacing:-.055em;line-height:.98;margin-top:14px}
.season-page .championship-status{border:1px solid var(--season-border);border-left:3px solid #1acb20;border-radius:4px;box-shadow:0 8px 24px #032d1d04;padding:24px 26px}
.season-page .championship-status p{font-size:.88rem;line-height:1.65;margin-bottom:10px}
.season-page .championship-status small{font-size:.72rem;line-height:1.5;display:block}
.season-page .championship-facts{gap:0;margin-top:30px;border:1px solid var(--season-border);border-radius:5px;overflow:hidden;background:white}
.season-page .championship-facts article{min-height:104px;padding:23px 26px;border:0;border-right:1px solid var(--season-border);background:transparent}
.season-page .championship-facts article:last-child{border-right:0}
.season-page .championship-facts span{font-size:.59rem;letter-spacing:.12em}
.season-page .championship-facts strong{font-size:1.13rem;margin-top:12px;letter-spacing:-.035em}
.season-page .championship-section{padding-top:76px}
.season-page .championship-section-heading{padding-bottom:24px;border-bottom:1px solid var(--season-border);margin-bottom:24px;align-items:end}
.season-page .championship-section-heading h2{font-size:clamp(2.6rem,4.8vw,4.4rem);letter-spacing:-.055em}
.season-page .championship-section-heading p{font-size:.88rem;line-height:1.75;max-width:420px}
.season-page .pending-panel{display:grid;grid-template-columns:1fr auto;gap:8px 30px;padding:20px 24px;margin-bottom:24px;background:#e9eee5;border:0;border-radius:4px}
.season-page .pending-panel>strong{font-size:.84rem}
.season-page .pending-panel>p{grid-column:1;margin:0;font-size:.8rem;line-height:1.6}
.season-page .pending-panel>.text-link{grid-column:2;grid-row:1/3;align-self:center;font-size:.66rem}
.season-page .teams-placeholder{gap:12px}
.season-page .team-slot{position:relative;grid-template-columns:58px minmax(0,1fr);gap:5px 14px;min-height:120px;padding:22px 18px;border:1px solid var(--season-border);border-radius:5px;background:#fff}
.season-page .team-slot>img{width:58px;height:58px;border-radius:50%;padding:7px;background:#f6f8f3;border:1px solid #e5eae2}
.season-page .team-slot strong{font-size:.82rem;font-weight:850;letter-spacing:-.025em}
.season-page .team-slot small{font-size:.66rem;line-height:1.5}
.season-page .team-slot-boars{background:#032d1d;border-color:#032d1d;box-shadow:inset 0 3px #29d527}
.season-page .team-slot-boars>img{padding:0;border-color:#29d527}
.season-page .team-slot-boars strong{color:#fff}
.season-page .team-slot-boars small{color:#b5d9be}
.season-calendar-toolbar{align-items:center;gap:12px;margin-bottom:14px}
.season-filter-group{border-radius:5px;padding:4px;box-shadow:0 2px 4px #032d1d03}
.season-filter-group button{border-radius:3px;font-size:.72rem;padding:11px 15px}
.season-calendar-count{font-size:.74rem;margin-bottom:20px;font-weight:600}
.season-page .schedule-phase{display:flex;align-items:center;gap:14px;margin:28px 0 12px;padding:15px 20px;border-radius:4px;letter-spacing:.12em;font-size:.65rem}
.season-page .schedule-phase::before{content:'';width:6px;height:6px;background:#8cf18b;border-radius:50%}
.season-page .schedule-row{grid-template-columns:82px 125px minmax(0,1fr) 88px;gap:22px;min-height:108px;padding:20px 24px;border:1px solid var(--season-border);border-left:3px solid #d0dace;border-radius:5px;margin-bottom:10px;box-shadow:0 3px 9px #032d1d03}
.season-page .schedule-row.home{border-left-color:#20b544;background:#fbfef8}
.season-page .schedule-day{font-size:1.7rem;font-weight:900;letter-spacing:-.055em;line-height:1.1}
.season-venue{font-size:.5rem;letter-spacing:.07em;margin-top:8px;line-height:1.4}
.season-page .schedule-row time{font-size:.79rem;font-weight:750;line-height:1.5;letter-spacing:-.015em}
.season-page .schedule-row time::after{font-size:.68rem;margin-top:5px;color:#607564}
.season-page .schedule-match{grid-template-columns:42px minmax(0,1fr) 24px 42px minmax(0,1fr);gap:12px}
.season-page .schedule-match img{height:42px;width:42px;object-fit:contain;border-radius:50%;background:white;padding:3px}
.season-page .schedule-match strong{font-size:.8rem;line-height:1.4;letter-spacing:-.025em;font-weight:800}
.season-page .schedule-match b{font-size:.55rem;color:#8d9a8e;letter-spacing:.04em}
.season-page .schedule-result{font-variant-numeric:tabular-nums;white-space:nowrap;color:#89968a;font-size:1rem}
.season-page .schedule-result.played{border-radius:4px;padding:11px 8px;background:#032d1d;color:white;font-size:1rem;letter-spacing:-.035em}
.season-page .championship-promotion{padding:40px;border:1px solid #256345;border-radius:6px;background:radial-gradient(ellipse at top right,#146a3b66,transparent 70%),#032d1d}
.season-page .championship-promotion .championship-section-heading{border-color:#ffffff26}
.season-page .championship-promotion .promotion-stats article{border-radius:4px;background:#ffffff06;border-color:#ffffff20}
@media(max-width:1100px){.season-hero-grid{gap:35px}.season-page .schedule-row{grid-template-columns:66px 105px minmax(0,1fr) 76px;gap:14px;padding:18px 16px}.season-page .schedule-match{grid-template-columns:34px minmax(0,1fr) 20px 34px minmax(0,1fr);gap:8px}.season-page .schedule-match img{width:34px;height:34px}.season-page .schedule-match strong{font-size:.73rem}}
@media(max-width:760px){
 .season-page .championship-hero{padding:110px 0 34px}.season-hero-grid{grid-template-columns:1fr;gap:30px}.season-page .championship-hero h1{font-size:clamp(4rem,17vw,6rem);margin:22px 0}.season-page .championship-hero h1>span{font-size:.42em;margin-top:15px}.season-page .championship-hero h1>span br{display:none}.season-page .championship-hero p{font-size:.9rem;max-width:100%}.season-hero-actions{gap:16px}.season-hero-photo{aspect-ratio:1.55}.season-hero-photo figcaption{left:20px;right:20px;bottom:20px;padding-top:12px}.season-hero-photo figcaption strong{font-size:1.6rem;margin:8px 0}.season-hero-photo figcaption strong br{display:none}
 .season-page .championship-nav .container{gap:6px;padding:8px 0}.season-page .championship-nav a{font-size:.58rem;padding:10px 12px;min-height:36px}.season-page .championship-overview{grid-template-columns:1fr;gap:20px}.season-page .championship-page{padding-top:32px}.season-page .championship-status{padding:20px}.season-page .championship-facts article{min-height:96px;padding:20px 16px}.season-page .championship-facts article:nth-child(2){border-right:0}.season-page .championship-facts article:nth-child(-n+2){border-bottom:1px solid var(--season-border)}.season-page .championship-facts strong{font-size:.97rem}
 .season-page .championship-section{padding-top:52px}.season-page .championship-section-heading{gap:12px;padding-bottom:18px}.season-page .championship-section-heading h2{font-size:2.7rem}.season-page .pending-panel{display:block;padding:18px}.season-page .pending-panel>p{margin-top:8px}.season-page .pending-panel>.text-link{margin-top:12px;font-size:.6rem}
 .season-page .team-slot{grid-template-columns:1fr;gap:8px;min-height:166px;padding:20px 12px}.season-page .team-slot>img{width:58px;height:58px;grid-row:auto}.season-page .team-slot strong{font-size:.79rem;align-self:center}.season-page .team-slot small{font-size:.62rem}
 .season-calendar-toolbar{display:grid;grid-template-columns:1fr;gap:8px}.season-filter-group{display:flex}.season-filter-group button{flex:1;padding:11px 8px;font-size:.68rem;min-height:42px}.season-page .schedule-phase{padding:14px 16px;font-size:.6rem}
 .season-page .schedule-row{grid-template-columns:minmax(0,1fr) auto;gap:17px 12px;padding:17px 16px}.season-page .schedule-day{font-size:1.3rem;gap:12px}.season-venue{margin:0;font-size:.5rem;letter-spacing:.04em}.season-page .schedule-row time{grid-column:2;text-align:right;justify-items:end;font-size:.74rem}.season-page .schedule-row time::after{font-size:.65rem;margin-top:2px}
 .season-page .schedule-match{grid-column:1/-1;grid-row:2;grid-template-columns:38px minmax(0,1fr) 20px 38px minmax(0,1fr);gap:8px;padding-top:14px;border-top:1px solid #e5eae2}.season-page .schedule-match img{width:38px;height:38px}.season-page .schedule-match strong{font-size:.73rem}.season-page .schedule-result.played{grid-column:1/-1;grid-row:3;justify-self:center;min-width:88px;padding:9px 12px;font-size:1.02rem}.season-page .championship-promotion{padding:26px 20px}
}
@media(max-width:360px){.season-page .schedule-match{grid-template-columns:28px minmax(0,1fr) 16px 28px minmax(0,1fr);gap:5px}.season-page .schedule-match img{width:28px;height:28px}.season-page .schedule-match strong{font-size:.66rem}.season-filter-group button{font-size:.62rem}}
@media(max-width:760px){.season-page .championship-hero h1>span br,.season-hero-photo figcaption strong br{display:initial}.season-page .championship-section-heading h2{font-size:2.45rem}.season-page .championship-section-heading p{font-size:.82rem}}
.season-page .team-slot>img.team-logo-dark,.season-page .schedule-match img[src$="step-back-caiazzo.svg"]{background:#032d1d}

/* Arena direction, matching the immersive roster. */
.season-page{--paper:#09120d;--ink:#eff5ec;--season-border:#ffffff1b;--line-dark:#ffffff1b;background:#09120d;color:#eff5ec}
.season-page .championship-hero{background:radial-gradient(ellipse at 70% 40%,#24472a80,transparent 65%),#080f0b;padding-bottom:60px}
.season-page .season-hero-grid{grid-template-columns:minmax(0,.83fr) minmax(0,1.3fr);gap:56px}
.season-page .season-hero-copy .eyebrow{color:#a0b5a4}
.season-page .championship-hero h1{font-size:clamp(4rem,6.8vw,6.8rem)}
.season-page .championship-hero h1>span{color:#91eca0}
.season-page .season-hero-actions .button-primary{background:#87eda0;color:#052718}
.season-arena{position:relative;isolation:isolate;overflow:hidden;padding:26px;border:1px solid #71967545;border-radius:12px;background:radial-gradient(ellipse at 50% 24%,#2b4b3055,transparent 70%),repeating-linear-gradient(90deg,#141e15 0,#101a12 calc(20% - 2px),#283626 calc(20% - 1px),#0b130d 20%);box-shadow:inset 0 0 80px #0006,0 25px 65px #0005}
.arena-glow{position:absolute;z-index:-1;top:0;left:20%;right:20%;height:2px;background:#bcffb3;box-shadow:0 0 20px #b4ffa9,0 24px 90px 35px #8af69b20}
.arena-top{display:flex;justify-content:space-between;gap:14px;padding-bottom:20px;border-bottom:1px solid #ffffff1c;font-size:9px;letter-spacing:.13em;font-weight:800;color:#8dec9f}
.arena-round{color:#8fa795;font-size:8px;white-space:nowrap}
.arena-date{display:block;margin:28px 0 24px;text-align:center;color:#b9cdbd;font-size:11px;text-transform:capitalize;letter-spacing:.025em;font-weight:600}
.arena-scoreboard{display:grid;grid-template-columns:minmax(0,1fr) 105px minmax(0,1fr);gap:12px;align-items:center;min-height:220px}
.arena-side{display:flex;flex-direction:column;align-items:center;gap:20px;text-align:center;min-width:0}
.arena-side>img{width:115px;height:115px;object-fit:contain;background:#f5f7ef;border:1px solid #8bd59440;border-radius:50%;padding:12px;filter:drop-shadow(0 12px 15px #0006)}
.arena-side>img[src$="logo-boars.jpg"]{padding:0;border:2px solid #8ded9c}
.arena-side>img[src$="step-back-caiazzo.svg"]{background:#032d1d}
.arena-side>strong{font-size:14px;color:#f0f4e9;line-height:1.35;letter-spacing:-.025em;max-width:170px;min-height:38px}
.arena-center{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}
.arena-score{font-size:40px;color:#a0edaa;font-weight:900;letter-spacing:-.06em;line-height:1;font-variant-numeric:tabular-nums}
.arena-score.has-result{font-size:27px;white-space:nowrap}
.arena-status{font-size:7px;letter-spacing:.1em;color:#a8bcac;line-height:1.6}
.arena-controls{display:flex;justify-content:center;align-items:center;gap:23px;margin:18px 0 26px}
.arena-controls button{display:grid;place-items:center;width:38px;height:38px;border:1px solid #9bd2a34d;border-radius:50%;background:#18321e99;color:#d9f2d8;font-size:19px;cursor:pointer}
.arena-controls button:hover{border-color:#8fec9d;background:#2d5033}
.arena-controls button:focus-visible,.arena-opponent:focus-visible{outline:2px solid #9bf3a4;outline-offset:4px}
.arena-position{font-size:9px;letter-spacing:.15em;color:#8fa795;font-variant-numeric:tabular-nums}
.arena-rivals{border-top:1px solid #ffffff1c;padding-top:20px}
.arena-rivals>span{display:block;font-size:8px;letter-spacing:.17em;color:#91a996;margin-bottom:15px;text-align:center}
.arena-opponents{display:flex;overflow-x:auto;gap:9px;padding:5px 4px 12px;scrollbar-width:thin;scrollbar-color:#547b5b #ffffff08}
.arena-opponent{flex:0 0 42px;width:42px;height:42px;border:1px solid #ffffff25;border-radius:6px;padding:6px;background:#eaf1e4;cursor:pointer;opacity:.7;transition:opacity .2s,border-color .2s,transform .2s}
.arena-opponent img{width:100%;height:100%;object-fit:contain}
.arena-opponent:has(img[src$="step-back-caiazzo.svg"]){background:#032d1d}
.arena-opponent.selected,.arena-opponent:hover{opacity:1;border-color:#a0f3aa;box-shadow:0 0 0 2px #91eca030;transform:translateY(-2px)}
.season-page .championship-nav{background:#0a160ff2;border-color:#ffffff1b}
.season-page .championship-nav a{color:#aec7b3;background:transparent}
.season-page .championship-nav a.active{background:#8ded9d;color:#062315}
.season-page .championship-nav a:hover{background:#294b31;color:#e4f7e3}
.season-page .championship-page{background:radial-gradient(ellipse at 100% 20%,#28442b22,transparent 45%),#09120d}
.season-page .championship-kicker,.season-page .championship-section-heading>div>span{color:#8ded9d}
.season-page .championship-overview h2,.season-page .championship-section-heading h2{color:#edf5e9}
.season-page .championship-status{background:#122219;border-color:#ffffff1b;border-left-color:#8ded9d}
.season-page .status-line strong{color:#ecf6ea}
.season-page .championship-status p,.season-page .championship-status small,.season-page .championship-section-heading p{color:#a2b9a8}
.season-page .championship-facts{background:#122018;border-color:#ffffff1b}
.season-page .championship-facts span{color:#91a996}.season-page .championship-facts strong{color:#e8f4e5}
.season-page .pending-panel{background:#15271b;color:#e3efde}
.season-page .pending-panel p,.season-page .pending-panel .text-link{color:#a6c4ae}
.season-page .team-slot{background:linear-gradient(145deg,#192a1e,#101d15);border-color:#ffffff1b;box-shadow:0 8px 18px #0002}
.season-page .team-slot strong{color:#e5efdf}.season-page .team-slot small{color:#92ad9b}
.season-page .team-slot-boars{background:radial-gradient(ellipse at top right,#38633c77,transparent 90%),#10281a;border-color:#82df9477;box-shadow:inset 0 3px #8ded9d}
.season-page .team-slot:hover{border-color:#8ded9d}
.season-filter-group{background:#122219;border-color:#ffffff25;box-shadow:none}
.season-filter-group button{color:#afc6b4}.season-filter-group button.selected{background:#8ded9d;color:#052315}.season-filter-group button:hover:not(.selected){background:#284632;color:#edf7e9}
.season-calendar-count{color:#9bb7a3}
.season-page .schedule-phase{background:#203b29;color:#d8edda;border:1px solid #71967540}
.season-page .schedule-row{background:linear-gradient(110deg,#15251a,#101d15);border-color:#ffffff1a;border-left-color:#425b47;box-shadow:0 5px 12px #0002}
.season-page .schedule-row.home{background:linear-gradient(110deg,#1b3624,#122219);border-left-color:#8ded9d}
.season-page .schedule-day{color:#9aecaa}.season-venue{color:#9ab5a1}
.season-page .schedule-row time{color:#e0ebdc}.season-page .schedule-row time::after{color:#98b5a0}
.season-page .schedule-match{border-color:#ffffff18}.season-page .schedule-match strong{color:#e6f0e0}.season-page .schedule-match b{color:#789480}
.season-page .schedule-result{color:#829a88}.season-page .schedule-result.played{background:#86e79a;color:#052315;box-shadow:0 0 20px #8ded9d0a}
.season-page .championship-promotion{background:radial-gradient(ellipse at top right,#325f3b55,transparent 70%),#11261a;border-color:#70987740}
.season-page .site-footer{border-top:1px solid #ffffff1b}
@media(max-width:1100px){.season-page .season-hero-grid{gap:28px;grid-template-columns:minmax(0,.9fr) minmax(0,1.2fr)}.season-arena{padding:20px}.arena-scoreboard{grid-template-columns:minmax(0,1fr) 80px minmax(0,1fr)}.arena-side>img{width:90px;height:90px}.arena-side>strong{font-size:12px}}
@media(max-width:760px){.season-page .season-hero-grid{grid-template-columns:1fr;gap:30px}.season-page .championship-hero{padding-bottom:34px}.season-arena{padding:20px 15px;border-radius:9px}.arena-top{font-size:8px;padding-bottom:16px;gap:8px}.arena-round{font-size:7px;letter-spacing:.04em}.arena-date{font-size:10px;margin:23px 0 15px}.arena-scoreboard{min-height:174px;gap:7px;grid-template-columns:minmax(0,1fr) 76px minmax(0,1fr)}.arena-side{gap:15px}.arena-side>img{width:86px;height:86px;padding:9px}.arena-side>strong{font-size:12px}.arena-score{font-size:30px}.arena-score.has-result{font-size:23px}.arena-status{font-size:6px}.arena-controls{margin:10px 0 20px}.arena-rivals{padding-top:16px}.arena-opponents{gap:9px}.arena-opponent{flex-basis:40px;width:40px;height:40px}.season-page .championship-facts article:nth-child(-n+2){border-bottom-color:#ffffff1b}}
@media(max-width:360px){.arena-top{flex-direction:column;align-items:center;gap:8px}.arena-side>img{width:72px;height:72px}.arena-scoreboard{grid-template-columns:minmax(0,1fr) 65px minmax(0,1fr)}.arena-score.has-result{font-size:21px}}
@media(prefers-reduced-motion:reduce){.arena-opponent{transition:none}}
