/* Mobile-first: base styles are for 320px+. Enhancements below. */
@media (max-width: 1099px) {
  .nav-toggle { display: inline-grid; color: var(--ivory); }
  .main-nav { position: fixed; inset: var(--header-h) 0 0 0; background: var(--green-deep); padding: var(--space-3) var(--gutter) var(--space-4); overflow-y: auto; transform: translateX(100%); visibility: hidden; transition: transform var(--dur-3) var(--ease-out), visibility 0s linear var(--dur-3); }
  .main-nav.is-open { transform: none; visibility: visible; transition-delay: 0s; }
  .nav-list { flex-direction: column; align-items: stretch; gap: 0; }
  .nav-list > li { border-bottom: 1px solid rgba(245,242,233,.12); }
  .nav-list a, .nav-list button.nav-link { width: 100%; min-height: 56px; font-size: 1.1rem; justify-content: space-between; }
  .dropdown { position: static; opacity: 1; visibility: visible; transform: none; background: transparent; color: var(--ivory); box-shadow: none; border: 0; padding: 0 0 .5rem 1rem; display: none; }
  .has-dropdown.is-open .dropdown { display: block; }
  .has-dropdown:hover .dropdown { display: none; }
  .has-dropdown.is-open:hover .dropdown { display: block; }
  .dropdown a:hover { background: rgba(255,255,255,.06); }
  .nav-cta { margin-top: var(--space-3); }
  .nav-cta .btn { width: 100%; }
  body.menu-open { overflow: hidden; }
  .topbar { display: none; }
}
@media (min-width: 1200px) { .main-nav { display: flex; align-items: center; gap: 1rem; } }
@media (min-width: 560px) {
  .trust ul { grid-template-columns: repeat(4, 1fr); }
  .form--2 { grid-template-columns: 1fr 1fr; }
  .form--2 .full { grid-column: 1 / -1; }
  .grid--2, .grid--3 { grid-template-columns: repeat(2, 1fr); }
  .gallery { grid-template-columns: repeat(3, 1fr); }
}
@media (min-width: 768px) {
  .grid--4 { grid-template-columns: repeat(2, 1fr); }
  .footer-grid { grid-template-columns: 1.5fr 1fr 1fr 1.2fr; }
  .steps { grid-template-columns: repeat(2, 1fr); }
  .scroll-cue { display: flex; }
}
@media (min-width: 960px) {
  .split { grid-template-columns: 1fr 1fr; gap: var(--space-5); }
  .split--wide-text { grid-template-columns: 1.15fr .85fr; }
  .split--reverse > :first-child { order: 2; }
  .grid--3 { grid-template-columns: repeat(3, 1fr); }
  .grid--4 { grid-template-columns: repeat(4, 1fr); }
  .steps { grid-template-columns: repeat(4, 1fr); }
  .gallery { grid-template-columns: repeat(4, 1fr); }
  .layout-contact { display: grid; grid-template-columns: .8fr 1.2fr; gap: var(--space-4); align-items: start; }
}
@media (min-width: 1600px) { :root { --container: 1380px; } }
@media print { .site-header, .topbar, .to-top, .progress { display: none; } }

/* No-JS fallback: navigation stays usable without the menu script */
.no-js .nav-toggle { display: none; }
.no-js .site-header { position: static; height: auto; background: var(--green); padding-block: .5rem; }
.no-js .main-nav { position: static; transform: none; visibility: visible; background: none; padding: 0; display: block; }
.no-js .nav-list { flex-direction: row; flex-wrap: wrap; }
.no-js .site-header .header-row { flex-wrap: wrap; height: auto; }
.no-js .dropdown { position: static; opacity: 1; visibility: visible; transform: none; background: transparent; color: var(--ivory); box-shadow: none; border: 0; display: flex; padding: 0; }
.no-js .hero, .no-js .page-hero { padding-top: 0; }
@media (min-width: 1200px) { .nav-toggle { display: none; } }

/* Header CTA: shorter label on narrow desktops so it never clips */
@media (min-width:1200px) and (max-width:1359px){ .nav-long{ display:none; } }
