/* ===================================================================
   Minnesota Super League — Global Stylesheet (Light Theme)
   =================================================================== */

:root {
  --bg:          #ffffff;
  --bg-warm:     #f5f7fb;
  --surface:     #edf0f7;
  --surface-2:   #e2e6f0;
  --surface-3:   #d6dbe8;
  --card:        #ffffff;
  --card-border: rgba(0,0,0,.08);
  --text:        #111827;
  --text-2:      #4b5563;
  --text-3:      #9ca3af;
  --brand:       #4266a6;
  --brand-light: #5a80c0;
  --brand-dark:  #283f66;
  --brand-glow:  rgba(66,102,166,.15);
  --accent:      #4266a6;
  --gold:        #ca8a04;
  --radius:      16px;
  --radius-sm:   10px;
  --shadow:      0 1px 3px rgba(0,0,0,.06), 0 4px 16px rgba(0,0,0,.04);
  --shadow-lg:   0 4px 24px rgba(0,0,0,.08);
  --transition:  .25s cubic-bezier(.4,0,.2,1);
  --header-h:    96px;
  --container:   1160px;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--text);background:var(--bg);line-height:1.6;overflow-x:hidden}
img,video{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
ul,ol{list-style:none}

/* --- Utilities ----------------------------------------------------- */
.container{width:min(var(--container),92vw);margin:0 auto}
.skip-link{position:absolute;left:-9999px;top:12px;background:var(--brand);color:#fff;padding:8px 12px;border-radius:8px;z-index:9999}
.skip-link:focus{left:12px}

/* --- Header -------------------------------------------------------- */
.site-header{position:sticky;top:0;z-index:1000;height:var(--header-h);border-bottom:1px solid var(--card-border);backdrop-filter:blur(16px) saturate(1.8);-webkit-backdrop-filter:blur(16px) saturate(1.8);background:rgba(255,255,255,.88)}
.header-inner{display:flex;align-items:center;justify-content:space-between;height:var(--header-h)}
.brand{display:flex;align-items:center;gap:.75rem;font-weight:800;font-size:1.15rem;color:var(--text)}
.brand-logo{width:72px;height:72px;border-radius:10px;object-fit:contain}
.brand small{display:block;font-weight:500;font-size:.78rem;color:var(--text-3);letter-spacing:.06em;text-transform:uppercase}

.main-nav{display:flex;align-items:center;gap:.15rem}
.main-nav a{padding:.5rem .75rem;border-radius:var(--radius-sm);font-weight:600;font-size:.88rem;color:var(--text-2);transition:color var(--transition),background var(--transition)}
.main-nav a:hover,.main-nav a.active{color:var(--text);background:var(--surface)}
.nav-cta{background:var(--brand)!important;color:#fff!important;font-weight:700!important}
.nav-cta:hover{background:var(--brand-light)!important}

.menu-toggle{display:none;align-items:center;gap:.4rem;border:1px solid var(--card-border);background:transparent;color:var(--text);border-radius:var(--radius-sm);padding:.5rem .7rem;font:inherit;font-weight:700;font-size:.88rem;cursor:pointer}
.menu-toggle svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round}

/* --- Nav Dropdown -------------------------------------------------- */
.nav-dropdown{position:relative}
.nav-dropdown-toggle{display:inline-flex;align-items:center;gap:.3rem;padding:.5rem .75rem;border:none;background:transparent;border-radius:var(--radius-sm);font:inherit;font-weight:600;font-size:.88rem;color:var(--text-2);cursor:pointer;transition:color var(--transition),background var(--transition)}
.nav-dropdown-toggle:hover{color:var(--text);background:var(--surface)}
.nav-dropdown-menu{display:none;position:absolute;top:100%;left:0;min-width:200px;padding:.5rem 0;background:#fff;border:1px solid var(--card-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);z-index:100}
.nav-dropdown-menu a{display:block;padding:.55rem 1rem;font-size:.88rem;font-weight:500;color:var(--text-2);transition:background var(--transition),color var(--transition)}
.nav-dropdown-menu a:hover{background:var(--surface);color:var(--text)}
.nav-dropdown:hover .nav-dropdown-menu,.nav-dropdown:focus-within .nav-dropdown-menu{display:block}

/* --- Buttons ------------------------------------------------------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;border-radius:var(--radius-sm);border:none;padding:.78rem 1.25rem;font:inherit;font-weight:700;font-size:.92rem;cursor:pointer;transition:all var(--transition)}
.btn-primary{color:#fff;background:var(--brand);box-shadow:0 2px 12px var(--brand-glow)}
.btn-primary:hover{background:var(--brand-light);box-shadow:0 4px 20px var(--brand-glow)}
.btn-outline{border:1.5px solid var(--card-border);color:var(--text);background:transparent}
.btn-outline:hover{border-color:var(--brand);color:var(--brand)}
.btn-lg{padding:.92rem 1.6rem;font-size:1rem;border-radius:var(--radius)}

/* --- Eyebrow / Section Head --------------------------------------- */
.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;font-weight:700;color:var(--brand);margin-bottom:.55rem}
.section-head{max-width:640px;margin-bottom:2.2rem}
.section-head h2{font-size:clamp(1.6rem,2.6vw,2.3rem);line-height:1.18;margin-bottom:.6rem;color:var(--brand-dark)}
.section-head p{color:var(--text-2);font-size:1.05rem}

/* --- Hero ---------------------------------------------------------- */
.hero{position:relative;padding:calc(var(--header-h) + 3rem) 0 5rem;overflow:hidden;min-height:720px;display:flex;align-items:center}
.hero-bg{position:absolute;inset:0;z-index:0}
.hero-bg img{width:100%;height:100%;object-fit:cover;object-position:center top}
.hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.15) 0%,rgba(0,0,0,.45) 55%,rgba(0,0,0,.7) 100%)}
.hero-content{position:relative;z-index:1}
.hero h1{font-size:clamp(2.2rem,4.5vw,3.4rem);line-height:1.1;letter-spacing:-.02em;margin-bottom:1rem;color:#fff}
.hero .lead{color:rgba(255,255,255,.88);font-size:clamp(1rem,1.3vw,1.15rem);max-width:56ch;margin-bottom:1.4rem}
.hero .eyebrow{color:#a8c4e8}
.hero-actions{display:flex;gap:.65rem;flex-wrap:wrap}

/* --- Highlight Cards ----------------------------------------------- */
.highlights{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:-3rem;position:relative;z-index:2}
.hl-card{background:var(--card);border:1px solid var(--card-border);border-radius:var(--radius);padding:1.3rem;text-align:center;box-shadow:var(--shadow);transition:transform var(--transition),box-shadow var(--transition)}
.hl-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.hl-number{font-size:1.9rem;font-weight:800;color:var(--brand);line-height:1}
.hl-label{color:var(--text-3);font-size:.82rem;margin-top:.35rem}

/* --- Section ------------------------------------------------------- */
.section{padding:4.5rem 0}
.section-alt{background:var(--bg-warm)}
.section-dark{background:var(--surface);border-top:1px solid var(--card-border);border-bottom:1px solid var(--card-border)}

/* --- Split (Image + Text) ------------------------------------------ */
.split{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;align-items:center}
.split-img{border-radius:var(--radius);overflow:hidden;aspect-ratio:4/3;background:var(--surface);border:1px solid var(--card-border)}
.split-img img{width:100%;height:100%;object-fit:cover}
.split-body h2{font-size:clamp(1.5rem,2.4vw,2.1rem);line-height:1.18;margin-bottom:.7rem;color:var(--brand-dark)}
.split-body p{color:var(--text-2);margin-bottom:.7rem}

/* --- Cards --------------------------------------------------------- */
.card{background:var(--card);border:1px solid var(--card-border);border-radius:var(--radius);padding:1.4rem;box-shadow:var(--shadow);transition:transform var(--transition),box-shadow var(--transition)}
.card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}
.card h3{margin-bottom:.5rem}
.card p,.card li{color:var(--text-2)}
.card ul{padding-left:1.1rem;list-style:disc}
.card li{margin:.35rem 0}
.card-img{border-radius:var(--radius-sm);overflow:hidden;margin-bottom:1rem;aspect-ratio:16/9;background:var(--surface);border:1px solid var(--card-border)}
.card-img img{width:100%;height:100%;object-fit:cover}

.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}

