/* ============================================================
   ERIK WEIR — Mobile.css  v2
   Full mobile-first pass. Preserves desktop entirely.
   Breakpoints: 390px · 430px · 768px · 1024px
   Atlas Connect Solutions
   ============================================================ */

/* ══════════════════════════════════════════════════════════
   1. CSS CUSTOM PROPERTIES — mobile overrides
   ══════════════════════════════════════════════════════════ */
@media (max-width: 768px) {
  :root {
    --gutter: 1.25rem;
    --nav-h:  64px;
    --sticky-bar-h: 62px;
  }
}

/* ══════════════════════════════════════════════════════════
   2. STICKY MOBILE CTA BAR (hidden on desktop)
   ══════════════════════════════════════════════════════════ */
.mobile-sticky-cta { display: none; }

@media (max-width: 768px) {
  .mobile-sticky-cta {
    display: flex;
    position: fixed;
    bottom: 0; left: 0; right: 0;
    z-index: 180;
    background: var(--charcoal);
    border-top: 1px solid rgba(184,149,42,0.35);
    padding: 0.75rem 1.25rem;
    gap: 0.75rem;
    align-items: center;
    justify-content: space-between;
    box-shadow: 0 -6px 24px rgba(0,0,0,0.25);
  }
  .mobile-sticky-cta p {
    font-size: 0.72rem;
    color: rgba(255,255,255,0.45);
    letter-spacing: 0.06em;
    margin: 0;
    line-height: 1.35;
    flex-grow: 1;
  }
  .mobile-sticky-cta p strong {
    display: block;
    color: rgba(255,255,255,0.9);
    font-weight: 500;
    font-size: 0.8rem;
    letter-spacing: 0.04em;
  }
  .mobile-sticky-cta .btn {
    flex-shrink: 0;
    padding: 0.75rem 1.4rem;
    font-size: 0.72rem;
    min-height: 44px;
    white-space: nowrap;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .page-body { padding-bottom: var(--sticky-bar-h); }
  /* Enroll page: hide sticky bar — form IS the CTA */
  body.page-enroll .mobile-sticky-cta { display: none; }
  body.page-enroll .page-body { padding-bottom: 0; }
}

/* ══════════════════════════════════════════════════════════
   3. GLOBAL TYPOGRAPHY — mobile
   ══════════════════════════════════════════════════════════ */
@media (max-width: 768px) {
  body { font-size: 16px; -webkit-text-size-adjust: 100%; }
  p    { font-size: 0.975rem; line-height: 1.82; }
  p + p { margin-top: 0.9rem; }

  h1 { font-size: clamp(2.4rem, 9vw, 3.6rem); line-height: 1.05; }
  h2 { font-size: clamp(1.9rem, 7vw, 2.8rem); line-height: 1.1;  }
  h3 { font-size: clamp(1.5rem, 5vw, 2rem);   line-height: 1.15; }
  h4 { font-size: 0.88rem; }

  .eyebrow {
    font-size: 0.65rem;
    letter-spacing: 0.18em;
    margin-bottom: 0.6rem;
  }

  /* Testimonials */
  .testimonial-text   { font-size: 1rem; line-height: 1.72; }
  .testimonial-author { font-size: 0.8rem; }
  .testimonial-role   { font-size: 0.72rem; margin-top: 0.25rem; }

  /* Card internals */
  .card-tag      { font-size: 0.6rem; }
  .card-title    { font-size: 1.55rem; }
  .card-price    { font-size: 2.2rem; }
  .card-price-sub { font-size: 0.76rem; }
  .card-desc     { font-size: 0.9rem; line-height: 1.72; }
  .card-list li  { font-size: 0.87rem; padding: 0.48rem 0; }
}

@media (max-width: 430px) {
  h1 { font-size: clamp(2.1rem, 10vw, 3rem); }
  h2 { font-size: clamp(1.7rem, 8vw, 2.4rem); }
}

/* ══════════════════════════════════════════════════════════
   4. GLOBAL SECTION SPACING — mobile
   ══════════════════════════════════════════════════════════ */
@media (max-width: 768px) {
  .section {
    padding: clamp(2.5rem, 6vw, 3.5rem) var(--gutter);
  }
  .gold-rule { margin-bottom: 1.2rem; }
}

/* ══════════════════════════════════════════════════════════
   5. NAVIGATION — mobile
   ══════════════════════════════════════════════════════════ */
@media (max-width: 768px) {
  .site-nav {
    height: var(--nav-h);
    padding: 0 1.25rem;
  }
  .nav-logo { font-size: 1.25rem; }
  .hamburger { padding: 8px; } /* larger tap zone */

  .mobile-nav {
    padding: 0 1.25rem calc(1.5rem + var(--sticky-bar-h));
    border-top: 1px solid var(--cream);
  }
  .mobile-nav a {
    font-size: 0.88rem;
    letter-spacing: 0.12em;
    padding: 1.1rem 0;
    min-height: 52px;
    display: flex;
    align-items: center;
    border-bottom: 1px solid var(--cream);
  }
  .mobile-nav a:last-of-type { border-bottom: none; }
  .mobile-nav .mobile-cta {
    background: var(--gold);
    color: var(--white);
    text-align: center;
    justify-content: center;
    margin-top: 1rem;
    min-height: 54px;
    font-size: 0.84rem;
    letter-spacing: 0.14em;
    border-bottom: none;
    border-radius: 0;
  }
  .mobile-nav .mobile-cta:hover { background: var(--charcoal); }
}

/* ══════════════════════════════════════════════════════════
   6. BUTTONS — tap targets & full-width contexts
   ══════════════════════════════════════════════════════════ */
@media (max-width: 768px) {
  .btn {
    min-height: 48px;
    padding: 0.85rem 1.6rem;
    font-size: 0.74rem;
    letter-spacing: 0.15em;
  }

  /* Full-width buttons in hero, card, cta-band, form contexts */
  .hero-actions .btn,
  .book-hero-actions .btn,
  .summit-hero-actions .btn,
  .cta-band .btn,
  .program-card .btn,
  .enroll-submit,
  .podcast-platforms .btn {
    width: 100%;
    text-align: center;
    justify-content: center;
    display: flex;
    align-items: center;
  }

  /* CTA band */
  .cta-band {
    flex-direction: column;
    align-items: flex-start;
    padding: 2.5rem var(--gutter);
    gap: 1.4rem;
  }
  .cta-band-title { font-size: clamp(1.5rem, 6vw, 2rem); }
  .cta-band-sub   { font-size: 0.85rem; }
}

/* ══════════════════════════════════════════════════════════
   7. HOMEPAGE — mobile
   ══════════════════════════════════════════════════════════ */
@media (max-width: 900px) {
  /* Stack hero: text top, image below */
  .hero {
    display: flex;
    flex-direction: column;
    min-height: unset;
  }
  .hero-left {
    order: 1;
    padding: 2.8rem 1.25rem 2rem;
    max-width: 100%;
  }
  .hero-right {
    order: 2;
    min-height: 0;
    height: 55vw;
    max-height: 380px;
  }
  .hero-portrait-photo { object-position: center 15%; }
  .hero-badge {
    left: 1rem;
    bottom: 1rem;
    padding: 0.85rem 1.2rem;
    min-width: 160px;
  }
  .badge-num   { font-size: 2rem; }
  .badge-label { font-size: 0.6rem; }
}

@media (max-width: 768px) {
  .hero-left { padding: 2.4rem 1.25rem 1.8rem; }
  .hero-title { margin-bottom: 0.9rem; }
  .hero-sub {
    font-size: 0.97rem;
    max-width: 100%;
    margin-bottom: 1.8rem;
    line-height: 1.78;
  }
  .hero-actions { flex-direction: column; gap: 0.65rem; }
  .hero-right { height: 50vw; max-height: 320px; }

  /* Press bar — compact */
  .press-bar {
    padding: 0.9rem 1.25rem;
    gap: 0.5rem;
    flex-wrap: wrap;
  }
  .press-label { font-size: 0.58rem; width: 100%; margin-bottom: 0.2rem; }
  .press-items { gap: 0.75rem; }
  .press-items span { font-size: 0.63rem; letter-spacing: 0.08em; }

  /* About preview */
  .about-img-wrap {
    padding-bottom: 1.4rem;
    padding-right: 1.4rem;
    max-width: 400px;
    margin: 0 auto;
  }
  .about-img-main { aspect-ratio: 4/3; }
  .about-quote { font-size: 1.1rem; margin: 1.4rem 0; }
  .about-metrics { grid-template-columns: repeat(3,1fr); }
  .metric-num   { font-size: 1.8rem; }
  .metric-label { font-size: 0.6rem; }

  /* Five F's */
  .fives-sub  { font-size: 0.93rem; margin-bottom: 1.8rem; }
  .fives-list { max-width: 100%; }
  .f-row      { padding: 0.4rem 0; }
  .f-initial, .f-name { font-size: clamp(2rem, 8vw, 3rem); }

  /* Coaching cards — single column, featured first */
  .cards-grid.grid-3 {
    grid-template-columns: 1fr;
    gap: 1.2rem;
  }
  .program-card { padding: 1.6rem; }
  .program-card.featured {
    order: -1;
    border-top: 3px solid var(--gold);
  }

  /* Podcast */
  .podcast-visual {
    min-height: 180px;
    padding: 2rem 1.25rem;
  }
  .podcast-show-name { font-size: 1.45rem; }
  .podcast-info p   { margin-bottom: 1.5rem; }
  .podcast-platforms { flex-direction: column; gap: 0.65rem; }

  /* Section sub-headings */
  .section-sub { font-size: 0.97rem; margin-bottom: 2.2rem; }
}

@media (max-width: 430px) {
  .hero-right { height: 56vw; max-height: 280px; }
  .about-metrics { grid-template-columns: 1fr 1fr; row-gap: 1.2rem; }
  .metric + .metric:nth-child(3) { border-left: none; padding-left: 0; }
}

/* ══════════════════════════════════════════════════════════
   8. ABOUT PAGE — mobile
   ══════════════════════════════════════════════════════════ */
@media (max-width: 768px) {
  /* Full-bleed hero — keep face visible */
  .about-hero {
    height: 85vh;
    min-height: 500px;
    max-height: 780px;
  }
  .hero-portrait-photo { object-position: center 20%; }
  .about-hero h1 { font-size: clamp(2.4rem, 9vw, 3.8rem); }
  .hero-tagline  { font-size: 0.68rem; }

  /* Credential card — stack to 2-col grid */
  .hero-credential {
    position: relative;
    bottom: auto; right: auto;
    margin: 0 1.25rem 1.5rem;
    min-width: unset;
    width: calc(100% - 2.5rem);
    display: grid;
    grid-template-columns: 1fr 1fr;
    padding: 0;
    background: rgba(26,26,26,0.85);
    backdrop-filter: blur(12px);
  }
  .hc-divider { display: none; }
  .hc-item {
    padding: 0.85rem 1rem;
    border: 1px solid rgba(184,149,42,0.12);
  }
  .hc-title { font-size: 0.6rem; }
  .hc-org   { font-size: 0.8rem; }

  /* Hero text area */
  .hero-text-wrap { padding-bottom: 0; }
  .hero-text-inner { max-width: 100%; padding-right: 1.25rem; }

  /* Stat bar */
  .stat-bar { padding: 1.8rem var(--gutter); }
  .stat-bar-inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.4rem;
  }
  .sb-divider { display: none; }
  .sb-stat    { padding: 0; text-align: left; }
  .sb-num     { font-size: clamp(1.8rem, 6vw, 2.4rem); }
  .sb-label   { font-size: 0.6rem; letter-spacing: 0.1em; }

  /* Story */
  .story-grid      { gap: 2rem; }
  .story-img-wrap  { max-width: 360px; margin: 0 auto; padding-bottom: 1.2rem; padding-right: 1.2rem; }
  .story-pullquote { font-size: 1.1rem; padding-left: 1.2rem; margin: 1.5rem 0; }

  /* Expansion */
  .expansion-header { margin-bottom: 2rem; }
  .expansion-img-wrap { max-width: 360px; margin: 0 auto; }

  /* Timeline */
  .timeline-header {
    grid-template-columns: 1fr;
    gap: 1rem;
    margin-bottom: 2.5rem;
  }
  .timeline-intro { max-width: 100%; }
  .timeline       { padding-left: 1rem; }
  .timeline-item  {
    grid-template-columns: 54px 1fr;
    gap: 1rem;
    padding: 1.4rem 0 1.4rem 1rem;
  }
  .tl-year    { font-size: 1.05rem; }
  .tl-content h4 { font-size: 0.86rem; }
  .tl-content p  { font-size: 0.86rem; }

  /* Five F's — about version */
  .fives-header  { grid-template-columns: 1fr; gap: 1rem; margin-bottom: 2rem; }
  .fives-intro   { max-width: 100%; }
  .f-about-row   {
    grid-template-columns: 1fr;
    gap: 0.4rem;
    padding: 1.2rem 0;
  }
  .f-about-initial,
  .f-about-rest  { font-size: clamp(1.9rem, 7.5vw, 2.8rem); }
  .f-about-row p { font-size: 0.86rem; }

  /* Praise (dark testimonials) */
  .praise-grid { grid-template-columns: 1fr; gap: 1px; }
  .praise-card { padding: 1.8rem 1.4rem; }
  .praise-text { font-size: 0.97rem; line-height: 1.7; }
}

