/* ═══════════════════════════════════════════════════════════════════
   Hebron Hawks Lacrosse — Shared Theme CSS
   Applies to all pages except index.html (which is self-contained).
   nav.js injects the header, mobile menu, footer, and scroll-to-top.
═══════════════════════════════════════════════════════════════════ */

/* ── Reset ── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

/* ── Design Tokens ── */
:root {
  /* Hebron Hawks — Duke palette */
  --bg-base:         #0A1633;
  --bg-elevated:     #0F1F4A;
  --bg-section:      #0D1B44;
  --bg-footer:       #050B1E;
  --duke-navy:       #012169;
  --duke-royal:      #00539B;
  --shale:           #0577B1;
  --accent:          #00539B;
  --accent-warm:     #FFD960;
  --text-primary:    #E2E6ED;
  --text-secondary:  #C9D2E3;
  --text-muted:      #B5B5B5;
  --text-dimmed:     #8A93A8;
  --text-nav:        #E2E6ED;
  --border:          rgba(255,255,255,.08);
  --border-light:    rgba(255,255,255,.07);
  --border-mid:      rgba(255,255,255,.1);
  --border-strong:   rgba(255,255,255,.16);
  --purple-glow:     rgba(0,83,155,.45);
  --red-glow:        rgba(255,217,96,.14);
  --radius-sm: 8px; --radius-md: 12px; --radius-lg: 16px; --radius-xl: 18px; --radius-pill: 999px;

  /* Legacy aliases used by styles.css and inner pages */
  --navy:            #0F1F4A;
  --navy-dark:       #0A1633;
  --orange:          #00539B;
  --gold:            #0577B1;
  --gold-light:      #8ECBF0;
  --muted:           #B5B5B5;
  --warm-white:      #0D1B44;
  --gray-50:         #0D1B44;
  --warm:            #0D1B44;
  --text:            #E2E6ED;
  --white:           #E2E6ED;
  --gray-100:        rgba(255,255,255,.04);
  --gray-500:        #8A93A8;
  --gray-600:        #B5B5B5;
  --nav-height:      80px;
  --font-heading:    'Archivo', sans-serif;
  --font-display:    'Archivo', sans-serif;
  --transition-base: 0.2s ease;
  --transition-fast: 0.12s ease;
  --shadow-sm:       0 1px 3px rgba(0,0,0,.4);
  --space-1: 4px; --space-2: 8px; --space-3: 12px; --space-4: 16px; --space-5: 20px;
  --space-6: 24px; --space-8: 32px; --space-10: 40px; --space-12: 48px; --space-16: 64px;
  --space-20: 80px; --space-24: 96px;
}

/* ── Layout Utilities (not in styles.css) ── */
.container {
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 24px;
}

.section {
  padding: 64px 0;
}

.section-sm {
  padding: 40px 0;
}

/* ── Base ── */
html { scroll-behavior: smooth; }