/* --- Tiers --------------------------------------------------------- */
.tier{position:relative;overflow:hidden}
.tier-badge{display:inline-block;padding:.3rem .65rem;border-radius:6px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;margin-bottom:.7rem}
.tier-champions .tier-badge{background:rgba(66,102,166,.12);color:#4266a6}
.tier-national  .tier-badge{background:rgba(40,63,102,.1);color:#283f66}
.tier-regional  .tier-badge{background:rgba(90,128,192,.1);color:#5a80c0}

/* --- Movement Diagram --------------------------------------------- */
.movement-diagram{display:grid;grid-template-columns:1fr auto 1fr;gap:.8rem;align-items:center;padding:1.6rem;border-radius:var(--radius);background:var(--card);border:1px solid var(--card-border);box-shadow:var(--shadow)}
.movement-col{display:flex;flex-direction:column;gap:.45rem}
.movement-arrow{display:flex;flex-direction:column;align-items:center;gap:.3rem;color:var(--brand);font-size:.78rem;font-weight:700}
.movement-arrow svg{width:28px;height:28px;stroke:var(--brand);fill:none;stroke-width:2}

/* --- Revenue Bars -------------------------------------------------- */
.bar-group{display:grid;gap:.7rem}
.bar-row{display:flex;justify-content:space-between;font-size:.9rem;color:var(--text-2)}
.bar-track{width:100%;height:10px;background:var(--surface);border-radius:999px;overflow:hidden}
.bar-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#5a80c0,#283f66)}

/* --- Savings Table ------------------------------------------------- */
.savings-table{width:100%;border-collapse:collapse;background:var(--card);border:1px solid var(--card-border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}
.savings-table th,.savings-table td{padding:1.1rem 1.4rem;text-align:left;font-size:.95rem;border-bottom:1px solid var(--card-border)}
.savings-table thead th{background:var(--brand-dark);color:#fff;font-weight:700;font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;border-bottom:none}
.savings-table tbody tr:last-child td{border-bottom:none}
.savings-table tbody tr:hover{background:var(--bg-warm)}
.savings-table tbody td{color:var(--text-2)}
.savings-badge{display:inline-block;background:linear-gradient(135deg,#0d9488,#14b8a6);color:#fff;font-weight:700;font-size:.85rem;padding:.35rem .75rem;border-radius:999px;white-space:nowrap}

/* --- Timeline ------------------------------------------------------ */
.timeline-v{position:relative;padding-left:2rem}
.timeline-v::before{content:"";position:absolute;left:.55rem;top:0;bottom:0;width:2px;background:var(--surface-2)}
.tl-item{position:relative;padding-bottom:2rem}
.tl-item::before{content:"";position:absolute;left:-1.45rem;top:.35rem;width:12px;height:12px;border-radius:50%;background:var(--brand);border:2px solid var(--bg)}
.tl-item h3{font-size:1rem;margin-bottom:.25rem}
.tl-item p{color:var(--text-2);font-size:.92rem}

/* --- Contact Form -------------------------------------------------- */
.contact-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:2.5rem;align-items:start}
.form{display:grid;gap:.8rem;background:var(--card);border:1px solid var(--card-border);border-radius:var(--radius);padding:1.6rem;box-shadow:var(--shadow)}
.form label{display:grid;gap:.3rem;color:var(--text-2);font-size:.88rem;font-weight:600}
.form input,.form textarea,.form select{width:100%;border:1px solid var(--card-border);border-radius:var(--radius-sm);background:var(--bg);color:var(--text);padding:.68rem .8rem;font:inherit;transition:border-color var(--transition)}
.form input:focus,.form textarea:focus,.form select:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-glow)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}
.form-success{margin:0;color:var(--brand);min-height:1.3rem;font-weight:600}

/* --- CTA Banner ---------------------------------------------------- */
.cta-banner{padding:5rem 0;background:var(--brand);border:none}
.cta-banner h2{font-size:clamp(1.8rem,3vw,2.6rem);color:#fff;margin-bottom:.7rem}
.cta-banner p{color:rgba(255,255,255,.85);font-size:1.05rem;max-width:52ch;margin:0 auto .8rem}
.btn-cta{background:var(--brand-dark);color:#fff;border:none}
.btn-cta:hover{background:#1d2d49}
.cta-contact{margin-top:1.2rem!important;font-size:.92rem!important;color:rgba(255,255,255,.7)!important}
.cta-contact a{color:#fff;text-decoration:underline;font-weight:600}

/* --- Footer -------------------------------------------------------- */
.site-footer{border-top:1px solid var(--card-border);padding:2.5rem 0;background:var(--bg-warm)}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:2rem}
.footer-brand{display:flex;align-items:center;gap:.6rem;margin-bottom:.7rem;font-weight:800}
.footer-brand img{width:72px;height:72px;border-radius:8px}
.footer-col h4{font-size:.82rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-3);margin-bottom:.55rem}
.footer-col a{display:block;padding:.25rem 0;color:var(--text-2);font-size:.9rem;transition:color var(--transition)}
.footer-col a:hover{color:var(--brand)}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:2rem;padding-top:1.2rem;border-top:1px solid var(--card-border);color:var(--text-3);font-size:.82rem}
.footer-bottom a{color:var(--brand);font-weight:600}

/* --- Dark Footer Variant ------------------------------------------- */
.site-footer-dark{background:#1a2744;border-top:none;color:#fff}
.site-footer-dark .footer-brand{color:#fff}
.site-footer-dark .footer-col h4{color:rgba(255,255,255,.4)}
.site-footer-dark .footer-col a{color:rgba(255,255,255,.65)}
.site-footer-dark .footer-col a:hover{color:#fff}
.site-footer-dark .footer-bottom{border-top-color:rgba(255,255,255,.1);color:rgba(255,255,255,.35)}
.site-footer-dark .footer-bottom a{color:var(--brand-light)}

/* --- Page Header (inner pages) ------------------------------------- */
.page-header{position:relative;padding:calc(var(--header-h) + 2.5rem) 0 3rem;overflow:hidden;min-height:340px;display:flex;align-items:flex-end}
.page-header .hero-bg::after{background:linear-gradient(180deg,rgba(0,0,0,.1) 0%,rgba(0,0,0,.5) 60%,rgba(0,0,0,.75) 100%)}
.page-header-content{position:relative;z-index:1}
.page-header h1{font-size:clamp(1.8rem,3.5vw,2.6rem);margin-bottom:.5rem;color:#fff}
.page-header .lead{color:rgba(255,255,255,.85)}
.page-header .eyebrow{color:#a8c4e8}

/* --- Copa Features (modern grid) ----------------------------------- */
.copa-features{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.copa-feature{position:relative;background:var(--card);border:1px solid var(--card-border);border-radius:var(--radius);padding:1.8rem 1.5rem 1.5rem;text-align:center;overflow:hidden;transition:transform var(--transition),box-shadow var(--transition)}
.copa-feature::before{content:"";position:absolute;top:0;left:0;right:0;height:4px}
.copa-feature:nth-child(1)::before{background:linear-gradient(90deg,#4266a6,#5a80c0)}
.copa-feature:nth-child(2)::before{background:linear-gradient(90deg,#283f66,#4266a6)}
.copa-feature:nth-child(3)::before{background:linear-gradient(90deg,#5a80c0,#7fa3d9)}
.copa-feature:nth-child(4)::before{background:linear-gradient(90deg,#ca8a04,#e5a91a)}
.copa-feature:nth-child(5)::before{background:linear-gradient(90deg,#2563eb,#60a5fa)}
.copa-feature:nth-child(6)::before{background:linear-gradient(90deg,#0d9488,#5eead4)}
.copa-feature:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.copa-feature h3{font-size:1.05rem;margin-bottom:.4rem}
.copa-feature p{color:var(--text-2);font-size:.92rem;line-height:1.55}

/* --- Responsive ---------------------------------------------------- */
@media(max-width:1024px){
  .highlights{grid-template-columns:repeat(2,1fr)}
  .grid-3,.grid-4{grid-template-columns:repeat(2,1fr)}
  .copa-features{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:768px){
  .split,.contact-grid{grid-template-columns:1fr}
  .grid-2,.grid-3,.grid-4,.highlights{grid-template-columns:1fr}
  .copa-features{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
  .hero{min-height:480px;padding-top:calc(var(--header-h) + 1rem);padding-bottom:2.5rem}
  .page-header{min-height:260px}
  .movement-diagram{grid-template-columns:1fr}
  .menu-toggle{display:inline-flex}
  .main-nav{position:fixed;top:var(--header-h);left:0;right:0;bottom:0;background:rgba(255,255,255,.97);backdrop-filter:blur(16px);flex-direction:column;padding:1.5rem 1.2rem;gap:.25rem;display:none;z-index:999}
  .main-nav.open{display:flex}
  .main-nav a{padding:.75rem .8rem;font-size:1rem}
}
