/* Информационные страницы концепции E: услуги, о компании, контакты, «Как купить?».
   Подключать после e.css. Префикс классов — inf-. */

/* ===== Раскладка с липким подменю слева ===== */
.inf-lay { display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: clamp(32px, 4vw, 64px); align-items: start; }
.inf-side { position: sticky; top: 88px; }
.inf-sub { display: grid; border-top: 1px solid var(--line); }
.inf-sub a { position: relative; display: flex; align-items: center; gap: 10px; min-height: 46px; padding: 10px 0 10px 16px; border-bottom: 1px solid var(--line); font-size: 14.5px; color: var(--text); transition: color .15s; }
.inf-sub a::before { content: ''; position: absolute; left: 0; top: 10px; bottom: 10px; width: 2px; background: var(--ink); transform: scaleY(0); transition: transform .25s var(--ease); }
.inf-sub a:hover { color: var(--ink); }
.inf-sub a[aria-current="true"] { color: var(--ink); font-weight: 500; }
.inf-sub a[aria-current="true"]::before { transform: none; }
.inf-sub i { font-size: 18px; color: var(--muted); }
.inf-side .box { margin-top: 22px; display: grid; gap: 10px; font-size: 13.5px; }
.inf-side .box b { color: var(--ink); font-weight: 600; font-size: 16px; }
@media (max-width: 1023px) {
  .inf-lay { grid-template-columns: minmax(0, 1fr); gap: 8px; }
  .inf-side { position: sticky; top: 64px; z-index: 20; margin: 0 calc(var(--gut) * -1); padding: 10px var(--gut); background: rgb(255 255 255 / .97); border-bottom: 1px solid var(--line); }
  .inf-side .box { display: none; }
  .inf-sub { display: flex; gap: 8px; border: 0; overflow-x: auto; scrollbar-width: none; }
  .inf-sub a { flex: none; min-height: 36px; padding: 0 14px; border: 1px solid var(--line); border-radius: var(--r); font-size: 13.5px; white-space: nowrap; background: var(--bg); }
  .inf-sub a::before { display: none; }
  .inf-sub a[aria-current="true"] { background: var(--ink); border-color: var(--ink); color: #fff; font-weight: 400; }
  .inf-sub a[aria-current="true"] i { color: rgb(255 255 255 / .75); }
  .inf-sub i { font-size: 16px; }
}

/* ===== Разделы ===== */
.inf-sec { padding-block: 8px 48px; scroll-margin-top: 0; }
.inf-sec + .inf-sec { border-top: 1px solid var(--line); padding-top: 44px; }
.inf-sec > h2, .inf-h2 { margin-bottom: 18px; }
.inf-lead { font-size: 16.5px; line-height: 1.6; color: var(--text); max-width: 68ch; }
.inf-sec p { max-width: 72ch; }
.inf-sec h3 { margin: 28px 0 12px; font-size: 17px; }
.inf-note { display: flex; gap: 12px; align-items: flex-start; padding: 14px 18px; border-radius: var(--r); background: var(--soft); font-size: 14px; color: var(--text); max-width: 72ch; }
.inf-note i { flex: none; font-size: 20px; color: var(--olive); margin-top: 1px; }
.inf-note--warn { background: var(--yolk-soft); color: var(--yolk-ink); }
.inf-note--warn i { color: var(--yolk-ink); }
.inf-note p { margin: 0; }
@media (max-width: 1023px) { .inf-sec { scroll-margin-top: 50px; } }

/* Список с галочками */
.inf-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.inf-list li { position: relative; padding-left: 30px; line-height: 1.5; }
.inf-list li::before { content: ''; position: absolute; left: 2px; top: 5px; width: 14px; height: 8px; border-left: 1.6px solid var(--olive); border-bottom: 1.6px solid var(--olive); transform: rotate(-45deg); }
.inf-list--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 32px; }
@media (max-width: 767px) { .inf-list--2 { grid-template-columns: 1fr; } }

