@media (max-width: 1080px) {
  :root { --shell: min(100% - 2.5rem, 90rem); }
  .hero-inner { grid-template-columns: 1fr 18rem; gap: 2rem; }
  .intro-grid, .process-grid, .request-grid { gap: 4rem; }
  .video-grid { grid-template-columns: 1fr 0.75fr; }
  .video-specs { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(4, 1fr); }
  .video-specs > div { padding-inline-end: 1rem; }
}

@media (max-width: 820px) {
  :root { --header-height: 4.75rem; }
  .menu-toggle { display: block; position: relative; z-index: 2; }
  .menu-toggle[aria-expanded="true"] > span:first-child { transform: translateY(3px) rotate(45deg); }
  .menu-toggle[aria-expanded="true"] > span:nth-child(2) { transform: translateY(-3px) rotate(-45deg); }
  .main-nav {
    position: fixed;
    inset: 0;
    padding: 7rem 1.5rem 2rem;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 1.3rem;
    background: var(--ink);
    font-size: 1.7rem;
    opacity: 0;
    clip-path: inset(0 0 0 100%);
    visibility: hidden;
    transition: opacity 180ms ease, clip-path 200ms ease, visibility 200ms ease;
  }
  .main-nav.is-open { opacity: 1; clip-path: inset(0); visibility: visible; }
  .header-phone { margin-block-start: 1rem; font-size: 1rem; }

  .hero { min-height: 48rem; height: auto; }
  .hero-shade { background: linear-gradient(90deg, rgba(10,12,12,0.88), rgba(10,12,12,0.28)), linear-gradient(0deg, rgba(10,12,12,0.94), transparent 65%); }
  .hero-image { object-position: 41% center; }
  .hero-inner { min-width: 0; padding-block: 10rem 8.5rem; grid-template-columns: minmax(0, 1fr); }
  .hero-copy { min-width: 0; }
  .hero-copy :is(h1, p) { overflow-wrap: anywhere; }
  .hero h1 { font-size: clamp(3.7rem, 14vw, 6rem); }
  .hero-status { max-width: 28rem; }
  .route-strip .shell { grid-template-columns: 1fr auto; }
  .route-strip strong { display: none; }

  .intro-grid, .process-grid, .request-grid, .contacts-grid { grid-template-columns: minmax(0, 1fr); gap: 3rem; }
  .section-heading, .intro-copy, .request-copy, .contact-list { min-width: 0; }
  .cargo-list { grid-template-columns: 1fr 1fr; }
  .cargo-list article:nth-child(3) { border-block-start: 1px solid var(--line); }
  .cargo-list article:nth-child(4) { border-block-start: 1px solid var(--line); }
  .video-grid { grid-template-columns: 1fr; }
  .video-frame { width: min(100%, 28rem); margin-inline: auto; }
  .video-specs { grid-column: auto; grid-template-columns: 1fr 1fr; }
  .section-heading.inline { align-items: start; flex-direction: column; }
  .gallery { grid-template-columns: 1fr 1fr; grid-auto-rows: 18rem; }
  .gallery-main { grid-row: span 2; }
  .gallery-wide { grid-column: span 1; }
  .footer-top { grid-template-columns: 1fr; gap: 2rem; }
}

@media (max-width: 560px) {
  :root { --shell: calc(100% - 2rem); }
  .section { padding-block: 5.5rem; }
  .brand-copy small { display: none; }
  .brand-mark { width: 2.5rem; height: 2.5rem; }
  .hero-inner { padding-block-start: 9rem; }
  .hero h1 { max-width: 11ch; font-size: clamp(3rem, 14vw, 4rem); }
  .hero-actions { align-items: stretch; flex-direction: column; }
  .button { width: 100%; }
  .route-strip { min-height: 3.5rem; }
  .route-strip .shell { gap: 0.8rem; }
  .route-strip span:last-child { text-align: right; }
  h2 { font-size: clamp(2.3rem, 10.5vw, 3.5rem); }
  h2 { overflow-wrap: anywhere; }
  .intro-grid { gap: 2rem; }
  .cargo-list { grid-template-columns: 1fr; margin-block-start: 3rem; }
  .cargo-list article { min-height: auto; padding: 1.3rem 0; border-inline: 0 !important; border-block-start: 1px solid var(--line); }
  .cargo-list h3 { margin-block: 2rem 0.6rem; }
  .video-frame::before { inset: -0.75rem 0.75rem 0.75rem -0.75rem; }
  .video-specs { grid-template-columns: 1fr; }
  .gallery { grid-template-columns: 1fr; grid-auto-rows: 20rem; }
  .gallery-main { grid-row: auto; }
  .gallery-wide { grid-column: auto; }
  .process-list li { grid-template-columns: 2.5rem 1fr; }
  .max-card { margin-inline: -0.25rem; grid-template-columns: 1fr; }
  .max-button, .max-status { grid-column: auto; }
  .contact-list > * { grid-template-columns: 1fr; gap: 0.4rem; }
  .footer-top dl { grid-template-columns: 1fr; }
}
