/* ============================================================
   SM TRADING HUB — RESPONSIVE STYLESHEET
   Breakpoints: 1920px, 1600px, 1440px, 1200px, 1024px,
                768px, 600px, 430px, 390px, 375px, 360px, 320px
   ============================================================ */


/* ============================================================
   LARGE SCREENS (1600px+)
   ============================================================ */
@media (min-width: 1600px) {
  :root {
    --header-height: 84px;
    --container-pad: 80px;
  }

  .hero-title { font-size: 4.8rem; }
  .hero-panel-inner { padding: 36px; }
  .stat-number { font-size: 2.4rem; }
}


/* ============================================================
   LARGE SCREENS (1440px)
   ============================================================ */
@media (min-width: 1440px) {
  .hero-panel-inner { padding: 32px; }
}


/* ============================================================
   MEDIUM-LARGE (max-width: 1200px)
   ============================================================ */
@media (max-width: 1200px) {
  :root {
    --header-height: 70px;
  }

  /* Hero */
  .hero-shell {
    grid-template-columns: minmax(0, 1.1fr) minmax(240px, 0.9fr);
    gap: 32px;
  }

  /* Vision */
  .vision-grid {
    grid-template-columns: 1fr 1.2fr;
    gap: 48px;
  }

  /* Founder */
  .founder-grid {
    gap: 48px;
  }

  /* Footer */
  .footer-grid {
    grid-template-columns: 1.2fr 1fr 1fr;
  }

  .footer-grid > .footer-brand {
    grid-column: 1 / -1;
  }

  /* Signals */
  .signal-card {
    grid-template-columns: 90px 1fr repeat(3, 100px) 80px 100px;
  }

  .signal-header {
    grid-template-columns: 90px 1fr repeat(3, 100px) 80px 100px;
  }
}


/* ============================================================
   TABLET (max-width: 1024px)
   ============================================================ */
