@media (min-width: 1181px) {
  .hero-visual .phone { animation: phoneFloat 5.5s ease-in-out infinite alternate; }
  @keyframes phoneFloat { to { transform: translateY(-10px) rotate(-4deg); } }
}

@media (max-width: 1180px) {
  html.menu-open, body.menu-open { overscroll-behavior: none; }
  body.menu-open::before { content: ""; position: fixed; z-index: calc(var(--z-menu) - 1); inset: 0; background: rgb(7 30 24 / .28); backdrop-filter: blur(3px); }
  .nav { position: fixed; z-index: var(--z-menu); inset: calc(var(--header) + .5rem) 1rem auto; display: grid; grid-template-columns: 1fr 1fr; gap: .25rem 1.5rem; max-height: calc(100dvh - var(--header) - 1rem); margin: 0; padding: 2rem; overflow-y: auto; overscroll-behavior: contain; border: 1px solid var(--line); border-radius: var(--radius-lg); background: rgb(255 254 250 / .98); box-shadow: var(--shadow-deep); opacity: 0; visibility: hidden; transform: translateY(-1rem) scale(.98); transform-origin: top right; transition: opacity var(--ease-out), visibility var(--ease-out), transform var(--ease-out); }
  .nav.is-open { opacity: 1; visibility: visible; transform: none; }
  .nav > a { padding: .75rem 0; border-bottom: 1px solid var(--line); font-size: 1.1rem; }
  .nav > a::after { bottom: .55rem; }
  .nav .lang { grid-column: 1 / -1; width: fit-content; margin-top: 1rem; }
  .menu-toggle { position: relative; z-index: 1; display: block; }
  .site-header .button--nav { display: none; }
  .hero-grid { display: grid; min-height: 0; }
  .hero-copy { grid-column: 1 / -1; grid-row: 1; }
  .hero-visual { grid-column: 1 / -1; grid-row: 2; min-height: 39rem; margin-top: 1rem; }
  .hero-visual::after { display: none; }
  .hero-photo { inset-inline: 6% 0; width: 94%; }
  .hero-visual .phone { left: 3%; }
  .floating-card { right: 1%; }
  .trust-list { grid-template-columns: repeat(3, 1fr); }
  .trust-list li:nth-child(3) { border-right: 0; }
  .trust-list li:nth-child(n+4) { border-top: 1px solid var(--line); }
  .footer-grid { grid-template-columns: 1.3fr repeat(2, 1fr); }
  .footer-grid > div:last-child { grid-column: 2 / -1; }
}

