@media (max-width: 1120px) {
  .cards-grid--editorial { grid-template-columns: repeat(3, 1fr); }
  .messenger-grid { grid-template-columns: repeat(3, 1fr); }
  .hero { grid-template-columns: 1fr; }
  .hero__visual { order: -1; }
  .hero-photo__frame { min-height: 520px; }
}

@media (max-width: 860px) {
  .feature-list,
  .destination-strip,
  .weather-grid { grid-template-columns: repeat(2, 1fr); }
  .hero h1 { max-width: none; }
  .hero__highlights { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
  .site-shell { padding: 12px 12px calc(124px + env(safe-area-inset-bottom)); }
  .topbar { top: 8px; padding: 12px; border-radius: 20px; }
  .brand__tag { display: none; }
  .brand__word { font-size: 2.08rem; }
  .topbar__actions { gap: 8px; }
  .instagram-link { width: 44px; height: 44px; }
  .lang-switch__btn { padding: 10px 14px; }

  .hero__editorial,
  .hero__visual,
  .section--accent,
  .section--paper,
  .weather-card,
  .contact-form,
  .contact-note { padding: 18px; border-radius: 24px; }
  .hero-photo__frame { min-height: 380px; border-radius: 18px; }
  .hero-photo__img { object-position: center 14%; }
  .hero-photo__title { font-size: 1.4rem; }
  .hero h1 {
    font-size: clamp(2.5rem, 14vw, 4rem);
    line-height: .96;
  }
  .hero__lead,
  .hero__support,
  .section-heading p,
  .service-card p,
  .feature-item p,
  .destination-card span,
  .contact-note p { font-size: .98rem; line-height: 1.58; }
  .hero__buttons { flex-direction: column; align-items: stretch; }
  .hero__chips { gap: 8px; }
  .hero__chips li { font-size: .83rem; padding: 8px 12px; }

  .cards-grid--editorial,
  .feature-list,
  .destination-strip,
  .weather-grid,
  .messenger-grid,
  .field-grid { grid-template-columns: 1fr; }

  .section { padding: 24px 0; }
  .section-heading h2 { font-size: clamp(2.1rem, 12vw, 3.1rem); line-height: .98; }
  .service-card h3,
  .feature-item h3,
  .destination-card strong,
  .contact-note strong { font-size: 1.5rem; }

  .weather-card__row,
  .footer,
  .bullet-panel { flex-direction: column; align-items: flex-start; }

  .contact-form textarea { min-height: 150px; }
  .form-status { margin-top: 14px; }

  .mobile-dock {
    gap: 6px; padding: 8px; border-radius: 22px;
  }
  .mobile-dock a { min-height: 56px; font-size: .68rem; }
}
