/* Страница «Тарифы» (08.11). Язык сайта: кость, тёплый тёмный, узкие заголовки Roboto Flex, круги четырёх цветов
   с умножением цвета. Мысль: тариф — это сколько частей системы вы берёте (круги в карточке). */

/* ── первый экран: тёмная карточка — слева заголовок и калькулятор, справа рубль из точек (rubl.js) ── */
.tarify-geroy{padding:clamp(6.5rem,9vw,8rem) 0 clamp(1rem,2vw,1.5rem)}
.tarify-rubl{position:relative;display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);gap:clamp(1rem,3vw,3rem);align-items:center;
  padding:clamp(1.75rem,4vw,3.5rem);border-radius:2rem;background:var(--r-temn);color:var(--r-temn-t);overflow:hidden}
.tarify-rubl::before{content:"";position:absolute;right:-12%;top:50%;width:62%;aspect-ratio:1;transform:translateY(-50%);border-radius:50%;
  background:radial-gradient(closest-side,rgba(240,233,221,.06),transparent 70%);pointer-events:none}
.tarify-rubl__tekst{position:relative;z-index:2;display:flex;flex-direction:column;align-items:flex-start;gap:1.3rem}
.tarify-rubl__zag{margin:0;font-family:var(--r-zag);font-stretch:38%;font-weight:640;font-size:clamp(3rem,5.4vw,5rem);line-height:.86;
  letter-spacing:-.008em;color:var(--r-temn-t);text-wrap:balance}
.tarify-rubl__lid{margin:0;max-width:30rem;font-size:1.12rem;line-height:1.4;color:rgba(240,233,221,.72);text-wrap:pretty}
.tarify-rubl__holst{position:relative;z-index:1;width:100%;height:100%;min-height:30rem;cursor:grab;touch-action:pan-y}
.tarify-rubl .kalk{width:100%;margin-top:.4rem;padding:1.4rem 0 0;border-radius:0;background:transparent;box-shadow:none;
  border-top:1px solid rgba(240,233,221,.14);overflow:visible}
.tarify-rubl .kalk::after{display:none}
.tarify-rubl .kalk__prim{padding-top:0;border-top:0}

/* калькулятор — тёмная панель */
.kalk{position:relative;display:flex;flex-direction:column;gap:1.4rem;padding:clamp(1.5rem,2.4vw,2.1rem);border-radius:var(--r-rad);
  background:var(--r-temn);color:var(--r-temn-t);box-shadow:0 30px 60px -36px rgba(43,33,25,.55);overflow:hidden}
.kalk::after{content:"";position:absolute;inset:auto -20% -60% auto;width:70%;aspect-ratio:1;border-radius:50%;
  background:radial-gradient(closest-side,rgba(240,233,221,.07),transparent);pointer-events:none}
