/* Шапка, меню на телефоне и подвал: общие для всех страниц */
:root{--navy:#1F4151;--teal:#14A3A0;--teal-d:#0A6A71;--mint:#BFECE4;--sky:#EAF6F8;--paper:#F8FCFC;--sun:#F6B24A;--muted:#52707A;--line:rgba(31,65,81,.12)}
/* шапка */
.nav{position:sticky;top:0;z-index:50;background:rgba(248,252,252,.92);backdrop-filter:blur(10px)}
.nav .wrap{max-width:1480px;display:flex;align-items:center;gap:1.4rem;height:80px;padding:0 clamp(18px,3vw,48px)}
.logo{display:flex;align-items:center;gap:.6rem;text-decoration:none;margin-right:clamp(.5rem,3vw,3rem)}
.logo b{font-size:1.6rem;font-weight:800;letter-spacing:-.02em;line-height:1}
.logo{flex:none}
.logo-img{display:block;height:auto;max-width:none}
.menu{display:flex;align-items:center;gap:1.7rem;margin:0 auto;list-style:none;font-weight:600;font-size:.93rem}
.menu>li{position:relative}
.menu a{text-decoration:none;white-space:nowrap;padding:.3rem 0;border-bottom:2px solid transparent}
.menu>li>a:hover,.menu a[aria-current]{color:var(--teal-d);border-color:var(--teal)}
.has-sub>a::after{content:"";display:inline-block;width:6px;height:6px;margin:0 0 3px .45rem;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg)}
.sub-menu{position:absolute;top:100%;left:-1rem;min-width:260px;margin-top:.9rem;padding:.5rem;list-style:none;background:#fff;border-radius:18px;box-shadow:0 22px 44px -18px rgba(31,65,81,.5);opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .18s,transform .18s,visibility .18s}
.sub-menu::before{content:"";position:absolute;left:0;right:0;top:-1rem;height:1rem}
.has-sub:hover .sub-menu,.has-sub:focus-within .sub-menu{opacity:1;visibility:visible;transform:none}
.sub-menu a{display:block;padding:.65rem .95rem;border:0;border-radius:12px}
.sub-menu a:hover,.sub-menu a[aria-current]{background:var(--sky);color:var(--teal-d)}
.nav .btn{white-space:nowrap;padding:.65rem 1.1rem}
.nav-tel{display:flex;align-items:center;gap:.7rem;text-decoration:none;white-space:nowrap;line-height:1.15}
.nav-tel i{width:42px;height:42px;border-radius:50%;background:var(--mint);color:var(--teal-d);display:grid;place-items:center;transition:background .15s,color .15s}
.nav-tel svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.nav-tel:hover i{background:var(--teal);color:#fff}
.nav-tel b{display:block;font-size:1.12rem;font-weight:800;letter-spacing:-.01em}
.nav-tel small{display:block;font-size:.72rem;font-weight:600;color:var(--muted)}
.burger{display:none;width:44px;height:44px;border-radius:50%;border:0;background:var(--sky);cursor:pointer;place-items:center}
.burger span,.burger span::before,.burger span::after{display:block;width:18px;height:2px;background:var(--navy);border-radius:2px;position:relative;content:""}
.burger span::before{position:absolute;top:-6px}.burger span::after{position:absolute;top:6px}
.drawer{position:fixed;inset:0 0 0 auto;width:min(380px,100%);background:#fff;z-index:80;padding:1.2rem 1.4rem 2rem;overflow:auto;transform:translateX(105%);visibility:hidden;transition:transform .3s,visibility .3s;box-shadow:-20px 0 50px -20px rgba(31,65,81,.5)}
.drawer.open{transform:none;visibility:visible}
.drawer .top{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}
.drawer .x{width:40px;height:40px;border-radius:50%;border:0;background:var(--sky);font-size:1.3rem;cursor:pointer}
.drawer a{display:block;text-decoration:none;padding:.75rem .2rem;font-weight:700;border-bottom:1px solid var(--line)}
.drawer a[aria-current]{color:var(--teal-d)}
.drawer details summary{padding:.75rem .2rem;font-weight:700;border-bottom:1px solid var(--line);cursor:pointer;list-style:none}
.drawer details summary::-webkit-details-marker{display:none}
.drawer details summary::after{content:"+";float:right;font-size:1.2rem;line-height:1}
.drawer details[open] summary::after{content:"−"}
.drawer details a{padding-left:1rem;font-weight:600;font-size:.95rem}
.drawer .btn{margin-top:1.2rem;width:100%}
.dscrim{position:fixed;inset:0;background:rgba(31,65,81,.5);z-index:70;opacity:0;pointer-events:none;transition:opacity .3s}
.dscrim.on{opacity:1;pointer-events:auto}

/* подвал */
footer{background:var(--sky);padding:3.5rem 0 2rem;margin-top:2rem}
.foot{display:grid;grid-template-columns:1.4fr 1fr 1.2fr auto;gap:2.5rem}
.foot>*{min-width:0}
footer h4{font-size:.85rem;color:var(--teal-d);margin-bottom:.8rem}
footer ul{list-style:none;display:grid;gap:.4rem;font-size:.93rem}
footer a{text-decoration:none}
footer a:hover{color:var(--teal-d)}
.foot p{color:var(--muted);font-size:.93rem;margin-top:.9rem;max-width:36ch}
.ftel{font-weight:800;font-size:1.2rem;display:block;white-space:nowrap}
.sub{display:grid;gap:.4rem;background:#fff;padding:.4rem;border-radius:26px;margin-top:.6rem}
.sub input{width:100%;min-width:0;border:0;background:transparent;font:inherit;padding:.7rem 1rem;color:var(--navy);outline:0}
.sub input::placeholder{color:#8fa3ab}
.sub .btn{width:100%;justify-content:center}
.legal{margin-top:2.5rem;padding-top:1.2rem;border-top:1px solid var(--line);font-size:.8rem;color:var(--muted)}

@media (max-width:1320px){.menu{gap:1.2rem}.nav-tel small{display:none}}
@media (max-width:1100px){.nav-tel span{display:none}}
@media (max-width:1000px){
  .menu,.nav>.wrap>.btn{display:none}
  .nav-tel{margin-left:auto}
  .burger{display:grid}
  .foot{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
}
@media (max-width:640px){
  .foot{grid-template-columns:minmax(0,1fr)}
  .nav-tel{display:none}.burger{margin-left:auto}

}
@media (prefers-reduced-motion:reduce){.sub-menu,.drawer,.dscrim{transition:none}}

/* кнопки соцсетей (баннер на главной и подвал) */
.soc{display:inline-flex;align-items:center;gap:.6rem;padding:.7rem 1.2rem;border-radius:999px;font-weight:700;font-size:.95rem;text-decoration:none;color:#fff;transition:transform .15s,filter .15s}
.soc svg{width:20px;height:20px;fill:none;stroke:#fff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
.soc.vk svg{fill:#fff;stroke:none}
.soc.tg{background:#167BB3}.soc.vk{background:#1A6FD6}
.soc:hover,footer a.soc:hover{transform:translateY(-2px);filter:brightness(1.07);color:#fff}
.fsoc{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.9rem}