/* ===========================================
   CAMPS & CLINICS PAGE
   Angel City FC  -  2026
   Part of Girls Play LA / Community funnel
   Design system: mirrors Community
   =========================================== */

/* ===========================================
   HP VIDEO HERO (inlined from hubspot/HPVideoHero/styles.css)
   Duplicate :root tokens omitted — Camps :root below is authoritative.
   =========================================== */

/* ===========================================
   SLIDING HERO MODULE
   Angel City FC — 2026
   Combines Video Hero + Static Image Hero
   =========================================== */
  
  /* ===========================================
     HUBSPOT CONTAINER OVERRIDE
     =========================================== */
  
     .sr-html .container-fluid:has(.angelcity2026-sliding-hero-container),
     .sr-html .container-fluid:has(.acfc-camps-tile-hero),
     .sr-html .container-fluid:has(.acfc-camps-wrap) {
       padding-left: 0 !important;
       padding-right: 0 !important;
       overflow: visible;
     }
     
     /* ===========================================
        SLIDING HERO CONTAINER & SLIDES
        =========================================== */
     
   .angelcity2026-jl-hero-video-controls {
     position: absolute;
     bottom: 16px;
      right: 80px; 
     z-index: 10;
     background: rgba(32, 33, 33, 0.75);
     border: 1.5px solid rgba(241, 177, 165, 0.5);
     border-radius: 30px;
     height: 38px;
     padding: 0 16px;
     display: inline-flex;
     align-items: center;
     justify-content: center;
     gap: 8px;
     cursor: pointer;
     color: #fff;
     font-family: 'Anton', sans-serif;
     font-size: 0.75rem;
     letter-spacing: 0.1em;
     text-transform: uppercase;
     transition: all 0.3s ease;
   }
   
   .angelcity2026-jl-hero-video-controls:hover {
     background: var(--asphalt);
     border-color: var(--sol-rosa);
     color: var(--sol-rosa);
   }
     .angelcity2026-sliding-hero-container {
       position: relative;
       width: calc(100% + 15px);
       margin-left: -15px;
       margin-right: -15px;
       overflow: hidden;
     }
     
     .angelcity2026-sliding-hero-slide {
       position: absolute;
       top: 0;
       left: 0;
       width: 100%;
       opacity: 0;
       visibility: hidden;
       transition: opacity 1s ease-in-out, visibility 1s ease-in-out;
     }
     
     .angelcity2026-sliding-hero-slide-active {
       position: relative;
       opacity: 1;
       visibility: visible;
     }
     
     /* ===========================================
        NAVIGATION DOTS — always overlayed at bottom
        =========================================== */
     
     .angelcity2026-sliding-hero-dots {
       position: absolute;
       bottom: 20px;
       left: 50%;
       transform: translateX(-50%);
       display: flex;
       gap: 10px;
       z-index: 10;
     }
     
     .angelcity2026-sliding-hero-dot {
       width: 12px;
       height: 12px;
       border-radius: 50%;
       background: rgba(255, 255, 255, 0.5);
       border: 2px solid rgba(255, 255, 255, 0.8);
       cursor: pointer;
       transition: all 0.3s ease;
       padding: 0;
     }
     
     .angelcity2026-sliding-hero-dot:hover {
       background: rgba(255, 255, 255, 0.9);
       transform: scale(1.15);
     }
     
     .angelcity2026-sliding-hero-dot-active,
     .angelcity2026-sliding-hero-dot-active:hover {
       background: var(--sol-rosa);
       border-color: var(--sol-rosa);
       width: 28px;
       border-radius: 6px;
       transform: none;
     }
     
     /* ===========================================
        SLIDING HERO BUTTONS (scoped to this module)
        =========================================== */
     
     .angelcity2026-sh-btn {
       display: inline-flex;
       align-items: center;
       justify-content: center;
       gap: 0.5rem;
       border: none;
       max-height: 60px;
       border-radius: 30px;
       font-family: 'Anton', sans-serif;
       font-size: 1rem;
       font-weight: 400;
       letter-spacing: 0.04em;
       text-transform: uppercase;
       text-decoration: none;
       cursor: pointer;
       transition: var(--transition);
       padding: 1rem 2.5rem;
       white-space: nowrap;
       box-sizing: border-box;
     }
     
     .angelcity2026-sh-btn-primary {
       background: var(--sol-rosa);
       color: var(--pitch-black);
       box-shadow: 0 10px 30px rgba(241, 177, 165, 0.35);
     }
     
     .angelcity2026-sh-btn-primary:hover {
       background: var(--sol-rosa-dark);
       transform: translateY(-3px);
       box-shadow: 0 15px 40px rgba(241, 177, 165, 0.45);
     }
     
     .angelcity2026-sh-btn-secondary {
       background: var(--asphalt);
       color: var(--line-white);
       border: 2px solid var(--asphalt);
       padding: 1.15rem 2.9rem;
       display: inline-flex;
       align-items: center;
       justify-content: center;
       gap: 0.5rem;
       border-radius: 30px;
       font-family: 'Anton', sans-serif;
       font-size: 1.1rem;
       font-weight: 400;
       letter-spacing: 0.04em;
       text-transform: uppercase;
       text-decoration: none;
       cursor: pointer;
       transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
       white-space: nowrap;
       box-shadow: 0 6px 20px rgba(32, 33, 33, 0.3), 0 2px 8px rgba(32, 33, 33, 0.15);
     }
     
     .angelcity2026-sh-btn-secondary:hover {
       background: var(--pitch-black);
       border-color: var(--pitch-black);
       color: var(--line-white) !important;
       transform: translateY(-2px);
       box-shadow: 0 10px 28px rgba(32, 33, 33, 0.4);
     }
     
     /* ===========================================
        SLIDE 2 — VIDEO HERO
        =========================================== */
     
     .angelcity2026-jl-hero {
       position: relative;
       background: linear-gradient(to bottom, #fafafa 0%, #f5f5f5 100%);
       overflow: hidden;
     }
     
     .angelcity2026-jl-hero::after {
       content: '';
       position: absolute;
       bottom: 0;
       left: 0;
       right: 0;
       height: 2px;
       background: linear-gradient(to right, transparent 0%, var(--sol-rosa) 50%, transparent 100%);
       opacity: 0.4;
       z-index: 10;
     }
     
     .angelcity2026-jl-hero-inner {
       position: relative;
       z-index: 2;
       width: 100%;
       max-width: 100%;
       margin: 0 auto;
       display: flex;
       align-items: stretch;
       min-width: 0;
     }
     
     /* Side-by-side row: proportional flex so video + text share space and neither overflows (~969–wide). */
     .angelcity2026-jl-hero-video-frame {
       position: relative;
       width: 62%;
       flex-shrink: 0;
       aspect-ratio: 16 / 9;
       overflow: hidden;
       background: #000;
       z-index: 1;
       box-shadow: 0 12px 40px rgba(0, 0, 0, 0.18), 0 4px 12px rgba(0, 0, 0, 0.1);
       align-self: center;
     }
     
     @supports not (aspect-ratio: 16 / 9) {
       .angelcity2026-jl-hero-video-frame::before {
         content: '';
         display: block;
         padding-bottom: 56.25%;
       }
     }
     
     .angelcity2026-jl-hero-video {
       width: 100%;
       height: 100%;
       object-fit: cover;
       display: block;
     }
     
     .angelcity2026-jl-hero-base-bar { display: none; }
     
     .angelcity2026-jl-hero-date-badge {
       display: none;
     }
     
     .angelcity2026-jl-hero-date-month {
       font-family: 'Anton', sans-serif;
       font-size: 0.85rem;
       letter-spacing: 0.12em;
       text-transform: uppercase;
       margin-bottom: 2px;
       opacity: 0.85;
     }
     
     .angelcity2026-jl-hero-date-day {
       font-family: 'Anton', sans-serif;
       font-size: 2.2rem;
       line-height: 1;
       color: var(--sol-rosa);
     }
     
     .angelcity2026-jl-hero-content {
       position: relative;
       z-index: 3;
       display: flex;
       flex-direction: column;
       justify-content: center;
       align-items: center;
       gap: 1.1rem;
       background: linear-gradient(135deg, #fafafa 0%, #ffffff 50%, #f8f8f8 100%);
       padding: 50px 56px;
       margin-left: -60px;
       flex: 4 1 0;
       min-width: 0;
       min-height: 400px;
       border-radius: 12px 0 0 12px;
       box-shadow: -8px 0 32px rgba(0, 0, 0, 0.08), -4px 0 12px rgba(0, 0, 0, 0.04);
       border: 1px solid rgba(0, 0, 0, 0.06);
       align-self: stretch;
     }
     
     .angelcity2026-jl-hero-content::before {
       content: '';
       position: absolute;
       inset: 0;
       background-image:
         radial-gradient(circle at 20% 80%, rgba(241, 177, 165, 0.03) 0%, transparent 50%),
         radial-gradient(circle at 80% 20%, rgba(32, 33, 33, 0.02) 0%, transparent 50%);
       pointer-events: none;
       border-radius: 12px 0 0 12px;
     }
   
     .angelcity2026-jl-hero-content::after {
       content: '';
       position: absolute;
       left: 0;
       top: 10%;
       bottom: 10%;
       width: 3px;
       background: linear-gradient(180deg, transparent, var(--sol-rosa), transparent);
       border-radius: 2px;
       z-index: 4;
       pointer-events: none;
     }
     
     .angelcity2026-jl-hero-content > * {
       max-width: 600px;
       width: 100%;
     }
     
     .angelcity2026-jl-hero h1 {
       font-family: 'Anton', sans-serif;
       font-size: clamp(2.5rem, 4.5vw, 3.75rem);
       font-weight: 400;
       letter-spacing: 0.03em;
       color: var(--asphalt);
       line-height: 0.95;
       text-transform: uppercase;
       margin: 0;
       text-align: center;
     }
     
     .angelcity2026-jl-hero h1 span { color: var(--sol-rosa); }
     
     /* Eyebrow + subcopy (same visual language as SlidingHeroCountdown; scoped here for standalone module) */
     .angelcity2026-cd-event-header {
       text-align: center;
       width: 100%;
       max-width: 500px;
       margin-left: auto;
       margin-right: auto;
       background: none;
       border-radius: 0;
       padding: 0 0 0px 0;
       border-bottom: 0px solid rgba(32, 33, 33, 0.08);
       margin-bottom: 0px;
       box-shadow: none;
     }
   
     .angelcity2026-cd-eyebrow {
       display: block;
       flex-shrink: 0;
       font-family: 'Anton', sans-serif;
       font-size: 0.9rem;
       font-weight: 400;
       letter-spacing: 0.1em;
       line-height: 1;
       text-transform: uppercase;
       color: var(--asphalt);
       margin-bottom: 14px;
       opacity: 0.85;
     }
   
     .angelcity2026-cd-event-header h1 {
       color: var(--asphalt);
     }
   
     .angelcity2026-jl-hero-presented-by {
       display: flex;
       flex-wrap: wrap;
       align-items: center;
       justify-content: center;
       gap: 0.5rem 0.4rem;
       margin-top: 0.6rem;
     }
   
     .angelcity2026-jl-hero-presented-label {
       font-family: 'Anton', sans-serif;
       font-size: 0.925rem;
       font-weight: 400;
       letter-spacing: 0.1em;
       text-transform: uppercase;
       color: var(--asphalt);
       opacity: 0.85;
       line-height: 1;
       display: block;
       flex-shrink: 0;
     }
   
     /* Line-height:0 removes extra descender gap under the SVG so flex centering is true center */
     .angelcity2026-jl-hero-bmo-wrap {
       display: flex;
       align-items: center;
       justify-content: center;
       flex-shrink: 0;
       height: 1.5rem;
       line-height: 0;
     }
   
     .angelcity2026-jl-hero-bmo-logo {
       height: 1.5rem;
       width: auto;
       max-width: 120px;
       display: block;
       margin: 0;
       padding: 0;
       object-fit: contain;
       object-position: center;
     }
   
     .angelcity2026-jl-hero-event-highlights {
       width: 100%;
       max-width: 100%;
       box-sizing: border-box;
       margin-left: auto;
       margin-right: auto;
       padding-bottom: .7rem;
     }
   
     .angelcity2026-jl-hero p.angelcity2026-jl-hero-ticket-line {
       margin: 0 auto;
       font-size: 0.95rem;
       font-weight: 500;
       line-height: 1.6;
       max-width: 490px;
       width: 100%;
       text-align: center;
     }
   
     .angelcity2026-jl-hero-ticket-pack-link {
       text-decoration: underline;
       text-decoration-color: var(--sol-rosa);
       text-decoration-thickness: max(2px, 0.14em);
       text-underline-offset: 0.2em;
       font-weight: 600;
       transition: color 0.2s ease, text-decoration-color 0.2s ease, text-decoration-thickness 0.2s ease;
     }
   
     .angelcity2026-jl-hero-ticket-pack-link:hover,
     .angelcity2026-jl-hero-ticket-pack-link:focus-visible {
       color: var(--pitch-black) !important;
       text-decoration: underline;
       text-decoration-color: var(--sol-rosa);
       text-decoration-thickness: max(2px, 0.14em);
       text-underline-offset: 0.2em;
     }
   
     /* Subcopy (restore when <p class="angelcity2026-cd-subcopy"> is uncommented in HTML) */
     /*
     .angelcity2026-jl-hero p.angelcity2026-cd-subcopy {
       font-size: 0.88rem;
       font-weight: 500;
       color: var(--asphalt);
       line-height: 1.55;
       margin: 12px 0 0;
       text-align: center;
       letter-spacing: 0.01em;
       width: 100%;
       max-width: 100%;
       opacity: 0.92;
     }
     */
     
     .angelcity2026-jl-hero-match-info {
       display: flex;
       flex-direction: column;
       background: var(--asphalt);
       border-radius: 12px;
       max-width: 500px;
       overflow: hidden;
       box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25);
       border: 2px solid rgba(0, 0, 0, 0.1);
       margin-bottom: 0.75rem; /* extra space before CTAs (column gap is on top of this) */
     }
     
     .angelcity2026-jl-hero-match-date {
       font-family: 'Anton', sans-serif;
       font-size: 1.1rem;
       letter-spacing: 0.12em;
       text-transform: uppercase;
       color: var(--sol-rosa);
       text-align: center;
       padding: 14px 26px;
       background: rgba(0, 0, 0, 0.3);
       border-bottom: 1px solid rgba(255, 255, 255, 0.1);
     }
     
     .angelcity2026-jl-hero-matchup {
       display: flex;
       align-items: center;
       justify-content: center;
       gap: 18px;
       padding: 18px 24px;
     }
     
     .angelcity2026-jl-hero-team {
       display: flex;
       align-items: center;
       gap: 12px;
     }
     
     .angelcity2026-jl-hero-team-logo {
       width: 44px;
       height: 44px;
       object-fit: contain;
       flex-shrink: 0;
     }
     
     .angelcity2026-jl-hero-team-name {
       font-family: 'Anton', sans-serif;
       font-size: 1.15rem;
       letter-spacing: 0.03em;
       text-transform: uppercase;
       color: var(--line-white);
       line-height: 1.2;
     }
     
     .angelcity2026-jl-hero-vs {
       font-family: 'Anton', sans-serif;
       font-size: 1.1rem;
       letter-spacing: 0.08em;
       color: var(--sol-rosa);
       flex-shrink: 0;
     }
     
     .angelcity2026-jl-hero p {
       font-size: 1.08rem;
       font-weight: 500;
       max-width: 415px;
       color: var(--asphalt);
       line-height: 1.7;
       margin: 0;
       opacity: 0.92;
       text-align: center;
     }
     
     .angelcity2026-jl-hero-actions {
       display: flex;
       width: 100%;
       margin-top: 0;
       justify-content: center;
     }
   
     .angelcity2026-jl-hero-cta-zone {
       width: 100%;
       max-width: 350px;
       margin-left: auto;
       margin-right: auto;
       display: flex;
       justify-content: center;
       align-items: center;
       box-sizing: border-box;
     }
   
     .angelcity2026-jl-hero-actions-group {
       display: inline-flex;
       flex-direction: column;
       align-items: stretch;
       gap: 0.75rem;
       width: 100%;
     }
   
     .angelcity2026-jl-hero-actions-row {
       display: flex;
       gap: 0.75rem;
       justify-content: center;
     }
   
     .angelcity2026-jl-hero-btn-full {
       justify-content: center;
     }
     
     .angelcity2026-jl-hero-actions .angelcity2026-sh-btn-primary {
       padding: 1.15rem 2.9rem;
       font-size: 1.1rem;
       color: #1c1c1c !important;
       box-shadow: 0 8px 24px rgba(241, 177, 165, 0.45);
       border: 2px solid transparent;
       transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
     }
     
     .angelcity2026-jl-hero-actions .angelcity2026-sh-btn-primary:hover {
       box-shadow: 0 12px 32px rgba(241, 177, 165, 0.55);
       color: #1c1c1c !important;
       transform: translateY(-2px);
     }
     
     /* ===========================================
        SLIDE 3 — STATIC IMAGE HERO
        Preserved exactly from the working original
        =========================================== */
     
     .angelcity2026-schedule-container {
       position: relative;
       width: 100%;
       overflow: hidden;
       height: 56.25dvw;
       max-height: 787.5px;
       min-height: 300px;
     }
     
     /* Blur layer: no default background-image — each static slide sets its own (matches main hero art). */
     .angelcity2026-schedule-container::before {
       content: '';
       position: absolute;
       top: -20px;
       left: -20px;
       right: -20px;
       bottom: -20px;
       background-size: auto;
       background-position: center;
       background-repeat: no-repeat;
       filter: blur(8px);
       z-index: 1;
     }
   
     /*
      * Sharp layer on the container + blurred ::before = same art as <picture>.
      * The <img> sits on top; if it fails to paint, the background still shows.
      */
     .angelcity2026-schedule-container.angelcity2026-mealdeal-hero {
       background-color: #141414;
       background-image: url('https://40065855.fs1.hubspotusercontent-na1.net/hubfs/40065855/ACFC26_YoungHeroesMealDeal_PaidAd_Desktop.jpg');
       background-size: cover;
       background-position: center;
       background-repeat: no-repeat;
     }
   
     .angelcity2026-schedule-container.angelcity2026-flare-hero {
       background-color: #141414;
       background-image: url('https://40065855.fs1.hubspotusercontent-na1.net/hubfs/40065855/(V1-SAVY+GISELE)ACFC26_JERSEY-LAUNCH_HERO-STATIC-SUSTAIN_FLARE-KIT_16x9.png');
       background-size: cover;
       background-position: center;
       background-repeat: no-repeat;
     }
   
     /* Slide 1 — Meal Deal: blurred duplicate (cover fills the layer; auto can paint nothing visible) */
     .angelcity2026-schedule-container.angelcity2026-mealdeal-hero::before {
       background-image: url('https://40065855.fs1.hubspotusercontent-na1.net/hubfs/40065855/ACFC26_YoungHeroesMealDeal_PaidAd_Desktop.jpg');
       background-size: cover;
     }
   
     /* Slide 3 — Flare static */
     .angelcity2026-schedule-container.angelcity2026-flare-hero::before {
       background-image: url('https://40065855.fs1.hubspotusercontent-na1.net/hubfs/40065855/(V1-SAVY+GISELE)ACFC26_JERSEY-LAUNCH_HERO-STATIC-SUSTAIN_FLARE-KIT_16x9.png');
       background-size: cover;
     }
     
     .angelcity2026-schedule-container-homeopener::before {
       background-image: url('https://40065855.fs1.hubspotusercontent-na1.net/hubfs/40065855/ACFC26_HOME-OPENER-HERO_STATIC_Desktop.png');
       background-size: auto;
       background-position: center;
       background-repeat: no-repeat;
     }
     
     .angelcity2026-schedule-wrapper {
       position: relative;
       max-width: fit-content;
       margin: 0 auto;
       height: 100%;
       z-index: 4;
     }
   
     .angelcity2026-schedule-wrapper picture {
       display: block;
       width: 100%;
       height: 100%;
     }
     
     .angelcity2026-schedule-link {
       display: block;
       position: absolute;
       top: 0;
       left: 0;
       right: 0;
       bottom: 0;
       width: 100%;
       height: 100%;
       text-decoration: none;
       border: none;
       outline: none;
       z-index: 3;
     }
     
     .angelcity2026-schedule-link:focus {
       outline: 2px solid #fff;
       outline-offset: 2px;
       z-index: 10;
     }
     
     .angelcity2026-schedule-image {
       width: 100%;
       height: auto;
       display: block;
       position: relative;
       z-index: 5;
     }
     
     /* Align with <picture> desktop breakpoint (768px), not 969px — avoids unfilled hero 768–968px */
     @media (min-width: 768px) {
       .angelcity2026-schedule-container {
         /* Keep static slides above the fold on desktop / tablet landscape */
         height: min(56.25dvw, calc(72dvh + 61px));
         min-height: 0;
       }
     
       .angelcity2026-schedule-image {
         height: 100%;
         object-fit: cover;
         object-position: center;
       }
     }
     
     /* ===========================================
        RESPONSIVE — DESKTOP (min-width: 1201px)
        Video capped at 65%; copy panel grows to fill the row (no right gap).
        Typography stays narrow via .angelcity2026-jl-hero-content > * max-width.
        =========================================== */
     
     @media (min-width: 1201px) {
       /* Copy panel fills remaining width; video stretches to full row height (no letterboxing from 16:9 + align-self:center). */
       .angelcity2026-jl-hero-video-frame {
         flex: 15 1 0;
         max-width: 62%;
         width: auto;
         flex-shrink: 1;
         align-self: stretch;
         aspect-ratio: auto;
         min-height: 0;
       }
     
       .angelcity2026-jl-hero-content {
         flex: 7 1 0;
         min-width: 0;
         max-width: none;
       }
     }
     
     /* ===========================================
        RESPONSIVE — TABLET (max-width: 1200px)
        =========================================== */
     
     @media (max-width: 1200px) {
       /* Side-by-side (969–1200px): match copy column height like desktop; stacked mobile resets below in max-width:968px. */
       .angelcity2026-jl-hero-video-frame {
         flex: 5.5 1 0;
         max-width: min(62%, calc(100% - 300px), 56vw);
         width: auto;
         flex-shrink: 1;
         align-self: stretch;
         aspect-ratio: auto;
         min-height: 0;
       }
   
       .angelcity2026-jl-hero-content {
         margin-left: -40px;
         padding: 44px;
         flex: 4.5 1 0;
         min-width: 0;
         max-width: none;
       }
     
       .angelcity2026-jl-hero h1 { font-size: clamp(2.25rem, 4.5vw, 3.25rem); }
       .angelcity2026-jl-hero-team-logo { width: 36px; height: 36px; }
       .angelcity2026-jl-hero-team-name { font-size: 1rem; }
       .angelcity2026-jl-hero-matchup { padding: 16px 20px; gap: 14px; }
       .angelcity2026-jl-hero-match-date { padding: 12px 22px; font-size: 1.05rem; }
   
       .angelcity2026-cd-eyebrow { font-size: 0.88rem; margin-bottom: 12px; }
       .angelcity2026-jl-hero-presented-label { font-size: 0.9rem; }
       .angelcity2026-jl-hero-bmo-wrap { height: 1.5rem; }
       .angelcity2026-cd-event-header { padding: 0 0 0px 0; }
       /* .angelcity2026-jl-hero p.angelcity2026-cd-subcopy { font-size: 0.82rem; } */
     
       .angelcity2026-jl-hero-actions .angelcity2026-sh-btn-primary,
       .angelcity2026-jl-hero-actions .angelcity2026-sh-btn-secondary {
         padding: 1rem 2.2rem;
         font-size: 1rem;
       }
     }
     
     /* ===========================================
        RESPONSIVE — MOBILE (max-width: 968px)
        =========================================== */
     
     @media (max-width: 968px) {
     
       /* Video hero: stack vertically */
       .angelcity2026-jl-hero-inner {
         flex-direction: column;
         gap: 0;
       }
       .angelcity2026-jl-hero-video-controls {
       right: 16px;
       bottom: 26px; /* was 16px */
     }
       .angelcity2026-jl-hero-video-controls {
     height: 30px;
     padding: 0 12px;
     font-size: 0.65rem;
     gap: 6px;
   }
       .angelcity2026-jl-hero-video-controls:hover,
   .angelcity2026-jl-hero-video-controls:active {
     background: rgba(32, 33, 33, 0.75);
     border-color: rgba(241, 177, 165, 0.5);
     color: #fff;
   }
   
   .angelcity2026-jl-hero-video-controls svg {
     width: 13px;
     height: 13px;
   }
       .angelcity2026-jl-hero-video-frame {
         flex: none;
         width: 100%;
         max-width: none;
         min-width: 0;
         order: 1;
         aspect-ratio: 16 / 9;
       }
     
       .angelcity2026-jl-hero-content {
         flex: none;
         order: 2;
         margin-left: 0;
         margin-top: -10px;
         padding: 36px 32px 36px;
         max-width: 100%;
         min-width: 0;
         min-height: 0;
         width: 100%;
         border-radius: 12px 12px 0 0;
         box-shadow: 0 -8px 30px rgba(0, 0, 0, 0.1);
         align-items: center;
       }
   
       .angelcity2026-jl-hero-content::after {
         display: none;
       }
     
       .angelcity2026-jl-hero h1 {
         font-size: clamp(2.25rem, 9vw, 3.25rem);
         text-align: center;
       }
       .angelcity2026-jl-hero-matchup { gap: 14px; padding: 14px 16px; }
       .angelcity2026-jl-hero-match-date { padding: 12px 18px; font-size: 1rem; }
       .angelcity2026-cd-eyebrow { font-size: 0.82rem; margin-bottom: 12px; }
       .angelcity2026-jl-hero-presented-by {
         align-items: center;
         row-gap: 0.4rem;
       }
       .angelcity2026-jl-hero-presented-label {
         font-size: 0.85rem;
         display: flex;
         align-items: center;
         justify-content: center;
         height: 1.5rem;
         line-height: 1;
       }
       .angelcity2026-jl-hero-bmo-wrap { height: 1.35rem; }
       .angelcity2026-cd-event-header {
         text-align: center;
         padding: 0;
         margin-bottom: 0;
         border-bottom: none;
       }
       .angelcity2026-jl-hero-event-highlights {
         padding-bottom: 0.5rem;
       }
       .angelcity2026-jl-hero-bmo-logo { height: 1.35rem; max-width: 100px; }
       /* .angelcity2026-jl-hero p.angelcity2026-cd-subcopy { font-size: 0.85rem; line-height: 1.45; } */
       .angelcity2026-jl-hero p { text-align: center; }
       .angelcity2026-jl-hero-team-name { font-size: 1rem; }
       .angelcity2026-jl-hero-team-logo { width: 36px; height: 36px; }
   
       /* Tighter gap + wrapping; logo and name vertically centered as a row. */
       .angelcity2026-jl-hero-team {
         align-items: center;
         justify-content: flex-start;
         gap: 8px;
       }
   
       .angelcity2026-jl-hero-team-name {
         flex: 0 1 auto;
         min-width: 0;
         text-align: center;
         line-height: 1.15;
       }
     
       .angelcity2026-jl-hero-actions-group {
         width: 100%;
         align-items: center;
       }
   
       .angelcity2026-jl-hero-actions {
         justify-content: center;
       }
   
       .angelcity2026-jl-hero-actions-row {
         /* Buy Tickets (2nd in DOM) first on mobile; BUY SUITES second */
         flex-direction: column-reverse;
         width: 100%;
         align-items: center;
       }
     
       .angelcity2026-jl-hero-actions .angelcity2026-sh-btn {
         width: 100%;
         justify-content: center;
         padding: 1.15rem 2rem;
         font-size: 1rem;
       }
   
       /* Swap primary/secondary surfaces on mobile (stacked CTAs use column-reverse; visual order matches intent) */
       .angelcity2026-jl-hero-actions .angelcity2026-sh-btn-primary {
         background: var(--asphalt);
         color: var(--line-white) !important;
         border: 2px solid var(--asphalt);
         box-shadow: 0 6px 20px rgba(32, 33, 33, 0.3), 0 2px 8px rgba(32, 33, 33, 0.15);
       }
   
       .angelcity2026-jl-hero-actions .angelcity2026-sh-btn-primary:hover,
       .angelcity2026-jl-hero-actions .angelcity2026-sh-btn-primary:active {
         background: var(--pitch-black);
         border-color: var(--pitch-black);
         color: var(--line-white) !important;
         box-shadow: 0 10px 28px rgba(32, 33, 33, 0.4);
       }
   
       .angelcity2026-jl-hero-actions .angelcity2026-sh-btn-secondary {
         background: var(--sol-rosa);
         color: #1c1c1c !important;
         border: 2px solid transparent;
         box-shadow: 0 8px 24px rgba(241, 177, 165, 0.45);
       }
   
       .angelcity2026-jl-hero-actions .angelcity2026-sh-btn-secondary:hover,
       .angelcity2026-jl-hero-actions .angelcity2026-sh-btn-secondary:active {
         background: var(--sol-rosa-dark);
         color: #1c1c1c !important;
         border-color: transparent;
         box-shadow: 0 12px 32px rgba(241, 177, 165, 0.55);
       }
     
       .angelcity2026-sliding-hero-dots {
         bottom: 8px;
       }
     
       /* Dots: smaller on mobile, white fill with black border, active stays pink */
       .angelcity2026-sliding-hero-dot {
         width: 10px;
         height: 10px;
         background: #fff;
         border: 2px solid rgba(0, 0, 0, 0.5);
       }
       .angelcity2026-sliding-hero-dot:hover {
         background: rgba(0, 0, 0, 0.15);
       }
       .angelcity2026-sliding-hero-dot.angelcity2026-sliding-hero-dot-active {
         width: 24px;
         background: var(--sol-rosa) !important;
         border-color: var(--sol-rosa) !important;
       }
     }
     
     /* ===========================================
        RESPONSIVE — MOBILE IMAGE (max-width: 767px)
        Matches original hpResponsiveHero exactly
        =========================================== */
     
     @media (max-width: 767px) {
       .angelcity2026-sliding-hero-container {
         width: 100%;
         margin-left: 0;
         margin-right: 0;
       }
     
       .angelcity2026-schedule-container {
         height: 100vw;
         max-height: 100vw;
         width: 100%;
         min-height: unset;
       }
   
       /* Mobile art for static heroes (match <picture> max-width: 767px sources) */
       .angelcity2026-schedule-container.angelcity2026-mealdeal-hero {
         background-image: url('https://40065855.fs1.hubspotusercontent-na1.net/hubfs/40065855/ACFC26_YoungHeroesMealDeal_PaidAd.jpg');
       }
   
       .angelcity2026-schedule-container.angelcity2026-flare-hero {
         background-image: url('https://40065855.fs1.hubspotusercontent-na1.net/hubfs/40065855/(V1-SAVY+GISELE)ACFC26_JERSEY-LAUNCH_HERO-STATIC-SUSTAIN_FLARE-KIT_1x1.png');
       }
     
       .angelcity2026-schedule-container::before {
         display: none;
       }
     
       .angelcity2026-schedule-image {
         width: 100%;
         height: 100%;
         object-fit: cover;
         object-position: center;
       }
     }
     
     /* ===========================================
        RESPONSIVE — SMALL MOBILE (max-width: 480px)
        =========================================== */
     
     @media (max-width: 480px) {
       .angelcity2026-jl-hero-content {
         margin-top: -10px;
         padding: 28px 24px 28px;
         gap: 1rem;
       }
     
       .angelcity2026-jl-hero h1 { font-size: clamp(2rem, 8.5vw, 2.75rem); }
       .angelcity2026-jl-hero-matchup { gap: 10px; padding: 12px 14px; justify-content: center; }
       .angelcity2026-jl-hero-match-date { padding: 10px 16px; font-size: 0.92rem; letter-spacing: 0.1em; }
       .angelcity2026-cd-eyebrow { font-size: 0.78rem; margin-bottom: 8px; }
       .angelcity2026-cd-event-header { padding: 0; }
       .angelcity2026-jl-hero-presented-label {
         font-size: 0.85rem;
         display: flex;
         align-items: center;
         justify-content: center;
         height: 1.35rem;
         line-height: 1;
       }
       .angelcity2026-jl-hero-bmo-wrap { height: 1.2rem; }
       .angelcity2026-jl-hero-event-highlights {
         padding-bottom: 0.4rem;
       }
       .angelcity2026-jl-hero-bmo-logo { height: 1.2rem; max-width: 90px; }
       .angelcity2026-jl-hero p.angelcity2026-jl-hero-ticket-line { max-width: 300px; font-size: 0.88rem; line-height: 1.55; }
       /* .angelcity2026-jl-hero p.angelcity2026-cd-subcopy { font-size: 0.8rem; line-height: 1.4; margin-top: 8px; } */
       .angelcity2026-jl-hero-team { gap: 6px; }
       .angelcity2026-jl-hero-team-name { font-size: 0.85rem; line-height: 1.12; }
       .angelcity2026-jl-hero-team-logo { width: 30px; height: 30px; }
     
       .angelcity2026-jl-hero-actions .angelcity2026-sh-btn {
         width: 100%;
         padding: 1.05rem 1.5rem;
         font-size: 0.95rem;
       }
     
       .angelcity2026-jl-hero p { font-size: 0.95rem; }
     }
     
     @media (min-width: 2030px) {
       .angelcity2026-schedule-wrapper {
         width: 2000px;
       }
     }
   
   @font-face {
     font-family: 'Anton';
     src: url('../Anton-Regular.ttf') format('truetype');
     font-weight: normal;
     font-style: normal;
     font-display: swap;
   }
   
   :root {
     --sol-rosa: #F1B1A5;
     --sol-rosa-dark: #e0a094;
     --asphalt: #202121;
     --armour: #898C8F;
     --line-white: #FFFFFF;
     --pitch-black: #000000;
     --text-dark: #202121;
     --border-color: #e5e5e5;
     --transition: all 0.3s ease;
     --surface-elevated: #ffffff;
     --surface-subtle: #fafafa;
     --shadow-sm: 0 1px 3px rgba(0,0,0,0.06), 0 1px 2px rgba(0,0,0,0.04);
     --shadow-md: 0 4px 16px rgba(0,0,0,0.08), 0 2px 6px rgba(0,0,0,0.04);
     --shadow-lg: 0 16px 48px rgba(0,0,0,0.12), 0 6px 16px rgba(0,0,0,0.06);
     --shadow-xl: 0 24px 64px rgba(0,0,0,0.16), 0 8px 24px rgba(0,0,0,0.08);
     --shadow-rosa: 0 12px 36px rgba(241, 177, 165, 0.3);
     --radius-sm: 8px;
     --radius-md: 14px;
     --radius-lg: 20px;
     --radius-xl: 28px;
     --radius-full: 9999px;
     --ease-out: cubic-bezier(0.23, 1, 0.32, 1);
     --primary-black: #0a0a0a;
     --primary-white: #ffffff;
   }
   
   * { margin: 0; padding: 0; box-sizing: border-box; }
   
   .acfc-camps-wrap .angelcity2026-App {
     font-family: 'Segoe UI', 'Roboto', -apple-system, BlinkMacSystemFont, sans-serif;
     color: var(--text-dark);
     background-color: var(--line-white);
     width: 100%;
     max-width: 100%;
     overflow-x: visible;
     -webkit-font-smoothing: antialiased;
     -moz-osx-font-smoothing: grayscale;
   }
   
   .acfc-camps-wrap .angelcity2026-container {
     max-width: 1340px;
     margin: 0 auto;
     padding: 0 40px;
   }
   
   
   /* ===========================================
      BUTTONS
      =========================================== */
   
   .acfc-camps-wrap .angelcity2026-btn {
     display: inline-flex;
     align-items: center;
     justify-content: center;
     gap: 0.5rem;
     border: none;
     border-radius: var(--radius-full);
     font-family: 'Anton', sans-serif;
     font-size: 1rem;
     font-weight: 400;
     letter-spacing: 0.04em;
     text-transform: uppercase;
     text-decoration: none;
     cursor: pointer;
     transition: all 0.35s var(--ease-out);
     padding: 1rem 2.5rem;
     white-space: nowrap;
     box-sizing: border-box;
   }
   
   .acfc-camps-wrap .angelcity2026-btn-primary {
     background: var(--sol-rosa);
     color: var(--pitch-black);
     box-shadow: var(--shadow-rosa);
   }
   .acfc-camps-wrap .angelcity2026-btn-primary:hover {
     background: var(--sol-rosa-dark);
     transform: translateY(-3px);
     box-shadow: 0 18px 48px rgba(241, 177, 165, 0.45);
   }
   
   .acfc-camps-wrap .angelcity2026-btn-dark {
     background: var(--asphalt);
     color: var(--line-white);
     box-shadow: var(--shadow-md);
   }
   .acfc-camps-wrap .angelcity2026-btn-dark:hover {
     background: var(--sol-rosa);
     color: var(--pitch-black);
     box-shadow: var(--shadow-rosa);
     transform: translateY(-3px);
   }
   
   .acfc-camps-wrap .angelcity2026-btn {
     position: relative;
     overflow: hidden;
   }
   .acfc-camps-wrap .angelcity2026-btn::after {
     content: '';
     position: absolute; inset: 0;
     background: linear-gradient(135deg, rgba(255,255,255,0.2) 0%, transparent 50%);
     opacity: 0;
     transition: opacity 0.35s ease;
   }
   .acfc-camps-wrap .angelcity2026-btn:hover::after { opacity: 1; }
   
   
   /* ===========================================
      SHARED SECTION STYLES
      =========================================== */
   
   .acfc-camps-wrap .acfc-comm-section-title {
     font-family: 'Anton', sans-serif;
     font-size: clamp(1.75rem, 3vw, 2.5rem);
     font-weight: 400;
     text-transform: uppercase;
     letter-spacing: 0.05em;
     text-align: left;
     color: var(--asphalt);
     margin: 0 0 12px;
     line-height: 1.05;
   }
   
   .acfc-camps-wrap .acfc-comm-section-subtitle {
     font-size: clamp(1rem, 1.4vw, 1.15rem);
     text-align: left;
     color: var(--armour);
     max-width: 680px;
     margin: 0 0 2rem;
     line-height: 1.7;
   }
   
   .acfc-camps-wrap .acfc-comm-feature-eyebrow {
     display: inline-block;
     font-size: 0.68rem;
     font-weight: 700;
     letter-spacing: 0.22em;
     text-transform: uppercase;
     color: var(--sol-rosa);
     margin-bottom: 8px;
   }
   
   
   /* ===========================================
      1. HERO
      =========================================== */
   
   .acfc-camps-wrap .acfc-comm-hero {
     position: relative;
     background: linear-gradient(135deg, #fafafa 0%, #f5f5f5 50%, #f0f0f0 100%);
     overflow: hidden;
   }
   
   .acfc-camps-wrap .acfc-comm-hero::before {
     content: '';
     position: absolute; inset: 0;
     background:
       radial-gradient(ellipse at 0% 50%, rgba(241,177,165,0.04) 0%, transparent 50%),
       radial-gradient(ellipse at 100% 50%, rgba(32,33,33,0.03) 0%, transparent 50%);
     pointer-events: none;
   }
   
   .acfc-camps-wrap .acfc-comm-hero::after {
     content: '';
     position: absolute;
     bottom: 0; left: 0; right: 0;
     height: 3px;
     background: linear-gradient(to right, transparent 0%, var(--sol-rosa) 50%, transparent 100%);
     opacity: 0.5;
     z-index: 10;
   }
   
   .acfc-camps-wrap .acfc-comm-hero-inner {
     position: relative;
     z-index: 2;
     max-width: 100%;
     margin: 0 auto;
     display: flex;
     align-items: stretch;
   }
   
   .acfc-camps-wrap .acfc-comm-hero-image-frame {
     position: relative;
     width: 60%;
     flex-shrink: 0;
     overflow: hidden;
     background: #0a0a0a;
     z-index: 1;
   }
   
   .acfc-camps-wrap .acfc-comm-hero-img {
     width: 100%;
     height: 100%;
     object-fit: cover;
     display: block;
     min-height: 480px;
   }
   
   .acfc-camps-wrap .acfc-comm-hero-image-overlay {
     position: absolute; inset: 0;
     background: linear-gradient(to right, transparent 60%, rgba(250,250,250,0.6) 100%);
     pointer-events: none;
   }
   
   .acfc-camps-wrap .acfc-comm-hero-content {
     position: relative;
     z-index: 3;
     display: flex;
     flex-direction: column;
     justify-content: center;
     align-items: center;
     gap: 1.35rem;
     background: linear-gradient(145deg, #ffffff 0%, #fafafa 40%, #f5f5f5 100%);
     padding: 64px 72px 64px 72px;
     margin-left: -80px;
     flex: 1;
     min-width: 480px;
     border-radius: var(--radius-lg) 0 0 var(--radius-lg);
     box-shadow:
       -16px 0 56px rgba(0,0,0,0.12),
       -4px 0 16px rgba(0,0,0,0.04),
       inset 0 1px 0 rgba(255,255,255,0.9),
       inset 0 -1px 0 rgba(0,0,0,0.02);
     align-self: stretch;
   }
   .acfc-camps-wrap .acfc-comm-hero-content::after {
     content: '';
     position: absolute;
     bottom: 0; left: 10%; right: 10%;
     height: 2px;
     background: linear-gradient(90deg, transparent, var(--sol-rosa), transparent);
     opacity: 0.35;
   }
   
   .acfc-camps-wrap .acfc-comm-hero-content > * {
     max-width: 540px;
     width: 100%;
   }
   
   .acfc-camps-wrap .acfc-comm-hero-eyebrow {
     display: block;
     font-size: 0.68rem;
     font-weight: 700;
     letter-spacing: 0.22em;
     text-transform: uppercase;
     color: var(--sol-rosa);
     margin-bottom: -4px;
     text-align: center;
     width: 100%;
   }
   
   .acfc-camps-wrap .acfc-comm-hero h1 {
     font-family: 'Anton', sans-serif;
     font-size: clamp(2.75rem, 5vw, 4.25rem);
     font-weight: 400;
     letter-spacing: 0.04em;
     color: var(--asphalt);
     line-height: 0.92;
     text-transform: uppercase;
     margin: 0;
     text-align: center;
   }
   
   .acfc-camps-wrap .acfc-camps-hero-tagline {
     font-family: 'Anton', sans-serif;
     font-size: 1.35rem;
     font-weight: 400;
     letter-spacing: 0.14em;
     color: var(--sol-rosa);
     text-align: center;
     margin: -0.25rem 0 0;
     position: relative;
     display: flex;
     align-items: center;
     justify-content: center;
     gap: 1rem;
   }
   .acfc-camps-wrap .acfc-camps-hero-tagline::before,
   .acfc-camps-wrap .acfc-camps-hero-tagline::after {
     content: '';
     width: 32px; height: 2px;
     background: var(--sol-rosa);
     opacity: 0.5;
     border-radius: 1px;
   }
   
   .acfc-camps-wrap .acfc-comm-hero p {
     font-size: 1.05rem;
     font-weight: 500;
     max-width: 420px;
     color: var(--asphalt);
     letter-spacing: 0.015em;
     line-height: 1.75;
     margin: 0 auto;
     opacity: 0.88;
     text-align: center;
   }
   
   .acfc-camps-wrap .acfc-camps-hero-ctas {
     display: flex;
     align-items: center;
     justify-content: center;
     gap: 1rem;
     margin-top: 0.5rem;
     flex-wrap: wrap;
   }
   
   
   /* ===========================================
      2. FEATURE SECTIONS
      =========================================== */
   
   .acfc-camps-wrap .acfc-comm-feature {
     padding: 100px 0;
     background: linear-gradient(180deg, var(--surface-subtle) 0%, var(--surface-elevated) 100%);
     position: relative;
   }
   .acfc-camps-wrap .acfc-comm-feature::before {
     content: '';
     position: absolute; top: 0; left: 5%; right: 5%;
     height: 1px;
     background: linear-gradient(90deg, transparent 0%, var(--border-color) 50%, transparent 100%);
   }
   .acfc-camps-wrap .acfc-comm-feature:nth-child(even) {
     background: linear-gradient(180deg, var(--surface-elevated) 0%, var(--surface-subtle) 100%);
   }
   
   .acfc-camps-wrap .acfc-camps-section-header {
     text-align: center;
     margin-bottom: 0;
   }
   .acfc-camps-wrap .acfc-camps-section-header .acfc-comm-section-subtitle:last-child {
     margin-bottom: 0;
   }
   .acfc-camps-wrap .acfc-camps-section-header .acfc-comm-section-title::after {
     content: '';
     display: block;
     width: 48px;
     height: 3px;
     background: var(--sol-rosa);
     margin: 16px auto 0;
     border-radius: 2px;
   }
   .acfc-camps-wrap .acfc-camps-section-header .acfc-comm-section-title {
     text-align: center;
   }
   .acfc-camps-wrap .acfc-camps-section-header .acfc-comm-section-subtitle {
     text-align: center;
     max-width: 720px;
     margin-left: auto;
     margin-right: auto;
   }
   
   /* --- Tiled hero (FanHub-style grid + Global Game Tour-style overlay) --- */
   .acfc-camps-wrap .acfc-camps-tile-hero {
     position: relative;
     z-index: 2;
     overflow: hidden;
     box-shadow: 0 24px 56px rgba(0, 0, 0, 0.35);
     min-height: 0;
     display: grid;
     grid-template-columns: minmax(0, 1fr);
     grid-template-rows: minmax(0, auto);
   }
   
   .acfc-camps-wrap .acfc-camps-tile-hero-bg {
     grid-column: 1;
     grid-row: 1;
     z-index: 0;
     min-width: 0;
     align-self: stretch;
     display: flex;
   }
   
   .acfc-camps-wrap .acfc-camps-tile-hero-grid {
     display: grid;
     grid-template-columns: repeat(4, minmax(0, 1fr));
     gap: 0;
     width: 100%;
     flex: 1;
     align-content: center;
     padding: 0;
     box-sizing: border-box;
   }
   
   .acfc-camps-wrap .acfc-camps-tile-hero-cell {
     position: relative;
     /* Shorter mosaic for compact hero copy */
     aspect-ratio: 2 / 1;
     border-radius: 0;
     border: none;
     box-shadow: none;
     background-color: #1a1a1a;
     background-size: cover;
     background-position: center 30%;
     background-repeat: no-repeat;
     overflow: hidden;
   }
   
   .acfc-camps-wrap .acfc-camps-tile-hero-overlay {
     grid-column: 1;
     grid-row: 1;
     z-index: 1;
     align-self: stretch;
     justify-self: stretch;
     width: 100%;
     /* Center vignette + bottom weight: readable copy without flattening the whole mosaic */
     background:
       radial-gradient(
         ellipse min(92%, 72rem) min(88%, 42rem) at 50% 48%,
         rgba(0, 0, 0, 0.76) 0%,
         rgba(0, 0, 0, 0.38) 52%,
         transparent 72%
       ),
       linear-gradient(
         to top,
         rgba(0, 0, 0, 0.92) 0%,
         rgba(0, 0, 0, 0.42) 38%,
         rgba(0, 0, 0, 0.14) 100%
       );
     pointer-events: none;
   }
   
   .acfc-camps-wrap .acfc-camps-tile-hero-inner {
     grid-column: 1;
     grid-row: 1;
     position: relative;
     z-index: 2;
     display: flex;
     align-items: center;
     justify-content: center;
     width: 100%;
     max-width: 100%;
     /* Shrink-wrap to copy + center that block in the mosaic (avoids top bias from uneven vertical padding) */
     align-self: center;
     justify-self: stretch;
     padding: 0;
     padding-bottom: max(0px, env(safe-area-inset-bottom, 0px));
     box-sizing: border-box;
   }
   
   .acfc-camps-wrap .acfc-camps-tile-hero-content {
     display: block;
     min-width: 0;
     max-width: min(36rem, 100%);
     width: 100%;
     text-align: center;
     padding: clamp(1.1rem, 2.5vw, 1.65rem) clamp(1.15rem, 3vw, 2rem);
     position: relative;
     isolation: isolate;
     cursor: default;
   }
   
   /* Non-interactive copy inherits default (overrides global link cursor on hero panel) */
   .acfc-camps-wrap .acfc-camps-tile-hero-content * {
     cursor: inherit;
   }
   
   .acfc-camps-wrap .acfc-camps-tile-hero-content .acfc-camps-tile-hero-btn,
   .acfc-camps-wrap .acfc-camps-tile-hero-content .acfc-camps-tile-hero-btn * {
     cursor: pointer;
   }
   
   /* Frosted scrim behind copy for contrast on busy tile edges */
   .acfc-camps-wrap .acfc-camps-tile-hero-content::before {
     content: '';
     position: absolute;
     inset: 0;
     border-radius: var(--radius-xl);
     background: rgba(10, 10, 10, 0.5);
     box-shadow:
       0 12px 48px rgba(0, 0, 0, 0.35),
       inset 0 0 0 1px rgba(255, 255, 255, 0.07);
     backdrop-filter: blur(4px) saturate(1.15);
     -webkit-backdrop-filter: blur(6px) saturate(1.15);
     z-index: -1;
   }
   
   .acfc-camps-wrap .acfc-camps-tile-hero-title {
     font-family: 'Anton', sans-serif;
     font-size: clamp(2.4rem, 5.5vw, 4rem);
     letter-spacing: 0.03em;
     text-transform: uppercase;
     line-height: 0.95;
     color: var(--line-white);
     text-shadow:
       0 2px 3px rgba(0, 0, 0, 0.85),
       0 8px 36px rgba(0, 0, 0, 0.55);
     margin: 0 0 6px;
   }
   
   /* Eyebrow / kicker — same format as Play. Learn. Belong. */
   .acfc-camps-wrap .acfc-camps-tile-hero-tagline {
     display: table;
     width: auto;
     max-width: none;
     margin: 0 auto;
     position: relative;
     font-family: 'Segoe UI', 'Roboto', -apple-system, BlinkMacSystemFont, sans-serif;
     font-size: clamp(0.9rem, 3.2vw, 1.15rem);
     font-weight: 700;
     letter-spacing: 0.16em;
     text-transform: uppercase;
     color: var(--sol-rosa);
     padding: 0 2px 0.5rem;
     line-height: 1.4;
     text-shadow: 0 1px 10px rgba(0, 0, 0, 0.55);
   }
   
   .acfc-camps-wrap .acfc-camps-tile-hero-tagline::after {
     content: '';
     position: absolute;
     left: 0;
     right: 0;
     bottom: 0;
     height: 2px;
     background: rgba(241, 177, 165, 0.78);
   }
   
   .acfc-camps-wrap .acfc-camps-tile-hero-actions {
     display: flex;
     flex-wrap: wrap;
     gap: 12px;
     justify-content: center;
   }
   
   .acfc-camps-wrap .acfc-camps-tile-hero-btn {
     display: inline-flex;
     align-items: center;
     justify-content: center;
     gap: 0.5rem;
     border-radius: 30px;
     font-family: 'Anton', sans-serif;
     font-size: 1rem;
     font-weight: 400;
     letter-spacing: 0.08em;
     text-transform: uppercase;
     text-decoration: none;
     cursor: pointer;
     transition: var(--transition);
     padding: 1rem 2.25rem;
     white-space: nowrap;
     box-sizing: border-box;
     min-height: 48px;
   }
   
   .acfc-camps-wrap .acfc-camps-tile-hero-btn-primary {
     background: var(--sol-rosa);
     color: var(--pitch-black);
     border: 2px solid transparent;
     box-shadow: 0 8px 28px rgba(241, 177, 165, 0.45);
   }
   
   .acfc-camps-wrap .acfc-camps-tile-hero-btn-primary:hover {
     background: #ffffff;
     color: var(--pitch-black);
     transform: translateY(-2px);
     box-shadow: 0 12px 32px rgba(241, 177, 165, 0.5);
   }
   
   @media (max-width: 968px) {
     /* Tiled hero: mobile layout is shorter/taller — ease vignette + scrim so photos read as clearly as desktop */
     .acfc-camps-wrap .acfc-camps-tile-hero-overlay {
       background:
         radial-gradient(
           ellipse min(92%, 72rem) min(88%, 42rem) at 50% 46%,
           rgba(0, 0, 0, 0.5) 0%,
           rgba(0, 0, 0, 0.24) 54%,
           transparent 74%
         ),
         linear-gradient(
           to top,
           rgba(0, 0, 0, 0.58) 0%,
           rgba(0, 0, 0, 0.26) 42%,
           rgba(0, 0, 0, 0.07) 100%
         );
     }
   
     .acfc-camps-wrap .acfc-camps-tile-hero-content::before {
       backdrop-filter: blur(3.5px) saturate(1.15) !important;
       }
     /* 2 columns × auto rows → all eight hero tiles on small screens */
     .acfc-camps-wrap .acfc-camps-tile-hero-grid {
       grid-template-columns: repeat(2, minmax(0, 1fr));
       grid-auto-rows: auto;
       grid-auto-flow: row;
       gap: 0;
       padding: 0;
     }
   
     .acfc-camps-wrap .acfc-camps-tile-hero-cell {
       border-radius: 0;
     }
   
     .acfc-camps-wrap .acfc-camps-tile-hero-inner {
       align-self: center;
       justify-self: stretch;
       align-items: center;
       padding-top: clamp(14px, 4vw, 28px);
       padding-bottom: clamp(14px, 4vw, 28px);
       padding-left: max(0px, env(safe-area-inset-left, 0px));
       padding-right: max(0px, env(safe-area-inset-right, 0px));
     }
   
     .acfc-camps-wrap .acfc-camps-tile-hero-title {
       font-size: clamp(1.85rem, 6.5vw, 2.85rem);
       margin-bottom: 6px;
     }
   
     .acfc-camps-wrap .acfc-camps-tile-hero-tagline {
       font-size: clamp(0.82rem, 3.4vw, 1.05rem);
       letter-spacing: 0.15em;
       padding-bottom: 0.45rem;
     }
   
     .acfc-camps-wrap .acfc-camps-tile-hero-content {
       max-width: min(28rem, 100%);
       padding: clamp(1rem, 3.5vw, 1.5rem) clamp(1rem, 3.5vw, 1.35rem);
     }
   
     .acfc-camps-wrap .acfc-camps-tile-hero-content::before {
       border-radius: var(--radius-lg);
       background: rgba(10, 10, 10, 0.36);
     }
   }
   
   @media (max-width: 480px) {
     .acfc-camps-wrap .acfc-camps-tile-hero-grid {
       gap: 0;
       padding: 0;
     }
   
     .acfc-camps-wrap .acfc-camps-tile-hero-cell {
       border-radius: 0;
     }
   
     .acfc-camps-wrap .acfc-camps-tile-hero-inner {
       align-self: center;
       justify-self: stretch;
       padding-top: clamp(10px, 3.5vw, 18px);
       padding-bottom: clamp(10px, 3.5vw, 18px);
     }
   
     .acfc-camps-wrap .acfc-camps-tile-hero-content {
       max-width: 100%;
       padding: clamp(0.85rem, 3vw, 1.2rem) clamp(0.65rem, 3vw, 0.9rem);
     }
   
     .acfc-camps-wrap .acfc-camps-tile-hero-content::before {
       border-radius: var(--radius-md);
       background: rgba(10, 10, 10, 0.34);
     }
   
     .acfc-camps-wrap .acfc-camps-tile-hero-title {
       font-size: clamp(1.5rem, 8vw, 2.1rem);
       margin-bottom: 4px;
     }
   
     .acfc-camps-wrap .acfc-camps-tile-hero-tagline {
       font-size: clamp(0.78rem, 3.8vw, 0.98rem);
       letter-spacing: 0.14em;
     }
   }
   
   /* Overview: desktop — video fills entire media column; mobile — portrait frame (see max-width: 968px) */
   .acfc-camps-wrap .acfc-camps-overview-media.acfc-camps-overview-photo {
     position: relative;
     display: block;
     min-height: 0;
     width: 100%;
     height: 100%;
     align-self: stretch;
   }
   
   .acfc-camps-wrap .acfc-camps-overview-video-frame {
     position: absolute;
     inset: 0;
     width: 100%;
     height: 100%;
     aspect-ratio: unset;
     max-height: none;
     flex-shrink: 0;
     background: #000;
     overflow: hidden;
     border-radius: 0;
   }
   
   .acfc-camps-wrap .acfc-camps-overview-video {
     width: 100%;
     height: 100%;
     object-fit: cover;
     object-position: center;
     display: block;
   }
   
   .acfc-camps-wrap .acfc-camps-overview-media .acfc-camps-overview-video-controls,
   .acfc-camps-wrap .acfc-camps-overview-media .angelcity2026-jl-hero-video-controls {
     bottom: 16px;
     right: 16px;
     z-index: 2;
   }
   
   @media (max-width: 968px) {
     .acfc-camps-wrap .acfc-camps-overview-media .acfc-camps-overview-video-controls,
     .acfc-camps-wrap .acfc-camps-overview-media .angelcity2026-jl-hero-video-controls {
       right: 14px;
       bottom: 14px;
     }
   }
   
   /* JL hero copy column: tighter rhythm, warmer panel, clear title → tagline → body → CTA */
   .acfc-camps-wrap .acfc-camps-jl-hero .angelcity2026-jl-hero-content {
     gap: 0;
     background: linear-gradient(148deg, #fbfbfb 0%, #ffffff 38%, #f4f4f5 100%);
     box-shadow:
       -8px 0 36px rgba(0, 0, 0, 0.07),
       -3px 0 14px rgba(0, 0, 0, 0.04),
       inset 0 1px 0 rgba(255, 255, 255, 0.85);
   }
   
   .acfc-camps-wrap .acfc-camps-jl-hero .angelcity2026-jl-hero-content::before {
     background-image:
       radial-gradient(ellipse 85% 55% at 18% 88%, rgba(241, 177, 165, 0.085) 0%, transparent 58%),
       radial-gradient(ellipse 70% 45% at 92% 12%, rgba(32, 33, 33, 0.04) 0%, transparent 55%);
   }
   
   .acfc-camps-wrap .acfc-camps-jl-hero .angelcity2026-jl-hero-content::after {
     width: 4px;
     opacity: 0.85;
     background: linear-gradient(
       180deg,
       transparent 0%,
       rgba(241, 177, 165, 0.35) 18%,
       var(--sol-rosa) 48%,
       rgba(241, 177, 165, 0.35) 82%,
       transparent 100%
     );
   }
   
   .acfc-camps-wrap .acfc-camps-jl-hero .acfc-camps-jl-hero-text-stack {
     display: flex;
     flex-direction: column;
     align-items: center;
     width: 100%;
     max-width: 560px;
     margin-left: auto;
     margin-right: auto;
     gap: 0;
   }
   
   .acfc-camps-wrap .acfc-camps-jl-hero .acfc-camps-jl-hero-text-stack .angelcity2026-cd-event-header {
     width: 100%;
     max-width: none;
     padding-bottom: 0.15rem;
   }
   
   .acfc-camps-wrap .acfc-camps-jl-hero .angelcity2026-cd-event-header h1 {
     letter-spacing: 0.055em;
     line-height: 1.02;
     color: var(--primary-black);
   }
   
   .acfc-camps-wrap .acfc-camps-jl-hero .angelcity2026-cd-event-header h1::after {
     content: '';
     display: block;
     width: min(72px, 18vw);
     height: 3px;
     margin: 1rem auto 0;
     border-radius: var(--radius-full);
     background: linear-gradient(
       90deg,
       transparent 0%,
       var(--sol-rosa-dark) 22%,
       var(--sol-rosa) 50%,
       var(--sol-rosa-dark) 78%,
       transparent 100%
     );
     opacity: 0.95;
   }
   
   .acfc-camps-wrap .acfc-camps-jl-hero .acfc-camps-jl-hero-lede {
     margin: 0 0 1.15rem;
     max-width: 36rem;
     font-size: clamp(1rem, 1.35vw, 1.125rem);
     font-weight: 400;
     line-height: 1.68;
     letter-spacing: 0.01em;
     color: rgba(32, 33, 33, 0.88);
     text-align: center;
     text-wrap: balance;
   }
   
   .acfc-camps-wrap .acfc-camps-jl-hero .angelcity2026-jl-hero-cta-zone {
     margin-top: 0;
     padding-top: 0;
     border-top: none;
     display: flex;
     flex-direction: column;
     align-items: center;
     width: 100%;
     max-width: 600px;
     margin-left: auto;
     margin-right: auto;
   }
   
   .acfc-camps-wrap .acfc-camps-jl-hero .angelcity2026-jl-hero-cta-zone::before {
     content: '';
     display: block;
     flex-shrink: 0;
     width: min(176px, 38%);
     height: 1px;
     margin: 0 0 1.2rem;
     background: linear-gradient(
       90deg,
       transparent 0%,
       rgba(32, 33, 33, 0.12) 22%,
       rgba(32, 33, 33, 0.18) 50%,
       rgba(32, 33, 33, 0.12) 78%,
       transparent 100%
     );
   }
   
   .acfc-camps-wrap .acfc-camps-jl-hero .acfc-camps-jl-hero-tagline {
     font-family: 'Anton', sans-serif;
     font-size: clamp(1rem, 2.1vw, 1.28rem);
     font-weight: 400;
     letter-spacing: 0.16em;
     text-transform: uppercase;
     color: var(--primary-black);
     text-align: center;
     display: block;
     width: fit-content;
     max-width: 100%;
     cursor: default;
     margin: 0.72rem auto 1.28rem;
     padding: 0.6rem 1.65rem;
     line-height: 1.2;
     background: linear-gradient(
       145deg,
       var(--sol-rosa) 0%,
       #f8cec4 42%,
       var(--sol-rosa-dark) 100%
     );
     border-radius: var(--radius-full);
     border: 1px solid rgba(0, 0, 0, 0.07);
     box-shadow:
       0 10px 32px rgba(241, 177, 165, 0.42),
       0 3px 10px rgba(0, 0, 0, 0.07),
       inset 0 1px 0 rgba(255, 255, 255, 0.52);
     text-shadow: none;
   }
   
   /* JL hero primary CTA: dark premium pill — reads clearly apart from pink tagline pill */
   .acfc-camps-wrap .acfc-camps-jl-hero .angelcity2026-jl-hero-actions .angelcity2026-sh-btn-primary {
     background: linear-gradient(
       165deg,
       #353636 0%,
       var(--asphalt) 45%,
       #161717 100%
     );
     color: var(--line-white) !important;
     border: 2px solid rgba(0, 0, 0, 0.42);
     box-shadow:
       0 10px 28px rgba(0, 0, 0, 0.24),
       0 3px 10px rgba(0, 0, 0, 0.12),
       inset 0 1px 0 rgba(255, 255, 255, 0.1);
   }
   
   .acfc-camps-wrap .acfc-camps-jl-hero .angelcity2026-jl-hero-actions .angelcity2026-sh-btn-primary:hover,
   .acfc-camps-wrap .acfc-camps-jl-hero .angelcity2026-jl-hero-actions .angelcity2026-sh-btn-primary:active {
     background: linear-gradient(
       165deg,
       #404141 0%,
       #343535 48%,
       var(--pitch-black) 100%
     );
     color: var(--line-white) !important;
     border-color: rgba(0, 0, 0, 0.55);
     box-shadow:
       0 14px 36px rgba(0, 0, 0, 0.3),
       0 4px 12px rgba(0, 0, 0, 0.14),
       inset 0 1px 0 rgba(255, 255, 255, 0.12);
     transform: translateY(-2px);
   }
   
   .acfc-camps-wrap .acfc-camps-jl-hero .angelcity2026-jl-hero-actions .angelcity2026-sh-btn-primary:focus-visible {
     outline: 2px solid var(--sol-rosa);
     outline-offset: 3px;
   }
   
   @media (max-width: 968px) {
     .acfc-camps-wrap .acfc-camps-jl-hero .angelcity2026-cd-event-header h1::after {
       margin-top: 0.82rem;
       width: min(60px, 22vw);
       height: 2px;
     }
   
     .acfc-camps-wrap .acfc-camps-jl-hero .acfc-camps-jl-hero-tagline {
       margin: 0.55rem auto 1.05rem;
     }
   
     .acfc-camps-wrap .acfc-camps-jl-hero .angelcity2026-jl-hero-cta-zone::before {
       width: min(152px, 52%);
       margin-bottom: 1.05rem;
     }
   
     .acfc-camps-wrap .acfc-camps-jl-hero .acfc-camps-jl-hero-lede {
       line-height: 1.64;
       margin-bottom: 1rem;
     }
   }
   
   @media (max-width: 480px) {
     .acfc-camps-wrap .acfc-camps-jl-hero .acfc-camps-jl-hero-lede {
       font-size: clamp(0.96rem, 4.2vw, 1.04rem);
       max-width: 100%;
       margin-bottom: 0.95rem;
     }
   
     .acfc-camps-wrap .acfc-camps-jl-hero .angelcity2026-jl-hero-cta-zone::before {
       width: min(140px, 58%);
       margin-bottom: 0.95rem;
     }
   }
   
   /* Overview — video + copy module (below hero) */
   .acfc-camps-wrap .acfc-comm-feature.acfc-camps-overview {
     padding: 56px 0 32px;
   }
   
   .acfc-camps-wrap .acfc-camps-overview .acfc-camps-overview-inner {
     max-width: 960px;
     margin-left: auto;
     margin-right: auto;
   }
   
   .acfc-camps-wrap .acfc-camps-overview-module {
     display: grid;
     grid-template-columns: minmax(0, min(100%, 300px)) minmax(0, 1fr);
     align-items: stretch;
     border-radius: var(--radius-xl);
     overflow: hidden;
     background: var(--surface-elevated);
     border: 1px solid rgba(0, 0, 0, 0.06);
     box-shadow: var(--shadow-lg);
     position: relative;
   }
   
   .acfc-camps-wrap .acfc-camps-overview-module::before {
     content: '';
     position: absolute;
     top: 0;
     left: 12%;
     right: 12%;
     height: 3px;
     background: linear-gradient(90deg, transparent, var(--sol-rosa), transparent);
     border-radius: 0 0 2px 2px;
     z-index: 2;
     pointer-events: none;
   }
   
   .acfc-camps-wrap .acfc-camps-overview-media {
     position: relative;
     min-width: 0;
     min-height: 0;
     align-self: stretch;
     background: var(--surface-subtle);
     overflow: hidden;
   }
   
   .acfc-camps-wrap .acfc-camps-overview-card {
     max-width: none;
     width: 100%;
     align-self: stretch;
     display: flex;
     flex-direction: column;
     align-items: center;
     justify-content: center;
     text-align: center;
     padding: clamp(1.15rem, 2.5vw, 1.75rem) clamp(1.25rem, 2.5vw, 2rem);
     background: transparent;
     border: none;
     border-radius: 0;
     box-shadow: none;
     border-left: 1px solid var(--border-color);
     position: relative;
     overflow: hidden;
   }
   
   .acfc-camps-wrap .acfc-camps-overview-card::before {
     display: none;
   }
   
   .acfc-camps-wrap .acfc-camps-overview-card .acfc-comm-feature-eyebrow {
     margin-bottom: 8px;
   }
   
   .acfc-camps-wrap .acfc-camps-overview-title {
     display: inline-flex;
     flex-direction: column;
     align-items: stretch;
     width: max-content;
     max-width: 100%;
     margin-left: auto;
     margin-right: auto;
     margin-bottom: 0.75rem;
     font-family: 'Anton', sans-serif;
     font-size: clamp(1.2rem, 2.2vw, 1.75rem);
     font-weight: 400;
     text-transform: uppercase;
     letter-spacing: 0.05em;
     line-height: 1.08;
     color: var(--asphalt);
     background: linear-gradient(135deg, #1c1c1c 0%, #3a3a3a 100%);
     -webkit-background-clip: text;
     -webkit-text-fill-color: transparent;
     background-clip: text;
   }
   
   .acfc-camps-wrap .acfc-camps-overview-title-line {
     display: block;
     text-align: center;
     white-space: nowrap;
   }
   .acfc-camps-wrap .acfc-camps-overview-title::after {
     content: '';
     display: block;
     width: 36px;
     height: 2px;
     background: var(--sol-rosa);
     margin: 0.65rem auto 0;
     border-radius: 2px;
   }
   
   .acfc-camps-wrap .acfc-camps-overview-body {
     font-size: clamp(0.88rem, 1.1vw, 0.98rem);
     line-height: 1.6;
     color: var(--armour);
     margin: 0 0 1.15rem;
     max-width: 520px;
   }
   
   .acfc-camps-wrap .acfc-camps-overview-stats {
     display: flex;
     flex-wrap: wrap;
     justify-content: center;
     gap: 0.5rem;
     width: 100%;
     max-width: 480px;
     border-top: 1px solid var(--border-color);
     padding-top: 1rem;
   }
   
   .acfc-camps-wrap .acfc-camps-overview-stat {
     flex: 1 1 0;
     min-width: 96px;
     display: flex;
     flex-direction: column;
     align-items: stretch;
     text-align: center;
     background: var(--surface-elevated);
     border-radius: var(--radius-md);
     overflow: hidden;
     box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06);
     transition: transform 0.35s var(--ease-out), box-shadow 0.35s var(--ease-out);
   }
   
   .acfc-camps-wrap .acfc-camps-overview-stat:hover {
     transform: translateY(-2px);
     box-shadow: 0 8px 28px rgba(0, 0, 0, 0.1);
   }
   
   .acfc-camps-wrap .acfc-camps-overview-stat-label {
     font-size: 0.58rem;
     font-weight: 700;
     text-transform: uppercase;
     letter-spacing: 0.12em;
     color: var(--pitch-black);
     background: var(--sol-rosa);
     padding: 6px 8px;
     margin: 0;
     line-height: 1.3;
     display: block;
     text-align: center;
   }
   
   .acfc-camps-wrap .acfc-camps-overview-stat-value {
     font-family: 'Anton', sans-serif;
     font-size: 0.82rem;
     font-weight: 400;
     letter-spacing: 0.04em;
     text-transform: uppercase;
     color: var(--asphalt);
     line-height: 1.25;
     padding: 10px 8px;
     flex: 1;
     display: flex;
     align-items: center;
     justify-content: center;
   }
   
   .acfc-camps-wrap .acfc-camps-programs-grid {
     display: grid;
     grid-template-columns: repeat(2, 1fr);
     gap: 2rem;
     max-width: 1000px;
     margin: 3rem auto 0;
   }
   
   /* Programs + Who: one module, desktop 2 columns */
   .acfc-camps-wrap .acfc-camps-programs-who-module {
     padding: clamp(3.25rem, 6vw, 5rem) 0 clamp(3.5rem, 6vw, 5.25rem);
     background: linear-gradient(180deg, var(--surface-subtle) 0%, var(--surface-elevated) 40%, var(--surface-subtle) 100%);
     border-bottom: 1px solid var(--border-color);
     box-shadow: inset 0 1px 0 0 rgba(0, 0, 0, 0.06);
     position: relative;
   }
   
   .acfc-camps-wrap .acfc-camps-programs-who-module::before {
     content: '';
     position: absolute;
     top: 0;
     left: 5%;
     right: 5%;
     height: 1px;
     background: linear-gradient(90deg, transparent 0%, var(--border-color) 50%, transparent 100%);
   }
   
   .acfc-camps-wrap .acfc-camps-programs-who-inner {
     display: grid;
     grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
     gap: clamp(2.25rem, 5vw, 3.5rem);
     align-items: start;
     max-width: 1180px;
     margin-left: auto;
     margin-right: auto;
     padding: 0;
     background: none;
     border: none;
     border-radius: 0;
     box-shadow: none;
   }
   
   .acfc-camps-wrap .acfc-camps-programs-who-programs {
     min-width: 0;
   }
   
   .acfc-camps-wrap .acfc-camps-programs-who-programs .acfc-camps-programs-grid {
     grid-template-columns: 1fr;
     gap: 1.5rem;
     margin: 1.35rem 0 0;
     max-width: none;
   }
   
   .acfc-camps-wrap .acfc-camps-programs-who-who {
     min-width: 0;
     align-self: start;
     padding-left: clamp(1.25rem, 3.5vw, 2rem);
     padding-right: clamp(1.25rem, 3.5vw, 2rem);
     border-left: 1px solid var(--border-color);
   }
   
   .acfc-camps-wrap .acfc-camps-programs-who-module .acfc-camps-who-section {
     background: transparent;
     padding: 0;
     border-bottom: none;
     box-shadow: none;
   }
   
   .acfc-camps-wrap .acfc-camps-programs-who-module .acfc-camps-who-section::before {
     display: none;
   }
   
   .acfc-camps-wrap .acfc-camps-programs-who-module .acfc-camps-who-combined {
     max-width: none;
     width: 100%;
     display: flex;
     flex-direction: column;
     align-items: center;
   }
   
   .acfc-camps-wrap .acfc-camps-programs-who-module .acfc-camps-who-heading {
     width: 100%;
   }
   
   .acfc-camps-wrap .acfc-camps-programs-who-module .acfc-comm-section-title,
   .acfc-camps-wrap .acfc-camps-programs-who-module .acfc-camps-who-heading .acfc-comm-dark-title {
     font-size: clamp(1.75rem, 3vw, 2.5rem);
     line-height: 1.05;
     letter-spacing: 0.05em;
     margin: 0 0 12px;
     padding-bottom: 0;
     color: var(--asphalt);
   }
   
   .acfc-camps-wrap .acfc-camps-programs-who-module .acfc-camps-who-heading .acfc-comm-dark-title::after {
     margin: 16px auto 0;
   }
   
   .acfc-camps-wrap .acfc-camps-programs-who-module .acfc-camps-who-panel {
     background: var(--surface-elevated);
     border: 1px solid rgba(0, 0, 0, 0.06);
     border-radius: var(--radius-xl);
     padding: 2.5rem;
     box-shadow: var(--shadow-lg);
     width: 100%;
     max-width: min(100%, 28rem);
     margin-left: auto;
     margin-right: auto;
   }
   
   .acfc-camps-wrap .acfc-camps-program-card {
     background: var(--surface-elevated);
     border: 1px solid rgba(0, 0, 0, 0.06);
     border-radius: var(--radius-xl);
     padding: 2.5rem;
     box-shadow: var(--shadow-lg);
     transition: all 0.45s var(--ease-out);
     position: relative;
     overflow: hidden;
   }
   .acfc-camps-wrap .acfc-camps-program-card:hover {
     box-shadow: var(--shadow-xl);
     transform: translateY(-6px);
     border-color: rgba(241, 177, 165, 0.2);
   }
   
   .acfc-camps-wrap .acfc-camps-program-title {
     font-family: 'Anton', sans-serif;
     font-size: 1.5rem;
     font-weight: 400;
     text-transform: uppercase;
     letter-spacing: 0.05em;
     color: var(--asphalt);
     margin: 0 0 1.25rem;
     padding-bottom: 1rem;
     border-bottom: 2px solid var(--sol-rosa);
     position: relative;
   }
   
   .acfc-camps-wrap .acfc-camps-program-desc {
     font-size: 1rem;
     line-height: 1.65;
     color: var(--armour);
     margin: 0 0 1rem;
   }
   
   .acfc-camps-wrap .acfc-camps-program-label {
     font-size: 0.75rem;
     font-weight: 700;
     text-transform: uppercase;
     letter-spacing: 0.1em;
     color: var(--sol-rosa);
     margin: 0 0 0.5rem;
   }
   
   .acfc-camps-wrap .acfc-camps-program-list {
     list-style: none;
     margin: 0;
     padding: 0;
   }
   .acfc-camps-wrap .acfc-camps-program-list li {
     position: relative;
     padding-left: 1.25rem;
     margin-bottom: 0.5rem;
     font-size: 0.95rem;
     line-height: 1.5;
     color: var(--asphalt);
   }
   .acfc-camps-wrap .acfc-camps-program-list li::before {
     content: '•';
     position: absolute;
     left: 0;
     color: var(--sol-rosa);
     font-weight: bold;
   }
   
   .acfc-camps-wrap .acfc-camps-benefits-grid {
     display: grid;
     grid-template-columns: repeat(3, 1fr);
     gap: 1.5rem;
     max-width: 940px;
     margin: 0 auto 1rem;
   }
   
   .acfc-camps-wrap .acfc-camps-benefit-card {
     text-align: center;
     padding: 2rem 1.5rem;
     background: var(--surface-subtle);
     border-radius: var(--radius-lg);
     border: 1px solid rgba(0, 0, 0, 0.04);
   }
   
   .acfc-camps-wrap .acfc-camps-benefit-card h4 {
     font-family: 'Anton', sans-serif;
     font-size: 1.05rem;
     font-weight: 400;
     text-transform: uppercase;
     letter-spacing: 0.04em;
     color: var(--asphalt);
     margin: 0 0 0.5rem;
   }
   
   .acfc-camps-wrap .acfc-camps-benefit-card p {
     font-size: 0.92rem;
     line-height: 1.6;
     color: var(--armour);
     margin: 0;
   }
   
   .acfc-camps-wrap .acfc-camps-camp-experience {
     display: grid;
     grid-template-columns: repeat(2, 1fr);
     gap: 1.75rem;
     margin-top: 3rem;
     max-width: 940px;
     margin-left: auto;
     margin-right: auto;
   }
   
   .acfc-camps-wrap .acfc-camps-experience-item {
     background: var(--surface-elevated);
     border-radius: var(--radius-lg);
     padding: 2rem;
     border: 1px solid rgba(0, 0, 0, 0.06);
     box-shadow: var(--shadow-md);
     transition: all 0.35s var(--ease-out);
   }
   .acfc-camps-wrap .acfc-camps-experience-item:hover {
     box-shadow: var(--shadow-lg);
     transform: translateY(-3px);
   }
   
   .acfc-camps-wrap .acfc-camps-experience-item h4 {
     font-family: 'Anton', sans-serif;
     font-size: 1.1rem;
     font-weight: 400;
     text-transform: uppercase;
     letter-spacing: 0.05em;
     color: var(--asphalt);
     margin: 0 0 0.5rem;
   }
   
   .acfc-camps-wrap .acfc-camps-experience-item p {
     font-size: 0.95rem;
     line-height: 1.6;
     color: var(--armour);
     margin: 0;
   }
   
   
   
   /* ===========================================
      3. DARK SECTIONS
      =========================================== */
   
   .acfc-camps-wrap .acfc-comm-dark-section {
     background: linear-gradient(180deg, #0a0a0a 0%, #111111 50%, #0a0a0a 100%);
     padding: 80px 0 70px;
     overflow: hidden;
     position: relative;
   }
   .acfc-camps-wrap .acfc-comm-dark-section::before {
     content: '';
     position: absolute; inset: 0;
     background:
       radial-gradient(ellipse at 50% 0%, rgba(241,177,165,0.04) 0%, transparent 60%),
       radial-gradient(ellipse at 50% 100%, rgba(241,177,165,0.02) 0%, transparent 60%);
     pointer-events: none;
   }
   
   .acfc-camps-wrap .acfc-comm-dark-header {
     text-align: center;
     padding: 0 40px;
     margin-bottom: 0;
     max-width: 800px;
     margin-left: auto;
     margin-right: auto;
     position: relative;
     z-index: 1;
   }
   
   .acfc-camps-wrap .acfc-comm-dark-eyebrow {
     display: inline-block;
     font-size: 0.68rem;
     font-weight: 700;
     letter-spacing: 0.22em;
     text-transform: uppercase;
     color: var(--sol-rosa);
     margin-bottom: 12px;
   }
   
   .acfc-camps-wrap .acfc-comm-dark-title {
     font-family: 'Anton', sans-serif;
     font-size: clamp(2.25rem, 4.5vw, 3.5rem);
     font-weight: 400;
     text-transform: uppercase;
     letter-spacing: 0.05em;
     color: #ffffff;
     line-height: 1;
     margin: 0 0 20px;
     padding-bottom: 16px;
   }
   .acfc-camps-wrap .acfc-comm-dark-title span { color: var(--sol-rosa); }
   .acfc-camps-wrap .acfc-comm-dark-title::after {
     content: '';
     display: block;
     width: 48px;
     height: 3px;
     background: var(--sol-rosa);
     margin: 20px auto 0;
     border-radius: 2px;
   }
   
   .acfc-camps-wrap .acfc-comm-dark-subtitle {
     font-size: clamp(0.95rem, 1.3vw, 1.1rem);
     text-align: center;
     color: rgba(255,255,255,0.65);
     max-width: 720px;
     margin: 0 auto 1.5rem;
     line-height: 1.7;
   }
   
   .acfc-camps-wrap .acfc-camps-bullet-list {
     list-style: none;
     margin: 0 auto 2rem;
     padding: 0;
     max-width: 620px;
     text-align: left;
   }
   .acfc-camps-wrap .acfc-camps-bullet-list li {
     position: relative;
     padding: 0.75rem 1rem 0.75rem 2rem;
     margin-bottom: 0.5rem;
     font-size: 1rem;
     line-height: 1.6;
     color: rgba(255,255,255,0.9);
     background: rgba(255, 255, 255, 0.04);
     border-radius: var(--radius-sm);
     transition: background 0.3s ease;
   }
   .acfc-camps-wrap .acfc-camps-bullet-list li:hover {
     background: rgba(255, 255, 255, 0.07);
   }
   .acfc-camps-wrap .acfc-camps-bullet-list li::before {
     content: '';
     position: absolute;
     left: 0.75rem;
     top: 50%;
     transform: translateY(-50%);
     width: 6px; height: 6px;
     background: var(--sol-rosa);
     border-radius: 50%;
   }
   
   .acfc-camps-wrap .acfc-camps-note {
     font-size: 1.05rem;
     font-weight: 600;
     color: var(--sol-rosa);
     text-align: center;
     margin: 0.5rem 0 1.5rem;
     letter-spacing: 0.02em;
   }
   .acfc-camps-wrap .acfc-comm-dark-section .acfc-camps-note {
     padding: 0.75rem 1.5rem;
     background: rgba(241, 177, 165, 0.08);
     border-radius: 20px;
     display: inline-block;
   }
   
   .acfc-camps-wrap .acfc-camps-dark-subheading {
     font-family: 'Anton', sans-serif;
     font-size: clamp(1.25rem, 2.2vw, 1.6rem);
     font-weight: 400;
     text-transform: uppercase;
     letter-spacing: 0.06em;
     color: #ffffff;
     margin: 0 0 1rem;
     padding-top: 0;
     border-top: none;
   }
   
   /* Who Our Programs Are For — single combined panel */
   .acfc-camps-wrap .acfc-camps-who-section {
     background: linear-gradient(180deg, var(--surface-elevated) 0%, var(--surface-subtle) 100%);
     padding: clamp(3rem, 5.5vw, 4.25rem) 0 clamp(3.25rem, 5.5vw, 4.5rem);
     border-bottom: 1px solid var(--border-color);
     box-shadow: inset 0 1px 0 0 rgba(0, 0, 0, 0.06);
   }
   
   .acfc-camps-wrap .acfc-camps-who-section::before {
     background:
       radial-gradient(ellipse 85% 50% at 50% 0%, rgba(241, 177, 165, 0.07) 0%, transparent 52%),
       radial-gradient(ellipse 70% 45% at 50% 100%, rgba(32, 33, 33, 0.03) 0%, transparent 55%);
   }
   
   .acfc-camps-wrap .acfc-camps-who-section .acfc-comm-dark-title {
     color: var(--primary-black);
   }
   
   .acfc-camps-wrap .acfc-camps-who-section .acfc-comm-dark-subtitle {
     color: var(--armour);
   }
   
   .acfc-camps-wrap .acfc-camps-who-section .acfc-camps-dark-subheading {
     color: var(--asphalt);
   }
   
   .acfc-camps-wrap .acfc-camps-who-section .acfc-camps-bullet-list li {
     color: var(--text-dark);
     background: linear-gradient(180deg, #ffffff 0%, #f8f8f8 100%);
     border: 1px solid rgba(0, 0, 0, 0.09);
     border-radius: var(--radius-md);
     box-shadow: none;
     font-weight: 600;
     transition:
       transform 0.28s var(--ease-out),
       border-color 0.28s ease,
       background 0.28s ease;
   }
   
   .acfc-camps-wrap .acfc-camps-who-section .acfc-camps-bullet-list li:hover {
     background: #ffffff;
     border-color: rgba(241, 177, 165, 0.55);
     transform: translateY(-3px);
     box-shadow: none;
   }
   
   .acfc-camps-wrap .acfc-camps-who-section .acfc-camps-bullet-list li::before {
     width: 8px;
     height: 8px;
     box-shadow: 0 0 0 3px rgba(241, 177, 165, 0.35);
   }
   
   .acfc-camps-wrap .acfc-camps-who-section.acfc-comm-dark-section .acfc-camps-note,
   .acfc-camps-wrap .acfc-camps-programs-who-module .acfc-camps-who-panel .acfc-camps-note {
     background: linear-gradient(135deg, rgba(241, 177, 165, 0.22) 0%, rgba(241, 177, 165, 0.12) 100%);
     color: var(--primary-black);
     border: 1px solid rgba(241, 177, 165, 0.42);
     letter-spacing: 0.03em;
   }
   
   .acfc-camps-wrap .acfc-camps-who-section.acfc-comm-dark-section .acfc-camps-note {
     box-shadow: 0 6px 20px rgba(241, 177, 165, 0.22);
   }
   
   .acfc-camps-wrap .acfc-camps-programs-who-module .acfc-camps-who-panel .acfc-camps-note {
     box-shadow: none;
   }
   
   .acfc-camps-wrap .acfc-camps-form-section {
     padding-top: clamp(5rem, 10vw, 7rem);
     border-top: 1px solid rgba(255, 255, 255, 0.08);
     border-bottom: 1px solid var(--line-white);
     background: linear-gradient(180deg, #121212 0%, #0b0b0b 45%, #080808 100%);
   }
   
   .acfc-camps-wrap .acfc-camps-form-section::before {
     background:
       radial-gradient(ellipse 80% 40% at 50% 0%, rgba(241, 177, 165, 0.06) 0%, transparent 60%),
       radial-gradient(ellipse at 50% 100%, rgba(255, 255, 255, 0.02) 0%, transparent 55%);
   }
   .acfc-camps-wrap .acfc-camps-who-combined {
     max-width: 720px;
     margin-left: auto;
     margin-right: auto;
   }
   
   .acfc-camps-wrap .acfc-camps-who-heading {
     text-align: center;
     margin-bottom: 1.35rem;
   }
   
   .acfc-camps-wrap .acfc-camps-who-heading .acfc-comm-dark-eyebrow {
     margin-bottom: 10px;
   }
   
   .acfc-camps-wrap .acfc-camps-who-heading .acfc-camps-who-title {
     line-height: 1.05;
   }
   
   .acfc-camps-wrap .acfc-camps-who-panel {
     padding: 1.75rem 2rem 2rem;
     background: linear-gradient(165deg, #ffffff 0%, #fafafa 45%, #f5f5f5 100%);
     border: 1px solid rgba(0, 0, 0, 0.08);
     border-radius: var(--radius-lg);
     box-shadow:
       0 12px 36px rgba(0, 0, 0, 0.07),
       0 4px 12px rgba(0, 0, 0, 0.04),
       inset 0 1px 0 rgba(255, 255, 255, 0.95);
   }
   
   .acfc-camps-wrap .acfc-camps-who-panel .acfc-camps-bullet-list {
     margin: 0 0 1rem;
     max-width: 100%;
   }
   
   .acfc-camps-wrap .acfc-camps-who-panel .acfc-camps-note {
     display: block;
     width: fit-content;
     max-width: 100%;
     margin-left: auto;
     margin-right: auto;
     margin-bottom: 1.15rem;
     text-align: center;
     padding: 0.75rem 1.35rem;
     border-radius: var(--radius-lg);
   }
   
   .acfc-camps-wrap .acfc-camps-who-waiver-copy {
     margin: 0;
     padding-top: 1.15rem;
     border-top: 1px solid var(--border-color);
     font-size: clamp(0.92rem, 1.2vw, 1.02rem);
     line-height: 1.65;
     color: var(--armour);
     text-align: center;
     max-width: 38rem;
     margin-left: auto;
     margin-right: auto;
   }
   
   .acfc-camps-wrap .acfc-camps-who-waiver-copy strong {
     color: var(--asphalt);
     font-weight: 700;
   }
   
   .acfc-camps-wrap .acfc-comm-dark-cta-wrapper {
     text-align: center;
     margin-top: 1rem;
   }
   
   
   /* ===========================================
      5. EVENTS SECTION
      =========================================== */
   
   .acfc-camps-wrap .acfc-comm-events-section {
     padding: 100px 0;
     background: linear-gradient(180deg, var(--surface-elevated) 0%, var(--surface-subtle) 100%);
     position: relative;
   }
   .acfc-camps-wrap .acfc-comm-events-section::before {
     content: '';
     position: absolute; top: 0; left: 5%; right: 5%;
     height: 1px;
     background: linear-gradient(90deg, transparent 0%, var(--border-color) 50%, transparent 100%);
   }
   
   /* Upcoming events: horizontal strip + prev/next (aligned with UpcomingCarMaxCamps) */
   .acfc-camps-wrap .acfc-camps-events-carousel {
     --cc-trail: 40px;
     --cc-card-gap: 2rem;
     --cc-strip-inset-left: 0;
     width: 100%;
     overflow: visible;
   }
   
   .acfc-camps-wrap .acfc-camps-events-scroll-wrap {
     position: relative;
     width: 100%;
     overflow: visible;
   }
   
   .acfc-camps-wrap .acfc-camps-events-scroll {
     container-type: inline-size;
     container-name: cc-camps-events-strip;
     width: 100%;
     margin: 0;
     padding: 0 0 10px;
     max-width: none;
     overflow-x: auto;
     overflow-y: hidden;
     -webkit-overflow-scrolling: touch;
     scroll-snap-type: x mandatory;
     scroll-padding-inline: 0;
     overscroll-behavior-x: contain;
     touch-action: pan-x pinch-zoom;
     scrollbar-width: thin;
     scrollbar-color: rgba(225, 130, 117, 0.45) transparent;
   }

   /* Hide scrollbar entirely when all cards fit (no overflow) */
   .acfc-camps-wrap .acfc-camps-events-carousel:not(.is-overflowing) .acfc-camps-events-scroll {
     scrollbar-width: none;
   }
   .acfc-camps-wrap .acfc-camps-events-carousel:not(.is-overflowing) .acfc-camps-events-scroll::-webkit-scrollbar {
     display: none;
   }

   .acfc-camps-wrap .acfc-camps-events-scroll::-webkit-scrollbar {
     height: 4px;
   }
   
   .acfc-camps-wrap .acfc-camps-events-scroll::-webkit-scrollbar-track {
     background: transparent;
     border-radius: var(--radius-full);
   }
   
   .acfc-camps-wrap .acfc-camps-events-scroll::-webkit-scrollbar-thumb {
     background: rgba(225, 130, 117, 0.45);
     border-radius: var(--radius-full);
   }
   
   .acfc-camps-wrap .acfc-camps-events-nav,
   .acfc-camps-wrap .acfc-carmax-camps-nav {
     position: absolute;
     z-index: 5;
     top: 50%;
     transform: translateY(calc(-50% - 30px));
     width: 44px;
     height: 44px;
     padding: 0;
     margin: 0;
     border: 2px solid var(--border-color);
     border-radius: 50%;
     background: rgba(255, 255, 255, 0.96);
     color: var(--primary-black);
     box-shadow: var(--shadow-md);
     cursor: pointer;
     display: inline-flex;
     align-items: center;
     justify-content: center;
     transition: opacity 0.28s ease, border-color 0.28s ease, color 0.28s ease,
       box-shadow 0.28s ease;
   }
   
   .acfc-camps-wrap .acfc-camps-events-nav--prev,
   .acfc-camps-wrap .acfc-carmax-camps-nav--prev {
     left: 4px;
   }
   
   .acfc-camps-wrap .acfc-camps-events-nav--next,
   .acfc-camps-wrap .acfc-carmax-camps-nav--next {
     right: 4px;
   }
   
   .acfc-camps-wrap .acfc-camps-events-nav:not(:disabled):hover,
   .acfc-camps-wrap .acfc-carmax-camps-nav:not(:disabled):hover {
     border-color: var(--sol-rosa);
     box-shadow: var(--shadow-lg);
   }
   
   .acfc-camps-wrap .acfc-camps-events-nav:focus-visible,
   .acfc-camps-wrap .acfc-carmax-camps-nav:focus-visible {
     outline: 2px solid var(--sol-rosa);
     outline-offset: 3px;
   }
   
   .acfc-camps-wrap .acfc-camps-events-carousel:not(.is-overflowing) .acfc-camps-events-nav,
   .acfc-camps-wrap .acfc-carmax-camps-carousel:not(.is-overflowing) .acfc-carmax-camps-nav {
     opacity: 0;
     pointer-events: none;
   }

   /* ── ≤ 3 cards on desktop: kill the trail spacer, scroll, and nav arrows ──
      Only suppressed at ≥ 969px where all 3 cards fit side-by-side. On smaller
      screens cards still overflow horizontally so scroll affordances stay on.
      The ::after trail adds 40px of phantom width causing scrollWidth > clientWidth
      even when all cards fit — :has() catches this before JS measures anything. */
   @media (min-width: 969px) {
     .acfc-camps-wrap .acfc-camps-events-carousel:has(
       .angelcity2026-community-event-card:nth-child(-n+3):last-child
     ) .acfc-camps-events-nav {
       display: none;
     }
     .acfc-camps-wrap .acfc-camps-events-carousel:has(
       .angelcity2026-community-event-card:nth-child(-n+3):last-child
     ) .acfc-camps-events-scroll {
       overflow-x: hidden;
       scrollbar-width: none;
     }
     .acfc-camps-wrap .acfc-camps-events-carousel:has(
       .angelcity2026-community-event-card:nth-child(-n+3):last-child
     ) .acfc-camps-events-scroll::-webkit-scrollbar {
       display: none;
     }
     .acfc-camps-wrap .acfc-camps-events-carousel:has(
       .angelcity2026-community-event-card:nth-child(-n+3):last-child
     ) .angelcity2026-community-events-grid::after {
       width: 0;
     }

     /* Same treatment for the CarMax camps strip */
     .acfc-camps-wrap .acfc-carmax-camps-carousel:has(
       .angelcity2026-community-event-card:nth-child(-n+3):last-child
     ) .acfc-carmax-camps-nav {
       display: none;
     }
     .acfc-camps-wrap .acfc-carmax-camps-carousel:has(
       .angelcity2026-community-event-card:nth-child(-n+3):last-child
     ) .acfc-carmax-camps-scroll {
       overflow-x: hidden;
       scrollbar-width: none;
     }
     .acfc-camps-wrap .acfc-carmax-camps-carousel:has(
       .angelcity2026-community-event-card:nth-child(-n+3):last-child
     ) .acfc-carmax-camps-scroll::-webkit-scrollbar {
       display: none;
     }
     .acfc-camps-wrap .acfc-carmax-camps-carousel:has(
       .angelcity2026-community-event-card:nth-child(-n+3):last-child
     ) .angelcity2026-community-events-grid::after {
       width: 0;
     }
   }
   
   .acfc-camps-wrap .acfc-camps-events-nav:disabled,
   .acfc-camps-wrap .acfc-carmax-camps-nav:disabled {
     opacity: 0.38;
     cursor: default;
   }
   
   @media (min-width: 969px) {
     .acfc-camps-wrap .acfc-camps-events-nav,
     .acfc-camps-wrap .acfc-carmax-camps-nav {
       transform: translateY(-50%);
     }
   
     .acfc-camps-wrap .acfc-camps-events-nav--prev,
     .acfc-camps-wrap .acfc-carmax-camps-nav--prev {
       left: -30px;
     }
   
     .acfc-camps-wrap .acfc-camps-events-nav--next,
     .acfc-camps-wrap .acfc-carmax-camps-nav--next {
       right: -30px;
     }
   }
   
   @media (prefers-reduced-motion: reduce) {
     .acfc-camps-wrap .acfc-camps-events-scroll {
       scroll-snap-type: proximity;
     }
   }
   
   .acfc-camps-wrap .acfc-comm-events-section .angelcity2026-community-events-header {
     display: flex;
     justify-content: space-between;
     align-items: center;
     margin-bottom: 2.5rem;
     gap: 2rem;
   }
   
   .acfc-camps-wrap .acfc-comm-events-section .angelcity2026-community-events-title {
     font-family: 'Anton', sans-serif;
     font-size: clamp(1.65rem, 3vw, 2.35rem);
     font-weight: 400;
     text-transform: uppercase;
     letter-spacing: 0.04em;
     line-height: 1.15;
     margin: 0;
     color: var(--primary-black);
   }
   
   .acfc-camps-wrap .acfc-comm-events-section .angelcity2026-view-all-link a {
     display: inline-flex;
     align-items: center;
     gap: 0.75rem;
     font-family: 'Anton', sans-serif;
     font-size: 1.1rem;
     font-weight: normal;
     text-transform: uppercase;
     text-decoration: none;
     color: var(--primary-black);
     transition: all 0.35s var(--ease-out);
     white-space: nowrap;
   }
   .acfc-camps-wrap .acfc-comm-events-section .angelcity2026-view-all-link a:hover { color: var(--sol-rosa); }
   .acfc-camps-wrap .acfc-comm-events-section .angelcity2026-view-all-link svg {
     flex-shrink: 0;
     transition: transform 0.35s var(--ease-out);
   }
   .acfc-camps-wrap .acfc-comm-events-section .angelcity2026-view-all-link a:hover svg { transform: translateX(5px); }
   
   .acfc-camps-wrap .acfc-comm-events-section .angelcity2026-community-events-grid {
     display: flex;
     flex-wrap: nowrap;
     justify-content: flex-start;
     align-items: stretch;
     gap: var(--cc-card-gap, 2rem);
     width: max-content;
     min-width: 100%;
     max-width: none;
     margin: 0;
   }
   
   .acfc-camps-wrap .acfc-comm-events-section .angelcity2026-community-events-grid::after {
     content: '';
     flex-shrink: 0;
     align-self: stretch;
     width: var(--cc-trail, 40px);
   }
   
   .acfc-camps-wrap .acfc-comm-events-section .angelcity2026-community-event-card {
     background: var(--surface-elevated);
     border-radius: var(--radius-xl);
     overflow: hidden;
     box-shadow: var(--shadow-lg);
     transition: all 0.5s var(--ease-out);
     display: flex;
     flex-direction: column;
     border: 1px solid rgba(0,0,0,0.04);
     flex: 0 0 auto;
     width: min(440px, max(272px, 85vw));
     max-width: none;
     scroll-snap-align: start;
     scroll-snap-stop: normal;
   }
   
   @container cc-camps-events-strip (min-width: 900px) {
     .acfc-camps-wrap .acfc-comm-events-section .angelcity2026-community-event-card {
       width: max(
         248px,
         min(
           420px,
           calc((100cqi - 2 * var(--cc-card-gap)) / 3)
         )
       );
     }
   }
   .acfc-camps-wrap .acfc-comm-events-section .angelcity2026-community-event-card:hover {
     transform: translateY(-10px);
     box-shadow: var(--shadow-xl);
     border-color: rgba(241,177,165,0.15);
   }
   
   .acfc-camps-wrap .acfc-comm-events-section .angelcity2026-event-image-wrapper {
     position: relative;
     width: 100%;
     aspect-ratio: 16 / 9;
     height: auto;
     overflow: hidden;
     display: block;
     margin: 0;
     padding: 0;
     flex-shrink: 0;
     align-self: stretch;
     background-color: var(--surface-subtle);
   }
   
   .acfc-camps-wrap .acfc-comm-events-section .angelcity2026-event-image {
     position: absolute;
     top: 0; left: 0;
     width: 100%; height: 100%;
     /* cover: always fills the 16:9 frame (full width); non-16:9 sources crop instead of pillarboxing */
     background-size: cover;
     background-position: center;
     background-repeat: no-repeat;
     background-color: var(--surface-subtle);
     transition: opacity 0.35s var(--ease-out);
   }
   
   .acfc-camps-wrap .acfc-comm-events-section .angelcity2026-community-event-card:hover .angelcity2026-event-image {
     opacity: 0.92;
   }
   
   .acfc-camps-wrap .acfc-comm-events-section .angelcity2026-event-tags {
     position: absolute;
     top: 1rem; left: 1rem;
     display: flex; gap: 0.5rem;
     flex-wrap: wrap; z-index: 2;
   }
   
   .acfc-camps-wrap .acfc-comm-events-section .angelcity2026-event-tag {
     background: rgba(255, 255, 255, 0.92);
     backdrop-filter: blur(12px);
     color: var(--primary-black);
     padding: 0.375rem 0.875rem;
     border-radius: var(--radius-full);
     font-family: 'Anton', sans-serif;
     font-size: 0.72rem;
     font-weight: 400;
     text-transform: uppercase;
     letter-spacing: 0.04em;
     box-shadow: 0 2px 10px rgba(0, 0, 0, 0.12);
     display: inline-flex;
     align-items: center;
     line-height: 1;
   }
   
   .acfc-camps-wrap .acfc-comm-events-section .angelcity2026-event-soldout-badge {
     position: absolute;
     bottom: 1rem; left: 1rem;
     z-index: 2;
   }
   
   .acfc-camps-wrap .acfc-comm-events-section .angelcity2026-event-tag-soldout,
   .acfc-camps-wrap .acfc-comm-events-section .angelcity2026-event-tag-featured {
     background: var(--sol-rosa);
     color: var(--primary-black);
   }
   
   .acfc-camps-wrap .acfc-comm-events-section .angelcity2026-card-link {
     display: flex;
     flex-direction: column;
     flex-grow: 1;
     text-decoration: none;
     color: inherit;
   }
   
   .acfc-camps-wrap .acfc-comm-events-section .angelcity2026-event-content {
     padding: 1.75rem 1.75rem 1rem;
     display: flex;
     flex-direction: column;
     flex-grow: 1;
   }
   
   .acfc-camps-wrap .acfc-comm-events-section .angelcity2026-event-date {
     color: var(--primary-black);
     font-family: 'Anton', sans-serif;
     font-size: 0.85rem;
     font-weight: 400;
     line-height: 1.3;
     letter-spacing: 0.02em;
     text-transform: uppercase;
     margin-bottom: 0.75rem;
     display: flex;
     align-items: center;
     gap: 0.625rem;
     flex-wrap: wrap;
   }
   
   .acfc-camps-wrap .acfc-comm-events-section .angelcity2026-event-title {
     color: var(--primary-black);
     font-family: 'Anton', sans-serif;
     font-size: 1.45rem;
     font-weight: 400;
     line-height: 1.15;
     text-transform: uppercase;
     letter-spacing: 0.03em;
     margin: 0 0 0.75rem 0;
   }
   .acfc-camps-wrap .acfc-comm-events-section .angelcity2026-community-event-card:hover .angelcity2026-event-title {
     color: var(--sol-rosa-dark);
   }
   
   .acfc-camps-wrap .acfc-comm-events-section .angelcity2026-event-location {
     display: flex;
     align-items: flex-start;
     gap: 0.5rem;
     color: #666;
     flex-grow: 1;
   }
   .acfc-camps-wrap .acfc-comm-events-section .angelcity2026-event-location > svg {
     flex-shrink: 0;
     margin-top: 2px;
     color: var(--sol-rosa);
   }
   
   .acfc-camps-wrap .acfc-comm-events-section .angelcity2026-event-location-text {
     display: flex;
     flex-direction: column;
     gap: 0.125rem;
   }
   
   .acfc-camps-wrap .acfc-comm-events-section .angelcity2026-event-venue {
     font-size: 0.875rem;
     font-weight: 600;
     line-height: 1.4;
     color: var(--primary-black);
   }
   
   .acfc-camps-wrap .acfc-comm-events-section .angelcity2026-event-address {
     font-size: 0.8rem;
     font-weight: 400;
     line-height: 1.4;
     color: #888;
   }
   
   .acfc-camps-wrap .acfc-comm-events-section .angelcity2026-event-buttons {
     display: flex;
     gap: 0.75rem;
     margin-top: auto;
     padding: 0.5rem 1.75rem 1.75rem;
   }
   
   .acfc-camps-wrap .acfc-comm-events-section .angelcity2026-btn {
     flex: 1;
     min-width: 0;
     display: inline-flex;
     align-items: center;
     justify-content: center;
     gap: 0.5rem;
     border: none;
     border-radius: var(--radius-full);
     cursor: pointer;
     font-family: 'Anton', sans-serif;
     font-size: 0.92rem;
     font-weight: 400;
     text-transform: uppercase;
     text-decoration: none;
     text-align: center;
     padding: 0.95rem 1.25rem;
     transition: all 0.35s var(--ease-out);
     white-space: nowrap;
     line-height: 1;
     box-sizing: border-box;
   }
   
   .acfc-camps-wrap .acfc-comm-events-section .angelcity2026-btn-more-info {
     background: var(--primary-white);
     color: var(--primary-black);
     border: 1px solid var(--primary-black);
     box-shadow: var(--shadow-sm);
   }
   .acfc-camps-wrap .acfc-comm-events-section .angelcity2026-btn-more-info:hover {
     background: var(--primary-black);
     color: var(--primary-white);
     border-color: var(--primary-black);
     transform: translateY(-2px);
     box-shadow: var(--shadow-md);
   }
   
   .acfc-camps-wrap .acfc-comm-events-section .angelcity2026-btn-rsvp {
     background: var(--sol-rosa);
     color: var(--primary-black);
     border: 1px solid var(--sol-rosa);
     box-shadow: var(--shadow-sm);
   }
   .acfc-camps-wrap .acfc-comm-events-section .angelcity2026-btn-rsvp:hover {
     background: var(--sol-rosa-dark);
     border-color: var(--sol-rosa-dark);
     transform: translateY(-2px);
     box-shadow: var(--shadow-rosa);
   }
   
   .acfc-camps-wrap button.angelcity2026-btn.acfc-camps-eventbrite-btn {
     appearance: none;
     -webkit-appearance: none;
     text-decoration: none;
   }
   
   .acfc-camps-wrap .acfc-camps-no-events {
     text-align: center;
     padding: 3.5rem 2rem;
     background: var(--surface-subtle);
     border-radius: var(--radius-xl);
     margin-bottom: 2rem;
     border: 1px dashed var(--border-color);
   }
   .acfc-camps-wrap .acfc-camps-no-events p {
     font-size: 1.1rem;
     color: var(--armour);
     margin: 0;
     line-height: 1.7;
   }
   .acfc-camps-wrap .acfc-camps-no-events a {
     color: var(--sol-rosa);
     font-weight: 600;
     text-decoration: none;
     transition: color 0.3s ease;
   }
   .acfc-camps-wrap .acfc-camps-no-events a:hover {
     color: var(--sol-rosa-dark);
     text-decoration: underline;
   }
   
   .acfc-camps-wrap .acfc-camps-register-cta {
     text-align: center;
     margin-top: 3rem;
     padding-top: 2rem;
     border-top: 1px solid var(--border-color);
   }
   
   
   /* ===========================================
      8. QUESTIONS SECTION
      =========================================== */
   
   /* Form + Questions side-by-side layout */
   .acfc-camps-wrap .acfc-camps-form-contact-layout {
     display: grid;
     grid-template-columns: 1fr 320px;
     gap: 2.5rem;
     align-items: start;
     max-width: 1100px;
     margin: 0 auto;
   }
   
   .acfc-camps-wrap .acfc-camps-questions-panel {
     background: rgba(255, 255, 255, 0.06);
     border: 1px solid rgba(255, 255, 255, 0.1);
     border-radius: 24px;
     padding: 2.5rem 2rem;
     text-align: center;
     backdrop-filter: blur(12px);
     -webkit-backdrop-filter: blur(12px);
   }
   
   .acfc-camps-wrap .acfc-camps-questions-panel h3 {
     font-family: 'Anton', sans-serif;
     font-size: 1.5rem;
     font-weight: 400;
     text-transform: uppercase;
     letter-spacing: 0.04em;
     color: #ffffff;
     margin: 0 0 1rem;
   }
   
   .acfc-camps-wrap .acfc-camps-questions-panel p {
     font-size: 0.95rem;
     line-height: 1.7;
     color: rgba(255, 255, 255, 0.65);
     margin: 0 0 1.5rem;
   }
   
   .acfc-camps-wrap .acfc-camps-questions-panel .angelcity2026-btn {
     width: 100%;
   }
   
   /* Custom form  -  Community Partnerships */
   .acfc-camps-wrap .acfc-camps-form-wrapper {
     max-width: 700px;
     margin: 2.5rem auto 0;
     padding: 3.5rem;
     background: var(--primary-white);
     border-radius: 24px;
     box-shadow: 0 30px 60px rgba(0, 0, 0, 0.1);
     border: 1px solid rgba(241, 177, 165, 0.15);
   }
   
   .acfc-camps-wrap .acfc-camps-form-grid {
     display: grid;
     grid-template-columns: 1fr 1fr;
     gap: 1.25rem;
     width: 100%;
   }
   
   .acfc-camps-wrap .acfc-camps-form-grid .acfc-camps-form-group {
     width: 100%;
     min-width: 0;
   }
   
   .acfc-camps-wrap .acfc-camps-form-group {
     margin-bottom: 1.25rem;
     width: 100%;
   }
   
   .acfc-camps-wrap .acfc-camps-form-group label {
     display: block;
     font-weight: 700;
     color: var(--primary-black);
     font-size: 0.9rem;
     text-transform: uppercase;
     letter-spacing: 0.08em;
     margin-bottom: 0.75rem;
   }
   
   .acfc-camps-wrap .acfc-camps-form-group input,
   .acfc-camps-wrap .acfc-camps-form-group textarea {
     width: 100% !important;
     padding: 1.1rem 1.25rem !important;
     border: 1px solid #d4d4d4 !important;
     border-radius: 12px !important;
     font-size: 1rem !important;
     font-family: inherit !important;
     font-weight: 500 !important;
     color: var(--primary-black) !important;
     background: #ffffff !important;
     background-color: #ffffff !important;
     transition: all 0.3s var(--ease-out) !important;
     box-sizing: border-box !important;
     min-height: auto !important;
   }
   
   .acfc-camps-wrap .acfc-camps-form-group textarea {
     width: 100% !important;
     max-width: 100% !important;
     resize: vertical !important;
     min-height: 130px !important;
     display: block !important;
   }
   
   .acfc-camps-wrap .acfc-camps-form-group input:focus,
   .acfc-camps-wrap .acfc-camps-form-group textarea:focus {
     outline: none !important;
     border-color: var(--sol-rosa) !important;
     box-shadow: 0 0 0 3px rgba(241, 177, 165, 0.15) !important;
   }
   
   .acfc-camps-wrap .acfc-camps-form-title {
     font-family: 'Anton', sans-serif;
     font-size: 1.5rem;
     font-weight: 400;
     text-transform: uppercase;
     letter-spacing: 0.04em;
     color: var(--primary-black);
     text-align: center;
     margin: 0 0 2rem;
   }
   
   .acfc-camps-wrap .acfc-camps-form-submit {
     width: 100%;
     margin-top: 0.5rem;
   }
   
   .acfc-camps-wrap .acfc-camps-form-success {
     text-align: center;
     padding: 2rem;
   }
   .acfc-camps-wrap .acfc-camps-form-success p {
     font-family: 'Anton', sans-serif;
     font-size: 1.25rem;
     font-weight: 400;
     text-transform: uppercase;
     letter-spacing: 0.04em;
     color: var(--sol-rosa);
   }
   
   
   /* ===========================================
      RESPONSIVE
      =========================================== */
   
   @media (max-width: 1200px) {
     .acfc-camps-wrap .angelcity2026-container { padding: 0 32px; }
     .acfc-camps-wrap .acfc-comm-hero-content {
       margin-left: -50px;
       padding: 48px 40px 48px 48px;
       min-width: 420px;
     }
     .acfc-camps-wrap .acfc-camps-events-carousel {
       --cc-trail: 32px;
       --cc-card-gap: 1.5rem;
     }
   }
   
   @media (max-width: 968px) {
     .acfc-camps-wrap .angelcity2026-container { padding: 0 28px; }
     .acfc-camps-wrap .acfc-comm-hero-inner { flex-direction: column; }
     .acfc-camps-wrap .acfc-comm-hero-image-frame { width: 100%; order: 1; }
     .acfc-camps-wrap .acfc-comm-hero-img { min-height: 320px; }
     .acfc-camps-wrap .acfc-comm-hero-image-overlay {
       background: linear-gradient(to bottom, transparent 50%, rgba(250,250,250,0.5) 100%);
     }
     .acfc-camps-wrap .acfc-comm-hero-content {
       order: 2;
       margin-left: 0;
       margin-top: -48px;
       padding: 40px 32px 36px;
       max-width: 100%;
       min-width: 0;
       width: calc(100% - 32px);
       margin-left: auto;
       margin-right: auto;
       border-radius: var(--radius-md);
       box-shadow: 0 -8px 36px rgba(0,0,0,0.12), var(--shadow-lg);
     }
     .acfc-camps-wrap .acfc-camps-programs-who-inner {
       grid-template-columns: 1fr;
       gap: 2.25rem;
       padding: 0;
     }
     .acfc-camps-wrap .acfc-camps-programs-who-who {
       padding-left: 0;
       padding-right: 0;
       border-left: none;
       padding-top: clamp(2.65rem, 6.5vw, 3.25rem);
       border-top: 1px solid var(--border-color);
     }
   
     .acfc-camps-wrap .acfc-camps-programs-who-module .acfc-camps-who-heading {
       padding-top: 3rem;
     }
     .acfc-camps-wrap .acfc-comm-feature { padding: 72px 0; }
     .acfc-camps-wrap .acfc-comm-feature.acfc-camps-overview { padding: 48px 0 28px; }
     .acfc-camps-wrap .acfc-camps-who-panel {
       padding: 1.5rem 1.35rem 1.65rem;
     }
     .acfc-camps-wrap .acfc-camps-overview-module {
       grid-template-columns: 1fr;
       max-width: 480px;
       margin-inline: auto;
     }
     .acfc-camps-wrap .acfc-camps-overview-card {
       order: 1;
       border-left: none;
       border-top: none;
       padding: 1.5rem 1.35rem;
     }
     .acfc-camps-wrap .acfc-camps-overview-media {
       order: 2;
       aspect-ratio: unset;
       min-height: 0;
       max-height: none;
       padding: 0.85rem 0 0.85rem;
       margin: 0;
       display: flex;
       align-items: center;
       justify-content: center;
       border-top: 1px solid var(--border-color);
     }
   
     .acfc-camps-wrap .acfc-camps-overview-media.acfc-camps-overview-photo {
       display: block;
       height: auto;
       padding: 0;
     }
   
    .acfc-camps-wrap .acfc-camps-overview-media.acfc-camps-overview-photo .acfc-camps-overview-video-frame {
      position: relative;
      inset: auto;
      width: 100%;
      max-width: 480px;
      margin-inline: auto;
      height: auto;
      aspect-ratio: 9 / 16;
      max-height: none;
      min-height: 0;
      border-radius: 0 0 var(--radius-xl) var(--radius-xl);
      overflow: hidden;
    }
     .acfc-camps-wrap .acfc-camps-overview-body { max-width: 100%; }
     .acfc-camps-wrap .acfc-camps-programs-grid {
       grid-template-columns: 1fr;
       gap: 1.5rem;
     }
     .acfc-camps-wrap .acfc-comm-dark-section { padding: 60px 0 50px; }
     .acfc-camps-wrap .acfc-comm-events-section { padding: 72px 0; }
     .acfc-camps-wrap .acfc-camps-events-carousel { --cc-trail: 28px; }
     .acfc-camps-wrap .acfc-camps-camp-experience {
       grid-template-columns: 1fr;
     }
     .acfc-camps-wrap .acfc-camps-benefits-grid {
       grid-template-columns: 1fr;
     }
     .acfc-camps-wrap .acfc-camps-form-contact-layout {
       grid-template-columns: 1fr;
     }
   }
   
   @media (max-width: 768px) {
     .acfc-camps-wrap .angelcity2026-container { padding: 0 24px; }
     .acfc-camps-wrap .acfc-comm-hero-img { min-height: 260px; }
     .acfc-camps-wrap .acfc-comm-hero-content {
       margin-top: -36px;
       padding: 32px 24px 28px;
       width: calc(100% - 24px);
       gap: 1.1rem;
     }
     .acfc-camps-wrap .acfc-comm-hero h1 { font-size: clamp(2rem, 9vw, 3rem); }
     .acfc-camps-wrap .acfc-comm-hero p { font-size: 0.95rem; }
     .acfc-camps-wrap .acfc-camps-hero-ctas { flex-direction: column; width: 100%; }
     .acfc-camps-wrap .acfc-camps-hero-ctas .angelcity2026-btn { width: 100%; }
     .acfc-camps-wrap .acfc-comm-feature { padding: 56px 0; }
     .acfc-camps-wrap .acfc-comm-feature.acfc-camps-overview { padding: 40px 0 20px; }
     .acfc-camps-wrap .acfc-camps-overview-card { padding: 1.35rem 1.25rem; }
     .acfc-camps-wrap .acfc-camps-overview-stats { gap: 0.625rem; max-width: 100%; padding-top: 1.5rem; }
     .acfc-camps-wrap .acfc-camps-overview-stat {
       flex: 0 1 calc(50% - 0.625rem);
       min-width: 0;
       padding: 0;
     }
     .acfc-camps-wrap .acfc-camps-overview-stat-label { font-size: 0.62rem; padding: 7px 8px; }
     .acfc-camps-wrap .acfc-camps-overview-stat-value { font-size: 0.88rem; padding: 12px 10px; }
     .acfc-camps-wrap .acfc-comm-dark-section { padding: 48px 0 40px; }
     .acfc-camps-wrap .acfc-comm-events-section { padding: 56px 0; }
     .acfc-camps-wrap .acfc-camps-events-carousel {
       --cc-trail: max(24px, env(safe-area-inset-right, 0px));
       --cc-card-gap: 0.85rem;
     }
     .acfc-camps-wrap .acfc-camps-events-nav,
     .acfc-camps-wrap .acfc-carmax-camps-nav {
       transform: translateY(calc(-50% - 40px));
     }
     .acfc-camps-wrap .acfc-comm-events-section .angelcity2026-container,
     .acfc-camps-wrap .acfc-carmax-camps-events .angelcity2026-container {
       display: flex;
       flex-direction: column;
     }
   
     .acfc-camps-wrap .acfc-comm-events-section .angelcity2026-community-events-header,
     .acfc-camps-wrap .acfc-carmax-camps-events .angelcity2026-community-events-header {
       display: contents;
     }
   
     .acfc-camps-wrap .acfc-comm-events-section .angelcity2026-community-events-title,
     .acfc-camps-wrap .acfc-carmax-camps-events .angelcity2026-community-events-title {
       order: 1;
       text-align: center;
       margin: 0 0 1.5rem;
     }
   
     .acfc-camps-wrap .acfc-carmax-camps-events .angelcity2026-community-events-title {
       flex-direction: column;
       align-items: center;
       justify-content: center;
       gap: 0.55rem;
       width: 100%;
     }
   
     .acfc-camps-wrap .acfc-carmax-camps-events .angelcity2026-community-events-title .acfc-carmax-camps-title-by {
       top: 0;
     }
   
     .acfc-camps-wrap .acfc-comm-events-section .acfc-camps-events-carousel,
     .acfc-camps-wrap .acfc-comm-events-section .acfc-carmax-camps-carousel,
     .acfc-camps-wrap .acfc-comm-events-section .acfc-camps-no-events {
       order: 2;
     }
   
     .acfc-camps-wrap .acfc-comm-events-section .angelcity2026-view-all-link {
       order: 3;
       display: flex;
       justify-content: center;
       width: 100%;
       margin-top: 1.25rem;
     }
   
     .acfc-camps-wrap .acfc-comm-events-section .angelcity2026-view-all-link a {
       padding: 0.55rem 1.15rem;
       border: 1px solid var(--border-color);
       border-radius: 999px;
       background: var(--surface-elevated);
       box-shadow: var(--shadow-sm);
       font-size: 0.95rem;
       gap: 0.5rem;
     }
   
     .acfc-camps-wrap .acfc-comm-events-section .angelcity2026-view-all-link svg {
       width: 22px;
       height: 22px;
     }
     .acfc-camps-wrap .acfc-comm-events-section .angelcity2026-event-content { padding: 1.25rem 1.25rem 0.75rem; }
     .acfc-camps-wrap .acfc-comm-events-section .angelcity2026-event-buttons { flex-direction: row; gap: 0.5rem; padding: 0.5rem 1.25rem 1.25rem; }
     .acfc-camps-wrap .acfc-camps-questions-panel { padding: 2rem 1.5rem; }
     .acfc-camps-wrap .acfc-camps-form-wrapper { padding: 2.5rem 1.5rem; }
     .acfc-camps-wrap .acfc-camps-form-grid { grid-template-columns: 1fr; }
     .acfc-camps-wrap .acfc-camps-form-group { width: 100% !important; }
     .acfc-camps-wrap .acfc-camps-form-group input,
     .acfc-camps-wrap .acfc-camps-form-group textarea { width: 100% !important; max-width: 100% !important; }
   }
   
   @media (max-width: 480px) {
     .acfc-camps-wrap .angelcity2026-container { padding: 0 20px; }
     .acfc-camps-wrap .acfc-comm-hero-img { min-height: 220px; }
     .acfc-camps-wrap .acfc-comm-hero-content {
       margin-top: -28px;
       padding: 28px 20px 24px;
       width: calc(100% - 16px);
     }
     .acfc-camps-wrap .acfc-comm-hero h1 { font-size: clamp(2rem, 10vw, 2.75rem); }
     .acfc-camps-wrap .acfc-comm-hero p { font-size: 0.9rem; }
     .acfc-camps-wrap .acfc-comm-feature { padding: 44px 0; }
     .acfc-camps-wrap .acfc-comm-feature.acfc-camps-overview { padding: 32px 0 16px; }
     .acfc-camps-wrap .acfc-camps-overview-card { padding: 1.15rem 1rem; }
     .acfc-camps-wrap .acfc-camps-overview-body { margin-bottom: 1rem; }
     .acfc-camps-wrap .acfc-camps-overview-stat { flex: 0 1 calc(50% - 0.625rem); }
     .acfc-camps-wrap .acfc-camps-overview-stat-label { font-size: 0.58rem; padding: 6px 8px; letter-spacing: 0.12em; }
     .acfc-camps-wrap .acfc-camps-overview-stat-value { font-size: 0.82rem; padding: 10px 8px; }
     .acfc-camps-wrap .acfc-comm-dark-section { padding: 40px 0 34px; }
     .acfc-camps-wrap .acfc-comm-dark-header { padding: 0 20px; }
     .acfc-camps-wrap .acfc-comm-events-section { padding: 44px 0; }
     .acfc-camps-wrap .acfc-camps-events-carousel {
       --cc-trail: max(20px, env(safe-area-inset-right, 0px));
     }
     .acfc-camps-wrap .acfc-comm-events-section .angelcity2026-community-event-card {
       border-radius: var(--radius-lg);
     }
     .acfc-camps-wrap .acfc-comm-events-section .angelcity2026-event-content { padding: 1rem 1rem 0.5rem; }
     .acfc-camps-wrap .acfc-comm-events-section .angelcity2026-event-title { font-size: 1.1rem; margin-bottom: 0.5rem; }
     .acfc-camps-wrap .acfc-comm-events-section .angelcity2026-event-date { font-size: 0.78rem; gap: 0.4rem; }
     .acfc-camps-wrap .acfc-comm-events-section .angelcity2026-event-buttons { gap: 0.5rem; padding: 0.25rem 1rem 1rem; flex-wrap: wrap; }
     .acfc-camps-wrap .acfc-comm-events-section .angelcity2026-btn { font-size: 0.78rem; padding: 0.7rem 0.85rem; }
     .acfc-camps-wrap .acfc-comm-events-section .angelcity2026-event-tags { top: 0.625rem; left: 0.625rem; }
     .acfc-camps-wrap .acfc-comm-events-section .angelcity2026-event-tag { font-size: 0.64rem; padding: 0.25rem 0.6rem; }
     .acfc-camps-wrap .acfc-camps-events-nav,
     .acfc-camps-wrap .acfc-carmax-camps-nav {
       width: 40px;
       height: 40px;
     }
     .acfc-camps-wrap .acfc-camps-events-nav--prev,
     .acfc-camps-wrap .acfc-carmax-camps-nav--prev {
       left: 2px;
     }
     .acfc-camps-wrap .acfc-camps-events-nav--next,
     .acfc-camps-wrap .acfc-carmax-camps-nav--next {
       right: 2px;
     }
     .acfc-camps-wrap .acfc-camps-program-card { padding: 1.75rem; }
     .acfc-camps-wrap .acfc-camps-programs-who-module .acfc-camps-who-panel { padding: 1.75rem; }
     .acfc-camps-wrap .acfc-camps-form-wrapper { padding: 2rem 1.25rem; }
     .acfc-camps-wrap .acfc-camps-form-grid { grid-template-columns: 1fr; }
     .acfc-camps-wrap .acfc-camps-form-group { width: 100% !important; }
     .acfc-camps-wrap .acfc-camps-form-group input,
     .acfc-camps-wrap .acfc-camps-form-group textarea { width: 100% !important; max-width: 100% !important; }
     .acfc-camps-wrap .acfc-camps-experience-item { padding: 1.5rem; }
     .acfc-camps-wrap .acfc-camps-bullet-list li { padding: 0.6rem 0.75rem 0.6rem 1.75rem; font-size: 0.95rem; }
   }
   
   /* ===========================================
      PROGRAM COMPONENTS (within programs + who module)
      =========================================== */
   .acfc-camps-wrap .acfc-camps-program-components-band {
     grid-column: 1 / -1;
     margin-top: clamp(1.5rem, 3vw, 2.25rem);
     padding-top: clamp(1.75rem, 3.5vw, 2.5rem);
     border-top: 1px solid var(--border-color);
   }
   
   .acfc-camps-wrap .acfc-camps-program-components-title {
     margin: 0 0 0.75rem;
     text-align: center;
   }
   
   .acfc-camps-wrap .acfc-camps-program-components-title::after {
     content: '';
     display: block;
     width: 48px;
     height: 3px;
     background: var(--sol-rosa);
     margin: 16px auto 0;
     border-radius: 2px;
   }
   
   .acfc-camps-wrap .acfc-camps-program-components-lead {
     font-size: 1rem;
     line-height: 1.65;
     color: var(--armour);
     margin: 0 auto 1.5rem;
     max-width: 52rem;
     text-align: center;
   }
   
   .acfc-camps-wrap .acfc-camps-program-components-grid {
     display: grid;
     grid-template-columns: repeat(2, minmax(0, 1fr));
     gap: 1.25rem;
   }
   
   .acfc-camps-wrap .acfc-camps-program-components-card {
     display: flex;
     flex-direction: column;
     gap: 0;
     min-height: 100%;
     background: var(--surface-elevated);
     border: 1px solid rgba(0, 0, 0, 0.06);
     border-radius: var(--radius-xl);
     padding: 1.75rem 1.75rem 1.5rem;
     box-shadow: var(--shadow-lg);
     transition: transform 0.35s var(--ease-out), box-shadow 0.35s var(--ease-out), border-color 0.35s ease;
   }
   
   .acfc-camps-wrap .acfc-camps-program-components-card:hover {
     transform: translateY(-4px);
     box-shadow: var(--shadow-xl);
     border-color: rgba(241, 177, 165, 0.2);
   }
   
   .acfc-camps-wrap .acfc-camps-program-components-card-title {
     font-family: 'Anton', sans-serif;
     font-size: 1.25rem;
     font-weight: 400;
     text-transform: uppercase;
     letter-spacing: 0.05em;
     color: var(--asphalt);
     margin: 0 0 0.85rem;
     padding-bottom: 0.75rem;
     border-bottom: 2px solid var(--sol-rosa);
   }
   
   .acfc-camps-wrap .acfc-camps-program-components-card-desc {
     font-size: 0.95rem;
     line-height: 1.65;
     color: var(--armour);
     margin: 0 0 1.25rem;
     flex: 1;
   }
   
   .acfc-camps-wrap .acfc-camps-program-components-cta {
     display: inline-flex;
     align-items: center;
     gap: 0.45rem;
     margin-top: auto;
     font-family: 'Anton', sans-serif;
     font-size: 0.88rem;
     font-weight: 400;
     letter-spacing: 0.06em;
     text-transform: uppercase;
     text-decoration: none;
     color: var(--pitch-black);
     background: var(--sol-rosa);
     border-radius: var(--radius-full);
     padding: 0.75rem 1.35rem;
     box-shadow: var(--shadow-rosa);
     transition: background 0.3s ease, transform 0.3s ease, box-shadow 0.3s ease;
     align-self: flex-start;
   }
   
   .acfc-camps-wrap .acfc-camps-program-components-cta:hover {
     background: #fff;
     transform: translateY(-2px);
     box-shadow: var(--shadow-md);
   }
   
   .acfc-camps-wrap .acfc-camps-program-components-cta svg {
     flex-shrink: 0;
     transition: transform 0.25s ease;
   }
   
   .acfc-camps-wrap .acfc-camps-program-components-cta:hover svg {
     transform: translateX(3px);
   }
   
   @media (max-width: 968px) {
     .acfc-camps-wrap .acfc-camps-program-components-band {
       margin-top: 1.25rem;
       padding-top: 1.75rem;
     }
   
     .acfc-camps-wrap .acfc-camps-program-components-grid {
       grid-template-columns: 1fr;
       gap: 1rem;
     }
   
     .acfc-camps-wrap .acfc-camps-program-components-card {
       padding: 1.5rem 1.35rem 1.25rem;
     }
   }
   
   @media (max-width: 480px) {
     .acfc-camps-wrap .acfc-camps-program-components-lead {
       font-size: 0.92rem;
       margin-bottom: 1.25rem;
     }
   
     .acfc-camps-wrap .acfc-camps-program-components-card-title {
       font-size: 1.1rem;
     }
   
     .acfc-camps-wrap .acfc-camps-program-components-card-desc {
       font-size: 0.9rem;
       margin-bottom: 1rem;
     }
   
     .acfc-camps-wrap .acfc-camps-program-components-cta {
       font-size: 0.82rem;
       padding: 0.7rem 1.15rem;
       width: 100%;
       justify-content: center;
     }
   }
   
   /* ===========================================
      CARMAX CAMPS (scoped to .acfc-carmax-camps-events)
      =========================================== */
   /* Carousel: strip matches heading inset; prev/next overlay; trail spacer for end scroll */
   .acfc-camps-wrap .acfc-carmax-camps-carousel {
     --cc-trail: 40px;
     --cc-card-gap: 2rem;
     --cc-strip-inset-left: 0;
     width: 100%;
     overflow: visible;
   }
   
   .acfc-camps-wrap .acfc-carmax-camps-scroll-wrap {
     position: relative;
     width: 100%;
     overflow: visible;
   }
   
   .acfc-camps-wrap .acfc-carmax-camps-scroll {
     container-type: inline-size;
     container-name: cc-carmax-strip;
     width: 100%;
     margin: 0;
     padding: 0 0 10px;
     max-width: none;
     overflow-x: auto;
     overflow-y: hidden;
     -webkit-overflow-scrolling: touch;
     scroll-snap-type: x mandatory;
     scroll-padding-inline: 0;
     overscroll-behavior-x: contain;
     touch-action: pan-x pinch-zoom;
     scrollbar-width: thin;
     scrollbar-color: rgba(225, 130, 117, 0.45) transparent;
   }

   /* Hide scrollbar entirely when all cards fit (no overflow) */
   .acfc-camps-wrap .acfc-carmax-camps-carousel:not(.is-overflowing) .acfc-carmax-camps-scroll {
     scrollbar-width: none;
   }
   .acfc-camps-wrap .acfc-carmax-camps-carousel:not(.is-overflowing) .acfc-carmax-camps-scroll::-webkit-scrollbar {
     display: none;
   }

   .acfc-camps-wrap .acfc-carmax-camps-scroll::-webkit-scrollbar {
     height: 4px;
   }
   .acfc-camps-wrap .acfc-carmax-camps-scroll::-webkit-scrollbar-track {
     background: transparent;
     border-radius: var(--radius-full);
   }
   .acfc-camps-wrap .acfc-carmax-camps-scroll::-webkit-scrollbar-thumb {
     background: rgba(225, 130, 117, 0.45);
     border-radius: var(--radius-full);
   }
   
   .acfc-camps-wrap .acfc-comm-events-section .angelcity2026-container,
   .acfc-camps-wrap .acfc-carmax-camps-events .angelcity2026-container {
     overflow: visible;
   }
   
   @media (prefers-reduced-motion: reduce) {
     .acfc-camps-wrap .acfc-carmax-camps-scroll {
       scroll-snap-type: proximity;
     }
   }
   
   .acfc-camps-wrap .angelcity2026-container {
     max-width: 1420px;
     margin: 0 auto;
     padding: 0 40px;
   }
   
   /* Events section — same visuals as Camps & Clinics */
   .acfc-camps-wrap .acfc-carmax-camps-events {
     padding: 56px 0 40px;
     background: transparent;
     position: relative;
   }
   .acfc-camps-wrap .acfc-carmax-camps-events::before {
     content: '';
     position: absolute; top: 0; left: 5%; right: 5%;
     height: 1px;
     background: linear-gradient(90deg, transparent 0%, var(--border-color) 50%, transparent 100%);
   }
   
   @media (min-width: 769px) {
     .acfc-camps-wrap .acfc-carmax-camps-events .angelcity2026-community-events-header {
       display: flex;
       justify-content: space-between;
       align-items: center;
       margin-bottom: 2.5rem;
       gap: 2rem;
     }
   }
   
   .acfc-camps-wrap .acfc-carmax-camps-events .angelcity2026-community-events-title {
     display: flex;
     flex-wrap: wrap;
     align-items: center;
     gap: 0.35em 0.45em;
     font-family: 'Anton', sans-serif;
     font-size: clamp(1.65rem, 3vw, 2.35rem);
     font-weight: 400;
     text-transform: uppercase;
     letter-spacing: 0.04em;
     line-height: 1.15;
     margin: 0;
     color: var(--primary-black);
   }
   
   .acfc-camps-wrap .acfc-carmax-camps-events .angelcity2026-community-events-title .acfc-carmax-camps-title-lead {
     flex-shrink: 0;
   }
   
   .acfc-camps-wrap .acfc-carmax-camps-events .angelcity2026-community-events-title .acfc-carmax-camps-title-by {
     position: relative;
     top: -0.04em;
     flex-shrink: 0;
     text-transform: none;
     line-height: 1;
   }
   
   .acfc-camps-wrap .acfc-carmax-camps-events .angelcity2026-community-events-title .acfc-carmax-camps-title-by-inner {
     display: inline-flex;
     align-items: center;
     gap: 0.5em;
     padding: 0.32em 0.72em 0.36em 0.82em;
     border-radius: 999px;
     background: linear-gradient(
       180deg,
       var(--surface-elevated) 0%,
       var(--surface-subtle) 100%
     );
     border: 1px solid var(--border-color);
     box-shadow: var(--shadow-sm), inset 0 1px 0 rgba(255, 255, 255, 0.85);
   }
   
   .acfc-camps-wrap .acfc-carmax-camps-events .angelcity2026-community-events-title .acfc-carmax-camps-title-by-label {
     font-family: 'Anton', sans-serif;
     font-weight: 400;
     font-size: clamp(0.58rem, 1.05vw + 0.35rem, 0.72rem);
     letter-spacing: 0.14em;
     text-transform: uppercase;
     color: var(--armour);
   }
   
   .acfc-camps-wrap .acfc-carmax-camps-events .angelcity2026-community-events-title .acfc-carmax-camps-title-by-logo-wrap {
     display: flex;
     align-items: center;
     justify-content: center;
     flex-shrink: 0;
     line-height: 0;
   }
   
   .acfc-camps-wrap .acfc-carmax-camps-events .angelcity2026-community-events-title .acfc-carmax-camps-title-by-logo {
     display: block;
     width: auto;
     height: auto;
     max-width: clamp(92px, 18vw, 124px);
     max-height: clamp(17px, 2.8vw, 22px);
     object-fit: contain;
     object-position: left center;
   }
   
   .acfc-camps-wrap .acfc-carmax-camps-events .angelcity2026-view-all-link a {
     display: inline-flex;
     align-items: center;
     gap: 0.75rem;
     font-family: 'Anton', sans-serif;
     font-size: 1.1rem;
     font-weight: normal;
     text-transform: uppercase;
     text-decoration: none;
     color: var(--primary-black);
     transition: all 0.35s var(--ease-out);
     white-space: nowrap;
   }
   .acfc-camps-wrap .acfc-carmax-camps-events .angelcity2026-view-all-link a:hover { color: var(--sol-rosa); }
   .acfc-camps-wrap .acfc-carmax-camps-events .angelcity2026-view-all-link svg {
     flex-shrink: 0;
     transition: transform 0.35s var(--ease-out);
   }
   .acfc-camps-wrap .acfc-carmax-camps-events .angelcity2026-view-all-link a:hover svg { transform: translateX(5px); }
   
   .acfc-camps-wrap .acfc-carmax-camps-events .angelcity2026-community-events-grid {
     display: flex;
     flex-wrap: nowrap;
     justify-content: flex-start;
     align-items: stretch;
     gap: var(--cc-card-gap);
     width: max-content;
     min-width: 100%;
     max-width: none;
     margin: 0;
   }
   
   .acfc-camps-wrap .acfc-carmax-camps-events .angelcity2026-community-events-grid::after {
     content: '';
     flex-shrink: 0;
     align-self: stretch;
     width: var(--cc-trail);
   }
   
   .acfc-camps-wrap .acfc-carmax-camps-events .angelcity2026-community-event-card {
     background: var(--surface-elevated);
     border-radius: var(--radius-xl);
     overflow: hidden;
     box-shadow: var(--shadow-lg);
     transition: all 0.5s var(--ease-out);
     display: flex;
     flex-direction: column;
     border: 1px solid rgba(0,0,0,0.04);
     flex: 0 0 auto;
     width: min(440px, max(272px, 85vw));
     max-width: none;
     scroll-snap-align: start;
     scroll-snap-stop: normal;
   }
   
   /* ~3 cards fully visible within the horizontal scroll viewport (tracks live strip width + gap) */
   @container cc-carmax-strip (min-width: 900px) {
     .acfc-camps-wrap .acfc-carmax-camps-events .angelcity2026-community-event-card {
       width: max(
         248px,
         min(
           420px,
           calc((100cqi - 2 * var(--cc-card-gap)) / 3)
         )
       );
     }
   }
   .acfc-camps-wrap .acfc-carmax-camps-events .angelcity2026-community-event-card:hover {
     transform: translateY(-10px);
     box-shadow: var(--shadow-xl);
     border-color: rgba(241,177,165,0.15);
   }
   
   .acfc-camps-wrap .acfc-carmax-camps-events .angelcity2026-event-image-wrapper {
     position: relative;
     width: 100%;
     aspect-ratio: 16 / 9;
     height: auto;
     overflow: hidden;
     display: block;
     margin: 0;
     padding: 0;
     flex-shrink: 0;
     align-self: stretch;
   }
   
   .acfc-camps-wrap .acfc-carmax-camps-events .angelcity2026-event-image {
     position: absolute;
     top: 0; left: 0;
     width: 100%; height: 100%;
     background-size: cover;
     background-position: center top;
     background-repeat: no-repeat;
     background-color: var(--surface-subtle);
     transition: opacity 0.35s var(--ease-out);
   }
   .acfc-camps-wrap .acfc-carmax-camps-events .angelcity2026-community-event-card:hover .angelcity2026-event-image {
     opacity: 0.92;
   }
   
   .acfc-camps-wrap .acfc-carmax-camps-events .angelcity2026-event-tags {
     position: absolute;
     top: 1rem; left: 1rem;
     display: flex; gap: 0.5rem;
     flex-wrap: wrap; z-index: 2;
   }
   
   .acfc-camps-wrap .acfc-carmax-camps-events .angelcity2026-event-tag {
     background: rgba(255, 255, 255, 0.92);
     backdrop-filter: blur(12px);
     color: var(--primary-black);
     padding: 0 0.875rem;
     padding-block: 0;
     min-block-size: calc(1.75rem + 2px);
     border-radius: var(--radius-full);
     font-family: 'Anton', sans-serif;
     font-size: 0.72rem;
     font-weight: 400;
     text-transform: uppercase;
     letter-spacing: 0.04em;
     box-shadow: 0 2px 10px rgba(0, 0, 0, 0.12);
     display: inline-grid;
     place-items: center;
     line-height: 1;
   }
   
   .acfc-camps-wrap .acfc-carmax-camps-events .angelcity2026-event-soldout-badge {
     position: absolute;
     bottom: 1rem; left: 1rem;
     z-index: 2;
   }
   
   .acfc-camps-wrap .acfc-carmax-camps-events .angelcity2026-event-tag-soldout,
   .acfc-camps-wrap .acfc-carmax-camps-events .angelcity2026-event-tag-featured {
     background: var(--sol-rosa);
     color: var(--primary-black);
   }
   
   .acfc-camps-wrap .acfc-carmax-camps-events .angelcity2026-card-link {
     display: flex;
     flex-direction: column;
     flex-grow: 1;
     gap: 0;
     align-items: stretch;
     margin: 0;
     padding: 0;
     text-decoration: none;
     color: inherit;
   }
   
   .acfc-camps-wrap .acfc-carmax-camps-events .angelcity2026-event-content {
     padding: 1.75rem 1.75rem 1rem;
     display: flex;
     flex-direction: column;
     flex-grow: 1;
   }
   
   .acfc-camps-wrap .acfc-carmax-camps-events .angelcity2026-event-date {
     color: var(--primary-black);
     font-family: 'Anton', sans-serif;
     font-size: 0.85rem;
     font-weight: 400;
     line-height: 1.3;
     letter-spacing: 0.02em;
     text-transform: uppercase;
     margin-bottom: 0.75rem;
     display: flex;
     align-items: center;
     gap: 0.625rem;
     flex-wrap: wrap;
   }
   
   .acfc-camps-wrap .acfc-carmax-camps-events .angelcity2026-event-title {
     color: var(--primary-black);
     font-family: 'Anton', sans-serif;
     font-size: 1.45rem;
     font-weight: 400;
     line-height: 1.15;
     text-transform: uppercase;
     letter-spacing: 0.03em;
     margin: 0 0 0.75rem 0;
   }
   .acfc-camps-wrap .acfc-carmax-camps-events .angelcity2026-community-event-card:hover .angelcity2026-event-title {
     color: var(--sol-rosa-dark);
   }
   
   .acfc-camps-wrap .acfc-carmax-camps-events .angelcity2026-event-location {
     display: flex;
     align-items: flex-start;
     gap: 0.5rem;
     color: #666;
     flex-grow: 1;
   }
   .acfc-camps-wrap .acfc-carmax-camps-events .angelcity2026-event-location > svg {
     flex-shrink: 0;
     margin-top: 2px;
     color: var(--sol-rosa);
   }
   
   .acfc-camps-wrap .acfc-carmax-camps-events .angelcity2026-event-location-text {
     display: flex;
     flex-direction: column;
     gap: 0.125rem;
   }
   
   .acfc-camps-wrap .acfc-carmax-camps-events .angelcity2026-event-venue {
     font-size: 0.875rem;
     font-weight: 600;
     line-height: 1.4;
     color: var(--primary-black);
   }
   
   .acfc-camps-wrap .acfc-carmax-camps-events .angelcity2026-event-address {
     font-size: 0.8rem;
     font-weight: 400;
     line-height: 1.4;
     color: #888;
   }
   
   .acfc-camps-wrap .acfc-carmax-camps-events .angelcity2026-event-buttons {
     display: flex;
     gap: 0.75rem;
     margin-top: auto;
     padding: 0.5rem 1.75rem 1.75rem;
   }
   
   .acfc-camps-wrap .acfc-carmax-camps-events .angelcity2026-btn {
     flex: 1;
     min-width: 0;
     display: inline-flex;
     align-items: center;
     justify-content: center;
     gap: 0.5rem;
     border: none;
     border-radius: var(--radius-full);
     cursor: pointer;
     font-family: 'Anton', sans-serif;
     font-size: 0.92rem;
     font-weight: 400;
     text-transform: uppercase;
     text-decoration: none;
     text-align: center;
     padding: 0.95rem 1.25rem;
     transition: all 0.35s var(--ease-out);
     white-space: nowrap;
     line-height: 1;
     box-sizing: border-box;
   }
   
   .acfc-camps-wrap .acfc-carmax-camps-events .angelcity2026-btn-more-info {
     background: var(--primary-white);
     color: var(--primary-black);
     border: 1px solid var(--primary-black);
     box-shadow: var(--shadow-sm);
   }
   .acfc-camps-wrap .acfc-carmax-camps-events .angelcity2026-btn-more-info:hover {
     background: var(--primary-black);
     color: var(--primary-white);
     border-color: var(--primary-black);
     transform: translateY(-2px);
     box-shadow: var(--shadow-md);
   }
   
   .acfc-camps-wrap .acfc-carmax-camps-events .angelcity2026-btn-rsvp {
     background: var(--sol-rosa);
     color: var(--primary-black);
     border: 1px solid var(--sol-rosa);
     box-shadow: var(--shadow-sm);
   }
   .acfc-camps-wrap .acfc-carmax-camps-events .angelcity2026-btn-rsvp:hover {
     background: var(--sol-rosa-dark);
     border-color: var(--sol-rosa-dark);
     transform: translateY(-2px);
     box-shadow: var(--shadow-rosa);
   }
   
   .acfc-camps-wrap .acfc-camps-no-events {
     text-align: center;
     padding: 3.5rem 2rem;
     background: var(--surface-subtle);
     border-radius: var(--radius-xl);
     margin-bottom: 2rem;
     border: 1px dashed var(--border-color);
   }
   .acfc-camps-wrap .acfc-camps-no-events p {
     font-size: 1.1rem;
     color: var(--armour);
     margin: 0;
     line-height: 1.7;
   }
   .acfc-camps-wrap .acfc-camps-no-events a {
     color: var(--sol-rosa);
     font-weight: 600;
     text-decoration: none;
     transition: color 0.3s ease;
   }
   .acfc-camps-wrap .acfc-camps-no-events a:hover {
     color: var(--sol-rosa-dark);
     text-decoration: underline;
   }
   
   @media (max-width: 1200px) {
     .acfc-camps-wrap .angelcity2026-container { padding: 0 32px; }
     .acfc-camps-wrap .acfc-carmax-camps-carousel {
       --cc-trail: 32px;
       --cc-card-gap: 1.5rem;
     }
   }
   
   @media (max-width: 968px) {
     .acfc-camps-wrap .angelcity2026-container { padding: 0 28px; }
     .acfc-camps-wrap .acfc-carmax-camps-carousel { --cc-trail: 28px; }
     .acfc-camps-wrap .acfc-carmax-camps-events { padding: 48px 0 32px; }
   }
   
   @media (max-width: 768px) {
     .acfc-camps-wrap .angelcity2026-container { padding: 0 24px; }
     .acfc-camps-wrap .acfc-carmax-camps-carousel {
       --cc-trail: max(24px, env(safe-area-inset-right, 0px));
       --cc-card-gap: 0.85rem;
     }
     .acfc-camps-wrap .acfc-carmax-camps-events { padding: 40px 0 28px; }
     .acfc-camps-wrap .acfc-carmax-camps-events .angelcity2026-container {
       display: flex;
       flex-direction: column;
     }
     .acfc-camps-wrap .acfc-carmax-camps-events .angelcity2026-community-events-header {
       display: contents;
     }
     .acfc-camps-wrap .acfc-carmax-camps-events .angelcity2026-community-events-title {
       order: 1;
       text-align: center;
       margin: 0 0 1.5rem;
       flex-direction: column;
       align-items: center;
       justify-content: center;
       gap: 0.55rem;
       width: 100%;
     }
     .acfc-camps-wrap .acfc-carmax-camps-events .angelcity2026-community-events-title .acfc-carmax-camps-title-by {
       top: 0;
     }
     .acfc-camps-wrap .acfc-carmax-camps-events .acfc-carmax-camps-carousel,
     .acfc-camps-wrap .acfc-carmax-camps-events .acfc-camps-no-events {
       order: 2;
     }
     .acfc-camps-wrap .acfc-carmax-camps-events .angelcity2026-view-all-link {
       order: 3;
       display: flex;
       justify-content: center;
       width: 100%;
       margin-top: 1.25rem;
     }
     .acfc-camps-wrap .acfc-carmax-camps-events .angelcity2026-view-all-link a {
       padding: 0.55rem 1.15rem;
       border: 1px solid var(--border-color);
       border-radius: 999px;
       background: var(--surface-elevated);
       box-shadow: var(--shadow-sm);
       font-size: 0.95rem;
       gap: 0.5rem;
     }
     .acfc-camps-wrap .acfc-carmax-camps-events .angelcity2026-view-all-link svg {
       width: 22px;
       height: 22px;
     }
     .acfc-camps-wrap .acfc-carmax-camps-events .angelcity2026-community-events-title .acfc-carmax-camps-title-by-inner {
       padding: 0.28em 0.58em 0.32em 0.65em;
       gap: 0.42em;
     }
     .acfc-camps-wrap .acfc-carmax-camps-events .angelcity2026-event-content { padding: 1.25rem 1.25rem 0.75rem; }
     .acfc-camps-wrap .acfc-carmax-camps-events .angelcity2026-event-buttons { flex-direction: row; gap: 0.5rem; padding: 0.5rem 1.25rem 1.25rem; }
     .acfc-camps-wrap .acfc-camps-events-nav,
     .acfc-camps-wrap .acfc-carmax-camps-nav {
       transform: translateY(calc(-50% - 40px));
     }
   }
   
   @media (max-width: 480px) {
     .acfc-camps-wrap .angelcity2026-container { padding: 0 20px; }
     .acfc-camps-wrap .acfc-carmax-camps-carousel {
       --cc-trail: max(20px, env(safe-area-inset-right, 0px));
     }
     .acfc-camps-wrap .acfc-carmax-camps-events { padding: 32px 0 22px; }
     .acfc-camps-wrap .acfc-carmax-camps-events .angelcity2026-community-event-card {
       border-radius: var(--radius-lg);
     }
     .acfc-camps-wrap .acfc-carmax-camps-events .angelcity2026-event-content { padding: 1rem 1rem 0.5rem; }
     .acfc-camps-wrap .acfc-carmax-camps-events .angelcity2026-event-title { font-size: 1.1rem; margin-bottom: 0.5rem; }
     .acfc-camps-wrap .acfc-carmax-camps-events .angelcity2026-event-date { font-size: 0.78rem; gap: 0.4rem; }
     .acfc-camps-wrap .acfc-carmax-camps-events .angelcity2026-event-buttons { gap: 0.5rem; padding: 0.25rem 1rem 1rem; flex-wrap: wrap; }
     .acfc-camps-wrap .acfc-carmax-camps-events .angelcity2026-btn { font-size: 0.78rem; padding: 0.7rem 0.85rem; }
     .acfc-camps-wrap .acfc-carmax-camps-events .angelcity2026-event-tags { top: 0.625rem; left: 0.625rem; }
     .acfc-camps-wrap .acfc-carmax-camps-events .angelcity2026-event-tag {
       font-size: 0.64rem;
       padding: 0 0.6rem;
       padding-block: 0;
       min-block-size: calc(1.5rem + 2px);
     }
     .acfc-camps-wrap .acfc-carmax-camps-nav {
       width: 40px;
       height: 40px;
     }
     .acfc-camps-wrap .acfc-carmax-camps-nav--prev { left: 2px; }
     .acfc-camps-wrap .acfc-carmax-camps-nav--next { right: 2px; }
   }
   