.kalk__verh{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.kalk__vopros{font-size:1.08rem;line-height:1.25;color:rgba(240,233,221,.78);max-width:11rem}
.kalk__schet{display:flex;align-items:center;gap:.4rem}
.kalk__kn{width:2.75rem;height:2.75rem;border:0;border-radius:50%;background:rgba(240,233,221,.08);color:var(--r-temn-t);
  font:400 1.6rem/1 var(--r-zag);cursor:pointer;box-shadow:inset 0 0 0 1px rgba(240,233,221,.18);transition:background .2s,transform .15s}
.kalk__kn:hover{background:rgba(240,233,221,.16)}
.kalk__kn:active{transform:scale(.94)}
.kalk__kn:focus-visible,.kalk__polzunok:focus-visible{outline:2px solid var(--s2);outline-offset:3px}
.kalk__chislo{min-width:2.3ch;text-align:center;font-family:var(--r-zag);font-stretch:38%;font-weight:640;font-size:4.4rem;line-height:.82;
  font-variant-numeric:tabular-nums;letter-spacing:-.01em}

/* филиалы — кружки цветов сайта, появляются по одному */
.kalk__filialy{display:flex;align-items:center;gap:.4rem;height:2rem}
.kalk__filialy i{flex:none;width:1.55rem;height:1.55rem;border-radius:50%;box-shadow:inset 0 0 0 1.5px rgba(240,233,221,.16);
  transition:background .35s,box-shadow .35s,transform .45s cubic-bezier(.34,1.56,.64,1)}
.kalk__filialy i.est{background:var(--c);box-shadow:none;transform:scale(1)}
.kalk__filialy i:not(.est){transform:scale(.72)}
.kalk__plus{flex:none;margin-left:.15rem;font:640 1.5rem/1 var(--r-zag);font-stretch:38%;color:var(--s2);opacity:0;transform:translateX(-.3rem);transition:opacity .3s,transform .3s}
.kalk__plus.est{opacity:1;transform:none}

/* ползунок */
.kalk__polzunok{--p:0;-webkit-appearance:none;appearance:none;width:100%;height:1.6rem;margin:0;background:transparent;cursor:pointer}
.kalk__polzunok::-webkit-slider-runnable-track{height:4px;border-radius:4px;
  background:linear-gradient(90deg,var(--s2) calc(var(--p)*100%),rgba(240,233,221,.16) calc(var(--p)*100%))}
.kalk__polzunok::-moz-range-track{height:4px;border-radius:4px;background:rgba(240,233,221,.16)}
.kalk__polzunok::-moz-range-progress{height:4px;border-radius:4px;background:var(--s2)}
.kalk__polzunok::-webkit-slider-thumb{-webkit-appearance:none;width:1.45rem;height:1.45rem;margin-top:calc(2px - .725rem);border-radius:50%;
  background:var(--r-temn-t);box-shadow:0 0 0 4px rgba(43,33,25,.9),0 2px 10px rgba(0,0,0,.4);transition:transform .15s}
.kalk__polzunok::-moz-range-thumb{width:1.45rem;height:1.45rem;border:0;border-radius:50%;background:var(--r-temn-t);box-shadow:0 0 0 4px rgba(43,33,25,.9)}
.kalk__polzunok:active::-webkit-slider-thumb{transform:scale(1.12)}
.kalk__shkala{position:relative;height:1rem;margin-top:-.9rem;font-size:.8rem;color:rgba(240,233,221,.45);font-variant-numeric:tabular-nums}
.kalk__shkala span{position:absolute;top:0;left:calc(.725rem + var(--p) * (100% - 1.45rem));transform:translateX(-50%);white-space:nowrap}
.kalk__prim{margin:0;padding-top:1.1rem;border-top:1px solid rgba(240,233,221,.12);font-size:.92rem;line-height:1.4;color:rgba(240,233,221,.6)}

/* ── карточки тарифов ── */
.tarify-plany{padding-top:clamp(1rem,2vw,1.5rem)}
.plany{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:1rem;row-gap:0;align-items:stretch}
.plan{position:relative;display:grid;grid-row:span 8;grid-template-rows:subgrid;row-gap:1.15rem;align-content:start;padding:1.6rem 1.6rem 1.75rem;border-radius:var(--r-rad);
  background:var(--r-karta);transition:transform .45s cubic-bezier(.22,1,.36,1),box-shadow .45s}
.plan:hover{transform:translateY(-4px);box-shadow:0 24px 48px -30px rgba(43,33,25,.35)}
.plan--glavn{box-shadow:inset 0 0 0 2px var(--r-temn)}
.plan--glavn:hover{box-shadow:inset 0 0 0 2px var(--r-temn),0 24px 48px -30px rgba(43,33,25,.35)}

.plan__ris{display:flex;align-items:center;gap:1.1rem;min-height:7.5rem;margin:-.2rem 0 .1rem}
.plan__chasti{display:flex;flex-direction:column;gap:.35rem;font-size:.86rem;line-height:1.2;color:var(--r-tekst2)}
.plan__chasti span{display:flex;align-items:center;gap:.45rem}
.plan__chasti span::before{content:"";flex:none;width:.55rem;height:.55rem;border-radius:50%;background:var(--c)}

/* круги частей системы: наложены, цвет умножается (как в разделах сайта) */
.krugi{flex:none;display:block;overflow:visible}
.krugi--bolshoy{width:7.5rem;height:7.5rem}
.krugi--malyy{width:2.1rem;height:2.1rem}
.krug{fill:var(--c);mix-blend-mode:multiply;transform-box:fill-box;transform-origin:center;
  transition:transform .7s cubic-bezier(.34,1.4,.64,1) calc(var(--i)*70ms)}
.plan:hover .krug--0{transform:translate(-3px,-3px)}
.plan:hover .krug--1{transform:translate(3px,-3px)}
.plan:hover .krug--2{transform:translate(-3px,3px)}
.plan:hover .krug--3{transform:translate(3px,3px)}
.plan[data-kod="bazovyy"]:hover .krug--0{transform:scale(1.07)}
.plan[data-kod="pro"]:hover .krug--0{transform:translateX(-4px)}
.plan[data-kod="pro"]:hover .krug--1{transform:translateX(4px)}
html.tarify-js .plan:not(.vidno) .krug{transform:scale(0)}
.plan.vidno .krug{animation:krug-poyav .8s cubic-bezier(.34,1.56,.64,1) both;animation-delay:calc(120ms + var(--i)*110ms)}
@keyframes krug-poyav{from{transform:scale(0)}to{transform:scale(1)}}

.plan__shapka{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem .75rem}
.plan__imya{margin:0;font-family:var(--r-zag);font-stretch:38%;font-weight:640;font-size:2.6rem;line-height:.88;letter-spacing:-.01em;color:var(--r-tekst)}
.plan__metka{padding:.32rem .7rem;border-radius:100vw;background:var(--r-temn);color:var(--r-temn-t);font-size:.8rem;line-height:1}
.plan__kratko{margin:0;font-size:1rem;line-height:1.4;color:var(--r-tekst2)}

.plan__cena{display:flex;flex-direction:column;gap:.35rem;padding-top:1.1rem;border-top:1px solid var(--r-liniya)}
.plan__chislo{display:inline-block;font-family:var(--r-zag);font-stretch:38%;font-weight:640;font-size:3.5rem;line-height:.86;
  letter-spacing:-.01em;font-variant-numeric:tabular-nums;color:var(--r-tekst)}
.plan__ed{font-size:.9rem;color:var(--r-tekst2)}
.plan--ind .plan__ed{visibility:hidden}
.plan__chislo.smena{animation:cena-smena .5s cubic-bezier(.22,1,.36,1)}
@keyframes cena-smena{from{opacity:0;transform:translateY(.28em)}to{opacity:1;transform:none}}

.plan__itog{margin:0;padding:.8rem .95rem;border-radius:.95rem;background:rgba(43,33,25,.045);font-size:.92rem;line-height:1.45;color:var(--r-tekst2)}
.plan__itog b{font-weight:600;color:var(--r-tekst);font-variant-numeric:tabular-nums}

.plan__stupeni{display:flex;flex-direction:column;margin:0;padding:0;list-style:none;font-size:.88rem}
.plan__stupeni li{display:flex;justify-content:space-between;gap:1rem;padding:.42rem 0;border-bottom:1px dashed var(--r-liniya);color:var(--r-tekst2);
  transition:color .3s}
.plan__stupeni li:last-child{border-bottom:0}
.plan__stupeni b{font-weight:500;font-variant-numeric:tabular-nums}
.plan__stupeni li.akt{color:var(--r-tekst)}
.plan__stupeni li.akt span{display:flex;align-items:center;gap:.45rem}
.plan__stupeni li.akt span::before{content:"";width:.45rem;height:.45rem;border-radius:50%;background:var(--r-tekst)}
.plan__stupeni li.akt b{font-weight:640}

/* «Что входит»: услуги тарифа из состава; у старших — «Всё из …, плюс:» и только новые, по частям системы */
.plan__vhodit{padding-top:1.05rem;border-top:1px solid var(--r-liniya)}
.plan__vh-zag{margin:0 0 .75rem;font-family:var(--r-zag);font-stretch:38%;font-weight:640;font-size:1.5rem;line-height:1;color:var(--r-tekst)}
.plan__vh-pred{margin:-.25rem 0 .8rem;font-size:.95rem;font-weight:600;color:var(--r-tekst)}
.plan__vh{display:flex;flex-direction:column;gap:.55rem;margin:0;padding:0;list-style:none;font-size:.97rem;line-height:1.32;color:var(--r-tekst)}
.plan__vh .vh-p{display:grid;grid-template-columns:.55rem minmax(0,1fr);column-gap:.6rem}
.plan__vh .vh-p::before{content:"";width:.55rem;height:.55rem;margin-top:.36em;border-radius:50%;background:var(--c)}
.plan__vh .vh-p--skoro{color:var(--r-tekst2)}
.plan__vh .vh-p--skoro::before{background:transparent;box-shadow:inset 0 0 0 1.5px var(--c)}
.plan__vh .vh-gr{display:flex;align-items:center;gap:.45rem;margin-top:.5rem;font-size:.84rem;font-weight:600;color:var(--r-tekst2)}
.plan__vh .vh-gr:first-child{margin-top:0}
.plan__skoro{display:inline-block;margin-left:.3rem;padding:.1rem .45rem;border-radius:100vw;box-shadow:inset 0 0 0 1px rgba(43,33,25,.28);
  font-size:.72rem;line-height:1.15;color:var(--r-tekst2);vertical-align:.1em;white-space:nowrap}
.plan__eshche > summary{display:inline-flex;align-items:center;gap:.5rem;margin-top:.8rem;list-style:none;cursor:pointer;font-size:.92rem;font-weight:600;
  color:var(--r-tekst);border-bottom:1px solid currentColor;padding-bottom:.1rem}
.plan__eshche > summary::-webkit-details-marker{display:none}
.plan__eshche > summary::after{content:"";width:.4rem;height:.4rem;border-right:1.5px solid;border-bottom:1.5px solid;transform:translateY(-.12rem) rotate(45deg);transition:transform .25s}
.plan__eshche[open] > summary{display:none}
.plan__eshche .plan__vh{margin-top:.55rem}
.plan__kn{align-self:end}

/* ── варианты рисунка карточки (nastrojki.json → tarify.vid_kartochek; доска — tarify-varianty.html) ── */
/* общее: подписи частей — всех четырёх; чего нет в тарифе — контуром и бледно */
.plan__chasti span.net{color:rgba(43,33,25,.38)}
.plan__chasti span.net::before{background:transparent;box-shadow:inset 0 0 0 1.5px var(--c);opacity:.7}

/* 1 и 5: четыре круга, недостающие — тонким пунктирным контуром */
.krug--net{fill:transparent;stroke:rgba(43,33,25,.24);stroke-width:1.1;stroke-dasharray:2.6 2.4;mix-blend-mode:normal}

/* 2: клевер из точек */
.krugi--tochki{overflow:visible}
.tochka{fill:var(--c);transform-box:fill-box;transform-origin:center}
.tochka--net{fill:rgba(43,33,25,.13)}
html.tarify-js .plan:not(.vidno) .tochka{transform:scale(0)}
.plan.vidno .tochka{animation:tochka-poyav .55s cubic-bezier(.34,1.56,.64,1) both;animation-delay:calc(var(--d) * 9ms)}
.plan:hover .tochka:not(.tochka--net){animation:tochka-volna 1.3s ease-in-out infinite;animation-delay:calc(var(--d) * 14ms)}
@keyframes tochka-poyav{from{transform:scale(0)}to{transform:scale(1)}}
@keyframes tochka-volna{0%,100%{transform:scale(1)}40%{transform:scale(1.38)}}

/* 3: плашки частей; Максимум — тёмная карточка */
.plany--v3 .plan__ris{display:block;min-height:0;margin:0}
.polosa{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.4rem}
.polosa__ch{display:flex;align-items:center;min-height:2.6rem;padding:.55rem .8rem;border-radius:.85rem;background:var(--c);color:#2b2119;
  font-size:.92rem;font-weight:600;line-height:1.15}
.polosa__ch--net{background:transparent;box-shadow:inset 0 0 0 1.5px rgba(43,33,25,.18);color:rgba(43,33,25,.4);font-weight:500}

/* 4: волна точек */
.plany--v4 .plan__ris{flex-direction:column;align-items:stretch;gap:.9rem}
.plany--v4 .plan__chasti{display:grid;grid-template-columns:repeat(2,minmax(0,max-content));gap:.35rem 1.2rem}
.krugi--volna{width:100%;height:5.6rem}
.volna__kol{fill:var(--c);transform-box:fill-box;transform-origin:center;animation:volna-kol 2.6s ease-in-out infinite;animation-delay:calc(var(--i) * -.14s)}
@keyframes volna-kol{0%,100%{transform:scaleY(1)}50%{transform:scaleY(.82)}}
html.tarify-js .plany--v4 .plan:not(.vidno) .volna__kol{opacity:0}
.plany--v4 .plan.vidno .volna__kol{transition:opacity .5s calc(var(--i) * 30ms)}

/* тёмная карточка (5 — все, 3 — Максимум) */
.plany--v5 .plan,.plany--v3 .plan--glavn{background:var(--r-temn);color:var(--r-temn-t)}
.plany--v5 .plan--glavn{box-shadow:inset 0 0 0 2px var(--s2)}
.plany--v3 .plan--glavn{box-shadow:none}
:is(.plany--v5 .plan,.plany--v3 .plan--glavn) :is(.plan__imya,.plan__chislo){color:var(--r-temn-t)}
:is(.plany--v5 .plan,.plany--v3 .plan--glavn) :is(.plan__kratko,.plan__ed,.plan__chasti){color:rgba(240,233,221,.62)}
:is(.plany--v5 .plan,.plany--v3 .plan--glavn) .plan__chasti span.net{color:rgba(240,233,221,.3)}
:is(.plany--v5 .plan,.plany--v3 .plan--glavn) :is(.plan__cena,.plan__vhodit){border-color:rgba(240,233,221,.14)}
:is(.plany--v5 .plan,.plany--v3 .plan--glavn) :is(.plan__vh,.plan__vh-zag,.plan__vh-pred,.plan__eshche > summary){color:var(--r-temn-t)}
:is(.plany--v5 .plan,.plany--v3 .plan--glavn) :is(.vh-gr,.vh-p--skoro,.plan__skoro){color:rgba(240,233,221,.55)}
:is(.plany--v5 .plan,.plany--v3 .plan--glavn) .plan__itog{background:rgba(240,233,221,.07);color:rgba(240,233,221,.66)}
:is(.plany--v5 .plan,.plany--v3 .plan--glavn) .plan__itog b{color:var(--r-temn-t)}
:is(.plany--v5 .plan,.plany--v3 .plan--glavn) .plan__stupeni li{border-color:rgba(240,233,221,.14);color:rgba(240,233,221,.55)}
:is(.plany--v5 .plan,.plany--v3 .plan--glavn) .plan__stupeni li.akt{color:var(--r-temn-t)}
:is(.plany--v5 .plan,.plany--v3 .plan--glavn) .plan__stupeni li.akt span::before{background:var(--r-temn-t)}
:is(.plany--v5 .plan,.plany--v3 .plan--glavn) .plan__metka{background:var(--s2);color:#2b2119}
:is(.plany--v5 .plan,.plany--v3 .plan--glavn) .r-kn{background:var(--r-temn-t);color:var(--r-temn)}
:is(.plany--v5 .plan,.plany--v3 .plan--glavn) .r-kn--vtor{background:rgba(240,233,221,.12);color:var(--r-temn-t)}
.plany--v5 .krug{mix-blend-mode:screen}
.plany--v5 .krug--net{stroke:rgba(240,233,221,.28)}
.plany--v3 .plan--glavn .polosa__ch--net{box-shadow:inset 0 0 0 1.5px rgba(240,233,221,.22);color:rgba(240,233,221,.45)}

/* доска вариантов */
.doska__v{margin:0 0 clamp(4rem,7vw,6rem)}
.doska__zag{margin:0;font-family:var(--r-zag);font-stretch:38%;font-weight:640;font-size:clamp(2.2rem,3.4vw,3rem);line-height:.9;color:var(--r-tekst)}
.doska__pod{margin:.6rem 0 1.6rem;max-width:40rem;font-size:1.02rem;line-height:1.4;color:var(--r-tekst2)}

/* ── состав ── */
.sostav{margin-top:clamp(2rem,3vw,2.75rem);padding:.4rem clamp(1rem,2vw,1.75rem) 1.25rem;border-radius:var(--r-rad);background:var(--r-karta)}
.sostav__tabl{width:100%;border-collapse:collapse;font-size:1rem;line-height:1.35}
.sostav__tabl thead th{padding:1.4rem .5rem 1.1rem;vertical-align:bottom;text-align:center;font-weight:600;font-size:1rem;color:var(--r-tekst);
  border-bottom:1px solid var(--r-liniya)}
.sostav__ikonka{display:flex;justify-content:center;margin-bottom:.5rem}
.sostav__tabl tbody th{padding:.8rem 1rem .8rem 0;text-align:left;font-weight:400;color:var(--r-tekst)}
.sostav__tabl td{width:8.5rem;padding:.8rem .5rem;text-align:center;vertical-align:middle}
.sostav__tabl tbody tr:not(.sostav__razdel) > *{border-top:1px solid var(--r-liniya)}
.sostav__tabl tbody tr.sostav__razdel + tr > *{border-top:0}
.sostav__tabl tbody tr:not(.sostav__razdel):hover > *{background:rgba(43,33,25,.025)}
.sostav__razdel th{padding:1.9rem 0 .7rem;font-family:var(--r-zag);font-stretch:38%;font-weight:640;font-size:1.65rem;line-height:1;color:var(--r-tekst)}
.sostav__razdel th i{display:inline-block;width:.75rem;height:.75rem;margin-right:.6rem;border-radius:50%;background:var(--c);vertical-align:.12em}
.sostav__da{display:inline-block;width:.9rem;height:.9rem;border-radius:50%;background:var(--c);vertical-align:middle}
.sostav__da--skoro{background:transparent;box-shadow:inset 0 0 0 2px var(--c)}
.sostav__net{display:inline-block;width:.8rem;height:2px;border-radius:2px;background:rgba(43,33,25,.2);vertical-align:middle}
.sostav__skoro{display:inline-block;margin-left:.4rem;padding:.14rem .5rem;border-radius:100vw;box-shadow:inset 0 0 0 1px rgba(43,33,25,.28);
  font-size:.74rem;line-height:1.15;color:var(--r-tekst2);vertical-align:.12em;white-space:nowrap}
tr.sostav--skoro th{color:var(--r-tekst2)}
.sostav__legenda{display:flex;flex-wrap:wrap;gap:.6rem 1.6rem;margin:1rem 0 0;font-size:.88rem;color:var(--r-tekst2)}
.sostav__legenda > span{display:flex;align-items:center;gap:.5rem}
html.tarify-js .sostav:not(.vidno) .sostav__da{transform:scale(0)}
.sostav.vidno .sostav__da{transition:transform .5s cubic-bezier(.34,1.56,.64,1);transform:scale(1)}

/* ── как начать: три шага по пунктиру ── */
.shagi{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:clamp(2rem,3vw,2.75rem) 0 0;padding:0;list-style:none}
.shagi::before{content:"";position:absolute;left:1.6rem;right:1.6rem;top:1.6rem;border-top:1.5px dotted var(--r-punktir)}
.shag{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:.8rem;padding-right:1rem}
.shag__nom{display:grid;place-items:center;width:3.2rem;height:3.2rem;border-radius:50%;background:var(--c);
  font-family:var(--r-zag);font-stretch:38%;font-weight:640;font-size:1.7rem;line-height:1;color:var(--r-tekst);box-shadow:0 0 0 .5rem var(--r-fon)}
.shag__srok{margin-top:.4rem;padding:.3rem .65rem;border-radius:100vw;background:var(--r-seryy);font-size:.82rem;line-height:1;color:var(--r-tekst)}
.shag__zag{margin:0;font-family:var(--r-zag);font-stretch:38%;font-weight:640;font-size:2.1rem;line-height:.9;color:var(--r-tekst)}
.shag p{margin:0;max-width:22rem;font-size:1rem;line-height:1.45;color:var(--r-tekst2)}

/* ── дополнительно ── */
.dopy{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,19rem),1fr));gap:1rem;margin:clamp(2rem,3vw,2.75rem) 0 0;padding:0;list-style:none}
.dop{display:flex;flex-direction:column;gap:.55rem;padding:1.4rem 1.5rem 1.5rem;border-radius:var(--r-rad);background:var(--r-karta);
  transition:transform .45s cubic-bezier(.22,1,.36,1),box-shadow .45s}
