/* ---------------------------------------------------------------- */
/* Home — Hero */
/* ---------------------------------------------------------------- */
.hero{position:relative;min-height:560px;overflow:hidden;background:var(--red-900)}
.hero__slide{position:absolute;inset:0;display:flex;align-items:center;opacity:0;transition:opacity .8s ease;pointer-events:none}
.hero__slide--active{opacity:1;pointer-events:auto;z-index:1}
.hero__slide-link{position:absolute;inset:0;display:block}
.hero__photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero__photo--contain{object-fit:contain;background:var(--red-900)}
.hero__scrim{position:absolute;inset:0;background:var(--scrim-hero)}
.hero__inner{position:relative;max-width:var(--container-max);margin:0 auto;padding:var(--space-12) 24px;width:100%}
.hero__content{max-width:640px}
.hero__eyebrow{display:block;font-family:var(--font-condensed);font-weight:var(--weight-bold);font-size:var(--text-sm);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--pg-gold);margin-bottom:var(--space-3)}
.hero h1,.hero__slide-title{font-family:var(--font-display);font-weight:var(--weight-regular);font-size:var(--text-6xl);text-transform:uppercase;color:#fff;line-height:var(--leading-tight);text-shadow:0 2px 24px rgba(23,16,13,.45);margin:0}
.hero__lede{font-size:var(--text-lg);line-height:var(--leading-relaxed);color:rgba(255,255,255,.92);max-width:520px;margin:var(--space-4) 0 0}
.hero__actions{display:flex;flex-wrap:wrap;gap:var(--space-4);margin-top:var(--space-7)}

.hero-controller{background:var(--surface-page);border-bottom:1px solid var(--border-subtle)}
.hero-controller__inner{max-width:var(--container-max);margin:0 auto;padding:var(--space-1) 24px;display:flex;align-items:center;gap:var(--space-2)}
/* 24px-tall hit area; the visible bar is the 4px content box. */
.hero-controller__seg{flex:1;height:24px;padding:10px 0;border:none;background:var(--ink-200);background-clip:content-box;cursor:pointer;position:relative}
.hero-controller__seg-fill{position:absolute;top:10px;bottom:10px;left:0;width:0;border-radius:var(--radius-xs);background:var(--pg-red)}
.hero-controller__pause{flex:none;width:28px;height:28px;padding:0;border:none;background:none;color:var(--ink-600);cursor:pointer;display:grid;place-items:center}
.hero-controller__pause::before{content:"";width:10px;height:12px;border-left:3px solid currentColor;border-right:3px solid currentColor;box-sizing:border-box}
.hero-controller__pause[aria-pressed="true"]::before{width:0;height:0;border-style:solid;border-width:6px 0 6px 10px;border-color:transparent transparent transparent currentColor}
.hero-controller__pause:hover{color:var(--pg-red)}
.hero-controller__seg-fill.is-static{width:100%}
.hero-controller__seg-fill.is-animating{animation:heroProgress 6000ms linear forwards}
.hero-wrap:hover .hero-controller__seg-fill.is-animating,
.hero-wrap.is-paused .hero-controller__seg-fill.is-animating,
.hero-wrap:focus-within .hero-controller__seg-fill.is-animating{animation-play-state:paused}

@keyframes heroProgress{from{width:0}to{width:100%}}

@media (max-width:600px){
  .hero{min-height:460px}
  .hero h1,.hero__slide-title{font-size:var(--text-5xl)}
}

/* ---------------------------------------------------------------- */
/* Home — Stats strip */
/* ---------------------------------------------------------------- */
.stats{background:var(--pg-black)}
.stats__inner{max-width:var(--container-max);margin:0 auto;padding:var(--space-7) 24px;display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-6)}
.stat__num{display:block;font-family:var(--font-display);font-size:var(--text-4xl);color:var(--pg-gold);line-height:1}
.stat__label{display:block;margin-top:6px;font-family:var(--font-condensed);font-weight:var(--weight-semibold);font-size:var(--text-sm);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:rgba(255,255,255,.68)}
@media (max-width:600px){
  .stats__inner{grid-template-columns:repeat(2,1fr)}
}