@media (max-width: 430px) {
  .about-hero { height: 90vh; }
  .hero-credential { grid-template-columns: 1fr; }
  .hc-item:not(:last-child) { border-bottom: 1px solid rgba(184,149,42,0.12); }
}

/* ══════════════════════════════════════════════════════════
   9. COACHING PAGE — mobile
   ══════════════════════════════════════════════════════════ */
@media (max-width: 768px) {
  .coaching-hero        { padding: 2.8rem 1.25rem 2.2rem; }
  .coaching-hero-inner  { grid-template-columns: 1fr; gap: 2rem; }
  .coaching-hero-text p { max-width: 100%; }
  .coaching-hero-badges {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 0.5rem;
  }
  .hero-stat-card {
    min-width: 0;
    padding: 1rem;
    flex: unset;
  }
  .hsc-num   { font-size: 1.6rem; }
  .hsc-label { font-size: 0.57rem; line-height: 1.35; }

  /* Enrollment banner */
  .enrollment-banner {
    flex-direction: column;
    padding: 1rem 1.25rem;
    gap: 0.75rem;
    align-items: flex-start;
  }
  .enrollment-banner p  { font-size: 0.82rem; }
  .enrollment-banner .btn { width: 100%; justify-content: center; display: flex; align-items: center; }

  /* FOCUS steps — horizontal row layout becomes simpler */
  .focus-steps { border-top: 1px solid var(--cream-dk); }
  .focus-step {
    display: grid;
    grid-template-columns: 48px 1fr;
    grid-template-rows: auto auto;
    gap: 0 1rem;
    padding: 1.3rem 1rem;
    border-left: none;
    border-bottom: 1px solid var(--cream-dk);
  }
  .focus-step:hover { border-left: none; padding-left: 1rem; }
  .focus-step-letter { grid-row: 1 / 3; font-size: 2.4rem; align-self: center; }
  .focus-step-title  {
    grid-column: 2;
    font-size: 0.72rem;
    letter-spacing: 0.12em;
    align-self: end;
    padding-bottom: 0.2rem;
  }
  .focus-step-desc {
    grid-column: 2;
    font-size: 0.86rem;
    line-height: 1.68;
  }
  .focus-step--result { border-bottom: none; }

  /* Programs grid */
  .grid-3.cards-grid-coaching {
    grid-template-columns: 1fr;
    gap: 1.2rem;
  }
  /* Featured card: first */
  .program-card.featured { order: -1; border-top: 3px solid var(--gold); }

  /* Who it's for */
  .who-grid { grid-template-columns: 1fr 1fr; gap: 0; }
  .who-item { padding: 1.4rem; border: 1px solid var(--cream-dk); margin: -1px 0 0 -1px; }
  .who-num  { font-size: 2rem; }
  .who-item h4 { font-size: 0.82rem; margin-bottom: 0.4rem; }
  .who-item p  { font-size: 0.82rem; }
}

