/* Responsive layer. Breakpoints: 1100 / 900 / 760 / 480 / 360 */
@media (min-width: 1101px) {
  .hero-title { font-size: clamp(3rem, 4.7vw, 4.7rem); }
}

@media (max-width: 1100px) {
  .hero { padding-bottom: 130px; }
  .hero-inner { grid-template-columns: 1fr; text-align: left; }
  .stage { width: min(78vw, 460px); margin-top: 8px; }
  .bonus-inner { grid-template-columns: 1fr; }
  .book-open { width: min(78vw, 420px); }
  .aud-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 900px) {
  .nav-links, .nav-cta { display: none; }
  .burger { display: block; }
  .ins-block { padding: 20px 18px 8px; }
  .why-grid { grid-template-columns: 1fr; gap: 28px; }
  .keys { --kw: 38px; height: 76px; }
}

@media (max-width: 760px) {
  :root { --nav-h: 66px; }
  .nav.scrolled { --nav-h: 58px; }
  .section { padding-block: 64px; }
  .curriculum { grid-template-columns: 1fr; }
  .curriculum li { padding-left: 52px; }
  .strip-list { justify-content: flex-start; }
  .strip-list li { padding: 14px 18px; flex: 1 1 50%; }
  .strip-list li::before { display: none !important; }
  .hero-actions { flex-direction: column; align-items: stretch; }
  .hero-actions .btn { width: 100%; }
  .toolbar { flex-direction: column; }
  .sort select { min-width: 0; }
  .gallery { columns: 2 140px; column-gap: 12px; }
  .gallery button { margin-bottom: 12px; border-radius: 12px; }
  .stack-total .btn { width: 100%; }
  .final .btn-xl { width: 100%; padding: 18px 24px; }
  .sticky-cta { display: flex; }
  .footer-inner { flex-direction: column; align-items: flex-start; }

  /* simplified ebook: no deep 3D on small screens */
  .book-stage { perspective: none; }
  .book-open, .book-open:hover { transform: none; }
  .book-layer { display: none; }
  .seal { right: 0; transform: none; width: 78px; height: 78px; }
  .book-open:hover .seal { transform: none; }
  .expand { opacity: 1; transform: none; }

  .lb-nav { top: auto; bottom: 18px; transform: none; }
  .lb-prev { left: calc(50% - 56px); } .lb-next { right: calc(50% - 56px); }
}

@media (max-width: 560px) {
  .aud-grid { grid-template-columns: 1fr; }
  .aud { padding: 22px; }
  .stage { width: min(86vw, 380px); }
  .chip { padding: 9px 12px 9px 10px; gap: 9px; border-radius: 13px; }
  .chip > .i { width: 32px; height: 32px; padding: 7px; }
  .chip b { font-size: 0.86rem; } .chip small { font-size: 0.7rem; }
  .chip-price { top: 0; right: 2%; } .chip-loops { left: 0; bottom: 0; }
  .mini-seal { font-size: 0.66rem; padding: 5px 10px 5px 8px; }
  .btn-lg { padding: 15px 22px; }
  .acc-btn { padding: 18px 18px; font-size: 0.98rem; }
  .acc-panel p { padding: 0 18px 20px; }
  .keys { --kw: 32px; height: 60px; }
  .brand-name { font-size: 1.1rem; }
  .ticks li { font-size: 0.96rem; }
}

@media (max-width: 360px) {
  .brand-mark { width: 32px; height: 32px; }
  .brand-name { font-size: 1rem; }
  .btn-lg { font-size: 0.88rem; padding: 14px 16px; }
  .strip-list li { flex-basis: 100%; }
  .counter-list { grid-template-columns: repeat(2, 1fr); }
  .hero-tag { font-size: 0.76rem; }
}

@media (min-width: 1600px) {
  .wrap { width: min(1320px, 100% - var(--pad) * 2); }
}

/* Touch devices: no hover-driven motion */
@media (hover: none) {
  .aud:hover, .vault-card:hover, .style-card:hover, .ins-block:hover { transform: none; }
  .gallery button:hover img { transform: none; }
  .book-open:hover { transform: none; }
  .parallax { translate: none !important; }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: 0.001ms !important; animation-iteration-count: 1 !important; animation-delay: 0ms !important; transition-duration: 0.001ms !important; transition-delay: 0ms !important; }
  .js [data-reveal] { opacity: 1; transform: none; }
  .hero-title .line > span, .hero-sub, .hero-price, .hero-actions, .hero-tag, .chip, .stage-book, .keys, .orb, .stage-glow { opacity: 1; transform: none; }
  .wave i { transform: none; }
  .marquee { overflow-x: auto; } .marquee-track { animation: none; }
  .disc, .mini-book { opacity: 1; transform: none; }
  .parallax { translate: none !important; }
}