/* ---------------------------------------------------------------- */
/* Home — Play intro and social */
/* ---------------------------------------------------------------- */
.home-play{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-9);align-items:center}
.home-play__photo{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius-media);box-shadow:var(--shadow-md)}
.home-play__media{position:relative;margin:0}
.home-play__video{display:block;width:100%;aspect-ratio:16/9;border-radius:var(--radius-media);box-shadow:var(--shadow-md);background:var(--pg-red)}
.home-play__video-toggle{position:absolute;right:var(--space-3);bottom:var(--space-3);width:36px;height:36px;padding:0;border:none;border-radius:50%;background:rgba(0,0,0,.55);color:#fff;cursor:pointer;display:grid;place-items:center}
.home-play__video-toggle::before{content:"";width:10px;height:12px;border-left:3px solid currentColor;border-right:3px solid currentColor;box-sizing:border-box}
.home-play__video-toggle[aria-pressed="true"]::before{width:0;height:0;margin-left:3px;border-style:solid;border-width:6px 0 6px 10px;border-color:transparent transparent transparent currentColor}
.home-play__video-toggle:hover{background:rgba(0,0,0,.75)}
.home-play__video-toggle[hidden]{display:none}
.home-play__body > p{font-size:var(--text-lg);margin:0 0 var(--space-5)}
.home-play__list{font-size:var(--text-base);margin-bottom:var(--space-6)}
.home-play__actions{display:flex;flex-wrap:wrap;gap:var(--space-3)}
.home-social{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-6)}
.home-social__text{flex:1 1 380px}
.home-social__text .section-heading{margin-bottom:0}
.home-social__actions{display:flex;flex-wrap:wrap;gap:var(--space-3)}
@media (max-width:860px){
  .home-play{grid-template-columns:1fr;gap:var(--space-6)}
}
@media (max-width:600px){
  .home-social__actions,.home-social__btn{width:100%}
}

/* ---------------------------------------------------------------- */
/* Home — Mission section */
/* ---------------------------------------------------------------- */
.mission{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-9);align-items:center}
.mission p{font-size:var(--text-lg);color:rgba(255,255,255,.80);margin:0 0 var(--space-4)}
.mission p.tight{font-size:var(--text-base);color:rgba(255,255,255,.62)}
.mission__actions{display:flex;flex-wrap:wrap;gap:var(--space-4);margin-top:var(--space-6)}
.mission__values{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}
.value-card{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.14);border-radius:var(--radius-card);padding:var(--space-5)}
.value-card h3{font-family:var(--font-condensed);font-size:var(--text-md);font-weight:var(--weight-bold);text-transform:uppercase;color:var(--pg-gold);margin:0 0 var(--space-2)}
.value-card p{margin:0;color:#fff;font-size:var(--text-sm)}
@media (max-width:860px){
  .mission{grid-template-columns:1fr}
}
@media (max-width:600px){
  .mission__values{grid-template-columns:1fr}
}

/* ---------------------------------------------------------------- */
/* Two-column body + sidebar (Schedule, Register) */
/* ---------------------------------------------------------------- */
.with-sidebar{display:grid;grid-template-columns:1fr 300px;gap:var(--space-9);align-items:start}
.with-sidebar--wide{grid-template-columns:1fr 320px}
.sidebar{display:flex;flex-direction:column;gap:var(--space-5)}
@media (max-width:860px){
  .with-sidebar,.with-sidebar--wide{grid-template-columns:1fr}
}

.gc-widgets{display:flex;flex-direction:column;gap:var(--space-6);margin-top:var(--space-6)}
.gc-widgets iframe{display:block}

/* Field cards — scroll-margin clears the sticky header when jumped to via
   anchor; the highlight animation confirms which one was just navigated to. */
.field-card{scroll-margin-top:132px}
.field-card.is-highlighted{animation:field-card-highlight 2200ms ease-out}
@keyframes field-card-highlight{
  /* Both stops keep the same two-shadow shape (ring + card shadow) so the
     browser interpolates smoothly instead of snapping between shadow lists
     of different lengths. */
  0%{box-shadow:0 0 0 4px rgba(248,170,0,1), var(--shadow-lg)}
  100%{box-shadow:0 0 0 4px rgba(248,170,0,0), var(--shadow-sm)}
}

/* ---------------------------------------------------------------- */
/* Register page */
/* ---------------------------------------------------------------- */
.register-facts{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-4)}
.register-cta{margin-top:var(--space-7)}
.included-list{list-style:none;margin:0;padding:0;font-size:var(--text-sm)}
.included-list li{position:relative;padding-left:var(--space-4);margin-bottom:var(--space-2)}
.included-list li::before{content:"●";position:absolute;left:0;color:var(--pg-gold);font-size:8px;top:.5em}

/* ---------------------------------------------------------------- */
/* Age calculator (Divisions page) */
/* ---------------------------------------------------------------- */
.age-calc{max-width:480px}
.age-calc__toggle,.segmented{display:inline-flex;background:var(--surface-sunken);border-radius:var(--radius-md);padding:4px;gap:4px;margin-bottom:var(--space-4)}
.age-calc__sport-btn,.segmented__btn{
  border:none;background:none;cursor:pointer;padding:8px 22px;border-radius:var(--radius-sm);
  font-family:var(--font-condensed);font-weight:var(--weight-bold);text-transform:uppercase;
  font-size:var(--text-sm);letter-spacing:var(--tracking-caps);color:var(--ink-600);
  transition:var(--transition-control);
}
.age-calc__sport-btn.is-active,.segmented__btn.is-active{background:var(--surface-card);color:var(--pg-red);box-shadow:var(--shadow-xs)}
.age-calc__note{font-size:var(--text-sm);color:var(--text-muted);margin:0 0 var(--space-6)}
.age-calc__field{margin-bottom:var(--space-6)}
.age-calc__dob-group{display:flex;align-items:center;gap:6px}
.age-calc__dob-part{width:52px;text-align:center;padding:0 4px}
.age-calc__dob-part--year{width:76px}
.age-calc__dob-sep{color:var(--text-faint);font-weight:var(--weight-bold)}
.age-calc__result{border-radius:var(--radius-card);padding:var(--space-5);background:var(--surface-sunken)}
.age-calc__result-division{font-family:var(--font-display);font-weight:var(--weight-regular);font-size:var(--text-3xl);text-transform:uppercase;color:var(--pg-red);line-height:1;margin-bottom:6px}
.age-calc__result-meta{font-size:var(--text-sm);color:var(--text-muted);margin:0}

