/* Страницы городов области */
.rt-hero { position: relative; overflow: hidden; color: var(--tx-inv); background: var(--bg) }
.rt-hero__bg { position: absolute; inset: 0; background: linear-gradient(180deg,rgb(17 22 28 / .55),rgb(17 22 28 / .82)),url("/assets/hero-nn.jpg") center/cover no-repeat }
.rt-hero__inner { position: relative; max-width: 760px; padding-block: var(--s8) var(--s10); padding-inline: 0 }
.rt-breadcrumbs { margin-bottom: var(--s5); font-size: 14px; color: var(--tx-inv-2) }
.rt-breadcrumbs ol { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; list-style: none }
.rt-breadcrumbs a { text-decoration: none; color: var(--tx-inv-2) }
.rt-breadcrumbs a:hover { text-decoration: underline; color: #fff }
.rt-breadcrumbs li::after { content: "›"; margin-left: 6px; color: var(--tx-inv-3) }
.rt-breadcrumbs li:last-child::after { content: "" }
.rt-breadcrumbs li[aria-current] { color: #fff }
.rt-hero h1 { margin-block: 0 var(--s4); margin-inline: 0; font-family: var(--serif); font-size: clamp(30px,5vw,46px); font-weight: 700; line-height: 1.1; letter-spacing: -.02em }
.rt-hero__lead { max-width: 620px; margin-block: 0 var(--s7); margin-inline: 0; font-size: clamp(17px,2.2vw,20px); line-height: 1.55; color: var(--tx-inv-2) }
.rt-hero__actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s3) }
.rt-msgrs { display: flex; flex-wrap: wrap; gap: var(--s2) }
.rt-section { padding-block: var(--s10); padding-inline: 0 }
.rt-section--tint { background: var(--bg-2) }
.rt-section__head { max-width: 720px; margin-bottom: var(--s7) }
.rt-section h2 { margin-block: 0 var(--s3); margin-inline: 0; font-family: var(--serif); font-size: clamp(24px,3.4vw,34px); font-weight: 700; line-height: 1.15; letter-spacing: -.015em; color: var(--tx) }
.rt-section h3 { margin-block: 0 var(--s3); margin-inline: 0; font-family: var(--serif); font-size: 20px; font-weight: 600; line-height: 1.25; color: var(--tx) }
.rt-lead { margin: 0; font-size: 18px; line-height: 1.6; color: var(--tx-2) }
.rt-answer { padding-block: var(--s6); padding-inline: var(--s7); background: var(--gold-07); border: 1px solid var(--gold-28); border-radius: var(--r-m) }
.rt-answer p { margin: 0; font-size: 18px; line-height: 1.6; color: var(--tx) }
.rt-answer strong { color: var(--gold-pale) }
.rt-facts { display: grid; grid-template-columns: repeat(auto-fit,minmax(210px,1fr)); gap: var(--s4); margin-top: var(--s6) }
.rt-fact { display: flex; gap: var(--s3); padding: var(--s5); background: var(--bg); border: 1px solid var(--line); border-radius: var(--r-m) }
.rt-fact__icon { display: grid; flex: 0 0 auto; place-items: center; width: 40px; height: 40px; color: var(--gold); background: var(--gold-07); border-radius: var(--r-s) }
.rt-fact__icon svg { width: 22px; height: 22px }
.rt-fact__t { margin-block: 0 2px; margin-inline: 0; font-size: 15px; font-weight: 600; color: var(--tx) }
.rt-fact__d { margin: 0; font-size: 14px; line-height: 1.45; color: var(--tx-2) }
.rt-includes { display: grid; grid-template-columns: repeat(auto-fit,minmax(280px,1fr)); gap: var(--s3) var(--s6); margin-block: var(--s6) 0; margin-inline: 0; padding: 0; list-style: none }
.rt-includes li { display: flex; align-items: flex-start; gap: var(--s3); font-size: 16px; line-height: 1.5; color: var(--tx-2) }
.rt-includes svg { flex: 0 0 auto; width: 22px; height: 22px; margin-top: 1px; color: var(--ok) }
.rt-warnlist { display: grid; grid-template-columns: repeat(auto-fit,minmax(280px,1fr)); gap: var(--s3) var(--s6); margin-block: var(--s6) 0; margin-inline: 0; padding: 0; list-style: none }
.rt-warnlist li { display: flex; align-items: flex-start; gap: var(--s3); font-size: 16px; line-height: 1.5; color: var(--tx-2) }
.rt-warnlist svg { flex: 0 0 auto; width: 22px; height: 22px; margin-top: 1px; color: var(--warn) }
.rt-warnlist strong { color: var(--tx) }
.rt-steps { display: grid; gap: var(--s4); margin-block: var(--s6) 0; margin-inline: 0; padding: 0; list-style: none; counter-reset: st }
.rt-steps li { position: relative; padding: var(--s5) var(--s6) var(--s5) calc(var(--s8) + 26px); background: var(--bg); border: 1px solid var(--line); border-radius: var(--r-m) }
.rt-steps li::before { content: counter(st); position: absolute; top: var(--s5); left: var(--s5); display: grid; place-items: center; width: 34px; height: 34px; font-size: 16px; font-weight: 700; color: var(--on-gold); background: var(--gold); border-radius: var(--r-pill); counter-increment: st }
.rt-steps h3 { margin-block: 0 var(--s1); margin-inline: 0; font-size: 17px }
.rt-steps p { margin: 0; font-size: 15px; line-height: 1.5; color: var(--tx-2) }
.rt-steps a { font-weight: 600; color: var(--gold) }
.rt-options { display: grid; grid-template-columns: repeat(auto-fit,minmax(300px,1fr)); gap: var(--s5); margin-top: var(--s6) }
.rt-option { padding: var(--s7); background: var(--bg); border: 1px solid var(--line); border-radius: var(--r-l); box-shadow: var(--sh-1) }
.rt-option__ic { display: grid; place-items: center; width: 52px; height: 52px; margin-bottom: var(--s4); color: var(--gold); background: var(--gold-08); border-radius: var(--r-m) }
.rt-option__ic svg { width: 28px; height: 28px }
.rt-option p { margin-block: var(--s3) 0; margin-inline: 0; font-size: 15px; line-height: 1.55; color: var(--tx-2) }
.rt-option ul { display: grid; gap: var(--s2); margin-block: var(--s4) 0; margin-inline: 0; padding: 0; list-style: none }
.rt-option li { display: flex; gap: var(--s2); font-size: 15px; line-height: 1.45; color: var(--tx-2) }
.rt-option li svg { flex: 0 0 auto; width: 18px; height: 18px; margin-top: 2px; color: var(--gold) }
.rt-price { margin-top: var(--s6); overflow: hidden; background: var(--bg); border: 1px solid var(--line); border-radius: var(--r-l); box-shadow: var(--sh-1) }
.rt-price table { width: 100%; border-collapse: collapse }
.rt-price th, .rt-price td { padding-block: var(--s4); padding-inline: var(--s5); font-size: 15px; text-align: left; vertical-align: top; border-bottom: 1px solid var(--line) }
.rt-price thead th { font-size: 14px; font-weight: 600; color: var(--tx); background: var(--bg-3) }
.rt-price td:last-child, .rt-price th:last-child { font-weight: 600; text-align: right; white-space: nowrap; color: var(--tx) }
.rt-price tr:last-child td { border-bottom: none }
.rt-price__name { font-weight: 600; color: var(--tx) }
.rt-price__note { margin-top: 2px; font-size: 13px; font-weight: 400; color: var(--tx-3) }
.rt-price__free { color: var(--ok) }
.rt-stamp { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s2) var(--s4); margin-top: var(--s4); font-size: 13px; color: var(--tx-3) }
.rt-stamp__badge { display: inline-flex; align-items: center; gap: 6px; padding-block: var(--s1); padding-inline: 10px; font-weight: 600; color: var(--ok); background: var(--ok-bg); border-radius: var(--r-pill) }
.rt-stamp__badge svg { width: 15px; height: 15px }
.rt-footnote { margin-top: var(--s4); font-size: 14px; line-height: 1.55; color: var(--tx-2) }
.rt-faq { display: grid; gap: var(--s3); max-width: 820px; margin-top: var(--s6) }
.rt-faq details { overflow: hidden; background: var(--bg); border: 1px solid var(--line); border-radius: var(--r-m) }
.rt-faq summary { display: flex; align-items: center; justify-content: space-between; gap: var(--s4); padding-block: var(--s5); padding-inline: var(--s6); font-family: var(--serif); font-size: 17px; font-weight: 600; list-style: none; color: var(--tx); cursor: pointer }
.rt-faq summary::-webkit-details-marker { display: none }
.rt-faq summary::after { content: ""; flex: 0 0 auto; width: 20px; height: 20px; background: no-repeat center/contain; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B23A2A' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E"); transition: transform var(--t-fast) }
.rt-faq details[open] summary::after { transform: rotate(180deg) }
.rt-faq__a { padding-block: 0 var(--s5); padding-inline: var(--s6); font-size: 16px; line-height: 1.6; color: var(--tx-2) }
.rt-faq__a p { margin: 0 }
.rt-disclaimer { display: flex; gap: var(--s4); margin-top: var(--s8); padding-block: var(--s5); padding-inline: var(--s6); background: var(--warn-bg); border: 1px solid rgb(255 255 255 / .09); border-radius: var(--r-m) }
.rt-disclaimer svg { flex: 0 0 auto; width: 24px; height: 24px; margin-top: 2px; color: var(--warn) }
.rt-disclaimer p { margin: 0; font-size: 15px; line-height: 1.6; color: var(--tx-2) }
.rt-disclaimer strong { color: var(--tx) }
.rt-cta { padding-block: var(--s9); padding-inline: var(--s8); text-align: center; color: var(--tx-inv); background: var(--bg-deep); border-radius: var(--r-l) }
.rt-cta h2 { margin-block: 0 var(--s3); margin-inline: 0; color: #fff }
.rt-cta p { max-width: 560px; margin-block: 0 var(--s6); margin-inline: auto; font-size: 18px; line-height: 1.55; color: var(--tx-inv-2) }
.rt-cta__num { display: inline-block; margin-bottom: var(--s2); font-family: var(--serif); font-size: clamp(30px,5vw,44px); font-weight: 700; letter-spacing: -.01em; text-decoration: none; color: #fff }
.rt-cta__num:hover { color: var(--gold) }
.rt-cta__sub { margin-block: 0 var(--s6); margin-inline: 0; font-size: 14px; color: var(--tx-inv-3) }
.rt-cta__actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: var(--s3) }
.rt-related { display: grid; grid-template-columns: repeat(auto-fit,minmax(240px,1fr)); gap: var(--s4); margin-top: var(--s6) }
.rt-related a { display: flex; align-items: center; justify-content: space-between; gap: var(--s3); padding: var(--s5); font-size: 16px; font-weight: 600; text-decoration: none; color: var(--tx); background: var(--bg); border: 1px solid var(--line); border-radius: var(--r-m); transition: border-color var(--t-fast),box-shadow var(--t-fast) }
.rt-related a:hover { border-color: var(--gold-28); box-shadow: var(--sh-1) }
.rt-related svg { flex: 0 0 auto; width: 20px; height: 20px; color: var(--gold) }
.rt-seonav { margin-top: var(--s8) }
.rt-seonav details { background: var(--bg-2); border: 1px solid var(--line); border-radius: var(--r-m) }
.rt-seonav summary { padding-block: var(--s4); padding-inline: var(--s5); font-size: 15px; font-weight: 600; color: var(--tx-2); cursor: pointer }
@media (max-width:640px) {
  .rt-section { padding-block: var(--s8); padding-inline: 0 }
  .rt-hero__inner { padding-block: var(--s7) var(--s8); padding-inline: 0 }
  .rt-price { overflow-x: auto }
  .rt-price table { min-width: 440px }
}
.dr-facts { display: grid; grid-template-columns: repeat(auto-fit,minmax(220px,1fr)); gap: 1px; margin-block: 0 var(--s8); margin-inline: 0; background: var(--line); border: 1px solid var(--line) }
.dr-fact { padding-block: var(--s5); padding-inline: var(--s6); background: var(--bg) }
.dr-fact dt { margin-block: 0 6px; margin-inline: 0; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: var(--tx-2) }
.dr-fact dd { margin: 0; font-size: 17px; font-weight: 600; line-height: 1.4; color: var(--tx) }
.dr-fact dd a { color: var(--gold) }
.dr-prose { max-width: 780px }
.dr-prose p { margin-block: 0 var(--s4); margin-inline: 0; font-size: 17px; line-height: 1.7; color: var(--tx-2) }
.dr-prose p strong { color: var(--tx) }
.dr-grid { display: grid; grid-template-columns: repeat(auto-fill,minmax(300px,1fr)); gap: var(--s4) }
.dr-card { display: flex; flex-direction: column; gap: 6px; padding-block: var(--s5); padding-inline: var(--s6); text-decoration: none; color: inherit; background: var(--bg); border: 1px solid var(--line); transition: border-color .2s }
a.dr-card:hover { border-color: var(--gold) }
.dr-card b { font-size: 17px; line-height: 1.35; color: var(--tx) }
.dr-card span { font-size: 14px; line-height: 1.5; color: var(--tx-2) }
.dr-card em { font-size: 12px; font-weight: 700; font-style: normal; letter-spacing: .06em; text-transform: uppercase; color: var(--gold) }
.dr-group { margin-block: 0 var(--s8); margin-inline: 0 }
.dr-group h2 { margin-block: 0 var(--s4); margin-inline: 0; font-size: 24px }
.dr-note { max-width: 780px; margin-block: var(--s6) 0; margin-inline: 0; padding-block: var(--s4); padding-inline: var(--s5); font-size: 15px; line-height: 1.6; color: var(--tx-2); background: var(--bg-2); border-left: 2px solid var(--gold) }
