*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { font-family:'Noto Sans',sans-serif; background:#fff; color:#1a0a2e; }
.t446 { background-color:#660099; position:sticky; top:0; z-index:990; height:80px; display:flex; align-items:center; }
.t446__inner { max-width:1200px; margin:0 auto; padding:0 40px; width:100%; display:flex; align-items:center; justify-content:space-between; }
.t446__menu { display:flex; align-items:center; gap:30px; list-style:none; }
.t446__menu a { color:#a18152; font-weight:700; font-size:14px; text-decoration:none; transition:color .2s; }
.t446__menu a:hover { color:#51b8cb; }
.t446__phone { color:#fff; font-weight:600; font-size:18px; text-decoration:none; }
.t446__phone:hover { color:#a18152; }
.t-cover { height:420px; background-color:#660099; display:flex; align-items:center; justify-content:center; text-align:center; padding:0 24px; }
.t001__title { font-size:clamp(24px,4vw,46px); font-weight:700; color:#a18152; letter-spacing:1px; text-transform:uppercase; line-height:1.2; }
.t-btn { display:inline-block; padding:14px 32px; background-color:#fff; color:#006fff; border-radius:7px; font-size:15px; font-weight:600; text-decoration:none; transition:background-color .2s,color .2s; margin-top:28px; }
.t-btn:hover { background-color:#9c0528; color:#fff; }
.t-btn_blue { background-color:#51b8cb; color:#fff; border-radius:30px; padding:12px 28px; font-size:14px; margin-top:0; }
.t-btn_blue:hover { background-color:#3a9db0; }
.t480 { padding:80px 0; background:#fff; }
.t480__inner { max-width:1200px; margin:0 auto; padding:0 40px; display:grid; grid-template-columns:1fr 1fr; gap:0; align-items:stretch; min-height:540px; }
.t480__mapblock { position:relative; min-height:540px; background:#660099; overflow:hidden; border-radius:4px 0 0 4px; }
#leaflet-map { width:100%; height:100%; min-height:540px; }
.map-legend { position:absolute; bottom:20px; left:20px; background:rgba(14,5,32,0.88); border:1px solid rgba(161,129,82,0.45); border-radius:8px; padding:12px 16px; z-index:1000; pointer-events:none; }
.map-legend__title { font-size:8px; font-weight:700; color:#a18152; letter-spacing:2px; text-transform:uppercase; margin-bottom:9px; font-family:'Noto Sans',sans-serif; }
.map-legend__row { display:flex; align-items:center; gap:8px; margin-bottom:6px; }
.map-legend__row:last-child { margin-bottom:0; }
.ml-line { width:26px; height:0; border-top:2.5px solid; flex-shrink:0; }
.ml-dash { border-style:dashed; }
.ml-dot { width:9px; height:9px; border-radius:50%; border:1.5px solid rgba(255,255,255,0.6); flex-shrink:0; }
.ml-text { font-size:10px; color:rgba(240,234,214,0.85); font-family:'Noto Sans',sans-serif; }
.leaflet-control-attribution { display:none !important; }
.leaflet-control-zoom { display:none !important; }
.leaflet-popup-content-wrapper { background:rgba(8,3,20,.97) !important; border:1.5px solid #a18152 !important; border-radius:10px !important; color:#fff !important; box-shadow:0 8px 32px rgba(102,0,153,.5) !important; }
.leaflet-popup-tip { background:#a18152 !important; }
.leaflet-popup-close-button { color:#a18152 !important; font-size:18px !important; }
.pi { padding:2px 4px; }
.pi-type { font-size:8px; letter-spacing:2px; text-transform:uppercase; font-weight:700; margin-bottom:3px; }
.pi-name { font-size:14px; font-weight:700; color:#fff; }
.t480__textwrapper { background:#fff; display:flex; align-items:center; justify-content:center; padding:60px; border:1px solid #f0ece4; border-left:none; border-radius:0 4px 4px 0; }
.t480__content { text-align:center; max-width:440px; }
.t480__title { font-size:28px; font-weight:700; color:#660099; line-height:1.25; margin-bottom:18px; }
.t-divider { width:60px; height:3px; background-color:#259da8; margin:0 auto 24px; border-radius:2px; }
.t480__descr { font-size:16px; color:#4a3a5a; line-height:1.75; margin-bottom:28px; text-align:center; }
.route-steps { text-align:left; margin-bottom:28px; border-top:1px solid #f0ece4; padding-top:20px; }
.route-step { display:flex; align-items:center; gap:12px; padding:10px 0; border-bottom:1px solid #f7f4ee; }
.route-step:last-child { border-bottom:none; }
.step-dot { width:10px; height:10px; border-radius:50%; flex-shrink:0; }
.step-name { font-size:13px; font-weight:600; color:#1a0a2e; }
.t480__btn-wrapper { text-align:center; }
.t396-divider { background-color:#51b8cb; padding:32px 40px; text-align:center; }
.t396-divider__text { font-size:18px; font-weight:700; color:#fff; letter-spacing:0.5px; }
.t574 { background-color:#660099; padding:60px 40px; text-align:center; }
.t574__contact { font-size:22px; margin-bottom:8px; }
.t574__contact a { color:#51b8cb; text-decoration:none; font-weight:500; }
.t574__contact a:hover { color:#a18152; }
.t574__address { color:rgba(255,255,255,0.8); margin-top:16px; font-size:16px; line-height:1.6; }
@media screen and (max-width:980px) {
  .t446__menu { display:none; }
  .t480__inner { grid-template-columns:1fr; padding:0 20px; }
  .t480__mapblock { min-height:380px; border-radius:4px 4px 0 0; }
  #leaflet-map { min-height:380px; }
  .t480__textwrapper { padding:40px 28px; border-left:1px solid #f0ece4; border-top:none; border-radius:0 0 4px 4px; }
  .t480 { padding:60px 0; }
}
@media screen and (max-width:600px) {
  .t001__title { font-size:22px; }
  .t480__title { font-size:22px; }
}
