/* =============================================
   TRADERS HOUSE — responsive.css
   Breakpoints: 1200 / 1024 / 768 / 480
   ============================================= */


/* ═══════════════════════════════════════════
   1200px — Tighten grids
   ═══════════════════════════════════════════ */
@media (max-width: 1200px) {
  :root {
    --font-hero:    clamp(38px, 5vw, 68px);
    --section-py:   60px;
  }

  .hero-container    { gap: 48px; }
  .bento-grid        { grid-template-columns: repeat(3, 1fr); gap: 18px; }
  .expect-grid       { grid-template-columns: repeat(4, 1fr); gap: 16px; }
  .who-grid          { grid-template-columns: repeat(3, 1fr); gap: 20px; }
  .impact-grid       { gap: 24px; }
  .nav-links         { gap: 28px; }
  .section-title     { font-size: clamp(30px, 4vw, 54px); }
}


/* ═══════════════════════════════════════════
   1024px — Tablet landscape / small desktop
   ═══════════════════════════════════════════ */
@media (max-width: 1024px) {
  :root {
    --font-hero:  clamp(32px, 6vw, 52px);
    --section-py: 36px;
  }

  /* ─ Nav ─ */
  .nav-links { display: none; }
  .hamburger { display: flex; }
  .nav-actions .btn-nav-cta { display: none; }

  /* ─ Hero ─ */
  .hero-container {
    grid-template-columns: 1fr;   /* single column on tablet/mobile */
    text-align:     center;
    gap:            36px;
    padding-top:    20px;
    padding-bottom: 20px;
  }
  .hero-left  { max-width: 600px; margin: 0 auto; }
  .hero-right { max-width: 440px; width: 100%; margin: 0 auto; }
  .hero-ctas  { justify-content: center; }
  .hero-social-proof { justify-content: center; }

  /* ─ Trust marquee ─ */
  .partner-chip { padding: 8px 18px; }

  /* ─ Problem ─ */
  .problem-grid {
    grid-template-columns: 1fr;
    gap: 48px;
  }
  .problem-left  { display: none; } /* hide illustration on tablet */
  .problem-right { max-width: 100%; }
  .pain-grid     { grid-template-columns: repeat(2, 1fr); }

  /* ─ Bento ─ */
  .bento-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
  }
  .bento-large { grid-column: span 2; }

  /* ─ Impact ─ */
  .impact-grid { grid-template-columns: repeat(2, 1fr); }


  /* ─ Past events ─ */
  .past-event-main { grid-template-columns: 1fr; }
  .past-event-gallery { grid-template-columns: repeat(3, 1fr); }

  /* ─ Upcoming ─ */
  .upcoming-grid { grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); }

  /* ─ What to expect ─ */
  .expect-grid { grid-template-columns: repeat(2, 1fr); gap: 14px; }
  .expect-large { grid-column: span 2; }

  /* ─ Gallery ─ */
  .gallery-masonry { column-count: 3; }

  /* ─ Video ─ */
  .video-grid { grid-template-columns: repeat(2, 1fr); }

  /* ─ Who should join ─ */
  .who-grid { grid-template-columns: repeat(2, 1fr); }

  /* ─ Footer ─ */
  .footer-top   { gap: 40px; }
  .footer-links-grid { gap: 24px; }

  /* ─ Sticky widget ─ */
  .sticky-widget {
    top:    auto;
    bottom: 0;
    right:  0;
    left:   0;
    transform: translateY(100%);
    border-radius: 20px 20px 0 0;
    flex-direction: row;
    align-items:    center;
    gap: 16px;
    padding: 14px 20px;
    max-width: 100%;
  }
  .sticky-widget.visible { transform: translateY(0); }
  .widget-countdown { display: none; }
  .widget-seats,
  .widget-price { font-size: 14px; }
  .sticky-widget .btn-primary { padding: 10px 22px; font-size: 14px; }
}


