/* === Tablet === */
@media (max-width: 1100px) {
.grid--4, .steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.grid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* === Mobile nav (below 1180px) === */
@media (max-width: 1179px) {
:root { --header-h: 68px; }
.nav-toggle { position: relative; display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0; background: transparent; border: 0; cursor: pointer; }
.nav-toggle__bars, .nav-toggle__bars::before, .nav-toggle__bars::after { position: absolute; width: 24px; height: 2px; background: var(--brand-heading); transition: transform .25s var(--ease), opacity .2s; }
.nav-toggle__bars::before, .nav-toggle__bars::after { content: ""; left: 0; }
.nav-toggle__bars::before { top: -7px; }
.nav-toggle__bars::after { top: 7px; }
.nav-open .nav-toggle__bars { background: transparent; }
.nav-open .nav-toggle__bars::before { transform: translateY(7px) rotate(45deg); }
.nav-open .nav-toggle__bars::after { transform: translateY(-7px) rotate(-45deg); }
.site-nav { position: fixed; inset: var(--header-h) 0 0 0; flex-direction: column; align-items: stretch; gap: 24px; padding: 24px var(--bar-pad-x) 40px; background: var(--brand-bg); overflow-y: auto; opacity: 0; visibility: hidden; transform: translateY(-8px); transition: all .25s var(--ease); }
.nav-open .site-nav { opacity: 1; visibility: visible; transform: none; }
.site-nav__list { flex-direction: column; align-items: stretch; gap: 0; }
.site-nav__list a { padding: 16px 0; border-bottom: 1px solid var(--brand-border); font-size: 1.05rem; }
.site-nav__list a::after { display: none; }
.lang-switch__list { position: static; margin-top: 8px; opacity: 1; visibility: visible; transform: none; display: none; }
.lang-switch.is-open .lang-switch__list { display: block; }
body.nav-open { overflow: hidden; }
}

/* === Phone === */
@media (max-width: 640px) {
.grid--2, .grid--3, .grid--4, .steps, .form__row { grid-template-columns: minmax(0, 1fr); }
.site-logo img { width: 210px; }
.btn-row .btn { flex: 1 1 auto; }
}
