@media (max-width: 1120px) {
  .primary-nav > a,.nav-group > button { padding-inline: .55rem; font-size: .84rem; }
  .nav-actions .button { display: none; }
  .hero-layout { grid-template-columns: minmax(0,.9fr) minmax(430px,1.1fr); }
  .footer-main { grid-template-columns: 1.25fr repeat(3,1fr); }
  .footer-column:last-child { grid-column: 2 / -1; display: grid; grid-template-columns: repeat(4,1fr); gap: .5rem 1rem; }
  .article-layout { grid-template-columns: 190px minmax(0,760px); }
  .article-aside { display: none; }
}

@media (max-width: 960px) {
  :root { --header-height: 70px; }
  /* backdrop-filter on the header creates a containing block that traps
     position:fixed .primary-nav inside the 70px bar — menu never appears. */
  .site-header.is-scrolled,
  .site-header:focus-within,
  body.nav-open .site-header {
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    background: rgba(4, 10, 19, .96);
  }
  .nav-toggle { display: block; margin-left: auto; position: relative; z-index: 1301; }
  .primary-nav {
    position: fixed; inset: var(--header-height) 0 0; z-index: 1300; display: block; overflow-y: auto;
    padding: 1rem; background: rgba(4,10,19,.98); opacity: 0; visibility: hidden; transform: translateY(-8px);
    transition: opacity var(--transition),transform var(--transition),visibility var(--transition);
  }
  .primary-nav.is-open { opacity: 1; visibility: visible; transform: none; }
  .primary-nav > a,.nav-group > button { width: 100%; justify-content: space-between; min-height: 50px; padding: .75rem; border-bottom: 1px solid var(--color-line); border-radius: 0; font-size: .94rem; }
  .nav-group { position: static; }
  .mega-panel { position: static; width: 100%; max-height: 0; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; opacity: 1; visibility: visible; transform: none; overflow: hidden; transition: max-height .25s ease; }
  .nav-group.is-open .mega-panel { max-height: 700px; padding: .6rem 0; transform: none; }
  .mega-grid { grid-template-columns: 1fr; }
  .nav-actions { margin-left: 0; }
  .nav-login { display: none; }
  .hero-layout { grid-template-columns: 1fr; }
  .hero-copy { max-width: 760px; }
  .hero-copy h1 { max-width: 670px; font-size: clamp(2.75rem, 4.5vw, 4.15rem); }
  .hero-visual { width: min(100%,720px); margin-inline: auto; }
  .visual-window { min-height: 470px; }
  .stats-strip { grid-template-columns: repeat(2,1fr); }
  .card-grid,.card-grid--4,.review-grid,.article-grid { grid-template-columns: repeat(2,1fr); }
  .steps-grid { grid-template-columns: repeat(2,1fr); }
  .step-card:nth-child(2)::after { display: none; }
  .split-layout,.calculator-shell,.featured-article { grid-template-columns: 1fr; }
  .tab-shell { grid-template-columns: 1fr; }
  .tab-list { grid-template-columns: repeat(2,1fr); }
  .dashboard-grid { grid-template-columns: 160px 1fr; }
  .dashboard-metrics { grid-template-columns: repeat(2,1fr); }
  .final-cta-shell { grid-template-columns: 1fr; }
  .final-cta-actions { justify-content: flex-start; }
  .final-cta-actions small { text-align: left; }
  .footer-main { grid-template-columns: repeat(3,1fr); }
  .footer-brand { grid-column: 1 / -1; }
  .footer-column:last-child { grid-column: auto; display: block; }
  .article-layout,.legal-layout { grid-template-columns: 1fr; }
  .article-toc,.legal-toc { position: static; }
  .article-toc { display: flex; flex-wrap: wrap; gap: 0 .9rem; }
  .article-toc strong { flex-basis: 100%; }
  .auth-page { grid-template-columns: 1fr; }
  .auth-story { min-height: auto; padding-bottom: 3rem; }
  .auth-form-side { min-height: auto; padding-block: 3rem; }
}

@media (max-width: 1050px) {
  .page-hero {
    min-height: auto;
    padding-top: calc(var(--header-height) + 68px);
  }
}