/* ═══════════════════════════════════════════
   768px — Tablet portrait / large mobile
   ═══════════════════════════════════════════ */
@media (max-width: 768px) {
  :root {
    --font-hero:  clamp(28px, 8vw, 44px);
    --section-py: 44px;
  }

  /* ─ Loader ─ */
  .loader-logo { font-size: 40px; }

  /* ─ Custom cursor — hide on touch ─ */
  .cursor, .cursor-follower { display: none !important; }

  /* ─ Nav ─ */
  .nav-container { padding: 0 20px; }
  .logo-text     { font-size: 16px; }

  /* ─ Hero ─ */
  .hero-container { grid-template-columns: 1fr; padding: 20px 20px 36px; gap: 24px; }
  .hero-right     { width: 100%; max-width: 480px; margin: 0 auto; }
  .section-hero   { height: auto; min-height: 100svh; }
  .hero-headline  { font-size: clamp(22px, 5vw, 32px); }
  .hero-desc      { font-size: 16px; }
  .hero-ctas      { flex-direction: column; align-items: center; gap: 12px; width: 100%; }
  .hero-ctas .btn-primary,
  .hero-ctas .btn-ghost { width: 100%; max-width: 320px; justify-content: center; }

  /* ─ Event card ─ */
  .hero-right { box-sizing: border-box; overflow: hidden; }
  .event-card { padding: 16px; width: 100%; box-sizing: border-box; }
  .event-card-top { flex-wrap: wrap; gap: 6px; }
  .event-type-label { font-size: 8px; }
  .event-location-visual { height: 80px; margin-bottom: 10px; }
  .event-card-title { font-size: 18px; }
  .event-location-content { padding: 16px 14px; }
  .event-detail-row { font-size: 12px; gap: 8px; }
  .countdown-section { margin-bottom: 10px; }
  .countdown-grid { gap: 6px; }
  .countdown-box  { padding: 10px 6px; min-width: 52px; }
  .countdown-num  { font-size: 24px; }
  .countdown-label { font-size: 9px; }
  .colon          { font-size: 18px; }
  .seats-remaining { font-size: 12px; }
  .progress-bar   { height: 4px; }

  /* ─ Pain grid ─ */
  .pain-grid { grid-template-columns: 1fr; }

  /* ─ Bento ─ */
  .bento-grid {
    grid-template-columns: 1fr;
    gap: 14px;
  }
  .bento-large  { grid-column: span 1; }
  .bento-card   { padding: 28px 24px; min-height: 180px; }
  .bento-icon   { font-size: 28px; }

  /* ─ Impact ─ */
  .impact-grid { grid-template-columns: repeat(2, 1fr); gap: 16px; }
  .stat-number { font-size: 40px; }


  /* ─ Expect grid ─ */
  .expect-grid  { grid-template-columns: repeat(2, 1fr); gap: 12px; }
  .expect-large { grid-column: span 2; }
  .expect-card  { padding: 24px 20px; }

  /* ─ Gallery ─ */
  .gallery-masonry  { column-count: 2; column-gap: 12px; }
  .gallery-filter-btns { gap: 8px; flex-wrap: wrap; justify-content: center; }
  .gallery-filter-btn { padding: 8px 16px; font-size: 13px; }

  /* ─ Video ─ */
  .video-grid { grid-template-columns: repeat(2, 1fr); gap: 14px; }

  /* ─ TV slider ─ */
  .tv-card     { min-width: 220px; }
  .tv-nav-btn  { display: none; }

  /* ─ Testimonials ─ */
  .testimonials-track { flex-direction: column; }
  .testimonial-card   { min-width: 100%; padding: 28px 24px; }
  .testimonials-wrap  { overflow: hidden; }

  /* ─ Who grid ─ */
  .who-grid { grid-template-columns: repeat(2, 1fr); gap: 14px; }
  .who-card { padding: 28px 20px; }

  /* ─ FAQ ─ */
  .faq-question { font-size: 16px; padding: 18px 20px; }
  .faq-answer p { font-size: 15px; }

  /* ─ CTA section ─ */
  .cta-title        { font-size: clamp(28px, 6vw, 48px); }
  .cta-buttons      { flex-direction: column; align-items: center; gap: 12px; }
  .cta-buttons .btn-primary,
  .cta-buttons .btn-ghost { width: 100%; max-width: 300px; justify-content: center; }

  /* ─ Footer ─ */
  .footer-top          { grid-template-columns: 1fr; gap: 32px; }
  .footer-brand        { max-width: 100%; }
  .footer-links-grid   { grid-template-columns: repeat(2, 1fr); gap: 20px; }
  .footer-bottom       { flex-direction: column; gap: 12px; text-align: center; }
  .footer-legal        { justify-content: center; gap: 16px; }
  .footer-copy         { text-align: center; }

  /* ─ Section headers ─ */
  .section-header { margin-bottom: 40px; }
  .section-title  { font-size: clamp(26px, 7vw, 42px); }
  .section-eyebrow { font-size: 11px; }

  /* ─ Container ─ */
  .container { padding: 0 20px; }
}