/* Карточки способов (оплата, рассрочка, доставка) */
.inf-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 0; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.inf-card { display: grid; align-content: start; gap: 8px; padding: 22px 22px 24px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--bg); }
.inf-card > i { font-size: 30px; color: var(--ink); margin-bottom: 4px; }
.inf-card b { font: 600 15.5px/1.3 var(--f-disp); color: var(--ink); }
.inf-card p { margin: 0; font-size: 14px; color: var(--text); }
.inf-card small { font-size: 12.5px; color: var(--muted); }
.inf-card .lbs { margin-top: 2px; }

/* Цифры */
.inf-facts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.inf-facts > div { padding: 26px 24px 24px 0; }
.inf-facts > div + div { padding-left: 24px; border-left: 1px solid var(--line); }
.inf-facts b { display: block; font: 300 clamp(32px, 3vw, 44px)/1 var(--f-disp); color: var(--ink); letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.inf-facts span { display: block; margin-top: 8px; font-size: 13.5px; color: var(--muted); }
@media (max-width: 767px) {
  .inf-facts { grid-template-columns: 1fr 1fr; }
  .inf-facts > div { padding: 20px 14px 18px 0; }
  .inf-facts > div + div { padding-left: 14px; }
  .inf-facts > div:nth-child(3) { padding-left: 0; border-left: 0; }
  .inf-facts > div:nth-child(n+3) { border-top: 1px solid var(--line); }
}

/* Таблица с прокруткой на узком экране */
.inf-tw { overflow-x: auto; border: 1px solid var(--line); border-radius: var(--r); }
.inf-tbl { width: 100%; border-collapse: collapse; font-size: 14px; min-width: 520px; }
.inf-tbl th, .inf-tbl td { padding: 12px 16px; text-align: left; border-bottom: 1px solid var(--line); vertical-align: top; }
.inf-tbl thead th { background: var(--soft); font: 600 11.5px/1.3 var(--f-text); letter-spacing: .08em; text-transform: uppercase; color: var(--ink); }
.inf-tbl tbody tr:last-child > * { border-bottom: 0; }
.inf-tbl td.num, .inf-tbl th.num { text-align: right; }
.inf-tbl tbody th { font-weight: 500; color: var(--ink); }

/* Кнопки в ряд */
.inf-acts { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
@media (max-width: 479px) { .inf-acts .btn { flex: 1 1 100%; } }

/* «Не нашли ответ?» и похожие плашки-призывы */
.inf-cta { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 18px 40px; align-items: center; padding: 32px 36px; border-radius: var(--r); background: var(--btn); color: #fff; }
.inf-cta h2 { color: inherit; }
.inf-cta p { margin: 8px 0 0; color: rgb(255 255 255 / .78); }
.inf-cta .inf-acts { margin: 0; }
.inf-cta .tel { font: 600 20px/1 var(--f-text); color: #fff; }
@media (max-width: 767px) { .inf-cta { grid-template-columns: 1fr; padding: 26px 22px; } }

/* ===== Лента этапов: кружок с номером, линия к следующему шагу ===== */
.inf-steps { list-style: none; margin: 0; padding: 0; display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 16px; counter-reset: st; }
.inf-steps li { position: relative; display: grid; align-content: start; gap: 6px; padding-top: 52px; counter-increment: st; }
.inf-steps li::before { content: counter(st); position: absolute; top: 0; left: 0; width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid var(--ink); border-radius: 50%; background: var(--bg); font: 500 15px/1 var(--f-text); color: var(--ink); z-index: 1; }
.inf-steps li:not(:last-child)::after { content: ''; position: absolute; top: 19px; left: 46px; right: -8px; height: 1px; background: var(--line-2); }
.inf-steps b { font: 600 15px/1.3 var(--f-disp); color: var(--ink); }
.inf-steps span { font-size: 13.5px; line-height: 1.5; color: var(--muted); }
.inf-steps--sm li { padding-top: 44px; }
.inf-steps--sm li::before { width: 30px; height: 30px; font-size: 13px; }
.inf-steps--sm li:not(:last-child)::after { top: 15px; left: 38px; }
@media (max-width: 767px) {
  .inf-steps { grid-auto-flow: row; gap: 0; }
  .inf-steps li, .inf-steps--sm li { padding: 0 0 20px 50px; min-height: 52px; }
  .inf-steps li::before { top: 0; }
  .inf-steps li:not(:last-child)::after { top: 40px; bottom: 2px; left: 19px; right: auto; width: 1px; height: auto; }
  .inf-steps--sm li:not(:last-child)::after { top: 32px; left: 15px; }
  .inf-steps--sm li { padding-left: 44px; }
}

.inf-cards--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.inf-cards--2 { grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); }
@media (max-width: 1023px) { .inf-cards--3 { grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); } }
.inf-card .ret-big { font: 300 34px/1 var(--f-disp); letter-spacing: -.02em; color: var(--ink); margin-bottom: 6px; }
.inf-list--x li::before { width: 12px; height: 12px; top: 6px; border: 0; transform: none; background: linear-gradient(45deg, transparent 45%, var(--muted) 45% 55%, transparent 55%), linear-gradient(-45deg, transparent 45%, var(--muted) 45% 55%, transparent 55%); }
.inf-facts--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 640px; }
.inf-facts--2 > div:nth-child(n) { border-top: 0; }
.inf-facts--2 > div + div { padding-left: 24px; border-left: 1px solid var(--line); }
.wr-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 40px; }
@media (max-width: 767px) { .wr-grid { grid-template-columns: 1fr; } }
.dl-foot { margin: 12px 0 18px; font-size: 13.5px; }