@media (max-width: 430px) {
  .coaching-hero-badges { grid-template-columns: 1fr 1fr; }
  .hero-stat-card:last-child { grid-column: 1 / -1; }
  .who-grid { grid-template-columns: 1fr; }
  .focus-step-letter { font-size: 2rem; }
}

/* ══════════════════════════════════════════════════════════
   10. EVENTS PAGE — mobile
   ══════════════════════════════════════════════════════════ */
@media (max-width: 768px) {
  .events-hero          { padding: 2.8rem 1.25rem 2rem; }
  .events-hero-inner    { grid-template-columns: 1fr; gap: 2rem; }
  .events-hero-text p   { max-width: 100%; }
  .events-hero-aside {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    border: 1px solid rgba(184,149,42,0.2);
  }
  .aside-item   { padding: 1rem 0.75rem; border-right: 1px solid rgba(184,149,42,0.12); }
  .aside-item:last-child { border-right: none; }
  .aside-divider { display: none; }
  .aside-num    { font-size: 1.6rem; }
  .aside-label  { font-size: 0.56rem; letter-spacing: 0.1em; }

  /* Urgency band */
  .urgency-band {
    flex-direction: column;
    padding: 1rem 1.25rem;
    gap: 0.75rem;
    align-items: flex-start;
  }
  .urgency-band p   { font-size: 0.8rem; }
  .urgency-band .btn { width: 100%; justify-content: center; display: flex; align-items: center; }

  /* Summit cards */
  .summits-grid { grid-template-columns: 1fr; gap: 1.5rem; }
  .summit-card--featured { transform: none; box-shadow: var(--shadow-md); }
  .summit-card-img  { height: 180px; }
  .summit-card-body { padding: 1.6rem; }
  .summit-card h3   { font-size: 1.6rem; }
  .summit-card-actions { flex-direction: column; gap: 0.65rem; }
  .summit-card-actions .btn { width: 100%; justify-content: center; display: flex; align-items: center; }

  /* Why attend */
  .why-grid    { grid-template-columns: 1fr; gap: 2rem; }
  .why-pillars { grid-template-columns: 1fr; }
  .why-pillar  { padding: 1.4rem; border-left: 1px solid var(--cream); border-top: none; }
  .wp-num      { font-size: 1.5rem; }
}