@media (max-width: 700px) {
  .container,.narrow-container { width: min(calc(100% - 1.25rem),var(--container)); }
  .brand { width: 178px; }
  .page-hero { min-height: auto; padding-top: calc(var(--header-height) + 48px); }
  .hero-copy h1 { font-size: clamp(2.45rem, 10.5vw, 3.6rem); letter-spacing: -.055em; }
  .hero-lede { font-size: 1rem; }
  .hero-actions { display: grid; }
  .hero-actions .button { width: 100%; }
  .visual-window { min-height: auto; border-radius: 1.2rem; }
  .visual-window-bar { padding-inline: .75rem; }
  .window-title { font-size: .7rem; }
  .visual-scene { min-height: 390px; padding: .75rem; }
  .mini-flow { grid-template-columns: 1fr; min-height: auto; gap: .55rem; }
  .mini-route { width: 2px; height: 34px; margin-inline: auto; background: linear-gradient(transparent,rgba(102,227,255,.65),transparent); }
  .mini-route i { top: 0; left: 50%; animation: none; }
  .bundle-scene,.signal-scene,.ea-scene,.pool-scene,.compare-scene { grid-template-columns: 1fr; min-height: auto; }
  .bundle-pipeline { min-height: 210px; }
  .trial-calendar { gap: .25rem; }
  .trial-day { min-height: 54px; padding: .3rem; }
  .visual-plan-stack { grid-template-columns: 1fr; }
  .visual-plan:nth-child(2) { min-height: auto; }
  .cloud-scene { grid-template-columns: 1fr; gap: .6rem; }
  .cloud-switch { transform: rotate(90deg); }
  .browser-scene { min-height: 455px; }
  .device-card { width: 104px; }
  .browser-cloud { width: 112px; height: 94px; }
  .stats-strip,.card-grid,.card-grid--2,.card-grid--4,.steps-grid,.review-grid,.article-grid { grid-template-columns: 1fr; }
  .step-card::after { display: none; }
  .process-item { grid-template-columns: 2.6rem 1fr; }
  .process-item b { grid-column: 2; }
  .tab-list { grid-template-columns: 1fr; }
  .tab-feature-grid { grid-template-columns: 1fr; }
  .table-shell { overflow-x: auto; }
  .comparison-table,.pricing-table { min-width: 720px; }
  .dashboard-grid { grid-template-columns: 1fr; }
  .dashboard-nav { display: none; }
  .dashboard-metrics { grid-template-columns: repeat(2,1fr); }
  .dashboard-table { overflow-x: auto; }
  .dashboard-table__row { min-width: 560px; }
  .blog-toolbar { align-items: stretch; flex-direction: column; }
  .blog-search { max-width: none; }
  .featured-art { min-height: 220px; }
  .article-hero .hero-copy { text-align: left; }
  .article-hero .hero-copy h1 { margin-inline: 0; }
  .article-meta { justify-content: flex-start; }
  .footer-main { grid-template-columns: repeat(2,1fr); gap: 1.5rem; }
  .footer-brand { grid-column: 1 / -1; }
  .footer-bottom { align-items: flex-start; flex-direction: column; }
  .auth-story { padding: 1.25rem; }
  .auth-story-copy h1 { font-size: clamp(2.5rem,13vw,4rem); }
  .auth-mini-flow { grid-template-columns: 1fr; gap: .55rem; }
  .auth-mini-line { width: 1px; height: 22px; margin-inline: auto; }
  .auth-form-side { padding: 1rem; }
}

@media (max-width: 430px) {
  .hero-copy h1 { font-size: 2.35rem; }
  .motion-toggle span:last-child { display: none; }
  .trial-checks,.dashboard-metrics { grid-template-columns: 1fr; }
  .pro-scene { grid-template-columns: 1fr; }
  .footer-main { grid-template-columns: 1fr; }
  .footer-brand { grid-column: auto; }
  .auth-card { padding: 1.1rem; }
}

/* Grid containment safeguards for long plan names and technical labels. */
.price-card,.criteria-card,.feature-card,.review-card,.article-card,.step-card { min-width: 0; }
@media (max-width: 960px) {
  .price-grid,.criteria-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 700px) {
  .price-grid,.criteria-grid { grid-template-columns: 1fr; }
}