/* ═══════════════════════════════════════════
   480px — Mobile portrait
   ═══════════════════════════════════════════ */
@media (max-width: 480px) {
  :root {
    --font-hero:  clamp(24px, 9vw, 38px);
    --section-py: 36px;
  }

  /* ─ Nav ─ */
  .logo-badge { width: 30px; height: 30px; font-size: 12px; }
  .logo-text  { font-size: 14px; }

  /* ─ Hero ─ */
  .hero-container { grid-template-columns: 1fr; padding: 20px 16px 32px; gap: 20px; }
  .hero-badge     { font-size: 11px; padding: 6px 14px; }
  .hero-headline  { font-size: clamp(20px, 6vw, 28px); line-height: 1.12; }
  .hero-desc      { font-size: 15px; }

  /* ─ Countdown ─ */
  .countdown-grid { gap: 8px; }
  .countdown-box  { padding: 12px 8px; min-width: 58px; }
  .countdown-num  { font-size: 24px; }
  .countdown-label { font-size: 10px; }
  .colon          { font-size: 20px; }

  /* ─ Social proof ─ */
  .sp-avatars { display: none; }
  .sp-text span { font-size: 13px; }

  /* ─ Trust ─ */
  .partner-chip  { padding: 7px 14px; font-size: 12px; }
  .partner-chip .chip-icon { width: 20px; height: 20px; font-size: 10px; }

  /* ─ Bento ─ */
  .bento-grid  { gap: 10px; }
  .bento-card  { padding: 24px 18px; min-height: 160px; }
  .bento-icon  { font-size: 24px; margin-bottom: 12px; }
  .bento-title { font-size: 16px; }
  .bento-desc  { font-size: 13px; }

  /* ─ Impact ─ */
  .impact-grid { grid-template-columns: 1fr 1fr; gap: 12px; }
  .impact-stat { padding: 24px 16px; }
  .stat-number { font-size: 34px; }
  .stat-label  { font-size: 13px; }


  /* ─ Upcoming card ─ */
  .uc-card    { border-radius: 20px; }
  .uc-img     { height: 200px; }
  .uc-body    { padding: 24px 20px; }
  .uc-title   { font-size: 22px; }
  .uc-cd-num  { font-size: 22px; }
  .uc-highlights { gap: 8px; }
  .uc-hl-tag  { font-size: 12px; padding: 6px 12px; }

  /* ─ Expect ─ */
  .expect-grid  { grid-template-columns: 1fr; gap: 10px; }
  .expect-large { grid-column: span 1; }
  .expect-card  { padding: 22px 18px; }

  /* ─ Gallery ─ */
  .gallery-masonry { column-count: 1; }
  .gallery-item    { margin-bottom: 10px; }

  /* ─ Video grid ─ */
  .video-grid  { grid-template-columns: 1fr; gap: 14px; }
  .video-thumb { height: 180px; }

  /* ─ TV slider ─ */
  .tv-card     { min-width: 200px; }
  .tv-thumb    { height: 150px; }

  /* ─ Testimonial ─ */
  .t-quote  { font-size: 14px; }
  .t-avatar { width: 44px; height: 44px; font-size: 14px; }

  /* ─ Who grid ─ */
  .who-grid { grid-template-columns: 1fr; gap: 12px; }
  .who-card { padding: 24px 18px; }
  .who-icon { font-size: 28px; }
  .who-title { font-size: 18px; }

  /* ─ FAQ ─ */
  .faq-question { font-size: 14px; padding: 16px 18px; }
  .faq-icon     { width: 28px; height: 28px; font-size: 14px; }

  /* ─ CTA ─ */
  .cta-section { padding: 80px 16px; }
  .cta-title   { font-size: clamp(24px, 8vw, 36px); }

  /* ─ Footer ─ */
  .footer              { padding: 40px 16px 24px; }
  .footer-top          { grid-template-columns: 1fr; gap: 24px; }
  .footer-links-grid   { grid-template-columns: 1fr; gap: 16px; }
  .footer-col h4       { font-size: 12px; }
  .footer-col a        { font-size: 13px; padding: 3px 0; }
  .footer-bottom       { padding-top: 20px; }
  .footer-copy         { font-size: 12px; }
  .footer-legal a      { font-size: 12px; }

  /* ─ Containers ─ */
  .container { padding: 0 16px; }
  .section-title { font-size: clamp(24px, 8vw, 36px); }

  /* ─ Sticky widget small screen ─ */
  .sticky-widget { padding: 12px 16px; gap: 12px; }
  .widget-urgency { font-size: 11px; }
  .widget-seats  { font-size: 13px; }
  .sticky-widget .btn-primary { font-size: 13px; padding: 10px 18px; white-space: nowrap; }
}