/* ---------------------------------------------------------------- */
/* Volunteer roles */
/* ---------------------------------------------------------------- */
.role-card__title{font-family:var(--font-condensed);font-weight:var(--weight-bold);text-transform:uppercase;font-size:var(--text-xl);margin:0}
.role-card__hours{display:block;font-family:var(--font-condensed);text-transform:uppercase;font-size:var(--text-sm);color:var(--pg-red);margin:var(--space-2) 0}
.role-card__desc{font-size:var(--text-sm);color:var(--text-muted);margin:0 0 var(--space-4)}

/* ---------------------------------------------------------------- */
/* Utility */
/* ---------------------------------------------------------------- */
.eyebrow{display:block;font-family:var(--font-condensed);font-weight:var(--weight-bold);font-size:var(--text-xs);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--text-faint);margin-bottom:var(--space-2)}
.mt-9{margin-top:var(--space-9)}
.mt-11{margin-top:var(--space-11)}
.mb-6{margin-bottom:var(--space-6)}
.mb-9{margin-bottom:var(--space-9)}
.text-muted{color:var(--text-muted)}

/* All-Stars */
.allstar-timeline{list-style:none;margin:0;padding:0;border-left:3px solid var(--pg-gold);margin-left:6px}
.allstar-timeline__step{position:relative;padding:0 0 var(--space-6) var(--space-6)}
.allstar-timeline__step:last-child{padding-bottom:0}
.allstar-timeline__step::before{content:"";position:absolute;left:-9px;top:4px;width:15px;height:15px;border-radius:50%;background:var(--pg-red);border:3px solid var(--surface-card)}
.allstar-timeline__when{display:block;font-family:var(--font-condensed);font-weight:var(--weight-bold);font-size:var(--text-xs);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--pg-red)}
.allstar-timeline__title{text-transform:uppercase;margin:var(--space-1) 0 var(--space-2)}
.allstar-timeline__desc{margin:0;color:var(--text-muted)}
.allstar-photo{margin:0;border-radius:var(--radius-card);overflow:hidden;line-height:0}
.allstar-photo img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
/* Off-season training */
.training-photo{margin:var(--space-6) 0 0}
.sidebar .training-photo{margin:0}
.training-photo img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:var(--radius-media);box-shadow:var(--shadow-md)}
.training-photo--wide img{aspect-ratio:21/8}
@media (max-width:600px){.training-photo--wide img{aspect-ratio:16/9}}
.training-photo--square img{aspect-ratio:1/1}
.training-photo figcaption{margin-top:var(--space-2);font-size:var(--text-sm);color:var(--ink-600)}
.faq{display:flex;flex-direction:column;gap:var(--space-3)}
.faq__item{border:1px solid var(--border-subtle);border-radius:var(--radius-card);background:var(--surface-card)}
.faq__q{cursor:pointer;list-style:none;padding:var(--space-4) var(--space-5);font-weight:var(--weight-semibold);display:flex;justify-content:space-between;gap:var(--space-4)}
.faq__q::-webkit-details-marker{display:none}
.faq__q::after{content:"+";color:var(--pg-red);font-weight:var(--weight-bold);flex-shrink:0}
.faq__item[open] .faq__q::after{content:"–"}
.faq__a{margin:0;padding:0 var(--space-5) var(--space-5)}
.allstar-program__window{display:block;font-family:var(--font-condensed);font-weight:var(--weight-bold);font-size:var(--text-xs);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--pg-red)}
.allstar-program__name{text-transform:uppercase;margin:var(--space-1) 0 var(--space-3)}
.allstar-program__divisions{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-4)}
.allstar-timeline__title .badge{vertical-align:middle;margin-left:var(--space-2)}


