/* ==========================================================================
   ФСМ — тема 2.0. Строгий минимализм по ТЗ (референс: Apple, boca.su).
   Белый и молочный фон, графит и фиолетовый #5332BA, шрифт Inter.
   Без градиентов, теней, бликов и плашек. Много воздуха, крупные фото.
   ========================================================================== */
:root {
  --bg: #FFFFFF;
  --alt: #F8F9FA;
  --tile: #F5F5F7;
  --ink: #111111;
  --ink-2: #1C1C1E;
  --mute: #6E6E73;
  --mute-2: #86868B;
  --line: #E5E5EA;
  --line-2: #D2D2D7;
  --accent: #5332BA;
  --accent-soft: #EFEBFA;
  --ink-3: #3A3A3C;
  --mute-3: #AEAEB2;
  --tile-2: #F1F1F2;
  --danger: #C9372C;
  --ok: #2E7D32;

  --f: "Inter", "SF Pro Display", -apple-system, "Segoe UI", system-ui, sans-serif;
  --r: 20px;
  --r-lg: 28px;
  --gut: clamp(16px, 2.2vw, 40px);
  --maxw: 1880px;
  --hh: 64px;
  --sec: clamp(80px, 10vw, 160px);
  --ease: cubic-bezier(.25, .1, .25, 1);
  --ease-out: cubic-bezier(.16, 1, .3, 1);
  color-scheme: light;
}

/* ---------- База ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; overflow-x: clip; scroll-padding-top: 80px; }
body { margin: 0; background: var(--bg); color: var(--ink); font: 400 17px/1.5 var(--f); letter-spacing: -.011em; -webkit-font-smoothing: antialiased; overflow-x: hidden; }
img, svg, canvas { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button { font: inherit; color: inherit; background: none; border: 0; cursor: pointer; padding: 0; letter-spacing: inherit; }
input, select, textarea { font: inherit; color: inherit; letter-spacing: inherit; }
h1, h2, h3, h4 { margin: 0; font-weight: 600; text-wrap: balance; }
p { margin: 0; }
ul, ol { margin: 0; padding: 0; list-style: none; }
dl, dd { margin: 0; }
[hidden] { display: none !important; }
:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; border-radius: 6px; }
::selection { background: var(--accent); color: #fff; }
svg { width: 20px; height: 20px; flex: none; }

.wrap { width: 100%; max-width: var(--maxw); margin-inline: auto; padding-inline: var(--gut); }
.section { padding-block: var(--sec); }
.section--tight { padding-block: clamp(40px, 5vw, 72px); }
.section--alt, .section--paper { background: var(--alt); }
.sr-only { position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

.h2 { font-size: clamp(30px, 3.6vw, 52px); line-height: 1.08; letter-spacing: -.03em; }
.lead { font-size: clamp(17px, 1.4vw, 20px); line-height: 1.45; color: var(--mute); max-width: 580px; }
.kicker, .eyebrow, .mono { font-size: 13px; font-weight: 500; letter-spacing: .06em; text-transform: uppercase; color: var(--mute); }
.kicker, .eyebrow { margin-bottom: 16px; }
.eyebrow { display: flex; flex-wrap: wrap; gap: 4px 10px; }
.eyebrow span + span::before { content: "·"; margin-right: 10px; }
.kicker--light { color: rgba(255,255,255,.75); }
.shead { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 16px 40px; margin-bottom: clamp(32px, 4vw, 56px); }
.sec-head__note { max-width: 380px; font-size: 15px; color: var(--mute); }
.more, .link { display: inline-flex; align-items: center; gap: 6px; font-size: 16px; font-weight: 500; color: var(--accent); transition: opacity .2s; }
.more svg, .link svg { width: 16px; height: 16px; transition: transform .3s var(--ease-out); }
.more:hover, .link:hover { opacity: .75; }
.more:hover svg { transform: translateX(3px); }
.link-btn { color: var(--accent); font-weight: 500; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; transition: opacity .2s; }
.link-btn:hover { opacity: .7; }
.link-btn--plain { text-decoration: none; }
.empty-note { padding: 32px 0; color: var(--mute); }
.seo-list { display: grid; gap: 6px; padding: 12px 0; }

/* Плавное появление — только прозрачность и небольшой сдвиг */
.js .reveal { opacity: 0; transform: translateY(24px); transition: opacity 1s var(--ease-out), transform 1s var(--ease-out); }
.js .reveal.is-in { opacity: 1; transform: none; }

