@media (max-width: 1180px) {
  .call-full { display: none; }
  .call-short { display: inline; }
  .site-nav a { font-size: 0.88rem; }
}

@media (max-width: 980px) {
  .nav-toggle { display: inline-grid; place-content: center; flex: 0 0 auto; }
  .header-bar { position: relative; }
  .brand { min-width: 0; }
  .brand strong {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 38vw;
  }
  .brand small { display: none; }
  .header-call { display: inline-flex !important; flex: 0 0 auto; }
  body {
    background-attachment: scroll;
    padding-bottom: calc(72px + env(safe-area-inset-bottom, 0px));
  }
  .sticky-cta {
    display: grid !important;
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    border-radius: 0 !important;
    z-index: 200;
    transform: translateZ(0);
    box-shadow: 0 -8px 28px rgba(0, 0, 0, 0.35);
    padding-bottom: env(safe-area-inset-bottom, 0px);
  }
  .site-nav {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    flex-direction: column;
    align-items: stretch;
    gap: 0.15rem;
    background: rgba(5, 8, 15, 0.97);
    padding: 0.45rem 0.8rem 0.9rem;
    border-bottom: 1px solid var(--line);
    z-index: 40;
  }
  .site-nav.is-open { display: flex; }
  .site-nav a { padding: 0.8rem 0.7rem; border-radius: 12px; color: #fff; }
  .site-nav a:hover { background: rgba(245, 197, 24, 0.08); color: var(--yellow); }
  .split, .contact-layout, .footer-grid, .hero-grid { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .steps { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 640px) {
  .steps, .footer-grid, .pillars, .dest-grid, .card-grid { grid-template-columns: 1fr; }
  .emergency-row { flex-direction: column; align-items: flex-start; }
  .cookie { flex-direction: column; align-items: stretch; }
  h1 { font-size: clamp(1.7rem, 8vw, 2.4rem); }
  .sticky-cta {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    border-radius: 0;
    box-shadow: 0 -8px 28px rgba(0, 0, 0, 0.35);
  }
  body { padding-bottom: calc(var(--sticky-h) + env(safe-area-inset-bottom, 0px) + 1rem); }
}

@media (min-width: 981px) {
  .cookie { left: auto; right: 1rem; width: min(440px, calc(100% - 2rem)); bottom: 6.2rem; }
}
