/* sport chips */
.chips-row{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}
.sport-chip{font-family:var(--font-meta);font-size:.75rem;padding:.35rem .75rem;border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;background:var(--bg-elevated);color:var(--text);transition:background .2s,color .2s,border-color .2s}
.sport-chip:hover,.sport-chip.is-active{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}
/* sport cards grid */
.sport-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:2rem}
@media(min-width:780px){.sport-cards{grid-template-columns:repeat(4,1fr)}}
.sport-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;transition:transform .2s,box-shadow .2s}
.sport-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.sport-card__name{font-family:var(--font-meta);font-size:.8rem;font-weight:500;color:var(--muted)}
/* tabs */
.tab-bar{display:flex;gap:0;border-bottom:2px solid var(--border);margin-bottom:1.5rem;overflow-x:auto}
.tab-btn{font-family:var(--font-meta);font-size:.8rem;padding:.65rem 1.25rem;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;background:transparent;color:var(--muted);cursor:pointer;white-space:nowrap;transition:color .2s,border-color .2s}
.tab-btn:hover{color:var(--text)}
.tab-btn.is-active{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}
.tab-panel{display:none}
.tab-panel.is-active{display:block}
/* segmented control */
.seg-control{display:inline-flex;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;margin-bottom:1.5rem}
.seg-btn{font-family:var(--font-meta);font-size:.8rem;padding:.5rem 1.25rem;border:none;background:var(--bg-elevated);color:var(--muted);cursor:pointer;transition:background .2s,color .2s}
.seg-btn.is-active{background:var(--accent);color:var(--on-accent)}
.seg-panel{display:none}
.seg-panel.is-active{display:block}
/* ticker */
.live-ticker{background:var(--pitch);color:var(--text-light);overflow:hidden;position:relative;padding:.5rem 0}
.live-ticker *{color:inherit}
.ticker-label{font-family:var(--font-meta);font-size:.7rem;letter-spacing:.1em;color:var(--accent);padding:0 1rem;flex-shrink:0}
.ticker-wrap{overflow:hidden;flex:1}
.ticker-inner{display:flex;gap:2.5rem;white-space:nowrap;animation:ticker-scroll 28s linear infinite}
@keyframes ticker-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.ticker-inner{animation:none}}
.ticker-pause{background:transparent;border:1px solid var(--on-pitch-muted);color:var(--text-light);font-size:.75rem;padding:.2rem .5rem;cursor:pointer;flex-shrink:0;margin:0 .75rem}
.ticker-row{display:flex;align-items:center;gap:1rem}
.ticker-item{font-family:var(--font-meta);font-size:.8rem}
/* broadcast panels */
.broadcast-grid{display:grid;gap:1.25rem;margin-bottom:2rem}
@media(min-width:640px){.broadcast-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:780px){.broadcast-grid{grid-template-columns:repeat(3,1fr)}}
.broadcast-panel{border:1px solid var(--border);padding:1.25rem;border-radius:var(--radius);transition:border-color .2s,box-shadow .2s}
.broadcast-panel:hover{border-color:var(--accent);box-shadow:var(--shadow)}
/* faq accordion */
.faq-list{margin-bottom:2rem}
.faq-item{border-bottom:1px solid var(--border)}
.faq-trigger{width:100%;background:none;border:none;text-align:left;padding:1rem 0;display:flex;justify-content:space-between;align-items:center;cursor:pointer;font-family:var(--font);font-size:1rem;color:var(--text);font-weight:600}
.acc-icon{font-style:normal;font-size:1.1rem;transition:transform .2s;color:var(--accent)}
.faq-item.is-open .acc-icon{transform:rotate(45deg)}
.faq-body{display:none;padding:.25rem 0 1rem;color:var(--muted)}
.faq-item.is-open .faq-body{display:block}
/* accordion generic */
.accordion-item{border-bottom:1px solid var(--border)}
.accordion-trigger{width:100%;background:none;border:none;text-align:left;padding:1rem 0;display:flex;justify-content:space-between;align-items:center;cursor:pointer;font-family:var(--font);font-size:.95rem;color:var(--text);font-weight:600}
.accordion-body{display:none;padding:.25rem 0 1rem;word-break:break-word;overflow-wrap:break-word}
.accordion-item.is-open .accordion-body{display:block}
/* checklist */
.checklist{margin-bottom:2rem}
.checklist-item{border-bottom:1px solid var(--border)}
.checklist-trigger{width:100%;background:none;border:none;text-align:left;padding:.9rem 0;display:flex;justify-content:space-between;align-items:center;cursor:pointer;font-family:var(--font);font-size:.95rem;color:var(--text)}
.checklist-body{display:none;padding:.25rem 0 1rem}
.checklist-item.is-expanded .checklist-body{display:block}
.checklist-item.is-expanded .checklist-trigger{color:var(--accent)}
/* timeline */
.timeline{position:relative;padding-left:2rem;margin-bottom:2rem}
.timeline::before{content:"";position:absolute;left:.65rem;top:0;bottom:0;width:2px;background:var(--border)}
.timeline-item{position:relative;margin-bottom:1.75rem;padding-left:.75rem}
.timeline-item::before{content:"";position:absolute;left:-1.6rem;top:.35rem;width:12px;height:12px;border-radius:50%;background:var(--bg-elevated);border:2px solid var(--border);transition:border-color .2s,background .2s}
.timeline-item.is-active::before,.timeline-item:hover::before{border-color:var(--accent);background:var(--accent)}
.timeline-step{position:relative;padding-left:2.5rem;margin-bottom:1.75rem}
.timeline-step::before{content:attr(data-step);position:absolute;left:0;top:0;width:1.75rem;height:1.75rem;border-radius:50%;background:var(--accent);color:var(--on-accent);font-family:var(--font-meta);font-size:.75rem;display:flex;align-items:center;justify-content:center;transition:transform .2s}
.timeline-step:hover::before{transform:scale(1.15)}
.timeline-step.is-active::before{background:var(--accent-strong)}
/* stat strip */
.stats-strip{display:flex;flex-wrap:wrap;gap:0;border:1px solid var(--border);margin-bottom:2rem}
.stat-item{flex:1;min-width:140px;padding:1.25rem 1.5rem;border-right:1px solid var(--border);text-align:center}
.stat-item:last-child{border-right:none}
.stat-num{font-family:var(--font-meta);font-size:1.75rem;font-weight:500;color:var(--accent);display:block}
.stat-label{font-family:var(--font-meta);font-size:.72rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
/* intent cards grid */
.intent-grid{display:grid;gap:1.25rem;margin-bottom:2rem}
@media(min-width:640px){.intent-grid{grid-template-columns:repeat(2,1fr)}}
.intent-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;text-decoration:none;color:var(--text);display:flex;flex-direction:column;gap:.5rem;transition:transform .18s,box-shadow .18s,border-color .18s}
.intent-card:hover{transform:translateY(-4px);box-shadow:0 6px 20px rgba(28,25,23,.12);border-color:var(--accent)}
.intent-card__num{font-family:var(--font-meta);font-size:.7rem;color:var(--accent);letter-spacing:.1em}
.intent-card__title{font-family:var(--font-display);font-size:1.15rem;font-weight:700}
.intent-card__desc{font-size:.9rem;color:var(--muted)}
/* methods grid */
.methods-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:2rem}
@media(min-width:640px){.methods-grid{grid-template-columns:repeat(3,1fr)}}
@media(min-width:780px){.methods-grid{grid-template-columns:repeat(4,1fr)}}
.method-tile{background:var(--bg-elevated);border:2px solid var(--border);border-radius:var(--radius);padding:1rem;text-align:center;cursor:pointer;transition:border-color .18s,transform .18s}
.method-tile:hover{border-color:var(--gold);transform:translateY(-2px)}
.method-tile.is-selected{border-color:var(--accent);background:var(--bg)}
.method-tile__name{font-family:var(--font-meta);font-size:.75rem;margin-top:.4rem}
/* promo accordion details */
details.promo-detail{border-bottom:1px solid var(--border);margin-bottom:0}
details.promo-detail summary{padding:.9rem 0;cursor:pointer;font-weight:600;list-style:none;display:flex;justify-content:space-between}
details.promo-detail summary::-webkit-details-marker{display:none}
details.promo-detail summary::after{content:"+";font-family:var(--font-meta);color:var(--accent);transition:transform .2s}
details.promo-detail[open] summary::after{transform:rotate(45deg)}
details.promo-detail .detail-body{padding:.5rem 0 1rem;color:var(--muted)}
/* bridge cards contact */
.bridge-grid{display:grid;gap:1.25rem;margin-bottom:2rem}
@media(min-width:640px){.bridge-grid{grid-template-columns:repeat(3,1fr)}}
.bridge-card{border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;text-decoration:none;color:var(--text);transition:transform .18s,box-shadow .18s}
.bridge-card:hover{transform:translateY(-5px);box-shadow:0 8px 24px rgba(28,25,23,.14)}
.bridge-card__icon{font-size:1.5rem;margin-bottom:.75rem}
.bridge-card__title{font-family:var(--font-display);font-size:1.05rem;font-weight:700;margin-bottom:.4rem}
.bridge-card__desc{font-size:.88rem;color:var(--muted)}
/* device app frame */
.app-frame{max-width:260px;margin:0 auto 2rem;border:3px solid var(--border);border-radius:16px;overflow:hidden;box-shadow:var(--shadow)}
.app-frame__screen{background:var(--pitch);aspect-ratio:9/16;display:flex;align-items:center;justify-content:center;color:var(--on-pitch-muted);font-family:var(--font-meta);font-size:.75rem}
/* store badges pills */
.store-badges{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:2rem}
.store-badge{display:inline-flex;align-items:center;gap:.5rem;border:1px solid var(--border);border-radius:20px;padding:.5rem 1.25rem;font-family:var(--font-meta);font-size:.8rem;text-decoration:none;color:var(--text);transition:transform .18s,border-color .18s,box-shadow .18s}
.store-badge:hover{transform:scale(1.04);border-color:var(--accent);box-shadow:var(--shadow)}
/* carousel */
.carousel{position:relative;overflow:hidden;margin-bottom:2rem}
.carousel-slide{display:none}
.carousel-slide.is-active{display:block}
.carousel-controls{display:flex;gap:.75rem;margin-top:.75rem}
.carousel-prev,.carousel-next{background:var(--bg-elevated);border:1px solid var(--border);padding:.4rem .9rem;cursor:pointer;font-family:var(--font-meta);font-size:.85rem;border-radius:var(--radius);transition:background .18s}
.carousel-prev:hover,.carousel-next:hover{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}
/* resource expand panels */
.resource-panel{border:1px solid var(--border);border-radius:var(--radius);margin-bottom:.75rem}
.resource-trigger{width:100%;background:none;border:none;text-align:left;padding:.9rem 1rem;cursor:pointer;font-weight:600;font-family:var(--font);color:var(--text);display:flex;justify-content:space-between}
.resource-body{display:none;padding:.5rem 1rem 1rem;color:var(--muted)}
.resource-panel.is-open .resource-body{display:block}
/* gov cards */
.gov-cards{display:grid;gap:1rem;margin-bottom:2rem}
@media(min-width:640px){.gov-cards{grid-template-columns:repeat(2,1fr)}}
.gov-card{border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;text-decoration:none;color:var(--text);transition:box-shadow .18s}
.gov-card:focus{outline:3px solid var(--accent);outline-offset:2px}
.gov-card:hover{box-shadow:0 4px 16px rgba(28,25,23,.1)}
.gov-card__name{font-weight:700;margin-bottom:.3rem}
.gov-card__desc{font-size:.88rem;color:var(--muted)}
/* disclosure badge */
.disclosure-badge{display:inline-block;font-family:var(--font-meta);font-size:.65rem;letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--gold);color:var(--gold);padding:.2rem .5rem;border-radius:2px;vertical-align:middle;margin-left:.5rem}
/* sponsored inline */
a[rel~="sponsored"]::after{content:" ↗";font-size:.75em;color:var(--muted)}
/* rg callout */
.rg-callout{border-left:3px solid var(--accent);padding:.9rem 1rem;background:var(--bg-elevated);margin-bottom:1.5rem;word-break:break-word;overflow-wrap:break-word}
.rg-callout *{color:inherit}
/* pull quote */
.pullquote{border-left:4px solid var(--accent);padding:1rem 1.5rem;margin:2rem 0;font-family:var(--font-display);font-size:1.25rem;font-style:italic;color:var(--text);word-break:break-word;overflow-wrap:break-word;transition:border-color .2s}
.pullquote:hover{border-color:var(--gold)}
/* TOC sticky */
.toc-wrap{display:block}
@media(min-width:780px){
  .toc-sticky-layout{display:grid;grid-template-columns:220px 1fr;gap:2.5rem;align-items:start}
  .toc-nav{position:sticky;top:80px}
}
.toc-nav a{display:block;font-family:var(--font-meta);font-size:.78rem;padding:.35rem 0;color:var(--muted);text-decoration:none;border-left:2px solid transparent;padding-left:.5rem;transition:color .18s,border-color .18s}
.toc-nav a:hover,.toc-nav a.is-active{color:var(--accent);border-left-color:var(--accent)}
/* dense list two col */
.dense-list{margin-bottom:2rem}
.dense-list li{display:block;padding:1rem 0}
.dense-list li+li{border-top:1px solid var(--border);padding-top:1.5rem}
.dense-list__marker{display:block;font-weight:600;color:var(--accent);margin-bottom:.5rem}
/* folio numbered heading */
.folio-heading{display:flex;align-items:baseline;gap:.75rem;margin-bottom:1rem}
.folio-num{font-family:var(--font-meta);font-size:.7rem;color:var(--accent);letter-spacing:.1em;border:1px solid var(--accent);padding:.15rem .4rem;border-radius:2px;flex-shrink:0}
/* clause target highlight */
:target{outline:2px solid var(--gold);outline-offset:4px;background:rgba(184,134,11,.06)}
/* table scroll wrapper */
.table-wrap{overflow-x:auto;margin-bottom:2rem;-webkit-overflow-scrolling:touch}
.table-wrap table{min-width:480px;width:100%}
/* read-more collapse */
.read-more-content{max-height:120px;overflow:hidden;transition:max-height .3s ease}
.read-more-content.is-expanded{max-height:2000px}
/* toggle panel */
.toggle-panel{display:none}
.toggle-panel.is-open{display:block}
/* promo meter bar */
.promo-meter{height:3px;background:var(--border);border-radius:2px;overflow:hidden;margin-bottom:1rem}
.promo-meter__fill{height:100%;background:var(--accent);width:0;transition:width .4s ease}
/* zebra rows */
tbody tr:nth-child(even){background:var(--bg-elevated)}
tbody tr:hover{background:rgba(230,57,70,.06)}
tbody tr.is-selected{background:rgba(230,57,70,.1)}
/* affiliate notice band */
.affiliate-band{background:var(--pitch);color:var(--text-light);padding:.5rem 0;font-family:var(--font-meta);font-size:.75rem}
.affiliate-band *{color:inherit}
.affiliate-band a{color:var(--link-on-dark);text-decoration:underline}
.affiliate-band a:hover{color:var(--link-on-dark-hover)}
/* responsible band */
.responsible-band{background:var(--pitch);color:var(--text-light);padding:2.5rem 0}
.responsible-band *{color:inherit}
.responsible-band a{color:var(--link-on-dark)}
/* age gate note */
.age-gate-note{background:var(--pitch);color:var(--text-light);padding:1.5rem;border-left:4px solid var(--accent);margin-bottom:2rem}
.age-gate-note *{color:inherit}
/* CTA pulse keyframe */
@keyframes ctaPulse{0%,100%{box-shadow:0 0 0 0 rgba(230,57,70,.4)}50%{box-shadow:0 0 0 8px rgba(230,57,70,0)}}
.do-pulse{animation:ctaPulse .7s ease}
/* steps layout */
.steps-list{list-style:none;padding:0;margin:0 0 2rem}
.steps-list li{display:flex;gap:1rem;padding:.75rem 0;border-bottom:1px solid var(--border)}
.steps-list__num{font-family:var(--font-meta);font-size:.75rem;color:var(--accent);min-width:1.5rem;padding-top:.1rem}
/* mission two col */
@media(min-width:780px){.mission-cols{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem}}
/* body two col */
@media(min-width:780px){.body-cols{column-count:2;column-gap:2rem}}
/* payment steps grid */
.payment-steps{display:grid;gap:1rem;margin-bottom:2rem}
@media(min-width:640px){.payment-steps{grid-template-columns:repeat(2,1fr)}}
.payment-step{border:1px solid var(--border);padding:1.25rem;border-radius:var(--radius);text-decoration:none;color:var(--text);transition:border-color .18s}
.payment-step:hover{border-color:var(--accent)}
.payment-step__num{font-family:var(--font-meta);font-size:.7rem;color:var(--accent)}
/* comparison table */
.comparison-table{width:100%;border-collapse:collapse}
.comparison-table th{background:var(--pitch);color:var(--text-light);font-family:var(--font-meta);font-size:.78rem;padding:.75rem 1rem;text-align:left}
.comparison-table td{padding:.7rem 1rem;border-bottom:1px solid var(--border);font-size:.9rem}
.comparison-table .check{color:var(--accent);font-weight:700}
