/* Раздел «Материалы»: стили страниц, как у справочников портала (vet_page, dog_pages). Служебный файл, отдается как /<раздел>/_assets/materials.css */
.vp{--vp-ink:#1d2a33;--vp-mute:#5d6b75;--vp-line:#e3e8ec;--vp-bg:#f3f6f8;--vp-acc:#4099da;--vp-acc-d:#1f6fae;--vp-r:22px;
  --vp-sh:0 1px 2px rgba(20,40,55,.05),0 10px 30px rgba(20,40,55,.07);
  max-width:1240px;margin:0 auto;padding:28px 24px 72px;box-sizing:border-box;color:var(--vp-ink);
  font:17px/1.6 'Circe',Arial,sans-serif}
.vp *,.vp *::before,.vp *::after{box-sizing:border-box}
.vp a{color:var(--vp-acc-d)}
.vp h1,.vp h2,.vp h3,.vp .vp-k,.vp-eyebrow,.vp-step span,.vp-bus,.vp-tram,.vp-ad b{font-family:'Montserrat',Arial,sans-serif}
.vp-crumbs{font-size:14px;color:var(--vp-mute);margin:0 0 26px}.vp-crumbs a{color:var(--vp-mute)}
.vp-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:44px;align-items:center}
.vp-eyebrow{font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--vp-acc-d);margin:0 0 12px}
.vp h1{font-size:50px;line-height:1.05;font-weight:800;letter-spacing:-.025em;text-transform:uppercase;margin:0 0 18px}
.vp h1,.vp h2,.vp h3{overflow-wrap:break-word}@media (max-width:640px){.vp h1,.vp h2{-webkit-hyphens:auto;hyphens:auto}.vp h1 span{-webkit-hyphens:manual;hyphens:manual}}
.vp h1 span{display:block;font-size:22px;line-height:1.3;letter-spacing:0;margin-top:12px;color:var(--vp-ink)}
.vp-lead{font-size:18px;color:#34444f;margin:0 0 22px}
.vp-addr{display:flex;gap:12px;align-items:center;background:var(--vp-bg);border-radius:14px;padding:14px 18px;font-weight:600;margin:0 0 22px}
.vp-addr small{display:block;font-weight:400;color:var(--vp-mute);font-size:14px}
.vp svg{width:22px;height:22px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.vp-addr svg{width:28px;height:28px;color:var(--vp-ink)}
.vp-contacts{display:flex;flex-wrap:wrap;gap:16px 20px}
.vp-k{display:flex;gap:6px;align-items:center;font-size:12.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--vp-ink);margin:0 0 8px}
.vp-k svg{width:16px;height:16px}
.vp-chip{display:inline-flex;gap:10px;align-items:center;background:var(--vp-bg);border-radius:12px;padding:10px 16px;font:700 20px/1.2 'Montserrat',Arial,sans-serif;color:var(--vp-ink)!important;text-decoration:none;white-space:nowrap}
.vp-chip:hover{background:#e7edf2}
.vp-contacts small,.vp-hours small{display:block;font-size:13px;color:var(--vp-mute);margin-top:6px}
.vp-photo{margin:0}.vp-photo img{width:100%;height:auto;display:block;border-radius:var(--vp-r);box-shadow:var(--vp-sh);object-fit:cover}
.vp-photo figcaption{font-size:12px;color:var(--vp-mute);margin-top:8px}
.vp-hours{margin:34px 0 0}
.vp-hours-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.vp-hours-grid>div{background:#fff;border:1px solid var(--vp-line);border-radius:16px;padding:16px 18px}
.vp-hours b{display:block;font-size:18px;line-height:1.35}
.vp-note{display:flex;gap:14px;align-items:flex-start;background:#fff6e5;border-radius:16px;padding:16px 20px;margin:16px 0 0}
.vp-note svg{color:#b26b00;margin-top:3px}.vp-note p{margin:0;font-size:16px}
.vp-note-soft{background:var(--vp-bg)}.vp-note-soft svg{color:var(--vp-acc-d)}
.vp-ad{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;position:relative;margin:56px 0;padding:34px 40px;border-radius:26px;
  background:linear-gradient(120deg,#e6f2fb,#d3e8f8);overflow:hidden}
.vp-ad-free{background:linear-gradient(120deg,#fff1e6,#ffe1cc)}
.vp-ad b{display:block;font-size:30px;line-height:1.15;font-weight:800;letter-spacing:-.02em;margin:0 0 8px}
.vp-ad p{margin:0;font-size:17px;color:#34444f;max-width:720px}
.vp-ad-tag{position:absolute;top:14px;right:18px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#6b7a84}
.vp-btn{display:inline-block;background:var(--vp-ink);color:#fff!important;text-decoration:none;font:700 15px/1 'Montserrat',Arial,sans-serif;
  padding:16px 26px;border-radius:99px;white-space:nowrap}
.vp-btn:hover{background:#000}
.vp-sec{margin:64px 0 0}
.vp h2{font-size:40px;line-height:1.1;font-weight:800;letter-spacing:-.02em;text-transform:uppercase;margin:0 0 16px}
.vp h3{font-size:19px;line-height:1.3;font-weight:700;margin:0 0 10px}
.vp-h3{margin:30px 0 12px!important}
.vp-intro{font-size:18px;color:#34444f;max-width:860px;margin:0 0 26px}
.vp-grid2{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.vp-grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.vp-card,.vp-gov{background:#fff;border:1px solid var(--vp-line);border-radius:var(--vp-r);padding:24px 26px}
.vp-card-tint{background:var(--vp-bg);border-color:transparent}
.vp-card ul{margin:0;padding-left:20px}.vp-card li{margin:0 0 6px}
.vp-card p,.vp-gov p{margin:0 0 10px}
.vp-gov h3{text-transform:uppercase;font-size:17px;letter-spacing:.02em}
.vp-mini{list-style:none;margin:10px 0;padding:0;display:grid;gap:4px;font-weight:600;font-size:15.5px}
.vp-gov>a{font-size:14px;font-weight:600}
.vp-tw{overflow-x:auto;border:1px solid var(--vp-line);border-radius:16px;background:#fff}
.vp-t{width:100%;border-collapse:collapse;font-size:15.5px}
.vp-t th,.vp-t td{text-align:left;padding:11px 16px;border-bottom:1px solid var(--vp-line);vertical-align:top}
.vp-t thead th{font:700 12px/1.3 'Montserrat',Arial,sans-serif;letter-spacing:.06em;text-transform:uppercase;color:var(--vp-mute);background:var(--vp-bg)}
.vp-t tbody th{font-weight:400}.vp-t td{white-space:nowrap;font-weight:700;font-variant-numeric:tabular-nums}
.vp-t tbody tr:last-child>*{border-bottom:0}
.vp-grid-tables{margin-top:6px;align-items:start}
.vp-small{font-size:14px;color:var(--vp-mute);margin:10px 0 0}
.vp-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.vp-step{border-radius:var(--vp-r);padding:24px 26px;color:#fff;min-height:220px}
.vp-step-1{background:#2f8fd0}.vp-step-2{background:#e9eef2;color:var(--vp-ink)}.vp-step-0{background:#5b6f7d}
.vp-step span{display:block;font-size:30px;font-weight:800;opacity:.9;margin:0 0 6px}
.vp-step h3{text-transform:uppercase;font-size:18px;letter-spacing:.02em}.vp-step p{margin:0;font-size:16px}
.vp-split{display:grid;grid-template-columns:1.2fr .8fr;gap:30px;align-items:start}
.vp-check{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.vp-check li{position:relative;padding:0 0 0 34px}
.vp-check li::before{content:'';position:absolute;left:0;top:4px;width:20px;height:20px;border-radius:50%;background:var(--vp-acc)}
.vp-check li::after{content:'';position:absolute;left:6px;top:9px;width:8px;height:5px;border:2px solid #fff;border-top:0;border-right:0;transform:rotate(-45deg)}
.vp-aside{margin-top:58px}
.vp-routes{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 4px}
.vp-bus,.vp-tram{display:inline-grid;place-items:center;min-width:52px;height:44px;padding:0 10px;border-radius:12px;font-weight:800;font-size:18px;color:#fff;background:#007ac9}
.vp-tram{background:#00985f}
.vp-map{margin-top:18px;border-radius:var(--vp-r);overflow:hidden;border:1px solid var(--vp-line);background:var(--vp-bg)}
.vp-map iframe{display:block;width:100%;height:380px;border:0}
.vp-map a{display:block;padding:10px 16px;font-size:14px;font-weight:600}
.vp-split-photo{grid-template-columns:1fr 1fr;align-items:start}
.vp-near-list{display:grid;gap:14px}
.vp-near{background:#fff;border:1px solid var(--vp-line);border-radius:18px;padding:18px 22px}
.vp-near p{margin:6px 0 0;font-size:16px}.vp-sub{font-size:14px;color:var(--vp-mute)}
.vp-faq{background:#fff;border:1px solid var(--vp-line);border-radius:16px;margin:0 0 10px;padding:2px 22px}
.vp-faq summary{cursor:pointer;font:700 17px/1.4 'Montserrat',Arial,sans-serif;padding:16px 28px 16px 0;list-style:none;position:relative}
.vp-faq summary::-webkit-details-marker{display:none}
.vp-faq summary::after{content:'+';position:absolute;right:0;top:12px;font-size:24px;color:var(--vp-acc-d)}
.vp-faq[open] summary::after{content:'–'}
.vp-faq p{margin:0 0 18px;color:#34444f}
.vp-disc{font-size:14px;color:var(--vp-mute);margin:40px 0 0;max-width:900px}
@media (max-width:1000px){.vp-hero,.vp-split,.vp-split-photo{grid-template-columns:minmax(0,1fr)}.vp-photo{order:-1}.vp-contacts{grid-template-columns:1fr 1fr}
  .vp-steps,.vp-grid3{grid-template-columns:1fr 1fr}.vp-aside{margin-top:0}.vp-hero-txt{order:2}}
@media (max-width:640px){.vp{padding:18px 16px 56px;font-size:16px}.vp h1{font-size:32px}.vp h1 span{font-size:18px}.vp h2{font-size:28px}
  .vp-contacts,.vp-hours-grid,.vp-grid2,.vp-grid3,.vp-steps{grid-template-columns:1fr}.vp-chip{font-size:18px;max-width:100%;white-space:normal;overflow-wrap:anywhere}
  .vp-ad{grid-template-columns:1fr;padding:28px 22px;margin:40px 0}.vp-ad b{font-size:23px}.vp-sec{margin-top:48px}
  .vp-step{min-height:0}.vp-map iframe{height:300px}.vp-t th,.vp-t td{padding:10px 10px}.vp-t thead th{letter-spacing:.02em;font-size:11px}.vp-t{font-size:15px}}
.vp-metro,.vp-train{display:inline-grid;place-items:center;min-width:52px;height:44px;padding:0 10px;border-radius:12px;font-weight:800;font-size:18px;color:#fff}
.vp-metro{background:#ff6319}.vp-train{background:#8c4799}
.vp-near-grid{grid-template-columns:1fr 1fr}
@media (max-width:640px){.vp-near-grid{grid-template-columns:1fr}}
.vp-hub-hero{max-width:880px;margin:0 0 8px}.vp-hub-hero .vp-note{margin-top:24px}
.vp-t-wrap td{white-space:normal}
@media (max-width:640px){.vp-t td{white-space:normal}}
.vp-art{position:relative;aspect-ratio:3/2;overflow:hidden;border-radius:var(--vp-r);box-shadow:var(--vp-sh);
  background:radial-gradient(85% 105% at 10% 6%,rgba(255,255,255,.24),transparent 58%),radial-gradient(80% 100% at 94% 98%,#46D3C6 0%,transparent 62%),linear-gradient(135deg,#1F6FAE 0%,#3093D8 52%,#2BB5C2 100%)}
.vp-art svg{display:block;width:100%;height:100%}
.vp-art-float{opacity:.16;animation:vpFloat 7s ease-in-out infinite}.vp-art-float:nth-of-type(2n){animation-delay:-2.5s;animation-duration:9s}
.vp-art-spark{opacity:.5;transform-box:fill-box;transform-origin:center;animation:vpSpark 4s ease-in-out infinite}.vp-art-spark:nth-of-type(2n){animation-delay:-1.6s}
.vp-art-line{fill:none;stroke:rgba(255,255,255,.2);stroke-width:4;stroke-linejoin:round;stroke-linecap:round}
.vp-art-pulse{fill:none;stroke:#fff;stroke-width:5;stroke-linejoin:round;stroke-linecap:round;stroke-dasharray:300 2200;animation:vpPulse 5s linear infinite}
.vp-art-ring{fill:none;stroke:rgba(255,255,255,.55);stroke-width:2;transform-box:fill-box;transform-origin:center;animation:vpRing 3.6s ease-out infinite;opacity:0}
.vp-art-beat{transform-box:fill-box;transform-origin:center;filter:drop-shadow(0 14px 26px rgba(12,62,104,.32));animation:vpBeat 3.6s ease-in-out infinite}
.vp-art-street{fill:none;stroke:rgba(255,255,255,.17);stroke-width:14;stroke-linecap:round}
.vp-art-route{fill:none;stroke:#fff;stroke-width:6;stroke-linecap:round;stroke-dasharray:2 18;animation:vpRoute 1.6s linear infinite}
.vp-art-dot{fill:#fff;opacity:.55;transform-box:fill-box;transform-origin:center;animation:vpSpark 3.2s ease-in-out infinite}
.vp-art-bob{filter:drop-shadow(0 16px 24px rgba(12,62,104,.32));animation:vpBob 3.6s ease-in-out infinite}
@keyframes vpFloat{50%{transform:translateY(-12px)}}
@keyframes vpSpark{50%{opacity:.95;transform:scale(1.25)}}
@keyframes vpPulse{from{stroke-dashoffset:0}to{stroke-dashoffset:-2500}}
@keyframes vpRing{0%{transform:scale(1);opacity:.6}100%{transform:scale(1.75);opacity:0}}
@keyframes vpBeat{0%,100%{transform:scale(1)}12%{transform:scale(1.05)}24%{transform:scale(1)}36%{transform:scale(1.03)}48%{transform:scale(1)}}
@keyframes vpBob{50%{transform:translateY(-10px)}}
@keyframes vpRoute{to{stroke-dashoffset:-20}}
.vp-art-tube{fill:none;stroke:#fff;stroke-width:16;stroke-linecap:round}
.vp-art-signal{fill:none;stroke:#7FD9E8;stroke-width:6;stroke-linecap:round;stroke-dasharray:44 500;animation:vpSignal 2.8s linear infinite}
.vp-art-row{transform-box:fill-box;transform-origin:center;animation:vpRow 5.4s ease-in-out infinite}
.vp-art-hand{transform-origin:450px 300px;animation:vpTurn 14s linear infinite}
.vp-art-col{display:grid;gap:18px;margin-top:58px}.vp-art-col .vp-aside{margin-top:0}
@keyframes vpSignal{from{stroke-dashoffset:44}to{stroke-dashoffset:-400}}
@keyframes vpRow{0%,8%{transform:scale(.55);opacity:.25}16%{transform:scale(1.08);opacity:1}22%,78%{transform:scale(1);opacity:1}92%,100%{transform:scale(.55);opacity:.25}}
@keyframes vpTurn{to{transform:rotate(360deg)}}
@media (max-width:1000px){.vp-art-col{margin-top:0}}
@media (max-width:1000px){.vp-art{aspect-ratio:16/9}}
@media (prefers-reduced-motion:reduce){.vp-art *{animation:none!important}.vp-art-ring{opacity:0}}
.da-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:26px;max-width:860px}
.da-meta{font-size:14px;color:var(--vp-mute);margin:10px 0 0}
.da-toc{background:var(--vp-bg);border-radius:var(--vp-r);padding:18px 22px}.da-toc b{display:block;margin-bottom:8px}
.da-toc ol{margin:0;padding-left:20px;columns:2;column-gap:28px}.da-toc li{margin:0 0 5px;font-size:15px}
.da-sec h2{margin:0 0 12px;scroll-margin-top:90px}.da-sec h3{margin:18px 0 8px;font-size:19px}.da-sec p{margin:0 0 12px}.da-sec ul,.da-sec ol{margin:0 0 14px;padding-left:22px}.da-sec li{margin:0 0 6px}
.da-urgent{background:#FFF1EE;border:1px solid #F5C9C0;border-radius:var(--vp-r);padding:20px 24px}.da-urgent h2{color:#B42318;font-size:24px}
.da-src{font-size:14px;color:var(--vp-mute)}.da-src a{word-break:break-word}
.da-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;margin:0;padding:0;list-style:none}
.da-list a{display:block;height:100%;background:#fff;border:1px solid var(--vp-line);border-radius:18px;padding:16px 18px;text-decoration:none;color:var(--vp-ink)}.da-list a:hover{border-color:var(--vp-acc)}.da-list b{display:block;margin-bottom:4px}.da-list span{font-size:14px;color:var(--vp-mute)}
.da-tag{display:inline-block;font-size:12px;font-weight:600;padding:2px 9px;border-radius:999px;background:#FFE4DE;color:#B42318;margin-bottom:6px}
@media (max-width:700px){.da-toc ol{columns:1}}
.vp h1.da-h1-long{font-size:min(50px,calc((100vw - 48px)/(var(--l)*.74)))}
@media (min-width:1001px){.vp h1.da-h1-long{font-size:min(50px,calc((min(100vw,1240px) - 92px)*.525/(var(--l)*.74)))}}
@media (max-width:640px){.vp h1.da-h1-long{font-size:32px}}
.se-fig{margin:18px 0 20px}.se-fig img{display:block;width:100%;height:auto;border-radius:18px}.se-fig.tall img{max-width:440px}
.se-fig figcaption,.se-cap{font-size:13.5px;line-height:1.45;color:var(--vp-mute);margin:8px 2px 0}
.se-hero-pic{min-width:0}.se-hero-pic .vp-photo{margin:0}
.se-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:26px 22px}
.se-card{display:grid;gap:10px;align-content:start;text-decoration:none;color:var(--vp-ink)}
.se-pic{position:relative;display:block}.se-pic img{display:block;width:100%;height:auto;aspect-ratio:13/10;object-fit:cover;border-radius:18px}
.se-pic em{position:absolute;left:14px;top:14px;font:700 12px/1 'Montserrat',Arial,sans-serif;font-style:normal;letter-spacing:.03em;text-transform:uppercase;background:#fff;padding:7px 11px;border-radius:999px}
.se-card b{font:800 19px/1.25 'Montserrat',Arial,sans-serif;color:var(--vp-ink)}.se-card:hover b{color:var(--vp-acc-d)}.se-card span.t{font-size:15.5px;line-height:1.45;color:var(--vp-mute)}