/* Divisions: picker + detail card */
.age-calc__result-link{display:inline-block;margin-top:var(--space-3);font-size:var(--text-sm);font-weight:var(--weight-semibold)}
.division-picker{display:flex;flex-wrap:wrap;gap:var(--space-5) var(--space-9);margin-bottom:var(--space-6)}
.division-picker__sport{display:block;font-family:var(--font-condensed);font-weight:var(--weight-bold);font-size:var(--text-xs);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--text-faint);margin-bottom:var(--space-2)}
.division-picker__options{display:flex;flex-wrap:wrap;gap:var(--space-2)}
.division-picker__btn{display:inline-flex;cursor:pointer;font-family:inherit;align-items:center;gap:6px;padding:8px 14px;border:1.5px solid var(--border-subtle);border-radius:999px;background:var(--surface-card);color:var(--text-body);text-decoration:none;font-weight:var(--weight-semibold);font-size:var(--text-sm);transition:border-color var(--duration-base) var(--ease-standard)}
.division-picker__btn:hover{border-color:var(--pg-red)}
.division-picker__btn.is-active{background:var(--pg-red);border-color:var(--pg-red);color:#fff}
.division-picker__age{font-family:var(--font-condensed);font-weight:var(--weight-bold);color:var(--pg-red)}
.division-picker__btn.is-active .division-picker__age{color:var(--pg-gold)}
.division-detail{background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-card);overflow:hidden;box-shadow:var(--shadow-sm);margin-bottom:var(--space-6);scroll-margin-top:132px}
.division-detail__head{background:var(--pg-red);color:#fff;padding:var(--space-6) var(--space-7)}
.division-detail__sport{display:block;font-family:var(--font-condensed);font-weight:var(--weight-bold);font-size:var(--text-xs);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:rgba(255,255,255,.75)}
.division-detail__name{font-family:var(--font-display);font-weight:var(--weight-regular);font-size:var(--text-4xl);text-transform:uppercase;line-height:1;margin:var(--space-1) 0;color:#fff}
.division-detail__ages{display:block;font-family:var(--font-condensed);font-weight:var(--weight-bold);color:var(--pg-gold)}
.division-detail__body{padding:var(--space-6) var(--space-7)}
.division-detail__desc{font-size:var(--text-lg);margin:0 0 var(--space-6);max-width:720px}
.division-detail__seasons{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-4)}
.season-block{background:var(--surface-sunken);border-radius:var(--radius-md);padding:var(--space-5)}
.season-block__name{font-family:var(--font-condensed);font-weight:var(--weight-bold);font-size:var(--text-sm);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--pg-red);margin:0 0 var(--space-2)}
.season-block__price{display:block;font-family:var(--font-display);font-size:var(--text-4xl);line-height:1}
.season-block__sub{display:block;font-size:var(--text-sm);color:var(--text-muted);margin-top:var(--space-1)}
.season-block__features{margin-top:var(--space-4)}
.season-block__features li:last-child{margin-bottom:0}
.season-block__summary{font-size:var(--text-sm);margin:var(--space-4) 0 0}
.division-picker__audience{font-weight:var(--weight-regular);letter-spacing:var(--tracking-caps);text-transform:none;font-family:var(--font-body)}
.division-picker__status{flex-basis:100%;display:flex;align-items:center;gap:var(--space-4);font-size:var(--text-sm);color:var(--text-muted)}
.division-picker__clear{background:none;border:0;padding:0;cursor:pointer;font:inherit;font-weight:var(--weight-semibold);color:var(--pg-red);text-decoration:underline}
.division-detail__emoji{font-size:.8em;vertical-align:.08em;margin-right:.1em}
.season-block__months{color:var(--text-muted);font-weight:var(--weight-semibold)}

