  :root{
    --black:#0a0a0a;
    --near-black:#111113;
    --red:#e2192b;
    --red-dark:#a3121f;
    --white:#ffffff;
    --off-white:#f4f4f2;
    --gray:#8a8a8f;
    --font-display:'Arial Black', Impact, Haettenschweiler, 'Franklin Gothic Bold', sans-serif;
    --font-body: system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  }

  *,*::before,*::after{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;
    font-family:var(--font-body);
    background:var(--off-white);
    color:var(--black);
    line-height:1.6;
    overflow-x:hidden;
  }
  img{max-width:100%;display:block;}
  a{color:inherit;}
  .container{
    width:100%;
    max-width:1180px;
    margin:0 auto;
    padding:0 1.5rem;
  }
  h1,h2,h3,h4{
    font-family:var(--font-display);
    text-transform:uppercase;
    letter-spacing:0.04em;
    line-height:1.05;
    margin:0 0 1rem;
  }
  .eyebrow{
    font-family:var(--font-body);
    font-weight:800;
    letter-spacing:0.3em;
    text-transform:uppercase;
    font-size:0.8rem;
    color:var(--red);
    display:inline-flex;
    align-items:center;
    gap:0.6rem;
  }
  .eyebrow::before{
    content:"";
    width:28px;
    height:3px;
    background:var(--red);
    display:inline-block;
  }
  .btn{
    display:inline-block;
    font-family:var(--font-display);
    text-transform:uppercase;
    letter-spacing:0.08em;
    font-size:0.95rem;
    padding:0.95rem 2rem;
    border-radius:2px;
    border:2px solid var(--red);
    background:var(--red);
    color:var(--white);
    cursor:pointer;
    text-decoration:none;
    transition:transform .15s ease, background .15s ease, color .15s ease;
  }
  .btn:hover{transform:translateY(-2px);}
  .btn-outline{
    background:transparent;
    color:var(--white);
    border-color:var(--white);
  }
  .btn-outline:hover{
    background:var(--white);
    color:var(--black);
  }
  .btn-dark-outline{
    background:transparent;
    color:var(--black);
    border-color:var(--black);
  }
  .btn-dark-outline:hover{
    background:var(--black);
    color:var(--white);
  }

  /* ============ STAR SVG helper classes ============ */
  .star-motif{position:absolute;opacity:0.9;pointer-events:none;}

  /* ============ NAV ============ */
  header{
    position:sticky;
    top:0;
    z-index:100;
    background:var(--black);
    border-bottom:3px solid var(--red);
  }
  .nav-inner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:0.6rem 1.5rem;
  }
  .nav-brand{
    display:flex;
    align-items:center;
    gap:0.75rem;
    text-decoration:none;
  }
  .nav-logo-plate{
    background:var(--white);
    border-radius:8px;
    padding:4px 8px;
    display:flex;
    align-items:center;
    box-shadow:0 0 0 2px var(--red);
  }
  .nav-logo-plate img{
    height:38px;
    width:auto;
    display:block;
  }
  .nav-brand-text{
    font-family:var(--font-display);
    color:var(--white);
    font-size:1rem;
    letter-spacing:0.05em;
    text-transform:uppercase;
  }
  .nav-brand-text span{color:var(--red);}
  nav.main-nav ul{
    list-style:none;
    display:flex;
    gap:2rem;
    margin:0;
    padding:0;
  }
  nav.main-nav a{
    text-decoration:none;
    color:var(--white);
    font-family:var(--font-display);
    text-transform:uppercase;
    font-size:0.85rem;
    letter-spacing:0.08em;
    padding:0.5rem 0;
    border-bottom:2px solid transparent;
    transition:border-color .15s ease, color .15s ease;
  }
  nav.main-nav a:hover{
    color:var(--red);
    border-bottom-color:var(--red);
  }
  .nav-cta{
    display:flex;
    align-items:center;
    gap:1.5rem;
  }
  .nav-toggle{
    display:none;
    background:none;
    border:2px solid var(--white);
    border-radius:4px;
    width:44px;
    height:44px;
    color:var(--white);
    font-size:1.4rem;
    cursor:pointer;
    align-items:center;
    justify-content:center;
  }

  .mobile-sponsor-item{ display:none; }
  @media (max-width:900px){
    nav.main-nav{
      position:absolute;
      top:100%;
      left:0;
      right:0;
      background:var(--black);
      border-bottom:3px solid var(--red);
      max-height:0;
      overflow:hidden;
      transition:max-height .25s ease;
    }
    nav.main-nav.open{max-height:400px;}
    nav.main-nav ul{
      flex-direction:column;
      gap:0;
      padding:1rem 1.5rem 1.5rem;
    }
    nav.main-nav a{
      display:block;
      padding:0.85rem 0;
      border-bottom:1px solid rgba(255,255,255,0.1);
    }
    .nav-cta .btn{display:none;}
    .nav-toggle{display:flex;}
    .mobile-sponsor-item{ display:list-item; }
    .mobile-sponsor-item button{
      display:block;
      width:100%;
      text-align:left;
      background:none;
      border:none;
      border-bottom:1px solid rgba(255,255,255,0.1);
      padding:0.85rem 0;
      font-family:var(--font-display);
      text-transform:uppercase;
      letter-spacing:0.05em;
      font-size:1rem;
      color:var(--red);
      cursor:pointer;
    }
  }

  /* ============ HERO ============ */
  .hero{
    position:relative;
    background:radial-gradient(ellipse 60% 55% at 50% 38%, rgba(226,25,43,0.35), rgba(226,25,43,0) 70%), var(--black);
    color:var(--white);
    padding:5rem 0 8rem;
    overflow:hidden;
  }
  .hero::before{
    content:"";
    position:absolute;
    top:-20%;
    left:50%;
    width:900px;
    height:900px;
    max-width:200vw;
    transform:translateX(-50%);
    background:radial-gradient(circle, rgba(226,25,43,0.45) 0%, rgba(226,25,43,0.12) 45%, transparent 70%);
    filter:blur(10px);
    z-index:0;
  }
  .hero-inner{
    position:relative;
    z-index:2;
    display:flex;
    flex-direction:column;
    align-items:center;
    text-align:center;
    gap:1.75rem;
  }
  .hero-logo-plate{
    background:var(--white);
    border-radius:16px;
    padding:1.1rem 1.5rem;
    box-shadow:0 0 0 3px var(--red), 0 25px 60px rgba(0,0,0,0.5);
  }
  .hero-logo-plate img{
    height:110px;
    width:auto;
  }
  .hero h1{
    font-size:clamp(2.4rem, 6vw, 4.6rem);
    letter-spacing:0.02em;
    max-width:16ch;
  }
  .hero h1 .accent{color:var(--red);}
  .hero p.lead{
    max-width:52ch;
    font-size:1.15rem;
    color:#d8d8db;
  }
  .hero-actions{
    display:flex;
    gap:1rem;
    flex-wrap:wrap;
    justify-content:center;
    margin-top:0.5rem;
  }
  .hero-stats{
    display:flex;
    gap:2.5rem;
    flex-wrap:wrap;
    justify-content:center;
    margin-top:2.5rem;
  }
  .hero-stat{
    text-align:center;
  }
  .hero-stat strong{
    display:block;
    font-family:var(--font-display);
    font-size:2.2rem;
    color:var(--red);
  }
  .hero-stat span{
    font-size:0.78rem;
    letter-spacing:0.12em;
    text-transform:uppercase;
    color:#aaa;
  }
  .hero-social{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:1rem;
    margin-top:2.25rem;
  }
  .hero-social-label{
    font-family:var(--font-display);
    font-size:0.85rem;
    letter-spacing:0.08em;
    text-transform:uppercase;
    color:var(--white);
    margin-right:0.25rem;
  }
  .social-icon-link.social-icon-link-lg{
    width:68px;
    height:68px;
  }
  .social-icon-link-lg svg{width:34px; height:34px;}

  /* star motifs in hero */
  .hero .star-motif svg{width:100%;height:100%;}
  .star-a{top:8%; left:6%; width:34px; height:34px; opacity:0.5;}
  .star-b{top:18%; right:8%; width:22px; height:22px; opacity:0.35;}
  .star-c{bottom:14%; left:12%; width:18px; height:18px; opacity:0.3;}
  .star-d{bottom:22%; right:14%; width:28px; height:28px; opacity:0.4;}

  /* diagonal divider under hero */
  .diagonal-divider{
    position:relative;
    height:70px;
    background:var(--off-white);
  }
  .diagonal-divider::before{
    content:"";
    position:absolute;
    inset:0;
    background:var(--black);
    clip-path:polygon(0 0, 100% 0, 100% 35%, 0 100%);
  }
  .diagonal-divider.flip::before{
    clip-path:polygon(0 0, 100% 0, 100% 100%, 0 35%);
  }

  /* ============ SECTION SHELLS ============ */
  section{
    padding:5.5rem 0;
    position:relative;
  }
  .section-dark{
    background:var(--black);
    color:var(--white);
  }
  .section-head{
    text-align:center;
    max-width:640px;
    margin:0 auto 3rem;
  }
  .section-head h2{
    font-size:clamp(1.9rem, 4.2vw, 2.8rem);
  }
  .section-head p{
    color:var(--gray);
    font-size:1.05rem;
  }
  .section-dark .section-head p{color:#c6c6ca;}

  /* ============ STORY / PULL-QUOTE ============ */
  .story-section{ padding:4rem 0; }
  .story-quote-wrap{ max-width:760px; margin:0 auto; text-align:center; }
  .story-quote-wrap .eyebrow{ margin-bottom:1.5rem; }
  .quote-mark{ width:40px; height:auto; color:var(--red); opacity:0.85; margin-bottom:1rem; }
  .story-quote{
    font-family:var(--font-display);
    font-size:clamp(1.4rem, 3.2vw, 2rem);
    line-height:1.3;
    color:var(--white);
    font-style:italic;
    margin:0 0 1.25rem;
    letter-spacing:0.01em;
  }
  .story-attribution{
    font-size:0.85rem;
    letter-spacing:0.1em;
    text-transform:uppercase;
    color:#9a9a9e;
    margin:0;
  }

  /* ============ ABOUT ============ */
  .about-grid{
    display:grid;
    grid-template-columns:1.1fr 0.9fr;
    gap:3rem;
    align-items:center;
  }
  .about-copy p{
    font-size:1.05rem;
    color:#333;
  }
  .about-copy p strong{color:var(--red);}
  .fact-card{
    background:var(--black);
    color:var(--white);
    border-radius:10px;
    padding:2.25rem;
    position:relative;
    overflow:hidden;
    border-top:6px solid var(--red);
  }
  .fact-card::after{
    content:"";
    position:absolute;
    width:220px;
    height:220px;
    right:-70px;
    bottom:-70px;
    background:radial-gradient(circle, rgba(226,25,43,0.35), transparent 70%);
  }
  .fact-list{
    list-style:none;
    margin:0;
    padding:0;
    display:flex;
    flex-direction:column;
    gap:1.4rem;
    position:relative;
    z-index:1;
  }
  .fact-list li{
    display:flex;
    align-items:flex-start;
    gap:1rem;
  }
  .fact-num{
    font-family:var(--font-display);
    font-size:1.8rem;
    color:var(--red);
    min-width:2.4ch;
  }
  .fact-text small{
    display:block;
    text-transform:uppercase;
    letter-spacing:0.1em;
    color:#9a9a9e;
    font-size:0.72rem;
    margin-top:0.15rem;
  }

  @media (max-width:860px){
    .about-grid{grid-template-columns:1fr;}
  }

  /* ============ BEYOND THE BELT ============ */
  .beyond-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(230px, 1fr));
    gap:1.75rem;
  }
  .beyond-card{
    background:var(--white);
    border-radius:10px;
    padding:1.75rem;
    border-top:4px solid var(--red);
    box-shadow:0 8px 24px rgba(0,0,0,0.06);
  }
  .beyond-card h3{
    font-family:var(--font-display);
    text-transform:uppercase;
    letter-spacing:0.03em;
    font-size:1.05rem;
    color:var(--black);
    margin:0 0 0.6rem;
  }
  .beyond-card p{
    font-size:0.92rem;
    color:#444;
    margin:0;
    line-height:1.6;
  }

  /* ============ MOMENTS ============ */
  .moments-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(240px, 1fr));
    gap:1.75rem;
  }
  .moment-card{
    background:var(--near-black);
    border-radius:10px;
    padding:1.75rem;
    border-top:4px solid var(--red);
  }
  .moment-card h3{
    font-family:var(--font-display);
    text-transform:uppercase;
    letter-spacing:0.03em;
    font-size:1.1rem;
    color:var(--white);
    margin:0 0 0.65rem;
  }
  .moment-card p{
    font-size:0.92rem;
    color:#c6c6ca;
    margin:0;
    line-height:1.6;
  }

  /* ============ ENROLLMENT CTA ============ */
  .enroll-grid{
    display:grid;
    grid-template-columns:0.9fr 1.1fr;
    gap:3rem;
    align-items:center;
  }
  .enroll-stat-card{
    background:var(--black);
    color:var(--white);
    border-radius:10px;
    padding:2.5rem 2rem;
    text-align:center;
    border-top:6px solid var(--red);
    position:relative;
    overflow:hidden;
  }
  .enroll-stat-card::after{
    content:"";
    position:absolute;
    width:220px;
    height:220px;
    right:-70px;
    bottom:-70px;
    background:radial-gradient(circle, rgba(226,25,43,0.35), transparent 70%);
  }
  .enroll-stat-figure{
    display:block;
    font-family:var(--font-display);
    font-size:clamp(2.4rem, 6vw, 3.4rem);
    color:var(--red);
    position:relative;
    z-index:1;
  }
  .enroll-stat-copy{
    display:block;
    font-size:0.95rem;
    letter-spacing:0.02em;
    color:#d8d8db;
    margin-top:0.5rem;
    position:relative;
    z-index:1;
  }
  .enroll-copy p{
    font-size:1.05rem;
    color:#333;
    margin:0 0 1.25rem;
  }
  .enroll-list{
    list-style:none;
    margin:0 0 1.75rem;
    padding:0;
    display:flex;
    flex-direction:column;
    gap:0.75rem;
  }
  .enroll-list li{
    display:flex;
    gap:0.65rem;
    align-items:flex-start;
    font-size:0.98rem;
    color:#333;
  }
  /* On a dark section (e.g. "What Your Enrollment Includes"), the default
     near-black copy color above is unreadable against the black
     background -- lighten it there without touching the light-background
     usage (e.g. "More Than Fundraising"). */
  .section-dark .enroll-copy p,
  .section-dark .enroll-list li{
    color:#d8d8db;
  }
  .enroll-list li::before{
    content:"";
    min-width:8px;
    height:8px;
    margin-top:0.5rem;
    background:var(--red);
    display:inline-block;
    transform:rotate(45deg);
  }
  @media (max-width:860px){
    .enroll-grid{grid-template-columns:1fr;}
  }

  /* ============ SPONSORSHIP HOOK / STORY / BEFORE-AFTER ============ */
  .sponsorship-hook{
    font-size:1.2rem !important;
    color:#e4e4e7 !important;
    max-width:640px;
  }
  .sponsorship-story{
    max-width:720px;
    margin:0 auto 3rem;
    text-align:center;
    font-size:1.08rem;
    line-height:1.65;
    color:#d8d8db;
  }
  .before-after-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:1.5rem;
    margin-bottom:3.5rem;
  }
  .ba-card{
    border-radius:10px;
    padding:1.75rem;
  }
  .ba-card.before-card{
    background:rgba(255,255,255,0.03);
    border:1px solid rgba(255,255,255,0.1);
  }
  .ba-card.after-card{
    background:rgba(226,25,43,0.12);
    border:1px solid rgba(226,25,43,0.4);
  }
  .ba-label{
    display:inline-block;
    font-family:var(--font-display);
    text-transform:uppercase;
    letter-spacing:0.08em;
    font-size:0.75rem;
    color:var(--red);
    margin-bottom:0.65rem;
  }
  .ba-card p{
    margin:0;
    font-size:0.95rem;
    line-height:1.6;
    color:#dcdce0;
  }
  @media (max-width:700px){
    .before-after-grid{grid-template-columns:1fr;}
  }

  /* ============ SPONSORSHIP OUTCOMES ============ */
  .outcomes-block{ margin-bottom:3.5rem; }
  .outcomes-heading{
    font-family:var(--font-display);
    text-transform:uppercase;
    letter-spacing:0.03em;
    font-size:1.1rem;
    color:var(--white);
    text-align:center;
    margin:0 0 1.5rem;
  }
  .outcomes-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));
    gap:1.25rem;
  }
  .outcome-item{
    background:rgba(255,255,255,0.04);
    border:1px solid rgba(255,255,255,0.12);
    border-radius:8px;
    padding:1.1rem 1.25rem;
    display:flex;
    align-items:baseline;
    gap:0.75rem;
  }
  .outcome-item strong{
    font-family:var(--font-display);
    color:var(--red);
    font-size:1.2rem;
    white-space:nowrap;
  }
  .outcome-item span{
    font-size:0.88rem;
    color:#c6c6ca;
  }

  /* ============ OUR SPONSORS ============ */
  .sponsors-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(240px, 1fr));
    gap:1.75rem;
    margin-bottom:1.5rem;
  }
  .sponsor-card{
    background:var(--white);
    border-radius:10px;
    padding:1.75rem;
    border-top:4px solid var(--red);
    box-shadow:0 8px 24px rgba(0,0,0,0.06);
    text-align:center;
  }
  .sponsor-logo{
    width:100px;
    height:100px;
    margin:0 auto 1rem;
    border-radius:8px;
    background:#f3f3f4;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
  }
  .sponsor-logo img{
    width:100%;
    height:100%;
    object-fit:contain;
    padding:0.5rem;
  }
  .sponsor-logo.logo-missing::before{
    content:"Logo";
    font-size:0.75rem;
    color:var(--gray);
  }
  .sponsor-name{
    font-family:var(--font-display);
    text-transform:uppercase;
    letter-spacing:0.03em;
    font-size:1.05rem;
    color:var(--black);
    margin:0 0 0.5rem;
  }
  .sponsor-name a{
    color:inherit;
    text-decoration:none;
  }
  .sponsor-name a:hover{
    color:var(--red);
    text-decoration:underline;
  }
  .sponsor-tier{
    display:inline-block;
    font-size:0.72rem;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:0.03em;
    color:var(--red);
    background:rgba(226,25,43,0.08);
    border-radius:20px;
    padding:0.3rem 0.85rem;
    margin-bottom:0.85rem;
  }
  .sponsor-blurb{
    font-size:0.9rem;
    color:#444;
    line-height:1.6;
    margin:0;
  }
  .sponsors-empty{
    text-align:center;
    color:var(--gray);
    font-size:0.95rem;
    max-width:520px;
    margin:0 auto;
  }

  /* ============ SPONSORSHIP CTA REINFORCEMENT ============ */
  .sponsorship-cta-block{
    text-align:center;
    max-width:680px;
    margin:3rem auto 0;
  }
  .sponsorship-cta-block p{
    font-size:1.02rem;
    color:#d8d8db;
    line-height:1.6;
    margin:0 0 1.5rem;
  }
  .cta-buttons-row{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:1rem;
    flex-wrap:wrap;
  }

  /* ============ WHY SPONSOR ============ */
  .why-sponsor-heading{
    font-family:var(--font-display);
    text-transform:uppercase;
    letter-spacing:0.03em;
    font-size:1.1rem;
    color:var(--white);
    text-align:center;
    margin:0 0 0.5rem;
  }
  .why-sponsor-intro{
    text-align:center;
    color:#9a9a9e;
    font-size:0.92rem;
    margin:0 0 1.5rem;
  }
  .why-sponsor-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));
    gap:1.5rem;
    margin-bottom:3.5rem;
  }
  .why-card{
    background:rgba(255,255,255,0.04);
    border:1px solid rgba(255,255,255,0.12);
    border-radius:10px;
    padding:1.5rem;
    display:flex;
    flex-direction:column;
    gap:0.6rem;
  }
  .why-card .why-num{
    font-family:var(--font-display);
    font-size:1.3rem;
    color:var(--red);
  }
  .why-card h3{
    font-family:var(--font-display);
    text-transform:uppercase;
    letter-spacing:0.03em;
    font-size:1rem;
    color:var(--white);
    margin:0;
  }
  .why-card p{
    font-size:0.88rem;
    color:#c6c6ca;
    margin:0;
    line-height:1.55;
  }

  /* ============ SPONSORSHIP TIERS ============ */
  .tiers-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(260px, 1fr));
    gap:1.75rem;
  }
  .tier-card{
    background:var(--white);
    color:var(--black);
    border-radius:10px;
    padding:2rem 1.75rem 1.75rem;
    position:relative;
    box-shadow:0 10px 30px rgba(0,0,0,0.07);
    border-top:8px solid var(--tier-color, var(--red));
    display:flex;
    flex-direction:column;
    gap:1.1rem;
  }
  .tier-card.featured{
    background:var(--black);
    color:var(--white);
    transform:scale(1.03);
    box-shadow:0 20px 45px rgba(0,0,0,0.35);
  }
  .tier-card .ribbon{
    position:absolute;
    top:-1px;
    right:1.4rem;
    background:var(--tier-color, var(--red));
    color:var(--white);
    font-family:var(--font-display);
    font-size:0.68rem;
    letter-spacing:0.08em;
    padding:0.35rem 0.8rem 0.5rem;
    border-radius:0 0 6px 6px;
    text-transform:uppercase;
  }
  .tier-belt{
    display:flex;
    align-items:center;
    gap:0.6rem;
  }
  .belt-stripe{
    width:34px;
    height:10px;
    border-radius:2px;
    background:var(--tier-color, var(--red));
  }
  .tier-name{
    font-family:var(--font-display);
    text-transform:uppercase;
    font-size:1.15rem;
    letter-spacing:0.03em;
  }
  .tier-price{
    font-family:var(--font-display);
    font-size:2.1rem;
    color:var(--red);
  }
  .tier-card.featured .tier-price{color:#ff4d5e;}
  .tier-price span{
    font-family:var(--font-body);
    font-size:0.85rem;
    color:var(--gray);
    font-weight:400;
  }
  .tier-card ul{
    list-style:none;
    margin:0;
    padding:0;
    display:flex;
    flex-direction:column;
    gap:0.65rem;
    font-size:0.92rem;
    flex-grow:1;
  }
  .tier-card ul li{
    display:flex;
    gap:0.55rem;
    align-items:flex-start;
  }
  .tier-card ul li::before{
    content:"";
    min-width:8px;
    height:8px;
    margin-top:0.4rem;
    background:var(--tier-color, var(--red));
    display:inline-block;
    transform:rotate(45deg);
  }
  .tier-card.featured ul li{color:#e4e4e7;}
  .tiers-footnote{
    text-align:center;
    color:var(--gray);
    font-size:0.85rem;
    margin-top:2.5rem;
  }

  /* ============ GIVE / DONATE ============ */
  .give-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:2.5rem;
  }
  .give-card{
    background:var(--white);
    color:var(--black);
    border-radius:10px;
    padding:2.25rem;
    border-top:6px solid var(--red);
    box-shadow:0 10px 30px rgba(0,0,0,0.3);
  }
  .give-card h3{
    font-size:1.3rem;
  }
  .give-card p{color:#333;}
  .qr-wrap{
    display:flex;
    align-items:center;
    gap:1.5rem;
    margin-top:1.25rem;
    flex-wrap:wrap;
  }
  .qr-frame{
    background:var(--white);
    border:3px solid var(--black);
    border-radius:8px;
    padding:0.6rem;
    width:140px;
  }
  .qr-frame img{width:100%;height:auto;}
  .give-fine-print{
    grid-column:1 / -1;
    font-size:0.85rem;
    color:#c6c6ca;
    text-align:center;
    border-top:1px solid rgba(255,255,255,0.15);
    padding-top:1.75rem;
    margin-top:0.5rem;
  }
  @media (max-width:800px){
    .give-grid{grid-template-columns:1fr;}
  }

  /* ============ SPONSORSHIP INQUIRY FORM ============ */
  .form-shell{
    background:var(--white);
    border-radius:12px;
    padding:2.5rem;
    box-shadow:0 20px 50px rgba(0,0,0,0.08);
    border-top:8px solid var(--red);
  }
  .form-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:1.4rem;
  }
  .form-grid .full{grid-column:1 / -1;}
  .field label{
    display:block;
    font-family:var(--font-display);
    font-size:0.78rem;
    letter-spacing:0.06em;
    text-transform:uppercase;
    margin-bottom:0.4rem;
    color:#333;
  }
  .field input, .field select, .field textarea{
    width:100%;
    padding:0.75rem 0.9rem;
    border:2px solid #ddd;
    border-radius:6px;
    font-family:var(--font-body);
    font-size:0.95rem;
    background:var(--off-white);
    transition:border-color .15s ease;
  }
  .field input:focus, .field select:focus, .field textarea:focus{
    outline:none;
    border-color:var(--red);
  }
  .form-note{
    font-size:0.85rem;
    color:var(--gray);
    margin-top:1.5rem;
  }
  .form-status{
    display:none;
    font-size:0.9rem;
    margin-top:1.5rem;
    padding:0.85rem 1rem;
    border-radius:6px;
    line-height:1.5;
  }
  .form-status.visible{ display:block; }
  .form-status.sending{ background:#f3f3f4; color:#555; }
  .form-status.success{ background:rgba(34,150,90,0.1); color:#1c7a48; border:1px solid rgba(34,150,90,0.3); }
  .form-status.error{ background:rgba(226,25,43,0.08); color:var(--red); border:1px solid rgba(226,25,43,0.3); }
  .form-submit-row{
    margin-top:1.75rem;
    display:flex;
    align-items:center;
    gap:1.25rem;
    flex-wrap:wrap;
  }
  @media (max-width:700px){
    .form-grid{grid-template-columns:1fr;}
  }

  /* ============ CONTACT / FOOTER ============ */
  footer{
    background:var(--black);
    color:#c9c9cd;
    padding:4.5rem 0 2rem;
    position:relative;
  }
  .footer-grid{
    display:grid;
    grid-template-columns:1.2fr 1fr 1fr;
    gap:2.5rem;
    padding-bottom:2.5rem;
    border-bottom:1px solid rgba(255,255,255,0.12);
  }
  .footer-brand{
    display:flex;
    align-items:center;
    gap:0.85rem;
    margin-bottom:1rem;
  }
  .footer-brand .nav-logo-plate img{height:44px;}
  footer h4{
    color:var(--white);
    font-size:0.95rem;
    letter-spacing:0.08em;
  }
  footer p, footer address{
    font-style:normal;
    font-size:0.92rem;
    line-height:1.7;
    margin:0 0 0.5rem;
  }
  footer a{
    text-decoration:none;
    color:#e6e6e9;
  }
  footer a:hover{color:var(--red);}
  .footer-social{
    display:flex;
    gap:0.65rem;
    margin:0.9rem 0 0.25rem;
  }
  .social-icon-link{
    width:40px;
    height:40px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    background:rgba(255,255,255,0.08);
    color:#fff;
    transition:background .15s ease, transform .15s ease;
  }
  .social-icon-link:hover{
    background:var(--red);
    color:#fff;
    transform:translateY(-2px);
  }
  .social-icon-link svg{width:20px; height:20px; display:block;}
  .footer-bottom{
    padding-top:1.75rem;
    font-size:0.78rem;
    color:#8a8a8f;
    display:flex;
    justify-content:space-between;
    flex-wrap:wrap;
    gap:0.75rem;
  }
  @media (max-width:800px){
    .footer-grid{grid-template-columns:1fr;}
  }

  /* Star SVG general util */
  .inline-star{
    color:var(--red);
    display:inline-block;
    vertical-align:middle;
  }

  /* Kick silhouette decorative divider block */
  .kick-decor{
    display:flex;
    justify-content:center;
    margin:0 0 2.5rem;
    opacity:0.9;
  }

  /* ============ ATHLETE PROFILE CARDS ============ */
  .athletes-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(320px, 1fr));
    gap:2.25rem;
  }
  .athlete-card{
    background:var(--black);
    color:var(--white);
    border-radius:14px;
    overflow:hidden;
    position:relative;
    border-top:8px solid var(--tier-color, var(--red));
    box-shadow:0 18px 40px rgba(0,0,0,0.22);
    display:flex;
    flex-direction:column;
  }
  .athlete-photo{
    position:relative;
    height:210px;
    background:
      radial-gradient(ellipse 80% 70% at 50% 25%, rgba(226,25,43,0.5), rgba(226,25,43,0) 70%),
      linear-gradient(180deg, var(--near-black) 0%, var(--black) 100%);
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
  }
  .athlete-photo::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(180deg, transparent 35%, rgba(0,0,0,0.9) 100%);
  }
  .athlete-photo.custom-photo-ratio::after{
    background:linear-gradient(180deg, transparent 70%, rgba(0,0,0,0.55) 100%);
  }
  .athlete-photo svg.watermark{
    width:150px;
    height:100px;
    color:var(--tier-color, var(--red));
    opacity:0.28;
    position:relative;
    z-index:0;
  }
  .athlete-photo-caption{
    position:absolute;
    bottom:0.6rem;
    right:0.85rem;
    font-size:0.62rem;
    font-style:italic;
    letter-spacing:0.03em;
    color:rgba(255,255,255,0.55);
    z-index:2;
  }
  .athlete-badge{
    position:absolute;
    bottom:0.6rem;
    left:0.85rem;
    background:var(--white);
    border-radius:8px;
    padding:3px 7px;
    display:flex;
    align-items:center;
    box-shadow:0 0 0 2px var(--tier-color, var(--red));
    z-index:2;
  }
  .athlete-badge img{height:22px;width:auto;display:block;}
  .athlete-real-photo{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center 18%;
    z-index:0;
  }
  .athlete-photo.js-photo .watermark,
  .athlete-photo.js-photo .athlete-photo-caption{ display:none; }
  .athlete-photo.js-photo.photo-missing .watermark,
  .athlete-photo.js-photo.photo-missing .athlete-photo-caption{ display:block; }
  .athlete-header{
    padding:1.4rem 1.5rem 0;
    text-align:center;
  }
  .athlete-kicker{
    display:inline-block;
    font-family:var(--font-display);
    font-style:italic;
    color:var(--red);
    font-size:1.05rem;
    letter-spacing:0.04em;
    text-transform:uppercase;
    transform:rotate(-3deg) skewX(-8deg);
  }
  .athlete-title{
    font-size:clamp(1.8rem, 4.4vw, 2.5rem);
    color:var(--white);
    margin:0.1rem 0 0.75rem;
  }
  .athlete-rule{
    width:70px;
    height:4px;
    background:var(--tier-color, var(--red));
    margin:0 auto 1.4rem;
  }
  .athlete-body{
    padding:0 1.5rem 1.85rem;
    display:flex;
    flex-direction:column;
    gap:1.15rem;
  }
  .athlete-namewrap{
    display:flex;
    flex-wrap:wrap;
    gap:0.6rem 2rem;
  }
  .athlete-row{
    display:flex;
    flex-wrap:wrap;
    align-items:baseline;
    gap:0.4rem;
  }
  .athlete-body .label{
    font-family:var(--font-display);
    color:var(--red);
    font-size:0.7rem;
    letter-spacing:0.05em;
    text-transform:uppercase;
    white-space:nowrap;
  }
  .athlete-body .value{
    font-family:var(--font-display);
    color:var(--white);
    font-size:0.95rem;
    letter-spacing:0.01em;
    text-transform:uppercase;
  }
  .athlete-tag{
    display:inline-block;
    background:var(--tier-color, var(--red));
    color:var(--white);
    font-family:var(--font-display);
    font-size:0.68rem;
    letter-spacing:0.06em;
    text-transform:uppercase;
    padding:0.32rem 0.85rem;
    border-radius:999px;
    margin-bottom:0.55rem;
  }
  .athlete-block p{
    margin:0;
    color:#dcdce0;
    font-size:0.9rem;
  }
  .athlete-facts{
    list-style:none;
    margin:0;
    padding:0;
    display:grid;
    grid-template-columns:repeat(2, 1fr);
    gap:0.5rem 1.25rem;
  }
  .athlete-facts li{
    display:flex;
    flex-wrap:wrap;
    align-items:baseline;
    gap:0.35rem;
    font-size:0.85rem;
  }
  .athlete-facts .value{font-size:0.82rem;}
  .athlete-motto{
    text-align:center;
    font-family:var(--font-display);
    font-size:1.1rem;
    color:var(--white);
    letter-spacing:0.01em;
    margin:0;
  }
  @media (max-width:480px){
    .athlete-facts{grid-template-columns:1fr;}
  }

  /* ============ TWO PATHS (homepage) ============ */
  .paths-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:2rem;
  }
  .path-card{
    background:var(--white);
    border-radius:12px;
    padding:2.5rem 2rem;
    text-align:center;
    border-top:6px solid var(--red);
    box-shadow:0 10px 30px rgba(0,0,0,0.07);
  }
  .path-card h3{
    font-family:var(--font-display);
    text-transform:uppercase;
    font-size:1.4rem;
    margin:0 0 0.75rem;
  }
  .path-card p{
    color:#444;
    margin:0 0 1.5rem;
  }
  @media (max-width:700px){
    .paths-grid{grid-template-columns:1fr;}
  }

  /* ============ DONATE TEASER ============ */
  .donate-teaser{ padding:3.5rem 0; text-align:center; }
  .donate-teaser h3{
    font-family:var(--font-display);
    text-transform:uppercase;
    font-size:1.3rem;
    margin:0 0 0.75rem;
    color:var(--white);
  }
  .donate-teaser p{
    color:#c6c6ca;
    max-width:560px;
    margin:0 auto 1.5rem;
  }

  /* ============ ENROLLMENT-STYLE FORM (Families page) ============ */
  .form-note-inline{ font-size:0.85rem; color:var(--gray); margin-top:1rem; }

  /* ============ SPONSOR-AN-ATHLETE CTAs (athlete + tier cards) ============ */
  .athlete-sponsor-cta{
    margin-top:auto;
    padding:0 1.5rem 1.85rem;
  }
  .btn-sponsor{
    display:block;
    width:100%;
    text-align:center;
    padding:0.8rem 1.5rem;
    font-size:0.85rem;
  }
  .btn-sponsor-tier{
    display:block;
    width:100%;
    text-align:center;
    margin-top:0.25rem;
    padding:0.8rem 1.5rem;
    font-size:0.85rem;
    background:transparent;
    color:var(--tier-color, var(--red));
    border-color:var(--tier-color, var(--red));
  }
  .btn-sponsor-tier:hover{
    background:var(--tier-color, var(--red));
    color:var(--white);
  }
  .tier-card.featured .btn-sponsor-tier{
    color:var(--white);
    border-color:var(--white);
  }
  .tier-card.featured .btn-sponsor-tier:hover{
    background:var(--white);
    color:var(--black);
  }

  /* ============ SPONSOR-AN-ATHLETE MODAL ============ */
  body.sponsor-modal-open{ overflow:hidden; }
  .sponsor-modal-overlay{
    display:none;
    position:fixed;
    inset:0;
    background:rgba(10,10,12,0.72);
    z-index:1000;
    padding:1.5rem;
    align-items:flex-start;
    justify-content:center;
    overflow-y:auto;
  }
  .sponsor-modal-overlay.open{ display:flex; }
  .sponsor-modal{
    background:var(--white);
    color:var(--black);
    border-radius:12px;
    padding:2.25rem;
    max-width:640px;
    width:100%;
    margin:2.5rem 0;
    position:relative;
    box-shadow:0 30px 80px rgba(0,0,0,0.45);
    border-top:8px solid var(--red);
  }
  .sponsor-modal .eyebrow{ color:var(--red); }
  .sponsor-modal .form-note{ color:var(--gray); }
  .sponsor-modal-close{
    position:absolute;
    top:0.75rem;
    right:0.9rem;
    width:2.25rem;
    height:2.25rem;
    border:none;
    background:transparent;
    color:#999;
    font-size:1.6rem;
    line-height:1;
    cursor:pointer;
    border-radius:50%;
    transition:background .15s ease, color .15s ease;
  }
  .sponsor-modal-close:hover{ background:#f0f0f0; color:var(--black); }
  @media (max-width:700px){
    .sponsor-modal{ padding:1.75rem 1.5rem; }
  }
