/* =====================================================================
   Стиль «как у iPhone» для сайтов менеджеров. Подключается после style.css и перекрывает «студийный» стиль.
   Светлый фон, белые карточки со скруглением и мягкой тенью, системный шрифт (на iPhone — SF, на остальных — Inter),
   синие кнопки-«таблетки», полупрозрачные шапка и нижнее меню, переключатели как в настройках iOS.
   Чтобы вернуть старый вид — убрать подключение apple.css в head() (lib/pages.js).
   ===================================================================== */
:root {
  --bg: #f5f5f7;
  --soft: #f5f5f7;
  --card: #ffffff;
  --ink: #1d1d1f;
  --text: #1d1d1f;
  --muted: #6e6e73;
  --line: #d2d2d7;
  --primary: #0071e3;
  --primary-2: #0077ed;
  --primary-soft: #e8f2fd;
  --brand: #0071e3;
  --wa: #248a3d;           /* зелёный iOS, тёмный вариант — белый текст на нём читается */
  --sans: -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", Inter, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --mono: var(--sans);
  --r-xl: 28px; --r-lg: 22px; --r-md: 16px; --r-sm: 12px; --pill: 980px;
  --sh-1: 0 1px 2px rgba(0, 0, 0, .04), 0 4px 16px rgba(0, 0, 0, .06);
  --sh-2: 0 2px 6px rgba(0, 0, 0, .05), 0 12px 32px rgba(0, 0, 0, .10);
}
body { background: var(--bg); color: var(--ink); font-family: var(--sans); -webkit-font-smoothing: antialiased; letter-spacing: -.01em; }

/* Заголовки — без капса, плотные и жирные, как на apple.com */
h1, h2, h3 { text-transform: none !important; font-weight: 700; letter-spacing: -.025em; color: var(--ink); }
.section h2, .cta h2 { font-size: clamp(30px, 6vw, 48px); line-height: 1.08; }
h2 .hl, h1 .hl, .hl { color: var(--primary); }
.kicker, .pill { font-family: var(--sans); text-transform: none; letter-spacing: 0; font-size: 15px; font-weight: 600; color: var(--muted); }
.kicker::before { display: none; }
.pill { border: 0; background: var(--card); box-shadow: var(--sh-1) !important; border-radius: var(--pill) !important; padding: 7px 14px; font-size: 14px; }
.pill::before { display: none; }
.lead { color: var(--muted); font-size: 19px; line-height: 1.45; }
b, strong { font-weight: 600; }