/* Play landing page */
.play-card{display:flex;flex-direction:column;background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-card);overflow:hidden;box-shadow:var(--shadow-sm);text-decoration:none;color:inherit;transition:box-shadow var(--duration-base) var(--ease-standard),transform var(--duration-base) var(--ease-standard)}
.play-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}
.play-card__photo{width:100%;aspect-ratio:16/9;object-fit:cover;display:block}
.play-card__body{padding:var(--space-5) var(--space-6) var(--space-6);display:flex;flex-direction:column;flex:1}
.play-card__title{font-family:var(--font-display);font-weight:var(--weight-regular);font-size:var(--text-3xl);text-transform:uppercase;line-height:1;margin:0 0 var(--space-3)}
.play-card__desc{margin:0 0 var(--space-4);color:var(--text-muted);flex:1}
.play-card__cta{font-family:var(--font-condensed);font-weight:var(--weight-bold);text-transform:uppercase;letter-spacing:var(--tracking-caps);color:var(--pg-red)}
.play-register{margin-bottom:var(--space-11);padding:var(--space-7) var(--space-8);background:var(--surface-sunken);border-radius:var(--radius-card)}
.play-register__head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-5);margin-bottom:var(--space-7)}
.register-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--space-4);counter-reset:none}
.register-steps__step{background:var(--surface-card);border-radius:var(--radius-md);padding:var(--space-5);box-shadow:var(--shadow-xs)}
.register-steps__num{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:var(--pg-red);color:#fff;font-family:var(--font-display);font-size:var(--text-lg);margin-bottom:var(--space-3)}
.register-steps__title{text-transform:uppercase;font-size:var(--text-lg);margin:0 0 var(--space-2)}
.register-steps__text{font-size:var(--text-sm);color:var(--text-muted);margin:0}
@media (max-width:600px){.play-register{padding:var(--space-6) var(--space-5)}}
.play-register__title{font-family:var(--font-display);font-weight:var(--weight-regular);font-size:var(--text-3xl);text-transform:uppercase;line-height:1;margin:0 0 var(--space-2)}

/* Get help router */
.help-router__input{height:auto;min-height:120px;padding:10px 12px;resize:vertical;line-height:1.5;margin-bottom:var(--space-4)}
.help-router__examples{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin-bottom:var(--space-5)}
.help-router__examples-label{font-size:var(--text-sm);color:var(--text-muted)}
.help-router__example{background:var(--surface-sunken);border:0;border-radius:999px;padding:6px 12px;font:inherit;font-size:var(--text-sm);color:var(--text-body);cursor:pointer}
.help-router__example:hover{background:var(--red-50);color:var(--pg-red)}
.help-router__result{margin-top:var(--space-6);padding:var(--space-6);background:var(--surface-card);border:1px solid var(--border-subtle);border-left:4px solid var(--pg-gold);border-radius:var(--radius-card);box-shadow:var(--shadow-sm)}
.help-router__answer{font-size:var(--text-lg);margin:0 0 var(--space-5)}
.help-router__contacts{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--space-4)}
.help-contact{background:var(--surface-sunken);border-radius:var(--radius-md);padding:var(--space-5);display:flex;flex-direction:column;align-items:flex-start}
.help-contact__role{font-family:var(--font-condensed);font-weight:var(--weight-bold);font-size:var(--text-xs);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--pg-red)}
.help-contact__name{font-family:var(--font-display);font-size:var(--text-2xl);text-transform:uppercase;line-height:1.1;margin:var(--space-1) 0 var(--space-2)}
.help-contact__reason{font-size:var(--text-sm);color:var(--text-muted);margin:0 0 var(--space-4)}
.help-contact .btn{margin-top:auto;max-width:100%;overflow-wrap:anywhere;text-align:left}
.help-router__links{margin-top:var(--space-5);display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-2) var(--space-5)}
.help-router__links .eyebrow{flex-basis:100%;margin:0}
.help-router__link{font-weight:var(--weight-semibold)}
.help-router__note{font-size:var(--text-sm);color:var(--text-muted);margin:var(--space-5) 0 0}