@media (max-width: 1024px) {
  /* Navigation — hide desktop, show hamburger */
  .main-nav { display: none; }
  .header-actions { display: none; }
  .hamburger { display: flex; }

  /* Hero: Stack on tablet portrait */
  .hero-shell {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto;
    gap: 32px;
    max-width: 680px;
    margin-inline: auto;
  }

  .hero-panel {
    order: -1;
  }

  .hero-panel-inner {
    padding: 20px;
  }

  .hero-stats {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 10px;
  }

  .hero-stat {
    flex: 1;
    min-width: 140px;
  }

  /* Vision */
  .vision-grid {
    grid-template-columns: 1fr;
    gap: 36px;
  }

  .vision-intro {
    position: static;
  }

  .vision-stats {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 10px;
  }

  .vision-stat { flex: 1; min-width: 140px; }
  .vision-intro,
  .vision-content { 
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center !important; 
    width: 100%;
  }
  .vision-intro .section-header,
  .vision-content .section-header { 
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center !important; 
    margin-inline: auto; 
    width: 100%;
  }
  .vision-intro .section-title,
  .vision-content .section-title { margin-inline: auto; text-align: center !important; width: 100%; }
  .vision-intro p,
  .vision-content p { margin-inline: auto; text-align: center !important; }
  .vision-intro .btn,
  .vision-content .btn { margin-inline: auto; display: block; width: fit-content; }

  /* Founder */
  .founder-grid {
    grid-template-columns: 1fr;
    gap: 40px;
    display: flex;
    flex-direction: column;
  }
  .founder-copy,
  .founder-content {
    order: 2;
    display: contents; /* Allows children to participate in flex layout */
  }
  .founder-copy .section-eyebrow,
  .founder-copy .section-title,
  .founder-copy .founder-name-block,
  .founder-content .section-header {
    order: 1; /* Heading comes first */
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center !important;
    margin-inline: auto;
    width: 100%;
  }
  .founder-copy > p,
  .founder-copy > .founder-bio,
  .founder-copy > .founder-actions,
  .founder-copy > .founder-highlights,
  .founder-content > p,
  .founder-content > .founder-bio,
  .founder-content > .founder-actions { 
    order: 3; /* Details come third */
    margin-inline: auto; 
    text-align: center !important;
    width: 100%;
  }
  
  .founder-copy > .founder-bio,
  .founder-content > .founder-bio,
  .founder-bio p {
    text-align: left !important;
  }

  .founder-media {
    order: 2; /* Picture comes second */
    flex-direction: row;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 20px;
    max-width: 560px;
    margin-inline: auto;
    width: 100%;
  }

  .founder-img-wrap {
    max-width: 280px;
    flex: 1;
    margin-inline: auto;
  }

  .founder-badge {
    align-self: center;
    margin-inline: auto;
  }

  /* Projects */
  .projects-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  /* Contact */
  .contact-grid {
    grid-template-columns: 1fr;
    gap: 36px;
  }
  
  .form-row {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  /* Team */
  .team-card {
    flex: 0 0 calc(50% - 12.5px);
  }

  /* Signals — Hide datetime on tablet */
  .signal-card {
    grid-template-columns: 90px auto repeat(3, 1fr) 80px;
  }
  .signal-header {
    grid-template-columns: 90px auto repeat(3, 1fr) 80px;
  }
  .signal-datetime { display: none; }
  .signal-header span:last-child { display: none; }

  /* Footer */
  .footer-grid {
    grid-template-columns: 1fr 1fr;
    gap: 36px;
  }

  .footer-grid > .footer-brand {
    grid-column: 1 / -1;
  }
}


/* ============================================================
   MOBILE LARGE (max-width: 768px)
   ============================================================ */
@media (max-width: 768px) {
  :root {
    --header-height: var(--header-height-mob);
    --section-pad-y: clamp(52px, 10vw, 80px);
  }
  .logo-img-wrap {
    width: 48px;
    height: 48px;
  }

  /* Hero */
  .hero-container {
    padding-top: calc(var(--header-height-mob) + 28px);
    padding-bottom: 40px;
    align-items: flex-end;
  }

  .hero-shell {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .hero-title { font-size: clamp(1.8rem, 8vw, 2.8rem); }

  .hero-actions {
    flex-direction: column;
  }

  .hero-actions .btn-hero {
    width: 100%;
    text-align: center;
  }

  .hero-panel { order: -1; }

  .hero-panel-inner { padding: 18px; }

  .hero-stats {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 8px;
  }

  .hero-stat {
    flex: 1 1 calc(50% - 4px);
    min-width: 120px;
  }

  .hero-stat:last-child { flex: 1 1 100%; }

  /* Form */
  .form-row {
    grid-template-columns: 1fr;
  }
  
  /* Team */
  .team-carousel-track {
    /* Reverted to JS slider */
  }
  .team-card {
    flex: 0 0 100%;
  }
  .team-carousel-wrap {
    padding: 0 40px;
  }
  .team-carousel-btn {
    display: flex !important;
  }

  /* Vision */
  .vision-grid { gap: 28px; }

  .vision-stats {
    flex-direction: row;
    flex-wrap: wrap;
  }

  .vision-stat { flex: 1 1 calc(50% - 6px); min-width: 130px; }

  .vision-statement { padding: 22px 20px 22px 24px; }

  .vision-quote-mark { font-size: 3.5rem; }

  /* Founder */
  .founder-grid { gap: 32px; }

  .founder-media {
    flex-direction: column;
    align-items: center;
  }

  .founder-img-wrap { max-width: 240px; }

  .founder-bio p { max-width: none; }

  /* Projects */
  .projects-grid {
    grid-template-columns: 1fr;
    max-width: 480px;
    margin-inline: auto;
  }

  /* Signals — compact mobile layout */
  .signal-card {
    grid-template-columns: 80px auto 1fr 80px;
  }
  .signal-header {
    display: none; /* Hide header row on mobile */
  }

  /* Hide SL on mobile to save space */
  .signal-card .signal-price-group:nth-of-type(2) {
    display: none;
  }

  /* Contact */
  .contact-grid { gap: 28px; }

  /* Footer */
  .footer-grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .footer-grid > .footer-brand { grid-column: auto; }

  .footer-bottom-inner {
    flex-direction: column;
    text-align: center;
    gap: 8px;
  }

  /* Floating WA */
  .wa-float-btn {
    bottom: 16px;
    right: 16px;
    width: 52px;
    height: 52px;
  }

  .wa-float-tooltip { display: none; }

  /* Modal */
  .modal-dialog {
    width: 100% !important;
    max-width: 100% !important;
    max-height: 90svh;
    border-radius: var(--radius-xl) var(--radius-xl) 0 0 !important;
    margin: 0 !important;
    align-self: flex-end;
    box-sizing: border-box !important;
  }

  .modal-overlay {
    padding: 0;
    align-items: flex-end;
  }

  .modal-overlay.is-open .modal-dialog {
    transform: translateY(0);
  }

  .modal-overlay:not(.is-open) .modal-dialog {
    transform: translateY(40px);
  }

  .modal-header { padding: 20px 20px 16px; width: 100%; box-sizing: border-box; }
  .modal-header-left { padding: 0 40px 0 20px !important; width: 100% !important; box-sizing: border-box !important; }
  .modal-close { right: 12px; top: 16px; }
  .modal-body { padding: 20px; width: 100%; box-sizing: border-box; }
  .modal-footer { padding: 14px 20px; flex-direction: column; width: 100%; box-sizing: border-box; }
  .btn-modal-cta { width: 100%; }
}


/* ============================================================
   MOBILE MEDIUM (max-width: 600px)
   ============================================================ */
@media (max-width: 600px) {
  /* Section eyebrow */
  .section-eyebrow { font-size: 0.72rem; }

  /* Vision stats row to column on very small */
  .vision-stat { flex: 1 1 100%; }

  /* Founder */
  .founder-actions { flex-direction: column; }
  .founder-actions .btn { width: 100%; text-align: center; }

  /* Signal layout — ultra compact */
  .signal-card {
    grid-template-columns: 75px 1fr 65px;
  }

  .signal-header { display: none; }

  /* Projects footer */
  .projects-footer .btn { width: 100%; }
}


/* ============================================================
   MOBILE SMALL (max-width: 430px)
   ============================================================ */
@media (max-width: 430px) {
  :root {
    --container-pad: 16px;
  }

  /* Logo text: hide on very small to save space */
  .logo-text { display: none; }

  .hero-stat { flex: 1 1 100%; }

  .project-card-footer { flex-direction: column; }
  .project-card-footer .btn { width: 100%; }

  .trust-item { font-size: 0.74rem; }
  .trust-item svg { width: 18px; height: 18px; }

  /* Contact program buttons */
  .contact-program-btn { padding: 12px; }
  .program-btn-text strong { font-size: 0.82rem; }
  .program-btn-text small { font-size: 0.7rem; }

  /* Modal */
  .modal-title { font-size: 1.1rem; }
  .modal-header { padding: 18px 16px 14px; }
  .modal-body { padding: 16px; }
  .modal-footer { padding: 12px 16px; }
}


/* ============================================================
   MOBILE EXTRA SMALL (max-width: 375px)
   ============================================================ */
@media (max-width: 375px) {
  :root {
    --container-pad: 14px;
  }

  .hero-title { font-size: 1.7rem; }

  .vision-statement { padding: 18px 16px 18px 20px; }

  .section-title { font-size: 1.5rem; }
}


/* ============================================================
   MOBILE MINIMUM (max-width: 360px)
   ============================================================ */
@media (max-width: 360px) {
  :root {
    --container-pad: 12px;
  }

  body { font-size: 16px; }

  .hero-title { font-size: 1.6rem; }

  .btn-hero { min-height: 46px; font-size: 0.88rem; }

  .footer-grid { gap: 24px; }
}


/* ============================================================
   PRINT STYLES
   ============================================================ */
@media print {
  .site-header,
  .wa-float-btn,
  .mobile-menu,
  .hero-video,
  .hero-scroll-hint {
    display: none !important;
  }

  body { color: #000; background: #fff; }

  .hero-section {
    min-height: auto;
    color: #000;
    background: #fff;
    padding: 20px 0;
  }

  .hero-title, .hero-subtitle, .hero-eyebrow { color: #000; }

  .hero-panel-inner {
    background: #f5f5f5;
    border: 1px solid #ccc;
  }
}