@media (max-width: 900px) {
  :root { --space-10: 7rem; }
  .section-head, .page-hero .container, .hero-grid, .app-showcase, .logistics, .payment-panel, .download { grid-template-columns: 1fr; }
  .section-head { gap: 1.5rem; }
  .hero { padding-top: 3.5rem; }
  .hero-grid { display: grid; min-height: 0; }
  .hero-copy { grid-column: 1; grid-row: 1; }
  .hero h1 { max-width: 10ch; }
  .hero-visual { grid-column: 1; grid-row: 2; min-height: 39rem; margin-top: 1rem; }
  .hero-photo { inset-inline: 6% 0; width: 94%; }
  .hero-visual .phone { left: 3%; }
  .floating-card { right: 1%; }
  .trust-strip { margin-top: -1rem; }
  .category-grid { grid-auto-rows: 9rem; }
  .category:nth-child(1), .category:nth-child(2), .category:nth-child(3), .category:nth-child(6) { grid-column: span 6; }
  .category:nth-child(n+4):not(:nth-child(6)) { grid-column: span 3; }
  .steps { grid-template-columns: 1fr 1fr; gap: 0 2rem; }
  .steps::before { display: none; }
  .step:nth-child(even) { transform: none; }
  .screen-stack { min-height: 35rem; }
  .app-showcase { gap: 3rem; }
  .feature-list { max-width: 44rem; margin-inline: auto; }
  .logistics { padding: 3rem; }
  .logistics h2 { max-width: 14ch; }
  .route-map { min-height: 28rem; }
  .payment-panel::before { right: 2rem; }
  .payment-marks { max-width: 32rem; transform: none; }
  .download { text-align: center; }
  .download h2, .download p { margin-inline: auto; }
  .download .store-row { justify-content: center; }
  .qr-card { margin: auto; }
  .download .mini-phone { display: none; }
  .page-hero { min-height: 31rem; background-size: 76% 100%; }
  .page-hero .container { gap: 2rem; }
  .page-hero .container > p { max-width: 34rem; }
  .values-grid, .detail-grid { grid-template-columns: repeat(2, 1fr); }
  .value, .detail-card, .value:nth-child(n), .detail-card:nth-child(n) { grid-column: auto; grid-row: auto; }
  .catalog { grid-template-columns: repeat(2, 1fr); grid-auto-rows: 16rem; }
  .catalog-card, .catalog-card:nth-child(n) { grid-column: auto; grid-row: auto; }
  .catalog-card:nth-child(1) { grid-column: 1 / -1; }
  .process-row { grid-template-columns: 5rem 1fr; gap: 1.5rem; }
  .process-row p { grid-column: 2; margin-top: -1rem; }
  .process-detail::before { left: 2.1rem; }
  .contact-card, .contact-card:nth-child(n) { grid-column: span 6; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .footer-grid > div:last-child { grid-column: auto; }
}

@media (max-width: 600px) {
  :root { --space-9: 5rem; --space-10: 5.8rem; --header: 4.8rem; }
  .container, .container--narrow { width: min(calc(100% - 1.25rem), var(--container)); }
  .nav { grid-template-columns: 1fr; inset-inline: .65rem; padding: 1.4rem; border-radius: 1.5rem; }
  .nav > a { font-size: 1rem; }
  .nav .lang { grid-column: auto; }
  .hero { padding-top: 2.4rem; }
  .hero-copy, .hero-actions, .hero-actions > .store-row { width: 100%; min-width: 0; max-width: 100%; }
  .hero-actions, .store-row { flex-direction: column; align-items: stretch; }
  .button, .button--store { width: 100%; min-width: 0; max-width: 100%; }
  .hero-visual { min-height: 29rem; }
  .hero-photo { inset: 1rem 0 0 5%; width: 95%; height: 26rem; border-radius: 40% 7% 24% 10% / 25% 8% 28% 12%; }
  .hero-visual::before { right: 1%; top: 0; width: 6rem; }
  .hero-visual .phone { left: 0; bottom: -.5rem; width: 11.3rem; }
  .phone-screen { min-height: 20.3rem; padding: .72rem; }
  .phone-bar { margin-bottom: .65rem; }
  .floating-card { right: 0; bottom: 1rem; width: 10.2rem; padding: .72rem; }
  .trust-list { grid-template-columns: 1fr 1fr; }
  .trust-list li { min-height: 4.2rem; padding: .5rem; border-bottom: 1px solid var(--line); }
  .trust-list li:nth-child(2n) { border-right: 0; }
  .trust-list li:last-child { grid-column: 1 / -1; border-bottom: 0; }
  .category-grid { grid-template-columns: 1fr 1fr; grid-auto-rows: 12.5rem; }
  .category, .category:nth-child(n) { grid-column: auto; grid-row: auto; }
  .category:nth-child(1), .category:nth-child(6) { grid-column: 1 / -1; }
  .category h3 { bottom: 2.5rem; font-size: 1.35rem; }
  .steps { grid-template-columns: 1fr; }
  .step { min-height: 0; padding: 1.1rem 0 2.2rem 5.5rem; }
  .step::before { width: 3.8rem; height: 3.8rem; }
  .step h3 { margin-top: 0; }
  .screen-stack { min-height: 28rem; }
  .screen-stack .phone { width: 12.5rem; transform: rotate(-5deg); }
  .screen-stack .phone:nth-child(2) { display: none; }
  .feature-list { grid-template-columns: 1fr; }
  .logistics { padding: 2rem 1.2rem; border-radius: 1.4rem; }
  .route-map { min-height: 24rem; }
  .status-card--b { display: none; }
  .payment-panel { padding: 2rem 1.2rem; border-radius: 1.4rem; }
  .payment-marks { grid-template-columns: 1fr; padding: 1.2rem; }
  .payment-panel::before { display: none; }
  .download { padding: 2.6rem 1.2rem; border-radius: 1.4rem; }
  .qr-card { width: min(14rem, 80vw); }
  .footer-grid { grid-template-columns: 1fr; gap: 2.2rem; }
  .footer-bottom { flex-direction: column; }
  .page-hero { min-height: 28rem; padding: 4rem 0; background-position: 70% center; background-size: cover; }
  .page-hero::after { inset: 0; background: linear-gradient(90deg, rgb(251 248 239 / .95), rgb(251 248 239 / .68) 70%, rgb(7 30 24 / .15)); }
  .page-hero h1 { font-size: var(--step-3); }
  .page-hero .container > p { padding: 1rem; background: rgb(7 30 24 / .76); }
  .values-grid, .detail-grid, .catalog { grid-template-columns: 1fr; }
  .value, .detail-card, .value:nth-child(n), .detail-card:nth-child(n), .catalog-card, .catalog-card:nth-child(n) { grid-column: auto; }
  .catalog { grid-auto-rows: 18rem; }
  .process-row { grid-template-columns: 3.6rem 1fr; gap: 1rem; }
  .process-row::before { width: 3.2rem; height: 3.2rem; border-width: .4rem; }
  .process-detail::before { left: 1.52rem; }
  .process-row h2 { margin-top: .4rem; }
  .contact-card, .contact-card:nth-child(n) { grid-column: 1 / -1; min-height: 9rem; }
  .faq-answer { padding-right: 0; }
  .draft-banner { padding-left: 3.3rem; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .reveal { opacity: 1; transform: none; }
}

@media (max-width: 900px) {
  .category-grid { grid-template-columns: 1fr 1fr; grid-auto-rows: 28rem; }
  .category, .category:nth-child(n) { grid-column: auto; grid-row: auto; }
  .catalog { grid-template-columns: 1fr 1fr; grid-auto-rows: 30rem; }
  .catalog-card, .catalog-card:nth-child(n) { grid-column: auto; grid-row: auto; }
  .produce-gallery { grid-template-columns: 1fr 1fr; grid-template-rows: 24rem 18rem; }
  .produce-gallery__wide { grid-column: 1 / -1; grid-row: auto; }
}

@media (max-width: 600px) {
  .category-grid, .catalog { grid-template-columns: 1fr; grid-auto-rows: 27rem; }
  .category, .category:nth-child(n), .catalog-card, .catalog-card:nth-child(n) { grid-column: auto; grid-row: auto; }
  .category h3 { bottom: 6.2rem; font-size: 2rem; }
  .category p { bottom: 1.3rem; }
  .produce-gallery { grid-template-columns: 1fr; grid-template-rows: repeat(3, 22rem); }
  .produce-gallery__wide { grid-column: auto; }
  .payment-marks { grid-template-columns: 1fr 1fr; }
  .payment-mark { min-height: 4.6rem; padding: .45rem; }
  .editorial-pair { grid-template-columns: 1fr; }
  .editorial-pair figure, .editorial-pair--compact figure { min-height: 22rem; }
  .editorial-pair figure:nth-child(2) { margin-top: 0; }
}