/* ═══════════════════════════════════════════
   360px — Very small devices
   ═══════════════════════════════════════════ */
@media (max-width: 360px) {
  .hero-headline   { font-size: 22px; }
  .countdown-box   { min-width: 50px; padding: 10px 6px; }
  .countdown-num   { font-size: 22px; }
  .impact-grid     { grid-template-columns: 1fr; }
  .who-grid        { grid-template-columns: 1fr; }
  .nav-container   { padding: 0 14px; }
  .logo-text       { display: none; }
}


/* ═══════════════════════════════════════════
   Reduced motion — accessibility
   ═══════════════════════════════════════════ */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration:   0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration:  0.01ms !important;
    scroll-behavior:      auto !important;
  }
  .reveal-up,
  .reveal-fade,
  .reveal-left,
  .reveal-right,
  .reveal-scale {
    opacity: 1 !important;
    transform: none !important;
  }
  .blob { animation: none !important; }
  .marquee-track { animation-play-state: paused !important; }
}


/* ═══════════════════════════════════════════
   Utility: hide scrollbar on sliders
   ═══════════════════════════════════════════ */
.tv-slider-wrap,
.testimonials-wrap {
  -ms-overflow-style: none;
  scrollbar-width:    none;
}
.tv-slider-wrap::-webkit-scrollbar,
.testimonials-wrap::-webkit-scrollbar { display: none; }


/* ═══════════════════════════════════════════
   Video modal responsive
   ═══════════════════════════════════════════ */
@media (max-width: 768px) {
  .modal-content {
    width:         95vw;
    border-radius: 16px;
    padding:       0;
  }
  .video-player-wrap iframe,
  .video-player-wrap video {
    border-radius: 16px;
  }
  .modal-close {
    top:   -40px;
    right: 0;
  }
}


/* ═══════════════════════════════════════════
   Lightbox responsive
   ═══════════════════════════════════════════ */