/* Division rules */
.rules-card{background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-card);overflow:hidden;box-shadow:var(--shadow-sm);scroll-margin-top:132px}
.rules-card__head{background:var(--pg-red);color:#fff;padding:var(--space-4) var(--space-5)}
.rules-card__name{font-family:var(--font-display);font-weight:var(--weight-regular);font-size:var(--text-2xl);text-transform:uppercase;line-height:1.05;margin:0;color:#fff}
.rules-card__ages{display:block;margin-top:4px;font-family:var(--font-condensed);font-weight:var(--weight-bold);font-size:var(--text-sm);color:var(--pg-gold)}
.rules-card__note{margin:var(--space-4) var(--space-5) 0;font-size:var(--text-sm);color:var(--text-muted)}
.rules-card__docs{list-style:none;margin:0;padding:var(--space-4) var(--space-5) var(--space-5);display:flex;flex-direction:column;gap:var(--space-3)}
.rules-card__docs a{font-weight:var(--weight-semibold)}
.rules-card__pdf{display:inline-block;font-size:var(--text-2xs);font-weight:var(--weight-bold);letter-spacing:var(--tracking-caps);color:#fff;background:var(--ink-700);border-radius:4px;padding:1px 6px;margin-right:6px;vertical-align:2px}
.division-detail__rules{display:inline-block;margin-top:var(--space-5);font-family:var(--font-condensed);font-weight:var(--weight-bold);text-transform:uppercase;letter-spacing:var(--tracking-caps)}
.play-more{margin:var(--space-6) 0 0;color:var(--text-muted)}
.play-more a{font-weight:var(--weight-semibold)}

/* League policies */
.policy-group__title{font-family:var(--font-display);font-weight:var(--weight-regular);font-size:var(--text-3xl);text-transform:uppercase;margin:0 0 var(--space-5)}
.policy-card{display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;gap:var(--space-4);background:var(--surface-card);border:1px solid var(--border-subtle);border-top:4px solid var(--pg-gold);border-radius:var(--radius-card);padding:var(--space-5) var(--space-6);box-shadow:var(--shadow-sm);scroll-margin-top:132px}
.policy-card__title{text-transform:uppercase;margin:0 0 var(--space-2)}
.policy-card__desc{margin:0;color:var(--text-muted)}
.policy-rules{list-style:none;margin:var(--space-5) 0 0;padding:0;display:flex;flex-direction:column}
.policy-rules__row{display:flex;flex-wrap:wrap;gap:2px var(--space-4);justify-content:space-between;padding:var(--space-3) 0;border-top:1px solid var(--border-subtle)}
.policy-rules__div{font-family:var(--font-condensed);font-weight:var(--weight-bold);text-transform:uppercase;letter-spacing:var(--tracking-caps)}
.policy-rules__docs a{font-weight:var(--weight-semibold)}

/* Long-form text (privacy policy) */
.prose{max-width:720px}
.prose h2{font-family:var(--font-display);font-weight:var(--weight-regular);font-size:var(--text-2xl);text-transform:uppercase;margin:var(--space-8) 0 var(--space-3)}
.prose ul{padding-left:var(--space-6)}
.prose li{margin-bottom:var(--space-3)}

/* About */
.about-intro{max-width:72ch}
.about-intro p{margin:0 0 var(--space-4)}

/* Board Roles (/board-roles/) */
.duty-toc{list-style:none;margin:var(--space-3) 0 0;padding:0;display:grid;gap:6px}
.duty-toc li{display:flex;gap:var(--space-3);align-items:baseline}
.duty-toc__num{font-family:var(--font-condensed);font-weight:var(--weight-bold);color:var(--text-faint);min-width:2ch}
.duty-toc a{font-weight:var(--weight-semibold);text-decoration:none}
.duty-toc a:hover{text-decoration:underline}
.duty-toc__pending{color:var(--text-faint)}
.sport-board{list-style:none;margin:var(--space-3) 0 0;padding:0;display:grid;gap:6px}
.sport-board li{display:flex;gap:var(--space-2);align-items:center}
.duty{border-top:4px solid var(--pg-gold);padding-top:var(--space-5);margin-top:var(--space-11);scroll-margin-top:var(--space-12)}
.duty__kicker{display:block;font-family:var(--font-condensed);font-weight:var(--weight-bold);text-transform:uppercase;letter-spacing:var(--tracking-caps);font-size:var(--text-xs);color:var(--pg-red);margin-bottom:var(--space-3)}
.duty__title{font-family:var(--font-display);font-weight:var(--weight-regular);text-transform:uppercase;font-size:var(--text-4xl);line-height:.95;margin:0 0 var(--space-2)}
.duty__emails{display:flex;flex-wrap:wrap;gap:4px 16px;margin:0 0 var(--space-4);font-size:var(--text-sm)}
.duty__emails a{font-weight:var(--weight-semibold);text-decoration:none}
.duty__summary{max-width:72ch;margin:0 0 var(--space-4)}
.duty__meta{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:1px;background:var(--border-subtle);border:1px solid var(--border-subtle);border-radius:var(--radius-md);overflow:hidden;margin:0 0 var(--space-6)}
.duty__meta>div{background:var(--surface-card);padding:10px 12px}
.duty__meta dt{font-family:var(--font-condensed);font-weight:var(--weight-bold);text-transform:uppercase;letter-spacing:var(--tracking-caps);font-size:var(--text-2xs);color:var(--text-muted);margin:0 0 3px}
.duty__meta dd{margin:0;font-size:var(--text-sm);color:var(--text-heading)}
.duty__meta .duty__meta-vacant{background:var(--gold-50)}
.duty__meta-vacant dt{color:var(--gold-800)}
.duty__groups{column-count:2;column-gap:var(--space-8)}
.duty__group{break-inside:avoid;margin-bottom:var(--space-5)}
.duty__group h3{font-family:var(--font-condensed);font-weight:var(--weight-bold);font-size:var(--text-lg);text-transform:none;color:var(--pg-red);margin:0 0 6px}
.duty__group ul{margin:0;padding-left:1.15em}
.duty__group li{margin:0 0 5px}
.duty__group li::marker{color:var(--pg-gold)}
.duty__label{display:block;font-family:var(--font-condensed);font-weight:var(--weight-bold);text-transform:uppercase;letter-spacing:var(--tracking-caps);font-size:var(--text-xs);color:var(--text-muted);margin:var(--space-4) 0 6px}
.duty__dates{width:100%;border-collapse:collapse;font-size:var(--text-sm)}
.duty__dates th,.duty__dates td{padding:6px 0;border-top:1px solid var(--border-subtle);text-align:left;vertical-align:top}
.duty__dates th{width:32%;padding-right:10px;font-family:var(--font-condensed);font-weight:var(--weight-bold);text-transform:uppercase;letter-spacing:.06em;color:var(--pg-red)}
.duty__hours{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:1px;background:var(--border-subtle);border:1px solid var(--border-subtle);border-radius:var(--radius-md);overflow:hidden}
.duty__hours li{background:var(--surface-card);padding:7px 2px 6px;text-align:center}
.duty__hours span{display:block;font-family:var(--font-condensed);font-weight:var(--weight-bold);text-transform:uppercase;letter-spacing:.08em;font-size:var(--text-2xs);color:var(--text-muted)}
.duty__hours strong{display:block;font-family:var(--font-display);font-weight:var(--weight-regular);font-size:var(--text-2xl);line-height:1;color:var(--pg-red)}
.duty__top{display:inline-block;margin-top:var(--space-5);font-size:var(--text-sm);font-weight:var(--weight-semibold);text-decoration:none}
@media (max-width:860px){
  .duty__meta{grid-auto-flow:row}
  .duty__groups{column-count:1}
}
@media (max-width:600px){
  .duty__hours{grid-template-columns:repeat(6,minmax(0,1fr))}
}

/* ---------------------------------------------------------------- */
/* Board filter (Board page) */
/* ---------------------------------------------------------------- */
.board-filter{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--space-4) var(--space-6)}
.board-filter__search{flex:1 1 280px;max-width:420px}
.board-filter .segmented{margin-bottom:0;height:var(--control-h-md);box-sizing:border-box;align-items:stretch}
.board-filter__count{flex-basis:100%;margin:0;font-size:var(--text-sm);color:var(--text-muted)}

/* Sponsor page */
.sponsor-why__title{text-transform:uppercase;font-size:var(--text-lg);margin:0 0 var(--space-2)}
.sponsor-why__desc{font-size:var(--text-sm);color:var(--text-muted);margin:0}
.sponsor-way{display:flex;flex-direction:column;background:var(--surface-card);border:1px solid var(--border-subtle);border-top:4px solid var(--pg-red);border-radius:var(--radius-card);padding:var(--space-5) var(--space-6) var(--space-6);box-shadow:var(--shadow-sm);text-decoration:none;color:inherit;transition:box-shadow var(--duration-base) var(--ease-standard),transform var(--duration-base) var(--ease-standard)}
.sponsor-way:hover{color:inherit;transform:translateY(-2px);box-shadow:var(--shadow-lg)}
.sponsor-way__num{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:var(--pg-red);color:#fff;font-family:var(--font-display);font-size:var(--text-lg);margin-bottom:var(--space-3)}
.sponsor-way__title{font-family:var(--font-display);font-weight:var(--weight-regular);font-size:var(--text-2xl);text-transform:uppercase;line-height:1;margin:0 0 var(--space-2)}
.sponsor-way__price{font-family:var(--font-condensed);font-weight:var(--weight-bold);text-transform:uppercase;letter-spacing:var(--tracking-caps);color:var(--pg-red)}
.sponsor-way__desc{font-size:var(--text-sm);color:var(--text-muted);margin:var(--space-3) 0 var(--space-4);flex:1}
.sponsor-way__cta{font-family:var(--font-condensed);font-weight:var(--weight-bold);text-transform:uppercase;letter-spacing:var(--tracking-caps);font-size:var(--text-sm);color:var(--pg-red)}
.sponsor-section{margin-top:var(--space-11);scroll-margin-top:132px}
.sponsor-offer{display:grid;grid-template-columns:minmax(220px,1fr) 2fr;background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-card);overflow:hidden;box-shadow:var(--shadow-sm)}
.sponsor-offer__head{padding:var(--space-6);background:var(--surface-sunken);border-left:6px solid var(--pg-gold)}
.sponsor-offer__price{display:block;font-family:var(--font-display);font-size:var(--text-4xl);line-height:1}
.sponsor-offer__summary{font-size:var(--text-sm);color:var(--text-muted);margin:var(--space-3) 0 0}
.sponsor-offer__body{padding:var(--space-6);display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-5)}
.sponsor-offer__benefits{margin:0}
.sponsor-list{list-style:none;margin:0;padding:0}
.sponsor-list__item{padding:var(--space-4) 0;border-top:1px solid var(--border-subtle)}
.sponsor-list__item:first-child{border-top:0;padding-top:0}
.sponsor-list__item:last-child{padding-bottom:0}
.sponsor-list__row{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-4)}
.sponsor-list__name{font-weight:var(--weight-semibold)}
.sponsor-list__price{font-family:var(--font-display);font-size:var(--text-2xl);line-height:1;color:var(--pg-red);white-space:nowrap}
.sponsor-list__details{font-size:var(--text-sm);color:var(--text-muted);margin:var(--space-1) 0 0}
.sponsor-note{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-4);margin-top:var(--space-5)}
.sponsor-note p{margin:0;color:var(--text-muted);flex:1 1 360px}
.sponsor-cta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-5)}
.sponsor-cta > div:first-child{flex:1 1 360px}
.sponsor-cta__actions{display:flex;flex-wrap:wrap;gap:var(--space-3)}
@media (max-width:700px){.sponsor-offer{grid-template-columns:1fr}.sponsor-offer__head{border-left:0;border-top:6px solid var(--pg-gold)}}
.sponsor-divisions__sport{text-transform:uppercase;margin:var(--space-7) 0 var(--space-4)}
.sponsor-divisions{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--space-4)}
.sponsor-division{display:flex;flex-direction:column;background:var(--surface-card);border:1px solid var(--border-subtle);border-top:4px solid var(--pg-gold);border-radius:var(--radius-card);padding:var(--space-5);box-shadow:var(--shadow-sm)}
.sponsor-division__head{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-3);margin-bottom:var(--space-4)}
.sponsor-division__name{font-family:var(--font-display);font-weight:var(--weight-regular);font-size:var(--text-2xl);text-transform:uppercase;line-height:1;margin:0}
.sponsor-division__price{font-family:var(--font-display);font-size:var(--text-2xl);line-height:1;color:var(--pg-red);white-space:nowrap}
.sponsor-division__facts{margin:0 0 var(--space-5);flex:1;font-size:var(--text-sm)}
.sponsor-division__facts div{padding:var(--space-2) 0;border-top:1px solid var(--border-subtle)}
.sponsor-division__facts dt{font-family:var(--font-condensed);font-weight:var(--weight-bold);font-size:var(--text-xs);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--text-faint)}
.sponsor-division__facts dd{margin:0}
.sponsor-division__sold{margin:0;font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--text-muted)}
.sponsor-division.is-sold{background:var(--surface-sunken);border-top-color:var(--border-default);box-shadow:none}
.sponsor-division.is-sold .sponsor-division__name,.sponsor-division.is-sold .sponsor-division__facts{opacity:.6}
.sponsor-divisions__note{margin:var(--space-5) 0 0;color:var(--text-muted)}

