  :root{
    --pitch-dark:#04070E;
    --pitch:#00704C;
    --grass:#1E9B70;
    --chalk:#FFFFFF;
    --gold:#EAB61D;
    --gold-deep:#C99416;
    --ink:#0B120E;
    --line-white:rgba(255,255,255,0.55);
    --shadow:0 12px 32px rgba(4,7,14,0.25);
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth;}
  body{
    font-family:'Work Sans', sans-serif;
    color:var(--ink);
    background:var(--chalk);
    line-height:1.5;
  }
  h1,h2,h3{ font-family:'Anton', sans-serif; font-weight:400; letter-spacing:0.01em; text-transform:uppercase; }
  .eyebrow{
    font-family:'Space Mono', monospace;
    font-size:0.75rem;
    letter-spacing:0.18em;
    text-transform:uppercase;
    color:var(--gold);
    font-weight:700;
  }
  a{ color:inherit; }
  .wrap{ max-width:1120px; margin:0 auto; padding:0 24px; }
  img,svg{ display:block; max-width:100%; }

  /* ---------- NAV ---------- */
  nav{
    position:sticky; top:0; z-index:50;
    background:var(--pitch-dark);
    border-bottom:2px dashed var(--line-white);
  }
  nav .wrap{ display:flex; align-items:center; justify-content:space-between; padding:14px 24px; }
  .brand{ display:flex; align-items:center; gap:10px; }
  .crest{ width:38px; height:38px; flex-shrink:0; border-radius:50%; object-fit:cover; }
  .brand-name{ color:var(--chalk); font-family:'Anton',sans-serif; font-size:1.05rem; letter-spacing:0.03em; }
  .nav-links{ display:flex; gap:26px; font-family:'Space Mono',monospace; font-size:0.78rem; letter-spacing:0.06em; }
  .nav-links a{ color:var(--chalk); text-decoration:none; opacity:0.85; transition:opacity .2s; text-transform:uppercase; }
  .nav-links a:hover{ opacity:1; color:var(--gold); }
  .nav-toggle{ display:none; background:none; border:none; cursor:pointer; padding:6px; flex-direction:column; gap:5px; }
  .nav-toggle span{ width:26px; height:3px; background:var(--chalk); border-radius:2px; display:block; }
  @media (max-width:720px){
    .nav-links{
      display:none; position:absolute; top:100%; left:0; right:0;
      flex-direction:column; gap:0; background:var(--pitch-dark);
      border-top:2px dashed var(--line-white); border-bottom:2px dashed var(--line-white);
    }
    .nav-links.open{ display:flex; }
    .nav-links a{ padding:16px 24px; border-bottom:1px solid rgba(247,248,243,0.12); }
    .nav-toggle{ display:flex; }
    nav .wrap{ position:relative; }
  }

  /* ---------- HERO (the pitch) ---------- */
  .hero{
    position:relative;
    background:
      radial-gradient(ellipse at 50% -10%, rgba(76,175,125,0.35), transparent 60%),
      linear-gradient(180deg, var(--pitch) 0%, var(--pitch-dark) 100%);
    overflow:hidden;
    padding:0 0 60px;
  }
  .pitch-lines{ position:absolute; inset:0; opacity:0.55; pointer-events:none; }
  .mow-stripe{ position:absolute; inset:0; background:repeating-linear-gradient(90deg, rgba(255,255,255,0.035) 0 80px, transparent 80px 160px); }

  .hero-inner{ position:relative; padding:90px 24px 40px; text-align:center; }
  .hero-inner .eyebrow{ color:var(--gold); }
  .hero h1{
    color:var(--chalk);
    font-size:clamp(2.6rem, 7vw, 5rem);
    line-height:0.98;
    margin:18px 0 6px;
  }
  .hero h1 span{ color:var(--gold); }
  .hero p.tag{
    color:rgba(247,248,243,0.82);
    font-size:1.15rem;
    max-width:560px;
    margin:18px auto 34px;
    font-weight:500;
  }
  .cta-row{ display:flex; gap:16px; justify-content:center; flex-wrap:wrap; }
  .btn{
    font-family:'Space Mono',monospace;
    text-transform:uppercase;
    font-size:0.82rem;
    letter-spacing:0.06em;
    padding:14px 28px;
    border-radius:2px;
    text-decoration:none;
    display:inline-block;
    font-weight:700;
    transition:transform .15s ease, box-shadow .15s ease;
  }
  .btn:hover{ transform:translateY(-2px); }
  .btn-primary{ background:var(--gold); color:var(--ink); box-shadow:var(--shadow); }
  .btn-ghost{ background:transparent; color:var(--chalk); border:2px solid var(--line-white); }

  .kit-badge{
    margin:0 auto 26px;
    width:120px; height:120px;
    border-radius:50%;
    box-shadow:0 8px 24px rgba(0,0,0,0.35);
  }

  /* stat strip */
  .stat-strip{
    display:grid; grid-template-columns:repeat(4,1fr);
    border-top:2px dashed var(--line-white);
    margin-top:50px;
  }
  .stat{ text-align:center; padding:22px 10px; border-right:2px dashed var(--line-white); }
  .stat:last-child{ border-right:none; }
  .stat .num{ font-family:'Space Mono',monospace; font-size:1.6rem; color:var(--gold); font-weight:700; }
  .stat .lbl{ font-family:'Space Mono',monospace; font-size:0.68rem; letter-spacing:0.08em; color:rgba(247,248,243,0.75); text-transform:uppercase; margin-top:4px; }
  @media (max-width:640px){ .stat-strip{ grid-template-columns:repeat(2,1fr);} .stat{ border-bottom:2px dashed var(--line-white);} }

  /* ---------- SECTION SHELL ---------- */
  section{ padding:80px 0; }
  .section-head{ max-width:640px; margin-bottom:48px; }
  .section-head h2{ font-size:clamp(1.8rem,4vw,2.6rem); margin-top:10px; }
  .section-head p{ color:#3d4f45; margin-top:14px; font-size:1.05rem; }
  .divider{
    height:2px;
    background-image:repeating-linear-gradient(90deg, var(--pitch) 0 22px, transparent 22px 38px);
  }

  /* ---------- ABOUT ---------- */
  .about{ background:var(--chalk); }
  .about-grid{ display:grid; grid-template-columns:1.1fr 0.9fr; gap:60px; align-items:start; }
  .about-grid p{ font-size:1.05rem; margin-bottom:16px; color:#26362c; }
  .about-grid strong{ color:var(--pitch-dark); }
  .founder-card{
    background:var(--pitch-dark); color:var(--chalk);
    padding:32px; border-radius:4px; box-shadow:var(--shadow);
  }
  .founder-card .eyebrow{ margin-bottom:10px; display:block; }
  .founder-card ul{ list-style:none; margin-top:18px; }
  .founder-card li{ font-family:'Space Mono',monospace; font-size:0.85rem; padding:9px 0; border-top:1px solid rgba(247,248,243,0.15); display:flex; gap:10px; }
  .founder-card li:first-of-type{ border-top:none; }
  .founder-card li::before{ content:"✓"; color:var(--grass); font-weight:700; }
  @media (max-width:860px){ .about-grid{ grid-template-columns:1fr; } }

  /* ---------- PURPOSE ---------- */
  .purpose{ background:var(--pitch-dark); color:var(--chalk); }
  .purpose .section-head h2, .purpose .section-head p{ color:var(--chalk); }
  .purpose .section-head p{ color:rgba(247,248,243,0.75); }
  .purpose p{ font-size:1.05rem; margin-bottom:16px; color:rgba(247,248,243,0.85); }
  .purpose strong{ color:var(--gold); }

  /* ---------- SPORTS ---------- */
  .sports{ background:#EAF4EF; }
  .sport-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
  .sport-card{
    background:var(--chalk); border-radius:4px; padding:26px 22px; position:relative;
    border-top:5px solid var(--pitch); box-shadow:0 4px 14px rgba(10,30,20,0.06);
    transition:transform .18s ease;
  }
  .sport-card:hover{ transform:translateY(-4px); }
  .sport-card.partner{ border-top-color:var(--gold-deep); }
  .sport-card .tagline{ font-family:'Space Mono',monospace; font-size:0.68rem; letter-spacing:0.06em; text-transform:uppercase; color:var(--pitch); margin-bottom:10px; }
  .sport-card.partner .tagline{ color:var(--gold-deep); }
  .sport-card h3{ font-size:1.2rem; margin-bottom:10px; }
  .sport-card p{ font-size:0.92rem; color:#4b5a51; }
  .sport-icon{ width:38px; height:38px; margin-bottom:14px; }
  @media (max-width:900px){ .sport-grid{ grid-template-columns:repeat(2,1fr);} }
  @media (max-width:520px){ .sport-grid{ grid-template-columns:1fr;} }

  /* ---------- PATHWAY (signature element) ---------- */
  .pathway{ background:var(--pitch-dark); color:var(--chalk); }
  .pathway .section-head h2, .pathway .section-head p{ color:var(--chalk); }
  .pathway .section-head p{ color:rgba(247,248,243,0.75); }
  .pathway-head{ display:flex; align-items:flex-start; gap:24px; }
  .csb-logo{ width:72px; height:72px; border-radius:50%; flex-shrink:0; box-shadow:0 6px 18px rgba(4,7,14,0.35); }
  @media (max-width:640px){ .pathway-head{ flex-direction:column; align-items:flex-start; } .csb-logo{ width:56px; height:56px; } }
  .pitch-diagram{ width:100%; height:auto; }
  .pathway-caption{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:36px; }
  .pathway-caption div{ font-family:'Space Mono',monospace; font-size:0.82rem; color:rgba(247,248,243,0.85); border-left:2px solid var(--gold); padding-left:14px; }
  .pathway-caption b{ display:block; font-family:'Work Sans',sans-serif; font-weight:700; color:var(--chalk); font-size:0.95rem; margin-bottom:4px; }
  @media (max-width:720px){ .pathway-caption{ grid-template-columns:1fr; } }

  /* ---------- SESSIONS ---------- */
  .sessions{ background:var(--chalk); }
  table{ width:100%; border-collapse:collapse; font-size:0.95rem; }
  thead th{
    font-family:'Space Mono',monospace; font-size:0.72rem; letter-spacing:0.08em; text-transform:uppercase;
    text-align:left; padding:12px 14px; color:var(--chalk); background:var(--pitch);
  }
  tbody td{ padding:14px; border-bottom:1px solid #d9dccb; }
  tbody tr:hover{ background:#f1f2e9; }
  .note{ margin-top:18px; font-size:0.88rem; color:#5c6a61; font-style:italic; }

  /* ---------- SAFEGUARDING ---------- */
  /* ---------- GALLERY ---------- */
  .gallery{ background:var(--chalk); }
  .photo-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-bottom:28px; }
  .photo-tile{
    aspect-ratio:4/3; border-radius:6px; overflow:hidden;
    display:flex; align-items:center; justify-content:center;
  }
  .photo-tile img{ width:100%; height:100%; object-fit:cover; }
  .photo-tile.placeholder{
    background:repeating-linear-gradient(135deg, #EAF4EF 0 10px, #E1EDE6 10px 20px);
    border:2px dashed #9fb8ac;
  }
  .photo-tile.placeholder span{ font-family:'Space Mono',monospace; font-size:0.78rem; color:#5c7c6d; text-transform:uppercase; letter-spacing:0.05em; }
  @media (max-width:820px){ .photo-grid{ grid-template-columns:repeat(2,1fr); } }
  @media (max-width:520px){ .photo-grid{ grid-template-columns:1fr; } }

  .video-strip{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
  .video-tile{
    aspect-ratio:9/16; border-radius:6px; overflow:hidden;
    display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px;
    padding:20px; text-align:center;
  }
  .video-tile iframe{ width:100%; height:100%; border:none; }
  .video-tile.ig-embed{
    aspect-ratio:auto; height:auto; padding:0; background:none; border:none;
    display:block;
  }
  .video-tile.placeholder{
    background:repeating-linear-gradient(135deg, #EAF4EF 0 10px, #E1EDE6 10px 20px);
    border:2px dashed #9fb8ac;
  }
  .video-tile.placeholder span{ font-family:'Space Mono',monospace; font-size:0.8rem; color:#5c7c6d; text-transform:uppercase; letter-spacing:0.05em; font-weight:700; }
  .video-tile.placeholder p{ font-size:0.82rem; color:#6b8578; }
  @media (max-width:900px){ .video-strip{ grid-template-columns:repeat(2,1fr); } }
  @media (max-width:560px){ .video-strip{ grid-template-columns:1fr; } }

  /* ---------- TESTIMONIALS ---------- */
  .testimonials{ background:#EAF4EF; }
  .testimonial-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
  .testimonial-card{
    background:var(--chalk); border-radius:6px; padding:30px 26px; position:relative;
    box-shadow:0 4px 14px rgba(4,7,14,0.06); border-left:4px solid var(--gold);
  }
  .quote-mark{ font-family:'Anton',sans-serif; font-size:2.6rem; color:var(--pitch); line-height:1; margin-bottom:6px; }
  .quote-text{ font-size:0.98rem; color:#26362c; margin-bottom:16px; font-style:italic; }
  .quote-author{ font-family:'Space Mono',monospace; font-size:0.78rem; color:var(--gold-deep); text-transform:uppercase; letter-spacing:0.04em; }
  @media (max-width:900px){ .testimonial-grid{ grid-template-columns:1fr; } }

  .trust{ background:#EAF4EF; }
  .trust-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
  .trust-card{ background:var(--chalk); padding:28px 24px; border-radius:4px; border-bottom:5px solid var(--gold); }
  .trust-card .num{ font-family:'Space Mono',monospace; color:var(--gold); font-weight:700; font-size:0.85rem; margin-bottom:8px; display:block; }
  .trust-card h3{ font-size:1.05rem; margin-bottom:8px; }
  .trust-card p{ font-size:0.9rem; color:#4b5a51; }
  @media (max-width:820px){ .trust-grid{ grid-template-columns:1fr; } }

  /* ---------- SIGNUP / CONTACT ---------- */
  .signup{ background:var(--pitch-dark); color:var(--chalk); }
  .signup-grid{ display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:start; }
  .signup .section-head h2, .signup .section-head p{ color:var(--chalk); }
  .signup .section-head p{ color:rgba(247,248,243,0.75); }
  .field{ margin-bottom:18px; }
  .field label{ display:block; font-family:'Space Mono',monospace; font-size:0.72rem; letter-spacing:0.06em; text-transform:uppercase; margin-bottom:7px; color:var(--gold); }
  .jotform-embed{
    background:var(--chalk); border-radius:6px; overflow:hidden;
    box-shadow:var(--shadow);
  }
  .jotform-embed iframe{ display:block; }
  .field input:not([type="checkbox"]), .field select, .field textarea{
    width:100%; padding:12px 14px; border-radius:2px; border:none;
    background:rgba(247,248,243,0.08); color:var(--chalk); font-family:'Work Sans',sans-serif; font-size:0.95rem;
    border:1px solid rgba(247,248,243,0.25);
  }
  .field input::placeholder, .field textarea::placeholder{ color:rgba(247,248,243,0.4); }
  .field input:focus, .field select:focus, .field textarea:focus{ outline:2px solid var(--gold); outline-offset:1px; background:rgba(247,248,243,0.13); }
  .checkbox-group{ display:flex; flex-direction:column; gap:10px; }
  .checkbox-item{
    display:flex !important; align-items:center; gap:10px;
    font-family:'Work Sans',sans-serif; font-size:0.92rem; font-weight:500;
    text-transform:none; letter-spacing:normal; color:var(--chalk) !important;
    cursor:pointer; padding:10px 12px; border-radius:2px;
    background:rgba(247,248,243,0.05); border:1px solid rgba(247,248,243,0.18);
    transition:background .15s, border-color .15s;
  }
  .checkbox-item:hover{ background:rgba(247,248,243,0.1); border-color:rgba(247,248,243,0.35); }
  .checkbox-item input[type="checkbox"]{
    width:18px; height:18px; flex-shrink:0; accent-color:var(--gold); cursor:pointer;
  }
  .submit-btn{
    width:100%; padding:15px; background:var(--gold); color:var(--ink); border:none; border-radius:2px;
    font-family:'Space Mono',monospace; text-transform:uppercase; font-size:0.85rem; font-weight:700; letter-spacing:0.06em;
    cursor:pointer; margin-top:6px;
  }
  .submit-btn:hover{ background:#f0bb5c; }
  .form-msg{ font-family:'Space Mono',monospace; font-size:0.8rem; margin-top:12px; min-height:1em; }

  .contact-block{ display:flex; flex-direction:column; gap:22px; }
  .contact-item{ display:flex; gap:14px; align-items:flex-start; }
  .contact-item .icon{ width:22px; height:22px; flex-shrink:0; margin-top:2px; color:var(--gold); }
  .contact-item h4{ font-family:'Space Mono',monospace; font-size:0.78rem; text-transform:uppercase; letter-spacing:0.06em; color:var(--gold); margin-bottom:4px; }
  .contact-item p, .contact-item a{ font-size:0.95rem; color:rgba(247,248,243,0.9); text-decoration:none; }
  .socials{ display:flex; gap:14px; margin-top:8px; }
  .social-btn{
    width:44px; height:44px; border-radius:50%; border:2px solid rgba(247,248,243,0.3);
    display:flex; align-items:center; justify-content:center; text-decoration:none; color:var(--chalk);
    transition:border-color .2s, background .2s;
  }
  .social-btn:hover{ border-color:var(--gold); background:rgba(231,169,60,0.12); }

  /* ---------- FOOTER ---------- */
  footer{ background:var(--pitch-dark); border-top:2px dashed var(--line-white); padding:28px 0; }
  footer .wrap{ display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; }
  footer p{ font-family:'Space Mono',monospace; font-size:0.75rem; color:rgba(247,248,243,0.55); }

  @media (prefers-reduced-motion: reduce){
    *{ transition:none !important; scroll-behavior:auto !important; }
  }

  .nav-links a.active-link{ color:var(--gold); opacity:1; }
  .brand a{ color:inherit; }