@media (max-width: 768px) {
  .lightbox-inner {
    width:  92vw;
    height: 60vw;
    max-height: 70vh;
  }
  .lb-nav-btn { font-size: 20px; padding: 8px 14px; }
  .lightbox-caption { font-size: 14px; }
}

@media (max-width: 480px) {
  .lightbox-inner  { height: 70vw; }
  .lb-nav-wrap     { gap: 12px; }
  .lb-nav-btn      { font-size: 18px; padding: 6px 12px; }
}


/* ═══════════════════════════════════════════
   Print — strip animations
   ═══════════════════════════════════════════ */
@media print {
  .loader, .cursor, .cursor-follower,
  .sticky-widget, .mobile-menu,
  .blob, #particleCanvas { display: none !important; }
  body { background: white; color: black; }
}

/* ═══════════════════════════════════════════════
   TIMELINE + PAST EVENTS — Full Responsive Rewrite
   ═══════════════════════════════════════════════ */

/* ─── 1200px ─── */
@media (max-width: 1200px) {
  .timeline-track { gap: 40px; }
}

/* ─── 1024px — left-aligned single column timeline ─── */
@media (max-width: 1024px) {

  .timeline-line { left: 28px; transform: none; }
  .timeline-track { gap: 28px; }

  /* Reset to 2-col: [node 56px] [card 1fr] */
  .timeline-item,
  .timeline-item:nth-child(even) {
    grid-template-columns: 56px 1fr;
  }
  /* Override explicit grid placement back to simple flow */
  .timeline-item .timeline-node,
  .timeline-item:nth-child(even) .timeline-node {
    grid-column: 1; grid-row: 1;
    margin-top: 0;
    width: 56px; height: 56px;
  }
  .timeline-item .timeline-card,
  .timeline-item:nth-child(even) .timeline-card {
    grid-column: 2; grid-row: 1;
    padding-left: 16px; padding-right: 0;
  }

  .timeline-node-inner { font-size: 11px; }
  .timeline-img-wrap { height: 180px; }
  .timeline-content { padding: 20px; }
  .timeline-title { font-size: 18px; }

  /* Past Events */
  .past-event-main  { grid-template-columns: 1fr; }
  .past-event-gallery { grid-template-columns: 1.5fr 1fr; height: 300px; }
  .past-event-info  { padding: 28px; }
  .past-event-title { font-size: 24px; }
}

/* ─── 768px ─── */
@media (max-width: 768px) {

  .timeline-line { left: 22px; }
  .timeline-track { gap: 22px; }

  .timeline-item,
  .timeline-item:nth-child(even) {
    grid-template-columns: 44px 1fr;
  }
  .timeline-item .timeline-node,
  .timeline-item:nth-child(even) .timeline-node {
    width: 44px; height: 44px; grid-column: 1;
  }
  .timeline-item .timeline-card,
  .timeline-item:nth-child(even) .timeline-card {
    grid-column: 2; padding-left: 14px; padding-right: 0;
  }

  .timeline-node-inner { font-size: 10px; }
  .timeline-node-future .timeline-node-inner { font-size: 14px; }
  .tl-goa::after, .tl-manali::after { font-size: 52px; }
  .timeline-img-wrap  { height: 155px; }
  .timeline-content   { padding: 15px; }
  .timeline-title     { font-size: 16px; }
  .timeline-subtitle  { font-size: 12px; margin-bottom: 10px; }
  .timeline-stats     { gap: 10px; padding: 10px 0; margin-bottom: 10px; }
  .tl-num             { font-size: 16px; }
  .tl-lbl             { font-size: 10px; }
  .timeline-bullets li { font-size: 12.5px; }
  .timeline-exp-text  { font-size: 13px; margin-bottom: 12px; }

  /* Past Events */
  .past-event-main    { grid-template-columns: 1fr; border-radius: 16px; }
  .past-event-gallery { grid-template-columns: 1.2fr 0.8fr; height: 230px; }
  .past-event-info    { padding: 20px; gap: 14px; }
  .past-event-title   { font-size: 20px; margin-bottom: 4px; }
  .past-event-sub     { font-size: 13px; margin-bottom: 14px; }
  .past-event-highlights { gap: 6px; margin-bottom: 14px; }
  .highlight-item     { font-size: 13px; }
  .past-quote         { font-size: 12.5px; padding: 10px 14px; }
}