/* ---------- Кнопки: плоские или с тонким контуром ---------- */
.btn { --bg: var(--ink); --fg: #fff; display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 0 26px; border-radius: 999px; background: var(--bg); color: var(--fg); font-size: 15px; font-weight: 500; white-space: nowrap; transition: background-color .2s, color .2s, opacity .2s, border-color .2s; border: 1px solid transparent; }
.btn svg { width: 18px; height: 18px; }
.btn:hover { opacity: .86; }
.btn--dark, .btn--lime { --bg: var(--ink); --fg: #fff; }
.btn--violet, .btn--accent { --bg: var(--accent); --fg: #fff; }
.btn--line, .btn--ghost-dark { --bg: transparent; --fg: var(--ink); border-color: var(--ink); }
.btn--line:hover { --bg: var(--ink); --fg: #fff; opacity: 1; }
.btn--light { --bg: #fff; --fg: var(--ink); }
.btn--line-light, .btn--ghost { --bg: transparent; --fg: #fff; border-color: rgba(255,255,255,.75); }
.btn--line-light:hover { --bg: #fff; --fg: var(--ink); opacity: 1; }
/* Прозрачная кнопка с тонкой белой обводкой — на фото баннера */
.btn--glass { --bg: rgba(255,255,255,.1); --fg: #fff; border-color: rgba(255,255,255,.85); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.btn--glass:hover { --bg: rgba(255,255,255,.24); opacity: 1; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.btn--sm { min-height: 38px; padding: 0 18px; font-size: 14px; }
.btn--lg { min-height: 56px; padding: 0 32px; font-size: 16px; }
.btn--block { width: 100%; }
.btn[disabled] { opacity: .32; cursor: not-allowed; }

/* ---------- Строка акции ---------- */
.pstrip { background: var(--ink); color: rgba(255,255,255,.88); font-size: 13px; }
.pstrip__in { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 4px 18px; min-height: 38px; padding-block: 6px; text-align: center; }
.pstrip__code { margin-left: 4px; padding: 1px 8px; border: 1px solid rgba(255,255,255,.45); border-radius: 6px; color: #fff; font-weight: 600; letter-spacing: .04em; cursor: copy; transition: background .2s, color .2s; }
.pstrip__code:hover, .pstrip__code.is-copied { background: #fff; color: var(--ink); }
.pstrip__link { display: inline-flex; align-items: center; gap: 4px; color: #fff; font-weight: 500; }
.pstrip__link svg { width: 14px; height: 14px; }
.pstrip__link:hover { opacity: .75; }
@media (max-width: 640px) { .pstrip { font-size: 12.5px; } .pstrip__badge, .pstrip__link { display: none; } .pstrip__in { min-height: 34px; } }

/* ---------- Шапка ---------- */
.header { position: sticky; top: 0; z-index: 50; background: rgba(255,255,255,.9); -webkit-backdrop-filter: saturate(180%) blur(18px); backdrop-filter: saturate(180%) blur(18px); border-bottom: 1px solid transparent; transition: transform .4s var(--ease-out), border-color .3s; }
.header.is-scrolled { border-bottom-color: var(--line); }
.header.is-hidden { transform: translateY(-100%); }
.admin-bar .header { top: 32px; }
@media (max-width: 782px) { .admin-bar .header { top: 0; } }
.header__in { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; gap: 24px; min-height: var(--hh); }
.logo { display: inline-flex; justify-self: start; }
.logo__img { height: 34px; width: auto; max-width: none; }
.nav { display: flex; align-items: center; gap: 6px; }
/* Пункты меню — «пилюли»: фиолетовая подложка только при наведении и у раздела, в котором находится посетитель */
.nav a { display: inline-block; padding: 7px 16px; border-radius: 999px; font-size: 14.5px; font-weight: 500; color: var(--accent); transition: background-color .25s, color .25s; }
.nav a:hover, .nav a:focus-visible { background: var(--accent); color: #fff; }
.nav a.is-active { background: var(--accent); color: #fff; }
.header__act { display: flex; align-items: center; justify-content: flex-end; gap: 2px; }
.header__phone { margin-right: 8px; padding: 0 6px; font-size: 14.5px; font-weight: 500; color: var(--accent); white-space: nowrap; transition: opacity .2s; }
.header__phone:hover { opacity: .7; }
.header__sep { width: 1px; height: 20px; margin-inline: 6px; background: var(--line); }
.hicon { position: relative; width: 40px; height: 40px; display: grid; place-items: center; border-radius: 50%; color: var(--ink); transition: color .2s, background .2s; }
.hicon:hover { color: var(--accent); }
.hicon svg { width: 22px; height: 22px; }
.hicon--msg { color: var(--accent); }
.hicon--msg svg { width: 20px; height: 20px; }
.hicon--tel { display: none; }
.cart-btn { margin-left: 4px; }
.hicon__n { position: absolute; top: 3px; right: 1px; min-width: 17px; height: 17px; padding: 0 4px; border-radius: 9px; background: var(--accent); color: #fff; font-size: 10.5px; font-weight: 600; line-height: 17px; text-align: center; opacity: 0; transform: scale(.6); transition: opacity .2s, transform .3s var(--ease-out); }
.hicon__n.is-on { opacity: 1; transform: none; }
.burger { display: none; width: 40px; height: 40px; position: relative; }
.burger span { position: absolute; left: 11px; right: 11px; height: 1.5px; background: var(--ink); transition: transform .35s var(--ease-out), top .35s var(--ease-out); }
.burger span:first-child { top: 16px; }
.burger span:last-child { top: 23px; }
.burger[aria-expanded="true"] span:first-child { top: 20px; transform: rotate(45deg); }
.burger[aria-expanded="true"] span:last-child { top: 20px; transform: rotate(-45deg); }


/* Мобильное меню */
.mnav { position: fixed; inset: 0; z-index: 45; padding: calc(var(--hh) + 24px) var(--gut) calc(28px + env(safe-area-inset-bottom, 0px)); background: #fff; display: flex; flex-direction: column; gap: 28px; overflow-y: auto; opacity: 0; visibility: hidden; transition: opacity .3s, visibility .3s; }
.mnav.is-open { opacity: 1; visibility: visible; }
.mnav__links { display: grid; gap: 4px; }
.mnav__links > a { font-size: 30px; font-weight: 600; letter-spacing: -.03em; line-height: 1.3; }
.mnav__sub { display: grid; gap: 10px; padding-top: 20px; border-top: 1px solid var(--line); }
.mnav__sub a { font-size: 17px; color: var(--ink-2); }
.mnav__foot { margin-top: auto; display: grid; gap: 14px; }
.mnav__tel { font-size: 22px; font-weight: 600; }
.mnav__msg { display: flex; gap: 10px; }
.mnav__msg .btn { flex: 1; }

@media (max-width: 1180px) { .header__phone { display: none; } .hicon--tel { display: grid; } .nav a { padding-inline: 12px; } }
@media (max-width: 980px) {
  .header__in { grid-template-columns: auto minmax(0, 1fr); }
  .nav { display: none; }
  .burger { display: block; }
}
@media (max-width: 480px) {
  .header__in { gap: 10px; }
  .logo__img { height: 28px; }
  .header__act { gap: 0; }
  .hicon { width: 38px; }
}

/* ---------- Первый экран главной: полноэкранный интерьер ---------- */
.hero2 { position: relative; isolation: isolate; display: grid; align-items: end; min-height: min(calc(100svh - var(--hh)), 920px); min-height: max(560px, min(calc(100svh - var(--hh)), 920px)); overflow: hidden; color: #fff; }
.hero2__img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; transform: scale(1.06); animation: heroIn 2.4s var(--ease-out) forwards; }
@media (max-width: 640px) { .hero2__img { object-position: 50% 75%; } }
@keyframes heroIn { to { transform: none; } }
.hero2__shade { position: absolute; inset: 0; z-index: -1; background: rgba(10,10,12,.34); }
.hero2__in { padding-block: clamp(48px, 8vw, 120px); }
.hero2__kicker { margin-bottom: 18px; font-size: 13px; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; color: rgba(255,255,255,.82); }
.hero2__title { max-width: 900px; font-size: clamp(42px, 6.6vw, 96px); line-height: 1.02; letter-spacing: -.04em; }
.hero2__lead { margin-top: 20px; max-width: 560px; font-size: clamp(17px, 1.5vw, 21px); line-height: 1.45; color: rgba(255,255,255,.88); }
.hero2__cta { display: flex; flex-wrap: wrap; gap: 12px; margin-top: clamp(28px, 3vw, 40px); }
.hero2__kicker, .hero2__title, .hero2__lead, .hero2__cta { animation: fadeUp 1.1s var(--ease-out) both; }
.hero2__title { animation-delay: .12s; } .hero2__lead { animation-delay: .24s; } .hero2__cta { animation-delay: .36s; }
@keyframes fadeUp { from { opacity: 0; transform: translateY(18px); } }
@media (max-width: 600px) { .hero2__cta .btn { width: 100%; } }

/* ---------- Коллекция: крупные вертикальные карточки ---------- */
.coll { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(32px, 3vw, 48px) clamp(16px, 1.8vw, 28px); }
.coll--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.coll--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.ccard { display: grid; gap: 22px; }
.ccard__media { display: block; aspect-ratio: 4 / 5; border-radius: var(--r-lg); background: var(--tile); overflow: hidden; }
.ccard__media img { width: 100%; height: 100%; object-fit: contain; padding: 6%; mix-blend-mode: multiply; transition: transform 1.2s var(--ease-out); }
.ccard:hover .ccard__media img { transform: scale(1.04); }
.ccard__body { display: grid; gap: 4px; }
.ccard__name { font-size: clamp(24px, 2.2vw, 32px); font-weight: 600; letter-spacing: -.03em; line-height: 1.15; }
.ccard__tag { font-size: 16px; color: var(--mute); }
.ccard__price { margin-top: 6px; font-size: 17px; font-weight: 500; }
.ccard--sm .ccard__media { aspect-ratio: 1 / 1; border-radius: var(--r); }
.ccard--sm .ccard__name { font-size: 20px; }
.ccard--sm .ccard__tag { font-size: 14px; }
.ccard--sm { gap: 14px; }
.section--alt .ccard__media { background: #fff; }
@media (max-width: 1000px) { .coll, .coll--4, .coll--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .coll, .coll--3, .coll--4 { gap: 28px 12px; } .ccard { gap: 14px; } .ccard__media { border-radius: var(--r); } .ccard__name, .ccard--sm .ccard__name { font-size: 19px; } .ccard__tag, .ccard--sm .ccard__tag { font-size: 13.5px; line-height: 1.35; } .ccard__price { font-size: 15px; margin-top: 2px; } }

/* ---------- Тизер технологий ---------- */
.teaser__in { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: clamp(32px, 6vw, 96px); align-items: center; }
.teaser__media { display: block; aspect-ratio: 4 / 3; border-radius: var(--r-lg); background: #fff; overflow: hidden; }
.teaser__media img { width: 100%; height: 100%; object-fit: contain; padding: 8%; mix-blend-mode: multiply; }
.teaser__copy .lead { margin-top: 18px; }
.tlist { margin: 32px 0; border-top: 1px solid var(--line); }
.tlist li { display: grid; grid-template-columns: 22px minmax(0, 1fr) auto; gap: 14px; align-items: center; padding: 13px 0; border-bottom: 1px solid var(--line); font-size: 15px; }
.tlist b { font-weight: 500; }
.tlist li > span:last-child { color: var(--mute); font-size: 14px; }
.tlist__sw { width: 22px; height: 22px; border-radius: 6px; border: 1px solid var(--line); }
@media (max-width: 900px) { .teaser__in { grid-template-columns: minmax(0, 1fr); } }

/* ---------- Подбор ---------- */
.quiz__in { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(32px, 6vw, 96px); align-items: start; }
.quiz .h2 { margin-bottom: 40px; }
.q { margin-bottom: 26px; transition: opacity .3s; }
.q.is-off { opacity: .35; pointer-events: none; }
.q__t { margin-bottom: 12px; font-size: 15px; font-weight: 600; }
.chips { display: flex; flex-wrap: wrap; gap: 8px; }
.chip { display: inline-flex; align-items: center; gap: 6px; min-height: 40px; padding: 0 18px; border: 1px solid var(--line-2); border-radius: 999px; font-size: 14.5px; font-weight: 500; color: var(--ink-2); background: #fff; transition: border-color .2s, background .2s, color .2s; }
.chip:hover { border-color: var(--ink); }
.chip.is-on { background: var(--ink); border-color: var(--ink); color: #fff; }
.chip small { font-size: 12px; opacity: .6; font-weight: 400; }
.chip--sm { min-height: 34px; padding: 0 14px; font-size: 13.5px; }
.chip--pill i { font-style: normal; opacity: .7; }
.quiz__res { position: sticky; top: calc(var(--hh) + 24px); padding: clamp(24px, 3vw, 36px); border-radius: var(--r-lg); background: var(--alt); }
.quiz__res-t { margin-bottom: 16px; font-size: 13px; font-weight: 500; letter-spacing: .06em; text-transform: uppercase; color: var(--mute); }
.quiz__list { display: grid; gap: 8px; margin-bottom: 20px; }
.qitem { display: grid; grid-template-columns: 76px minmax(0, 1fr) auto; gap: 16px; align-items: center; padding: 10px 16px 10px 10px; border-radius: 16px; background: #fff; border: 1px solid transparent; transition: border-color .2s; }
.qitem:hover { border-color: var(--line-2); }
.qitem img { width: 76px; height: 54px; object-fit: contain; border-radius: 10px; background: var(--tile); mix-blend-mode: multiply; }
.qitem b { display: block; font-size: 15px; font-weight: 600; }
.qitem small { font-size: 13px; color: var(--mute); }
.qitem em { font-style: normal; font-weight: 500; font-size: 14.5px; white-space: nowrap; }
.quiz__empty { font-size: 14px; color: var(--mute); padding: 4px 2px 8px; }
@media (max-width: 900px) { .quiz__in { grid-template-columns: minmax(0, 1fr); } .quiz__res { position: static; } }
@media (max-width: 520px) { .qitem { grid-template-columns: 64px minmax(0, 1fr); } .qitem img { width: 64px; } .qitem em { grid-column: 2; } }

/* ---------- Формы ---------- */
.contact__in { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(32px, 6vw, 96px); align-items: start; }
.contact__copy .lead { margin-top: 18px; }
.qlinks { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 32px; }
.qlink { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 18px; border: 1px solid var(--line-2); border-radius: 999px; font-size: 15px; font-weight: 500; background: #fff; transition: border-color .2s, color .2s; }
.qlink svg { width: 18px; height: 18px; }
.qlink:hover { border-color: var(--ink); }
.form { display: grid; gap: 12px; }
.form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.field { position: relative; display: block; }
.field input, .field textarea { width: 100%; padding: 24px 16px 8px; border: 1px solid var(--line-2); border-radius: 14px; background: #fff; font-size: 16px; resize: vertical; transition: border-color .2s; }
.field textarea { min-height: 120px; }
.field span { position: absolute; left: 17px; top: 17px; color: var(--mute-2); pointer-events: none; transform-origin: left; transition: transform .2s var(--ease-out), color .2s; }
.field input:focus, .field textarea:focus { outline: none; border-color: var(--ink); }
.field input:focus + span, .field input:not(:placeholder-shown) + span, .field textarea:focus + span, .field textarea:not(:placeholder-shown) + span { transform: translateY(-10px) scale(.78); color: var(--mute); }
.field.is-error input { border-color: var(--danger); }
.consent { position: relative; display: grid; grid-template-columns: 20px minmax(0, 1fr); gap: 12px; align-items: start; padding: 6px 0; cursor: pointer; font-size: 13.5px; line-height: 1.45; }
.consent input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.consent__box { width: 20px; height: 20px; margin-top: 1px; border: 1px solid var(--line-2); border-radius: 6px; background: #fff; display: grid; place-items: center; transition: background .2s, border-color .2s; }
.consent__box svg { width: 14px; height: 14px; color: #fff; opacity: 0; transition: opacity .2s; }
.consent input:checked + .consent__box { background: var(--accent); border-color: var(--accent); }
.consent input:checked + .consent__box svg { opacity: 1; }
.consent input:focus-visible + .consent__box { outline: 2px solid var(--accent); outline-offset: 2px; }
.consent__txt { color: var(--mute); }
.consent__txt a { color: var(--accent); text-decoration: underline; text-underline-offset: 2px; }
.consent.is-error .consent__box { border-color: var(--danger); animation: shake .4s; }
.consent.is-error .consent__txt { color: var(--danger); }
@keyframes shake { 25% { transform: translateX(-3px); } 75% { transform: translateX(3px); } }
.submit-wrap { position: relative; justify-self: start; }
.submit-wrap:has(.btn--block) { justify-self: stretch; }
.submit-catch { position: absolute; inset: 0; display: none; cursor: not-allowed; }
.submit-wrap:has(.btn[disabled]) .submit-catch { display: block; }
.form__ok { padding: 12px 14px; border-radius: 12px; background: var(--accent-soft); color: var(--accent); font-size: 14px; }
.form.is-busy [type=submit] { opacity: .5; pointer-events: none; }
@media (max-width: 900px) { .contact__in { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 520px) { .form__row { grid-template-columns: minmax(0, 1fr); } }

/* ---------- Карточки моделей (каталог, серии) ---------- */
.grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(32px, 4vw, 56px) clamp(16px, 2vw, 28px); }
.grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
/* Карточка модели (по макету): высокая плитка, крупное название, цена светлым */
.pcard { position: relative; }
.pcard__link { display: grid; }
.pcard__media { display: block; aspect-ratio: 7 / 9; border-radius: 2px; background: var(--tile-2); overflow: hidden; }
.pcard__media img { width: 100%; height: 100%; object-fit: contain; padding: 5%; mix-blend-mode: multiply; transition: transform 1.2s var(--ease-out); }
.pcard:hover .pcard__media img { transform: scale(1.04); }
.pcard__name { margin-top: clamp(14px, 1.4vw, 22px); font-size: clamp(20px, 2.2vw, 34px); font-weight: 400; letter-spacing: -.015em; line-height: 1.2; color: var(--ink-3); transition: color .25s; }
.pcard:hover .pcard__name { color: var(--accent); }
.pcard__price { margin-top: 8px; font-size: clamp(15px, 1.25vw, 19px); color: var(--mute-3); }
.grid--shelf { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(44px, 5.5vw, 84px) clamp(14px, 1.6vw, 24px); }
@media (max-width: 1000px) { .grid, .grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) {
  .grid, .grid--2, .grid--4, .grid--shelf { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 12px; }
  .pcard__name { margin-top: 10px; font-size: 17px; line-height: 1.25; }
  .pcard__price { margin-top: 4px; font-size: 14px; }
}

/* ---------- Шапки страниц ---------- */
.phead { position: relative; isolation: isolate; padding-block: clamp(32px, 4vw, 56px) clamp(48px, 6vw, 96px); overflow: hidden; }
.phead__title { max-width: 980px; font-size: clamp(38px, 5.4vw, 80px); line-height: 1.03; letter-spacing: -.04em; }
.phead__lead { margin-top: 22px; max-width: 640px; font-size: clamp(17px, 1.5vw, 21px); line-height: 1.45; color: var(--mute); }
.phead__chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 32px; }
.phead--short { padding-bottom: 40px; }
.phead--photo { min-height: clamp(420px, 44vw, 640px); display: grid; align-content: end; color: #fff; }
.phead__bg { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; }
.phead--photo::before { content: ""; position: absolute; inset: 0; z-index: -1; background: rgba(10,10,12,.38); }
.phead--photo .phead__lead { color: rgba(255,255,255,.88); }
.phead--photo .kicker, .phead--photo .crumbs, .phead--photo .crumbs b { color: rgba(255,255,255,.8); }
.crumbs { display: flex; flex-wrap: wrap; gap: 4px 8px; margin-bottom: clamp(28px, 4vw, 48px); font-size: 13px; color: var(--mute-2); }
.crumbs a:hover { color: var(--ink); }
.crumbs b { font-weight: 400; color: var(--ink-2); }
.crumbs span { opacity: .6; }

/* ---------- Каталог ---------- */
.filters { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px 32px; padding-bottom: 24px; border-bottom: 1px solid var(--line); }
.firm { display: flex; align-items: center; gap: 14px; }
.firm__lbl { margin: 0; }
.firm__seg { display: inline-flex; padding: 3px; border-radius: 999px; background: var(--alt); border: 1px solid var(--line); }
.firm__seg button { padding: 7px 16px; border-radius: 999px; font-size: 14px; font-weight: 500; color: var(--mute); transition: background .2s, color .2s; }
.firm__seg button.is-on { background: #fff; color: var(--ink); box-shadow: 0 0 0 1px var(--line); }
.catalog__bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin: 24px 0 40px; }
.catalog__count { margin: 0; }
.sort { display: inline-flex; align-items: center; gap: 10px; }
.sort .mono { margin: 0; }
.sort select { height: 40px; padding: 0 34px 0 14px; border: 1px solid var(--line-2); border-radius: 999px; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m7 10 5 5 5-5' fill='none' stroke='%23111' stroke-width='1.5'/%3E%3C/svg%3E") right 10px center / 16px no-repeat; appearance: none; font-size: 14px; }
.guide__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.gcard { display: grid; gap: 12px; align-content: start; padding: 28px; border-radius: var(--r); background: var(--alt); }
.gcard__scale { display: flex; gap: 5px; }
.gcard__scale i { width: 22px; height: 4px; border-radius: 2px; background: var(--line-2); }
.gcard__scale i.on { background: var(--ink); }
.gcard h3 { font-size: 18px; }
.gcard p { font-size: 15px; color: var(--mute); }
.gcard .link { font-size: 15px; }
@media (max-width: 1000px) { .guide__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .guide__grid { grid-template-columns: minmax(0, 1fr); } .firm { flex-wrap: wrap; } }

/* ---------- Карточка товара ---------- */
.pdp__top { padding-block: clamp(24px, 3vw, 40px) clamp(64px, 8vw, 120px); }
.pdp__top .crumbs { margin-bottom: 28px; }
.pdp__grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); gap: clamp(32px, 5vw, 88px); align-items: start; }
.pdp__gal { position: sticky; top: calc(var(--hh) + 20px); display: grid; gap: 14px; }
.pdp__stage { position: relative; aspect-ratio: 4 / 3; border-radius: var(--r-lg); background: var(--tile); overflow: hidden; cursor: zoom-in; }
.pdp__stage.is-zoom { cursor: zoom-out; }
.pdp__img { width: 100%; height: 100%; object-fit: contain; padding: 6%; mix-blend-mode: multiply; transition: transform .5s var(--ease-out), opacity .2s; }
.pdp__stage.is-zoom .pdp__img { transform: scale(2.2); }
.pdp__thumbs { display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; }
.pdp__thumbs::-webkit-scrollbar { display: none; }
.pdp__thumbs button { flex: none; width: 84px; height: 62px; border-radius: 12px; background: var(--tile); border: 1px solid transparent; overflow: hidden; transition: border-color .2s; }
.pdp__thumbs button img { width: 100%; height: 100%; object-fit: contain; padding: 4px; mix-blend-mode: multiply; }
.pdp__thumbs button.is-on { border-color: var(--ink); }
.pdp__info { display: grid; gap: 24px; }
.pdp__info .kicker { margin: 0; }
.pdp__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.pdp__title { font-size: clamp(32px, 3.4vw, 50px); line-height: 1.06; letter-spacing: -.035em; }
.pdp__lead { margin-top: -8px; font-size: 17px; color: var(--mute); }
.opt-group { display: grid; gap: 12px; }
.opt-group__t { font-size: 14px; font-weight: 600; }
.seg { display: flex; flex-wrap: wrap; gap: 8px; }
.seg__i { display: inline-flex; align-items: center; min-height: 42px; padding: 0 16px; border: 1px solid var(--line-2); border-radius: 12px; font-size: 14.5px; font-weight: 500; color: var(--ink-2); background: #fff; transition: border-color .2s, background .2s, color .2s; }
.seg__i:hover { border-color: var(--ink); }
.seg__i.is-on { border-color: var(--ink); box-shadow: inset 0 0 0 1px var(--ink); }
.pdp__custom { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.sel { display: grid; gap: 6px; }
.sel span { font-size: 13px; color: var(--mute); }
.sel select, .fld select { height: 46px; padding: 0 36px 0 14px; border: 1px solid var(--line-2); border-radius: 12px; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m7 10 5 5 5-5' fill='none' stroke='%23111' stroke-width='1.5'/%3E%3C/svg%3E") right 12px center / 16px no-repeat; appearance: none; font-size: 15px; width: 100%; }
.pdp__hint { font-size: 15px; color: var(--mute); }
.pdp__price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 14px; padding-top: 22px; border-top: 1px solid var(--line); }
.pdp__price b { font-size: clamp(30px, 2.6vw, 38px); font-weight: 600; letter-spacing: -.03em; font-variant-numeric: tabular-nums; }
.pdp__price span { font-size: 15px; color: var(--mute); }
.pdp__act { margin-top: -6px; }
.pdp__note { margin-top: -10px; font-size: 14px; color: var(--mute); }
.pdp__facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; padding-top: 22px; border-top: 1px solid var(--line); }
.pdp__facts li { display: grid; gap: 2px; }
.pdp__facts b { font-size: 22px; font-weight: 600; letter-spacing: -.02em; }
.pdp__facts b small { font-size: 14px; font-weight: 500; color: var(--mute); }
.pdp__facts span { font-size: 13px; color: var(--mute); }
@media (max-width: 960px) { .pdp__grid { grid-template-columns: minmax(0, 1fr); } .pdp__gal { position: static; } }

/* Крупные фото модели */
.story .h2 { margin-bottom: clamp(32px, 4vw, 56px); }
.story__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(14px, 2vw, 24px); }
.story__item { margin: 0; aspect-ratio: 4 / 3; border-radius: var(--r-lg); background: var(--tile); overflow: hidden; }
.story__item--wide { grid-column: 1 / -1; aspect-ratio: 16 / 9; }
.story__item img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; }
.story__item:not(.is-cover) img { padding: 4%; }
.story__item.is-cover img { object-fit: cover; mix-blend-mode: normal; }
.story__item img { transition: transform 1.4s var(--ease-out); }
.story__item:hover img { transform: scale(1.03); }
@media (max-width: 640px) { .story__grid { grid-template-columns: minmax(0, 1fr); } .story__item--wide { aspect-ratio: 4 / 3; } }

/* 3D-разбор по слоям */
.tech__in { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: clamp(32px, 5vw, 80px); align-items: center; }
.tech__copy .lead { margin: 18px 0 28px; }
.alist { display: grid; border-top: 1px solid var(--line); max-width: 480px; }
.alist li { border-bottom: 1px solid var(--line); }
.alist button { width: 100%; display: grid; grid-template-columns: 20px minmax(0, 1fr) auto; gap: 14px; align-items: center; padding: 13px 0; text-align: left; }
.alist b { font-size: 15.5px; font-weight: 500; transition: color .2s; }
.alist__tag { font-size: 13px; color: var(--mute); }
.alist li.is-on b { color: var(--accent); }
.alist__sw { width: 20px; height: 20px; border-radius: 6px; border: 1px solid var(--line); }
.adetail { display: grid; gap: 6px; align-content: start; max-width: 480px; margin-top: 20px; padding: 18px 20px; border-radius: 16px; background: #fff; }
.adetail b { font-size: 16px; font-weight: 600; }
.adetail p { font-size: 14.5px; color: var(--mute); }
.adetail.is-hint b { color: var(--mute); }
.tech__note { margin-top: 14px; font-size: 13.5px; color: var(--mute); max-width: 480px; }
.tech__stage { position: relative; aspect-ratio: 1.15; min-height: 380px; }
.tech__stage canvas { width: 100%; height: 100%; }
.anatomy__labels { position: absolute; inset: 0; pointer-events: none; }
.alabel { position: absolute; left: 0; top: 0; display: flex; align-items: center; gap: 8px; white-space: nowrap; font-size: 12.5px; color: var(--ink-2); opacity: 0; pointer-events: auto; transition: opacity .4s, color .2s; }
.alabel::before { content: ""; width: 36px; height: 1px; background: var(--line-2); }
.alabel b { font-weight: 600; }
.alabel span { color: var(--mute); }
.alabel.is-on { color: var(--accent); }
.alabel.is-on::before { background: var(--accent); }
@media (max-width: 960px) {
  .tech__in { grid-template-columns: minmax(0, 1fr); }
  .tech__stage { order: -1; aspect-ratio: auto; height: 46vh; min-height: 300px; }
  .anatomy__labels { display: none; }
}

/* Характеристики */
.specs-sec__in { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(32px, 6vw, 96px); align-items: start; }
.specs-sec .prose { margin-top: 24px; }
.stable2 { border-top: 1px solid var(--line); }
.stable2 div { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap: 20px; padding: 16px 0; border-bottom: 1px solid var(--line); font-size: 15.5px; }
.stable2 dt { color: var(--mute); }
.stable2 dd { font-weight: 500; }
@media (max-width: 900px) { .specs-sec__in { grid-template-columns: minmax(0, 1fr); } }

/* ---------- Страница серии ---------- */
.srp__hero { padding-block: clamp(24px, 3vw, 40px) clamp(48px, 6vw, 96px); }
.srp__grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(32px, 5vw, 88px); align-items: center; }
.srp__title { font-size: clamp(40px, 5.4vw, 80px); line-height: 1.03; letter-spacing: -.04em; }
.srp__lead { margin-top: 22px; max-width: 520px; font-size: 18px; color: var(--mute); }
.srp__price { margin-top: 26px; font-size: 22px; font-weight: 600; }
.srp__cta { margin-top: 26px; }
.srp__media { aspect-ratio: 4 / 3; border-radius: var(--r-lg); background: var(--tile); overflow: hidden; }
.srp__media img { width: 100%; height: 100%; object-fit: contain; padding: 7%; mix-blend-mode: multiply; }
@media (max-width: 900px) { .srp__grid { grid-template-columns: minmax(0, 1fr); } .srp__media { order: -1; } }

/* ---------- «О технологиях», «О бренде» ---------- */
.mats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px 28px; }
.mat { display: grid; gap: 10px; align-content: start; padding-top: 22px; border-top: 1px solid var(--line); }
.mat__sw { width: 48px; height: 48px; border-radius: 12px; border: 1px solid var(--line); margin-bottom: 6px; }
.mat h3 { font-size: 18px; }
.mat p { font-size: 15px; color: var(--mute); }
.process { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px; }
.process--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.process li { display: grid; gap: 8px; align-content: start; padding-top: 20px; border-top: 1px solid var(--ink); }
.process .mono { margin: 0; }
.process h3 { font-size: 18px; }
.process p { font-size: 15px; color: var(--mute); }
.cta-line { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 24px; padding-block: 8px; }
.story__in { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(32px, 6vw, 96px); align-items: center; }
.story__copy .h2 { margin-bottom: 24px; }
.story__copy p { font-size: 17px; color: var(--mute); max-width: 600px; }
.story__copy p + p { margin-top: 1em; }
.story__vis { margin: 0; }
.story__vis img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--r-lg); }
.story__vis figcaption { margin-top: 12px; font-size: 13px; color: var(--mute); }
.vgrid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px; }
.vcard { display: grid; gap: 10px; align-content: start; padding-top: 20px; border-top: 1px solid var(--line); }
.vcard__n { font-size: 13px; color: var(--accent); font-weight: 600; }
.vcard h3 { font-size: 18px; }
.vcard p { font-size: 15px; color: var(--mute); }
.split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(32px, 6vw, 96px); align-items: start; margin-bottom: clamp(40px, 5vw, 72px); }
.split__text p { font-size: 17px; color: var(--mute); }
.split__text p + p { margin-top: 1em; }
.stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px; margin-bottom: clamp(40px, 5vw, 72px); }
.stat { padding-top: 20px; border-top: 1px solid var(--line); }
.stat b { display: block; font-size: clamp(36px, 3.6vw, 52px); font-weight: 600; letter-spacing: -.04em; line-height: 1; margin-bottom: 10px; }
.stat span { font-size: 14px; color: var(--mute); }
.opt__in { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(32px, 6vw, 96px); align-items: center; }
.opt__lead { margin-top: 18px; font-size: 17px; color: var(--mute); max-width: 520px; }
.opt__card { display: grid; gap: 8px; justify-items: start; padding: clamp(24px, 3vw, 40px); border-radius: var(--r-lg); background: var(--alt); font-size: 16px; }
.opt__card span { color: var(--mute); font-size: 14px; }
.opt__card .btn { margin-top: 12px; }
.opt__tel { font-size: 26px; font-weight: 600; letter-spacing: -.02em; }
@media (max-width: 1000px) { .mats, .vgrid, .stats, .process { grid-template-columns: repeat(2, minmax(0, 1fr)); } .process--3 { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 760px) { .story__in, .split, .opt__in { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 520px) { .mats, .vgrid, .process { grid-template-columns: minmax(0, 1fr); } }

/* Образцы материалов (одинаковые в списках и разборе) */
.alist__sw--cover, .alist__sw--jacq, .alist__sw--poly, .alist__sw--aqua, .alist__sw--knit { background: repeating-linear-gradient(45deg, rgba(80,86,112,.28) 0 1px, transparent 1px 6px), repeating-linear-gradient(-45deg, rgba(80,86,112,.28) 0 1px, transparent 1px 6px), #F6F6F8; }
.alist__sw--smart { background: radial-gradient(circle, rgba(255,255,255,.18) 0 1px, transparent 1.4px) 0 0 / 5px 5px, #4B4C57; }
.alist__sw--latex { background: radial-gradient(circle, rgba(140,128,96,.5) 0 1.6px, transparent 2px) 0 0 / 7px 7px, #F2F0E7; }
.alist__sw--coconut { background: repeating-linear-gradient(35deg, rgba(40,22,10,.45) 0 1.5px, transparent 1.5px 4px), #8C5D38; }
.alist__sw--bicocos { background: repeating-linear-gradient(35deg, rgba(60,36,18,.4) 0 1.5px, transparent 1.5px 5px), #B58C63; }
.alist__sw--felt { background: radial-gradient(circle, rgba(255,255,255,.15) 0 .8px, transparent 1.2px) 0 0 / 4px 4px, #2E2C2D; }
.alist__sw--springs { background: radial-gradient(circle, #F7F8FA 0 2.6px, rgba(120,126,140,.6) 2.8px 3.3px, transparent 3.5px) 0 0 / 8px 8px, #D9DBE1; }
.alist__sw--holl { background: radial-gradient(circle, rgba(130,135,160,.25) 0 3px, transparent 3.5px) 0 0 / 9px 9px, #FAFAFC; }
.alist__sw--ppu { background: radial-gradient(circle, rgba(150,120,50,.35) 0 .9px, transparent 1.3px) 0 0 / 4px 4px, #F1E7C6; }
.alist__sw--ppuwave { background: repeating-linear-gradient(170deg, rgba(150,118,46,.4) 0 1.2px, transparent 1.2px 5px), #EFE3BC; }
.alist__sw--massage { background: radial-gradient(circle, rgba(255,255,255,.28) 0 1.6px, transparent 2px) 0 0 / 6px 6px, #3C3E45; }
.alist__sw--nform { background: radial-gradient(circle, rgba(70,90,130,.3) 0 1px, transparent 1.4px) 0 0 / 4px 4px, #E3E8EF; }

/* ---------- Где купить ---------- */
.badge, .badge--sale, .badge--inf, .badge--hit { display: inline-block; font-size: 12px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--accent); }
.salon { display: grid; grid-template-columns: 300px minmax(0, 1fr) auto; gap: 32px; align-items: center; padding: 16px; border: 1px solid var(--line); border-radius: var(--r-lg); }
.salon__img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 16px; }
.salon__body { display: grid; gap: 8px; }
.salon__body h2 { font-size: clamp(24px, 2.4vw, 34px); letter-spacing: -.03em; }
.salon__body p { color: var(--mute); font-size: 15px; }
.salon__body p a { color: var(--ink); }
.store-main__tels { display: flex; flex-wrap: wrap; gap: 6px 20px; font-weight: 500; }
.salon__act { display: grid; gap: 10px; padding-right: 16px; }
.stores__bar { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 14px; }
.stores__search { position: relative; display: flex; align-items: center; width: min(100%, 340px); }
.stores__search svg { position: absolute; left: 14px; width: 18px; height: 18px; color: var(--mute); }
.stores__search input { width: 100%; height: 44px; padding: 0 16px 0 40px; border: 1px solid var(--line-2); border-radius: 999px; font-size: 15px; }
.stores__search input:focus { outline: none; border-color: var(--ink); }
.chips--cities { margin: 18px 0 32px; }
.stores__grid2 { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(24px, 3vw, 48px); align-items: start; }
.stores__mapcol { position: sticky; top: calc(var(--hh) + 20px); }
.stores__count { margin-bottom: 8px; }
.stcity h3 { margin: 24px 0 12px; font-size: 17px; }
.stcity__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.dealer { display: grid; gap: 4px; align-content: start; padding: 18px; border: 1px solid var(--line); border-radius: 16px; transition: border-color .2s; }
.dealer.is-on { border-color: var(--ink); }
.dealer b { font-size: 15.5px; font-weight: 600; }
.dealer p { font-size: 14.5px; color: var(--ink-2); }
.dealer__h { font-size: 13px; color: var(--mute); }
.dealer__act { display: flex; flex-wrap: wrap; gap: 6px 14px; margin-top: 8px; font-size: 14px; }
.dealer__tel { font-weight: 500; }
.dealer small { font-size: 12.5px; color: var(--mute); }
@media (max-width: 1000px) { .salon { grid-template-columns: 220px minmax(0, 1fr); } .salon__act { grid-column: 1 / -1; display: flex; flex-wrap: wrap; padding: 0; } }
@media (max-width: 900px) { .stores__grid2 { grid-template-columns: minmax(0, 1fr); } .stores__mapcol { position: static; } }
@media (max-width: 600px) { .salon { grid-template-columns: minmax(0, 1fr); } .stcity__grid { grid-template-columns: minmax(0, 1fr); } }

/* Карта */
.map { position: relative; overflow: hidden; border-radius: var(--r-lg); background: var(--alt); aspect-ratio: 4 / 3; }
.map--tall { aspect-ratio: auto; height: clamp(360px, 46vw, 560px); }
.map__ph { position: absolute; inset: 0; width: 100%; height: 100%; }
.map__river { fill: none; stroke: #E4E1F2; stroke-width: 22; }
.map__road { fill: none; stroke: #fff; stroke-width: 9; }
.map__road--thin { stroke-width: 4; }
.map__frame { position: absolute; inset: 0; z-index: 1; width: 100%; height: 100%; border: 0; }
.map__dots { position: absolute; inset: 0; z-index: 1; pointer-events: none; }
.map__dots i { position: absolute; width: 10px; height: 10px; margin: -5px 0 0 -5px; border-radius: 50%; background: var(--ink); }
.map__dots i.is-salon { width: 16px; height: 16px; margin: -8px 0 0 -8px; background: var(--accent); }
.map__pin { position: absolute; width: 16px; height: 16px; margin: -8px 0 0 -8px; border-radius: 50%; background: var(--accent); }
.map__cta { position: absolute; left: 50%; bottom: 20px; z-index: 2; translate: -50% 0; display: grid; justify-items: center; gap: 8px; text-align: center; width: max-content; max-width: calc(100% - 28px); }
.map__open { font-size: 13.5px; font-weight: 500; color: var(--accent); }
.map__cta small { font-size: 12px; color: var(--mute); }
.map__tabs { position: absolute; left: 14px; top: 14px; z-index: 2; display: flex; padding: 3px; border-radius: 999px; background: #fff; border: 1px solid var(--line); }
.map__tabs button { padding: 6px 14px; border-radius: 999px; font-size: 13.5px; font-weight: 500; color: var(--mute); }
.map__tabs button.is-on { background: var(--ink); color: #fff; }
.map__legend { position: absolute; right: 14px; top: 14px; z-index: 2; display: grid; gap: 6px; padding: 10px 12px; border-radius: 12px; background: #fff; border: 1px solid var(--line); font-size: 12px; }
.map__legend span { display: flex; align-items: center; gap: 8px; }
.map__legend i { width: 9px; height: 9px; border-radius: 50%; background: var(--ink); }
.map__legend i.is-salon { background: var(--accent); }
.map__shield { position: absolute; inset: 0; z-index: 2; display: grid; place-items: end center; padding-bottom: 18px; background: transparent; cursor: pointer; }
.map__shield span { padding: 8px 14px; border-radius: 999px; background: rgba(17,17,17,.78); color: #fff; font-size: 13px; opacity: 0; transition: opacity .25s; pointer-events: none; }
.map__shield:hover span, .map__shield:focus-visible span { opacity: 1; }
.map.is-active .map__shield { display: none; }
@media (hover: none) { .map__shield span { opacity: 1; background: rgba(17,17,17,.6); } }
.map.is-live .map__ph, .map.is-live .map__dots, .map.is-live .map__cta, .map.is-live .map__legend, .map.is-live .map__pin { display: none; }

/* ---------- Контакты ---------- */
.cboxes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin-bottom: 20px; }
.cboxes--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.cbox__act { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 6px; }
.cbox__act .btn { margin-top: 0; }
/* Где купить: строгий текстовый блок склада вместо баннера салона */
.whs { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 20px 32px; padding: clamp(24px, 2.6vw, 36px); border: 1px solid var(--line); border-radius: var(--r-lg); }
.whs__copy { display: grid; gap: 8px; }
.whs h2 { font-size: clamp(22px, 2.2vw, 32px); letter-spacing: -.03em; line-height: 1.15; }
.whs p { color: var(--mute); font-size: 15.5px; }
.whs__tels a { color: var(--ink); }
.footer__tel--2 { margin-top: -4px; font-size: 17px !important; }
.cbox { display: grid; gap: 12px; align-content: start; padding: clamp(24px, 2.6vw, 36px); border: 1px solid var(--line); border-radius: var(--r-lg); }
.cbox h2 { font-size: 24px; letter-spacing: -.03em; line-height: 1.15; }
.cbox > p { color: var(--mute); }
.cbox dl { display: grid; gap: 12px; margin: 8px 0; }
.cbox dt { font-size: 12.5px; font-weight: 500; letter-spacing: .05em; text-transform: uppercase; color: var(--mute-2); }
.cbox dd { font-size: 15.5px; margin-top: -8px; }
.cbox .btn { justify-self: start; margin-top: 6px; }
.cbox--dark { background: var(--alt); border-color: var(--alt); }
.cinfo--social { display: flex; flex-wrap: wrap; gap: 8px; }
.cinfo--social a { display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 0 14px; border: 1px solid var(--line-2); border-radius: 999px; font-size: 14px; font-weight: 500; transition: border-color .2s; }
.cinfo--social a:hover { border-color: var(--ink); }
.cinfo--social svg { width: 16px; height: 16px; }
.cinfo { display: grid; gap: 8px; margin-top: 32px; }
.cinfo h3 { font-size: 17px; }
.cinfo p { font-size: 15px; color: var(--mute); }
.cinfo a { color: var(--ink); font-weight: 500; }
@media (max-width: 1000px) { .cboxes { grid-template-columns: minmax(0, 1fr); } }

/* ---------- Доставка, гарантия, рассрочка ---------- */
.dgrid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.dcard { display: grid; gap: 12px; align-content: start; padding-top: 24px; border-top: 1px solid var(--line); }
.dcard__ico svg { width: 36px; height: 36px; color: var(--ink); }
.dcard__ico svg * { stroke-width: 1.8; }
.dcard h3 { font-size: 19px; }
.dcard p { font-size: 15px; color: var(--mute); }
.dcard .link { justify-self: start; font-size: 15px; }
.pgrid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.pcard2 { display: grid; gap: 10px; align-content: start; padding: 28px; border-radius: var(--r); background: #fff; }
.pcard2 b { font-size: 34px; font-weight: 600; letter-spacing: -.03em; }
.pcard2 h3 { font-size: 18px; }
.pcard2 p { font-size: 15px; color: var(--mute); }
.pcard2 .link { justify-self: start; font-size: 15px; }
.pcard2--accent b { color: var(--accent); }
.faq-wrap { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(32px, 6vw, 96px); }
.faq { border-top: 1px solid var(--line); }
.faq details { border-bottom: 1px solid var(--line); }
.faq summary { display: flex; justify-content: space-between; gap: 20px; padding: 20px 0; font-size: 17px; font-weight: 500; cursor: pointer; list-style: none; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; font-size: 22px; font-weight: 300; line-height: 1; transition: transform .3s var(--ease-out); }
.faq details[open] summary::after { transform: rotate(45deg); }
.faq details p { padding-bottom: 22px; font-size: 15.5px; color: var(--mute); max-width: 680px; }
.war { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: clamp(32px, 5vw, 80px); align-items: start; }
.table-scroll { overflow-x: auto; }
.stable { width: 100%; border-collapse: collapse; font-size: 15.5px; }
.stable th { padding: 12px 16px 12px 0; text-align: left; font-size: 12.5px; font-weight: 500; letter-spacing: .05em; text-transform: uppercase; color: var(--mute-2); border-bottom: 1px solid var(--line); }
.stable td { padding: 16px 16px 16px 0; border-bottom: 1px solid var(--line); }
.stable a:hover { color: var(--accent); }
.war__inf { display: grid; gap: 12px; padding: clamp(24px, 3vw, 40px); border-radius: var(--r-lg); background: var(--alt); }
.war__big { font-size: 64px; font-weight: 300; line-height: 1; color: var(--accent); }
.war__inf h3 { font-size: 20px; }
.war__inf p { color: var(--mute); font-size: 15.5px; }
.war2 { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(32px, 5vw, 80px); }
.war2 .h2 { font-size: clamp(26px, 2.6vw, 36px); margin-bottom: 24px; }
.wlist { counter-reset: w; border-top: 1px solid var(--line); }
.wlist li { counter-increment: w; display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: 10px; padding: 15px 0; border-bottom: 1px solid var(--line); font-size: 15.5px; line-height: 1.5; }
.wlist li::before { content: counter(w, decimal-leading-zero); font-size: 13px; color: var(--mute-2); padding-top: 2px; }
.war__small { margin-top: 22px; font-size: 14px; color: var(--mute); }
.war__small p + p { margin-top: .6em; }
.cc { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(32px, 6vw, 96px); align-items: start; }
.cc__form { display: grid; gap: 18px; }
.cc__form .h2 { margin-bottom: 8px; }
.cc__form .btn { justify-self: start; }
.fld { display: grid; gap: 8px; }
.fld .mono { margin: 0; }
.fld select { height: 52px; font-size: 16px; }
.qv__note { font-size: 14px; color: var(--mute); }
.cc__out { padding: clamp(28px, 4vw, 48px); border-radius: var(--r-lg); background: var(--alt); }
.cc__label { font-size: 14px; color: var(--mute); }
.cc__big { display: block; margin: 6px 0 28px; font-size: clamp(44px, 5vw, 68px); font-weight: 600; letter-spacing: -.04em; line-height: 1; }
.cc__rows div { display: flex; justify-content: space-between; padding: 14px 0; border-top: 1px solid var(--line); font-size: 15.5px; }
.cc__rows dt { color: var(--mute); }
.cc__rows dd { font-weight: 500; }
@media (max-width: 900px) { .dgrid, .pgrid, .faq-wrap, .war, .war2, .cc { grid-template-columns: minmax(0, 1fr); } }

/* ---------- Корзина ---------- */
.cpage { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: clamp(32px, 5vw, 72px); align-items: start; }
.crow { display: grid; grid-template-columns: 96px minmax(0, 1fr) auto auto; gap: 20px; align-items: center; padding: 22px 0; border-bottom: 1px solid var(--line); }
.crow__img { display: block; width: 96px; height: 72px; border-radius: 12px; background: var(--tile); overflow: hidden; }
.crow__img img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; }
.crow__info { display: grid; gap: 2px; }
.crow__info b { font-size: 16px; font-weight: 600; }
.crow__info span { font-size: 14px; color: var(--mute); }
.crow__info .citem__rm { justify-self: start; margin-top: 6px; }
.crow__price { font-size: 16px; font-weight: 600; white-space: nowrap; }
.cpage__empty { display: grid; gap: 12px; justify-items: start; padding: 40px 0; }
.cpage__empty b { font-size: 24px; letter-spacing: -.02em; }
.cpage__empty p { color: var(--mute); }
.cpage__side { position: sticky; top: calc(var(--hh) + 20px); padding: clamp(24px, 3vw, 36px); border-radius: var(--r-lg); background: var(--alt); }
.cpage__sum { display: grid; gap: 8px; padding-bottom: 20px; margin-bottom: 20px; border-bottom: 1px solid var(--line); }
.cpage__sum div { display: flex; justify-content: space-between; gap: 12px; font-size: 15px; color: var(--mute); }
.cpage__sum b { font-size: 24px; color: var(--ink); font-weight: 600; }
.opts { display: grid; gap: 8px; margin: 6px 0; padding: 0; border: 0; }
.opts legend { margin-bottom: 8px; padding: 0; }
.opt { position: relative; display: block; cursor: pointer; }
.opt input { position: absolute; opacity: 0; }
.opt span { display: grid; gap: 2px; padding: 14px 16px; border: 1px solid var(--line-2); border-radius: 14px; background: #fff; font-size: 15px; font-weight: 500; transition: border-color .2s, box-shadow .2s; }
.opt small { font-size: 13px; font-weight: 400; color: var(--mute); }
.opt input:checked + span { border-color: var(--ink); box-shadow: inset 0 0 0 1px var(--ink); }
.opt input:focus-visible + span { outline: 2px solid var(--accent); outline-offset: 2px; }
.opts:has(.opt--sm) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.opt--sm span { padding: 11px 12px; text-align: center; font-size: 14px; }
.qty { display: inline-flex; align-items: center; border: 1px solid var(--line-2); border-radius: 999px; }
.qty button { width: 34px; height: 34px; font-size: 18px; color: var(--mute); }
.qty button:hover { color: var(--ink); }
.qty output { min-width: 22px; text-align: center; font-size: 14px; font-weight: 600; }
@media (max-width: 900px) { .cpage { grid-template-columns: minmax(0, 1fr); } .cpage__side { position: static; } }
@media (max-width: 560px) { .crow { grid-template-columns: 72px minmax(0, 1fr); } .crow__img { width: 72px; height: 56px; } .crow .qty, .crow__price { grid-column: 2; justify-self: start; } }

/* ---------- Корзина и избранное (панели), окно, cookie, уведомления ---------- */
.drawer { position: fixed; inset: 0; z-index: 80; visibility: hidden; }
.drawer.is-open { visibility: visible; }
.drawer__bg { position: absolute; inset: 0; background: rgba(0,0,0,.32); opacity: 0; transition: opacity .3s; }
.drawer.is-open .drawer__bg { opacity: 1; }
.drawer__box { position: absolute; right: 0; top: 0; bottom: 0; width: min(100%, 440px); display: flex; flex-direction: column; background: #fff; transform: translateX(100%); transition: transform .45s var(--ease-out); }
.drawer.is-open .drawer__box { transform: none; }
.drawer__head { display: flex; align-items: center; justify-content: space-between; padding: 18px 24px; border-bottom: 1px solid var(--line); }
.drawer__head h3 { font-size: 20px; }
.drawer__items { flex: 1; overflow-y: auto; padding: 0 24px; }
.drawer__foot { display: grid; gap: 14px; padding: 20px 24px calc(20px + env(safe-area-inset-bottom, 0px)); border-top: 1px solid var(--line); }
.drawer__total { display: flex; justify-content: space-between; font-size: 18px; font-weight: 600; }
.drawer__full { display: inline-flex; align-items: center; gap: 6px; justify-self: center; font-size: 14px; color: var(--accent); }
.drawer__full svg { width: 16px; height: 16px; }
.drawer__empty { display: grid; gap: 8px; justify-items: center; padding: 56px 0; text-align: center; }
.drawer__empty b { font-size: 18px; }
.drawer__empty p { font-size: 15px; color: var(--mute); margin-bottom: 8px; }
.citem { display: grid; grid-template-columns: 72px minmax(0, 1fr) auto; gap: 14px; align-items: start; padding: 18px 0; border-bottom: 1px solid var(--line); }
.citem img { width: 72px; height: 54px; object-fit: contain; border-radius: 10px; background: var(--tile); mix-blend-mode: multiply; }
.citem b { display: block; font-size: 14.5px; font-weight: 600; line-height: 1.3; }
.citem small { display: block; margin: 2px 0 8px; font-size: 13px; color: var(--mute); }
.citem__r { display: grid; justify-items: end; gap: 8px; }
.citem__r strong { font-size: 14.5px; font-weight: 600; white-space: nowrap; }
.citem__rm { font-size: 12.5px; color: var(--mute); text-decoration: underline; text-underline-offset: 2px; }
.citem__rm:hover { color: var(--ink); }
.modal { position: fixed; inset: 0; z-index: 90; display: grid; place-items: center; padding: 16px; visibility: hidden; }
.modal.is-open { visibility: visible; }
.modal__bg { position: absolute; inset: 0; background: rgba(0,0,0,.32); opacity: 0; transition: opacity .3s; }
.modal.is-open .modal__bg { opacity: 1; }
.modal__box { position: relative; width: min(460px, 100%); max-height: calc(100vh - 32px); overflow-y: auto; padding: clamp(28px, 4vw, 40px); border-radius: var(--r-lg); background: #fff; opacity: 0; transform: translateY(16px); transition: opacity .3s, transform .4s var(--ease-out); }
.modal.is-open .modal__box { opacity: 1; transform: none; }
.modal__x { position: absolute; top: 14px; right: 14px; width: 36px; height: 36px; display: grid; place-items: center; border-radius: 50%; color: var(--mute); transition: background .2s, color .2s; }
.modal__x:hover { background: var(--alt); color: var(--ink); }
.drawer__head .modal__x { position: static; }
.modal__title { font-size: 24px; letter-spacing: -.03em; padding-right: 36px; }
.modal__lead { margin: 8px 0 22px; font-size: 15px; color: var(--mute); }
.cookie { visibility: hidden; position: fixed; left: 16px; bottom: 16px; z-index: 70; width: min(420px, calc(100% - 32px)); padding: 20px; border: 1px solid var(--line); border-radius: var(--r); background: #fff; transform: translateY(calc(100% + 24px)); transition: transform .5s var(--ease-out), visibility 0s .5s; }
.cookie.is-on { transition: transform .5s var(--ease-out); }
.cookie.is-on { visibility: visible; transform: none; }
.cookie p { font-size: 13.5px; color: var(--mute); }
.cookie a { color: var(--ink); text-decoration: underline; text-underline-offset: 2px; }
.cookie__act { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.toast { position: fixed; left: 50%; bottom: 24px; z-index: 95; max-width: calc(100% - 32px); padding: 12px 20px; border-radius: 999px; background: var(--ink); color: #fff; font-size: 14px; translate: -50% 0; opacity: 0; transform: translateY(12px); pointer-events: none; transition: opacity .3s, transform .4s var(--ease-out); }
.toast.is-on { opacity: 1; transform: none; }

/* ---------- Подвал ---------- */
.footer { border-top: 1px solid var(--line); padding-block: clamp(56px, 6vw, 88px) calc(28px + env(safe-area-inset-bottom, 0px)); background: var(--alt); font-size: 14px; }
.footer__top { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 20px; padding-bottom: 36px; border-bottom: 1px solid var(--line); }
.logo--footer .logo__img { height: 32px; }
.footer__social { display: flex; gap: 8px; }
.footer__social a { width: 40px; height: 40px; display: grid; place-items: center; border: 1px solid var(--line-2); border-radius: 50%; color: var(--ink); transition: border-color .2s, color .2s; }
.footer__social a:hover { border-color: var(--ink); color: var(--accent); }
.footer__social svg { width: 18px; height: 18px; }
.footer__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px; padding-block: 40px; }
.footer__grid nav, .footer__grid > div { display: grid; gap: 10px; align-content: start; justify-items: start; }
.footer h4 { margin-bottom: 6px; font-size: 13px; font-weight: 600; color: var(--ink); }
.footer__grid a, .footer__grid p { color: var(--mute); transition: color .2s; }
.footer__grid a:hover { color: var(--ink); }
.footer__tel { font-size: 18px; font-weight: 600; color: var(--ink) !important; }
.footer__bottom { display: flex; flex-wrap: wrap; gap: 8px 24px; padding-top: 24px; border-top: 1px solid var(--line); font-size: 12.5px; color: var(--mute-2); }
.footer__bottom span { margin-right: auto; }
.footer__bottom a:hover, .footer__bottom button:hover { color: var(--ink); }
.footer__bottom .link-btn { color: inherit; font-weight: 400; }
@media (max-width: 900px) { .footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 480px) { .footer__grid { gap: 28px 16px; } .footer__grid > div:last-child { grid-column: 1 / -1; } }

/* ---------- Политика, текстовые страницы, поиск, 404 ---------- */
.legal__head { padding-block: clamp(32px, 4vw, 56px) clamp(40px, 5vw, 72px); }
.legal__title { max-width: 980px; font-size: clamp(32px, 4.4vw, 60px); line-height: 1.06; letter-spacing: -.035em; }
.legal__op { margin-top: 18px; color: var(--mute); font-size: 15px; }
.legal__grid { display: grid; grid-template-columns: minmax(0, 280px) minmax(0, 1fr); gap: clamp(32px, 5vw, 80px); align-items: start; padding-bottom: var(--sec); }
.legal__toc { position: sticky; top: calc(var(--hh) + 24px); }
.legal__toc ol { display: grid; gap: 8px; counter-reset: t; }
.legal__toc li { counter-increment: t; font-size: 14px; }
.legal__toc a { color: var(--mute); transition: color .2s; }
.legal__toc a::before { content: counter(t) ". "; }
.legal__toc a:hover { color: var(--ink); }
.legal__body { max-width: 780px; display: grid; gap: 48px; }
.legal__body section { scroll-margin-top: 100px; display: grid; gap: 14px; }
.legal__body h2 { font-size: clamp(22px, 2vw, 28px); letter-spacing: -.02em; }
.legal__body p, .legal__body li, .legal__body dd { color: var(--ink-2); font-size: 16px; line-height: 1.7; }
.legal__body ul, .legal__body ol { display: grid; gap: 8px; padding-left: 1.2em; list-style: disc; }
.legal__body ol { list-style: decimal; }
.legal__body a:not(.btn) { color: var(--accent); text-decoration: underline; text-underline-offset: 3px; }
.legal__body table { display: block; overflow-x: auto; border-collapse: collapse; font-size: 14px; }
.legal__body td, .legal__body th { padding: 10px 12px; border: 1px solid var(--line); text-align: left; vertical-align: top; }
.legal__back { margin-top: 12px; }
.prose { max-width: 760px; display: grid; gap: 16px; font-size: 17px; line-height: 1.6; color: var(--ink-2); }
.prose h2, .prose h3 { font-size: clamp(22px, 2vw, 28px); letter-spacing: -.02em; margin-top: 12px; }
.prose a:not(.btn) { color: var(--accent); text-decoration: underline; text-underline-offset: 3px; }
.prose ul, .prose ol { padding-left: 1.3em; display: grid; gap: 6px; list-style: disc; }
.prose ol { list-style: decimal; }
.prose img { max-width: 100%; height: auto; border-radius: var(--r); }
.slinks { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 40px; }
.nf { min-height: 60vh; display: grid; place-items: center; text-align: center; }
.nf b { display: block; font-size: clamp(96px, 16vw, 200px); font-weight: 300; line-height: 1; letter-spacing: -.06em; color: var(--accent); }
.nf .h2 { margin: 12px 0; }
.nf .empty-note { padding: 8px 0 28px; }
@media (max-width: 900px) { .legal__grid { grid-template-columns: minmax(0, 1fr); } .legal__toc { position: static; } }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
  .js .reveal { opacity: 1; transform: none; }
}


/* ================= 3.0: главная и каталог по макету ================= */
.home, .cat { background: var(--alt); }
.hero3 { position: relative; isolation: isolate; display: flex; align-items: flex-end; height: max(320px, 37.77vw); overflow: hidden; background: #d9cfc6; }
.hero3__img { position: absolute; inset: 0; z-index: -1; width: 100%; height: 100%; object-fit: cover; object-position: 50% 60%; }
.hero3__in { width: 100%; padding-bottom: clamp(24px, 3.6vw, 56px); }
.hero3__title { max-width: 760px; margin-bottom: 12px; color: #fff; font-size: clamp(32px, 4.6vw, 68px); font-weight: 600; letter-spacing: -.035em; line-height: 1.05; }
.hero3__lead { max-width: 560px; margin-bottom: 22px; color: rgba(255,255,255,.92); font-size: clamp(16px, 1.4vw, 20px); }
.hero3__cta { display: flex; flex-wrap: wrap; gap: clamp(10px, 1.4vw, 20px); }
.hero3__cta .btn { min-width: clamp(160px, 12vw, 230px); min-height: clamp(42px, 2.6vw, 50px); padding-inline: clamp(20px, 1.6vw, 30px); font-size: clamp(14.5px, 1vw, 17px); font-weight: 400; }
.shelf { padding-top: clamp(32px, 4vw, 56px); }
.shelf__title, .cat__title { margin-bottom: clamp(24px, 3vw, 44px); font-size: clamp(40px, 5.2vw, 78px); font-weight: 600; letter-spacing: -.03em; line-height: 1.05; color: var(--ink-3); }
.cat__head { padding-top: clamp(40px, 5.5vw, 88px); }
.cat__title { margin-bottom: clamp(14px, 1.6vw, 22px); }
.cat .crumbs { margin: 0 0 clamp(20px, 2.4vw, 34px) 4px; font-size: clamp(14px, 1.2vw, 18px); color: var(--mute-3); }
.cat .crumbs a, .cat .crumbs b { color: inherit; font-weight: 400; }
.cat .crumbs a:hover { color: var(--accent); }
.tabs { display: flex; justify-content: space-between; gap: 24px; }
.tabs__i { position: relative; padding: 8px 0; font-size: clamp(15px, 1.3vw, 20px); color: var(--ink-3); white-space: nowrap; transition: color .25s; }
.tabs__i::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1.5px; background: currentColor; transform: scaleX(0); transform-origin: left; transition: transform .35s var(--ease-out); }
.tabs__i:hover { color: var(--accent); }
.tabs__i.is-on { color: var(--accent); }
.tabs__i.is-on::after { transform: none; }
.cat__note { margin-top: 14px; font-size: 14.5px; color: var(--mute); }
.cat__note .link-btn { color: var(--accent); }
.cat__empty { padding: 40px 0; color: var(--mute); }
.cat .catalog { padding-top: clamp(24px, 2.6vw, 40px); }
.footer__lb { padding: 0; font: inherit; color: var(--mute); text-align: left; text-decoration: none; }
.grid--2 .pcard__media { aspect-ratio: 4 / 3; }
.footer__lb:hover { color: var(--ink); }
@media (max-width: 760px) {
  .tabs { justify-content: flex-start; gap: 22px; overflow-x: auto; margin-inline: calc(var(--gut) * -1); padding-inline: var(--gut); scrollbar-width: none; }
  .tabs::-webkit-scrollbar { display: none; }
}
@media (max-width: 560px) {
  .hero3 { height: 62vh; min-height: 380px; max-height: 560px; }
  .hero3__img { object-position: 50% 60%; }
  .hero3__cta { gap: 10px; }
  .hero3__cta .btn { flex: 1 1 0; min-width: 0; padding-inline: 14px; }
}