/* Home: "What are you looking for?" finder */
.finder{background:var(--surface-sunken);border-bottom:1px solid var(--border-subtle)}
.finder__inner{max-width:880px;margin:0 auto;padding:var(--space-9) 24px}
.finder__label{display:block;font-family:var(--font-display);font-weight:var(--weight-regular);font-size:var(--text-3xl);text-transform:uppercase;line-height:1;color:var(--text-heading);margin-bottom:var(--space-4)}
.finder__row{display:flex;gap:var(--space-3)}
.finder__input{flex:1;min-width:0;height:var(--control-h-lg);font-size:var(--text-md)}
.finder__examples{margin:var(--space-4) 0 0}
.finder .help-router__result{margin-top:var(--space-5)}
.help-router__pages{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-3);margin-bottom:var(--space-5)}
.help-page-link{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);background:var(--surface-sunken);border-radius:var(--radius-md);text-decoration:none;color:var(--text-heading);font-family:var(--font-condensed);font-weight:var(--weight-bold);text-transform:uppercase;letter-spacing:var(--tracking-caps)}
.help-page-link:hover{color:var(--pg-red);background:var(--red-50)}
@media (max-width:600px){
  .finder__inner{padding:var(--space-7) 16px}
  .finder__label{font-size:var(--text-2xl)}
  .finder__row{flex-direction:column}
  .finder__input{flex:none}
  .finder__submit{width:100%}
}
.finder .help-router__example{background:var(--surface-card);box-shadow:var(--shadow-xs)}