/* ─── 480px ─── */
@media (max-width: 480px) {

  .timeline-line { left: 18px; }
  .timeline-track { gap: 18px; }

  .timeline-item,
  .timeline-item:nth-child(even) {
    grid-template-columns: 36px 1fr;
  }
  .timeline-item .timeline-node,
  .timeline-item:nth-child(even) .timeline-node {
    width: 36px; height: 36px; grid-column: 1;
  }
  .timeline-item .timeline-card,
  .timeline-item:nth-child(even) .timeline-card {
    grid-column: 2; padding-left: 0px; padding-right: 0;
  }

  .timeline-node-inner    { font-size: 9px; }
  .timeline-node-pulse    { inset: -3px; }
  .timeline-img-wrap      { height: 135px; }
  .timeline-img-badge     { font-size: 10px; padding: 4px 8px; bottom: 8px; left: 8px; }
  .timeline-upcoming-tag  { font-size: 9px; padding: 3px 7px; top: 8px; right: 8px; }
  .timeline-content       { padding: 13px 11px; }
  .timeline-title         { font-size: 15px; }
  .tl-num                 { font-size: 15px; }
  .tl-lbl                 { font-size: 10px; }
  .timeline-stats         { gap: 8px; }
  .timeline-bullets li    { font-size: 12px; }

  /* Past Events */
  .past-event-gallery {
    grid-template-columns: 1fr;
    grid-template-rows: 180px 90px;
    height: auto;
  }
  .past-gallery-side  { flex-direction: row; height: 90px; }
  .past-gallery-sm    { height: 90px; }
  .past-event-info    { padding: 16px; }
  .past-event-title   { font-size: 18px; }
  .past-event-highlights {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 5px;
    margin-bottom: 12px;
  }
  .highlight-item { font-size: 12px; }
  .past-quote     { font-size: 12px; }
}

@media (max-width: 768px) {
  .section-subtitle { white-space: normal; font-size: 15px; max-width: 100%; }
}

/* ── Timeline responsive ── */
@media (max-width: 768px) {
  .timeline-item::before { left: 21px; }
  .timeline-node { margin-right: 18px; width: 44px; height: 44px; margin-top: 20px; }
  .timeline-node-inner { font-size: 10px; }
  .timeline-card { margin-bottom: 24px; }
  .timeline-img-wrap { height: 150px; }
  .timeline-content { padding: 16px; }
  .timeline-title { font-size: 17px; }
  .timeline-stats { gap: 12px; }
  .tl-num { font-size: 16px; }
}

@media (max-width: 480px) {
  .timeline-item::before { left: 17px; }
  .timeline-node { width: 36px; height: 36px; margin-right: 14px; margin-top: 18px; }
  .timeline-node-inner { font-size: 9px; }
  .timeline-img-wrap { height: 130px; }
  .timeline-content { padding: 13px 12px; }
  .timeline-title { font-size: 15px; }
  .tl-num { font-size: 15px; }
  .timeline-bullets li { font-size: 12px; }
  .timeline-exp-text { font-size: 13px; }
}

/* ════════════════════════════════════════════
   MISSING SECTION RESPONSIVE RULES
   ════════════════════════════════════════════ */

/* ── Trust / Marquee ── */
@media (max-width: 768px) {
  .section-trust { padding: 28px 0; }
  .trust-eyebrow { font-size: 10px; margin-bottom: 16px; }
  .partner-chip  { padding: 7px 14px; font-size: 12px; gap: 6px; }
  .chip-icon     { width: 20px; height: 20px; font-size: 10px; }
}