body {
  background: var(--bg-base) !important;
  color: var(--text-primary) !important;
  font-family: 'Hanken Grotesk', sans-serif !important;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

a { color: inherit; text-decoration: none; }

/* ── Dark overrides for styles.css light components ── */
.section { background: transparent; }
.section-header { background: transparent; }

.instrument-card,
.feature-card,
.teacher-card,
.pricing-card,
.stat-card,
.clinic-card,
.trait-card,
.season-card,
.tryout-date-card,
.next-step-card,
.testimonial-card,
.key-date-item,
.sidebar-card,
.free-trial-card,
.register-form-card {
  background: rgba(255,255,255,.04) !important;
  border-color: rgba(255,255,255,.08) !important;
  color: var(--text-primary) !important;
}

.section-tag {
  color: var(--accent) !important;
  background: rgba(0,83,155,.1) !important;
  border-color: rgba(0,83,155,.3) !important;
}

.section-title,
.section-subtitle,
.feature-title,
.step-title,
.teacher-name,
h1, h2, h3, h4 {
  color: var(--text-primary) !important;
}

.feature-desc,
.step-desc,
.teacher-bio,
.teacher-title,
p {
  color: var(--text-secondary) !important;
}

/* Tables */
table, .roster-table {
  background: transparent !important;
}
th {
  background: rgba(255,255,255,.06) !important;
  color: var(--text-primary) !important;
  border-color: rgba(255,255,255,.08) !important;
}
td {
  color: var(--text-secondary) !important;
  border-color: rgba(255,255,255,.06) !important;
}
tr:nth-child(even) td {
  background: rgba(255,255,255,.02) !important;
}

/* Inputs & forms */
input, select, textarea {
  background: rgba(255,255,255,.06) !important;
  border-color: rgba(255,255,255,.12) !important;
  color: var(--text-primary) !important;
}
input::placeholder, textarea::placeholder {
  color: var(--text-dimmed) !important;
}
input:focus, select:focus, textarea:focus {
  border-color: var(--duke-royal) !important;
  outline: none;
}

/* Tabs */
.division-tabs, .season-tabs, .tab-btn, .dtab-btn {
  background: transparent !important;
  border-color: rgba(255,255,255,.08) !important;
  color: var(--text-secondary) !important;
}
.tab-btn.active, .dtab-btn.active {
  background: rgba(0,83,155,.12) !important;
  color: #fff !important;
  border-color: var(--accent) !important;
}

/* Badges & pills */
.badge, .pill, .season-active-badge, .teacher-instrument-tag,
.pos-pill, .kd-tag {
  background: rgba(0,83,155,.2) !important;
  color: #CEC5DC !important;
  border-color: rgba(0,83,155,.3) !important;
}

/* CTA strip */
.cta-strip {
  background: rgba(0,83,155,.08) !important;
  border-color: rgba(0,83,155,.2) !important;
}

/* Breadcrumb & section-tag strip */
.beginner-banner, .tryout-callout {
  background: rgba(0,83,155,.12) !important;
  border-color: rgba(0,83,155,.25) !important;
}

/* Pricing popular highlight */
.pricing-popular {
  background: rgba(0,83,155,.12) !important;
  border-color: var(--accent) !important;
}

/* Radio cards */
.radio-card {
  background: rgba(255,255,255,.04) !important;
  border-color: rgba(255,255,255,.1) !important;
  color: var(--text-primary) !important;
}
.radio-card:has(input:checked) {
  border-color: var(--accent) !important;
  background: rgba(0,83,155,.08) !important;
}
img { max-width: 100%; height: auto; }


/* ═══════════════════════════════════════════════════════════════════
   DARK THEME OVERRIDES — beat styles.css + per-page <style> blocks
   (page <style> loads after theme.css, so !important is required)
═══════════════════════════════════════════════════════════════════ */

/* Page-header / hero badge pills — Dandelion accent background with warm text */
.page-header-tag,
.hero-badge {
  background: rgba(255,217,96,.1) !important;
  border-color: rgba(255,217,96,.35) !important;
  color: var(--accent-warm) !important;
}

/* Hero/heading accent spans — light blue (gold-light) for contrast on dark background */
.hero-title span,
.page-header h1 span { color: var(--gold-light) !important; }

/* Any section/band that styles.css painted light → transparent over dark body */
.section, .section-sm, .section-lg,
.instruments-section, .testimonials-section, .faq-section,
.pricing-section, .steps-section, .about-section,
.division-tabs-wrap, .season-tabs-wrap, .season-overview,
.bg-warm, .bg-gray, .bg-white {
  background: transparent !important;
}

/* Solid-white cards/panels → subtle dark cards */
.instrument-card, .feature-card, .teacher-card, .pricing-card,
.stat-card, .clinic-card, .trait-card, .season-card, .tryout-date-card,
.next-step-card, .testimonial-card, .key-date-item, .sidebar-card,
.free-trial-card, .register-form-card, .reg-form-card, .step-card,
.faq-item, .faq-list, .cta-form, .hero-floating-card, .lead-widget,
.radio-card, .division-tabs, .season-tabs, .review-section,
.testimonial-meta, .teacher-rating, .roster-table-wrap, .clinic-grid,
.pricing-features, .breadcrumb {
  background: rgba(255,255,255,.04) !important;
  border-color: rgba(255,255,255,.08) !important;
  color: var(--text-primary) !important;
}

/* Featured/popular highlight cards */
.pricing-card.featured, .pricing-popular {
  background: rgba(0,83,155,.1) !important;
  border-color: var(--accent) !important;
}

/* Division/season tab buttons */
.dtab-btn, .tab-btn, .season-tabs button, .division-tabs button {
  background: rgba(255,255,255,.04) !important;
  border-color: rgba(255,255,255,.1) !important;
  color: var(--text-secondary) !important;
}
.dtab-btn.active, .tab-btn.active,
.season-tabs button.active, .division-tabs button.active {
  background: rgba(0,83,155,.14) !important;
  border-color: var(--accent) !important;
  color: #fff !important;
}

/* Text colors inside re-themed cards */
.section-title, .section-subtitle, .feature-title, .step-title,
.teacher-name, .pricing-tier, .stat-number, .player-name,
.testimonial-name, .next-step-title, .clinic-detail,
h1, h2, h3, h4, h5 { color: var(--text-primary) !important; }

.feature-desc, .step-desc, .teacher-bio, .teacher-title,
.testimonial-text, .stat-label, .pricing-per-lesson,
.section-subtitle, .review-label, .roster-note { color: var(--text-secondary) !important; }

/* Jump-to / breadcrumb pills */
.breadcrumb a, .breadcrumb { color: var(--text-secondary) !important; }

/* Position / status pills — brighten text for dark bg (page <style> uses dark hex) */
.pos-attack, .pill-away      { background: rgba(251,146,60,.15) !important;  color: #FB923C !important; }
.pos-mid, .pill-tournament   { background: rgba(96,165,250,.15) !important;  color: #60A5FA !important; }
.pos-defense, .pill-home     { background: rgba(34,197,94,.15) !important;   color: #22C55E !important; }
.pos-goalie                  { background: rgba(192,132,252,.15) !important; color: #C084FC !important; }

/* ── Hawks nav ── */
.hk-header{position:sticky;top:0;z-index:50;background:rgba(10,22,51,.88);backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}
.hk-nav{max-width:1240px;margin:0 auto;padding:0 24px;display:flex;align-items:center;gap:28px;height:var(--nav-height)}
.hk-logo-link img{height:56px;width:auto;display:block}
.hk-social{display:flex;align-items:center;gap:8px;padding:0 20px;border-left:1px solid var(--border);border-right:1px solid var(--border)}
.hk-ico{width:46px;height:46px;border-radius:12px;border:1px solid var(--border-strong);display:inline-flex;align-items:center;justify-content:center;color:#fff;position:relative;transition:border-color .15s,background .15s}
.hk-ico:hover{border-color:var(--shale);background:rgba(5,119,177,.15)}
.hk-ico svg{width:20px;height:20px;fill:currentColor}
.hk-ico b{position:absolute;right:-5px;top:-5px;background:var(--duke-royal);color:#fff;font-size:9px;font-weight:800;padding:2px 5px;border-radius:999px;border:2px solid var(--bg-base)}
.hk-nav-links{display:flex;gap:10px;list-style:none}
.hk-nav-link{font-weight:600;font-size:16px;color:var(--text-primary);text-decoration:none;padding:9px 16px;border-radius:999px;background:rgba(0,83,155,.22);border:1px solid rgba(5,119,177,.28);transition:background .15s,border-color .15s,color .15s}
.hk-nav-link:hover{color:#fff;background:rgba(0,83,155,.42);border-color:var(--shale)}
.hk-nav-link.active{color:#fff;background:var(--duke-royal);border-color:var(--shale)}
.hk-nav-actions{margin-left:auto;display:flex;align-items:center;gap:12px}
.hk-cta{background:var(--duke-royal);color:#fff;font-family:var(--font-heading);font-weight:700;font-size:17px;padding:14px 26px;border-radius:999px;text-decoration:none;box-shadow:0 8px 24px rgba(0,83,155,.35);transition:transform .15s,background .15s}
.hk-cta:hover{background:var(--shale);transform:translateY(-1px)}
.hk-signin{color:var(--text-primary);font-weight:600;font-size:15px;text-decoration:none;padding:0 6px 0 10px}
[aria-disabled="true"]{opacity:.5;pointer-events:none}
.hk-hamburger{display:none;flex-direction:column;gap:5px;background:none;border:0;padding:8px;cursor:pointer}
.hk-hamburger span{width:24px;height:2px;background:#fff;display:block}
@media(max-width:1080px){.hk-nav-links,.hk-signin{display:none}.hk-hamburger{display:flex}}
@media(max-width:560px){.hk-social{display:none}}
.hk-mobile{position:fixed;inset:0;background:var(--bg-base);z-index:60;display:none;flex-direction:column;gap:18px;padding:80px 32px 32px;font-size:22px;font-family:var(--font-heading);font-weight:700}
.hk-mobile.open{display:flex}
.hk-mobile a{color:#fff;text-decoration:none}
.hk-mobile .hk-social{display:flex;border:0;padding:12px 0 0}
.hk-mobile-close{position:absolute;top:20px;right:20px;background:none;border:0;color:#fff;font-size:26px;cursor:pointer}
/* ── Sponsor marquee ── */
.hk-marquee-wrap{padding:44px 0 52px;border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--bg-base)}
.hk-marquee-head{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:26px}
.hk-marquee-head p{font-family:var(--font-heading);font-weight:800;font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--shale)}
.hk-marquee-actions{display:flex;align-items:center;gap:18px}
.hk-link{font-weight:700;color:#fff;text-decoration:none;border-bottom:2px solid var(--shale);padding-bottom:2px;line-height:1}
.hk-btn-warm{background:var(--accent-warm);color:#2a1e00;font-family:var(--font-heading);font-weight:700;font-size:13px;padding:10px 16px;border-radius:10px;text-decoration:none}
.hk-marquee-pause{width:36px;height:36px;border-radius:50%;border:1px solid var(--border);background:var(--bg-elevated);color:#fff;cursor:pointer}
.hk-marquee{position:relative;overflow:hidden}
.hk-marquee::before,.hk-marquee::after{content:"";position:absolute;top:0;bottom:0;width:120px;z-index:2;pointer-events:none}
.hk-marquee::before{left:0;background:linear-gradient(90deg,var(--bg-base),transparent)}
.hk-marquee::after{right:0;background:linear-gradient(270deg,var(--bg-base),transparent)}
.hk-marquee-track{display:flex;gap:22px;width:max-content;animation:hk-slide var(--hk-mq-duration,26s) linear infinite}
.hk-marquee:hover .hk-marquee-track,.hk-marquee-track.paused{animation-play-state:paused}
@keyframes hk-slide{to{transform:translateX(-50%)}}
.hk-logo{height:72px;min-width:170px;padding:12px 24px;display:flex;align-items:center;justify-content:center;border-radius:10px;background:#fff;text-decoration:none;box-shadow:inset 0 -3px 0 var(--tier-color, transparent)}
.hk-logo img{max-height:48px;max-width:200px;width:auto;height:auto;object-fit:contain;display:block}
.hk-logo-text{color:var(--duke-navy);font-family:var(--font-heading);font-weight:800;font-size:15px;white-space:nowrap}
@media (prefers-reduced-motion:reduce){.hk-marquee-track{animation:none;flex-wrap:wrap;width:auto;justify-content:center}.hk-marquee::before,.hk-marquee::after{display:none}}
/* ── Footer ── */
.hk-footer{background:var(--bg-footer);padding:64px 0 28px;border-top:1px solid var(--border)}
.hk-footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:32px;margin-bottom:44px}
@media(max-width:800px){.hk-footer-grid{grid-template-columns:1fr 1fr}}
.hk-footer-brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:#fff;font-family:var(--font-heading);font-weight:900}
.hk-footer-brand img{height:56px}
.hk-footer-desc{color:var(--text-muted);font-size:14px;margin:12px 0;max-width:340px}
.hk-footer h4{font-family:var(--font-heading);font-weight:800;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--shale);margin-bottom:14px}
.hk-footer ul{list-style:none}.hk-footer li{margin-bottom:9px;font-size:15px}
.hk-footer li a{color:var(--text-primary);text-decoration:none}.hk-footer li a:hover{color:#fff}
.hk-se{color:var(--shale);font-size:11px;font-weight:700;letter-spacing:.08em;margin-left:6px}
.hk-footer-bottom{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:22px;border-top:1px solid var(--border);color:var(--text-muted);font-size:13px}

/* ── Shared page components ── */
.hk-section{padding:88px 0}
.hk-display{font-family:var(--font-heading);font-weight:900;text-transform:uppercase;letter-spacing:-.03em;line-height:.95;color:#fff;font-size:clamp(30px,4vw,48px)}
.hk-display em{font-style:normal;color:var(--shale)}
.hk-eyebrow{font-family:var(--font-heading);font-weight:800;font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--shale);margin-bottom:12px}
.hk-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:40px;flex-wrap:wrap}
.hk-section-head p{color:var(--text-muted);max-width:480px}
.hk-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:16px}
.hk-pill{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:5px 10px;border-radius:999px}
.hk-pill.open{background:rgba(255,217,96,.14);color:var(--accent-warm);border:1px solid rgba(255,217,96,.3)}
.hk-pill.open::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent-warm);box-shadow:0 0 0 3px rgba(255,217,96,.25)}
.hk-pill.blue{background:rgba(5,119,177,.2);color:#8ECBF0}
.hk-pill.tier{background:color-mix(in srgb, var(--tier-color) 22%, transparent);color:var(--tier-color);border:1px solid color-mix(in srgb, var(--tier-color) 45%, transparent)}
.hk-btns{display:flex;gap:12px;flex-wrap:wrap}
.hk-btn-outline{color:#fff;border:1px solid rgba(255,255,255,.24);background:rgba(255,255,255,.04);font-family:var(--font-heading);font-weight:700;font-size:15px;padding:15px 24px;border-radius:10px;text-decoration:none}
/* announcements band */
.hk-announce-top{padding:44px 0 36px;border-bottom:1px solid var(--border);background:linear-gradient(180deg,var(--bg-section),var(--bg-base))}
.hk-announce-top .hk-section-head{margin-bottom:22px}.hk-announce-top .hk-display{font-size:clamp(24px,3vw,36px)}
.hk-ann-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:16px}
@media(max-width:900px){.hk-ann-grid{grid-template-columns:1fr}}
.hk-ann{padding:20px;display:flex;flex-direction:column;gap:10px}
.hk-ann-feat{background:linear-gradient(160deg,var(--bg-elevated),#0B1A40);border-color:rgba(5,119,177,.35)}
.hk-ann time{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--shale);font-weight:700}
.hk-ann h3{font-family:var(--font-heading);font-weight:800;font-size:18px;color:#fff;line-height:1.2}.hk-ann-feat h3{font-size:24px}
.hk-ann p{color:var(--text-muted);font-size:14px;flex:1}
.hk-ann .hk-cta,.hk-ann .hk-link{align-self:flex-start}
.hk-ann-all{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:16px}
.hk-ann-toggle{background:none;border:0;cursor:pointer;margin-top:18px;font-size:15px}
.hk-ann-img{width:100%;aspect-ratio:16/9;object-fit:contain;background:rgba(255,255,255,.05);border-radius:10px;margin-bottom:6px}
/* hero */
.hk-hero{position:relative;overflow:hidden}
.hk-hero-bg{position:absolute;inset:0;background:radial-gradient(900px 400px at 80% 20%,rgba(1,33,105,.7),transparent),var(--bg-base)}
.hk-hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center;padding-top:56px;padding-bottom:56px}
@media(max-width:900px){.hk-hero-grid{grid-template-columns:1fr}.hk-hero-logo{order:-1;min-height:280px}}
.hk-hero-meta{margin-top:26px;font-size:13px;color:var(--text-muted)}
.hk-hero-logo{position:relative;border-radius:24px;min-height:420px;display:grid;place-items:center;padding:40px;background:radial-gradient(60% 60% at 50% 40%,rgba(0,83,155,.55),rgba(1,33,105,.35) 60%,rgba(10,22,51,.2));border:1px solid var(--border-mid);box-shadow:0 30px 80px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.08)}
.hk-hero-logo img{width:100%;max-width:440px;height:auto;filter:drop-shadow(0 20px 40px rgba(0,0,0,.5))}
/* tradition */
.hk-tradition{background:linear-gradient(135deg,var(--duke-navy) 0%,#07112B 60%);position:relative;overflow:hidden}
.hk-tradition::before{content:"HAWKS";position:absolute;right:-40px;top:-30px;font-family:var(--font-heading);font-weight:900;font-size:300px;color:rgba(255,255,255,.025);letter-spacing:-.05em;line-height:1;pointer-events:none}
.hk-coach-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:56px}
@media(max-width:800px){.hk-coach-stats{grid-template-columns:repeat(2,1fr)}}
.cs{padding:22px;text-align:center;background:rgba(255,255,255,.04);border:1px solid var(--border);border-radius:14px}
.cs b{display:block;font-family:var(--font-heading);font-weight:900;font-size:40px;color:#fff;line-height:1}.cs span{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);display:block;margin-top:8px}
.hk-timeline{position:relative;padding-top:20px}.hk-timeline .rail{position:absolute;left:0;right:0;top:32px;height:2px;background:linear-gradient(90deg,transparent,var(--duke-royal) 8%,var(--duke-royal) 92%,transparent)}
.hk-timeline-years{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:10px;position:relative}
@media(max-width:800px){.hk-timeline-years{grid-auto-flow:row;grid-template-columns:repeat(3,1fr);row-gap:30px}.hk-timeline .rail{display:none}}
.hk-yr{text-align:center}.hk-yr .dot{width:16px;height:16px;border-radius:50%;background:var(--duke-royal);border:3px solid var(--bg-base);margin:4px auto 16px}
.hk-yr-photo{width:56px;height:56px;border-radius:50%;object-fit:cover;margin:0 auto 8px;border:2px solid var(--accent-warm);display:block}
.hk-yr.win .dot{background:var(--accent-warm);box-shadow:0 0 0 5px rgba(255,217,96,.2)}
.hk-yr b{display:block;font-family:var(--font-heading);font-weight:900;font-size:26px;color:#fff;line-height:1}.hk-yr.win b{color:var(--accent-warm)}
.hk-yr small{display:block;font-size:13px;margin-top:8px;line-height:1.35}.hk-yr small span{display:block;color:var(--text-muted);font-size:11px;letter-spacing:.12em;text-transform:uppercase;margin-top:4px}
/* programs */
.hk-tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media(max-width:900px){.hk-tiers{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.hk-tiers{grid-template-columns:1fr}}
.hk-tier-card{padding:26px;position:relative;overflow:hidden;display:flex;flex-direction:column;gap:10px;min-height:250px;text-decoration:none;transition:transform .15s,border-color .15s}
.hk-tier-card:hover{transform:translateY(-3px);border-color:rgba(5,119,177,.5)}
.hk-tier-card::before{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:linear-gradient(90deg,var(--duke-navy),var(--shale))}
.hk-tier-card .num,.hk-prog-head .num{font-family:var(--font-heading);font-weight:900;font-size:56px;line-height:1;color:#fff;letter-spacing:-.03em}
.hk-tier-card .grade{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--shale);font-weight:700}
.hk-tier-card p{color:var(--text-muted);font-size:15px;flex:1}
.hk-tier-card .foot{display:flex;align-items:center;justify-content:space-between;gap:10px}.hk-tier-card .go{font-weight:700;color:#fff;font-size:14px}.hk-tier-card .go::after{content:" →";color:var(--shale)}
.hk-prog{padding:32px;margin-bottom:24px}.hk-prog-head{display:flex;gap:24px;align-items:center;flex-wrap:wrap}.hk-prog-head h2{font-family:var(--font-heading);font-weight:800;color:#fff;font-size:24px}.hk-prog-head .meta{color:var(--text-muted)}
.hk-prog-actions{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin:18px 0}
.hk-tier-photos{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.hk-tier-photos img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:8px}
@media(max-width:700px){.hk-tier-photos{grid-template-columns:repeat(3,1fr)}}
/* carousel */
.hk-action{background:linear-gradient(180deg,var(--bg-base),#07112B)}
.hk-car{position:relative;overflow:hidden;margin-top:8px}
.hk-car-track{display:flex;gap:16px;width:max-content;animation:hk-slide 48s linear infinite}.hk-car:hover .hk-car-track{animation-play-state:paused}
.hk-shot{position:relative;width:360px;height:440px;border-radius:16px;overflow:hidden;flex:none;background:var(--bg-elevated);margin:0}
.hk-shot img{width:100%;height:100%;object-fit:cover;display:block}
.hk-shot figcaption{position:absolute;left:16px;right:16px;bottom:16px;font-family:var(--font-heading);font-weight:900;color:#fff;font-size:22px;text-shadow:0 2px 12px rgba(0,0,0,.6)}
.hk-shot figcaption small{display:block;font-family:'Hanken Grotesk',sans-serif;font-weight:600;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--shale)}
@media (prefers-reduced-motion:reduce){.hk-car-track{animation:none;flex-wrap:wrap;width:auto;padding:0 24px}}
/* coaches */
.hk-coaches{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:16px}@media(max-width:900px){.hk-coaches{grid-template-columns:1fr}}
.hk-coach{position:relative;min-height:380px;overflow:hidden}.hk-coach img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top}
.hk-coach .ph{position:absolute;inset:0;display:grid;place-items:center;font-size:64px;opacity:.5;background:radial-gradient(400px 300px at 50% 30%,rgba(0,83,155,.5),var(--bg-elevated))}
.hk-coach::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(10,22,51,.95) 0%,rgba(10,22,51,.2) 60%)}
.hk-coach .info{position:absolute;left:24px;right:24px;bottom:22px;z-index:1}.hk-coach h3{font-family:var(--font-heading);font-weight:900;font-size:26px;color:#fff;line-height:1}
.hk-coach span{display:block;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--shale);font-weight:700;margin:6px 0 8px}.hk-coach p{font-size:14px}
/* sponsors page, faq, gear, facilities */
.hk-tier{margin-bottom:36px;border-left:4px solid var(--tier-color, var(--shale));padding-left:18px}.hk-tier-head{display:flex;align-items:center;gap:12px;margin-bottom:14px}.hk-tier-head h3{font-family:var(--font-heading);font-weight:800;font-size:14px;letter-spacing:.18em;text-transform:uppercase;color:#fff}.hk-tier-head .line{flex:1;height:1px;background:var(--border-mid)}
.hk-tier-head .swatch{width:12px;height:12px;border-radius:50%;background:var(--tier-color,var(--shale))}
.hk-tier-benefits{color:var(--text-muted);margin-bottom:14px;list-style:disc;padding-left:20px}
.hk-tier-benefits li{margin-bottom:4px}
.hk-cells{display:grid;gap:14px;margin-bottom:16px}.hk-cells.rank-1{grid-template-columns:repeat(2,1fr)}.hk-cells.rank-1 .hk-logo{height:110px}.hk-cells.rank-2{grid-template-columns:repeat(3,1fr)}.hk-cells.rank-2 .hk-logo{height:84px}.hk-cells{grid-template-columns:repeat(5,1fr)}
@media(max-width:760px){.hk-cells,.hk-cells.rank-1,.hk-cells.rank-2{grid-template-columns:repeat(2,1fr)}}
.hk-empty{color:var(--text-muted);font-size:14px;grid-column:1/-1}
.hk-faq{padding:18px 22px;margin-bottom:12px}.hk-faq summary{font-family:var(--font-heading);font-weight:700;color:#fff;cursor:pointer;font-size:17px}.hk-faq p{color:var(--text-muted);margin-top:10px}
.hk-gear-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}@media(max-width:700px){.hk-gear-grid{grid-template-columns:1fr}}
.hk-gear-grid .hk-card,.hk-store,.hk-facility{padding:26px}.hk-gear-grid h3,.hk-store h3,.hk-facility h3{font-family:var(--font-heading);font-weight:800;color:#fff;margin-bottom:12px}
.hk-gear-grid ul{padding-left:18px}.hk-gear-grid li{margin-bottom:6px}.hk-store p,.hk-facility p{color:var(--text-muted);margin-bottom:10px}.hk-store .hk-cta{display:inline-block;margin-top:8px}
.hk-page-hero{padding:72px 0 40px}.hk-page-hero h1{font-size:clamp(40px,6vw,72px)}.hk-page-hero p{color:var(--text-muted);max-width:640px;margin-top:16px;font-size:18px}
/* schedule */
.hk-filter{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}
.hk-filter button{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.24);color:#fff;font-family:var(--font-heading);font-weight:700;font-size:13px;padding:8px 16px;border-radius:999px;cursor:pointer;transition:background .15s,border-color .15s}
.hk-filter button:hover{border-color:var(--shale)}
.hk-filter button.active{background:var(--shale);border-color:var(--shale)}
.hk-day{margin-bottom:28px}
.hk-day h3{font-family:var(--font-heading);font-weight:800;font-size:14px;letter-spacing:.14em;text-transform:uppercase;color:var(--shale);margin-bottom:12px}
.hk-day ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}
.hk-day li{display:flex;align-items:center;gap:16px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:12px;padding:14px 18px}
.hk-day li time{font-family:var(--font-heading);font-weight:700;font-size:13px;color:#fff;min-width:76px}
.hk-day li b{color:#fff;font-size:15px;flex:1}
.hk-day li span{color:var(--text-muted);font-size:13px}
@media(max-width:600px){.hk-day li{flex-wrap:wrap}.hk-day li span{width:100%}}

/* Hero primary CTA — Dandelion accent (owner request 2026-09-03) */
.hk-hero .hk-cta{background:var(--accent-warm);color:#2a1e00;box-shadow:0 10px 30px rgba(255,217,96,.28)}
.hk-hero .hk-cta:hover{background:#FFE58A;transform:translateY(-2px)}

/* Hero rotator: logo first, then photos, crossfade */
.hk-hero-logo.hk-rotating{padding:0;overflow:hidden}
.hk-slide{position:absolute;inset:0;margin:0;display:grid;place-items:center;opacity:0;transition:opacity .9s ease;pointer-events:none}
.hk-slide.is-active{opacity:1;pointer-events:auto}
.hk-slide-logo{padding:40px}
.hk-slide-logo img{width:100%;max-width:440px;height:auto;filter:drop-shadow(0 20px 40px rgba(0,0,0,.5))}
.hk-slide-photo img{width:100%;height:100%;max-width:none;object-fit:cover;filter:none}
.hk-slide-photo figcaption{position:absolute;left:20px;right:20px;bottom:18px;font-family:var(--font-heading);font-weight:800;color:#fff;font-size:18px;text-shadow:0 2px 12px rgba(0,0,0,.7)}
@media (prefers-reduced-motion:reduce){.hk-slide{transition:none}}

/* Hero rotator legend */
.hk-dots{position:absolute;left:0;right:0;bottom:14px;display:flex;justify-content:center;gap:8px;z-index:2}
.hk-dot{width:10px;height:10px;border-radius:999px;border:0;padding:0;background:rgba(255,255,255,.35);cursor:pointer;transition:width .25s,background .2s;display:inline-flex;align-items:center;justify-content:center}
.hk-dot:hover{background:rgba(255,255,255,.7)}
.hk-dot.is-active{width:26px;background:var(--shale)}
.hk-dot .hk-dot-logo{font-family:var(--font-heading);font-weight:900;font-size:9px;line-height:1;color:#fff;display:none}
.hk-dot.is-active .hk-dot-logo{display:inline}
.hk-slide-photo figcaption{bottom:34px}

/* ── Hero copy (Scoreboard) ── */
.a-h{font-family:var(--font-heading);font-weight:900;text-transform:uppercase;letter-spacing:-.035em;line-height:.9;color:#fff;font-size:clamp(48px,6.4vw,92px);margin:0}
.a-h small{display:block;font-size:.42em;letter-spacing:-.01em;color:var(--text-primary);font-weight:800;margin-top:14px;text-transform:none}
.a-status{display:flex;align-items:center;gap:10px;margin:26px 0 8px;font-weight:600;color:#fff;flex-wrap:wrap}
.a-status i{width:10px;height:10px;border-radius:50%;background:var(--accent-warm);box-shadow:0 0 0 5px rgba(255,217,96,.2)}
.a-status-detail{color:var(--text-muted);font-weight:400}.a-status-detail:empty{display:none}
.hk-hero-copy p{max-width:52ch;margin:14px 0 28px;font-size:18px}
.hk-hero .hk-btns{align-items:center;gap:22px}
.a-facts{display:grid;grid-template-columns:repeat(3,auto);gap:28px;margin-top:40px;padding-top:22px;border-top:1px solid var(--border)}
.a-facts b{display:block;font-family:var(--font-heading);font-weight:800;color:#fff;font-size:17px}.a-facts span{font-size:13px;color:var(--text-muted)}
@media(max-width:600px){.a-facts{grid-template-columns:1fr 1fr}}

/* Fields page */
.hk-facility{padding:26px;margin-bottom:18px}
.hk-facility-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;flex-wrap:wrap}
.hk-facility .addr{color:var(--text-muted);margin-top:4px}
.hk-facility-actions{display:flex;gap:10px;flex-wrap:wrap}
.hk-facility .meta{margin:16px 0 10px;max-width:70ch}
.hk-facility-tiers{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}
.hk-facility-map img{display:block;width:100%;max-width:560px;border-radius:12px;background:#fff;padding:8px}

.hk-board-card p a{color:#fff;text-decoration:none;font-weight:600}.hk-board-card p a:hover{color:var(--shale)}

/* Form labels readable on dark */
.form-label{color:var(--text-primary)!important;font-weight:600}

/* Nav fit: 7 tabs + Register + Sign In on one line */
.hk-nav{gap:18px}
.hk-nav-links{gap:6px}
.hk-nav-link{font-size:15px;padding:8px 12px;white-space:nowrap}
.hk-nav-actions{gap:10px;flex:none}
.hk-cta{white-space:nowrap;font-size:15px;padding:12px 20px}
.hk-signin{white-space:nowrap}
.hk-social{padding:0 12px}
@media(max-width:1280px){.hk-nav-link{font-size:14px;padding:7px 10px}}
@media(max-width:1180px){.hk-nav-links,.hk-signin{display:none}.hk-hamburger{display:flex}}

/* Sponsor marquee empty state */
.hk-marquee-empty .hk-logo{background:rgba(255,255,255,.06);border:1px dashed rgba(255,255,255,.25)}
.hk-marquee-empty .hk-logo-text{color:var(--text-muted)}

/* SportsEngine sign-in link */
.hk-signin{display:inline-flex;align-items:center;gap:8px;padding:9px 12px;border-radius:10px;border:1px solid var(--border-strong)}
.hk-signin img{height:14px;width:auto;display:block}
.hk-signin:hover{border-color:var(--shale)}
.hk-mobile .hk-signin{font-size:16px;align-self:flex-start}
