:root{--ed-blue:#477ed3;--ed-header-blue:#4178d3;--ed-yellow:#f0d64d;--ed-green:#25d366;--ed-telegram:#29a9ea}

/* Единственная шапка: один и тот же HTML и одни размеры на главной и внутренних страницах. */
.skip-link{position:fixed!important;z-index:1000002!important;top:8px!important;left:8px!important;padding:10px 14px!important;transform:translateY(-150%)!important;border-radius:12px!important;background:#111!important;color:#fff!important;font:700 14px/1 TildaSans,Arial,sans-serif!important;text-decoration:none!important;transition:transform .15s!important}
.skip-link:focus{transform:none!important}
.site-header{position:relative!important;z-index:1000!important;box-sizing:border-box!important;width:100%!important;height:122px!important;border:0!important;background:#fff!important;backdrop-filter:none!important;color:#111!important;font:400 16px/1 TildaSans,Arial,sans-serif!important}
.home-page .site-header{position:absolute!important;top:0!important;right:0!important;left:0!important}
.site-header *{box-sizing:border-box}
.site-header .head{position:relative;display:block;width:1200px;max-width:100%;height:122px;margin-inline:auto;padding:0}
.site-header .brand{position:absolute;top:30px;left:20px;display:flex;width:173px;height:81px;align-items:center;justify-content:center;border:3px solid transparent;border-radius:41px;background:var(--ed-header-blue);color:#fff!important;font:400 16px/1 TildaSans,Arial,sans-serif!important;text-decoration:none!important}
.site-header .brand-name{display:flex;position:absolute;top:10px;left:19px;width:131px;height:54px;flex-direction:column;color:#fff!important;font:700 32px/22px TildaSans,Arial,sans-serif;text-align:center;white-space:nowrap}
.site-header .brand:before,.site-header .brand:after{content:none!important;display:none!important}
.site-header .brand-name,.site-header .brand-name>span{text-transform:none!important}
.site-header .brand-name>span:last-child{letter-spacing:3px}
.site-header .journey-nav{position:absolute;top:49px;left:220px;display:block;width:493px;height:48px;font:400 16px/1 TildaSans,Arial,sans-serif!important}
.site-header .nav-group{position:absolute;top:17px;left:0;width:74px;font:400 17px/17px TildaSans,Arial,sans-serif!important}
.site-header .nav-group summary{display:list-item;padding:0;margin:0;cursor:pointer;list-style:none;color:#111;font:400 17px/17px TildaSans,Arial,sans-serif;white-space:nowrap}
.site-header .nav-group summary::-webkit-details-marker{display:none}
.site-header .nav-group summary:before,.site-header .nav-group summary:after{content:none!important;display:none!important}
.site-header .nav-works{left:100px}
.site-header .nav-services{left:241px}
.site-header .nav-about{left:360px}
.site-header .nav-contacts{left:423px}
.site-header .nav-panel{position:absolute;z-index:1010;top:39px;left:-18px;display:grid;width:820px;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 24px;padding:22px;border:2px solid var(--ed-header-blue);border-radius:24px;background:#fff;box-shadow:0 18px 40px rgba(45,86,145,.18)}
.site-header .nav-panel:before{content:'';position:absolute;top:-17px;right:0;left:0;height:17px}
.site-header .nav-catalog-group{display:grid;align-content:start;gap:3px}
.site-header .nav-panel a{padding:7px 9px;border-radius:10px;color:#111!important;font:500 14px/1.2 TildaSans,Arial,sans-serif!important;text-decoration:none!important}
.site-header .nav-panel .nav-catalog-title{color:var(--ed-header-blue)!important;font-size:16px!important;font-weight:800!important}
.site-header .nav-panel a:hover,.site-header .nav-panel a:focus-visible{background:#edf3fc;color:#285eaf!important}
.site-header .nav-direct{position:absolute;top:17px;color:#111!important;font:400 17px/17px TildaSans,Arial,sans-serif!important;text-decoration:none!important;white-space:nowrap}
.site-header .head-phone{position:absolute;top:49px;left:751px;display:flex;width:191px;height:48px;align-items:center;color:var(--ed-header-blue)!important;font:600 19px/19px TildaSans,Arial,sans-serif;text-decoration:none!important;white-space:nowrap}
.site-header .header-wa{position:absolute;top:49px;left:931px;display:grid;width:43px;height:43px;place-items:center;border-radius:50%;background:var(--ed-green);color:#fff!important;text-decoration:none!important}
.site-header .header-wa svg{display:block;width:25px;height:25px;fill:currentColor}
.site-header .header-action{position:absolute;top:48px;left:998px;display:flex;width:202px;height:43px;align-items:center;justify-content:center;border-radius:999px;background:var(--ed-header-blue);color:#fff!important;font:600 19px/19px TildaSans,Arial,sans-serif;text-decoration:none!important;white-space:nowrap}
.site-header .menu-button{display:none;padding:10px 17px;border:2px solid var(--ed-header-blue);border-radius:999px;background:#fff;color:var(--ed-header-blue);font:700 15px/1 TildaSans,Arial,sans-serif}

/* Единый футер основан на футере восстановленной главной. */
.ed-shell{box-sizing:border-box;width:min(1200px,calc(100% - 40px));margin-inline:auto;font-family:TildaSans,Arial,sans-serif}
.ed-seo-footer.site-footer{padding:72px 0 26px!important;background:var(--ed-blue)!important;color:#fff!important;font-family:TildaSans,Arial,sans-serif!important}
.site-footer .ed-footer-brand{display:grid;grid-template-columns:200px minmax(0,520px);gap:35px;align-items:start;margin-bottom:48px}
.site-footer .ed-footer-brand strong{display:flex;box-sizing:border-box;width:174px;min-height:76px;align-items:center;justify-content:center;border-radius:999px;background:#fff;color:var(--ed-blue);font-size:22px;line-height:.9;text-align:center}
.site-footer .ed-footer-brand p{margin:4px 0 0;color:#fff!important;font-size:21px;line-height:1.35}
.site-footer .ed-footer-columns{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:30px}
.site-footer .ed-footer-columns nav,.site-footer .ed-footer-contact{display:flex;min-width:0;flex-direction:column;align-items:flex-start;gap:8px}
.site-footer .ed-footer-columns b{margin-bottom:5px;color:var(--ed-yellow)!important;font-size:16px}
.site-footer .ed-footer-columns a,.site-footer .ed-footer-contact address,.site-footer .ed-footer-contact span{margin:0;color:#fff!important;font-size:14px;line-height:1.4;text-decoration:none!important;font-style:normal}
.site-footer .ed-footer-columns a:hover{text-decoration:underline!important}
.site-footer .ed-footer-contact>a{font-size:18px;font-weight:800}
.site-footer .ed-footer-bottom{display:flex;justify-content:space-between;gap:25px;margin-top:48px;padding-top:22px;border-top:1px solid rgba(255,255,255,.32);font-size:12px}
.site-footer .ed-footer-bottom a{color:#fff!important}

/* Тот же быстрый контактный док на каждой странице. */
.ed-contact-dock.floating{position:fixed!important;right:max(18px,env(safe-area-inset-right))!important;bottom:max(18px,env(safe-area-inset-bottom))!important;z-index:900!important;display:flex!important;align-items:center!important;gap:8px!important;padding:8px!important;border-radius:999px!important;background:rgba(255,255,255,.96)!important;box-shadow:0 12px 38px rgba(30,59,105,.22)!important;font-family:TildaSans,Arial,sans-serif!important;transition:opacity .18s ease,transform .18s ease,visibility .18s!important}
.ed-contact-dock.floating a{display:flex;align-items:center;justify-content:center;text-decoration:none!important;font-weight:800}
.ed-contact-dock .ed-phone{height:44px;padding:0 18px;border-radius:999px;background:var(--ed-blue);color:#fff!important}
.ed-contact-dock .ed-phone-symbol{display:none;width:23px;height:23px}
.ed-contact-dock .ed-wa,.ed-contact-dock .ed-tg{width:44px;height:44px;border-radius:50%;color:#fff!important}
.ed-contact-dock .ed-wa{background:var(--ed-green)}
.ed-contact-dock .ed-tg{background:var(--ed-telegram)}
.ed-contact-dock .ed-wa svg,.ed-contact-dock .ed-tg svg{display:block;width:23px;height:23px;fill:currentColor}
.ed-contact-dock.floating.is-suppressed,body.ed-menu-open .ed-contact-dock.floating,body.ed-mega-open .ed-contact-dock.floating{opacity:0!important;visibility:hidden!important;transform:translateY(10px)!important;pointer-events:none!important}

.service-page{display:flex;min-height:100vh;flex-direction:column}
.service-page main{flex:1}
.service-page .legal-page h1{font-size:clamp(38px,10vw,60px);line-height:1.02;overflow-wrap:anywhere}
.service-page .legal-page h2{font-size:clamp(30px,8vw,46px);line-height:1.06;overflow-wrap:anywhere}
@media(max-width:600px){
  .service-page .legal-page{padding-inline:12px}
  .service-page .legal-page h1{font-size:clamp(26px,8vw,31px);line-height:1.05;letter-spacing:-.02em;overflow-wrap:anywhere}
}

@media(max-width:1199px){
  .site-header .head{display:flex;width:min(100% - 20px,1180px);padding:20px 0;align-items:center;gap:20px}
  .site-header .brand{position:relative;top:auto;left:auto;flex:0 0 173px}
  .site-header .journey-nav{position:absolute;z-index:1005;top:calc(100% - 10px);right:20px;left:20px;display:none;width:auto;height:auto;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:18px;border:2px solid var(--ed-header-blue);border-radius:24px;background:#fff;box-shadow:0 20px 50px rgba(45,86,145,.18)}
  .site-header .journey-nav.open{display:grid}
  .site-header .nav-group,.site-header .nav-direct{position:static;grid-column:auto;width:auto;min-width:0;margin-left:0;padding:10px 12px;border-radius:12px;background:#edf3fc}
  .site-header .nav-panel{position:static;width:auto;margin:8px 0 0;grid-template-columns:repeat(2,minmax(0,1fr));border-width:1px;box-shadow:none}
  .site-header .menu-button{display:block;margin-left:auto}
  .site-header .head-phone,.site-header .header-wa,.site-header .header-action{position:static;flex:0 0 auto}
  .site-header .head-phone{width:auto;margin-left:0}
}

@media(max-width:959px){
  body.ed-menu-open{overflow:hidden!important}
  .site-header{height:109px!important}
  .site-header .head{width:min(100% - 20px,640px);height:109px;padding:14px 0;gap:10px}
  .site-header .header-wa,.site-header .header-action{display:none!important}
  .site-header .journey-nav{top:calc(100% - 4px);right:12px;left:12px;grid-template-columns:1fr;max-height:calc(100vh - 100px);overflow:auto}
  .site-header .nav-panel{grid-template-columns:1fr}
  .site-footer .ed-footer-brand{grid-template-columns:1fr;gap:20px}.site-footer .ed-footer-brand p{font-size:18px}
  .site-footer .ed-footer-columns{grid-template-columns:1fr 1fr;gap:28px 18px}.site-footer .ed-footer-contact{grid-column:1/-1}.site-footer .ed-footer-bottom{flex-direction:column;gap:9px}
}

@media(max-width:639px){
  .site-header .head{width:min(100%,320px);padding:0}
  .site-header .brand{position:absolute;top:28px;left:10px;width:171px;height:55px;flex-basis:171px}
  .site-header .brand-name{top:-1px;left:21px;width:115px;height:52px;font-size:32px;line-height:20px}
  .site-header .brand-name>span:last-child{letter-spacing:3px}
  .site-header .menu-button{position:absolute;top:28px;right:14px;height:52px;margin:0;padding:0 18px}
  .site-header .head-phone{display:none!important}
}

@media(max-width:760px){
  .ed-contact-dock.floating{right:max(10px,env(safe-area-inset-right))!important;bottom:max(10px,env(safe-area-inset-bottom))!important}.ed-contact-dock .ed-phone{width:48px;height:48px;padding:0}.ed-contact-dock .ed-phone span{display:none}.ed-contact-dock .ed-phone-symbol{display:block}.ed-contact-dock .ed-wa,.ed-contact-dock .ed-tg{width:48px;height:48px}
}

@media(max-width:480px){.site-footer .ed-footer-columns{grid-template-columns:1fr}.site-footer .ed-footer-contact{grid-column:auto}}
