/* ==========================================================================
   Responsive — mirrors Elementor's default breakpoints:
   Laptop ≤1366 · Tablet extra ≤1200 · Tablet ≤1024 · Mobile extra ≤880 · Mobile ≤767
   Header switches to the menu toggle at ≤1099px (8 menu items + CTA do not fit below that).
   ========================================================================== */

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

@media (max-width: 1099px) {
  .nav-toggle { display: inline-flex; }
  .site-logo img { width: 74px; }
  .primary-nav {
    position: fixed; inset: var(--header-h) 0 0 0; z-index: 99;
    background: var(--c-alt); padding: 1.5rem var(--gutter) 2.5rem;
    overflow-y: auto; justify-self: stretch;
    visibility: hidden; opacity: 0; transform: translateY(-8px);
    transition: opacity var(--dur) var(--ease), transform var(--dur) var(--ease), visibility 0s linear var(--dur);
  }
  .primary-nav.is-open { visibility: visible; opacity: 1; transform: none; transition-delay: 0s; }
  .primary-nav ul { flex-direction: column; gap: 0; }
  .primary-nav li { border-bottom: 1px solid var(--c-line); }
  .primary-nav a { width: 100%; min-height: 56px; padding: 0.75rem 0; font-size: 0.875rem; background-position: 0 calc(100% - 14px); }
  .primary-nav a:hover, .primary-nav a[aria-current="page"] { background-size: 2.5rem 1px; }
  .site-header__inner { grid-template-columns: auto 1fr auto; }
  .header-actions { grid-column: 3; }
  body.nav-open { overflow: hidden; }
}

@media (max-width: 1024px) {
  .grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .post-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .post-layout { grid-template-columns: minmax(0, 1fr); }
  .post-sidebar { position: static; margin-top: 2.5rem; }  /* same single card, now below the article */
  .proof-list--row { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 880px) {
  .grid--3, .point-list, .steps, .flow { grid-template-columns: minmax(0, 1fr); }
  .point-list--outcomes li { flex-direction: row; text-align: left; align-items: center; }
  .point-list--outcomes { text-align: left; }
  .split, .hood-row, .hero--page .container, .lp-hero .container { grid-template-columns: minmax(0, 1fr); }
  .split--reverse > :first-child { order: 0; }
  .hood-row:nth-of-type(even) .hood-row__media { order: 0; }
  .split__media, .hood-row__media { aspect-ratio: 4 / 3; max-height: 460px; }
  .hero--page .hero__media { aspect-ratio: 4 / 3; max-height: 420px; }
  .notfound-links { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 767px) {
  .grid--2, .grid--4, .post-grid, .form-row, .footer-grid { grid-template-columns: minmax(0, 1fr); }
  .footer-grid { gap: 2rem; }
  .site-footer__cta .btn { width: 100%; }
  .hero--home::before { background: linear-gradient(180deg, rgba(17,17,17,0.55) 0%, rgba(17,17,17,0.72) 100%); }
  .hero--home .container { min-height: 560px; padding-block: 3.5rem; justify-content: flex-end; }
  .btn-row--stack-mobile { flex-direction: column; align-items: stretch; }
  .btn-row--stack-mobile .btn { width: 100%; }
  .trust-strip ul { flex-direction: column; align-items: flex-start; padding-inline: var(--gutter); }
  .section-head--split { display: block; }
  .quote { padding: 1.5rem; }
  .author-box { grid-template-columns: 64px 1fr; }
  .author-box img { width: 64px; height: 64px; }
}

@media (max-width: 480px) {
  .header-actions .btn { padding-inline: 0.85rem; font-size: 0.6875rem; letter-spacing: 0.06em; min-height: 44px; }
  .nav-toggle { width: 44px; height: 44px; }
  .site-logo img { width: 60px; }
  .site-header__inner { gap: 0.5rem; }
}

@media (max-width: 340px) {
  .site-logo img { width: 50px; }
  .header-actions .btn { padding-inline: 0.6rem; letter-spacing: 0.03em; }
  .notfound-links { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 1200px) and (min-width: 881px) { .point-list--4 { --cols: 2; } }
@media (max-width: 767px) {
  .class-card--wide { grid-template-columns: minmax(0, 1fr); }
  .class-card--wide .class-card__media { aspect-ratio: 16 / 10; min-height: 0; }
}
@media (max-width: 880px) { .learn-list { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 1099px) { .site-logo { width: 74px; height: 57px; } }
@media (max-width: 480px)  { .site-logo { width: 60px; height: 46px; } }
@media (max-width: 340px)  { .site-logo { width: 50px; height: 39px; } }
@media (max-width: 767px)  { .hero--home .hero__media .pending-media { align-items: flex-start; } }