/* Секции: без линий, чередуем белый и светло-серый фон */
.section { border-top: 0; padding: 64px 0; }
.js .section::before { display: none; }
.catalog, .reviews-sec, .about { background: var(--bg); }
.news-sec, .steps-sec, .faq-sec { background: #fff; }

/* Кнопки — «таблетки» */
.btn { border-radius: var(--pill) !important; font-family: var(--sans); font-weight: 600; font-size: 17px; letter-spacing: -.01em; text-transform: none; border: 0; min-height: 50px; padding: 12px 24px; }
.btn-primary { background: var(--primary); color: #fff; }
.btn-primary:hover { background: var(--primary-2); }
.btn-wa, .cta .btn-wa { background: var(--wa); color: #fff; border: 0; }
.btn-wa svg { color: #fff; }
.btn-wa:hover { background: #1e7a35; }
.btn-wa::after { display: none !important; } /* без «блика» — у iOS кнопки спокойные */
.link-btn { font-family: var(--sans); text-transform: none; letter-spacing: 0; font-size: 16px; font-weight: 500; color: var(--primary); }

/* Шапка — полупрозрачная, с размытием, как в Safari */
.topbar { background: rgba(255, 255, 255, .72); -webkit-backdrop-filter: saturate(180%) blur(20px); backdrop-filter: saturate(180%) blur(20px); border-bottom: 1px solid rgba(0, 0, 0, .08); }
.brand b { text-transform: none; font-weight: 600; font-size: 16px; letter-spacing: -.01em; }
.brand small { font-family: var(--sans); text-transform: none; letter-spacing: 0; font-size: 12px; color: var(--muted); }
.brand img { border-radius: 8px !important; }
.nav a { font-family: var(--sans); text-transform: none; letter-spacing: 0; font-size: 15px; border: 0; color: var(--ink); }
.nav a:hover { background: transparent; color: var(--primary); }
.head-cta { border-radius: var(--pill) !important; min-height: 38px !important; align-self: center !important; margin-right: 0 !important; padding: 0 18px !important; font-size: 15px; }
/* Переключатель языка — сегменты iOS */
.lang-sw { border: 0; background: rgba(118, 118, 128, .12); border-radius: 9px !important; padding: 2px; }
.lang-sw a { font-family: var(--sans); text-transform: none; letter-spacing: 0; font-size: 14px; font-weight: 500; min-height: 30px; min-width: 46px; border-radius: 7px !important; border: 0 !important; }
.lang-sw a.on { background: #fff; color: var(--ink); box-shadow: 0 1px 3px rgba(0, 0, 0, .12), 0 1px 1px rgba(0, 0, 0, .04) !important; }
.lang-sw a:not(.on):hover { background: transparent; color: var(--primary); }

/* Первый экран */
.hero { background: #fff; border-bottom: 0 !important; }
.hero h1 { font-weight: 700; letter-spacing: -.035em; line-height: 1.04; font-size: clamp(36px, 8.5vw, 64px); }
.hero-sub { color: var(--muted); font-size: 19px; line-height: 1.45; }
.hero-points li::before { content: "✓"; color: var(--primary); font-weight: 700; }
.hero-photo { border-radius: var(--r-xl) !important; box-shadow: var(--sh-2) !important; }
.hero-badge { border: 0; background: rgba(255, 255, 255, .82); -webkit-backdrop-filter: blur(20px); backdrop-filter: blur(20px); border-radius: var(--r-md) !important; box-shadow: var(--sh-1) !important; }
.hero-badge b { text-transform: none; font-weight: 600; letter-spacing: -.01em; }
.hero-badge span { font-family: var(--sans); text-transform: none; letter-spacing: 0; font-size: 13px; color: var(--muted); }
@media (min-width: 900px) {
  .hero { padding: 48px 0 64px; }
  .hero-in { gap: 56px; align-items: center; }
  .hero-text { padding: 0; }
  .hero-media { border-left: 0; }
  .hero-photo { min-height: 0; aspect-ratio: 4 / 5; height: auto; }
  .hero-badge { left: -24px; bottom: 32px; }
}
/* Как купить — шаги с синими кружками */
.howto { background: var(--bg); border-radius: var(--r-lg) !important; padding: 18px 20px; }
.howto-title { font-weight: 600; }
.howto li::before { border-radius: 50% !important; background: var(--primary); }

/* Новости */
.news { border: 0; gap: 20px; }
.news-card { border: 0; background: var(--card); border-radius: var(--r-lg) !important; box-shadow: var(--sh-1) !important; overflow: hidden; }
.news-more { font-family: var(--sans); text-transform: none; letter-spacing: 0; font-size: 16px; font-weight: 500; color: var(--primary); text-decoration: none; }

/* Фильтр — карточка с переключателями iOS */
.filter { background: var(--card); border: 0; border-radius: var(--r-lg) !important; box-shadow: var(--sh-1) !important; }
.seg { background: rgba(118, 118, 128, .12); border: 0; border-radius: 10px !important; padding: 2px; gap: 2px; }
.seg button, #fType button, #fCity button { background: transparent; border: 0 !important; border-radius: 8px !important; color: var(--ink); font-family: var(--sans); font-size: 14px; font-weight: 500; letter-spacing: -.01em; min-height: 40px; }
.seg button.on, #fType button.on, #fCity button.on { background: #fff; color: var(--ink); box-shadow: 0 1px 3px rgba(0, 0, 0, .12), 0 1px 1px rgba(0, 0, 0, .04) !important; }
@media (max-width: 699px) {
  #fType { background: rgba(118, 118, 128, .12); gap: 2px; }
  #fType button { background: transparent; }
  #fType button.on { background: #fff; }
}
.filter .field-head label { font-weight: 600; font-size: 17px; }
.filter .field-head output { color: var(--primary); font-weight: 600; }
.chips button { border: 0; background: var(--bg); color: var(--ink); border-radius: var(--pill) !important; font-family: var(--sans); font-weight: 500; font-size: 15px; min-height: 44px; }
.chips button:hover { background: #ebebf0; }
.chips button.on { background: var(--primary); color: #fff; }
.exact-hint { color: var(--muted); }
/* Ползунки — как в iOS: тонкая полоса, белый круглый бегунок с тенью */
input.range { background: linear-gradient(to right, var(--primary) var(--p), #d1d1d6 var(--p)) center / 100% 4px no-repeat; border-radius: 4px !important; }
.dual::before { height: 4px; top: 20px; border-radius: 4px !important; background: linear-gradient(to right, #d1d1d6 var(--lo), var(--primary) var(--lo), var(--primary) var(--hi), #d1d1d6 var(--hi)); }
input[type=range]::-webkit-slider-thumb { width: 28px; height: 28px; margin-top: -12px; border: 0; background: #fff; border-radius: 50% !important; box-shadow: 0 0.5px 4px rgba(0, 0, 0, .12), 0 6px 13px rgba(0, 0, 0, .12) !important; }
input[type=range]::-moz-range-thumb { width: 28px; height: 28px; border: 0; background: #fff; border-radius: 50% !important; box-shadow: 0 0.5px 4px rgba(0, 0, 0, .12), 0 6px 13px rgba(0, 0, 0, .12) !important; }
.results-head select { border: 0; background: var(--card); border-radius: var(--r-sm) !important; box-shadow: var(--sh-1) !important; font-family: var(--sans); font-size: 15px; font-weight: 500; min-height: 44px; padding: 0 14px; }

/* Карточки квартир — белые, со скруглением и тенью */
.cards { border: 0; gap: 20px; }
.card { background: var(--card); border: 0; border-radius: var(--r-lg) !important; box-shadow: var(--sh-1) !important; overflow: hidden; transition: transform .3s ease, box-shadow .3s ease; }
@media (hover: hover) { .card:hover { transform: translateY(-4px); box-shadow: var(--sh-2) !important; background: var(--card); } }
.card-photo { background: var(--bg); }
.card-body { padding: 18px 20px 4px; }
.card-price b { font-weight: 700; font-size: 28px; letter-spacing: -.02em; color: var(--ink); }
.card-title { font-weight: 500; color: var(--ink); }
.card-addr { color: var(--muted); }
.pay-line { background: var(--bg); border-radius: var(--r-sm) !important; }
.pay-line b { color: var(--ink); }
.card-actions { padding: 14px 20px 20px; }
.card-actions .btn-want { background: var(--wa); border-radius: var(--pill) !important; }
.empty { background: var(--card); border-radius: var(--r-lg) !important; box-shadow: var(--sh-1) !important; border: 0; }
/* Метки на фото — «стекло» */
.tag { border-radius: var(--pill) !important; font-family: var(--sans); text-transform: none; letter-spacing: 0; font-size: 12px; font-weight: 600; padding: 5px 10px;
  background: rgba(255, 255, 255, .85); color: var(--ink); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); }
.tag-inst { background: rgba(0, 113, 227, .92); color: #fff; }
.tag-sale { background: rgba(255, 59, 48, .92); color: #fff; }
.cp-dots i { border-radius: 50% !important; }

/* Шаги рассрочки, документы */
.steps { border: 0; gap: 16px; }
.steps li { background: var(--bg); border: 0; border-radius: var(--r-lg) !important; padding: 24px; font-size: 17px; line-height: 1.4; color: var(--ink); }
.steps li::before { content: counter(s); width: 36px; height: 36px; display: grid; place-items: center; margin-bottom: 16px; border-radius: 50% !important;
  background: var(--primary); color: #fff; font-family: var(--sans); font-weight: 600; font-size: 16px; }
.docs { background: var(--bg); border: 0; border-radius: var(--r-lg) !important; }
.docs h3 { font-size: 19px; }

/* Обо мне, офис, цифры, Instagram */
.office { background: var(--card); border: 0; border-radius: var(--r-lg) !important; box-shadow: var(--sh-1) !important; }
.office-label, .office-link { font-family: var(--sans); text-transform: none; letter-spacing: 0; font-size: 14px; }
.office-label { color: var(--muted); font-weight: 500; }
.office-link { color: var(--primary); font-weight: 500; }
.office-addr { text-transform: none; font-weight: 600; font-size: 19px; }
.office-logo { border-radius: 10px !important; }
.about-text { color: var(--ink); font-size: 18px; line-height: 1.55; }
.stats { border: 0; gap: 12px; padding: 0; background: transparent; }
.stat { background: var(--card); border: 0 !important; border-radius: var(--r-lg) !important; box-shadow: var(--sh-1) !important; padding: 20px !important; }
.stat b { text-transform: none; font-weight: 700; font-size: 26px; letter-spacing: -.02em; }
.stat span { font-family: var(--sans); text-transform: none; letter-spacing: 0; font-size: 14px; }
.stat svg { color: var(--primary); }
.insta-link { border: 0; border-radius: var(--pill) !important; box-shadow: var(--sh-1) !important; padding: 8px 20px 8px 10px; }

/* Отзывы и вопросы */
.reviews { border: 0; gap: 16px; }
.review { background: var(--card); border: 0; border-radius: var(--r-lg) !important; box-shadow: var(--sh-1) !important; padding: 24px; }
.stars { color: #ff9f0a; }
.avatar { border-radius: 50% !important; background: var(--primary); }
.review figcaption b { text-transform: none; letter-spacing: 0; font-weight: 600; font-size: 15px; }
.review figcaption small { font-family: var(--sans); }
.faq { border: 0; display: grid; gap: 10px; }
.faq details { background: var(--bg); border: 0; border-radius: var(--r-md) !important; }
.faq summary { font-weight: 600; padding: 18px 56px 18px 20px; font-size: 17px; }
.faq summary::after { content: "+"; right: 16px; top: 14px; width: 30px; height: 30px; border-radius: 50% !important; background: #fff; color: var(--primary); font-weight: 400; }
.faq details p { padding: 0 20px 18px; color: var(--muted); }

/* Финальный блок */
.cta { background: var(--ink); background-image: none; border-radius: var(--r-xl) !important; padding: 56px 24px; }
.cta h2 { color: #fff; }
.cta p { color: rgba(255, 255, 255, .72); }

/* Нижнее меню — «стекло», как панель вкладок iOS */
.tabbar { background: rgba(249, 249, 249, .88); -webkit-backdrop-filter: saturate(180%) blur(20px); backdrop-filter: saturate(180%) blur(20px); border-top: 1px solid rgba(0, 0, 0, .1); }
.tab { font-family: var(--sans); text-transform: none; letter-spacing: 0; font-size: 11px; font-weight: 500; color: #8e8e93; }
.tab + .tab { border-left: 0; }
.tab svg { stroke-width: 1.8; }
.tab.on { color: var(--primary); }
.tab-wa { color: var(--wa); }

/* Страница квартиры */
.apt-complex { font-family: var(--sans); text-transform: none; letter-spacing: 0; font-size: 15px; font-weight: 600; color: var(--primary); }
.apt h1 { font-weight: 700; letter-spacing: -.03em; }
.gallery { border-radius: var(--r-lg) !important; }
.gallery-count { border-radius: var(--pill) !important; background: rgba(0, 0, 0, .55); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); font-family: var(--sans); font-size: 13px; }
.calc { background: var(--card); border: 0; border-radius: var(--r-lg) !important; box-shadow: var(--sh-1) !important; overflow: hidden; }
.calc-main { background: var(--bg); color: var(--ink); border-radius: 0 !important; }
.calc-main span, .calc-main small { color: var(--muted); }
.calc-main b { color: var(--ink); font-weight: 700; letter-spacing: -.03em; }
.calc-input { background: var(--bg); border: 0; border-radius: var(--r-sm) !important; }
.calc-input input { font-weight: 600; }
.calc-rows > div { border-top: 1px solid #e5e5ea; }
.calc-rows dd { font-weight: 600; }
.cash-offer { border-radius: var(--r-md) !important; }
.apt-cta { border-radius: var(--pill) !important; }
.details, .map { background: transparent; }
.map iframe { border-radius: var(--r-lg) !important; }
.gloss { background: var(--bg); border-radius: var(--r-md) !important; }
.mini { background: var(--card); border: 0; border-radius: var(--r-md) !important; box-shadow: var(--sh-1) !important; }
.mini img, .mini .ph { border-radius: 10px !important; }
.mini span { color: var(--primary); }
.gone .btn { border-radius: var(--pill) !important; }

/* Просмотр фото на весь экран */
.lb-btn { border-radius: 50% !important; }
.lb-more { border-radius: var(--pill) !important; }

/* Подвал — светлый, как на apple.com */
.fx { --fx-bg: var(--bg); --fx-text: var(--ink); --fx-muted: var(--muted); --fx-line: var(--line); --fx-accent: var(--primary);
  background: var(--bg); color: var(--ink); padding: 40px 0 28px; border-top: 1px solid var(--line); }
.fx-cta { background: var(--card); border: 0 !important; border-radius: var(--r-lg) !important; box-shadow: var(--sh-1) !important; padding: 22px 24px; margin-top: 0; }
.fx-cta-text b { font-weight: 700; letter-spacing: -.02em; color: var(--ink); }
.fx-cta-text span { color: var(--muted); }
.fx-cta-btn { background: var(--primary); color: #fff; border-radius: var(--pill) !important; font-family: var(--sans); text-transform: none; letter-spacing: 0; font-size: 15px; font-weight: 600; }
.fx-cta-btn::after { display: none !important; }
.fx-cta:hover .fx-cta-btn { background: var(--primary-2); }
.fx-bottom { margin-top: 28px; border-top: 1px solid var(--line); font-family: var(--sans); text-transform: none; letter-spacing: 0; }
.fx-legal a, .fx-copy { color: var(--muted); font-family: var(--sans); text-transform: none; letter-spacing: 0; }
.fx-legal a:hover { color: var(--primary); }
.fx-short { padding-top: 28px; }

/* Заставка при загрузке — белая */
.preloader { background: #fff; }
.pl-line { border-radius: 2px !important; }
.pl-line span { background: var(--primary); }
.pl-cap { font-family: var(--sans); text-transform: none; letter-spacing: 0; font-size: 14px; }
.pl-logo, .pl-name { border-radius: 12px !important; }

/* «Рука» на ползунке — облачко-подсказка в стиле iOS */
.hand-tip { border-radius: var(--r-sm) !important; font-family: var(--sans); text-transform: none; letter-spacing: 0; }
/* Подписи полей вне фильтра (расчёт взноса на странице квартиры) */
.field-head label { font-family: var(--sans); text-transform: none; letter-spacing: 0; font-size: 16px; font-weight: 600; color: var(--ink); }
.calc-min { color: var(--muted); }

/* =====================================================================
   iPhone 17 / iOS 26 — «жидкое стекло» (Liquid Glass): плавающая стеклянная панель снизу,
   концентрические скругления (углы фото повторяют углы карточки), объёмные кнопки, нажатие «вдавливает» кнопку.
   ===================================================================== */
:root { --r-xl: 34px; --r-lg: 28px; --r-md: 20px; --glass: rgba(255, 255, 255, .6); --glass-edge: rgba(255, 255, 255, .75); }
body { background: #f2f2f7; }
.catalog, .reviews-sec, .about { background: #f2f2f7; }

/* Стекло: полупрозрачный фон, размытие, светлая кромка сверху */
.topbar { background: rgba(255, 255, 255, .62); -webkit-backdrop-filter: blur(28px) saturate(190%); backdrop-filter: blur(28px) saturate(190%);
  border-bottom: 1px solid rgba(255, 255, 255, .6); box-shadow: 0 1px 0 rgba(0, 0, 0, .06), 0 8px 24px rgba(0, 0, 0, .04) !important; }

/* Нижнее меню — плавающая стеклянная «капсула», как панель вкладок iOS 26 */
@media (max-width: 1023px) {
  .tabbar { left: 12px; right: 12px; bottom: calc(10px + env(safe-area-inset-bottom)); padding: 6px; gap: 4px;
    border-radius: 32px !important; background: var(--glass); border: 1px solid var(--glass-edge);
    -webkit-backdrop-filter: blur(28px) saturate(190%); backdrop-filter: blur(28px) saturate(190%);
    box-shadow: 0 10px 34px rgba(0, 0, 0, .14), inset 0 1px 0 rgba(255, 255, 255, .9) !important; }
  .tab { min-height: 54px; border-radius: 26px !important; transition: background .25s ease, color .25s ease; }
  .tab.on { background: rgba(0, 113, 227, .12); color: var(--primary); }
  .tab-wa { color: var(--wa); }
  body { padding-bottom: calc(96px + env(safe-area-inset-bottom)); }
}

/* Кнопки с объёмом: лёгкий градиент, блик по верхнему краю, цветная тень; при нажатии чуть «вдавливаются» */
.btn, .chips button, .seg button, .lang-sw a, .tab { transition: transform .18s ease, background .25s ease, box-shadow .25s ease; }
.btn:active, .chips button:active, .seg button:active, .tab:active { transform: scale(.96); }
.btn-primary, .chips button.on, .fx-cta-btn {
  background: linear-gradient(180deg, #1c8cff 0%, #0071e3 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .35), 0 6px 18px rgba(0, 113, 227, .28) !important; }
.btn-wa, .card-actions .btn-want, .apt-cta, .cta .btn-wa {
  background: linear-gradient(180deg, #31a852 0%, #248a3d 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .35), 0 8px 22px rgba(36, 138, 61, .30) !important; }
.btn-wa:hover, .card-actions .btn-want:hover { background: linear-gradient(180deg, #2c9d4b 0%, #1f7f37 100%); }

/* Карточки: крупнее скругление, фото внутри с отступом и своим скруглением (концентрично) */
.card { border-radius: var(--r-lg) !important; }
.card-photo { margin: 8px 8px 0; border-radius: calc(var(--r-lg) - 8px) !important; overflow: hidden; }
.card-price b { font-size: 30px; font-weight: 700; letter-spacing: -.03em; font-variant-numeric: tabular-nums; }
.pay-line { background: rgba(118, 118, 128, .08); border-radius: 16px !important; }
.tag { background: rgba(255, 255, 255, .7); border: 1px solid rgba(255, 255, 255, .7); box-shadow: 0 2px 8px rgba(0, 0, 0, .08) !important; }
.tag-inst { background: rgba(0, 113, 227, .88); border-color: rgba(255, 255, 255, .35); }
.tag-sale { background: rgba(255, 59, 48, .9); border-color: rgba(255, 255, 255, .35); }
.filter, .news-card, .office, .stat, .review, .empty, .calc, .fx-cta, .insta-link { border-radius: var(--r-lg) !important; }
.hero-photo { border-radius: var(--r-xl) !important; }
.gallery { border-radius: var(--r-lg) !important; }
.mini { border-radius: var(--r-md) !important; }

/* Переключатели: выбранный сегмент — «стеклянная» плашка */
.seg, .lang-sw { background: rgba(118, 118, 128, .14); }
.seg button.on, #fType button.on, #fCity button.on, .lang-sw a.on {
  background: rgba(255, 255, 255, .95); box-shadow: 0 2px 8px rgba(0, 0, 0, .12), inset 0 1px 0 #fff !important; }
.chips button { background: rgba(118, 118, 128, .1); }
.chips button:hover { background: rgba(118, 118, 128, .16); }

/* Бейдж с именем на фото — стекло */
.hero-badge { background: var(--glass); border: 1px solid var(--glass-edge); -webkit-backdrop-filter: blur(24px) saturate(180%); backdrop-filter: blur(24px) saturate(180%); }

/* Цифры — ровные по ширине, как в приложениях Apple */
.calc-main b, .stat b, .field-head output, .price-line, .mini span { font-variant-numeric: tabular-nums; }

/* =====================================================================
   Графитовый акцент вместо синего (решение 31.10.2026): строго, как Apple Store.
   Акцентные слова в заголовках — серые (двухцветные заголовки apple.com), выбранное — графитовое,
   зелёный остаётся только у WhatsApp и «Хочу эту квартиру», поэтому кнопка заявки заметнее всего.
   ===================================================================== */
:root { --primary: #1d1d1f; --primary-2: #000; --brand: #1d1d1f; --primary-soft: #ededf0; --accent-text: #86868b; }
h2 .hl, h1 .hl, .hl { color: var(--accent-text); }
.btn-primary, .chips button.on, .fx-cta-btn {
  background: linear-gradient(180deg, #3a3a3c 0%, #1d1d1f 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .18), 0 6px 18px rgba(0, 0, 0, .18) !important; }
.fx-cta:hover .fx-cta-btn, .btn-primary:hover { background: linear-gradient(180deg, #2c2c2e 0%, #000 100%); }
.tag-inst { background: rgba(29, 29, 31, .82); border-color: rgba(255, 255, 255, .25); }
.filter .field-head output, .link-btn, .news-more, .office-link, .apt-complex, .mini span, .stat svg { color: var(--ink); }
.news-more, .link-btn { text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 1px; }
.nav a:hover, .lang-sw a:not(.on):hover, .fx-legal a:hover { color: var(--accent-text); }
.hero-points li::before { color: var(--ink); }
.howto li::before, .avatar, .steps li::before { background: var(--ink); }
.faq summary::after { color: var(--ink); }
@media (max-width: 1023px) { .tab.on { background: rgba(0, 0, 0, .07); color: var(--ink); } }
.tab.on { color: var(--ink); }
.pl-line span { background: var(--ink); }

/* «Как купить» — одна строка из трёх коротких шагов: номер сверху, подпись под ним, стрелки между */
.howto { background: transparent; padding: 0; margin: 18px 0 20px; max-width: 520px; }
.howto ol { grid-template-columns: repeat(3, 1fr); gap: 0; }
.howto li { flex-direction: column; align-items: center; text-align: center; gap: 8px; font-size: 14px; font-weight: 500; line-height: 1.25; position: relative; padding: 0 6px; }
.howto li::before { width: 34px; height: 34px; font-size: 15px; }
.howto li + li::after { content: "›"; position: absolute; left: -4px; top: 4px; font-size: 22px; color: #c7c7cc; }
.hero-initials { background: linear-gradient(135deg, #48484a, #1d1d1f) !important; }

/* Заголовок первого экрана: на телефоне компактнее, чтобы не «распирал» экран (было до 64px) */
.hero h1 { font-size: clamp(28px, 7.2vw, 54px); line-height: 1.12; letter-spacing: -.03em; margin-bottom: 14px; }
@media (min-width: 900px) { .hero h1 { font-size: clamp(40px, 4.4vw, 56px); } }
.section h2, .cta h2 { font-size: clamp(26px, 5.6vw, 44px); }

/* Логотип со сплошным фоном (например, белым): вокруг него скруглённая плашка того же цвета —
   цвет фона берёт сервер с краёв картинки (lib/logo-bg.js). Прозрачные логотипы без плашки. */
img.logo-plate { background: var(--logo-bg) !important; border-radius: 10px !important;
  box-shadow: 0 0 0 .5px rgba(0, 0, 0, .08), 0 2px 8px rgba(0, 0, 0, .06) !important; }
.brand img.logo-plate, .hero-badge img.logo-plate { height: 42px; max-width: 150px; padding: 6px 10px; }
.office-logo.logo-plate { max-height: 78px; max-width: 200px; padding: 9px 14px; border-radius: 14px !important; }
.pl-logo.logo-plate { max-height: 130px; max-width: 210px; padding: 14px 20px; border-radius: 18px !important; }