/* Калькулятор рассрочки */
.crd { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 20px 40px; align-items: center; margin-top: 22px; }
.crd-in { display: grid; gap: 10px; }
.crd-row { display: flex; align-items: center; gap: 18px; }
.crd-val { flex: none; min-width: 120px; font: 600 20px/1 var(--f-text); color: var(--ink); text-align: right; }
.crd-range { --p: 50%; flex: 1; min-width: 0; height: 28px; margin: 0; appearance: none; background: transparent; cursor: pointer; }
.crd-range::-webkit-slider-runnable-track { height: 3px; border-radius: 2px; background: linear-gradient(90deg, var(--ink) var(--p), var(--line-2) var(--p)); }
.crd-range::-moz-range-track { height: 3px; border-radius: 2px; background: linear-gradient(90deg, var(--ink) var(--p), var(--line-2) var(--p)); }
.crd-range::-webkit-slider-thumb { appearance: none; width: 20px; height: 20px; margin-top: -8.5px; border-radius: 50%; background: var(--bg); border: 2px solid var(--ink); box-shadow: 0 2px 6px rgb(0 0 0 / .15); }
.crd-range::-moz-range-thumb { width: 16px; height: 16px; border-radius: 50%; background: var(--bg); border: 2px solid var(--ink); }
/* Фокус с клавиатуры: сплошное кольцо цвета текста вокруг бегунка (контраст выше 3:1), в Chromium и Firefox */
.crd-range:focus-visible { outline: none; }
.crd-range:focus-visible::-webkit-slider-thumb { box-shadow: 0 0 0 2px var(--bg), 0 0 0 4px var(--ink); }
.crd-range:focus-visible::-moz-range-thumb { box-shadow: 0 0 0 2px var(--bg), 0 0 0 4px var(--ink); }
.crd-out { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.crd-out > div { display: grid; gap: 4px; padding-left: 16px; border-left: 1px solid var(--line-2); }
.crd-out small { font-size: 12.5px; color: var(--muted); }
.crd-out b { font: 600 20px/1.2 var(--f-text); color: var(--ink); }
.crd-out span { font-size: 12.5px; }
@media (max-width: 767px) { .crd { grid-template-columns: 1fr; } .crd-val { min-width: 0; font-size: 17px; } }

/* Клубная программа */
.club { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.club-lv { display: grid; align-content: start; gap: 6px; padding: 22px 22px 20px; border: 1px solid var(--line); border-radius: var(--r); background: var(--bg); }
.club-lv p { margin: 0; font-size: 14px; color: var(--muted); }
.club-lv b { font: 600 16px/1.3 var(--f-disp); color: var(--ink); }
.club-pct { font: 300 44px/1 var(--f-disp); letter-spacing: -.03em; color: var(--ink); margin-bottom: 8px; }
.club-lv--2 { background: var(--soft); border-color: transparent; }
.club-lv--3 { background: var(--btn); border-color: var(--btn); }
.club-lv--3 b, .club-lv--3 .club-pct { color: #fff; }
.club-lv--3 p { color: rgb(255 255 255 / .7); }
@media (max-width: 767px) { .club { grid-template-columns: 1fr; } .club-lv { grid-template-columns: auto 1fr; column-gap: 18px; } .club-pct { grid-row: span 2; margin: 0; font-size: 38px; align-self: center; } }

.btn--on-dark { color: #fff; border-color: rgb(255 255 255 / .4); }
.btn--on-dark:hover { border-color: #fff; }
.acc-b .link { font-size: inherit; }
button.link { padding: 0; font: inherit; color: var(--ink); text-decoration: underline; text-decoration-color: var(--line-2); text-underline-offset: 3px; }
button.link:hover { text-decoration-color: currentColor; }
.inf-body > .inf-cta { margin-top: 8px; }
.inf-cards--5 { grid-template-columns: repeat(auto-fit, minmax(185px, 1fr)); }
@media (max-width: 767px) {
  .inf-card { grid-template-columns: 34px minmax(0, 1fr); column-gap: 14px; padding: 16px 16px 18px; }
  .inf-card > * { grid-column: 2; }
  .inf-card > i:first-child { grid-column: 1; grid-row: 1 / span 4; font-size: 26px; margin: 0; }
  .inf-card:not(:has(> i:first-child)) { grid-template-columns: minmax(0, 1fr); }
  .inf-card:not(:has(> i:first-child)) > * { grid-column: 1; }
}

/* ===== Услуги ===== */
.svc-tiles { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.svc-tile { display: grid; grid-template-rows: auto 1fr; border: 1px solid var(--line); border-radius: var(--r); overflow: hidden; background: var(--bg); }
.svc-tile:hover { box-shadow: 0 18px 40px -22px rgb(29 31 30 / .3); }
.svc-tile-img { aspect-ratio: 4 / 3; overflow: hidden; background: var(--soft); }
.svc-tile-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .25s ease; }
@media (hover: hover) and (pointer: fine) { .svc-tile:hover .svc-tile-img img { transform: scale(1.03); } }
.svc-tile-txt { display: grid; grid-template-rows: auto 1fr auto; gap: 6px; padding: 18px 20px 20px; }
.svc-tile-txt b { font: 500 16px/1.35 var(--f-disp); color: var(--ink); transition: color .2s; }
.svc-tile:hover .svc-tile-txt b { color: var(--olive); }
.svc-tile-txt small { font-size: 13.5px; color: var(--muted); }
.svc-price { margin-top: 10px; font: 700 16px/1.2 var(--f-text); color: var(--ink); }
@media (max-width: 1023px) { .svc-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 479px) {
  .svc-tiles { grid-template-columns: 1fr; gap: 10px; }
  .svc-tile { grid-template-rows: none; grid-template-columns: 116px minmax(0, 1fr); }
  .svc-tile-img { aspect-ratio: auto; height: 100%; min-height: 112px; }
  .svc-tile-txt { padding: 12px 14px; gap: 4px; }
  .svc-tile-txt b { font-size: 14.5px; }
  .svc-tile-txt small { font-size: 12.5px; }
  .svc-price { margin-top: 4px; font-size: 14.5px; }
}

.svc { margin-top: 64px; scroll-margin-top: 8px; }
.svc > .wrap { border-top: 1px solid var(--line); padding-top: 48px; }
.svc-head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: clamp(28px, 4.5vw, 72px); align-items: start; }
.svc-n { display: block; margin-bottom: 14px; font: 600 12px/1 var(--f-text); letter-spacing: .14em; color: var(--muted); }
.svc-txt h2 { font-size: clamp(24px, 2.2vw, 32px); font-weight: 300; margin-bottom: 16px; }
.svc-txt h3 { margin: 26px 0 12px; font-size: 16px; }
.svc-meta { display: grid; grid-template-columns: 1fr 1fr; margin: 22px 0 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.svc-meta > div { padding: 14px 0; }
.svc-meta > div + div { padding-left: 20px; border-left: 1px solid var(--line); }
.svc-meta dt { font: 600 10.5px/1 var(--f-text); letter-spacing: .14em; text-transform: uppercase; color: var(--muted); }
.svc-meta dd { margin: 8px 0 0; font: 600 19px/1.2 var(--f-text); color: var(--ink); }
.svc-meta dd small { display: block; margin-top: 4px; font: 400 12.5px/1.4 var(--f-text); color: var(--muted); }
.svc-gal { position: sticky; top: 88px; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.svc-ph { margin: 0; overflow: hidden; border-radius: var(--r); background: var(--soft); aspect-ratio: 4 / 3; }
.svc-ph--big { grid-column: span 2; aspect-ratio: 16 / 10; }
.svc-ph img { width: 100%; height: 100%; object-fit: cover; }
.svc-st-t { margin: 44px 0 22px; font-size: 16px; }
@media (max-width: 1023px) { .svc-head { grid-template-columns: 1fr; } .svc-gal { position: static; order: -1; } }
@media (max-width: 767px) {
  .svc { margin-top: 40px; }
  .svc > .wrap { padding-top: 32px; }
  .svc-gal { display: flex; gap: 8px; overflow-x: auto; scroll-snap-type: x mandatory; margin: 0 calc(var(--gut) * -1); padding: 0 var(--gut); scrollbar-width: none; }
  .svc-ph, .svc-ph--big { flex: 0 0 84%; aspect-ratio: 4 / 3; scroll-snap-align: center; }
  .svc-meta dd { font-size: 17px; }
  .svc-st-t { margin-top: 32px; }
}

/* B2B */
.b2b { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); border-radius: var(--r); overflow: hidden; background: var(--charcoal); color: rgb(255 255 255 / .8); }
.b2b-txt { padding: clamp(28px, 4vw, 56px); }
.b2b-tag { display: block; margin-bottom: 14px; font: 600 11px/1 var(--f-text); letter-spacing: .16em; text-transform: uppercase; color: var(--yolk); }
.b2b h2 { color: #fff; font-weight: 300; font-size: clamp(24px, 2.2vw, 32px); margin-bottom: 14px; }
.b2b p { max-width: 56ch; }
.b2b-list { list-style: none; margin: 24px 0 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 20px 28px; }
.b2b-list li { display: grid; grid-template-columns: 34px 1fr; gap: 12px; font-size: 13.5px; line-height: 1.5; }
.b2b-list i { font-size: 30px; color: #fff; }
.b2b-list b { display: block; margin-bottom: 2px; font: 600 15px/1.3 var(--f-disp); color: #fff; }
.b2b-img { margin: 0; min-height: 100%; }
.b2b-img img { width: 100%; height: 100%; object-fit: cover; }
@media (max-width: 1023px) { .b2b { grid-template-columns: 1fr; } .b2b-img { order: -1; aspect-ratio: 16 / 9; } }
@media (max-width: 767px) { .b2b-wrap { padding-inline: 0; } .b2b { border-radius: 0; } .b2b-txt { padding: 28px var(--gut) 32px; } .b2b-list { grid-template-columns: 1fr; } }

/* ===== О компании ===== */
.co-intro { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 36px; align-items: start; }
.co-img { margin: 0; aspect-ratio: 4 / 3; overflow: hidden; border-radius: var(--r); background: var(--soft); }
.co-img img { width: 100%; height: 100%; object-fit: cover; }
.co-facts { margin-top: 32px; }
.co-pillars { margin-top: 32px; }
.co-adv { margin-top: 32px; padding: 32px 0 0; gap: 24px; border-bottom: 0; }
@media (max-width: 767px) { .co-intro { grid-template-columns: 1fr; gap: 20px; } .co-img { order: -1; } }

/* Таймлайн: год слева, линия с точками, фото и текст */
.tl { list-style: none; margin: 32px 0 0; padding: 0; position: relative; }
.tl::before { content: ''; position: absolute; left: 92px; top: 8px; bottom: 8px; width: 1px; background: var(--line-2); }
.tl-i { position: relative; display: grid; grid-template-columns: 72px 160px minmax(0, 1fr); gap: 0 28px; align-items: start; padding: 0 0 28px 0; }
.tl-i::before { content: ''; position: absolute; left: 88px; top: 8px; width: 9px; height: 9px; border-radius: 50%; background: var(--bg); border: 1.5px solid var(--ink); }
.tl-i:last-child::before { background: var(--ink); }
.tl-y { font: 300 26px/1 var(--f-disp); letter-spacing: -.02em; color: var(--ink); font-variant-numeric: tabular-nums; }
.tl-img { grid-column: 2; margin: 0 0 0 20px; aspect-ratio: 4 / 3; overflow: hidden; border-radius: var(--r); background: var(--soft); }
.tl-img img { width: 100%; height: 100%; object-fit: cover; }
.tl-txt b { display: block; margin-bottom: 6px; font: 600 16px/1.3 var(--f-disp); color: var(--ink); }
.tl-txt p { margin: 0; font-size: 14.5px; }
@media (max-width: 767px) {
  .tl::before { left: 5px; }
  .tl-i { grid-template-columns: 96px minmax(0, 1fr); gap: 8px 14px; padding: 0 0 26px 26px; }
  .tl-i::before { left: 1px; top: 6px; }
  .tl-y { grid-column: 1 / -1; font-size: 22px; }
  .tl-img { grid-column: 1; margin: 0; }
}

.req { margin-top: 18px; padding-block: 8px; }
.req .tbl th { width: 40%; }
.req-ph { color: var(--muted); font-style: italic; }
.pol { list-style: none; margin: 22px 0 0; padding: 0; counter-reset: pol; display: grid; gap: 18px; max-width: 76ch; }
.pol li { position: relative; padding-left: 40px; counter-increment: pol; }
.pol li::before { content: counter(pol); position: absolute; left: 0; top: 0; width: 26px; height: 26px; display: grid; place-items: center; border-radius: 50%; background: var(--soft); font: 600 12.5px/1 var(--f-text); color: var(--ink); }
.pol b { display: block; margin-bottom: 4px; color: var(--ink); font-weight: 600; }
.pol p { margin: 0; font-size: 14.5px; }
.tl-img--cut { background: #fff; border: 1px solid var(--line); }
.tl-img--cut img { object-fit: contain; padding: 6px; }

/* ===== Контакты ===== */
.ct-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.ct-card { display: grid; align-content: start; justify-items: start; gap: 6px; padding: 24px 26px 26px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.ct-card > i { font-size: 30px; color: var(--ink); margin-bottom: 6px; }
.ct-card small { font: 600 10.5px/1 var(--f-text); letter-spacing: .14em; text-transform: uppercase; color: var(--muted); }
.ct-big { font: 500 19px/1.3 var(--f-disp); color: var(--ink); transition: color .2s; }
.ct-big:hover { color: var(--olive); }
.ct-mail { overflow-wrap: anywhere; }
.ct-card .muted { font-size: 13.5px; }
.ct-card .link { margin-top: 8px; font-size: 14px; }
@media (max-width: 1023px) { .ct-cards { grid-template-columns: 1fr; } .ct-card { grid-template-columns: 36px minmax(0, 1fr); column-gap: 14px; padding: 18px 18px 20px; } .ct-card > * { grid-column: 2; } .ct-card > i { grid-column: 1; grid-row: 1 / span 4; margin: 0; font-size: 26px; } }

.ct-show { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr); gap: clamp(28px, 4vw, 60px); margin-top: 56px; scroll-margin-top: 16px; }
.ct-show-txt h2 { margin-bottom: 18px; }
.ct-show-txt h3 { margin: 26px 0 12px; font-size: 16px; }
.ct-dl { display: grid; margin: 0; border-top: 1px solid var(--line); }
.ct-dl > div { display: grid; grid-template-columns: 130px minmax(0, 1fr); gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--line); }
.ct-dl dt { font-size: 13.5px; color: var(--muted); }
.ct-dl dd { margin: 0; color: var(--ink); font-weight: 500; }
.ct-dl dd small { display: block; font-weight: 400; font-size: 13px; color: var(--muted); }
.ct-maps { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.ct-way { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.ct-way li { display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: 10px; font-size: 14.5px; }
.ct-way i { font-size: 22px; color: var(--olive); }
.ct-way b { display: block; color: var(--ink); font-weight: 600; }
.ct-map { position: relative; min-height: 460px; border-radius: var(--r); overflow: hidden; background: var(--soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' fill='none' stroke='%23d9dade'%3E%3Cpath d='M0 20h40M20 0v40'/%3E%3C/svg%3E"); }
.ct-map iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; filter: grayscale(1) contrast(.95); }
@media (max-width: 1023px) { .ct-show { grid-template-columns: 1fr; } .ct-map { min-height: 340px; order: 2; } }
@media (max-width: 767px) { .ct-map { margin: 0 calc(var(--gut) * -1); border-radius: 0; min-height: 300px; } .ct-dl > div { grid-template-columns: 1fr; gap: 2px; } }

.ct-row { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: clamp(28px, 4vw, 60px); margin-top: 64px; padding-top: 48px; border-top: 1px solid var(--line); align-items: start; }
.ct-feed h2 { margin-bottom: 8px; }
.ct-form { display: grid; gap: 16px; margin-top: 22px; max-width: 720px; }
.ct-form[hidden] { display: none; }
.ct-form-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; align-items: start; }
.ct-h { font-size: 12.5px; color: var(--muted); }
.ct-form .chk .link { font-size: inherit; }
.ct-ok { display: grid; justify-items: start; gap: 10px; margin-top: 22px; padding: 28px; border: 1px solid var(--line); border-radius: var(--r); max-width: 720px; }
.ct-ok:focus { outline: none; }
.ct-ok i { font-size: 40px; color: var(--ok); }
.ct-ok b { font: 500 19px/1.3 var(--f-disp); color: var(--ink); }
.ct-ok p { margin: 0 0 6px; }
.ct-aside { display: grid; gap: 14px; }
.ct-aside h3 { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; font-size: 16px; }
.ct-aside h3 i { font-size: 22px; color: var(--olive); }
.ct-aside p { font-size: 14px; margin-bottom: 10px; }
.ct-aside .link { font-size: 14px; }
@media (max-width: 1023px) { .ct-row { grid-template-columns: 1fr; } }
@media (max-width: 767px) { .ct-form-2 { grid-template-columns: 1fr; } .ct-row { margin-top: 44px; padding-top: 36px; } .ct-form .btn { width: 100%; } }

/* Три способа купить (вводный ряд «Как купить?») */
.hb-ways { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; margin-bottom: 40px; border: 1px solid var(--line); border-radius: var(--r); }
.hb-way { display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: 2px 14px; align-items: start; padding: 20px 22px; }
.hb-way + .hb-way { border-left: 1px solid var(--line); }
.hb-way > i { grid-row: span 3; font-size: 30px; color: var(--ink); }
.hb-way b { font: 600 15px/1.3 var(--f-disp); color: var(--ink); }
.hb-way span { font-size: 13.5px; color: var(--muted); }
.hb-way a, .hb-way button { justify-self: start; margin-top: 6px; font-size: 14px; }
@media (max-width: 1023px) { .hb-ways { grid-template-columns: 1fr; margin-bottom: 24px; } .hb-way + .hb-way { border-left: 0; border-top: 1px solid var(--line); } .hb-way { padding: 16px 18px; } }