@media (max-width: 430px) {
  .events-hero-aside { grid-template-columns: 1fr 1fr; }
  .aside-item:last-child { grid-column: 1 / -1; border-right: none; border-top: 1px solid rgba(184,149,42,0.12); }
}

/* ══════════════════════════════════════════════════════════
   11. SUMMIT DETAIL PAGES — mobile
   ══════════════════════════════════════════════════════════ */
@media (max-width: 768px) {
  .summit-hero { min-height: 72vh; max-height: 700px; }
  .summit-hero-content {
    grid-template-columns: 1fr;
    gap: 1.5rem;
    padding: 1.25rem;
    padding-bottom: 2rem;
  }
  .summit-hero-text h1 { font-size: clamp(2rem, 8.5vw, 3.2rem); }
  .summit-hero-text p  { font-size: 0.92rem; }
  .summit-hero-actions {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.75rem;
  }
  .seats-warning { font-size: 0.68rem; }

  /* Meta grid */
  .summit-hero-meta {
    display: grid;
    grid-template-columns: 1fr 1fr;
    padding: 0;
  }
  .shm-item {
    padding: 0.85rem 1rem;
    border-bottom: 1px solid rgba(255,255,255,0.06);
    border-right: 1px solid rgba(255,255,255,0.06);
  }
  .shm-item:nth-child(even) { border-right: none; }
  .shm-label { font-size: 0.56rem; }
  .shm-val   { font-size: 0.82rem; }

  /* Detail grid */
  .summit-detail-grid { grid-template-columns: 1fr; gap: 2rem; }
  .summit-includes-card { position: static; padding: 1.5rem; }
  .sic-list li { font-size: 0.84rem; }
  .summit-pullquote { font-size: 1.05rem; padding-left: 1.2rem; }

  /* Who attends */
  .who-attends-grid { grid-template-columns: 1fr; gap: 0; }
  .wa-item { padding: 1.4rem; border-bottom: 1px solid var(--cream-dk); }
  .wa-item:last-child { border-bottom: none; }
}