/* ── Community / Feature List ── */
@media (max-width: 1024px) {
  .feature-list  { grid-template-columns: 1fr; }
  .feature-row:nth-child(even) { border-left: none; }
  .feature-row:nth-last-child(2) { border-bottom: 1px solid var(--border); }
}
@media (max-width: 768px) {
  .feature-row   { padding: 20px 18px; gap: 14px; }
  .feature-icon  { font-size: 24px; }
  .feature-title { font-size: 15px; }
  .feature-desc  { font-size: 13px; }
  .feature-num   { font-size: 10px; min-width: 18px; }
}
@media (max-width: 480px) {
  .feature-row { padding: 16px 14px; gap: 10px; }
  .feature-num { display: none; }
}

/* ── Journey / Timeline (ensure coverage) ── */
@media (max-width: 1024px) {
  .section-journey .section-container { max-width: 700px; }
}

/* ── Videos Section ── */
@media (max-width: 1024px) {
  .video-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 480px) {
  .video-grid { grid-template-columns: 1fr; }
  .video-thumb { height: 180px; }
}

/* ── TV Testimonial Slider ── */
@media (max-width: 768px) {
  .section-testimonial-videos .section-container { padding: 0 16px; }
  .tv-slider-wrapper { gap: 12px; }
  .tv-card { min-width: 200px; }
  .tv-thumb { height: 140px; }
  .tv-name { font-size: 13px; }
  .tv-role { font-size: 11px; }
}

/* ── Who Should Join ── */
@media (max-width: 1024px) {
  .who-grid { grid-template-columns: repeat(2, 1fr); gap: 16px; }
}
@media (max-width: 768px) {
  .who-grid  { grid-template-columns: repeat(2, 1fr); gap: 12px; }
  .who-card  { padding: 24px 18px; }
  .who-icon  { font-size: 28px; margin-bottom: 12px; }
  .who-title { font-size: 16px; }
  .who-desc  { font-size: 13px; }
}
@media (max-width: 480px) {
  .who-grid  { grid-template-columns: 1fr; gap: 10px; }
  .who-card  { padding: 20px 16px; }
}

/* ── Testimonials Grid ── */
@media (max-width: 1200px) {
  .testi-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 900px) {
  .testi-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
}
@media (max-width: 480px) {
  .testi-grid { grid-template-columns: 1fr; gap: 10px; }
  .testi-card { padding: 18px 16px; }
  .testi-quote { font-size: 13px; }
}

/* ── Upcoming Events ── */
@media (max-width: 768px) {
  .upcoming-grid { grid-template-columns: 1fr; max-width: 480px; margin: 0 auto; }
  .uc-body { padding: 20px 18px; }
  .uc-cd-num { font-size: 18px; }
}

/* ── CTA Section ── */
@media (max-width: 768px) {
  .cta-title    { font-size: clamp(24px, 7vw, 36px); }
  .cta-buttons  { flex-direction: column; align-items: center; gap: 12px; }
  .cta-buttons .btn-primary,
  .cta-buttons .btn-ghost { width: 100%; max-width: 300px; justify-content: center; }
}
@media (max-width: 480px) {
  .cta-title { font-size: clamp(20px, 8vw, 28px); }
  .cta-section { padding: 60px 16px; }
}

/* ── Footer ── */
@media (max-width: 768px) {
  /* footer handled above */
}

/* ── Global overflow safety ── */
/* html overflow-x:hidden removed — it breaks position:sticky */
body { overflow-x: clip; } /* clip is sticky-safe unlike hidden */

@media (max-width: 1024px) {
  .problem-left .lone-trader-card { position: static; }
}

/* ── Mobile container padding = 20px ── */
@media (max-width: 768px) {
  :root { --container-px: 20px; }
}
@media (max-width: 480px) {
  :root { --container-px: 16px; }
}