.dop:hover{transform:translateY(-3px);box-shadow:0 20px 40px -30px rgba(43,33,25,.35)}
.dop__c{font-family:var(--r-zag);font-stretch:38%;font-weight:640;font-size:2.05rem;line-height:.95;color:var(--r-tekst);font-variant-numeric:tabular-nums}
.dop__t{font-size:1.06rem;font-weight:600;line-height:1.3;color:var(--r-tekst)}
.dop__k{font-size:.95rem;line-height:1.4;color:var(--r-tekst2)}

/* ── узкие экраны ── */
@media (max-width:1100px){
  .plany{grid-template-columns:minmax(0,1fr) minmax(0,1fr);row-gap:1rem}
  .plan{display:flex;flex-direction:column;grid-row:auto}
  .plan__kn{margin-top:auto}
  .plan--glavn{grid-column:1 / -1}
}
@media (max-width:900px){
  .tarify-rubl{grid-template-columns:minmax(0,1fr);border-radius:1.6rem}
  .tarify-rubl__holst{min-height:17rem;margin:-.5rem 0 -1rem}
  .shagi{grid-template-columns:minmax(0,1fr);gap:1.6rem}
  .shagi::before{left:1.6rem;right:auto;top:1.6rem;bottom:1.6rem;border-top:0;border-left:1.5px dotted var(--r-punktir)}
  .shag{display:grid;grid-template-columns:3.2rem minmax(0,1fr);column-gap:1rem;row-gap:.5rem;padding-right:0}
  .shag__nom{grid-row:1 / span 3}
  .shag__srok{margin-top:.2rem;justify-self:start}
}
@media (max-width:720px){
  .plany{grid-template-columns:minmax(0,1fr)}
  .plan{padding:1.35rem 1.25rem 1.5rem}
  .plan__imya{font-size:2.3rem}
  .plan__chislo{font-size:3.1rem}
  .krugi--bolshoy{width:6rem;height:6rem}
  .plan__ris{min-height:6rem}
  .kalk__chislo{font-size:3.6rem}
  .kalk__filialy i{width:1.25rem;height:1.25rem}
  .kalk__filialy{gap:.28rem}
  .sostav{padding:.2rem .75rem 1rem}
  .sostav__tabl{font-size:.9rem}
  .sostav__tabl thead th{padding:1rem .15rem .75rem;font-size:.78rem}
  .krugi--malyy{width:1.5rem;height:1.5rem}
  .sostav__tabl tbody th{padding:.7rem .5rem .7rem 0}
  .sostav__tabl td{width:2.6rem;padding:.7rem .1rem}
  .sostav__razdel th{font-size:1.35rem;padding-top:1.5rem}
  .sostav__skoro{margin-left:.3rem}
}
@media (prefers-reduced-motion:reduce){
  .plan,.dop,.krug,.kalk__filialy i,.kalk__plus{transition:none}
  .plan.vidno .krug{animation:none}
}
