.nav { position:sticky !important; top:0 !important; z-index:100 !important; }
@media (min-width:641px) {
  .nav { position:fixed !important; top:40px !important; left:0; right:0; transition:top .2s ease; }
  .nav.is-scrolled { top:0 !important; }
}

footer { background:#141414; color:#fff; padding:clamp(56px,7vw,92px) 22px 34px; }
.footer-inner { max-width:1180px; margin:0 auto; display:grid; grid-template-columns:minmax(280px,1.35fr) repeat(4,minmax(140px,.7fr)); gap:clamp(28px,5vw,72px); color:rgba(255,255,255,.72); font-size:17px; line-height:1.45; }
.footer-brand { display:grid; gap:20px; align-content:start; }
.footer-brand img { width:min(360px,100%); height:auto; }
.footer-phone { width:fit-content; min-height:58px; border-radius:999px; padding:0 24px; display:inline-flex; align-items:center; justify-content:center; background:#ff6248; color:#fff; font-size:24px; font-weight:900; }
.footer-social { display:flex; gap:10px; }
.footer-social a { width:42px; height:42px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.24); border-radius:50%; color:#fff; background:rgba(255,255,255,.06); transition:border-color .2s ease,background .2s ease,color .2s ease; }
.footer-social a:hover,.footer-social a:focus-visible { border-color:#c8ff4d; background:rgba(200,255,77,.12); color:#c8ff4d; }
.footer-social svg { width:20px; height:20px; fill:currentColor; }
.footer-legal { grid-column:1 / -1; width:100%; margin:14px 0 0; padding-top:22px; border-top:1px solid rgba(255,255,255,.13); color:rgba(255,255,255,.48); font-size:13px; text-align:center; }
.footer-col { display:grid; gap:18px; align-content:start; }
.footer-col h3 { margin:0 0 18px; color:#c8ff4d; font-size:22px; line-height:1; }
.footer-col a { color:rgba(255,255,255,.78); text-decoration:none; }
.footer-col a:hover,.footer-legal a { color:#c8ff4d; }
@media (max-width:860px) { .footer-inner { grid-template-columns:1fr; } }
@media (max-width:640px) {
  footer { padding:32px 16px 18px; }
  .footer-inner { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 18px; font-size:14px; line-height:1.35; }
  .footer-brand { grid-column:1 / -1; gap:12px; }
  .footer-brand img { width:min(230px,72vw); }
  .footer-brand p { margin:0; }
  .footer-phone { min-height:46px; padding:0 18px; font-size:18px; }
  .footer-social a { width:38px; height:38px; }
  .footer-col { gap:10px; }
  .footer-col h3 { margin:0 0 6px; font-size:17px; }
  .footer-legal { grid-column:1 / -1; margin-top:2px; padding-top:16px; font-size:11px; }
}
