/* «Тасымал» — внешний вид. Белый «сервисный» сайт: светло-серые подложки, белые карточки со скруглениями,
   свой сине-зелёный цвет для кнопок и акцентов, жёлтый — только для отметок. Шрифт Golos Text.
   Цвета — токены ниже: поменяйте --accent* и --sun, чтобы перекрасить сайт. */
:root {
  --bg: #fff; --fg: #14211d; --muted: #56635e; --line: #e1e7e4; --soft: #f1f4f3; --soft-2: #e6ecea;
  --accent: #08875b; --accent-ink: #fff; --accent-dk: #066b48; --accent-2: #12b07a; --accent-soft: #e2f3eb; --accent-text: #06714c;
  --sun: #ffd23f; --sun-soft: #fff5d1; --sun-ink: #3d3100; --sky: #dbecf3; --sky-ink: #1d5c85; --night: #0f1a17;
  --bad: #c8341f; --ok: #08875b;
  --radius: 20px; --radius-sm: 14px; --radius-btn: 12px; --wrap: 1240px; --pad: 32px; --gap: 20px;
  --font-body: 'Golos Text', system-ui, -apple-system, 'Segoe UI', sans-serif; --font-head: var(--font-body);
  --step-3: clamp(26px, 2.7vw, 38px); --step-4: clamp(32px, 4.2vw, 54px);
  --shadow: 0 1px 2px rgba(15, 26, 23, .04), 0 8px 28px rgba(15, 26, 23, .06);
  --shadow-up: 0 2px 4px rgba(15, 26, 23, .05), 0 16px 40px rgba(15, 26, 23, .1);
  --top-h: 72px;
}
body { font-size: 16px; font-feature-settings: 'tnum' 0; }
h1, h2, h3, h4 { font-weight: 600; letter-spacing: -.018em; }
h3 { line-height: 1.25; }
::selection { background: var(--accent-soft); }
.ic { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; flex: none; display: inline-block; vertical-align: middle; }
.small { color: var(--muted); }
.sec .small { margin-top: 14px; }
b, strong { font-weight: 600; }

