
    /* ===== DESIGN TOKENS — locked per COBO Design System v2.0 ===== */
    :root{
      --teal:#0E7C86; --teal-dark:#065A62; --teal-light:#E4F2F3;
      --gold:#E5B800; --gold-dark:#C49A00;
      --cream:#FFF9F0; --black:#111111; --white:#FFFFFF;
      --gray-text:#555555; --gray-meta:#AAAAAA;
      --max-w:1140px; --section-py:56px; --section-py-mobile:40px; --radius:6px;
      --ease-out:cubic-bezier(0.23,1,0.32,1);
    }
    *,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
    html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
    body{font-family:'Open Sans',system-ui,-apple-system,sans-serif;font-size:17px;line-height:1.6;color:var(--black);background:var(--white);-webkit-font-smoothing:antialiased;}
    img{max-width:100%;display:block;}
    a{color:inherit;text-decoration:none;}
    button{font:inherit;cursor:pointer;border:0;background:transparent;}
    h1,h2,h3,h4{font-family:'Montserrat',sans-serif;text-transform:uppercase;line-height:1.1;letter-spacing:-0.01em;}
    h1{font-size:clamp(36px,5.5vw,52px);font-weight:900;}
    h2{font-size:clamp(28px,4vw,36px);font-weight:900;}
    h3{font-size:clamp(20px,2.4vw,24px);font-weight:700;}
    h4{font-size:20px;font-weight:700;text-transform:none;}
    p{margin-bottom:12px;} p:last-child{margin-bottom:0;}
    .container{max-width:var(--max-w);margin:0 auto;padding:0 24px;}
    section{padding:var(--section-py) 0;}
    @media(max-width:768px){section{padding:var(--section-py-mobile) 0;}}

    /* ===== BUTTONS ===== */
    .btn{display:inline-block;font-family:'Montserrat',sans-serif;font-weight:700;font-size:16px;text-transform:uppercase;letter-spacing:0.05em;padding:14px 28px;border-radius:var(--radius);transition:transform 160ms var(--ease-out),background-color 160ms ease,color 160ms ease,box-shadow 200ms var(--ease-out);}
    .btn:active{transform:scale(0.97);}
    .btn-gold{background:var(--gold);color:var(--black);box-shadow:0 1px 0 var(--gold-dark) inset,0 2px 6px rgba(0,0,0,0.08);}
    .btn-outline-white{background:transparent;color:var(--white);border:2px solid var(--white);padding:12px 26px;}
    .btn-teal{background:var(--teal);color:var(--white);}
    .btn-outline-dark{background:transparent;color:var(--black);border:2px solid var(--black);padding:12px 26px;}
    @media(hover:hover) and (pointer:fine){
      .btn-gold:hover{background:#f1c700;box-shadow:0 1px 0 var(--gold-dark) inset,0 4px 14px rgba(229,184,0,0.35);}
      .btn-outline-white:hover{background:var(--white);color:var(--teal-dark);}
      .btn-teal:hover{background:var(--teal-dark);}
      .btn-outline-dark:hover{background:var(--black);color:var(--gold);}
    }

    /* ===== [NAV] HEADER — teal->black gradient, sticky ===== */
    .header{position:sticky;top:0;z-index:100;background:radial-gradient(ellipse 56% 300% at 50% 50%,rgba(11,104,113,0.93) 0%,rgba(6,72,80,0.94) 30%,rgba(4,4,4,0.96) 70%,rgba(0,0,0,0.97) 100%);-webkit-backdrop-filter:blur(10px) saturate(1.2);backdrop-filter:blur(10px) saturate(1.2);box-shadow:0 2px 14px rgba(0,0,0,0.3);border-bottom:1px solid rgba(255,255,255,0.10);}
    .header-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:10px 24px;max-width:var(--max-w);margin:0 auto;}
    /* [7] logo = SVG mark (placeholder — swap with real logo file when available) */
    .logo{display:inline-flex;align-items:center;flex-shrink:0;}
    .logo-img{height:77px;width:auto;display:block;} @media(max-width:600px){.logo-img{height:48px;}}
    /* [4] nav text shrunk to fit more evenly */
    .nav{display:flex;align-items:center;gap:18px;}
    .nav a{font-family:'Montserrat',sans-serif;font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:0.03em;color:var(--white);padding:6px 0;position:relative;transition:color 160ms ease;}
    .nav a::after{content:'';position:absolute;left:0;right:0;bottom:-2px;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform 200ms var(--ease-out);}
    @media(hover:hover) and (pointer:fine){.nav a:hover::after{transform:scaleX(1);} .nav a.btn-gold:hover::after{display:none;}}
    .nav .btn{font-size:12px;padding:9px 14px;} .nav .btn::after{display:none!important;}
    /* [6] "Open Gyms & Tryouts" — 2 lines, centered */
    .nav-2line{text-align:center;line-height:1.12;}
    /* Club dropdown */
    .has-drop{position:relative;}
    .has-drop>a{display:inline-flex;align-items:center;gap:4px;}
    .drop{position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(6px);background:var(--teal-dark);min-width:160px;border-radius:var(--radius);box-shadow:0 8px 24px rgba(0,0,0,0.3);padding:6px 0;opacity:0;visibility:hidden;transition:opacity 160ms ease,transform 160ms var(--ease-out);}
    .has-drop:hover .drop,.has-drop:focus-within .drop{opacity:1;visibility:visible;transform:translateX(-50%) translateY(2px);}
    .drop a{display:block;padding:9px 18px;font-size:12px;} .drop a::after{display:none;}
    @media(hover:hover) and (pointer:fine){.drop a:hover{background:rgba(255,255,255,0.08);}}
    .nav-toggle{display:none;color:var(--white);font-size:24px;padding:6px;}
    @media(max-width:980px){
      .nav{position:absolute;top:100%;left:0;right:0;background:var(--teal-dark);flex-direction:column;align-items:stretch;gap:0;padding:8px 0;box-shadow:0 8px 24px rgba(0,0,0,0.3);max-height:0;overflow:hidden;transition:max-height 260ms var(--ease-out);}
      .nav.open{max-height:680px;}
      .nav a{padding:14px 24px;border-bottom:1px solid rgba(255,255,255,0.08);}
      .nav-2line{text-align:left;line-height:1.4;}  /* keep mobile list left-aligned */
      .drop{position:static;transform:none;opacity:1;visibility:visible;box-shadow:none;background:rgba(0,0,0,0.18);padding:0;min-width:0;}
      .drop a{padding-left:40px;}
      /* [5] Register Now lives INSIDE the hamburger on mobile */
      .nav .btn{margin:12px 24px;text-align:center;}
      .nav-toggle{display:inline-block;}
    }

    /* ===== [ANN] ANNOUNCEMENT BAR — now BELOW hero; golden radial, even both sides ===== */
    .announcement{background:radial-gradient(ellipse 66% 200% at 50% 50%,#FFE680 0%,#F2CA00 24%,#E5B800 40%,#C49A00 56%,#171717 80%,#000 100%);color:var(--black);text-align:center;padding:12px 24px;font-family:'Montserrat',sans-serif;font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:0.08em;}
    .announcement a{color:var(--white);text-shadow:0 1px 2px rgba(0,0,0,0.6);border-bottom:1px solid rgba(255,255,255,0.6);}

    /* ===== [HM-01] HERO — +25% taller; uniform 20% black filter (no gradient) ===== */
    .hero{position:relative;background:var(--teal-dark);color:var(--white);min-height:413px;height:clamp(413px,62vh,605px);display:flex;align-items:center;overflow:hidden;}
    .hero-bg{position:absolute;inset:0;background:linear-gradient(rgba(0,0,0,0.2),rgba(0,0,0,0.2)),url('../img/hero.jpg') center/cover no-repeat;}
    .hero-content{position:relative;z-index:1;max-width:820px;margin:0 auto;width:100%;}
    .hero h1{margin-bottom:34px;text-align:center;text-shadow:0 3px 10px rgba(0,0,0,0.7),0 6px 30px rgba(0,0,0,0.5),0 1px 2px rgba(0,0,0,0.85);}
    /* [8] "Colorado Boom" +10%, "Volleyball Club" -20% */
    .hero h1 .hl-1{font-size:1.32em;}
    .hero h1 .hl-2{font-size:0.80em;display:inline-block;}
    /* [8] tagline centered */
    .hero p.tagline{font-family:'Montserrat',sans-serif;font-weight:500;font-size:clamp(16px,2vw,20px);margin:0 auto 24px;opacity:0.97;max-width:760px;text-align:center;text-wrap:balance;text-shadow:0 1px 6px rgba(0,0,0,0.5);}
    .hero-cta{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;}
    .hero .btn-outline-white{text-shadow:0 1px 3px rgba(0,0,0,0.4);}

    /* ===== SECTION BACKGROUNDS ===== */
    .bg-cream{background:var(--cream);}
    .bg-white{background:var(--white);}
    .bg-dark{background:var(--black);color:var(--white);}
    .bg-teal-d{background:radial-gradient(ellipse 60% 150% at 50% 50%,var(--teal) 0%,var(--teal-dark) 34%,#040404 100%);color:var(--white);}
    .section-title{text-align:center;margin-bottom:8px;}
    .section-subtitle{text-align:center;color:var(--gray-text);max-width:620px;margin:0 auto 40px;}
    .bg-dark .section-subtitle,.bg-teal-d .section-subtitle{color:rgba(255,255,255,0.85);}

    /* ===== [HM-02] 3 WAYS CARDS ===== */
    .cards-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
    @media(max-width:880px){.cards-3{grid-template-columns:1fr;}}
    .card{background:var(--white);border-radius:var(--radius);overflow:hidden;box-shadow:0 2px 12px rgba(0,0,0,0.06);display:flex;flex-direction:column;border:1px solid rgba(0,0,0,0.04);transition:transform 220ms var(--ease-out),box-shadow 220ms var(--ease-out);}
    @media(hover:hover) and (pointer:fine){.card:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(0,0,0,0.10);}}
    .card-img{aspect-ratio:16/10;background-color:var(--teal-light);background-size:cover;background-position:center;}
    .card-body{padding:24px;display:flex;flex-direction:column;flex-grow:1;}
    .card .badge{display:inline-block;font-family:'Montserrat',sans-serif;font-weight:700;font-size:11px;letter-spacing:0.12em;text-transform:uppercase;color:var(--teal);margin-bottom:12px;}
    .card h3{margin-bottom:12px;} .card p{color:var(--gray-text);flex-grow:1;margin-bottom:20px;} .card .btn{align-self:flex-start;}

    /* ===== [HM-04] WHY COLORADO BOOM — dark 2-col ===== */
    .why-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:center;}
    @media(max-width:880px){.why-grid{grid-template-columns:1fr;gap:28px;}}
    .why-grid ul{list-style:none;padding:0;}
    .why-grid li{position:relative;padding:14px 0 14px 32px;border-bottom:1px solid rgba(255,255,255,0.08);}
    .why-grid li:last-child{border-bottom:0;}
    .why-grid li::before{content:'';position:absolute;left:0;top:22px;width:14px;height:2px;background:var(--gold);}
    .why-photo{width:100%;aspect-ratio:4/3;background-size:cover;background-position:center;border-radius:var(--radius);box-shadow:0 8px 24px rgba(0,0,0,0.3);}

    /* ===== [HM-05] TESTIMONIALS ===== */
    .quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
    @media(max-width:880px){.quotes{grid-template-columns:1fr;}}
    .quote{background:var(--white);border-radius:var(--radius);padding:28px;border-left:4px solid var(--teal);box-shadow:0 2px 12px rgba(0,0,0,0.04);}
    .quote p{color:var(--gray-text);font-style:italic;margin-bottom:16px;}
    .quote .attr{font-family:'Montserrat',sans-serif;font-weight:700;font-size:13px;letter-spacing:0.05em;text-transform:uppercase;color:var(--teal-dark);}

    /* ===== [HM-07] FIELDHOUSE — single-line stats ===== */
    .fieldhouse-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:48px;align-items:center;}
    @media(max-width:880px){.fieldhouse-grid{grid-template-columns:1fr;gap:28px;}}
    .fieldhouse-photo{width:100%;aspect-ratio:4/3;background-size:cover;background-position:center;border-radius:var(--radius);box-shadow:0 8px 24px rgba(0,0,0,0.3);}
    .fieldhouse-text h2{text-align:left;margin-bottom:16px;}
    .fieldhouse-text p{color:rgba(255,255,255,0.9);margin-bottom:24px;}
    .stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;text-align:center;margin-top:16px;}
    @media(max-width:600px){.stats{grid-template-columns:1fr;gap:16px;}}
    .stat{padding:20px 8px;border-top:2px solid rgba(229,184,0,0.4);}
    .stat-num{font-family:'Montserrat',sans-serif;font-weight:900;font-size:clamp(40px,5vw,56px);line-height:1;color:var(--gold);white-space:nowrap;letter-spacing:-0.02em;}
    .stat-label{font-family:'Montserrat',sans-serif;font-weight:700;font-size:12px;letter-spacing:0.12em;text-transform:uppercase;color:rgba(255,255,255,0.85);margin-top:8px;}

    /* ===== [HM-08] CONTACT & MAP — side by side ===== */
    .contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:stretch;}
    @media(max-width:880px){.contact-grid{grid-template-columns:1fr;}}
    .map-wrap{border-radius:var(--radius);overflow:hidden;box-shadow:0 4px 20px rgba(0,0,0,0.08);min-height:340px;background:var(--teal-light);}
    .map-wrap iframe{width:100%;height:100%;min-height:340px;border:0;display:block;}
    .contact-info{background:var(--white);border-radius:var(--radius);padding:32px;box-shadow:0 4px 20px rgba(0,0,0,0.06);display:flex;flex-direction:column;justify-content:center;}
    .contact-info h3{margin-bottom:16px;color:var(--teal-dark);}
    .contact-info dl{display:grid;grid-template-columns:110px 1fr;gap:12px 16px;margin-bottom:20px;}
    .contact-info dt{font-family:'Montserrat',sans-serif;font-weight:700;font-size:12px;letter-spacing:0.08em;text-transform:uppercase;color:var(--gray-text);padding-top:2px;}
    .contact-info dd{color:var(--black);}
    .contact-info a{color:var(--teal);border-bottom:1px solid currentColor;}

    /* ===== [HM-09] FINAL CTA — golden shine radial (gold center -> black edges) ===== */
    .cta-band{background:radial-gradient(ellipse 78% 150% at 50% 50%,#FFF1A8 0%,#FFD21A 14%,#E5B800 32%,#C49A00 52%,#241c00 72%,#000 100%);color:var(--black);text-align:center;}
    .cta-band h2{color:var(--black);margin-bottom:12px;text-shadow:0 1px 0 rgba(255,255,255,0.25);}
    .cta-band p{margin-bottom:28px;max-width:600px;margin-left:auto;margin-right:auto;}
    .cta-band .cta-buttons{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;}

    /* ===== [FT] FOOTER — FB + IG only ===== */
    footer{background:var(--black);color:var(--white);padding:48px 0 24px;}
    .footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px;margin-bottom:32px;}
    @media(max-width:768px){.footer-grid{grid-template-columns:1fr;gap:32px;}}
    footer h4{font-family:'Montserrat',sans-serif;font-size:13px;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:var(--gold);margin-bottom:16px;}
    footer ul{list-style:none;}
    footer li{margin-bottom:8px;font-size:15px;color:rgba(255,255,255,0.78);}
    footer a{color:rgba(255,255,255,0.78);transition:color 160ms ease;}
    @media(hover:hover) and (pointer:fine){footer a:hover{color:var(--white);}}
    .footer-address{font-size:15px;line-height:1.7;color:rgba(255,255,255,0.78);}
    .footer-address strong{color:var(--white);display:block;margin-bottom:4px;font-size:16px;}
    .socials{display:flex;gap:12px;margin-top:16px;}
    .socials a{width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,0.08);display:inline-flex;align-items:center;justify-content:center;transition:background 160ms ease,transform 160ms var(--ease-out);}
    .socials a:active{transform:scale(0.94);}
    @media(hover:hover) and (pointer:fine){.socials a:hover{background:var(--gold);} .socials a:hover svg{fill:var(--black);}}
    .socials svg{width:18px;height:18px;fill:var(--white);transition:fill 160ms ease;}
    .footer-bottom{border-top:1px solid rgba(255,255,255,0.1);padding-top:20px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:13px;color:rgba(255,255,255,0.55);}
    .footer-bottom nav{display:flex;gap:18px;flex-wrap:wrap;}

    /* ===== SCROLL REVEAL + A11Y ===== */
    .reveal{opacity:0;transform:translateY(16px);transition:opacity 600ms var(--ease-out),transform 600ms var(--ease-out);}
    .reveal.visible{opacity:1;transform:translateY(0);}
    @media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important;}.reveal{opacity:1;transform:none;}}
    a:focus-visible,button:focus-visible,.btn:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:2px;}

    /* [HM-04] Why Club Volleyball — teal section, cream boxes */
    .why-club-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
    @media(max-width:880px){.why-club-grid{grid-template-columns:1fr;}}
    .info-box{background:var(--cream);border-radius:var(--radius);padding:32px;box-shadow:0 6px 24px rgba(0,0,0,0.22);}
    .info-box h3{color:var(--teal-dark);margin-bottom:14px;}
    .info-box p{color:var(--gray-text);}
    .info-box p+p{margin-top:12px;}
    /* [HM-08] Instagram placeholder grid */
    .ig-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;max-width:720px;margin:0 auto;}
    .ig-tile{aspect-ratio:1/1;border-radius:var(--radius);background:linear-gradient(135deg,var(--teal-light),#c8e6e8);display:flex;align-items:center;justify-content:center;}
    .ig-tile svg{width:32px;height:32px;fill:var(--teal-dark);opacity:0.45;}
    /* [FT] footer logo */
    .footer-logo{height:64px;width:auto;display:block;margin-bottom:16px;}
    /* two-line dropdown trigger */
    .has-drop.two>a{line-height:1.12;}
    /* why-coloradoboom portrait photo on white */
    .why-photo.portrait{aspect-ratio:3/4;background-color:#fff;background-size:cover;background-position:center top;}
    /* static button (no hover/active animation) */
    .btn-static{transition:none;} .btn-static:active{transform:none;} .btn-static:hover{background:var(--teal);color:#fff;}
    /* [HMB] Girls/Boys quick-select band (~30% shorter, geometric diagonal transition) */
    .gb-band{position:relative;display:grid;grid-template-columns:1fr 1fr;padding:0;height:clamp(132px,17vw,170px);}
    .gb-half{position:relative;display:flex;align-items:center;justify-content:center;height:100%;overflow:hidden;text-decoration:none;}
    .gb-half .gb-bg{position:absolute;inset:0;background-size:cover;transition:transform .55s var(--ease-out);}
    .gb-girls::after,.gb-boys::after{content:"";position:absolute;inset:0;}
    .gb-girls::after{background:linear-gradient(rgba(14,124,134,0.30),rgba(0,0,0,0.55));}
    .gb-boys::after{background:linear-gradient(rgba(6,90,98,0.30),rgba(0,0,0,0.58));}
    .gb-half .gb-label{position:relative;z-index:1;color:#fff;font-family:'Montserrat',sans-serif;font-weight:900;font-size:clamp(21px,3.1vw,34px);letter-spacing:0.10em;text-transform:uppercase;text-align:center;text-shadow:0 2px 12px rgba(0,0,0,0.75);}
    .gb-half .gb-sub{display:block;font-size:11px;font-weight:700;letter-spacing:0.16em;opacity:0.92;margin-top:6px;}
    /* geometric diagonal transition (replaces the gold line) */
    .gb-divider{position:absolute;left:50%;top:-1px;bottom:-1px;width:3px;transform:translateX(-50%) skewX(-12deg);z-index:3;background:linear-gradient(180deg,rgba(255,255,255,0),rgba(255,255,255,0.30),rgba(255,255,255,0));box-shadow:0 0 9px 3px rgba(0,0,0,0.4);}
    
    
    @media(hover:hover) and (pointer:fine){.gb-half:hover .gb-bg{transform:scale(1.06);} .gb-half:focus-visible{outline:3px solid var(--white);outline-offset:-3px;}}
    @media(max-width:700px){
      .gb-band{grid-template-columns:1fr;height:auto;}
      .gb-half{height:auto;min-height:128px;}
      .gb-divider{left:-1px;right:-1px;width:auto;top:50%;bottom:auto;height:3px;transform:translateY(-50%) skewY(-4deg);background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,0.30),rgba(255,255,255,0));box-shadow:0 0 9px 3px rgba(0,0,0,0.4);}
    }
  
/* ===== shared subpage hero ===== */
.subhero{position:relative;color:#fff;text-align:center;overflow:hidden;padding:clamp(56px,9vw,96px) 0;background:radial-gradient(ellipse 60% 170% at 50% 50%,var(--teal) 0%,var(--teal-dark) 45%,#060606 100%);}
.subhero .sub-bg{position:absolute;inset:0;background-size:cover;background-position:center;}
.subhero.has-img::after{content:"";position:absolute;inset:0;background:linear-gradient(rgba(6,90,98,0.55),rgba(0,0,0,0.65));}
.subhero .container{position:relative;z-index:1;}
.subhero h1{text-shadow:0 2px 10px rgba(0,0,0,0.6);}
.subhero p{max-width:680px;margin:12px auto 0;opacity:.92;font-family:'Montserrat',sans-serif;font-weight:500;}
.nav a[aria-current="page"]{color:var(--gold);}
.nav a[aria-current="page"]::after{transform:scaleX(1);}
/* readable text column */
.narrow{max-width:840px;margin:0 auto;}
.prose p{color:var(--gray-text);margin-bottom:14px;}
.bg-dark .prose p,.bg-teal-d .prose p{color:rgba(255,255,255,0.88);}
.lead{font-size:19px;color:var(--gray-text);max-width:760px;margin:0 auto 8px;text-align:center;}
.bg-dark .lead,.bg-teal-d .lead{color:rgba(255,255,255,0.9);}
ul.checks{list-style:none;padding:0;max-width:760px;margin:18px auto 0;}
ul.checks li{position:relative;padding:12px 0 12px 30px;border-bottom:1px solid rgba(0,0,0,0.08);}
.bg-dark ul.checks li,.bg-teal-d ul.checks li{border-bottom:1px solid rgba(255,255,255,0.12);}
ul.checks li::before{content:"";position:absolute;left:0;top:20px;width:14px;height:2px;background:var(--gold);}
/* image placeholder (swap for real photo: see IMAGES.md) */
.img-ph{aspect-ratio:16/10;background:linear-gradient(135deg,var(--teal-light),#c8e6e8);border-radius:var(--radius);display:flex;align-items:center;justify-content:center;text-align:center;padding:18px;color:var(--teal-dark);font-family:'Montserrat',sans-serif;font-weight:700;font-size:13px;letter-spacing:0.04em;}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
@media(max-width:820px){.grid-2,.grid-3{grid-template-columns:1fr;}}
/* tryout schedule table */
.tbl-wrap{overflow-x:auto;max-width:840px;margin:0 auto;border-radius:var(--radius);box-shadow:0 2px 12px rgba(0,0,0,0.06);}
table.sched{width:100%;border-collapse:collapse;min-width:520px;background:#fff;}
.sched th,.sched td{padding:13px 16px;text-align:left;border-bottom:1px solid #cccccc;}
    .sched td{color:#222222;}
.sched th{font-family:'Montserrat',sans-serif;text-transform:uppercase;font-size:12px;letter-spacing:0.06em;background:var(--teal);color:#fff;}
.sched tr:last-child td{border-bottom:0;}
/* FAQ accordion */
.faq{max-width:840px;margin:0 auto;}
.faq h3.tier{margin:8px 0 4px;color:var(--teal-dark);}
.faq-item{border-bottom:1px solid #e2e2e2;}
.faq-q{display:flex;justify-content:space-between;align-items:center;gap:16px;width:100%;text-align:left;padding:18px 0;font-family:'Montserrat',sans-serif;font-weight:700;font-size:17px;color:var(--black);background:none;cursor:pointer;}
.faq-q .ic{font-size:24px;line-height:1;color:var(--teal);transition:transform .2s ease;flex-shrink:0;}
.faq-item.open .faq-q .ic{transform:rotate(45deg);}
.faq-a{max-height:0;overflow:hidden;transition:max-height .35s ease;}
.faq-a div{padding:0 0 18px;}
.faq-a p{color:var(--gray-text);margin-bottom:10px;}
.faq-item.open .faq-a{max-height:1400px;}
/* coach card */
.coach{background:#fff;border-radius:var(--radius);box-shadow:0 2px 12px rgba(0,0,0,0.06);overflow:hidden;text-align:center;}
.coach .ph{aspect-ratio:1/1;background:linear-gradient(135deg,var(--teal-light),#c8e6e8);display:flex;align-items:center;justify-content:center;color:var(--teal-dark);font-family:'Montserrat',sans-serif;font-weight:700;font-size:13px;}
.coach .b{padding:20px;}
.coach .b h4{margin-bottom:4px;}
.coach .b span{font-family:'Montserrat',sans-serif;font-size:12px;letter-spacing:0.08em;text-transform:uppercase;color:var(--teal);}
.cta-inline{text-align:center;margin-top:28px;}
@media(max-width:600px){.faq-q{font-size:15px;} .lead{font-size:17px;}}

/* ---- v4 batch additions ---- */
.bg-teal{background:var(--teal);color:#fff;}
.club-transition{background:radial-gradient(ellipse 80% 160% at 50% 50%,var(--teal) 0%,var(--teal-dark) 55%,#063b41 100%);color:#fff;text-align:center;}
.club-transition h2{color:#fff;margin-bottom:10px;}
.club-transition p{max-width:640px;margin:0 auto 24px;color:rgba(255,255,255,.92);}
.times-callout{max-width:660px;margin:6px auto 22px;background:#fff7e0;border:2px solid var(--gold);border-radius:14px;padding:20px 24px;text-align:center;}
.bg-teal-d .times-callout,.club-transition .times-callout{background:rgba(255,255,255,.08);}
.times-callout .big{display:block;font-family:'Montserrat',sans-serif;font-weight:900;font-size:clamp(20px,3.4vw,28px);line-height:1.25;}
.times-callout .sub{display:block;margin-top:8px;font-weight:600;}
.mship{max-width:680px;margin:0 auto;background:#fff;border:2px solid var(--gold);border-radius:16px;padding:30px 26px;text-align:center;box-shadow:0 12px 32px rgba(0,0,0,.07);}
.mship .price{font-family:'Montserrat',sans-serif;font-weight:900;font-size:clamp(34px,6vw,46px);color:var(--teal);line-height:1;}
.mship .price small{display:block;font-size:15px;font-weight:600;color:var(--gray-text);margin-top:6px;}
.mship ul{list-style:none;padding:0;margin:18px auto;max-width:460px;text-align:left;}
.mship ul li{padding:9px 0 9px 28px;position:relative;border-bottom:1px solid rgba(0,0,0,.07);}
.mship ul li:last-child{border-bottom:0;}
.mship ul li::before{content:"";position:absolute;left:0;top:17px;width:14px;height:2px;background:var(--gold);}
.fee-tba{max-width:580px;margin:0 auto;text-align:center;border:2px dashed var(--teal);border-radius:14px;padding:26px;background:#fff;}
.fee-tba .tag{display:inline-block;font-family:'Montserrat',sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:.05em;font-size:12px;color:var(--teal);background:#e6f3f4;padding:5px 12px;border-radius:999px;margin-bottom:12px;}
.media-img{display:block;width:100%;max-width:760px;margin:22px auto 0;border-radius:14px;box-shadow:0 12px 30px rgba(0,0,0,.12);}
.sched-note{max-width:760px;margin:14px auto 0;text-align:center;font-size:14px;color:var(--gray-text);}
.bg-teal-d .sched-note,.bg-dark .sched-note{color:rgba(255,255,255,.75);}
.btn-row{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:8px;}

/* ---- v5 batch additions ---- */
.subhero--dark::after{background:linear-gradient(rgba(0,0,0,0.42),rgba(0,0,0,0.72)) !important;}
.subhero--lite::after{background:linear-gradient(rgba(0,0,0,0.21),rgba(0,0,0,0.36)) !important;}
.hl{color:var(--gold);font-weight:800;}
.bg-white .hl,.bg-cream .hl{color:#9a6b00;}
.mship--teal{background:var(--teal);border-color:var(--gold);color:#fff;}
.mship--teal .price{color:#fff;}
.mship--teal .price small{color:rgba(255,255,255,.85);}
.mship--teal ul li{border-bottom-color:rgba(255,255,255,.22);}
.mship--teal p,.mship--teal .prose{color:rgba(255,255,255,.92);}
.uni-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:32px;align-items:center;max-width:980px;margin:0 auto;}
.uni-grid .media-img{margin-top:0;max-width:100%;}
@media(max-width:760px){.uni-grid{grid-template-columns:1fr;}}
.res-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
@media(max-width:880px){.res-grid{grid-template-columns:1fr;}}
.res-card{background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:14px;padding:24px;display:flex;flex-direction:column;box-shadow:0 4px 16px rgba(0,0,0,.05);}
.res-card h3{font-size:18px;margin-bottom:8px;}
.res-card p{color:var(--gray-text);font-size:15px;flex-grow:1;margin-bottom:16px;}
.res-card .btn{align-self:flex-start;}
.res-card.soon{opacity:.8;border-style:dashed;border-color:var(--teal);}
.lift-box{max-width:820px;margin:0 auto;background:#fff7e0;border:2px solid var(--gold);border-radius:16px;padding:26px 28px;display:flex;gap:20px;align-items:center;justify-content:space-between;flex-wrap:wrap;box-shadow:0 10px 30px rgba(0,0,0,.06);}
.lift-box .lt{flex:1;min-width:240px;}
.lift-box h3{margin-bottom:6px;}
.lift-box p{color:var(--gray-text);margin:0;}
@media(max-width:600px){.mship,.times-callout,.fee-tba,.lift-box{padding-left:18px;padding-right:18px;}.lift-box .btn{width:100%;text-align:center;}}

/* ---- v7 batch additions ---- */
.hl-line{color:var(--gold);font-weight:700;}
.bg-white .hl-line,.bg-cream .hl-line{color:#9a6b00;}
.phil-times .big{color:var(--gold);}
.bg-white .phil-times .big,.bg-cream .phil-times .big{color:#9a6b00;}
.btn-black{background:var(--black);color:#fff;}
.btn-black:hover{background:#000;}
.cta-band .cta-buttons .btn{box-shadow:0 6px 18px rgba(0,0,0,.28);}
.res-card{background:var(--teal);border:1px solid var(--teal-dark);color:#fff;}
.res-card h3{color:#fff;}
.res-card p{color:rgba(255,255,255,.92);}
.res-card p a{color:var(--gold);}
.bg-dark .faq-item{border-color:rgba(255,255,255,.16);}
.bg-dark .faq-q{color:#fff;}
.bg-dark .faq-q .ic{color:var(--gold);}
.bg-dark .faq-a,.bg-dark .faq-a p{color:rgba(255,255,255,.85);}
.uni-grid .uni-sticker{max-width:100%;max-height:430px;width:auto;margin:0 auto;display:block;filter:drop-shadow(0 14px 24px rgba(0,0,0,.22));}
@media(max-width:760px){.uni-grid .uni-sticker{max-height:340px;}}

/* ---- v8 ---- */
.uni-grid{grid-template-columns:1fr 300px;align-items:center;}
.uni-grid .uni-sticker{max-height:300px;}
@media(max-width:760px){.uni-grid{grid-template-columns:1fr;}.uni-grid .uni-sticker{max-height:300px;}}
.faq-q{color:var(--teal);}
.bg-dark .faq-q{color:#6fd0db;}
.bg-dark .tier{color:#fff;}
