.container { width: min(100% - var(--gutter) * 2, var(--content)); margin-inline: auto; }
.section { padding-block: clamp(52px, 5vw, 78px); }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 30px; }
.section-heading h2 { margin-bottom: 0; }
.button-group { display: flex; flex-wrap: wrap; gap: 16px; align-items: center; }
.site-header { position: absolute; z-index: 10; top: 0; left: 0; width: 100%; padding-inline: clamp(16px, 2.8vw, 42px); }
.header-inner { display: flex; align-items: center; justify-content: space-between; gap: 26px; max-width: 1440px; margin-inline: auto; min-height: 84px; padding: 14px 32px; background: rgb(255 253 250 / 96%); border-radius: 0 0 20px 20px; }
.desktop-nav ul { display: flex; gap: clamp(15px, 1.6vw, 26px); }
.header-actions { display: flex; align-items: center; gap: 24px; }
.site-footer { background: var(--forest-deep); color: #e6ece6; padding-top: 48px; }
.site-footer .footer-directions { display: inline-flex; align-items: center; min-height: 44px; }
.footer-grid { display: grid; grid-template-columns: 1.6fr .8fr 1.1fr 1.25fr 1fr; gap: 38px; padding-bottom: 40px; }
.footer-bottom { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; border-top: 1px solid rgb(255 255 255 / 15%); padding-block: 20px; font-size: 11px; color: #c2cec5; }
@media (max-width: 1199px) { .header-phone { display: none; } .header-inner { padding-inline: 24px; gap: 20px; } .footer-grid { gap: 24px; grid-template-columns: 1.3fr 1fr 1.2fr; } }
@media (width < 75em) { .header-inner { min-height: 74px; padding-inline: 20px; } .desktop-nav, .header-actions { display: none; } .header-demo { display: block; } .site-footer { padding-bottom: calc(112px + env(safe-area-inset-bottom)); } }
@media (max-width: 599px) { .section-heading { align-items: start; flex-direction: column; gap: 10px; } .footer-grid { grid-template-columns: 1fr 1fr; gap: 30px 24px; } .footer-brand { grid-column: 1 / -1; max-width: 280px; } .footer-bottom { align-items: start; flex-direction: column; } }
