/* Short Club mobile standard: loaded after page-specific styles so the same rules win everywhere. */
.hero-title-desktop-line { display: block; }

@media (max-width: 768px) {
  html, body { max-width: 100%; }
  body { font-size: 15px !important; }

  body > nav {
    height: 72px !important;
    min-height: 72px !important;
    padding: 8px 18px !important;
    gap: 12px !important;
  }
  body > nav .nav-links { display: none !important; }
  body > nav .nav-logo { min-width: 0 !important; }
  body > nav .nav-brand-word { font-size: clamp(25px, 7.8vw, 31px) !important; }
  body > nav .nav-brand-meta { margin-top: 6px !important; font-size: 8px !important; }
  body > nav .nav-cta {
    min-height: 44px !important;
    display: inline-flex !important;
    align-items: center !important;
    padding: 10px 14px !important;
    font-size: 9px !important;
    white-space: nowrap !important;
  }

  body > nav.sc-site-nav {
    height: 70px !important;
    min-height: 70px !important;
    padding: 8px 20px !important;
    gap: 10px !important;
  }
  .sc-site-nav .nav-logo { min-width: 0 !important; }
  .sc-brand-word { font-size: clamp(25px, 8vw, 34px) !important; }
  .sc-brand-meta { margin-top: 5px !important; font-size: 8px !important; }
  .sc-site-nav .nav-cta { min-height: 44px !important; padding: 10px 13px !important; font-size: 9px !important; white-space: nowrap !important; }
  .sc-site-nav .nav-links { display: none !important; }

  .hero, .sc-home .hero, .sc-inner .hero {
    width: 100% !important;
    min-height: 0 !important;
    padding: 64px 20px 48px !important;
  }
  .hero h1, .sc-home .hero h1, .sc-inner .hero h1 {
    width: 100% !important;
    max-width: 100% !important;
    margin: 14px 0 18px !important;
    font-size: clamp(40px, 12.5vw, 74px) !important;
    line-height: .94 !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }
  .hero-sub, .hero-lead, .section-sub { max-width: 100% !important; font-size: 15px !important; line-height: 1.6 !important; }
  .sc-hero-art, .sc-hero-monolith, .hero-art, .hero-monolith { display: none !important; }
  .sc-course-hero-copy { width: 100% !important; max-width: 100% !important; }

  .section, main section:not(.hero), .sc-inner .section, .sc-inner main section:not(.hero) {
    width: 100% !important;
    max-width: 100% !important;
    padding: 66px 20px 0 !important;
  }
  .sc-inner .hero + .section,
  .sc-inner .hero + main,
  .sc-inner main > .hero + section { margin-top: 0 !important; }
  .sc-inner main section + section,
  .sc-inner .section + .section { margin-top: 0 !important; }
  .section-title { font-size: clamp(36px, 11vw, 58px) !important; line-height: .98 !important; }

  .platforms-container { width: 100% !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .platform-logo-item { min-width: 0 !important; min-height: 96px !important; padding: 14px 8px !important; }
  .platform-logo-item img { max-width: 100% !important; max-height: 54px !important; }
  .itb-wordmark { gap: 6px !important; transform: scale(.82) !important; }
  .itb-glyph { width: 48px !important; height: 34px !important; }
  .itb-copy-original { width: 98px !important; height: auto !important; }
  .platform-name { font-size: clamp(18px, 6vw, 28px) !important; }

  .hero-meta-strip, .format-strip { width: 100% !important; grid-template-columns: 1fr !important; }
  .meta-box, .format-box { min-width: 0 !important; padding: 18px 16px !important; }
  .meta-box-val, .f-val { overflow-wrap: anywhere !important; }

  .courses-grid, .instructors-grid, .takeaways-grid, .practice-grid, .topics-grid, .grid-2, .grid-3, .instructor-groups, .instructors-section-grid {
    width: 100% !important; grid-template-columns: 1fr !important; min-width: 0 !important;
  }
  .course-card, .module-card, .topic-card, .takeaway-card, .instructor-card, .practice-box, .copy-box { min-width: 0 !important; }
  .course-title, .module-title, .topic-title, .t-title { overflow-wrap: anywhere !important; }

  .program-module, .module-card, .topic-card, .sc-inner #program .program-module, .sc-inner #program .intraday-program .module-card {
    grid-template-columns: 58px minmax(0, 1fr) !important;
    gap: 16px !important;
    padding: 28px 0 !important;
  }
  .course-num, .m-num, .step-idx, .t-num, .module-num { min-width: 0 !important; font-size: clamp(36px, 12vw, 58px) !important; }
  .module-bullets, .sc-inner #program .module-bullets { grid-template-columns: 1fr !important; gap: 8px !important; }

  .choice-table-wrap { width: 100% !important; overflow-x: auto !important; }
  .choice-table { min-width: 0 !important; width: 100% !important; table-layout: auto !important; }
  .choice-table th, .choice-table td { min-width: 0 !important; overflow-wrap: anywhere !important; }
  .choice-table th:nth-child(1), .choice-table th:nth-child(2), .choice-table th:nth-child(3) { width: auto !important; }
  .choice-table .details-btn { width: 100% !important; min-width: 0 !important; }

  .sc-course-video-trio, .intraday-video-trio, .ah-video-trio { grid-template-columns: 1fr !important; gap: 16px !important; }
  .sc-course-video-tile, .intraday-video-tile, .ah-video-tile { width: 100% !important; }

  .cta-section, .sc-inner .cta-section, .ah-cta {
    width: calc(100% - 40px) !important; max-width: none !important; margin: 72px 20px !important; padding: 46px 20px !important;
  }
  .cta-section + section, .ah-cta + section { margin-top: 0 !important; }
  .cta-section h2, .ah-cta h2 { font-size: clamp(38px, 11vw, 64px) !important; overflow-wrap: anywhere !important; }
  .cta-section .hero-btns, .ah-cta .hero-btns { flex-direction: column !important; align-items: stretch !important; gap: 10px !important; }
  .cta-section .btn-primary, .cta-section .btn-secondary, .ah-cta .btn-primary, .ah-cta .btn-secondary { width: 100% !important; min-width: 0 !important; min-height: 50px !important; }

  body > footer.sc-site-footer { min-height: 340px !important; padding: 28px 20px 22px !important; }
  .sc-footer-top, .sc-footer-bottom { flex-direction: column !important; align-items: flex-start !important; gap: 18px !important; }
  .sc-site-footer .footer-links { width: 100% !important; justify-content: flex-start !important; gap: 12px 16px !important; }
  .sc-footer-word { max-width: 100% !important; font-size: clamp(68px, 25vw, 130px) !important; white-space: nowrap !important; }
  .sc-inner .course-hero-standard{min-height:0!important;padding:64px 20px 48px!important}
  .sc-inner .course-hero-standard h1{max-width:100%!important;font-size:clamp(48px,12vw,86px)!important;line-height:.96!important}
  .sc-inner .course-hero-standard .hero-sub,.sc-inner .course-hero-standard .hero-lead,.sc-inner .course-hero-standard .hero-notice,.sc-inner .course-hero-standard .hero-meta-strip,.sc-inner .course-hero-standard .hero-btns,.sc-inner .course-hero-standard .video-container-wrap{max-width:100%!important}

  /* Home: a compact, deliberately composed first screen. */
  body:not(.sc-inner) .hero {
    min-height: 0 !important;
    padding: 42px 20px 32px !important;
    justify-content: flex-start !important;
    background:
      linear-gradient(180deg, rgba(224,48,48,.055), transparent 34%),
      #090a0d !important;
  }
  body:not(.sc-inner) .hero::before {
    inset: 0 !important;
    background:
      linear-gradient(90deg, transparent calc(100% - 1px), rgba(255,255,255,.045) 0) 0 0 / 25% 100%,
      linear-gradient(180deg, rgba(224,48,48,.16), transparent 1px) !important;
    opacity: .7 !important;
  }
  body:not(.sc-inner) .hero::after {
    content: "01  /  SHORT CLUB" !important;
    position: relative !important;
    order: -1 !important;
    top: auto !important;
    right: auto !important;
    display: block !important;
    width: 100% !important;
    margin-bottom: 34px !important;
    color: #e03030 !important;
    font: 700 10px/1 ui-monospace, Consolas, monospace !important;
    letter-spacing: .18em !important;
    text-align: right !important;
  }
  body:not(.sc-inner) .hero-copy { display: contents !important; }
  body:not(.sc-inner) .hero h1 {
    margin: 0 0 26px !important;
    font-size: clamp(31px, 9.1vw, 54px) !important;
    line-height: .91 !important;
    letter-spacing: -.055em !important;
  }
  body:not(.sc-inner) .hero-title-line {
    display: block !important;
    white-space: nowrap !important;
  }
  body:not(.sc-inner) .hero-title-desktop-line { display: contents !important; }
  body:not(.sc-inner) .hero h1 em { margin-top: .14em !important; }
  body:not(.sc-inner) .hero-sub {
    margin: 0 0 8px !important;
    color: #f1efe9 !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
  }
  body:not(.sc-inner) .hero > p,
  body:not(.sc-inner) .hero-copy > p:not(.hero-sub) {
    max-width: 34rem !important;
    color: #8b91a8 !important;
    font-size: 14px !important;
    line-height: 1.55 !important;
  }
  .hero-mobile-actions {
    display: grid !important;
    grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr) !important;
    gap: 10px !important;
    width: 100% !important;
    margin-top: 26px !important;
  }
  .hero-mobile-actions a {
    min-height: 50px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 10px 12px !important;
    border: 1px solid #e03030 !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
  }
  .hero-mobile-primary { background: #e03030 !important; color: #fff !important; }
  .hero-mobile-secondary { background: rgba(9,10,13,.78) !important; color: #f1efe9 !important; }
}

.hero-mobile-actions { display: none; }

@media (max-width: 380px) {
  body > nav.sc-site-nav { padding-inline: 14px !important; }
  .sc-site-nav .nav-cta { padding-inline: 10px !important; font-size: 8px !important; }
  .hero, .sc-home .hero, .sc-inner .hero, .section, main section:not(.hero), .sc-inner .section { padding-inline: 16px !important; }
  .program-module, .module-card, .topic-card, .sc-inner #program .program-module, .sc-inner #program .intraday-program .module-card { grid-template-columns: 1fr !important; gap: 10px !important; }
  body:not(.sc-inner) .hero { padding-inline: 16px !important; }
  body:not(.sc-inner) .hero h1 { font-size: clamp(30px, 9.1vw, 35px) !important; }
  .hero-mobile-actions { grid-template-columns: 1fr !important; }
}