@media (max-width: 430px) {
  .summit-hero { min-height: 80vh; }
  .summit-hero-meta { grid-template-columns: 1fr; }
  .shm-item { border-right: none; }
}

/* ══════════════════════════════════════════════════════════
   12. BOOK PAGE — mobile
   ══════════════════════════════════════════════════════════ */
@media (max-width: 768px) {
  /* Hero — book cover stacks, text below */
  .book-hero { padding: 3rem 1.25rem 2.5rem; }
  .book-hero-inner {
    grid-template-columns: 1fr;
    gap: 0;
    align-items: start;
  }
  /* Cover first */
  .book-cover-wrap { order: 1; margin-bottom: 2rem; text-align: center; }
  .book-cover-img  { width: clamp(140px, 46vw, 220px); margin: 0 auto; }
  .book-stars      { font-size: 1rem; justify-content: center; }
  .book-bestseller { text-align: center; font-size: 0.6rem; }
  /* Text second */
  .book-hero-text  { order: 2; }
  .book-hero-h     { font-size: clamp(1.9rem, 8vw, 2.8rem); }
  .book-hero-text p { font-size: 0.92rem; }
  .book-hero-actions { flex-direction: column; gap: 0.65rem; margin-top: 1.8rem; }

  /* Questions grid */
  .bq-grid { grid-template-columns: 1fr; }
  .bq-item { padding: 0.8rem 0; font-size: 0.88rem; }

  /* Endorsements */
  .endorsements-grid { grid-template-columns: 1fr; gap: 1.2rem; }
  .endorsement-card  { padding: 1.6rem 1.4rem; }
  .endorsement-text  { font-size: 0.97rem; }

  /* Retailers */
  .retailers-grid { grid-template-columns: 1fr 1fr; }
  .retailer-card  { padding: 1.4rem 1rem; }
  .retailer-name  { font-size: 0.76rem; }

  /* ISBN note */
  .isbn-note { flex-direction: column; gap: 0.3rem; font-size: 0.72rem; }
  .isbn-sep  { display: none; }

  /* Podcast tie-in */
  .podcast-mini-card { min-height: 160px; padding: 1.5rem; }
  .pmc-title { font-size: 1.4rem; }
}

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

