/* Breakpoints: 1200 / 992 / 768 / 430 */

@media (max-width: 1199px) {
  .nav__link {
    padding: 0.55rem 0.6rem;
  }

  .stage-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .books-row {
    grid-template-columns: repeat(4, 1fr);
  }

  /* Short, unfiltered rows keep a full last row */
  .books-row--compact > :nth-child(5) {
    display: none;
  }
}

@media (max-width: 991px) {
  :root {
    --header-height: 72px;
    --space-section: 4.5rem;
  }

  /* backdrop-filter would make the header the containing block for the fixed nav panel */
  .site-header {
    background: var(--paper);
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }

  .logo__mark {
    height: 38px;
  }

  .logo__name {
    font-size: 1.25rem;
  }

  .nav-toggle {
    display: inline-flex;
  }

  .nav__cta {
    display: none;
  }

  .nav {
    position: fixed;
    inset: var(--header-height) 0 0 0;
    display: none;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding: 0.75rem var(--container-pad) 2rem;
    background: var(--paper);
    border-top: 1px solid var(--line);
    overflow-y: auto;
    overscroll-behavior: contain;
  }

  .nav.is-open {
    display: flex;
  }

  .nav__list {
    flex-direction: column;
    align-items: stretch;
    gap: 0;
  }

  .nav__item {
    border-bottom: 1px solid var(--line);
  }

  .nav__link {
    width: 100%;
    justify-content: space-between;
    padding: 1rem 0.25rem;
    font-size: 1.1rem;
    border-radius: 0;
  }

  .nav__link:hover {
    background: none;
  }

  .nav__dropdown,
  .mega {
    position: static;
    display: none;
    width: auto;
    min-width: 0;
    opacity: 1;
    visibility: visible;
    transform: none;
    box-shadow: none;
    border: 0;
    border-radius: 0;
    padding: 0 0 0.75rem;
    background: transparent;
  }

  .nav__item.is-open > .nav__dropdown {
    display: block;
    transform: none;
  }

  .mega__col {
    padding: 0 0 0.5rem;
  }

  .mega a span {
    display: none;
  }

  .nav .nav__cta {
    display: inline-flex;
    margin-top: 1.5rem;
  }

  .hero-proof {
    flex-direction: column;
    align-items: center;
  }

  .media-block,
  .contact-grid,
  .service-hero__grid,
  .service-body,
  .testimonial-grid,
  .plans-grid,
  .values-grid,
  .panel-green,
  .cta-split,
  .process-panel {
    grid-template-columns: 1fr;
  }

  .plans-grid {
    max-width: 520px;
    margin: 0 auto;
    gap: 2rem;
  }

  .format-grid,
  .journey {
    grid-template-columns: repeat(2, 1fr);
    gap: 2.5rem 1.5rem;
  }

  .journey li::after {
    display: none;
  }

  .stage-rail {
    grid-template-columns: repeat(2, 1fr);
  }

  .included-card {
    position: static;
  }

  .footer-grid {
    grid-template-columns: 1fr 1fr;
  }

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

  .cover-stack {
    height: 360px;
    max-width: 440px;
    margin: 0 auto;
    width: 100%;
  }

  .side-cta {
    display: none;
  }

  .mobile-cta {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 950;
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 0.6rem;
    padding: 0.7rem var(--container-pad) calc(0.7rem + env(safe-area-inset-bottom));
    background: rgba(250, 250, 250, 0.94);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border-top: 1px solid var(--line);
    transform: translateY(110%);
    transition: transform var(--dur) var(--ease);
  }

  .mobile-cta.is-visible {
    transform: none;
  }

  body {
    padding-bottom: 76px;
  }

  .section-head {
    flex-direction: column;
    align-items: flex-start;
  }

  .section-head--center {
    align-items: center;
  }
}

@media (max-width: 767px) {
  :root {
    --space-section: 3.5rem;
    --container-pad: 1rem;
  }

  body {
    font-size: 1rem;
  }

  .home-hero {
    padding-top: 2.75rem;
  }

  .home-hero__text {
    font-size: 1.05rem;
  }

  .hero-books {
    margin-top: 2.5rem;
  }

  .hero-books__track img {
    width: 92px;
  }

  .service-hero,
  .page-hero {
    padding: 2.5rem 0 3rem;
  }

  .press-band {
    flex-direction: column;
    align-items: stretch;
    gap: 0.6rem;
    padding: 1rem 0;
  }

  .press-band__label {
    text-align: center;
  }

  .press-band img {
    height: 18px;
  }

  .stage-grid,
  .stage-rail {
    grid-template-columns: 1fr;
  }

  /* Covers stay two-up on phones instead of stacking one per row */
  .books-row {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem 1rem;
  }

  .form-row {
    grid-template-columns: 1fr;
  }

  .format-grid {
    gap: 2rem 1rem;
  }

  .format__art {
    height: 200px;
  }

  .format__art img {
    width: 92px;
  }

  .format__art--hardcover img {
    width: 100px;
  }

  .format__art--ebook img {
    width: 86px;
  }

  .format__art--audio img {
    width: 110px;
  }

  .formats__retail {
    border-radius: var(--radius-card);
  }

  .process-tabs {
    flex-wrap: nowrap;
    justify-content: flex-start;
    overflow-x: auto;
    margin: 0 calc(var(--container-pad) * -1) 1.25rem;
    padding: 0.25rem var(--container-pad);
    scrollbar-width: none;
  }

  .process-tabs::-webkit-scrollbar {
    display: none;
  }

  .process-tab {
    flex-shrink: 0;
  }

  .testimonial-card {
    padding: 1.75rem 1.4rem 1.5rem;
  }

  .testimonial-card blockquote {
    font-size: 1.08rem;
  }

  .footer-grid {
    grid-template-columns: 1fr;
    gap: 2rem;
  }

  .footer-bottom {
    flex-direction: column;
  }

  .modal__dialog {
    padding: 1.5rem 1.25rem;
    border-radius: var(--radius-card);
  }
}

@media (max-width: 429px) {
  .btn-group .btn {
    width: 100%;
  }

  .choice-grid {
    grid-template-columns: 1fr;
  }

  .journey {
    grid-template-columns: 1fr;
  }

  .format__art {
    height: 170px;
  }

  .format p {
    font-size: 0.88rem;
  }

  .wizard-card__actions {
    grid-template-columns: 1fr;
  }

  .wizard-card__actions .btn--outline {
    order: 2;
  }
}
