/* V3 editorial reskin. Original palette and application hooks preserved. */
.wrap{max-width:1440px;padding-inline:5vw}
body{background:var(--paper)}
.btn{border-radius:0;min-height:48px;letter-spacing:.08em}
header{background:var(--navy-deep);border-bottom:1px solid rgba(143,205,242,.25)}
.hbar{padding-block:18px}.tab{font-size:12px;letter-spacing:.05em}
.hero{position:relative;padding:0;isolation:isolate;overflow:hidden}
.hero::before{display:none}
.hero-inner{position:relative;display:block;min-height:760px;height:calc(100svh - 90px);max-height:1000px;padding-top:0;max-width:none}
.hero-art{position:absolute;inset:0;width:100%;height:100%;max-width:none;aspect-ratio:auto;z-index:-1;animation:none}
.hero-art .frame{inset:0;clip-path:none;border-radius:0;box-shadow:none}
.hero-art .frame img{object-fit:cover;object-position:center 38%;filter:saturate(.8)}
.hero-art .frame::after{background:linear-gradient(180deg,rgba(7,6,31,.65),transparent 28%,rgba(7,6,31,.12) 46%,rgba(7,6,31,.96) 100%)}
.hero-copy{position:absolute;inset:0 5vw 55px;display:flex;flex-direction:column;justify-content:flex-end;animation:none}
.hero h1{font-size:clamp(78px,9vw,150px);line-height:.96;letter-spacing:-.025em;max-width:80%;margin:0;text-transform:uppercase}
.hero h1 .accent{color:var(--ice)}
.hero .eyebrow{position:absolute;top:32px;left:0;margin:0;font-size:11px}
.hero-copy>p:not(.eyebrow){position:absolute;right:0;bottom:65px;width:290px;font-size:15px;line-height:1.8}
.hero-ctas{margin-top:30px}.hero-ctas .btn:first-child{background:var(--ice);color:var(--navy-deep);border-color:var(--ice)}
.hero-badges{position:absolute;right:0;bottom:0;border:0;padding:0;margin:0;gap:14px}.hero-badges .ic{display:none}
.hero-art .crest-mark{top:30px;right:5vw;bottom:auto;width:74px}
.hero-caption{display:none}.photo-index{display:none}
.next-strip{clip-path:none;border:0;background:var(--navy);padding:24px 0}.next-strip .wrap{max-width:1440px}
.angle-both,.angle-bottom{clip-path:none}
.boca-players{position:relative;background:var(--ice);color:var(--navy);padding:96px 0 64px;border:0}
.boca-players .eyebrow,.boca-players-intro,.boca-players-help,.boca-player-status{color:var(--navy)}
.boca-players h2{font:400 clamp(58px,7.5vw,110px)/.98 Anton,Arial,sans-serif;color:var(--navy);letter-spacing:-.02em}
.boca-players-head{align-items:flex-end;margin-bottom:36px}.boca-players-head>div:first-child{display:grid;grid-template-columns:1.5fr 1fr;column-gap:7vw;align-items:end;flex:1}
.boca-players .eyebrow{grid-column:1/-1}.boca-players-intro{font:400 25px/1.35 Georgia,serif;max-width:22ch;margin:0 0 8px}
.boca-player-controls button{border-color:var(--navy);color:var(--navy);width:58px;height:58px;border-radius:0}
.boca-player-controls button:hover:not(:disabled){background:var(--navy);color:var(--ice)}
.boca-player-track{grid-auto-columns:calc((100% - 48px)/3.35);gap:24px;scrollbar-color:var(--navy) transparent;padding-bottom:24px}
.boca-player{background:var(--navy);position:relative;padding-bottom:24px;border-bottom:4px solid var(--gold)}
.boca-player-photo{border:0;border-radius:0;aspect-ratio:1/1}
.boca-player-photo img{filter:saturate(.75);transition:filter .25s,transform .35s}
.boca-player:hover img{filter:saturate(1);transform:scale(1.04)}
.boca-player-photo:after{inset:60% 0 0;background:linear-gradient(transparent,var(--navy))}
.boca-player-number{font:400 82px/1 Anton,Arial,sans-serif;bottom:0;left:22px;color:var(--ice)}
.boca-player h3{font:400 31px/1.2 Oswald,Arial,sans-serif;margin:12px 22px 7px}.boca-player>p{margin:0 22px;color:var(--ice)}
.boca-players-foot a{color:var(--navy);border-bottom-color:var(--navy)}
.boca-players :focus-visible{outline-color:var(--navy)}
.home-editorial{padding-top:76px!important;padding-bottom:90px;background:var(--paper)}
.section-kicker{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--navy);padding-bottom:18px;margin-bottom:24px;font-size:11px;font-weight:700;letter-spacing:.12em}
.section-kicker a{text-decoration:none;letter-spacing:0}
.dash-grid{gap:0;margin-bottom:100px;grid-template-columns:1.15fr 1fr;border:1px solid var(--canvas-dim)}
.dash-card{border:0;border-radius:0;padding:38px;background:var(--canvas)}
.dash-card:first-child{background:var(--navy);color:var(--canvas)}
.dash-card:first-child h3,.dash-card:first-child p,.dash-card:first-child .mono{color:var(--canvas)!important}
.dash-card:first-child a:not(.btn){color:var(--ice)}.dash-card:first-child .btn{background:var(--ice);color:var(--navy)}
.next-match h3{font-size:32px}.dash-card h3{font-size:30px}
.community-story{grid-template-columns:1fr 1fr;gap:8vw;margin-bottom:110px}
.community-photo{border-radius:0;transform:rotate(-2deg);margin:18px;background:var(--navy);box-shadow:18px 18px 0 var(--ice)}
.community-photo img{height:550px;object-fit:cover;object-position:center 35%}
.community-photo figcaption{padding:20px;font-size:12px}
.community-copy h2{font:400 clamp(36px,4.4vw,66px)/1.08 Georgia,serif}
.community-copy>p:not(.eyebrow){font-size:16px}.community-copy .eyebrow{color:var(--navy)}
.subhead{border-bottom:1px solid var(--navy);margin-top:64px;padding-bottom:24px}
.subhead h3{font:400 clamp(28px,3.8vw,52px)/1.1 Anton,Arial,sans-serif;text-transform:uppercase}
.subhead a{color:var(--navy)!important;font-size:12px}
.merch-intro{margin:110px -5vw 0;padding:70px 5vw;background:var(--navy);color:var(--canvas);border-top:6px solid var(--ice)}
.merch-intro .eyebrow{color:var(--ice)}.merch-intro>p{font:400 clamp(40px,5vw,76px)/1.12 Oswald,Arial,sans-serif;margin:20px 0 0}.merch-intro em{font-family:Georgia,serif;color:var(--ice);font-weight:400}
.grid{gap:28px}.card{border:0;border-radius:0;background:transparent;overflow:visible}.card:hover{box-shadow:none;transform:translateY(-3px)}
.card-art{border:0;background:var(--canvas-dim);aspect-ratio:1/1}.card-art .shot{padding:16px}.card-body{padding:22px 0}.card-body h3{font-size:17px;line-height:1.4}.price-row{border:0;margin:0;padding-top:8px}.price{font-size:30px}
.board{border-radius:0;border:1px solid var(--navy);grid-template-columns:minmax(0,1fr) 300px}.board-main{padding:42px}.board h3{font-size:38px}.board-meta{background:var(--ice);border-left:1px solid var(--navy)}
.page-head{padding:70px 0 75px;border-bottom:0;background:var(--navy);overflow:hidden}
.page-head::before{background:repeating-linear-gradient(90deg,transparent 0,transparent 119px,rgba(143,205,242,.1) 120px,transparent 121px);opacity:1}
.page-head h1{font-size:clamp(54px,7vw,100px);line-height:1.02;letter-spacing:-.02em;max-width:850px}
.page-head p{max-width:54ch}.page-head .eyebrow{letter-spacing:.16em}
.page-store .page-head{background:var(--ice);color:var(--navy);position:relative}
.page-store .page-head h1,.page-store .page-head p,.page-store .page-head .eyebrow{color:var(--navy)}
.page-store .page-head::before{display:none}
.page-store .page-section{padding-top:50px}.page-store .grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.page-schedule .page-head{background:var(--navy-deep)}
.sched-table{border:0;border-radius:0;background:var(--canvas)}.sched-table th{background:var(--navy);color:var(--ice);padding:22px;font-size:11px;letter-spacing:.1em}.sched-table td{padding:28px 22px;border-bottom:1px solid var(--canvas-dim)}
.sched-table td:nth-child(2){font:500 23px/1.3 Oswald,Arial,sans-serif}.sched-table tbody tr:nth-child(even){background:var(--paper)}
.sched-card{border:0;border-radius:0;border-left:5px solid var(--ice);padding:26px}.sched-card-opp{font-size:25px;line-height:1.3}.sched-card-top{padding-bottom:15px;border-bottom:1px solid var(--canvas-dim);margin-bottom:16px}
.page-give .page-head{background:var(--navy-deep)}.give-layout{gap:7vw}.give-story h2{font-size:clamp(44px,4.7vw,66px)}.give-story>img{border-radius:0}.quick-give{border-radius:0;border-top:5px solid var(--ice);padding:28px;box-shadow:12px 12px 0 var(--canvas-dim)}.qg-amt{border-radius:0;min-height:58px}.donor-trust{border-radius:0}.donor-trust p{font-size:15px;line-height:1.75}
.team-hero,.player-card,.coach-card,.gallery figure{border-radius:0}.player-card{border-bottom:3px solid var(--ice)}
.sponsors{background:var(--canvas);padding:76px 0;color:var(--navy);border:0}.sponsors h2,.sponsors .eyebrow,.sponsors .sec-head{color:var(--navy)}.sponsor-badge{border:1px solid var(--canvas-dim);border-radius:0;padding:24px;color:var(--navy)}.sponsor-badge:hover{background:var(--paper);border-color:var(--navy)}.sponsor-logo-chip{height:144px;flex:0 0 144px;border-radius:0}.sponsor-badge span{color:var(--ink-soft)}
footer{padding-top:54px;background:var(--navy-deep)}.footer-disclaimer{font-size:15px}
@media(max-width:1000px){.hero-inner{min-height:700px}.hero h1{font-size:95px}.hero-copy>p:not(.eyebrow){width:240px;font-size:14px}.hero-badges{max-width:250px}.boca-players-head>div:first-child{display:block}.boca-players-intro{font-size:21px;margin-top:24px}.boca-player-track{grid-auto-columns:calc((100% - 40px)/2.6)}.community-photo img{height:440px}}
@media(max-width:760px){.wrap{padding-inline:22px}.hero-inner{height:auto;min-height:790px}.hero-art .frame img{object-position:center top;height:450px;object-fit:cover}.hero-art .frame::after{background:linear-gradient(180deg,rgba(7,6,31,.3),transparent 28%,var(--navy-deep) 60%)}.hero-copy{inset:0 22px 30px}.hero h1{font-size:clamp(62px,12vw,90px);max-width:100%}.hero .eyebrow{top:22px;font-size:9px;max-width:75%}.hero-copy>p:not(.eyebrow){position:static;width:auto;max-width:40ch;font-size:15px;margin:20px 0 0}.hero-ctas{margin-top:24px}.hero-badges{position:static;max-width:none;margin-top:25px;gap:20px}.hero-art .crest-mark{width:45px;right:22px;top:22px}.boca-players{padding:60px 0 42px}.boca-players h2{font-size:58px}.boca-players-head{gap:15px;align-items:flex-start}.boca-player-controls{gap:6px}.boca-player-controls button{width:44px;height:44px}.boca-player-track{grid-auto-columns:78%;gap:16px}.boca-players-intro{font-size:21px;max-width:24ch}.boca-player h3{font-size:29px}.boca-player-number{font-size:72px}.boca-players-help{font-size:11px}.section-kicker{font-size:10px;line-height:1.5}.dash-grid{grid-template-columns:1fr;margin-bottom:66px}.dash-card{padding:28px}.community-story{grid-template-columns:1fr;gap:46px;margin-bottom:65px}.community-photo{margin:8px 15px 8px 4px}.community-photo img{height:auto;max-height:540px;object-fit:cover}.community-copy h2{font-size:43px}.home-editorial{padding-top:45px!important}.merch-intro{margin-top:70px;padding:44px 22px}.merch-intro>p{font-size:42px}.subhead{gap:20px}.subhead h3{font-size:31px}.subhead a{font-size:10px}.grid,.page-store .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.card-body h3{font-size:14px}.card-body{padding:16px 0}.card-art .shot{padding:5px}.board{grid-template-columns:1fr}.board-main{padding:26px}.board-meta{border-left:0;border-top:1px solid var(--navy)}.page-head{padding:46px 0}.page-head h1{font-size:58px}.page-head p{font-size:15px}.give-layout{gap:48px}.quick-give{padding:20px;box-shadow:7px 7px 0 var(--canvas-dim)}.sponsors{padding:48px 0}.sponsor-badge{padding:16px}.give-story h2{font-size:44px}}
@media(max-width:380px){.hero-inner{min-height:830px}.hero h1{font-size:59px}.hero-ctas{gap:8px}.hero-ctas .btn{font-size:10px;padding-inline:12px}.hero-badges{gap:12px}.boca-players h2{font-size:46px}.boca-player-controls button{width:40px;height:44px}.boca-players-head{gap:8px}.grid,.page-store .grid{grid-template-columns:1fr}.page-head h1{font-size:48px}}
@media(prefers-reduced-motion:reduce){.card,.card-art .shot-img,.boca-player-photo img{transition:none}.card:hover,.boca-player:hover img{transform:none}}
.follow-section{display:grid;grid-template-columns:1fr 1fr;column-gap:7vw;padding:60px;margin-top:100px;border-radius:0;background:var(--navy);box-shadow:12px 12px 0 var(--ice)}
.follow-section[hidden]{display:none}.follow-section>.eyebrow,.follow-section>h2,.follow-section>p{grid-column:1}
.follow-section>h2{font:400 clamp(42px,4.4vw,65px)/1.04 Anton,Arial,sans-serif;letter-spacing:-.02em;margin:10px 0 24px}
.follow-section>p{font-size:16px;line-height:1.8}.follow-form{grid-column:2;grid-row:1/5;align-content:start}
.follow-form label{font:600 12px/1.5 Inter,Arial,sans-serif;color:var(--canvas);letter-spacing:.04em}
.follow-form input[type=text],.follow-form input[type=email],.follow-form select{border-radius:0;border:1px solid var(--ice);background:var(--navy-deep);min-height:52px;color:var(--canvas);font-size:16px}
.follow-form input::placeholder{color:var(--canvas-dim)!important}.follow-form .btn{background:var(--ice);color:var(--navy);grid-column:1/-1;width:100%}
.signup-options{border-block:1px solid rgba(143,205,242,.4);padding:15px 0;color:var(--ice);font-size:13px}.signup-options summary{cursor:pointer;min-height:28px;line-height:28px}.signup-options-body{padding-top:18px}.follow-prefs{margin-top:20px}
.signup-consent,.follow-note,#signupStatus{color:var(--canvas-dim);font-size:13px;line-height:1.65;margin:0}.follow-note a{color:var(--ice)!important}#signupStatus:empty{display:none}
.page-store .page-head:after{content:'';position:absolute;right:0;top:0;width:37%;height:100%;background:var(--canvas) url('img/products/hat-navy.webp') center/contain no-repeat;clip-path:polygon(20% 0,100% 0,100% 100%,0 100%)}
.page-store .page-head h1,.page-store .page-head p{max-width:61%}
.hero-art .crest-mark{height:auto}
@media(max-width:1000px){.follow-section{padding:36px;column-gap:35px}.follow-form{grid-template-columns:1fr}}
@media(max-width:760px){.follow-section{display:block;padding:30px 24px;margin-top:70px;box-shadow:7px 7px 0 var(--ice)}.follow-form{margin-top:30px}.follow-section>h2{font-size:46px}.page-store .page-head:after{display:none}.page-store .page-head h1,.page-store .page-head p{max-width:100%}.hero-art .frame img{height:auto;top:80px;position:absolute;object-fit:contain}.hero-art .frame::after{background:linear-gradient(180deg,rgba(7,6,31,.2),transparent 20%,var(--navy-deep) 58%)}}
@media(max-width:760px){.hero-inner{min-height:730px}.hero-art .frame img{mask-image:linear-gradient(#000 80%,transparent)}.hero-copy{bottom:28px}}
@media(max-width:380px){.hero-inner{min-height:770px}}

/* ---- Player carousel: broadcast-style cutouts (JP, 09/13/26) ----
   The players are transparent PNGs, so the "TV player announcement" look just
   means getting everything else out of their way: no tile behind them, no
   gradient washing over their lower half, no desaturation. They then stand
   directly on the section's own background as clean cutouts.
   Dropping the navy tile also drops the dark surface the number and name were
   reversed out of, so both are recoloured to navy for contrast on --ice.
   Scoped with :has(img) so a player with no photo yet keeps the gradient tile
   and oversized number that stands in for one. */
.boca-player:has(img){background:none;border-bottom:0;padding-bottom:8px}
.boca-player-photo:has(img){background:none;border:0;border-radius:0;overflow:visible}
.boca-player-photo:has(img):after{content:none}
.boca-player-photo img{filter:none;object-fit:contain;-webkit-mask-image:linear-gradient(#000 84%,transparent);mask-image:linear-gradient(#000 84%,transparent)}
.boca-player:has(img) .boca-player-number{color:var(--navy)}
.boca-player:has(img) h3{color:var(--navy)}
.boca-player:has(img)>p{color:var(--navy)}

/* ---- Team page hero: full squad photo, uncropped (JP, 09/13/26) ----
   The overlay treatment crops the photo to a letterbox and lays the club
   story across it, which buried roughly half the girls in the squad photo.
   This is the same stacked arrangement the design already falls back to at
   <=640px — photo in full, story beneath it on navy — just applied at every
   width. Scoped to .page-team so no other hero is affected. */
.page-team .team-hero{display:block;min-height:0;background:var(--navy);box-shadow:none}
.page-team .team-hero img{position:static;width:100%;height:auto;display:block}
.page-team .team-hero::after{display:none}
.page-team .team-hero-inner{max-width:none;padding:34px 40px}

/* ---- Tampa Super Cup highlight (Schedule page) — games flagged cup:"tampa" in SCHEDULE
   are framed as one group: tinted rows, navy border around the run. ---- */
.sched-table tbody tr.cup-tampa,.sched-table tbody tr.cup-tampa:nth-child(even){background:#E4F2FC}
.sched-table tbody tr.cup-tampa td{background:#E4F2FC}
.sched-table tbody tr.cup-tampa td:first-child{box-shadow:inset 4px 0 0 var(--navy)}
.sched-table tbody tr.cup-tampa td:last-child{box-shadow:inset -4px 0 0 var(--navy)}
.sched-table tbody tr.cup-tampa.cup-start td{box-shadow:inset 0 4px 0 var(--navy)}
.sched-table tbody tr.cup-tampa.cup-start td:first-child{box-shadow:inset 4px 4px 0 var(--navy)}
.sched-table tbody tr.cup-tampa.cup-start td:last-child{box-shadow:inset -4px 4px 0 var(--navy)}
.sched-table tbody tr.cup-tampa.cup-end td{box-shadow:inset 0 -4px 0 var(--navy)}
.sched-table tbody tr.cup-tampa.cup-end td:first-child{box-shadow:inset 4px -4px 0 var(--navy)}
.sched-table tbody tr.cup-tampa.cup-end td:last-child{box-shadow:inset -4px -4px 0 var(--navy)}
.sched-card.cup-tampa{background:#E4F2FC;border:3px solid var(--navy);border-radius:8px}
/* the Final: a gold ring inside the navy tournament border */
.sched-table tbody tr.cup-tampa.cup-final td{background:#FFF1C2;font-weight:700;box-shadow:inset 0 6px 0 #E8A800,inset 0 -6px 0 #E8A800}
.sched-table tbody tr.cup-tampa.cup-final td:first-child{box-shadow:inset 6px 6px 0 #E8A800,inset 6px -6px 0 #E8A800,inset 10px 0 0 var(--navy)}
.sched-table tbody tr.cup-tampa.cup-final td:last-child{box-shadow:inset -6px 6px 0 #E8A800,inset -6px -6px 0 #E8A800,inset -10px 0 0 var(--navy)}
.sched-card.cup-tampa.cup-final{background:#FFF1C2;box-shadow:0 0 0 6px #E8A800}

/* ---- Tampa Super Cup banner (home) ---- */
.cup-banner{background:var(--ice);color:var(--navy);padding:44px 0;border-top:6px solid var(--navy);border-bottom:6px solid var(--navy)}
.cup-banner[hidden]{display:none}
.cup-banner .wrap{max-width:1440px}
.cup-inner{display:flex;align-items:center;justify-content:space-between;gap:48px}
.cup-main{flex:1;min-width:0}
.cup-eyebrow{font:700 11px/1 Inter,Arial,sans-serif;letter-spacing:.2em;text-transform:uppercase;margin:0 0 12px;color:var(--navy)}
.cup-banner h2{font:400 clamp(44px,6.5vw,92px)/.95 Anton,Oswald,Arial,sans-serif;margin:0;color:var(--navy);letter-spacing:.01em}
.cup-dates{font:600 15px/1.4 Inter,Arial,sans-serif;margin:14px 0 22px;color:var(--navy)}
.cup-days{display:flex;flex-wrap:wrap;gap:12px 40px;margin-bottom:26px}
.cup-day h3{font:700 11px/1 Inter,Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase;margin:0 0 10px;color:var(--navy)}
.cup-day ul{list-style:none;margin:0;padding:0;display:grid;gap:7px}
.cup-day li{display:flex;gap:14px;font:500 15px/1.35 Inter,Arial,sans-serif;color:var(--navy)}
.cup-time{font-weight:700;min-width:74px;font-variant-numeric:tabular-nums}
.cup-ctas{display:flex;flex-wrap:wrap;gap:12px}
.cup-banner .btn--ghost-dark{border-color:var(--navy);color:var(--navy);background:transparent}
.cup-count{flex:0 0 auto;text-align:center;background:var(--navy);color:#fff;padding:30px 38px;min-width:190px}
.cup-count b{display:block;font:400 clamp(64px,8vw,110px)/1 Anton,Oswald,Arial,sans-serif;color:var(--ice)}
.cup-count span{font:700 11px/1 Inter,Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase}
.cup-count.is-live b{font-size:clamp(40px,5vw,64px);line-height:1.02;margin-bottom:10px}
@media(max-width:760px){.cup-banner{padding:34px 0}.cup-inner{flex-direction:column-reverse;align-items:stretch;gap:24px}.cup-count{display:flex;align-items:baseline;justify-content:center;gap:12px;padding:16px 20px;min-width:0}.cup-count b{font-size:56px}.cup-count.is-live b{font-size:40px;margin:0}.cup-ctas .btn{flex:1;min-width:150px;text-align:center}}
/* ---- Season recap story (home) ---- */
.season-recap{margin:10px 0 90px}
.recap{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:20px 7vw}
.recap-lead h2{font:400 clamp(44px,5.5vw,84px)/.98 Anton,Oswald,Arial,sans-serif;color:var(--navy);margin:0 0 20px}
.recap-dek{font:400 22px/1.4 Georgia,serif;color:var(--navy);max-width:26ch;margin:0}
.recap-body p{font-size:16px;line-height:1.75;color:var(--ink);margin:0 0 16px;max-width:62ch}
.recap-sub{grid-column:1/-1;font:700 11px/1 Inter,Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase;margin:34px 0 0;padding-top:22px;border-top:1px solid var(--navy);color:var(--navy)}
.recap-note{grid-column:1/-1;font-size:12px;line-height:1.6;color:var(--ink-soft);margin:6px 0 0;max-width:90ch}
@media(max-width:900px){.recap{grid-template-columns:1fr}.recap-dek{max-width:none}.season-recap{margin-bottom:60px}}

/* ---- Recap: how the competition stacks up ---- */
.recap-opp{grid-column:1/-1}
.recap-opp .recap-sub{margin-top:34px}
.opp-dek{font-size:15px;line-height:1.65;color:var(--ink);max-width:70ch;margin:16px 0 22px}
.opp-cols{display:grid;grid-template-columns:1fr 1fr;gap:12px 7vw}
.recap-opp h4{font:700 11px/1 Inter,Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);margin:0 0 6px}
.opp-list{list-style:none;margin:0;padding:0}
.opp-list li{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:13px 0;border-bottom:1px solid var(--canvas-dim)}
.opp-list strong{display:block;font:700 15px/1.25 Inter,Arial,sans-serif;color:var(--navy)}
.opp-list span{font-size:13px;line-height:1.5;color:var(--ink-soft)}
.opp-res{flex:0 0 auto}
.opp-date{font:700 11px/1 "Roboto Mono",monospace;letter-spacing:.06em;text-transform:uppercase;color:var(--navy)}
.opp-tampa-head{margin-top:34px!important}
.tampa-opps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}
.tampa-opps li{display:flex;flex-direction:column;gap:5px;padding:20px 22px;background:var(--navy);color:#fff}
.tampa-opps strong{font:400 26px/1.1 Anton,Oswald,Arial,sans-serif;letter-spacing:.01em;text-transform:uppercase}
.tampa-opps .tp-rank{font:700 11px/1.3 Inter,Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--ice)}
.tampa-opps span{font-size:13.5px;line-height:1.5;color:#E7E7F2}
.tampa-opps em{font-style:normal;font-weight:700;font-size:13px;color:var(--ice)}
.tampa-opps .tp-when{margin-top:6px;font:700 11px/1 "Roboto Mono",monospace;letter-spacing:.05em;color:#fff}
@media(max-width:760px){.opp-cols{grid-template-columns:1fr}}

/* ---- Champions banner (home) ---- */
.champs-banner{background:radial-gradient(ellipse 38% 90% at 49% 55%,rgba(232,168,0,.28),rgba(232,168,0,0) 70%),var(--navy);color:#fff;padding:48px 0;border-top:8px solid #E8A800;border-bottom:8px solid #E8A800}
.champs-banner[hidden]{display:none}
.champs-banner .wrap{max-width:1440px}
.champs-inner{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1.4fr);grid-template-areas:"head trophy video" "body trophy video";grid-template-rows:auto auto;align-content:center;column-gap:36px;row-gap:0;align-items:center}
.champs-inner:not(.has-video){grid-template-columns:minmax(0,1.4fr) auto;grid-template-areas:"head trophy" "body trophy"}
.champs-head{grid-area:head;align-self:end}
.champs-body{grid-area:body;align-self:start}
.champs-trophy{grid-area:trophy;display:flex;justify-content:center;align-self:center}
.champs-trophy img{display:block;height:clamp(380px,41vw,560px);width:auto;filter:drop-shadow(0 18px 28px rgba(0,0,0,.45))}
.champs-eyebrow{font:700 12px/1.3 Inter,Arial,sans-serif;letter-spacing:.2em;text-transform:uppercase;margin:0 0 14px;color:#E8A800}
.champs-banner h2{font:400 clamp(44px,5.6vw,86px)/.95 Anton,Oswald,Arial,sans-serif;margin:0;color:#fff;letter-spacing:.01em;text-wrap:balance}
.champs-banner h2 .champs-year{color:#E8A800}
.champs-banner h2 .champs-word{display:block;color:#E8A800}
.champs-sub{font:400 clamp(17px,1.65vw,26px)/1.15 Anton,Oswald,Arial,sans-serif;letter-spacing:.05em;text-transform:uppercase;margin:12px 0 24px;color:#fff}
.champs-results{list-style:none;margin:0 0 26px;padding:0;display:grid;gap:8px;max-width:520px}
.champs-results li{display:flex;align-items:center;gap:14px;font:500 15px/1.35 Inter,Arial,sans-serif;color:#fff}
.champs-results li.is-final{font-weight:700}
.champs-score{flex:0 0 64px;box-sizing:border-box;text-align:center;font:700 12px/1 Inter,Arial,sans-serif;letter-spacing:.08em;padding:7px 8px;background:rgba(255,255,255,.14);color:#fff;font-variant-numeric:tabular-nums}
.champs-score.win{background:#E8A800;color:var(--navy)}
.champs-ctas{display:flex;flex-wrap:wrap;gap:12px}
.champs-banner .btn--ghost-dark{border-color:#fff;color:#fff;background:transparent}
.champs-video{grid-area:video;align-self:center}
.champs-frame{position:relative;padding-bottom:66.67%;height:0;background:#000;border:4px solid #E8A800}
.champs-frame video,.champs-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;object-fit:cover}
@media(max-width:1100px){.champs-inner{column-gap:28px}.champs-trophy img{height:clamp(340px,40vw,460px)}}
@media(max-width:860px){.champs-banner{padding:34px 0;background:radial-gradient(ellipse 70% 30% at 50% 36%,rgba(232,168,0,.26),rgba(232,168,0,0) 70%),var(--navy)}
  .champs-inner,.champs-inner:not(.has-video){grid-template-columns:minmax(0,1fr);grid-template-areas:"head" "trophy" "body" "video";row-gap:22px}
  .champs-head{align-self:auto}.champs-body{align-self:auto}
  .champs-trophy img{height:320px}
  .champs-frame{padding-bottom:56.25%}.champs-frame video{object-fit:contain}
  .champs-ctas .btn{flex:1;min-width:150px;text-align:center}}

/* ---- Champions team photo (home, directly under the champions banner) ---- */
.champs-photo{position:relative;margin:0;background:var(--navy);border-bottom:8px solid #E8A800;overflow:hidden}
.champs-photo[hidden]{display:none}
.champs-photo img{display:block;width:100%;height:auto;aspect-ratio:16/7;object-fit:cover;object-position:50% 78%}
.champs-photo figcaption{position:absolute;left:0;right:0;bottom:0;padding:70px max(16px,calc((100% - 1440px)/2 + 24px)) 22px;background:linear-gradient(to top,rgba(5,5,40,.88),rgba(5,5,40,0));color:#fff;display:flex;flex-direction:column;gap:6px}
.champs-photo figcaption strong{font:400 clamp(30px,4vw,56px)/1 Anton,Oswald,Arial,sans-serif;letter-spacing:.03em;color:#fff}
.champs-photo figcaption span{font:600 13px/1.4 Inter,Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#E8A800}
@media(max-width:860px){.champs-photo img{aspect-ratio:4/3;object-position:50% 60%}.champs-photo figcaption{padding:48px 16px 16px}.champs-photo figcaption span{font-size:11px}}
