/* sport chips */
.chips-row{display:flex;flex-wrap:wrap;gap:0.5rem;margin-bottom:1.5rem;}
.sport-chip{font-family:var(--font-meta);font-size:0.75rem;padding:0.35rem 0.9rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elevated);color:var(--text);cursor:pointer;transition:background 0.2s,border-color 0.2s;letter-spacing:0.04em;text-transform:uppercase;}
.sport-chip:hover,.sport-chip.is-active{background:var(--accent);color:var(--on-accent);border-color:var(--accent);}
/* sport cards */
.sport-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;}
@media(max-width:640px){.sport-grid{grid-template-columns:1fr;}}
@media(min-width:641px) and (max-width:780px){.sport-grid{grid-template-columns:1fr 1fr;}}
.sport-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;margin-bottom:0;transition:border-color 0.2s,box-shadow 0.2s;}
.sport-card:hover{border-color:var(--accent);box-shadow:var(--shadow);}
.sport-card__label{font-family:var(--font-meta);font-size:0.7rem;color:var(--muted);text-transform:uppercase;letter-spacing:0.06em;margin-bottom:0.4rem;}
.sport-card__title{font-family:var(--font-display);font-size:1rem;font-weight:600;margin-bottom:0.4rem;}
.sport-card__desc{font-size:0.85rem;color:var(--muted);}
/* tables */
.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-bottom:2rem;}
.data-table{width:100%;border-collapse:collapse;font-size:0.875rem;}
.data-table th{font-family:var(--font-meta);font-size:0.7rem;text-transform:uppercase;letter-spacing:0.06em;color:var(--muted);border-bottom:2px solid var(--border);padding:0.6rem 0.75rem;text-align:left;white-space:nowrap;}
.data-table td{padding:0.6rem 0.75rem;border-bottom:1px solid var(--border);vertical-align:top;}
.data-table tbody tr:hover td{background:rgba(225,29,72,0.04);}
.data-table td:first-child,.data-table th:first-child{padding-left:0;}
/* 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-display);font-size:0.875rem;font-weight:600;padding:0.75rem 1.25rem;background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;color:var(--muted);white-space:nowrap;margin-bottom:-2px;transition:color 0.2s,border-color 0.2s;}
.tab-btn:hover{color:var(--text);}
.tab-btn.is-active{color:var(--accent);border-bottom-color:var(--accent);}
.tab-panel{display:none;}
.tab-panel.is-active{display:block;}
/* seg 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:0.75rem;text-transform:uppercase;letter-spacing:0.04em;padding:0.45rem 1rem;background:none;border:none;cursor:pointer;color:var(--muted);transition:background 0.2s,color 0.2s;}
.seg-btn.is-active{background:var(--accent);color:var(--on-accent);}
.seg-panel{display:none;}
.seg-panel.is-active{display:block;}
/* ticker */
.ticker-wrap{overflow:hidden;background:var(--pitch);color:var(--on-pitch-muted);font-family:var(--font-meta);font-size:0.75rem;padding:0.5rem 0;white-space:nowrap;border-top:1px solid rgba(116,172,223,0.3);border-bottom:1px solid rgba(116,172,223,0.3);}
.ticker-inner{display:flex;}
.ticker-track{display:inline-flex;gap:3rem;padding-right:3rem;animation:ticker-scroll 28s linear infinite;}
@keyframes ticker-scroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}
@media(prefers-reduced-motion:reduce){.ticker-track{animation:none;}}
.ticker-item{color:var(--on-pitch-muted);letter-spacing:0.06em;}
.ticker-item strong{color:#74ACDF;}
/* live dot */
.live-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--accent);margin-right:0.4rem;vertical-align:middle;}
.live-dot.is-pulsing{animation:pulse-dot 1.5s ease-in-out infinite;}
@keyframes pulse-dot{0%,100%{opacity:1;transform:scale(1);}50%{opacity:0.5;transform:scale(1.4);}}
@media(prefers-reduced-motion:reduce){.live-dot.is-pulsing{animation:none;}}
/* faq accordion */
.faq-list{list-style:none;padding:0;margin:0;}
.faq-item{border-bottom:1px solid var(--border);}
.faq-trigger{display:flex;justify-content:space-between;align-items:center;width:100%;background:none;border:none;padding:1rem 0;cursor:pointer;font-family:var(--font-display);font-size:0.95rem;font-weight:600;color:var(--text);text-align:left;gap:1rem;}
.faq-trigger:hover{color:var(--accent);}
.acc-icon{font-size:1.1rem;flex-shrink:0;transition:transform 0.25s ease;font-family:var(--font-meta);color:var(--muted);}
.faq-item.is-open .faq-trigger .acc-icon{transform:rotate(45deg);}
.faq-body{display:none;padding:0 0 1rem;font-size:0.9rem;color:var(--muted);word-break:break-word;overflow-wrap:break-word;}
.faq-item.is-open .faq-body{display:block;}
/* generic accordion */
.accordion-item{border-bottom:1px solid var(--border);}
.accordion-trigger{display:flex;justify-content:space-between;align-items:center;width:100%;background:none;border:none;padding:1rem 0;cursor:pointer;font-family:var(--font-display);font-size:0.9rem;font-weight:600;color:var(--text);text-align:left;gap:1rem;}
.accordion-trigger:hover{color:var(--accent);}
.accordion-body{display:none;padding:0 0 1rem;font-size:0.875rem;color:var(--muted);word-break:break-word;overflow-wrap:break-word;}
.accordion-item.is-open .accordion-body{display:block;}
/* checklist */
.checklist{list-style:none;padding:0;margin:0;}
.checklist-item{border-bottom:1px solid var(--border);}
.checklist-trigger{display:flex;justify-content:space-between;align-items:center;width:100%;background:none;border:none;padding:0.85rem 0;cursor:pointer;font-size:0.9rem;font-weight:600;color:var(--text);text-align:left;gap:1rem;}
.checklist-trigger:hover{color:var(--accent);}
.checklist-body{display:none;padding:0 0 0.85rem;font-size:0.85rem;color:var(--muted);}
.checklist-item.is-expanded .checklist-body{display:block;}
/* hub link cards */
.hub-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:2rem;}
@media(max-width:640px){.hub-grid{grid-template-columns:1fr;}}
@media(min-width:641px) and (max-width:780px){.hub-grid{grid-template-columns:1fr 1fr;}}
.hub-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;display:flex;flex-direction:column;gap:0.5rem;transition:border-color 0.2s,box-shadow 0.2s;text-decoration:none;color:inherit;}
.hub-card:hover{border-color:var(--accent);box-shadow:var(--shadow);color:inherit;}
.hub-card__label{font-family:var(--font-meta);font-size:0.68rem;text-transform:uppercase;letter-spacing:0.07em;color:var(--muted);}
.hub-card__title{font-family:var(--font-display);font-size:1rem;font-weight:600;color:var(--text);}
.hub-card__desc{font-size:0.82rem;color:var(--muted);}
.hub-card__cta{font-size:0.8rem;color:var(--accent);font-weight:600;margin-top:auto;}
/* timeline / process steps */
.timeline{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:2rem;}
.timeline-item{flex:1;min-width:160px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);padding:1rem;position:relative;border-top:3px solid var(--border);transition:border-color 0.2s;}
.timeline-item:hover{border-top-color:var(--accent);}
.timeline-item__num{font-family:var(--font-meta);font-size:0.7rem;color:var(--accent);font-weight:500;margin-bottom:0.35rem;letter-spacing:0.08em;}
.timeline-item__title{font-family:var(--font-display);font-size:0.9rem;font-weight:600;margin-bottom:0.3rem;}
.timeline-item__desc{font-size:0.8rem;color:var(--muted);}
/* step items vertical */
.step-list{list-style:none;padding:0;margin:0 0 2rem;}
.step-item{display:flex;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--border);cursor:pointer;transition:background 0.15s;}
.step-item:hover{background:rgba(225,29,72,0.03);}
.step-item.is-active .step-num{background:var(--accent);color:var(--on-accent);}
.step-item.is-done .step-num{background:var(--accent-strong);color:var(--on-accent);}
.step-num{flex-shrink:0;width:32px;height:32px;border-radius:50%;background:var(--border);display:flex;align-items:center;justify-content:center;font-family:var(--font-meta);font-size:0.75rem;font-weight:500;}
.step-content__title{font-weight:600;font-size:0.9rem;margin-bottom:0.2rem;}
.step-content__desc{font-size:0.82rem;color:var(--muted);}
/* method cards */
.method-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:0.75rem;overflow:hidden;}
.method-trigger{display:flex;justify-content:space-between;align-items:center;width:100%;background:none;border:none;padding:0.9rem 1rem;cursor:pointer;font-weight:600;font-size:0.9rem;color:var(--text);text-align:left;gap:1rem;}
.method-trigger:hover{color:var(--accent);}
.method-body{display:none;padding:0 1rem 1rem;font-size:0.85rem;color:var(--muted);}
.method-card.is-open .method-body{display:block;}
/* promo cards */
.promo-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;margin-bottom:1rem;box-shadow:none;transition:box-shadow 0.2s;}
.promo-card:hover{box-shadow:var(--shadow);}
.promo-card__title{font-family:var(--font-display);font-size:1rem;font-weight:600;margin-bottom:0.4rem;}
.promo-card__meta{font-family:var(--font-meta);font-size:0.7rem;color:var(--muted);text-transform:uppercase;letter-spacing:0.06em;margin-bottom:0.75rem;}
.promo-card__desc{font-size:0.85rem;color:var(--muted);margin-bottom:0.75rem;}
.promo-card__toggle{font-family:var(--font-meta);font-size:0.75rem;background:none;border:1px solid var(--border);border-radius:var(--radius);padding:0.25rem 0.6rem;cursor:pointer;color:var(--muted);}
.promo-card__toggle:hover{border-color:var(--accent);color:var(--accent);}
.promo-disclosure{font-size:0.8rem;color:var(--muted);border-top:1px solid var(--border);padding-top:0.75rem;margin-top:0.75rem;display:none;}
/* device frame */
.device-frame{border:3px solid var(--pitch);border-radius:16px;width:220px;min-height:380px;margin:0 auto;overflow:hidden;background:var(--bg-elevated);display:flex;align-items:center;justify-content:center;position:relative;}
.device-panel{width:100%;height:100%;display:none;padding:1rem;text-align:center;}
.device-status{font-family:var(--font-meta);font-size:0.7rem;color:var(--muted);text-transform:uppercase;letter-spacing:0.06em;margin-bottom:0.5rem;}
/* platform buttons */
.platform-btns{display:flex;gap:0.5rem;justify-content:center;margin-bottom:1.25rem;}
.platform-btn{font-family:var(--font-meta);font-size:0.75rem;text-transform:uppercase;padding:0.4rem 1rem;border:1px solid var(--border);border-radius:var(--radius);background:none;cursor:pointer;color:var(--muted);transition:background 0.2s,color 0.2s;}
.platform-btn.is-active{background:var(--pitch);color:var(--on-pitch-muted);border-color:var(--pitch);}
/* demo slider */
.demo-slider-wrap{margin-bottom:2rem;}
#demo-slider{width:100%;accent-color:var(--accent);}
.demo-cols{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1rem;}
.demo-col{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);padding:1rem;transition:box-shadow 0.2s;}
.demo-col:hover{box-shadow:var(--shadow);}
.demo-col__label{font-family:var(--font-meta);font-size:0.7rem;text-transform:uppercase;letter-spacing:0.06em;color:var(--muted);margin-bottom:0.4rem;}
/* age gate banner */
.age-gate-banner{background:var(--pitch);color:#fff;border-left:4px solid var(--accent);border-radius:var(--radius);padding:1.5rem;text-align:center;margin-bottom:2rem;}
.age-gate-banner *{color:inherit;}
.age-gate-banner__num{font-family:var(--font-display);font-size:3rem;font-weight:700;line-height:1;color:var(--accent);}
/* gov resource cards */
.gov-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:2rem;}
@media(max-width:640px){.gov-grid{grid-template-columns:1fr;}}
.gov-card{background:var(--bg-elevated);border:1px solid var(--border);border-left:3px solid #74ACDF;border-radius:var(--radius);padding:1rem 1.25rem;transition:box-shadow 0.2s;text-decoration:none;color:inherit;display:block;}
.gov-card:hover{box-shadow:var(--shadow);border-left-color:var(--accent);}
.gov-card__name{font-weight:600;font-size:0.9rem;margin-bottom:0.2rem;}
.gov-card__desc{font-size:0.8rem;color:var(--muted);}
/* access panels */
.access-panel{display:none;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;margin-top:1rem;}
/* policy sidebar */
.policy-layout{display:grid;grid-template-columns:1fr;gap:2rem;}
@media(min-width:780px){.policy-layout{grid-template-columns:260px 1fr;align-items:start;}}
.policy-nav{position:sticky;top:72px;}
.policy-nav a{display:block;padding:0.4rem 0;font-size:0.85rem;color:var(--muted);text-decoration:none;border-left:2px solid var(--border);padding-left:0.75rem;margin-bottom:0.25rem;transition:border-color 0.2s,color 0.2s;}
.policy-nav a:hover,.policy-nav a.is-active{color:var(--accent);border-left-color:var(--accent);}
/* toc nav (terms) */
.toc-layout{display:grid;grid-template-columns:1fr;gap:2rem;}
@media(min-width:780px){.toc-layout{grid-template-columns:220px 1fr;align-items:start;}}
.toc-nav{position:sticky;top:72px;}
.toc-nav a{display:block;padding:0.35rem 0 0.35rem 0.75rem;font-size:0.82rem;color:var(--muted);text-decoration:none;border-left:2px solid var(--border);margin-bottom:0.2rem;transition:color 0.2s,border-color 0.2s;}
.toc-nav a:hover,.toc-nav a.is-active{color:var(--accent);border-left-color:var(--accent);}
/* disclosure sections */
.disclosure-section{border-bottom:1px solid var(--border);}
.disclosure-trigger{display:flex;justify-content:space-between;align-items:center;width:100%;background:none;border:none;padding:1rem 0;cursor:pointer;font-family:var(--font-display);font-size:0.95rem;font-weight:600;color:var(--text);text-align:left;gap:1rem;}
.disclosure-trigger:hover{color:var(--accent);}
.disclosure-body{display:none;padding:0 0 1rem;font-size:0.875rem;color:var(--muted);word-break:break-word;overflow-wrap:break-word;}
.disclosure-section.is-open .disclosure-body{display:block;}
/* cookie categories */
.cookie-category{border-bottom:1px solid var(--border);}
.cookie-trigger{display:flex;justify-content:space-between;align-items:center;width:100%;background:none;border:none;padding:0.85rem 0;cursor:pointer;font-weight:600;font-size:0.9rem;color:var(--text);text-align:left;gap:1rem;}
.cookie-trigger:hover{color:var(--accent);}
.cookie-body{display:none;padding:0 0 0.85rem;font-size:0.85rem;color:var(--muted);}
.cookie-category.is-open .cookie-body{display:block;}
/* dense list */
.dense-list{list-style:none;padding:0;margin:0 0 2rem;}
.dense-list li{display:block;padding-top:1.5rem;}
.dense-list li:first-child{padding-top: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:0.5rem;font-family:var(--font-display);}
/* stat grid */
.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:2rem;}
@media(max-width:640px){.stat-grid{grid-template-columns:1fr 1fr;}}
.stat-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;}
.stat-card__val{font-family:var(--font-display);font-size:1.75rem;font-weight:700;color:var(--gold);line-height:1;margin-bottom:0.3rem;}
.stat-card__label{font-family:var(--font-meta);font-size:0.7rem;color:var(--muted);text-transform:uppercase;letter-spacing:0.06em;}
/* celeste rule */
.celeste-rule{border:none;border-top:1px solid #74ACDF;margin:1.5rem 0;}
/* affiliate note */
.affiliate-note{border-top:1px solid #74ACDF;padding:1rem 0;font-size:0.8rem;color:var(--muted);}
.affiliate-note a{color:var(--link);}
/* responsible band */
.responsible-band{background:var(--pitch);color:var(--on-pitch-muted);padding:1rem 0;font-size:0.8rem;border-top:1px solid rgba(116,172,223,0.3);}
.responsible-band *{color:inherit;}
.responsible-band a{color:#93C5FD;}
/* age gate note strip */
.age-gate-note{background:#181816;color:var(--on-pitch-muted);border-top:1px solid #74ACDF;border-bottom:1px solid #74ACDF;padding:0.6rem 0;font-family:var(--font-meta);font-size:0.75rem;text-align:center;}
.age-gate-note *{color:inherit;}
.age-gate-note a{color:#74ACDF;}
/* pullquote */
.pullquote{border-left:4px solid var(--accent);padding:1rem 1.5rem;margin:2rem 0;font-family:var(--font-display);font-size:1.15rem;font-style:italic;color:var(--text);word-break:break-word;overflow-wrap:break-word;}
/* rg callout */
.rg-callout,.callout{background:var(--bg-elevated);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:var(--radius);padding:1rem 1.25rem;margin-bottom:1.5rem;word-break:break-word;overflow-wrap:break-word;}
blockquote{border-left:3px solid var(--accent);padding:0.75rem 1rem;margin:1.5rem 0;font-style:italic;word-break:break-word;overflow-wrap:break-word;}
/* breadcrumb */
.breadcrumb{font-family:var(--font-meta);font-size:0.72rem;color:var(--muted);margin-bottom:1rem;display:flex;gap:0.4rem;flex-wrap:wrap;}
.breadcrumb a{color:var(--link);text-decoration:none;}
.breadcrumb a:hover{color:var(--link-hover);}
.breadcrumb__sep{color:var(--border);}