/* ══════════════════════════════════════════════════════════
   13. ENROLL PAGE — mobile
   ══════════════════════════════════════════════════════════ */
@media (max-width: 768px) {
  /* Shorter hero */
  .enroll-hero { padding: 2.5rem 1.25rem 2rem; }
  .enroll-hero-inner { grid-template-columns: 1fr; gap: 2rem; }
  .enroll-hero-text h1 { font-size: clamp(2rem, 8vw, 3rem); }
  /* Move programs preview below the form on mobile */
  .enroll-programs-preview { order: 2; }
  .enroll-form-wrap .form-card { order: 1; }

  /* Program list */
  .program-list li { flex-wrap: wrap; gap: 0.4rem; }
  .pl-name  { font-size: 0.88rem; }
  .pl-detail { font-size: 0.72rem; }
  .pl-price { font-size: 0.88rem; }
  .early-note { padding: 1rem; }
  .en-body  { font-size: 0.82rem; }

  /* Form layout */
  .enroll-form-wrap {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
  .form-intro h2  { font-size: clamp(1.7rem, 7vw, 2.4rem); }
  .form-intro p   { font-size: 0.9rem; }
  .form-trust     { gap: 0.5rem; }
  .trust-item     { font-size: 0.82rem; }
  .form-card      { padding: 1.5rem; }

  /* Form fields */
  .field label { font-size: 0.66rem; letter-spacing: 0.14em; }
  .field input,
  .field select,
  .field textarea {
    padding: 1rem;
    font-size: 1rem; /* Prevents iOS zoom on focus */
    min-height: 52px;
  }
  .field textarea { min-height: 120px; }
  .enroll-submit {
    width: 100%;
    min-height: 54px;
    font-size: 0.8rem;
    letter-spacing: 0.16em;
  }
  .form-note { font-size: 0.68rem; }

  /* FAQ — accordion on mobile */
  .faq-grid {
    grid-template-columns: 1fr;
    gap: 0;
    margin-top: 2rem;
  }
  .faq-item {
    border-top: none;
    border-bottom: 1px solid var(--cream);
    padding: 0;
  }
  .faq-item:first-child { border-top: 1px solid var(--cream); }
  .faq-toggle {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    padding: 1.2rem 0;
    background: none;
    border: none;
    cursor: pointer;
    text-align: left;
    gap: 1rem;
    min-height: 52px;
  }
  .faq-toggle h4 {
    font-size: 0.87rem;
    color: var(--charcoal);
    font-weight: 600;
    letter-spacing: 0.04em;
    margin: 0;
  }
  .faq-toggle-icon {
    font-size: 1.2rem;
    color: var(--gold);
    flex-shrink: 0;
    transition: transform 0.25s ease;
    line-height: 1;
    font-family: var(--font-body);
    font-weight: 300;
  }
  .faq-item.open .faq-toggle-icon { transform: rotate(45deg); }
  .faq-body {
    display: none;
    padding: 0 0 1.2rem;
  }
  .faq-body p { font-size: 0.88rem; line-height: 1.75; }
  .faq-item.open .faq-body { display: block; }
}

/* ══════════════════════════════════════════════════════════
   14. FOOTER — mobile
   ══════════════════════════════════════════════════════════ */
@media (max-width: 768px) {
  .site-footer { padding: 2.5rem 1.25rem 0; }
  .footer-grid { grid-template-columns: 1fr; gap: 0; }

  .footer-brand {
    padding-bottom: 1.4rem;
    margin-bottom: 0;
    border-bottom: 1px solid rgba(255,255,255,0.08);
  }
  .footer-brand p { font-size: 0.84rem; }

  /* Collapsible footer columns */
  .footer-col {
    border-bottom: 1px solid rgba(255,255,255,0.06);
    padding: 0;
  }
  .footer-col-toggle {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    padding: 1rem 0;
    background: none;
    border: none;
    cursor: pointer;
    min-height: 48px;
  }
  .footer-col-toggle h4 {
    font-size: 0.65rem;
    letter-spacing: 0.2em;
    color: rgba(255,255,255,0.45);
    font-weight: 500;
    margin: 0;
  }
  .footer-col-icon {
    color: var(--gold);
    font-size: 1rem;
    font-weight: 300;
    transition: transform 0.25s ease;
    flex-shrink: 0;
  }
  .footer-col.open .footer-col-icon { transform: rotate(45deg); }
  .footer-col-links {
    display: none;
    padding-bottom: 1rem;
    flex-direction: column;
  }
  .footer-col.open .footer-col-links { display: flex; }
  .footer-col a {
    font-size: 0.88rem;
    min-height: 40px;
    display: flex;
    align-items: center;
    color: rgba(255,255,255,0.38);
    padding: 0.1rem 0;
    border-bottom: none;
    margin-bottom: 0;
  }
  .footer-col a:hover { color: var(--gold); }

  .footer-bottom {
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem;
    padding: 1.4rem 0 calc(1.5rem + var(--sticky-bar-h));
  }
  .footer-bottom p { font-size: 0.7rem; color: rgba(255,255,255,0.22); }
  .social-links    { gap: 0.5rem; }
  .social-link     { width: 40px; height: 40px; font-size: 0.65rem; }

  .footer-disclaimer {
    padding: 1.2rem 0 1.5rem;
    border-top: 1px solid rgba(255,255,255,0.05);
  }
  .footer-disclaimer p { font-size: 0.62rem; line-height: 1.65; }
}

/* ══════════════════════════════════════════════════════════
   15. TESTIMONIALS — mobile (global)
   ══════════════════════════════════════════════════════════ */
@media (max-width: 768px) {
  .grid-3:has(.testimonial-card) { grid-template-columns: 1fr; gap: 1.2rem; }
  .testimonial-card { padding: 1.6rem 1.4rem; }
  .testimonial-text { font-size: 1rem; padding-top: 1.4rem; }
}

/* ══════════════════════════════════════════════════════════
   16. OVERFLOW / HORIZONTAL SCROLL PREVENTION
   ══════════════════════════════════════════════════════════ */
@media (max-width: 768px) {
  /* Kill decorative big BG text that causes overflow */
  .events-hero-bg,
  .enroll-hero-bg,
  .book-hero-bg-text { display: none; }

  /* Hard clamp on common overflow suspects */
  .site-nav, .mobile-nav,
  .page-body, .site-footer,
  .container { max-width: 100vw; overflow-x: hidden; }
}

/* ══════════════════════════════════════════════════════════
   17. FORM — global mobile fields prevent iOS zoom
   ══════════════════════════════════════════════════════════ */
@media (max-width: 768px) {
  .field input,
  .field select,
  .field textarea { font-size: 1rem !important; }
}

/* ══════════════════════════════════════════════════════════
   18. TABLET (768px–1024px) INTERMEDIATE FIXES
   ══════════════════════════════════════════════════════════ */
@media (min-width: 769px) and (max-width: 1024px) {
  .grid-3 { grid-template-columns: 1fr 1fr; }
  .summits-grid { grid-template-columns: 1fr; max-width: 680px; margin-left: auto; margin-right: auto; }
  .summit-card--featured { transform: none; }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 2rem; }
  .who-attends-grid { grid-template-columns: 1fr 1fr; }
  .endorsements-grid { grid-template-columns: 1fr 1fr; }
  .fives-about-grid { grid-template-columns: 1fr 1fr; }
  .book-hero-inner { gap: 3rem; }
}