/* ——— кнопки ——— */
.btn { font-weight: 600; font-size: 15px; letter-spacing: .005em; border-width: 1.5px; }
.btn:hover { filter: none; background: var(--accent-dk); border-color: var(--accent-dk); }
.btn .ic, .btn svg { width: 19px; height: 19px; stroke-width: 2; }
.btn--sm { min-height: 40px; padding: 0 16px; font-size: 14px; gap: 8px; }
.btn--lg { min-height: 56px; padding: 0 28px; font-size: 16px; }
.btn--line { background: transparent; color: var(--accent-text); border-color: var(--accent); }
.btn--line:hover { background: var(--accent-soft); color: var(--accent-dk); border-color: var(--accent-dk); }
.btn--white { background: #fff; color: var(--accent-dk); border-color: #fff; }
.btn--white:hover { background: var(--accent-soft); border-color: var(--accent-soft); color: var(--accent-dk); }
.btn--ghost-light { background: transparent; color: #fff; border-color: rgba(255, 255, 255, .55); }
.btn--ghost-light:hover { background: rgba(255, 255, 255, .12); border-color: #fff; }
.btn--icon { width: 52px; min-height: 52px; padding: 0; flex: none; }
.link { display: inline-flex; align-items: center; gap: 6px; color: var(--accent-text); font-weight: 600; text-decoration: none; transition: gap .2s; }
.link .ic { width: 18px; height: 18px; stroke-width: 2; }
.link:hover { gap: 10px; color: var(--accent-dk); }
button.link { background: none; border: 0; padding: 0; font: inherit; font-weight: 600; cursor: pointer; }
a { text-underline-offset: 3px; }
:focus-visible { outline-color: var(--accent); }

/* ——— шапка ——— */
.seg { background: #fff; border-bottom: 1px solid var(--line); font-size: 12.5px; }
.seg__in { display: flex; justify-content: space-between; align-items: stretch; min-height: 40px; }
.seg__nav { display: flex; }
.seg__nav a { display: flex; align-items: center; padding: 0 14px; text-transform: uppercase; letter-spacing: .06em; font-weight: 600; color: var(--muted); text-decoration: none; box-shadow: inset 0 -2px 0 transparent; transition: color .2s, box-shadow .2s; }
.seg__nav a:first-child { padding-left: 0; }
.seg__nav a:hover { color: var(--fg); }
.seg__nav a.is-on { color: var(--fg); box-shadow: inset 0 -2px 0 var(--accent); }
.seg__aux { display: flex; gap: 22px; align-items: center; }
.seg__aux a { display: inline-flex; gap: 6px; align-items: center; color: var(--muted); text-decoration: none; font-size: 13px; }
.seg__aux a:hover { color: var(--accent-text); }
.seg__aux .ic { width: 16px; height: 16px; }

.top { background: rgba(255, 255, 255, .97); border-bottom: 1px solid var(--line); transition: box-shadow .25s; }
.top.is-scrolled { box-shadow: 0 6px 24px rgba(15, 26, 23, .07); }
.top__in { display: flex; align-items: center; gap: 28px; min-height: var(--top-h); }
.logo { display: inline-flex; align-items: center; gap: 11px; text-decoration: none; color: var(--fg); flex: none; }
.mark { width: 40px; height: 40px; flex: none; }
.mark__bg { fill: var(--accent); }
.mark__ln { stroke: #fff; stroke-width: 4; stroke-linecap: round; stroke-linejoin: round; }
.mark__dot { fill: var(--sun); }
.logo__t { display: grid; font-size: 22px; font-weight: 700; letter-spacing: -.03em; line-height: 1.05; }
.logo__t small { font-size: 11.5px; font-weight: 500; letter-spacing: 0; color: var(--muted); margin-top: 3px; }
.logo--light { color: #fff; }
.logo--light .logo__t small { color: rgba(255, 255, 255, .62); }
.nav { display: flex; gap: 2px; }
.nav a { padding: 9px 13px; border-radius: 10px; text-decoration: none; font-weight: 500; font-size: 15px; color: var(--fg); transition: background .2s, color .2s; white-space: nowrap; }
.nav a:hover { background: var(--soft); }
.nav a.is-on { background: var(--accent-soft); color: var(--accent-text); }
.top__act { margin-left: auto; display: flex; align-items: center; gap: 10px; }
.top__tel { display: grid; text-decoration: none; font-weight: 600; font-size: 15px; line-height: 1.2; margin-right: 8px; white-space: nowrap; }
.top__tel small { font-size: 12px; font-weight: 400; color: var(--muted); }
.burger { display: none; width: 44px; height: 44px; border: 0; background: var(--soft); border-radius: 12px; padding: 0; flex-direction: column; align-items: center; justify-content: center; gap: 4px; }
.burger span { width: 18px; height: 2px; background: var(--fg); border-radius: 2px; }

/* мобильное меню */
.mnav { padding-top: 16px; }
.mnav ul { gap: 0; }
.mnav li a { display: flex; justify-content: space-between; align-items: center; padding: 14px 0; border-bottom: 1px solid var(--line); font-size: 19px; font-weight: 500; }
.mnav li a .ic { color: var(--accent); }
.mnav li a[aria-current] { color: var(--accent-text); }
.mnav__foot .btn { gap: 10px; }

/* ——— общие блоки ——— */
.card { background: #fff; border-radius: var(--radius); box-shadow: var(--shadow); padding: 28px; }
.sec { padding: 88px 0; }
.sec--soft { background: var(--soft); }
.sec--tight { padding: 40px 0 80px; }
.sec--flush { padding-top: 8px; }
/* соседние секции одного цвета не удваивают отступ */
.sec:not(.sec--soft):not(.sec--calc):not(.sec--track) + .sec:not(.sec--soft):not(.sec--calc):not(.sec--track), .sec--soft + .sec--soft, .sec--track + .sec--soft { padding-top: 0; }
.sec__head { margin-bottom: 32px; }
.sec__head h2 { font-size: var(--step-3); }
.sec__head p { color: var(--muted); font-size: 17px; margin: 10px 0 0; max-width: 62ch; }
.sec__head--row { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px 24px; flex-wrap: wrap; }
.sec__all { margin: 26px 0 0; }
.kicker { display: inline-flex; align-items: center; gap: 8px; margin: 0; font-size: 13px; font-weight: 600; letter-spacing: .07em; text-transform: uppercase; color: var(--accent-text); }
.kicker .ic { width: 18px; height: 18px; }
.kicker--light { color: #b8f0d5; }
.badge { display: inline-flex; align-items: center; padding: 4px 10px; border-radius: 999px; background: var(--sun); color: var(--sun-ink); font-size: 12.5px; font-weight: 600; white-space: nowrap; }
.ticks { list-style: none; padding: 0; display: grid; gap: 10px; }
.ticks li { display: flex; gap: 10px; align-items: flex-start; }
.ticks .ic { width: 18px; height: 18px; color: var(--accent); margin-top: 3px; stroke-width: 2.2; }
.two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: start; }
.h2s { font-size: clamp(24px, 2.2vw, 30px); margin-bottom: 22px; }

/* поля (калькуляторы) */
.fld { display: grid; align-content: start; min-width: 0; }
.fld > label, .fld__l { display: block; font-size: 13.5px; color: var(--muted); margin-bottom: 7px; }
.fld__sel { position: relative; }
.fld__sel .ic { position: absolute; right: 14px; top: 50%; transform: translateY(-50%); width: 18px; height: 18px; color: var(--muted); pointer-events: none; }
.fld select, .fld input, .csearch input, .trk-mini input {
  width: 100%; min-height: 52px; padding: 0 16px; border: 1.5px solid transparent; border-radius: 12px; background: var(--soft); color: var(--fg); font-size: 16px; transition: border-color .2s, background .2s; }
.fld select { appearance: none; -webkit-appearance: none; padding-right: 42px; text-overflow: ellipsis; }
.fld select:hover, .fld input:hover { background: var(--soft-2); }
.fld select:focus, .fld input:focus, .csearch input:focus, .trk-mini input:focus { outline: none; border-color: var(--accent); background: #fff; }
input[type=number] { -moz-appearance: textfield; }
input[type=number]::-webkit-inner-spin-button, input[type=number]::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.field input, .field select, .field textarea { border-radius: 12px; border: 1.5px solid transparent; background: var(--soft); }
.field input:focus, .field select:focus, .field textarea:focus { outline: none; border-color: var(--accent); background: #fff; }
.field select { appearance: none; -webkit-appearance: none; padding-right: 40px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2356635e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 14px center; background-size: 18px; }
.field.is-bad input, .field.is-bad textarea { border-color: var(--bad); }
.field > span { color: var(--muted); }
.lead__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.lead .btn { min-height: 54px; }
.lead .small { margin: 0; }

/* переключатель */
.switch { display: inline-flex; align-items: center; gap: 10px; cursor: pointer; font-size: 15px; position: relative; }
.switch input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.switch__ui { position: relative; width: 42px; height: 24px; border-radius: 12px; background: #cbd6d1; transition: background .2s; flex: none; }
.switch__ui::after { content: ''; position: absolute; left: 3px; top: 3px; width: 18px; height: 18px; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(0, 0, 0, .2); transition: transform .2s; }
.switch input:checked + .switch__ui { background: var(--accent); }
.switch input:checked + .switch__ui::after { transform: translateX(18px); }
.switch input:focus-visible + .switch__ui { outline: 2px solid var(--accent); outline-offset: 3px; }

/* ——— главная: первый экран ——— */
.hero { background: var(--soft); padding: 20px 0 44px; }
.notes { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 26px; }
.note { display: inline-flex; align-items: center; gap: 8px; padding: 7px 14px; border-radius: 999px; background: #fff; border: 1px solid var(--line); font-size: 13.5px; }
.note .ic { width: 17px; height: 17px; color: var(--accent); }
.note--sun { background: var(--sun-soft); border-color: #f0dc95; }
.note--sun .ic { color: #8a6d00; }
.hero__banner { display: grid; grid-template-columns: 1.02fr 1fr; gap: 48px; align-items: center; padding-bottom: 44px; }
.hero h1 { font-size: var(--step-4); margin: 14px 0 18px; letter-spacing: -.028em; line-height: 1.06; }
.hero__lead { font-size: 18px; color: var(--muted); max-width: 52ch; margin: 0; }
.hero__btns { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.hero__facts { list-style: none; padding: 22px 0 0; margin: 30px 0 0; display: flex; flex-wrap: wrap; gap: 14px 36px; border-top: 1px solid var(--line); }
.hero__facts li { display: grid; gap: 1px; }
.hero__facts b { font-size: 22px; letter-spacing: -.02em; }
.hero__facts span { font-size: 14px; color: var(--muted); }
.hero__pic { position: relative; }
.hero__pic img { width: 100%; aspect-ratio: 16 / 12; object-fit: cover; border-radius: 28px; }
.ticket { position: absolute; left: -28px; bottom: -26px; display: grid; gap: 3px; padding: 16px 20px; min-width: 250px; background: #fff; border-radius: 18px; box-shadow: var(--shadow-up); font-size: 14px; }
.ticket__k { display: inline-flex; gap: 6px; align-items: center; color: var(--muted); font-size: 12.5px; }
.ticket__k .ic { width: 16px; height: 16px; color: var(--accent); }
.ticket__r { display: flex; align-items: center; gap: 10px; font-size: 19px; font-weight: 600; letter-spacing: -.01em; }
.ticket__r i { flex: 1; min-width: 30px; height: 2px; background: repeating-linear-gradient(90deg, var(--accent) 0 6px, transparent 6px 10px); position: relative; }
.ticket__r i::after { content: ''; position: absolute; right: -3px; top: -3px; width: 8px; height: 8px; border-radius: 50%; background: var(--accent); }
.ticket__m { color: var(--muted); }
.ticket__p { color: var(--accent-text); font-weight: 600; }

.tools { display: grid; grid-template-columns: 1fr 380px; gap: var(--gap); }
.card__head { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; flex-wrap: wrap; }
.card__t { font-size: 24px; }
.card__more { display: inline-flex; align-items: center; gap: 6px; color: var(--accent-text); font-size: 14.5px; font-weight: 600; text-decoration: none; }
.card__more .ic { width: 17px; height: 17px; }
.mini__row { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 14px; margin-top: 20px; }
.quick { display: flex; flex-wrap: wrap; gap: 2px 12px; margin-top: 8px; }
.quick button { background: none; border: 0; padding: 2px 0; font-size: 13px; color: var(--muted); text-decoration: underline; text-decoration-style: dotted; text-underline-offset: 3px; }
.quick button:hover { color: var(--accent-text); }
.mini__foot { display: flex; align-items: center; gap: 16px 22px; flex-wrap: wrap; margin-top: 22px; }
.mini__res { margin-left: auto; font-size: 15px; font-weight: 600; }
.mini__res b { color: var(--accent-text); }
.tools__side { display: grid; gap: var(--gap); align-content: start; }
.trk-mini .hint { margin-top: 6px; font-size: 14px; }
.hint summary { color: var(--accent-text); cursor: pointer; list-style: none; display: inline; }
.hint summary::-webkit-details-marker { display: none; }
.hint summary::after { content: ' ›'; }
.hint p { margin: 6px 0 0; color: var(--muted); font-size: 14px; }
.trk-mini__row { display: flex; gap: 10px; margin-top: 16px; }
.trk-mini input { text-transform: uppercase; letter-spacing: .03em; font-weight: 500; }
.trk-mini input::placeholder { text-transform: none; letter-spacing: 0; font-weight: 400; }
.trk-mini .small { margin: 12px 0 0; }
.trk-mini .small a { color: var(--accent-text); font-weight: 600; }
.promo { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 22px 24px; border-radius: var(--radius); background: linear-gradient(115deg, #0a6f4c 0%, #0b8c5f 55%, #16ad78 100%); color: #fff; text-decoration: none; transition: transform .2s, box-shadow .2s; }
.promo span { display: grid; gap: 3px; font-size: 14px; color: rgba(255, 255, 255, .86); }
.promo b { font-size: 17px; color: #fff; }
.promo .ic { width: 22px; height: 22px; }
.promo:hover { transform: translateY(-2px); box-shadow: var(--shadow-up); }
.tiles { display: grid; grid-template-columns: repeat(6, 1fr); gap: 14px; margin-top: var(--gap); }
.tile { display: grid; justify-items: center; gap: 10px; padding: 20px 10px 18px; border-radius: 16px; background: #fff; text-align: center; text-decoration: none; font-size: 14.5px; font-weight: 500; box-shadow: 0 1px 2px rgba(15, 26, 23, .04); transition: transform .2s, box-shadow .2s, color .2s; }
.tile .ic { width: 26px; height: 26px; color: var(--accent); }
.tile:hover { transform: translateY(-2px); box-shadow: var(--shadow); color: var(--accent-text); }

/* ——— услуги-вкладки ——— */
.pills { display: inline-flex; gap: 8px; flex-wrap: wrap; }
.pills [role=tab] { min-height: 42px; padding: 0 20px; border-radius: 999px; border: 0; background: var(--soft); font-size: 15px; font-weight: 500; color: var(--fg); transition: background .2s, color .2s; }
.pills [role=tab]:hover { background: var(--soft-2); }
.pills [role=tab][aria-selected=true] { background: var(--accent); color: #fff; }
.sgrid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--gap); }
.scard { position: relative; display: flex; min-height: 250px; border-radius: var(--radius); background: var(--soft); overflow: hidden; isolation: isolate; }
.scard__txt { position: relative; z-index: 1; padding: 28px 0 28px 30px; width: 62%; display: flex; flex-direction: column; align-items: flex-start; }
.scard h3 { font-size: 23px; }
.scard p { color: var(--muted); font-size: 15.5px; margin: 10px 0 0; }
.scard .scard__from { margin: auto 0 16px; padding-top: 16px; color: var(--accent-text); font-weight: 600; font-size: 15.5px; }
.scard__pic { position: absolute; right: 0; top: 0; bottom: 0; width: 38%; border-top-left-radius: 140px 100%; overflow: hidden; }
.scard__pic img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s cubic-bezier(.2, .7, .2, 1); }
.scard:hover .scard__pic img { transform: scale(1.05); }

/* ——— направления ——— */
.dirs { display: grid; grid-template-columns: 1fr 340px; gap: var(--gap); align-items: stretch; }
.dirs__map { padding: 20px 18px; display: grid; place-items: center; }
.kzmap { width: 100%; height: auto; overflow: visible; }
.kzmap__land { fill: #f3f6f5; stroke: #bccdc6; stroke-width: 1.6; stroke-linejoin: round; }
.kzmap__grid { stroke: none; }
.kzmap__dot { fill: #d2ddd8; }
.kzmap__sea, .kzmap__lake { fill: var(--sky); }
.kzmap__water { font-size: 13px; font-style: italic; fill: #4f88a3; font-family: var(--font-body); }
.kzmap__route { fill: none; stroke: var(--accent); stroke-width: 1.4; stroke-dasharray: 3 6; opacity: .45; transition: opacity .25s, stroke-width .25s; }
.kzmap__route.is-on { opacity: 1; stroke-width: 3.2; stroke-dasharray: none; }
.kzmap__routes.has-on .kzmap__route:not(.is-on) { opacity: .2; }
.kzmap__city { cursor: pointer; }
.kzmap__hit { fill: transparent; }
.kzmap__pin { fill: #fff; stroke: var(--accent); stroke-width: 2.6; transition: transform .2s, fill .2s; }
.kzmap__city--hub .kzmap__pin { fill: var(--accent); stroke: #fff; stroke-width: 3; filter: drop-shadow(0 0 0 var(--accent)); }
.kzmap__city text { font-family: var(--font-body); font-size: 14px; font-weight: 500; fill: var(--fg); paint-order: stroke; stroke: #fff; stroke-width: 4px; stroke-linejoin: round; transition: font-weight .2s; }
.kzmap__city--hub text { font-weight: 700; font-size: 16px; }
.kzmap__city:hover .kzmap__pin { fill: var(--accent-soft); }
.kzmap__city.is-on .kzmap__pin { fill: var(--sun); stroke: var(--accent-dk); transform: scale(1.45); }
.kzmap__city.is-on text { font-weight: 700; }
.kzmap__leg { fill: none; stroke: #c4d3cd; stroke-width: 3.5; stroke-linecap: round; }
.kzmap__leg--done { stroke: var(--accent); }
.kzmap__ghost { fill: #c9d6d1; }
.kzmap__city.is-start .kzmap__pin, .kzmap__city.is-via .kzmap__pin { fill: var(--accent); stroke: #fff; }
.kzmap__city.is-end .kzmap__pin { fill: #fff; stroke: var(--accent); stroke-width: 3.2; transform: scale(1.3); }
.kzmap__city.is-on text { font-size: 15px; }
.kzmap__nowdot { fill: var(--accent-dk); stroke: #fff; stroke-width: 3; }
.kzmap__nowico { fill: #fff; }
.kzmap__pulse { fill: var(--accent); opacity: .18; transform-origin: center; animation: pulse 2s ease-out infinite; }
@keyframes pulse { 0% { transform: scale(.6); opacity: .35; } 100% { transform: scale(1.6); opacity: 0; } }
.dirs__panel { display: flex; flex-direction: column; gap: 14px; }
.dirs__k { display: inline-flex; align-items: center; gap: 8px; margin: 0; color: var(--muted); font-size: 14px; }
.dirs__k .ic { color: var(--accent); width: 18px; height: 18px; }
.dirs__city { font-size: 34px; letter-spacing: -.025em; }
.dirs__dl { margin: 0; }
.dirs__dl div { display: flex; justify-content: space-between; gap: 12px; padding: 10px 0; border-bottom: 1px dashed var(--line); font-size: 15px; }
.dirs__dl dt { color: var(--muted); }
.dirs__dl dd { margin: 0; font-weight: 600; text-align: right; }
.dirs__panel .btn { margin-top: auto; }
.dirs__panel .link { align-self: center; font-size: 14.5px; }
.chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 22px 0 6px; }
.chip { min-height: 38px; padding: 0 15px; border-radius: 999px; border: 1px solid var(--line); background: #fff; font-size: 14px; color: var(--fg); transition: background .2s, border-color .2s, color .2s; }
.chip:hover { border-color: var(--accent); color: var(--accent-text); }
.chip[aria-pressed=true] { background: var(--accent); border-color: var(--accent); color: #fff; }

/* ——— шаги ——— */
.steps { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 28px; position: relative; }
.steps::before { content: ''; position: absolute; left: 28px; right: 12%; top: 27px; border-top: 2px dashed #b5d8c7; }
.step { position: relative; }
.step__n { display: inline-grid; place-items: center; width: 56px; height: 56px; border-radius: 50%; background: var(--accent); color: #fff; font-weight: 600; font-size: 17px; box-shadow: 0 0 0 8px #fff; letter-spacing: .02em; }
.step:last-child .step__n { background: var(--sun); color: var(--sun-ink); }
.step h3 { font-size: 20px; margin: 22px 0 8px; }
.step p { color: var(--muted); font-size: 15.5px; }

/* ——— тарифы ——— */
.plans { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--gap); }
.plan { display: flex; flex-direction: column; background: #fff; border-radius: var(--radius); padding: 28px; border: 1.5px solid transparent; box-shadow: var(--shadow); }
.plan--main { border-color: var(--accent); }
.plan__top { display: flex; gap: 14px; align-items: flex-start; }
.plan__top .badge { margin-left: auto; }
.plan__ic { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 50%; background: var(--accent-soft); color: var(--accent); flex: none; }
.plan__ic .ic { width: 24px; height: 24px; }
.plan h3 { font-size: 22px; }
.plan__k { margin: 2px 0 0; color: var(--muted); font-size: 14px; }
.plan__price { display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap; margin: 24px 0 18px; }
.plan__price b { font-size: 36px; letter-spacing: -.025em; }
.plan__price span { color: var(--muted); }
.plan .ticks { margin-bottom: 26px; font-size: 15px; }
.plan .btn { margin-top: auto; }
.perks { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-top: 22px; }
.perks li { display: flex; gap: 14px; align-items: center; background: #fff; border-radius: 16px; padding: 18px 20px; }
.perks .ic { width: 28px; height: 28px; color: var(--accent); }
.perks span { display: grid; font-size: 14px; color: var(--muted); }
.perks b { font-size: 15.5px; color: var(--fg); }

/* ——— баннер для бизнеса и кабинет ——— */
.biz { display: grid; grid-template-columns: 1.05fr 1fr; gap: 48px; align-items: center; padding: 52px; border-radius: 28px; background: linear-gradient(130deg, #095c40 0%, #0a7f56 50%, #12a573 100%); color: #fff; overflow: hidden; }
.biz h2 { font-size: var(--step-3); margin: 14px 0 14px; }
.biz p { color: rgba(255, 255, 255, .86); font-size: 17px; max-width: 48ch; }
.biz__btns { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 26px; }
.cab { background: #fff; color: var(--fg); border-radius: 18px; box-shadow: 0 30px 60px rgba(4, 30, 20, .3); overflow: hidden; font-size: 13.5px; }
.cab__bar { display: flex; align-items: center; gap: 6px; padding: 11px 14px; border-bottom: 1px solid var(--line); background: #fafbfb; }
.cab__bar i { width: 10px; height: 10px; border-radius: 50%; background: #dfe6e3; }
.cab__bar span { margin-left: 8px; color: var(--muted); font-size: 12.5px; }
.cab__body { padding: 16px; }
.cab__stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.cab__stats div { background: var(--soft); border-radius: 12px; padding: 10px 12px; }
.cab__stats small { display: block; color: var(--muted); font-size: 11.5px; }
.cab__stats b { font-size: 17px; white-space: nowrap; }
.cab__rows { display: grid; gap: 6px; margin-top: 12px; }
.cab__row { display: grid; grid-template-columns: 84px 1fr auto; gap: 10px; align-items: center; padding: 9px 12px; border: 1px solid var(--line); border-radius: 10px; }
.cab__n { font-weight: 600; font-variant-numeric: tabular-nums; }
.cab__r { color: var(--muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cab__s { padding: 3px 10px; border-radius: 999px; font-size: 12px; font-weight: 600; white-space: nowrap; }
.cab__s--go { background: #e4f0f8; color: var(--sky-ink); }
.cab__s--ok { background: var(--accent-soft); color: var(--accent-text); }
.cab__s--new { background: var(--sun-soft); color: #6b5400; }
.cab__btns { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.cab__btns span { padding: 7px 12px; border-radius: 9px; background: var(--soft); font-weight: 600; font-size: 12.5px; }
.cab__btns span:first-child { background: var(--accent); color: #fff; }
.cab--big { box-shadow: var(--shadow-up); font-size: 14px; }

/* ——— вопросы, заявка ——— */
.faqwrap { display: grid; grid-template-columns: 360px 1fr; gap: 48px; align-items: start; }
.faq summary { font-size: 18px; }
.faq details > div { color: var(--muted); }
.faq summary::after { color: var(--accent); }
.cta { display: grid; grid-template-columns: 1fr 1.1fr; gap: 56px; align-items: start; }
.cta__txt h2 { font-size: var(--step-3); }
.cta__txt > p { color: var(--muted); font-size: 17px; margin: 12px 0 0; max-width: 46ch; }
.cta__txt > .btn { margin-top: 24px; }
.cta__txt .faq { margin-top: 28px; }
.cta__list { list-style: none; padding: 0; display: grid; gap: 14px; margin-top: 28px; }
.cta__list li { display: flex; align-items: center; gap: 12px; font-size: 17px; }
.cta__list .ic { width: 22px; height: 22px; color: var(--accent); }
.cta__list a { font-weight: 600; text-decoration: none; }
.cta__list a:hover { color: var(--accent-text); }
.cta__form { padding: 32px; }

/* ——— подвал ——— */
.foot { background: var(--night); color: rgba(255, 255, 255, .7); padding: 68px 0 30px; font-size: 14.5px; }
.foot__grid { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1fr 1.25fr; gap: 36px; }
.foot__brand p { margin: 18px 0 22px; max-width: 34ch; }
.foot__h { color: #fff; font-weight: 600; font-size: 15px; margin-bottom: 14px; }
.foot__col ul { list-style: none; padding: 0; display: grid; gap: 10px; }
.foot a { color: rgba(255, 255, 255, .72); text-decoration: none; }
.foot a:hover { color: #fff; }
.foot__sup { display: grid; gap: 10px; align-content: start; }
.foot__sup .foot__h { margin-bottom: 4px; }
.foot .foot__tel { color: #fff; font-size: 22px; font-weight: 600; letter-spacing: -.01em; }
.foot__link { display: inline-flex; align-items: center; gap: 8px; }
.foot__link .ic { width: 18px; height: 18px; color: #3bd394; }
.foot__sup p:not(.foot__h) { margin: 6px 0 0; }
.nw { white-space: nowrap; }
.foot__bot { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px 28px; margin-top: 48px; padding-top: 22px; border-top: 1px solid rgba(255, 255, 255, .12); font-size: 13px; color: rgba(255, 255, 255, .6); }

/* ——— внутренние страницы ——— */
.phead { background: var(--soft); padding: 0 0 44px; }
.crumbs { padding: 22px 0 8px; }
.crumbs a:hover { color: var(--accent-text); }
.page-title { margin: 8px 0 14px; letter-spacing: -.028em; line-height: 1.08; }
.phead__lead { font-size: 18px; color: var(--muted); max-width: 64ch; margin: 0; }
.phead__btns { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 26px; }

/* ——— калькулятор ——— */
.sec--calc { background: var(--soft); padding: 0 0 88px; }
.calc { display: grid; grid-template-columns: minmax(0, 1fr) 400px; gap: 24px; align-items: start; }
.calc__res, .fld__sel, .route .fld { min-width: 0; }
.calc__form { display: grid; gap: 16px; min-width: 0; }
.box { margin: 0; min-width: 0; border: 0; background: #fff; border-radius: var(--radius); padding: 26px 28px 28px; box-shadow: var(--shadow); }
.box__h { display: flex; align-items: center; gap: 12px; padding: 0; margin-bottom: 18px; font-size: 19px; font-weight: 600; letter-spacing: -.01em; float: left; width: 100%; }
.box__h + * { clear: both; }
.box__n { display: inline-grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: var(--accent-soft); color: var(--accent-text); font-size: 14px; font-weight: 700; }
.box__meta { margin: 12px 0 0; font-size: 14px; color: var(--muted); }
.route { display: grid; grid-template-columns: 1fr 52px 1fr; gap: 10px; align-items: end; }
.route__swap { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 12px; border: 1.5px solid var(--line); background: #fff; color: var(--accent); transition: transform .3s, border-color .2s; }
.route__swap:hover { border-color: var(--accent); transform: rotate(180deg); }
.types { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.type { position: relative; cursor: pointer; }
.type input, .seg2 input, .pp__o input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.type__ui { display: grid; gap: 2px; justify-items: start; height: 100%; padding: 16px; border: 1.5px solid var(--line); border-radius: 14px; transition: border-color .2s, background .2s; }
.type__ui .ic { width: 26px; height: 26px; color: var(--accent); margin-bottom: 8px; }
.type__ui b { font-size: 16px; }
.type__ui small { color: var(--muted); font-size: 13px; }
.type:hover .type__ui { border-color: #b5d8c7; }
.type input:checked + .type__ui { border-color: var(--accent); background: var(--accent-soft); }
.type input:focus-visible + .type__ui, .seg2 input:focus-visible + span, .pp__o input:focus-visible ~ .pp__n { outline: 2px solid var(--accent); outline-offset: 3px; }
.presets { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 16px 0 18px; }
.presets__l { color: var(--muted); font-size: 14px; margin-right: 2px; }
.preset { display: inline-flex; align-items: baseline; gap: 6px; min-height: 38px; padding: 0 12px; border-radius: 10px; border: 1px solid var(--line); background: #fff; font-size: 14px; transition: border-color .2s, background .2s; }
.preset small { color: var(--muted); font-size: 12.5px; }
.preset:hover { border-color: var(--accent); }
.preset.is-on { border-color: var(--accent); background: var(--accent-soft); }
.dims { display: grid; grid-template-columns: 170px 1fr 170px; gap: 14px; align-items: end; }
.dims__row { display: flex; align-items: center; gap: 8px; }
.dims__row input { min-width: 0; text-align: center; }
.dims__row span { color: var(--muted); }
.stepper { display: grid; grid-template-columns: 46px 1fr 46px; border-radius: 12px; background: var(--soft); overflow: hidden; }
.stepper button { border: 0; background: transparent; color: var(--accent); display: grid; place-items: center; transition: background .2s; }
.stepper button:hover { background: var(--soft-2); }
.stepper input { text-align: center; background: transparent; padding: 0 4px; font-weight: 600; }
.weight { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 22px; margin: 16px 0 0; padding: 12px 16px; border-radius: 12px; background: var(--soft); font-size: 14.5px; color: var(--muted); }
.w__i { display: inline-flex; flex-wrap: wrap; align-items: baseline; gap: 2px 6px; }
.w__i b { font-weight: 500; color: var(--muted); }
.w__i small { font-size: 12.5px; }
.w__i.is-used b { color: var(--fg); font-weight: 600; box-shadow: inset 0 -2px 0 var(--sun); }
.w__res { margin-left: auto; color: var(--fg); }
.w__res b { color: var(--accent-text); font-weight: 600; }
.two { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.opt__t { font-size: 14px; color: var(--muted); margin: 0 0 8px; }
.seg2 { display: grid; gap: 8px; }
.seg2 label { position: relative; cursor: pointer; }
.seg2 span { display: flex; align-items: center; gap: 10px; min-height: 52px; padding: 10px 16px; border: 1.5px solid var(--line); border-radius: 12px; font-size: 15px; transition: border-color .2s, background .2s; }
.seg2 span .ic { color: var(--accent); }
.seg2 em { margin-left: auto; font-style: normal; color: var(--muted); font-size: 14px; white-space: nowrap; }
.seg2 label:hover span { border-color: #b5d8c7; }
.seg2 input:checked + span { border-color: var(--accent); background: var(--accent-soft); }
.seg2 input:checked + span em { color: var(--accent-text); font-weight: 600; }
.valrow { display: grid; grid-template-columns: 260px 1fr; gap: 14px; align-items: end; }
.valrow__q { display: flex; flex-wrap: wrap; gap: 8px; }
.qbtn { min-height: 40px; padding: 0 13px; border-radius: 10px; border: 1px solid var(--line); background: #fff; font-size: 14px; transition: border-color .2s, background .2s; }
.qbtn:hover { border-color: var(--accent); }
.qbtn.is-on { border-color: var(--accent); background: var(--accent-soft); }
.box .small { margin: 14px 0 0; }

.calc__res { position: sticky; top: calc(var(--top-h) + 16px); }
.res { padding: 26px; }
.res__route { margin: 0; font-size: 22px; font-weight: 600; letter-spacing: -.015em; }
.res__meta { margin: 4px 0 18px; color: var(--muted); font-size: 14px; }
.pp { display: grid; gap: 10px; }
.pp__o { position: relative; display: grid; grid-template-columns: 1fr auto; grid-template-areas: 'n p' 'd p'; gap: 3px 12px; padding: 14px 16px 14px 46px; border: 1.5px solid var(--line); border-radius: 14px; cursor: pointer; transition: border-color .2s, background .2s; }
.pp__o::before { content: ''; position: absolute; left: 16px; top: 50%; width: 18px; height: 18px; margin-top: -9px; border-radius: 50%; border: 2px solid #b4c3bd; background: #fff; transition: border-color .2s, box-shadow .2s, background .2s; }
.pp__o:hover { border-color: #b5d8c7; }
.pp__o.is-on { border-color: var(--accent); background: var(--accent-soft); }
.pp__o.is-on::before { border-color: var(--accent); background: var(--accent); box-shadow: inset 0 0 0 3px #fff; }
.pp__o.is-off { cursor: not-allowed; background: #fafbfb; }
.pp__o.is-off .pp__n, .pp__o.is-off .pp__p { color: var(--muted); }
.pp__n { grid-area: n; display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; font-weight: 600; font-size: 16px; }
.pp__d { grid-area: d; color: var(--muted); font-size: 13.5px; }
.pp__p { grid-area: p; align-self: center; font-size: 20px; font-weight: 600; white-space: nowrap; letter-spacing: -.01em; }
.tagb { display: inline-flex; padding: 2px 8px; border-radius: 999px; font-size: 11.5px; font-weight: 600; letter-spacing: .01em; }
.tagb--cheap { background: var(--sun); color: var(--sun-ink); }
.tagb--fast { background: #e1eef8; color: var(--sky-ink); }
.res__when { display: flex; gap: 8px; align-items: flex-start; margin: 14px 0 0; font-size: 14px; color: var(--accent-text); }
.res__when .ic { width: 18px; height: 18px; margin-top: 1px; }
.bd { margin: 16px 0 0; padding-top: 10px; border-top: 1px solid var(--line); }
.bd div { display: flex; justify-content: space-between; gap: 12px; padding: 6px 0; font-size: 14.5px; }
.bd dt { color: var(--muted); }
.bd dd { margin: 0; font-weight: 500; text-align: right; }
.bd dd.is-zero { color: var(--muted); font-weight: 400; }
.bd .bd__sum { margin-top: 6px; padding-top: 12px; border-top: 1px dashed var(--line); align-items: baseline; }
.bd__sum dt { color: var(--fg); font-weight: 600; font-size: 16px; }
.bd__sum dd { font-size: 26px; font-weight: 600; letter-spacing: -.02em; }
.res__notes { display: grid; gap: 8px; margin: 14px 0 16px; }
.res__notes:empty { margin: 0 0 16px; }
.rnote { margin: 0; padding: 10px 12px; border-radius: 10px; background: var(--sun-soft); font-size: 13.5px; line-height: 1.45; }
.rnote .link { font-size: 13.5px; margin-top: 4px; }
.res .btn + .btn { margin-top: 10px; }
.res__cap { display: flex; gap: 8px; align-items: flex-start; margin: 16px 0 0; font-size: 13px; color: var(--muted); line-height: 1.45; }
.res__cap .ic { width: 16px; height: 16px; margin-top: 2px; }
.mbar { position: fixed; z-index: 60; left: 12px; right: 12px; bottom: 12px; display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 10px 10px 10px 18px; border-radius: 16px; background: var(--night); color: #fff; box-shadow: 0 12px 30px rgba(0, 0, 0, .25); }
.mbar__t small { display: block; font-size: 12px; opacity: .7; }
.mbar__t b { font-size: 20px; }
.tblwrap { padding: 0; overflow-x: auto; }
.tbl { width: 100%; border-collapse: collapse; font-size: 15px; }
.tbl caption { text-align: left; padding: 22px 22px 6px; font-size: 19px; font-weight: 600; }
.tbl th, .tbl td { padding: 14px 22px; text-align: left; border-bottom: 1px solid var(--line); vertical-align: top; }
.tbl thead th { font-size: 12.5px; text-transform: uppercase; letter-spacing: .05em; color: var(--muted); font-weight: 600; white-space: nowrap; }
.tbl tbody tr:last-child > * { border-bottom: 0; }
.tbl tbody th { font-weight: 600; }
.tbl tbody tr:hover > * { background: #fafcfb; }
.tbl small { color: var(--muted); }
.rules { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 18px; }
.rule h3 { display: flex; align-items: center; gap: 10px; font-size: 18px; margin-bottom: 10px; }
.rule h3 .ic { color: var(--accent); width: 22px; height: 22px; }
.rule p { color: var(--muted); font-size: 15px; margin: 0; }
.rule p b { color: var(--fg); }
.doorlist { list-style: none; padding: 0; display: grid; gap: 2px; font-size: 14.5px; }
.doorlist li { display: flex; justify-content: space-between; gap: 10px; padding: 4px 0; border-bottom: 1px dashed var(--line); }
.doorlist li:last-child { border-bottom: 0; }
.doorlist span { color: var(--muted); }

/* ——— отслеживание ——— */
.sec--track { background: var(--soft); padding: 0 0 80px; }
.tbar { padding: 26px 28px; }
.tbar__l { display: block; font-size: 15px; font-weight: 600; margin-bottom: 10px; }
.tbar__row { display: flex; gap: 12px; }
.tbar__row input { flex: 1; min-width: 0; min-height: 60px; padding: 0 20px; border-radius: 14px; border: 1.5px solid transparent; background: var(--soft); font-size: 22px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; font-variant-numeric: tabular-nums; }
.tbar__row input::placeholder { color: #9aa8a2; font-weight: 500; }
.tbar__row input:focus { outline: none; border-color: var(--accent); background: #fff; }
.tbar__row input[aria-invalid=true] { border-color: var(--bad); background: #fff; }
.tbar__row .btn { min-height: 60px; }
.tbar__err { margin: 10px 0 0; color: var(--bad); font-size: 14.5px; }
.tbar__hint, .tbar__recent { margin: 12px 0 0; color: var(--muted); font-size: 14px; line-height: 2; }
.exn { margin: 0 2px; padding: 3px 9px; border-radius: 8px; border: 1px dashed var(--accent); background: #fff; color: var(--accent-text); font-size: 13.5px; font-weight: 600; font-variant-numeric: tabular-nums; line-height: 1.4; }
.exn:hover { background: var(--accent-soft); border-style: solid; }
.trk { display: grid; gap: var(--gap); margin-top: var(--gap); }
.trk__head { display: grid; grid-template-columns: auto 1fr auto; gap: 18px 40px; align-items: center; }
.trk__id small, .trk__eta small { display: block; color: var(--muted); font-size: 13px; }
.trk__id b { display: block; font-size: 26px; letter-spacing: .02em; font-variant-numeric: tabular-nums; }
.st { display: inline-flex; align-items: center; gap: 6px; margin-top: 6px; padding: 4px 12px; border-radius: 999px; font-size: 13.5px; font-weight: 600; }
.st::before { content: ''; width: 8px; height: 8px; border-radius: 50%; background: currentColor; }
.st--new { background: var(--sun-soft); color: #6b5400; }
.st--go { background: #e1eef8; color: var(--sky-ink); }
.st--city { background: var(--accent-soft); color: var(--accent-text); }
.st--done { background: var(--accent); color: #fff; }
.trk__route { display: grid; grid-template-columns: auto 1fr auto; gap: 14px; align-items: center; }
.trk__route b { font-size: 18px; }
.trk__route small { display: block; color: var(--muted); font-size: 12.5px; font-weight: 400; }
.trk__route b:last-child { text-align: right; }
.trk__bar { position: relative; height: 6px; border-radius: 3px; background: var(--soft-2); }
.trk__bar span { position: absolute; left: 0; top: 0; bottom: 0; border-radius: 3px; background: var(--accent); }
.trk__bar i { position: absolute; top: 50%; width: 18px; height: 18px; margin: -9px 0 0 -9px; border-radius: 50%; background: #fff; border: 4px solid var(--accent); }
.trk__eta { text-align: right; }
.trk__eta b { display: block; font-size: 20px; }
.trk__eta span { color: var(--muted); font-size: 13.5px; }
.trk__grid { display: grid; grid-template-columns: 1.3fr 1fr; gap: var(--gap); align-items: start; }
.trk__map { padding: 18px; }
.trk__legend { display: flex; flex-wrap: wrap; gap: 8px 20px; margin: 12px 4px 0; font-size: 13.5px; color: var(--muted); list-style: none; padding: 0; }
.trk__legend li { display: inline-flex; align-items: center; gap: 8px; }
.trk__legend i { width: 18px; height: 4px; border-radius: 2px; background: var(--accent); }
.trk__legend i.lg-wait { background: #c4d3cd; }
.trk__legend i.lg-now { width: 12px; height: 12px; border-radius: 50%; background: var(--accent-dk); box-shadow: 0 0 0 3px var(--accent-soft); }
.trk__side h2 { font-size: 20px; margin-bottom: 18px; }
.tl2 { list-style: none; padding: 0; margin: 0; }
.tl2 li { position: relative; display: grid; grid-template-columns: 28px 1fr; gap: 14px; padding-bottom: 20px; }
.tl2 li:last-child { padding-bottom: 0; }
.tl2 li::before { content: ''; position: absolute; left: 13px; top: 30px; bottom: 2px; width: 2px; background: var(--line); }
.tl2 li:last-child::before { display: none; }
.tl2 li.is-done::before { background: var(--accent); }
.tl2__dot { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; border: 2px solid var(--line); background: #fff; position: relative; z-index: 1; }
.tl2__dot .ic { width: 15px; height: 15px; stroke-width: 2.6; color: #fff; }
.is-done .tl2__dot { background: var(--accent); border-color: var(--accent); }
.is-now .tl2__dot { border: 3px solid var(--accent); }
.is-now .tl2__dot::after { content: ''; width: 10px; height: 10px; border-radius: 50%; background: var(--accent); }
.tl2 h3 { font-size: 16px; }
.tl2 p { margin: 2px 0 0; color: var(--muted); font-size: 14px; }
.tl2 time, .tl2 .tl2__t { display: block; margin-top: 2px; font-size: 13.5px; color: var(--fg); font-variant-numeric: tabular-nums; }
.is-wait h3 { color: var(--muted); font-weight: 500; }
.is-wait .tl2__t { color: var(--muted); }
.is-now h3 { color: var(--accent-text); }
.trk__info { margin-top: 18px; padding-top: 18px; border-top: 1px solid var(--line); display: grid; gap: 18px; }
.trk__dl { display: grid; grid-template-columns: repeat(4, auto); gap: 8px 28px; margin: 0; justify-content: start; }
.trk__dl dt { color: var(--muted); font-size: 13px; }
.trk__dl dd { margin: 2px 0 0; font-weight: 600; font-size: 15px; }
.trk__btns { display: flex; flex-wrap: wrap; gap: 10px; }
.tempty { display: grid; grid-template-columns: 1.25fr 1fr; gap: 36px; align-items: center; margin-top: var(--gap); padding: 28px 36px; border-radius: var(--radius); background: #fff; box-shadow: var(--shadow); }
.tempty h2 { font-size: 26px; margin-bottom: 18px; }
.demo-note { display: flex; gap: 8px; align-items: flex-start; margin: 18px 0 0; color: var(--muted); font-size: 14px; }
.demo-note .ic { width: 18px; height: 18px; color: var(--accent); margin-top: 1px; }
.stlist { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.stlist li { display: flex; gap: 14px; padding: 22px; border-radius: var(--radius); background: #fff; }
.stlist__n { display: grid; place-items: center; flex: none; width: 34px; height: 34px; border-radius: 50%; background: var(--accent-soft); color: var(--accent-text); font-weight: 700; font-size: 15px; }
.stlist h3 { font-size: 17px; margin-bottom: 4px; }
.stlist p { color: var(--muted); font-size: 14.5px; margin: 0; }

/* ——— услуги ——— */
.ulist { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.ucard { display: flex; flex-direction: column; border-radius: var(--radius); background: #fff; border: 1px solid var(--line); overflow: hidden; transition: box-shadow .25s, transform .25s; }
.ucard:hover { box-shadow: var(--shadow-up); transform: translateY(-3px); }
.ucard__pic { position: relative; display: block; aspect-ratio: 16 / 10; overflow: hidden; }
.ucard__pic img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s cubic-bezier(.2, .7, .2, 1); }
.ucard:hover .ucard__pic img { transform: scale(1.04); }
.ucard__ic { position: absolute; left: 16px; top: 16px; display: grid; place-items: center; width: 46px; height: 46px; border-radius: 14px; background: #fff; color: var(--accent); box-shadow: var(--shadow); }
.ucard__ic .ic { width: 24px; height: 24px; }
.ucard__b { display: flex; flex-direction: column; flex: 1; padding: 22px 24px 24px; }
.ucard__t { font-size: 21px; }
.ucard__t a { text-decoration: none; }
.ucard__t a:hover { color: var(--accent-text); }
.ucard__b > p { color: var(--muted); font-size: 15.5px; margin: 8px 0 0; }
.ucard__f { display: flex; gap: 28px; margin: 16px 0 18px; padding-top: 14px; border-top: 1px dashed var(--line); }
.ucard__f dt { color: var(--muted); font-size: 12.5px; }
.ucard__f dd { margin: 2px 0 0; font-weight: 600; font-size: 15px; }
.ucard__b .link { margin-top: auto; }
.choose { list-style: none; padding: 0; display: grid; gap: 8px; }
.choose li { display: grid; grid-template-columns: 1fr 20px 1fr; gap: 12px; align-items: center; padding: 15px 18px; border-radius: 14px; background: #fff; font-size: 15px; }
.choose span { color: var(--muted); }
.choose .ic { color: var(--accent); width: 18px; height: 18px; }
.choose a { font-weight: 600; color: var(--accent-text); text-decoration: none; }
.choose a:hover { text-decoration: underline; }
.extras { list-style: none; padding: 0; display: grid; gap: 10px; }
.extras li { display: flex; gap: 14px; padding: 16px 18px; border-radius: 14px; background: #fff; }
.extras .ic { width: 24px; height: 24px; color: var(--accent); margin-top: 2px; }
.extras h3 { font-size: 16px; }
.extras p { margin: 3px 0 0; color: var(--muted); font-size: 14.5px; }

/* страница услуги */
.shero { background: var(--soft); padding-bottom: 48px; }
.shero__in { display: grid; grid-template-columns: 1fr 1fr; gap: 52px; align-items: center; padding-bottom: 40px; }
.shero .kicker { margin-top: 8px; }
.shero__btns { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.shero__pic { padding-top: 28px; }
.shero__pic img { width: 100%; aspect-ratio: 16 / 10.5; object-fit: cover; border-radius: 26px; }
.facts { display: grid; grid-template-columns: repeat(4, 1fr); margin: 0; background: #fff; border-radius: var(--radius); box-shadow: var(--shadow); overflow: hidden; }
.facts div { padding: 20px 26px; border-left: 1px solid var(--line); }
.facts div:first-child { border-left: 0; }
.facts dt { color: var(--muted); font-size: 13.5px; }
.facts dd { margin: 4px 0 0; font-size: 21px; font-weight: 600; letter-spacing: -.01em; }
.about { display: grid; grid-template-columns: 1.15fr 1fr; gap: 56px; align-items: center; }
.about__txt h2 { font-size: var(--step-3); margin-bottom: 20px; }
.about__txt p { font-size: 17px; max-width: 64ch; }
.about__fit { margin-top: 26px; padding: 22px 24px; border-radius: 16px; background: var(--soft); }
.about__fit h3 { font-size: 18px; margin-bottom: 14px; }
.about__fit .ticks { grid-template-columns: 1fr 1fr; gap: 10px 22px; font-size: 15.5px; }
.about__pic img { width: 100%; aspect-ratio: 5 / 4; object-fit: cover; border-radius: 24px; }
.phead__strip { margin-top: 30px; }
.phead__strip img { width: 100%; aspect-ratio: 4 / 1; object-fit: cover; object-position: 50% 62%; border-radius: 24px; }
.phead__in { display: grid; grid-template-columns: 1.1fr 1fr; gap: 48px; align-items: center; }
.phead__img { padding-top: 28px; }
.phead__img img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; object-position: 50% 60%; border-radius: 24px; }
.fleet { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.fcard { display: flex; flex-direction: column; padding: 22px; }
.tk { width: 100%; height: auto; margin-bottom: 14px; }
.tk__b { fill: var(--accent-soft); stroke: var(--accent); stroke-width: 1.6; }
.tk__c { fill: #fff; stroke: var(--accent); stroke-width: 1.6; }
.tk__g { fill: var(--sky); }
.tk__w { fill: var(--fg); }
.tk__h { fill: #fff; }
.tk__ground { stroke: var(--line); stroke-width: 1.5; }
.tk__l { stroke: var(--accent); stroke-width: 2; }
.tk__s { fill: none; stroke: var(--accent); stroke-width: 1.8; stroke-linecap: round; }
.fcard h3 { font-size: 20px; }
.fcard__note { color: var(--muted); font-size: 14px; margin: 4px 0 0; }
.fcard__dl { display: grid; gap: 4px; margin: 14px 0; }
.fcard__dl div { display: flex; justify-content: space-between; gap: 10px; font-size: 14px; padding: 4px 0; border-bottom: 1px dashed var(--line); }
.fcard__dl dt { color: var(--muted); }
.fcard__dl dd { margin: 0; font-weight: 600; text-align: right; }
.fcard__price { margin: 0 0 16px; }
.fcard__price b { display: block; font-size: 19px; color: var(--accent-text); }
.fcard__price span { color: var(--muted); font-size: 13.5px; }
.fcard .btn { margin-top: auto; }
.terms { list-style: none; padding: 0; display: grid; gap: 14px; font-size: 16px; }
.terms li { position: relative; padding-left: 26px; }
.terms li::before { content: ''; position: absolute; left: 4px; top: .62em; width: 8px; height: 8px; border-radius: 50%; background: var(--accent); }
.msteps { list-style: none; padding: 0; display: grid; gap: 18px; }
.msteps li { display: grid; grid-template-columns: 48px 1fr; gap: 16px; align-items: start; }
.msteps li > span { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 50%; background: var(--accent-soft); color: var(--accent-text); font-weight: 700; font-size: 15px; }
.msteps h3 { font-size: 17px; margin-top: 2px; }
.msteps p { margin: 3px 0 0; color: var(--muted); font-size: 15px; }
.mini-svc { display: grid; grid-template-columns: repeat(5, 1fr); gap: 12px; }
.msvc { display: flex; gap: 12px; align-items: center; padding: 16px; border-radius: 14px; background: var(--soft); text-decoration: none; transition: background .2s; }
.msvc .ic { width: 26px; height: 26px; color: var(--accent); }
.msvc span { display: grid; gap: 2px; }
.msvc b { font-size: 15px; line-height: 1.25; }
.msvc small { color: var(--muted); font-size: 13px; }
.msvc:hover { background: var(--accent-soft); }

/* бизнесу */
.bgrid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.bcard { padding: 26px; border-radius: var(--radius); background: var(--soft); }
.bcard__ic { display: grid; place-items: center; width: 50px; height: 50px; border-radius: 14px; background: #fff; color: var(--accent); }
.bcard__ic .ic { width: 25px; height: 25px; }
.bcard h3 { font-size: 19px; margin: 18px 0 8px; }
.bcard p { color: var(--muted); font-size: 15px; margin: 0; }
.defer { padding: 32px; }
.defer > p { color: var(--muted); }
.tl { margin: 24px 0 14px; }
.tl__bar { display: grid; grid-template-columns: 13fr 7fr 11fr; gap: 4px; }
.tl__bar span { padding: 11px 12px; border-radius: 10px; font-size: 13.5px; font-weight: 600; color: #fff; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tl__a { background: var(--accent); }
.tl__b { background: var(--sun); color: var(--sun-ink) !important; }
.tl__c { background: var(--sky-ink); }
.tl__lbl { list-style: none; padding: 0; display: grid; grid-template-columns: 13fr 7fr 11fr; gap: 4px; margin-top: 10px; font-size: 13.5px; color: var(--muted); }
.tl__lbl b { display: block; color: var(--fg); }
.kab { display: grid; grid-template-columns: 1fr 1.1fr; gap: 56px; align-items: center; }
.kab .ticks { font-size: 16px; }
.tbl--vol td:nth-child(2) { font-weight: 600; color: var(--accent-text); }

/* города */
.cfil { display: flex; justify-content: space-between; align-items: center; gap: 14px; flex-wrap: wrap; }
.cfil .fbar { margin: 0; }
.fbtn { min-height: 42px; padding: 0 18px; border-radius: 999px; font-size: 14.5px; font-weight: 500; transition: background .2s, border-color .2s; }
.fbtn:hover { border-color: var(--accent); }
.fbtn.is-on { background: var(--accent); border-color: var(--accent); color: #fff; }
.csearch { position: relative; width: min(300px, 100%); }
.csearch .ic { position: absolute; left: 14px; top: 50%; transform: translateY(-50%); color: var(--muted); width: 18px; height: 18px; }
.csearch input { min-height: 44px; padding-left: 42px; background: #fff; border-color: var(--line); }
.ccount { margin: 16px 0; color: var(--muted); font-size: 14px; }
.ccount b { color: var(--fg); }
.clist { list-style: none; padding: 0; display: grid; gap: 10px; }
.crow { display: grid; grid-template-columns: 1.25fr 1.6fr 1fr 1fr 1fr auto; gap: 16px; align-items: center; padding: 16px 20px; border-radius: 16px; background: #fff; border: 1px solid var(--line); transition: border-color .2s, box-shadow .2s; }
.crow:hover { border-color: #b5d8c7; box-shadow: var(--shadow); }
.crow__c b { display: block; font-size: 17px; }
.crow small { display: block; color: var(--muted); font-size: 13px; }
.crow__l { display: block; color: var(--muted); font-size: 12px; }
.crow__d b, .crow__p b { font-size: 16px; }
.cnone { margin: 16px 0 0; padding: 18px 20px; border-radius: 14px; background: var(--sun-soft); }

/* контакты */
.kgrid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.kcard { display: flex; gap: 14px; align-items: center; padding: 20px 22px; border-radius: 16px; background: var(--soft); text-decoration: none; min-width: 0; }
.kcard .ic { width: 28px; height: 28px; color: var(--accent); }
.kcard small { display: block; color: var(--muted); font-size: 13px; }
.kcard b { font-size: 16px; overflow-wrap: anywhere; }
a.kcard:hover { background: var(--accent-soft); }
.pts { display: grid; grid-template-columns: 1fr 400px; gap: var(--gap); align-items: start; }
.plist { list-style: none; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.pcard { display: flex; gap: 14px; padding: 22px; }
.pcard__n { display: grid; place-items: center; flex: none; width: 34px; height: 34px; border-radius: 50%; background: var(--accent); color: #fff; font-weight: 700; font-size: 14px; }
.pcard__n .ic { width: 18px; height: 18px; }
.pcard h3 { font-size: 17px; }
.pcard__k { margin: 4px 0 8px; color: var(--accent-text); font-size: 13.5px; font-weight: 600; }
.pcard p { font-size: 14.5px; color: var(--muted); }
.pcard .link { font-size: 14px; }
.pmap { padding: 20px; position: sticky; top: calc(var(--top-h) + 16px); }
.pmap__h { font-weight: 600; margin: 0 0 12px; }
.pmap .btn { margin-top: 12px; }
.scheme { width: 100%; height: auto; border-radius: 12px; }
.scheme__bg { fill: #ecf1ef; }
.scheme__river { fill: none; stroke: #a9d2e4; stroke-width: 4; }
.scheme__road { stroke: #fff; stroke-width: 1.8; fill: none; }
.scheme__road--main { stroke-width: 3.2; }
.scheme__t { font-size: 3px; font-style: italic; fill: #4f88a3; font-family: var(--font-body); }
.scheme__pin { fill: var(--accent); stroke: #fff; stroke-width: .9; }
.scheme__pin--main { fill: var(--accent-dk); }
.scheme__n { font-size: 4.2px; font-weight: 700; fill: #fff; text-anchor: middle; font-family: var(--font-body); }
.req { margin-top: 28px; padding: 22px 24px; background: var(--soft); box-shadow: none; }
.req h3 { font-size: 16px; margin-bottom: 8px; }
.req p { margin: 0; color: var(--muted); font-size: 15px; }

/* фото и шрифты: ссылки не рвутся внутри */
.cr-list a { white-space: nowrap; }
.cr-list b { font-weight: 600; }

/* 404 */
.lost { padding: 70px 0 100px; background: var(--soft); }
.lost__in { display: grid; grid-template-columns: 1.3fr 1fr; gap: 56px; align-items: center; }
.lost__pic img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 24px; }
.lost .lost__code { font: 700 clamp(96px, 14vw, 190px)/.9 var(--font-head); color: var(--accent); opacity: .2; letter-spacing: -.05em; margin: 0 0 10px; max-width: none; }
.lost p { color: var(--muted); max-width: 56ch; font-size: 17px; }
.lost__btns { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 26px; }

/* ——— адаптив ——— */
@media (max-width: 1240px) {
  .top__tel { display: none; }
  .top__in { gap: 18px; }
  .nav a { padding: 9px 10px; }
}
@media (max-width: 1100px) {
  .seg__aux { display: none; }
  .foot__grid { grid-template-columns: 1fr 1fr 1fr; }
  .foot__brand { grid-column: 1 / -1; }
  .fleet { grid-template-columns: repeat(2, 1fr); }
  .mini-svc { grid-template-columns: repeat(3, 1fr); }
  .crow { grid-template-columns: 1.2fr 1.5fr 1fr 1fr auto; }
  .crow__p:nth-of-type(4) { display: none; }
}
@media (max-width: 960px) {
  .nav, .seg { display: none; }
  .burger { display: inline-flex; }
  .hero__banner, .tools, .dirs, .cta, .faqwrap, .biz, .two-col, .calc, .trk__grid, .tempty, .shero__in, .about, .kab, .pts, .phead__in, .lost__in { grid-template-columns: minmax(0, 1fr); }
  .about, .phead__in { gap: 32px; }
  .lost__pic { display: none; }
  .hero__banner { gap: 36px; }
  .ticket { left: 16px; bottom: -22px; }
  .tiles { grid-template-columns: repeat(3, 1fr); }
  .sgrid { grid-template-columns: 1fr; }
  .steps { grid-template-columns: 1fr 1fr; row-gap: 36px; }
  .steps::before { display: none; }
  .plans { grid-template-columns: 1fr; }
  .perks { grid-template-columns: 1fr 1fr; }
  .biz { padding: 36px 32px; gap: 36px; }
  .faqwrap, .cta { gap: 28px; }
  .calc__res { position: static; }
  .stlist, .ulist { grid-template-columns: 1fr 1fr; }
  .facts { grid-template-columns: 1fr 1fr; }
  .facts div:nth-child(3) { border-left: 0; }
  .facts div:nth-child(n+3) { border-top: 1px solid var(--line); }
  .bgrid { grid-template-columns: 1fr 1fr; }
  .kgrid { grid-template-columns: 1fr 1fr; }
  .pmap { position: static; }
  .trk__head { grid-template-columns: 1fr auto; }
  .trk__route { grid-column: 1 / -1; grid-row: 2; }
  .trk__dl { grid-template-columns: repeat(2, auto); }
  .crow { grid-template-columns: 1fr 1fr 1fr; }
  .crow .btn { grid-column: 1 / -1; justify-self: start; }
  .crow__p:nth-of-type(4) { display: block; }
  .dims { grid-template-columns: 1fr 1fr; }
  .dims .fld--dims { grid-column: 1 / -1; grid-row: 2; }
}
@media (max-width: 760px) {
  :root { --pad: 16px; --top-h: 64px; --gap: 14px; }
  body { font-size: 16px; }
  .sec { padding: 60px 0; }
  .sec--tight { padding: 28px 0 56px; }
  .sec__head { margin-bottom: 24px; }
  .sec__head p { font-size: 16px; }
  .top__order { display: none; }
  .top__track span { display: none; }
  .top__track { width: 44px; padding: 0; min-height: 44px; }
  .logo__t { font-size: 20px; }
  .mark { width: 36px; height: 36px; }
  .hero { padding: 14px 0 32px; }
  .notes { margin-bottom: 18px; }
  .note { font-size: 13px; }
  .hero__lead { font-size: 16.5px; }
  .hero__btns .btn { flex: 1 1 100%; }
  .hero__facts { gap: 12px 22px; margin-top: 24px; padding-top: 18px; }
  .hero__facts b { font-size: 19px; }
  .hero__facts span { font-size: 13px; }
  .hero__pic img { border-radius: 20px; }
  .ticket { left: 12px; right: 12px; min-width: 0; bottom: -40px; padding: 12px 16px; }
  .ticket__r { font-size: 17px; }
  .hero__banner { padding-bottom: 64px; }
  .card { padding: 22px 18px; }
  .mini__row { grid-template-columns: 1fr; }
  .mini__res { margin-left: 0; width: 100%; order: -1; }
  .mini__foot .btn { flex: 1; }
  .tiles { gap: 10px; }
  .tile { padding: 16px 6px 14px; font-size: 13px; }
  .scard { min-height: 0; flex-direction: column; }
  .scard__txt { width: 100%; padding: 24px 22px 22px; }
  .scard__pic { position: relative; width: 100%; height: 170px; border-radius: 0; border-top-left-radius: 0; order: -1; }
  .scard .scard__from { margin-top: 14px; padding-top: 0; }
  .dirs__map { padding: 10px 6px; }
  .kzmap__city text { font-size: 42px; stroke-width: 10px; display: none; }
  .kzmap__city--hub text, .kzmap__city.is-on text { display: block; font-size: 42px; }
  .kzmap__pin { stroke-width: 4; transform: scale(1.7); }
  .kzmap__city.is-on .kzmap__pin { transform: scale(2.3); }
  .kzmap__city.is-end .kzmap__pin { transform: scale(2.1); }
  .kzmap__ghost { r: 6px; }
  .kzmap__leg { stroke-width: 7; }
  .kzmap__route.is-on { stroke-width: 6; }
  .kzmap__nowdot { transform: scale(1.6); }
  .kzmap__city.is-via text { display: none; }
  .kzmap__water { display: none; }
  .dirs__city { font-size: 28px; }
  .chips { gap: 6px; }
  .chip { min-height: 36px; padding: 0 12px; font-size: 13.5px; }
  .steps { grid-template-columns: 1fr; row-gap: 26px; }
  .step { display: grid; grid-template-columns: 56px 1fr; column-gap: 18px; }
  .step__n { grid-row: 1 / span 3; }
  .step h3 { margin: 6px 0 6px; }
  .perks { grid-template-columns: 1fr 1fr; gap: 10px; }
  .perks li { flex-direction: column; align-items: flex-start; gap: 10px; padding: 16px; }
  .perks .ic { width: 24px; height: 24px; }
  .perks b { font-size: 14.5px; }
  .perks span { font-size: 13px; }
  .plan { padding: 22px 18px; }
  .plan__price { margin: 18px 0 14px; }
  .plan__price b { font-size: 30px; }
  .plan .ticks { font-size: 14.5px; gap: 8px; margin-bottom: 20px; }
  .biz { padding: 28px 20px; border-radius: 22px; }
  .cab__stats { grid-template-columns: 1fr 1fr; }
  .cab__stats div:last-child { grid-column: 1 / -1; }
  .cab__row { grid-template-columns: 76px 1fr; }
  .cab__s { grid-column: 2; justify-self: start; }
  .cab__r { grid-column: 1 / -1; grid-row: 2; }
  .cab__row .cab__s { grid-row: 1; }
  .faq summary { font-size: 16.5px; }
  .cta__form { padding: 22px 18px; }
  .lead__grid { grid-template-columns: 1fr; }
  .foot { padding-top: 52px; }
  .foot__grid { grid-template-columns: 1fr 1fr; gap: 28px 20px; }
  .foot__sup { grid-column: 1 / -1; }
  .phead { padding-bottom: 32px; }
  .phead__lead { font-size: 16.5px; }
  .box { padding: 22px 18px 22px; }
  .route { grid-template-columns: 1fr 48px; }
  .route .fld:first-child { grid-column: 1; grid-row: 1; }
  .route .fld:last-of-type { grid-column: 1; grid-row: 2; }
  .route__swap { grid-column: 2; grid-row: 1 / span 2; align-self: center; width: 48px; height: 48px; transform: rotate(90deg); }
  .route__swap:hover { transform: rotate(270deg); }
  .types { gap: 8px; }
  .type__ui { padding: 12px 10px; }
  .type__ui b { font-size: 15px; }
  .type__ui small { font-size: 12px; }
  .two, .valrow { grid-template-columns: 1fr; }
  .w__res { margin-left: 0; }
  .res { padding: 22px 18px; }
  .tbl caption { padding: 18px 16px 4px; }
  .tbl--stack thead { display: none; }
  .tbl--stack, .tbl--stack tbody, .tbl--stack tr, .tbl--stack th, .tbl--stack td { display: block; }
  .tbl--stack tr { padding: 12px 16px; border-bottom: 1px solid var(--line); }
  .tbl--stack tbody tr:last-child { border-bottom: 0; }
  .tbl--stack th, .tbl--stack td { padding: 3px 0; border: 0; }
  .tbl--stack tbody th { font-size: 16px; padding-bottom: 6px; }
  .tbl--stack td { display: flex; justify-content: space-between; gap: 12px; font-size: 14.5px; }
  .tbl--stack td::before { content: attr(data-l); color: var(--muted); }
  .rules { grid-template-columns: 1fr; }
  .tbar { padding: 20px 18px; }
  .tbar__row input { font-size: 19px; min-height: 54px; padding: 0 14px; }
  .tbar__row .btn { min-height: 54px; padding: 0 16px; }
  .trk__head { grid-template-columns: 1fr; gap: 14px; }
  .trk__route { grid-row: auto; }
  .trk__eta { text-align: left; }
  .trk__dl { grid-template-columns: 1fr 1fr; gap: 10px 16px; }
  .trk__btns .btn { flex: 1 1 100%; }
  .trk__map { padding: 8px; }
  .tempty { padding: 22px 18px; gap: 20px; }
  .stlist, .ulist, .bgrid, .kgrid, .plist { grid-template-columns: 1fr; }
  .bcard { display: grid; grid-template-columns: 46px 1fr; gap: 2px 14px; padding: 18px; }
  .bcard__ic { grid-row: 1 / span 2; width: 46px; height: 46px; }
  .bcard h3 { margin: 2px 0 4px; font-size: 17px; }
  .bcard p { font-size: 14.5px; }
  .shero__btns .btn, .phead__btns .btn { flex: 1 1 auto; }
  .facts dd { font-size: 18px; }
  .facts div { padding: 16px 18px; }
  .shero__pic { padding-top: 0; }
  .phead__img { padding-top: 0; }
  .phead__strip { margin-top: 22px; }
  .phead__strip img { aspect-ratio: 5 / 2; border-radius: 18px; }
  .about__fit { padding: 18px; }
  .about__fit .ticks { grid-template-columns: 1fr; }
  .about__pic img { border-radius: 18px; }
  .shero__pic img { border-radius: 20px; }
  .fleet, .mini-svc { grid-template-columns: 1fr; }
  .choose li { grid-template-columns: 1fr; gap: 2px; }
  .choose .ic { display: none; }
  .defer { padding: 24px 18px; }
  .tl__bar span { font-size: 12px; padding: 9px 8px; }
  .tl__lbl { font-size: 12.5px; }
  .crow { grid-template-columns: 1fr 1fr; gap: 10px 14px; padding: 16px; }
  .crow__c { grid-column: 1; grid-row: 1; }
  .crow .btn { grid-column: 2; grid-row: 1; justify-self: end; align-self: start; }
  .crow__d { grid-column: 1 / -1; }
  .crow__p:nth-of-type(4) { display: none; }
  .csearch { width: 100%; }
  .cfil .fbar { gap: 6px; }
  .fbtn { padding: 0 14px; min-height: 38px; font-size: 14px; }
  .kcard { padding: 16px 18px; }
}
@media (max-width: 400px) {
  .logo__t small { display: none; }
  .tiles { grid-template-columns: 1fr 1fr; }
}
@media (min-width: 961px) { .mbar { display: none !important; } }

/* сводка расчёта в окне заявки */
.osum { padding: 14px 16px; border-radius: 14px; background: var(--accent-soft); margin-bottom: 4px; }
.osum p { margin: 0; }
.osum__r { font-weight: 600; }
.osum__p { font-size: 24px; font-weight: 600; letter-spacing: -.015em; margin-top: 2px !important; }
.osum__p span { font-size: 14px; font-weight: 400; color: var(--muted); letter-spacing: 0; }
.osum__m { color: var(--muted); font-size: 14px; }
.modal__t { font-size: clamp(22px, 2.4vw, 28px); }
.kzmap__route.is-hover { opacity: .9; stroke-width: 2; }