/* Generic text + buttons row (e.g. inside a brand card) */
.cta-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-5)}
.cta-row > div:first-child{flex:1 1 360px}
.cta-row__actions{display:flex;flex-wrap:wrap;gap:var(--space-3)}

/* Coaching philosophy: embedded slide deck */
.deck-embed{position:relative;border-radius:var(--radius-card);overflow:hidden;box-shadow:var(--shadow-lg);background:#111}
.deck-embed__frame{display:block;width:100%;aspect-ratio:16/10;border:0}
.deck-embed__actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3);margin-top:var(--space-4)}
.deck-embed__hint{font-size:var(--text-sm);color:var(--text-muted)}
@media (max-width:860px){.deck-embed__frame{aspect-ratio:16/9}}

/* Child safety policy */
.safety-urgent{background:var(--pg-red);color:#fff;border-radius:var(--radius-card);padding:var(--space-6) var(--space-7);margin-bottom:var(--space-6)}
.safety-urgent__title{font-family:var(--font-display);font-weight:var(--weight-regular);font-size:var(--text-2xl);text-transform:uppercase;line-height:1.1;color:#fff;margin:0 0 var(--space-2)}
.safety-urgent p{margin:0;color:rgba(255,255,255,.9)}
.safety-urgent a{color:var(--pg-gold);font-weight:var(--weight-semibold)}
.safety-urgent a:hover{color:#fff}
.safety-summary{background:var(--surface-sunken);border-radius:var(--radius-card);padding:var(--space-6) var(--space-7);margin-bottom:var(--space-9)}
.safety-summary__title{text-transform:uppercase;font-size:var(--text-lg);margin:0 0 var(--space-4)}
.safety-summary .included-list{font-size:var(--text-base)}

/* Bylaws */
.bylaws-toc ol{padding-left:var(--space-6);margin:0 0 var(--space-6)}
.bylaws-toc li{margin-bottom:var(--space-1)}
.bylaws h3{text-transform:uppercase;margin:var(--space-6) 0 var(--space-3)}
.bylaws h4{text-transform:uppercase;margin:var(--space-5) 0 var(--space-2)}
.table-scroll{overflow-x:auto;margin:0 0 var(--space-5)}
.bylaws-table{font-size:var(--text-sm);min-width:520px}
.bylaws-table th{background:var(--pg-red);color:var(--text-on-brand);font-family:var(--font-condensed);font-weight:var(--weight-bold);text-transform:uppercase;letter-spacing:var(--tracking-caps);font-size:var(--text-xs);text-align:left;padding:var(--space-3)}
.bylaws-table td{padding:var(--space-3);border-top:1px solid var(--border-subtle);vertical-align:top}
.bylaws-table tbody tr:nth-child(even){background:var(--surface-sunken)}
