@media (max-width: 1080px) {
  :root { --container: min(100% - 36px, 920px); }
  .nav { gap: 16px; }
  .home-intro, .feature-band, .detail-hero, .detail-content, .booking-layout { gap: 30px; }
  .card-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .trust-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .category-rail { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 820px) {
  :root { --container: min(100% - 32px, 680px); }
  .section { padding: 76px 0; }
  .topbar__inner { min-height: 72px; }
  .nav__toggle { display: block; }
  .nav { position: absolute; top: 72px; right: 16px; left: 16px; display: none; padding: 16px; border-radius: 16px; background: var(--jungle-deep); box-shadow: var(--shadow-md); }
  .nav.is-open { display: grid; }
  .nav a { padding: 10px 4px; }
  .nav__actions { justify-content: start; padding-top: 8px; }
  .hero, .hero__inner { min-height: 720px; }
  .hero__inner { padding: 96px 0 156px; }
  .hero__search { bottom: -150px; }
  .search-panel { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .search-panel__field:nth-child(2) { border-right: 0; }
  .search-panel__field:nth-child(3) { border-top: 1px solid var(--line); }
  .search-panel .button { margin: 8px; }
  .home-intro, .feature-band, .detail-hero, .detail-content, .booking-layout, .planner-shell, .account-layout { grid-template-columns: 1fr; }
  .home-intro__visual { min-height: 390px; }
  .feature-band__image { min-height: 320px; }
  .feature-band__content { padding: 38px; }
  .catalog-layout { grid-template-columns: 1fr; }
  .catalog-sidebar { position: static; }
  .detail-sticky, .booking-summary, .account-nav, .planner-steps { position: static; }
  .planner-steps { grid-template-columns: repeat(4, minmax(0,1fr)); gap: 4px; }
  .planner-step { justify-content: center; padding: 8px 4px; }
  .planner-step span:last-child { display: none; }
  .planner-step__number { width: 30px; height: 30px; }
  .footer__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {
  :root { --container: calc(100% - 28px); }
  h1 { font-size: clamp(2.8rem, 15vw, 4.3rem); }
  h2 { font-size: clamp(2.35rem, 12vw, 3.4rem); }
  .section-heading, .page-hero__inner, .footer__bottom { align-items: start; flex-direction: column; }
  .hero, .hero__inner { min-height: 680px; }
  .hero__inner { padding-top: 70px; }
  .hero__actions { display: grid; }
  .hero__actions .button { width: 100%; }
  .hero__search { bottom: -236px; }
  .search-panel { display: block; padding: 8px; }
  .search-panel__field, .search-panel__field:nth-child(2), .search-panel__field:nth-child(3) { border-right: 0; border-bottom: 1px solid var(--line); }
  .search-panel .button { width: calc(100% - 16px); margin: 8px; }
  .stat-strip { gap: 18px; }
  .card-grid, .card-grid--4, .category-rail, .trust-grid, .option-grid { grid-template-columns: 1fr; }
  .home-intro__visual { min-height: 300px; }
  .home-intro__visual img { height: 260px; }
  .home-intro__visual img:last-child { height: 150px; }
  .feature-band__content { padding: 30px 24px; }
  .form-grid { grid-template-columns: 1fr; }
  .form-field--full { grid-column: auto; }
  .planner-card, .form-card, .account-panel { padding: 22px; }
  .planner-steps { grid-template-columns: repeat(4, minmax(0,1fr)); }
  .footer__grid { grid-template-columns: 1fr 1fr; gap: 28px 18px; }
  .footer__grid > :first-child { grid-column: 1 / -1; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .reveal { opacity: 1; transform: none; }
}
