/* ===================================================================
   SmoothCare — Premium Beauty Design System (V2)
   Палитра: oat-ivory / champagne / muted clay-rose + deep wine /
   espresso-aubergine. Сериф Fraunces для заголовков, Manrope для текста.
   Hero V2: photo-led (framed photo-placeholder), без большой UI-card.
   =================================================================== */

:root {
  /* surfaces */
  --bg:        #f6efe4;   /* oat-ivory */
  --bg-soft:   #efe3d3;   /* champagne-oat */
  --card:      #fffdf9;   /* warm paper */
  --card-warm: #fbf4ea;   /* cream */
  --rose:      #e6c8c2;   /* muted clay-rose tint */
  --champagne: #e7d3bb;

  /* orb palette for premium zone cards */
  --orb-champagne: #F7E7CE;
  --orb-ivory:     #FFF8F0;
  --orb-soft-rose: #F4D9D7;
  --orb-dusty-mauve: #D8B0C3;
  --orb-muted-berry: #C7A1B6;
  --orb-warm-blush: #EFD5CE;

  /* accents */
  --accent:      #97485e; /* wine-rose */
  --accent-deep: #6a2740; /* deep wine */
  --clay:        #cf9f93; /* muted clay-rose */
  --espresso:    #2c1922; /* aubergine-espresso (тёмный блок) */

  /* ink */
  --ink:      #271b21;
  --ink-soft: #6a5660;
  --muted:    #9c8790;

  /* lines */
  --line:      rgba(106, 39, 64, .13);
  --line-soft: rgba(106, 39, 64, .075);

  /* gradients */
  --grad:       linear-gradient(135deg, #9c4f63 0%, #6a2740 100%);
  --grad-deep:  linear-gradient(150deg, #3a2028 0%, #241318 100%);
  --grad-badge: linear-gradient(160deg, #f4e2dd 0%, #fdf6f1 100%);
  --grad-card:  linear-gradient(180deg, #fffdf9 0%, #fbf4ea 100%);

  /* shadows — мягкие, тёплые (wine-tinted) */
  --sh-xs:      0 1px 2px rgba(80, 30, 50, .05);
  --sh-soft:    0 10px 30px rgba(106, 39, 64, .08);
  --sh-lift:    0 18px 44px rgba(106, 39, 64, .12);
  --sh-premium: 0 30px 66px rgba(80, 30, 50, .16);
  --ring:       0 0 0 4px rgba(151, 72, 94, .18);

  --radius-card: 22px;
  --radius-lg:   28px;
  --radius-xl:   32px;
  --radius-pill: 999px;

  --container: 1180px;
  --ease: cubic-bezier(.22, .61, .36, 1);
}

*, *::before, *::after { box-sizing: border-box; }

html { scroll-behavior: smooth; scroll-padding-top: 92px; -webkit-text-size-adjust: 100%; overflow-x: clip; width: 100%; }

body {
  margin: 0;
  font-family: "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  color: var(--ink);
  /* единая тёплая среда на всю страницу (без background-attachment: fixed —
     он давал композитный «шов» на стыках секций с isolation/overflow) */
  background:
    radial-gradient(1100px 720px at 88% 3%, rgba(151,72,94,.07), transparent 56%),
    radial-gradient(1000px 780px at 6% 24%, rgba(231,211,187,.22), transparent 56%),
    radial-gradient(1100px 900px at 96% 86%, rgba(207,159,147,.12), transparent 58%),
    linear-gradient(180deg, #f7f0e6 0%, #f2e8da 40%, #f6eee2 72%, #f4ebde 100%);
  background-repeat: no-repeat;
  line-height: 1.62;
  letter-spacing: -.005em;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  overflow-x: clip;
}

img, svg { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
h1, h2, h3, h4 { margin: 0; font-family: "Fraunces", Georgia, serif; font-optical-sizing: auto; font-weight: 600; line-height: 1.12; letter-spacing: -.005em; }
p { margin: 0; }
ul, ol { margin: 0; padding: 0; list-style: none; }
button { font-family: inherit; }

.container { width: 100%; max-width: var(--container); margin: 0 auto; padding: 0 28px; }


main, .footer { position: relative; z-index: 1; }

/* ---------- Demo bar ---------- */
.demo-bar {
  position: relative; z-index: 1;
  display: flex; align-items: center; justify-content: center; gap: 9px;
  background: linear-gradient(90deg, rgba(246,231,226,.92), rgba(244,236,226,.92));
  -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
  color: var(--accent-deep);
  font-size: 12.5px; text-align: center; padding: 8px 16px;
  font-weight: 600; letter-spacing: .01em;
  border-bottom: 1px solid var(--line);
}
.demo-bar::before { content: ""; width: 7px; height: 7px; flex-shrink: 0; border-radius: 50%; background: var(--grad); box-shadow: 0 0 0 3px rgba(156,90,107,.14); }

/* ---------- Header ---------- */
.header {
  position: sticky; top: 0; z-index: 60;
  background: rgba(250, 246, 240, .74);
  -webkit-backdrop-filter: saturate(170%) blur(16px); backdrop-filter: saturate(170%) blur(16px);
  border-bottom: 1px solid transparent;
  transition: box-shadow .35s var(--ease), border-color .35s var(--ease), background .35s var(--ease);
}
.header.is-stuck { background: rgba(251, 247, 242, .94); border-color: var(--line); box-shadow: 0 8px 24px rgba(110, 50, 71, .08); }
.header__inner { display: flex; align-items: center; justify-content: space-between; height: 74px; }

.logo { display: inline-flex; align-items: center; gap: 11px; cursor: pointer; background: none; border: 0; padding: 0; }
.logo__mark { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 12px; background: var(--grad); color: #fff; box-shadow: var(--sh-soft), inset 0 1px 0 rgba(255,255,255,.25); transition: transform .3s var(--ease); }
.logo:hover .logo__mark { transform: rotate(-6deg) scale(1.05); }
.logo__text { font-family: "Fraunces", Georgia, serif; font-size: 22px; font-weight: 600; letter-spacing: -.01em; color: var(--ink); }
.logo__text span { color: var(--accent); }

.nav { display: flex; align-items: center; gap: 4px; }
.nav__link { padding: 10px 15px; border-radius: 11px; font-weight: 600; font-size: 15px; color: var(--ink-soft); transition: color .2s, background .2s; }
.nav__link:hover { color: var(--accent-deep); background: rgba(156,90,107,.08); }
.nav__link--cta { margin-left: 8px; background: var(--grad); color: #fff !important; box-shadow: var(--sh-soft); }
.nav__link--cta:hover { background: var(--grad); filter: brightness(1.05); box-shadow: var(--sh-lift); transform: translateY(-1px); }

.burger { display: none; flex-direction: column; justify-content: center; gap: 5px; width: 46px; height: 46px; border: 1px solid var(--line); border-radius: 13px; background: #fff; cursor: pointer; box-shadow: var(--sh-xs); }
.burger span { display: block; width: 20px; height: 2px; margin: 0 auto; background: var(--ink); border-radius: 2px; transition: transform .3s var(--ease), opacity .2s; }
.burger.is-open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.burger.is-open span:nth-child(2) { opacity: 0; }
.burger.is-open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* ---------- Buttons ---------- */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 9px; padding: 15px 28px; border-radius: 14px; font-weight: 700; font-size: 15px; line-height: 1; cursor: pointer; border: 1px solid transparent; transition: transform .2s var(--ease), box-shadow .28s var(--ease), filter .2s, background .2s, color .2s, border-color .2s; will-change: transform; }
.btn svg { transition: transform .25s var(--ease); }
.btn--primary { background: var(--grad); color: #fff; box-shadow: 0 10px 22px -8px rgba(110,50,71,.34), 0 3px 7px -3px rgba(110,50,71,.2), inset 0 1px 0 rgba(255,255,255,.16); }
.btn--primary:hover { transform: translateY(-2px); box-shadow: 0 14px 28px -8px rgba(110,50,71,.38), 0 4px 9px -3px rgba(110,50,71,.22), inset 0 1px 0 rgba(255,255,255,.16); filter: brightness(1.04); }
.btn--primary:hover svg { transform: translateX(3px); }
.btn--ghost { background: rgba(255,255,255,.7); color: var(--accent-deep); border-color: rgba(110,50,71,.22); box-shadow: var(--sh-xs); }
.btn--ghost:hover { transform: translateY(-2px); border-color: var(--accent); background: #fff; box-shadow: var(--sh-soft); }
.btn--block { width: 100%; }
.btn:active { transform: translateY(0); }
.btn:focus-visible { outline: none; box-shadow: 0 0 0 2px rgba(255,255,255,.72), 0 0 0 5px rgba(156,90,107,.2); }

/* ---------- Icon badge ---------- */
.ibadge { position: relative; flex-shrink: 0; display: grid; place-items: center; width: 56px; height: 56px; border-radius: 17px; background: var(--grad-badge); border: 1px solid rgba(156,90,107,.18); color: var(--accent-deep); box-shadow: inset 0 1px 0 rgba(255,255,255,.8), 0 6px 16px rgba(156,90,107,.12); transition: transform .3s var(--ease), box-shadow .3s var(--ease); }
.ibadge svg { color: var(--accent-deep); transition: transform .3s var(--ease); }
.ibadge--sm { width: 46px; height: 46px; border-radius: 13px; }

/* ---------- Eyebrow / sections ---------- */
.eyebrow { display: inline-flex; align-items: center; gap: 8px; font-size: 12.5px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--accent); margin-bottom: 16px; }
.eyebrow::before { content: ""; width: 22px; height: 2px; border-radius: 2px; background: var(--grad); }
.eyebrow--center { justify-content: center; }

.section { position: relative; padding: 100px 0; }
.section > .container { position: relative; z-index: 1; }
.section__head { max-width: 740px; margin: 0 auto 56px; text-align: center; }
.section__title { font-size: clamp(30px, 4vw, 46px); color: var(--ink); }
.section__sub { margin-top: 18px; color: var(--ink-soft); font-size: 17.5px; }

/* ---------- Hero V3 · Cinematic Beauty (full-bleed) ---------- */
.hero { position: relative; isolation: isolate; min-height: min(90vh, 760px); display: flex; align-items: center; padding: 56px 0; overflow: clip; }

/* full-bleed сцена на весь первый экран.
   Нижний слой — реальное hero-photo (assets/hero-desktop.jpg);
   поверх — лёгкий цвето-грейд/свет и scrim; если файла нет — виден gradient-fallback. */
.hero__stage {
  position: absolute; inset: 0; z-index: 0; overflow: hidden;
  background:
    /* лёгкий цвето-грейд поверх фото: тёплый верх-право + глубина низ-лево */
    radial-gradient(72% 82% at 84% 14%, rgba(248,226,190,.14), transparent 58%),
    radial-gradient(100% 110% at 2% 100%, rgba(14,7,11,.34), transparent 56%),
    /* реальное фото desktop (full-bleed background всего hero) */
    url("assets/hero-desktop.png") center 42% / cover no-repeat,
    /* gradient-fallback (виден, если файла нет) */
    linear-gradient(100deg, #241420 0%, #341e26 38%, #54303f 70%, #6c4147 100%);
  background-color: #2a1820;
}
.hero__stage::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 160px; background: linear-gradient(180deg, rgba(246,239,228,0), #f6efe4); }
.hero__bloom { position: absolute; width: 540px; height: 540px; top: -160px; right: -60px; border-radius: 50%; pointer-events: none; background: radial-gradient(circle at 42% 42%, rgba(250,231,203,.26), rgba(250,231,203,0) 66%); filter: blur(34px); animation: bloom-breathe 9s var(--ease) infinite; }
.hero__vignette { position: absolute; inset: 0; pointer-events: none; background: radial-gradient(134% 128% at 42% 42%, transparent 54%, rgba(13,6,10,.36) 100%); }
/* readable scrim под текстовой зоной: тёплый-тёмный слева → прозрачный справа (фото читается под слоем) */
.hero__scrim { position: absolute; inset: 0; pointer-events: none; background: linear-gradient(100deg, rgba(24,12,16,.85) 0%, rgba(24,12,16,.72) 30%, rgba(24,12,16,.50) 48%, rgba(24,12,16,.20) 62%, rgba(24,12,16,0) 76%); }
.hero__stage-note { position: absolute; right: 40px; top: 47%; font-size: 11px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: rgba(248,241,233,.6); text-shadow: 0 1px 10px rgba(0,0,0,.4); }
@keyframes bloom-breathe { 0%,100% { transform: translate(0,0) scale(1); opacity: .9; } 50% { transform: translate(-18px,14px) scale(1.08); opacity: 1; } }

/* текст — слой ПОВЕРХ сцены (без карточки-прямоугольника; читаемость даёт scrim) */
.hero__inner { position: relative; z-index: 1; width: 100%; }
.hero__panel { position: relative; max-width: 600px; }
.hero .eyebrow { color: #edcab4; }
.hero__title { font-size: clamp(36px, 4.4vw, 52px); color: #fbf4ee; margin-bottom: 20px; line-height: 1.1; text-shadow: 0 1px 20px rgba(0,0,0,.28); }
.hero__title .ln { display: block; }
/* mobile-варианты текста скрыты на desktop (один H1, без SEO-дубля — отдаётся только активный) */
.hero__title .ht--mobile { display: none; }
.hero__lead .lt--mobile { display: none; }
.trust-row .tt--m { display: none; }
.hero__title em { font-style: normal; color: #ecb3a3; }
.hero__lead { font-size: 18px; color: rgba(250,244,238,.92); max-width: 460px; text-shadow: 0 1px 14px rgba(0,0,0,.28); }
.hero__actions { display: flex; flex-wrap: wrap; gap: 14px; margin: 30px 0 6px; }

/* inline trust-строка (без боксов-бейджей) */
.trust-row { display: flex; flex-wrap: wrap; align-items: center; gap: 9px 18px; margin-top: 26px; }
.hero .trust-row li { position: relative; display: inline-flex; align-items: center; font-size: 13.5px; font-weight: 600; color: rgba(249,242,235,.84); }
.hero .trust-row li::before { content: ""; width: 5px; height: 5px; border-radius: 50%; background: #dca99a; margin-right: 9px; opacity: .9; }

/* ---------- Zones — премиальное меню процедур (V3) ---------- */

/* Part 1 + Part 2 — популярные зоны + панель «Ориентир перед записью» */
.zoneselect { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) 358px; gap: 26px; align-items: stretch; }
/* очень мягкое «дыхание» фонового свечения блока (premium, почти незаметно) */
.zoneselect::before { content: ""; position: absolute; z-index: 0; inset: -34px -28px -14px; pointer-events: none; background: radial-gradient(44% 58% at 86% 2%, rgba(151,72,94,.07), transparent 70%), radial-gradient(40% 52% at 4% 98%, rgba(207,159,147,.10), transparent 72%); animation: zone-breathe 14s var(--ease) infinite; }
.zoneselect__pop { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }

/* популярная зона — premium beauty-карточка-ссылка (по референсу) */
.popzone {
  position: relative; display: flex; flex-direction: column;
  width: 100%; min-height: 210px; text-align: left; cursor: pointer;
  padding: 24px 24px 22px;
  color: var(--ink);
  background: linear-gradient(180deg, #fffdf9 0%, #fbf2e8 100%);
  border: 1px solid var(--line); border-radius: 22px;
  box-shadow: var(--sh-soft); overflow: hidden;
  /* transition задаётся ниже в общем reveal+hover-правиле (.popzone, .consult) */
}

/* большая круглая иконка зоны — мягкий ivory-круг с двойным кольцом */
.popzone__ic { display: grid; place-items: center; width: 60px; height: 60px; flex-shrink: 0; margin-bottom: 18px; border-radius: 50%; color: var(--accent-deep); background: radial-gradient(125% 125% at 32% 26%, #fff9f2 0%, #f4e3d2 100%); border: 1px solid rgba(151,72,94,.20); box-shadow: inset 0 0 0 4px rgba(255,255,255,.55), inset 0 1px 0 rgba(255,255,255,.9), 0 7px 18px rgba(156,90,107,.14); transition: transform .3s var(--ease), box-shadow .34s var(--ease); }
.popzone__ic svg { width: 28px; height: 28px; }
.popzone__name { font-family: "Fraunces", Georgia, serif; font-size: 23px; font-weight: 600; line-height: 1.12; color: var(--ink); margin-bottom: 7px; }
.popzone__benefit { font-size: 13.5px; line-height: 1.45; color: var(--ink-soft); flex: 1; max-width: 19ch; margin-bottom: 16px; }

/* подвал карточки: цена слева + круглая кнопка-стрелка справа */
.popzone__foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: auto; }
.popzone__price { font-family: "Fraunces", Georgia, serif; font-weight: 600; font-size: 20px; line-height: 1; color: var(--accent-deep); }
.popzone__price i { font-style: normal; font-family: "Manrope", sans-serif; font-size: 11.5px; font-weight: 600; color: var(--muted); margin-right: 4px; }
.popzone__go { display: grid; place-items: center; width: 40px; height: 40px; flex-shrink: 0; border-radius: 50%; color: var(--accent-deep); background: #fffdfa; border: 1px solid rgba(151,72,94,.22); box-shadow: var(--sh-xs); transition: transform .3s var(--ease), background .3s var(--ease), color .3s var(--ease), border-color .3s var(--ease); }
.popzone__go svg { transition: transform .25s var(--ease); }

/* hover/focus — мягкое поднятие, glow иконки, заливка стрелки (локально, без залипания) */
.popzone:hover { transform: translateY(-4px); box-shadow: var(--sh-premium); border-color: rgba(151,72,94,.24); }
.popzone:hover .popzone__ic { transform: scale(1.05); box-shadow: inset 0 0 0 4px rgba(255,255,255,.6), inset 0 1px 0 rgba(255,255,255,.9), 0 11px 24px rgba(156,90,107,.22); }
.popzone:hover .popzone__go { background: var(--grad); color: #fff; border-color: transparent; }
.popzone:hover .popzone__go svg { transform: translateX(2px); }
.popzone:focus-visible { outline: none; transform: translateY(-4px); border-color: var(--accent); box-shadow: var(--ring), var(--sh-premium); }
.popzone:focus-visible .popzone__go { background: var(--grad); color: #fff; border-color: transparent; }
.popzone:focus-visible .popzone__go svg { transform: translateX(2px); }

/* Part 3 — полный прайс премиальными строками (premium price menu) */
.pricemenu { position: relative; overflow: hidden; margin-top: 26px; padding: 28px 36px 20px; background: linear-gradient(180deg, #fffdf9 0%, #fbf4ec 100%); border: 1px solid var(--line); border-radius: var(--radius-xl); box-shadow: var(--sh-soft); }
.pricemenu__head { display: flex; flex-direction: column; gap: 6px; padding-bottom: 16px; margin-bottom: 4px; border-bottom: 1px solid var(--line); }
.pricemenu__eyebrow { font-size: 11px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--clay); }
.pricemenu__title { font-size: 24px; color: var(--ink); }
.pricemenu__list { display: flex; flex-direction: column; }
.pricemenu__row { display: grid; grid-template-columns: minmax(0, 1fr) auto 116px; align-items: baseline; gap: 18px; padding: 17px 10px; margin: 0 -10px; border-bottom: 1px solid var(--line-soft); border-radius: 12px; transition: background .25s var(--ease), box-shadow .25s var(--ease); }
.pricemenu__row:last-child { border-bottom: none; }
.pricemenu__row:hover { background: linear-gradient(90deg, rgba(156,90,107,.08), rgba(199,154,134,.05)); box-shadow: inset 3px 0 0 var(--accent); }
.pricemenu__row:hover .pricemenu__price { color: var(--accent); }
.pricemenu__name { font-weight: 600; font-size: 16.5px; color: var(--ink); }
.pricemenu__time { justify-self: center; font-size: 13px; font-weight: 600; color: var(--muted); white-space: nowrap; }
.pricemenu__price { justify-self: end; font-family: "Fraunces", Georgia, serif; font-weight: 600; font-size: 18px; color: var(--accent-deep); white-space: nowrap; transition: color .25s var(--ease); }
.pricemenu__price i { font-style: normal; font-family: "Manrope", sans-serif; font-size: 11.5px; font-weight: 600; color: var(--muted); margin-right: 4px; }

.zones__note { max-width: 760px; margin: 40px auto 0; text-align: center; font-size: 13.5px; color: var(--muted); }

/* премиальное «дыхание»: фоновое свечение блока (медленно, едва заметно) */
@keyframes zone-breathe { 0%, 100% { opacity: .6; transform: translateY(0); } 50% { opacity: 1; transform: translateY(-8px); } }

/* ---------- Pricing ---------- */
.pricing { display: grid; grid-template-columns: 1.45fr .9fr; gap: 26px; align-items: stretch; }
.pricing__panel { position: relative; overflow: hidden; background: linear-gradient(180deg, #ffffff 0%, #fbf5ef 100%); border: 1px solid var(--line); border-radius: var(--radius-xl); padding: 18px 36px 28px; box-shadow: var(--sh-lift); }
.pricing__panel::before { content: ""; position: absolute; top: -70px; left: -56px; width: 220px; height: 220px; border-radius: 50%; pointer-events: none; background: radial-gradient(circle, rgba(230,210,187,.55), rgba(230,210,187,0) 70%); }
.pricing__panel > * { position: relative; z-index: 1; }
.pricing__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 14px; padding: 26px 0 20px; margin-bottom: 6px; border-bottom: 1px solid var(--line); }
.pricing__head-l { display: flex; flex-direction: column; gap: 7px; }
.pricing__eyebrow { font-size: 11px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--clay); }
.pricing__head h3 { font-size: 27px; }
.pricing__badge { font-size: 11px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--muted); white-space: nowrap; }
.pricing__rows { display: flex; flex-direction: column; }
.pricing__row { display: flex; align-items: baseline; gap: 14px; padding: 18px 14px; margin: 0 -14px; border-bottom: 1px solid var(--line-soft); border-radius: 12px; transition: background .25s var(--ease), box-shadow .25s var(--ease); }
.pricing__row:last-child { border-bottom: none; }
.pricing__row:hover { background: linear-gradient(90deg, rgba(156,90,107,.09), rgba(199,154,134,.07)); box-shadow: inset 3px 0 0 var(--accent); }
.pricing__row:hover .pricing__val { color: var(--accent); }
.pricing__val { transition: color .25s var(--ease); }
.pricing__name { font-weight: 600; color: var(--ink); font-size: 16px; }
.pricing__dline { flex: 1; align-self: center; height: 0; border-bottom: 1px dotted var(--line); margin: 0 4px; }
.pricing__val { font-family: "Manrope", sans-serif; font-weight: 800; font-size: 18px; color: var(--accent-deep); white-space: nowrap; }
.pricing__from { font-size: 12px; font-weight: 600; color: var(--muted); margin-right: 4px; }

.consult { position: relative; display: flex; flex-direction: column; overflow: hidden; background: linear-gradient(180deg, #ffffff 0%, #fbeee9 100%); border: 1px solid var(--line); border-radius: var(--radius-xl); padding: 34px; box-shadow: var(--sh-lift); }
.consult:hover { transform: translateY(-6px); box-shadow: var(--sh-premium); border-color: rgba(156,90,107,.28); }
.consult::before { content: ""; position: absolute; inset: 0 0 auto 0; height: 4px; background: var(--grad); }
.consult__tag { align-self: flex-start; font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--accent-deep); background: rgba(156,90,107,.1); border: 1px solid rgba(156,90,107,.2); padding: 7px 14px; border-radius: var(--radius-pill); margin-bottom: 18px; }
.consult h3 { font-size: 24px; margin-bottom: 10px; color: var(--ink); }
.consult__lead { color: var(--ink-soft); font-size: 15px; margin-bottom: 22px; }
.consult__list { display: flex; flex-direction: column; gap: 14px; margin-bottom: 26px; }
.consult__list li { display: flex; align-items: center; gap: 13px; }
.consult__ic { display: grid; place-items: center; width: 30px; height: 30px; flex-shrink: 0; border-radius: 9px; background: var(--grad); color: #fff; box-shadow: var(--sh-xs); }
.consult__list strong { display: block; font-size: 15px; color: var(--ink); }
.consult__list span { font-size: 13px; color: var(--muted); }
.consult .btn { margin-top: auto; }
.consult__note { margin-top: 16px; font-size: 12.5px; color: var(--muted); }

/* ===================================================================
   Стоимость процедур — PREMIUM price-block (rework по reference2)
   Дорогая золотая двойная рамка; слева чистая фото-сцена консультации
   (мастер + клиент), справа светлая premium price-card с монограммой;
   живые фирменные световые сферы (глянцевые «шары» + жемчуг), мягкий drift.
   Блок деликатно входит в страницу сверху и растворяется снизу.
   =================================================================== */
.section--price { position: relative; padding-top: 64px; }
/* (убраны прямоугольные glow-псевдоэлементы секции — их края читались как «боковые полосы»
   и прямоугольная подложка вокруг карточки; фон теперь единый общий) */

/* ---- общий контейнер: дорогая ЗОЛОТАЯ двойная рамка + тёплый glow ----
   (overflow НЕ скрыт — фирменные шары свободно пересекают рамку) */
.priceblk {
  position: relative; isolation: isolate;
  display: grid; grid-template-columns: 47% 1fr; align-items: stretch; gap: 18px;
  padding: 18px; border-radius: 36px;
  /* единый ровный тонкий золотой контур (без градиентной неоднородной обводки) */
  border: 1.5px solid rgba(201,162,107,.5);
  background:
    radial-gradient(80% 64% at 14% 4%, rgba(247,224,221,.55) 0%, transparent 58%) padding-box,
    radial-gradient(74% 70% at 100% 100%, rgba(231,211,187,.5) 0%, transparent 56%) padding-box,
    radial-gradient(60% 52% at 96% 4%, rgba(216,176,195,.32) 0%, transparent 60%) padding-box,
    linear-gradient(180deg, #f9f1eb 0%, #fbeae6 44%, #fdf4ef 100%) padding-box;
  box-shadow:
    0 62px 124px -52px rgba(120,58,80,.42),
    0 22px 56px -32px rgba(176,118,128,.3),
    inset 0 1px 0 rgba(255,255,255,.6);
}
/* только мягкое тёплое внутреннее свечение — БЕЗ второй линии (никакой «двойной рамки») */
.priceblk::before {
  content: ""; position: absolute; inset: 2px; z-index: 4; pointer-events: none; border-radius: 34px;
  box-shadow: inset 0 0 48px rgba(255,244,228,.5);
}

/* ---- левое фото — чистая premium-сцена консультации (без подложек/серых полос) ---- */
.priceblk__photo { position: relative; z-index: 1; margin: 0; overflow: hidden; border-radius: 26px; min-height: 506px; background: #efe0d2;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.5), 0 24px 54px -32px rgba(120,58,80,.42); }
.priceblk__photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 71% 26%; filter: saturate(1.07) brightness(1.05) contrast(1.01); }
/* тёплый световой контур + еле заметный warm-fade снизу (растворение, без серой полосы) */
.priceblk__photo::after { content: ""; position: absolute; inset: 0; pointer-events: none; border-radius: inherit;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.4), inset 0 0 42px rgba(255,243,224,.42);
  background:
    radial-gradient(120% 58% at 50% 0%, rgba(255,248,239,.18), transparent 50%),
    linear-gradient(180deg, transparent 66%, rgba(248,228,216,.12) 86%, rgba(245,221,210,.26) 100%); }

/* ---- правая premium price-card ---- */
.priceblk__card { position: relative; z-index: 2; overflow: hidden; display: flex; flex-direction: column; padding: 40px 42px 30px; border-radius: 26px;
  background: linear-gradient(170deg, #fffefb 0%, #fdf2f1 58%, #fbeef0 100%);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.7), 0 24px 54px -34px rgba(120,58,80,.3); }
.priceblk__card::before { content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none; border-radius: inherit;
  background: radial-gradient(68% 50% at 86% 2%, rgba(247,224,221,.5), transparent 60%), radial-gradient(58% 42% at 2% 100%, rgba(231,211,187,.34), transparent 64%); }
.priceblk__card > * { position: relative; z-index: 1; }
/* монограмма-сфера в верхнем правом углу карточки */
.priceblk__logo { position: absolute; z-index: 2; top: 22px; right: 24px; display: grid; place-items: center; width: 42px; height: 42px; border-radius: 50%; color: var(--accent-deep);
  background: radial-gradient(circle at 32% 26%, #fff9f1, #f3e0c9); border: 1px solid rgba(201,162,107,.5);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.9), 0 6px 16px -8px rgba(156,90,107,.3); }

.priceblk__head { text-align: center; margin: 2px 0 22px; padding: 0 36px; }
.priceblk__title { font-family: "Fraunces", Georgia, serif; font-size: clamp(33px, 3.9vw, 47px); font-weight: 600; line-height: 1.03; letter-spacing: -.012em; color: #4a2531; margin: 0 0 9px; }
.priceblk__sub { font-size: 14.5px; line-height: 1.5; color: var(--ink-soft); margin: 0; }

.priceblk__rows { display: flex; flex-direction: column; margin-top: 4px; }
.priceblk__row { display: flex; align-items: center; gap: 14px; padding: 13px 8px; margin: 0 -8px; border-bottom: 1px solid var(--line-soft); border-radius: 12px; transition: background .3s var(--ease); }
.priceblk__row:last-child { border-bottom: none; }
.priceblk__row:hover { background: linear-gradient(90deg, rgba(156,90,107,.07), rgba(199,154,134,.03)); }
.priceblk__ic { display: grid; place-items: center; width: 38px; height: 38px; flex-shrink: 0; border-radius: 50%; color: var(--accent-deep);
  background: radial-gradient(125% 125% at 30% 24%, #fffaf3 0%, #f6e6d6 100%); border: 1px solid rgba(201,162,107,.42);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.9), 0 3px 8px rgba(156,90,107,.08); transition: transform .3s var(--ease), box-shadow .3s var(--ease); }
.priceblk__ic svg { width: 20px; height: 20px; }
.priceblk__row:hover .priceblk__ic { transform: scale(1.07); box-shadow: inset 0 1px 0 rgba(255,255,255,.9), 0 6px 14px rgba(156,90,107,.2); }
.priceblk__name { font-size: 16.5px; font-weight: 600; color: var(--ink); white-space: nowrap; }
.priceblk__lead { flex: 1; align-self: center; height: 0; margin: 0 6px; border-bottom: 1.5px dotted rgba(106,39,64,.22); }
.priceblk__val { font-family: "Fraunces", Georgia, serif; font-weight: 600; font-size: 21px; line-height: 1; color: #5e2a3a; white-space: nowrap; transition: color .25s var(--ease); }
.priceblk__val i { font-style: normal; font-family: "Manrope", sans-serif; font-size: 11px; font-weight: 600; color: var(--muted); margin-right: 5px; }
.priceblk__row:hover .priceblk__val { color: var(--accent); }

/* CTA — «тяжёлая» дорогая wine-кнопка с глубоким свечением и highlight */
.priceblk__cta { margin-top: 22px; padding: 19px 30px; font-size: 16px; font-weight: 700; letter-spacing: .005em;
  background: linear-gradient(135deg, #9a4b60 0%, #6a2740 52%, #531d33 100%);
  box-shadow: 0 26px 46px -16px rgba(94,33,56,.62), 0 8px 18px -8px rgba(94,33,56,.46), inset 0 1px 0 rgba(255,255,255,.24); }
.priceblk__cta:hover { box-shadow: 0 32px 56px -16px rgba(94,33,56,.68), 0 10px 22px -8px rgba(94,33,56,.5), inset 0 1px 0 rgba(255,255,255,.28); filter: brightness(1.05); }
.priceblk__note { align-self: center; margin-top: 14px; font-size: 12px; font-weight: 600; letter-spacing: .01em; color: var(--accent-deep);
  background: linear-gradient(180deg, rgba(247,231,206,.55), rgba(244,217,215,.42)); border: 1px solid rgba(201,162,107,.34); padding: 8px 18px; border-radius: var(--radius-pill); text-align: center;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.7); }

/* ---- фирменные световые сферы (blobs): глянцевые «шары», жемчуг, мягкий blush ---- */
.priceblk__orb { position: absolute; z-index: 6; border-radius: 50%; pointer-events: none; will-change: transform, filter; }
/* мягкие световые орбы с прозрачным краем (НЕ глянцевые «шарики» с твёрдым телом) —
   у краёв блока читаются как деликатное свечение, а не как обрезанный полушар */
.priceblk__orb--gloss { background: radial-gradient(circle at 34% 28%, rgba(255,255,255,.95) 0%, #f2c6d0 44%, rgba(242,198,208,.14) 74%, transparent 100%);
  box-shadow: 0 14px 30px -18px rgba(156,90,107,.18); }
.priceblk__orb--pearl { background: radial-gradient(circle at 34% 28%, rgba(255,255,255,.95) 0%, #f4e4c9 46%, rgba(244,228,201,.12) 76%, transparent 100%);
  box-shadow: 0 14px 30px -18px rgba(176,140,96,.16); }
.priceblk__orb--blush { background: radial-gradient(circle at 34% 28%, rgba(255,255,255,.95), var(--orb-warm-blush) 46%, rgba(255,250,247,.06) 78%, transparent 100%);
  box-shadow: 0 12px 26px -18px rgba(156,90,107,.18); }
/* размещение + индивидуальная кинетика; opacity снижена — спокойный premium-свет, без «balloon-мусора» по углам */
.priceblk__orb--1 { width: 150px; height: 150px; top: -30px; left: -30px; opacity: .55; animation: orb-drift-a 19s var(--ease) infinite; }
.priceblk__orb--2 { width: 120px; height: 120px; top: -28px; right: -26px; opacity: .5;  animation: orb-drift-b 23s var(--ease) infinite; }
.priceblk__orb--3 { width: 64px;  height: 64px;  top: -18px; left: 44%;  opacity: .48; animation: orb-drift-c 15s var(--ease) infinite; }
.priceblk__orb--4 { width: 166px; height: 166px; bottom: -36px; left: -36px; opacity: .5;  animation: orb-drift-a 25s var(--ease) infinite reverse; }
.priceblk__orb--5 { width: 120px; height: 120px; bottom: -30px; right: -20px; opacity: .5;  animation: orb-drift-b 21s var(--ease) infinite; }
.priceblk__orb--6 { width: 96px;  height: 96px;  top: 38%;  left: -28px; opacity: .4;  animation: orb-drift-c 18s var(--ease) infinite; }
.priceblk__orb--7 { width: 58px;  height: 58px;  top: 70%;  left: 30%;   opacity: .45; animation: orb-drift-a 16s var(--ease) infinite; }
.priceblk__orb--8 { width: 70px;  height: 70px;  top: 13%;  left: 7%;    opacity: .42; animation: orb-drift-b 20s var(--ease) infinite reverse; }
/* очень мягкий drift + дыхание свечения (через brightness), разная траектория — без резких движений */
@keyframes orb-drift-a { 0%, 100% { transform: translate(0,0) scale(1); filter: brightness(1); } 50% { transform: translate(-12px,15px) scale(1.05); filter: brightness(1.08); } }
@keyframes orb-drift-b { 0%, 100% { transform: translate(0,0) scale(1); filter: brightness(1); } 50% { transform: translate(13px,-12px) scale(1.06); filter: brightness(1.06); } }
@keyframes orb-drift-c { 0%, 100% { transform: translate(0,0) scale(1); filter: brightness(1); } 50% { transform: translate(9px,12px) scale(1.05); filter: brightness(1.09); } }

/* ---- tablet / mobile ---- */
@media (max-width: 1000px) {
  .priceblk { grid-template-columns: 1fr; gap: 16px; padding: 14px; border-radius: 30px; }
  .priceblk::before { inset: 8px; border-radius: 23px; }
  .priceblk__photo { min-height: 322px; }
  .priceblk__photo img { object-position: 58% 28%; }
  /* шары — прорежены и сдвинуты в фото/верхнюю зону (вне строк цен) */
  .priceblk__orb--4, .priceblk__orb--5, .priceblk__orb--6, .priceblk__orb--8 { display: none; }
  .priceblk__orb--1 { width: 108px; height: 108px; top: -32px; left: -30px; }
  .priceblk__orb--2 { width: 90px;  height: 90px;  top: -30px; right: -26px; }
  .priceblk__orb--3 { width: 54px;  height: 54px;  top: -20px; left: auto; right: 16%; }
  /* над фото (не поверх строк цен) */
  .priceblk__orb--7 { width: 50px;  height: 50px;  top: 17%; left: auto; right: 6%; }
}
@media (max-width: 540px) {
  .section--price { padding-top: 50px; }
  .priceblk { padding: 11px; border-radius: 26px; gap: 13px; }
  .priceblk::before { inset: 6px; border-radius: 20px; }
  .priceblk__photo { min-height: 244px; border-radius: 20px; }
  .priceblk__photo img { object-position: 56% 26%; }
  .priceblk__card { padding: 30px 22px 24px; border-radius: 20px; }
  .priceblk__logo { top: 16px; right: 16px; width: 36px; height: 36px; }
  .priceblk__head { margin: 0 0 18px; padding: 0 6px; }
  .priceblk__row { gap: 12px; padding: 12px 4px; margin: 0 -4px; }
  .priceblk__ic { width: 34px; height: 34px; }
  .priceblk__ic svg { width: 18px; height: 18px; }
  .priceblk__name { font-size: 15.5px; }
  .priceblk__val { font-size: 19px; }
  .priceblk__cta { padding: 17px 24px; font-size: 15px; }
  .priceblk__orb--1 { width: 84px; height: 84px; }
  .priceblk__orb--2 { width: 70px; height: 70px; }
  .priceblk__orb--3 { width: 44px; height: 44px; }
  .priceblk__orb--7 { width: 42px; height: 42px; }
}

/* ===================================================================
   «Как проходит визит» — premium process-block (по reference3)
   Двухколоночная композиция: слева intro + фото-карта, справа 4 этапа
   со связующей траекторией и круглым seal; снизу — premium инфо-бар.
   Фирменные световые сферы (blobs) с мягким drift + лёгким parallax.
   =================================================================== */
.section--visit { position: relative; isolation: isolate; overflow: clip; }
/* (убран прямоугольный glow-псевдоэлемент — его верхний край давал горизонтальный шов) */
/* (нижний fade-оверлей убран — он давал видимый «шов» на стыке секций;
   страница и так на едином фоне, переход мягкий за счёт непрерывного фона) */

.visit__grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr); gap: 50px; align-items: start; }

/* ---- LEFT: intro + premium фото-карта ---- */
.visit__intro { position: relative; display: flex; flex-direction: column; }
.visit__head { margin-bottom: 28px; }
.visit__title { text-align: left; margin: 4px 0 16px; line-height: 1.04; }
.visit__sub { color: var(--ink-soft); font-size: 16.5px; line-height: 1.55; max-width: 42ch; }

/* единый чистый «паспарту»: тонкий золотой кант + один мягкий белый mat + премиальная тень (без тройных колец) */
.visit__photo { position: relative; margin: 6px 0 0; border-radius: var(--radius-xl); overflow: hidden; aspect-ratio: 1 / 0.94; background: #f3e6d6;
  border: 1px solid rgba(201,162,107,.4);
  box-shadow: var(--sh-premium), 0 0 0 6px rgba(255,253,249,.6), inset 0 1px 0 rgba(255,255,255,.85), inset 0 0 70px rgba(255,245,235,.34); }
.visit__photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 32%; filter: saturate(1.1) brightness(1.04) contrast(1.05); }
/* мягкое свечение по краю + тёплый низ под капсулой (без серости) */
.visit__photo::after { content: ""; position: absolute; inset: 0; pointer-events: none; border-radius: inherit; box-shadow: inset 0 0 0 1px rgba(255,255,255,.45);
  background: radial-gradient(120% 60% at 50% 0%, rgba(255,248,239,.16), transparent 48%), linear-gradient(180deg, transparent 60%, rgba(248,228,216,.18) 86%, rgba(245,220,210,.34) 100%); }
/* floating capsule снизу-слева */
.visit__photo-badge { position: absolute; z-index: 2; left: 16px; bottom: 16px; display: inline-flex; align-items: center; gap: 11px; padding: 9px 16px 9px 9px; border-radius: var(--radius-pill);
  background: linear-gradient(180deg, rgba(255,251,247,.86), rgba(255,246,240,.74)); -webkit-backdrop-filter: blur(12px) saturate(150%); backdrop-filter: blur(12px) saturate(150%);
  border: 1px solid rgba(255,255,255,.82); box-shadow: 0 12px 28px -12px rgba(90,40,60,.42), inset 0 1px 0 rgba(255,255,255,.9); }
.visit__photo-ic { display: grid; place-items: center; width: 32px; height: 32px; flex-shrink: 0; border-radius: 50%; color: var(--accent-deep);
  background: radial-gradient(125% 125% at 30% 24%, #fff9f2 0%, #f3e0cf 100%); border: 1px solid rgba(151,72,94,.2); box-shadow: inset 0 1px 0 rgba(255,255,255,.9); }
.visit__photo-txt { display: flex; flex-direction: column; line-height: 1.25; }
.visit__photo-txt b { font-size: 13.5px; font-weight: 700; color: var(--ink); }
.visit__photo-txt i { font-style: normal; font-size: 12px; color: var(--ink-soft); }

/* ---- RIGHT: 4 floating-pill этапа + пластичная journey-линия + seal ---- */
/* padding-top опускает группу карточек — она встаёт в один уровень с фото (как в reference3);
   padding-left даёт место левому краю диагонали, padding-right — «плавающему» медальону */
.visit__steps { position: relative; z-index: 1; list-style: none; margin: 0; padding: 104px 56px 0 52px; display: flex; flex-direction: column; gap: 30px; }

/* journey-линия (SVG) живёт строго в зоне карточек (top = padding-top, height = остаток),
   иначе SVG берёт интринсик-высоту из viewBox и линия торчит вниз под карточками */
.visit__journey { position: absolute; z-index: 0; left: 0; top: 104px; height: calc(100% - 104px); width: 185px; pointer-events: none; overflow: visible; }
.visit__journey-line { fill: none; stroke: url(#visitJourney); stroke-width: 1.8; vector-effect: non-scaling-stroke; }
.visit__journey-glow { fill: none; stroke: url(#visitJourney); stroke-width: 7; vector-effect: non-scaling-stroke; opacity: .5; filter: blur(3px); animation: visit-journey 6.5s var(--ease) infinite; }
.visit__node { fill: #c46a82; filter: drop-shadow(0 0 5px rgba(196,106,130,.9)); animation: visit-node 4.8s var(--ease) infinite; }
.visit__node--2 { animation-delay: -1.6s; }
.visit__node--3 { animation-delay: -3.2s; }
@keyframes visit-journey { 0%, 100% { opacity: .42; } 50% { opacity: .78; } }
@keyframes visit-node { 0%, 100% { opacity: .4; } 50% { opacity: 1; } }

/* controlled stagger: карточки идут по диагонали сверху-справа → вниз-влево (живой editorial flow) */
.visit__step { position: relative; z-index: 1; display: grid; grid-template-columns: 74px minmax(0, 1fr); align-items: center; gap: 0; transform: translateX(var(--ox, 0)); }
.visit__step:nth-child(3) { --ox: 48px; }
.visit__step:nth-child(4) { --ox: 16px; }
.visit__step:nth-child(5) { --ox: -16px; }
.visit__step:nth-child(6) { --ox: -48px; }
/* крупный серифный номер в светящемся диске-узле — сидит на линии, мягко перекрывает карточку */
.visit__num { position: relative; z-index: 3; justify-self: center; display: grid; place-items: center; width: 60px; height: 60px; font-family: "Fraunces", Georgia, serif; font-size: 26px; font-weight: 600; color: var(--accent); }
.visit__num::before { content: ""; position: absolute; inset: 0; z-index: -1; border-radius: 50%;
  background: radial-gradient(circle at 38% 30%, #fffdf9 0%, #f8e9de 72%, rgba(248,233,222,.5) 100%);
  border: 1px solid rgba(201,162,107,.42);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.95), 0 12px 24px -12px rgba(156,90,107,.42), 0 0 0 6px rgba(255,252,248,.55); }

/* плавный premium-reveal этапов (заметнее обычного — крупнее ход, чуть медленнее; stagger даёт JS) */
.visit__step.reveal { opacity: 0; translate: 0 34px; transition: opacity .8s var(--ease), translate .8s var(--ease); }
.visit__step.reveal.is-in { opacity: 1; translate: 0 0; }

/* карточка — premium floating pill (frosted warm, большие скругления, светящаяся рамка, воздух внутри) */
.visit__card { position: relative; z-index: 1; margin-left: -22px; overflow: hidden; display: flex; align-items: center; gap: 18px;
  padding: 24px 44px 24px 50px; border-radius: 40px;
  background: linear-gradient(168deg, rgba(255,254,251,.94) 0%, rgba(253,245,240,.86) 100%);
  -webkit-backdrop-filter: blur(10px) saturate(145%); backdrop-filter: blur(10px) saturate(145%);
  border: 1px solid rgba(255,255,255,.8);
  box-shadow: 0 36px 64px -30px rgba(120,58,80,.36), 0 10px 26px -14px rgba(156,90,107,.2), 0 0 0 1px rgba(255,255,255,.5), inset 0 1px 0 rgba(255,255,255,.95), inset 0 0 0 1px rgba(214,178,150,.16);
  transition: transform .55s var(--ease), box-shadow .55s var(--ease), border-color .55s var(--ease); }
/* деликатное внутреннее свечение + усиление на hover */
.visit__card::before { content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none; border-radius: inherit; opacity: .85; transition: opacity .55s var(--ease);
  background: radial-gradient(60% 90% at 10% 6%, rgba(247,224,221,.55), transparent 56%), radial-gradient(56% 80% at 100% 100%, rgba(231,211,187,.4), transparent 60%); }
.visit__card:hover { transform: translateY(-7px); border-color: rgba(255,255,255,.95);
  box-shadow: 0 44px 76px -30px rgba(120,58,80,.46), 0 14px 30px -14px rgba(156,90,107,.32), 0 0 36px -8px rgba(231,211,187,.5), inset 0 1px 0 rgba(255,255,255,.96), inset 0 0 0 1px rgba(214,178,150,.32); }
.visit__card:hover::before { opacity: 1; }
.visit__ic { position: relative; z-index: 1; display: grid; place-items: center; width: 56px; height: 56px; flex-shrink: 0; border-radius: 50%; color: var(--accent-deep);
  background: radial-gradient(135% 135% at 30% 22%, #fffbf5 0%, #f6e4d3 70%, #efd6c3 100%); border: 1px solid rgba(201,162,107,.45);
  box-shadow: inset 0 1.5px 0 rgba(255,255,255,.95), inset 0 -4px 9px -4px rgba(156,90,107,.18), 0 8px 18px -8px rgba(156,90,107,.28); transition: transform .55s var(--ease), box-shadow .55s var(--ease); }
.visit__ic svg { width: 24px; height: 24px; }
.visit__card:hover .visit__ic { transform: scale(1.09); box-shadow: inset 0 1.5px 0 rgba(255,255,255,.95), inset 0 -4px 9px -4px rgba(156,90,107,.2), 0 12px 24px -8px rgba(156,90,107,.34); }
.visit__body { position: relative; z-index: 1; min-width: 0; }
.visit__card-title { font-size: 18px; font-weight: 700; line-height: 1.18; color: var(--ink); margin: 0 0 6px; letter-spacing: -.008em; }
.visit__card-text { font-size: 14px; line-height: 1.52; color: var(--ink-soft); margin: 0; }

/* ПЕРЕСОБРАННЫЙ медальон: круг-печать с двойным premium-контуром, мягким inner glow,
   оптически центрированной композицией (sparkle → крупное устойчивое слово → подпись).
   Короткое слово-акцент «Бережно» специально, чтобы не распирало форму. */
.visit__seal { position: absolute; z-index: 4; top: 57%; right: -26px; margin-top: -77px;
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 0;
  width: 154px; height: 154px; border-radius: 50%; padding: 0 16px; text-align: center;
  color: var(--accent-deep);
  background: radial-gradient(circle at 38% 30%, #fffefc 0%, #fdf5ef 50%, #f8e7df 85%, #f2dcd5 100%);
  border: 1px solid rgba(201,162,107,.42);
  box-shadow:
    inset 9px 11px 24px -10px rgba(255,255,255,.92),
    inset -6px -8px 22px -10px rgba(156,90,107,.12),
    0 32px 62px -26px rgba(120,58,80,.32),
    0 0 52px -6px rgba(247,224,221,.72);
  animation: visit-seal-float 15s var(--ease) infinite; }
/* второй тонкий контур + мягкое внутреннее свечение (медальон-печать, не наклейка) */
.visit__seal::before { content: ""; position: absolute; inset: 8px; border-radius: 50%;
  border: 1px solid rgba(201,162,107,.28); box-shadow: inset 0 0 22px rgba(255,247,238,.6); }
.visit__seal-spark { width: 16px; height: 16px; color: var(--accent); opacity: .78; margin-bottom: 7px; }
/* основной акцент — устойчивый serif, крупный, с лёгким тайтнингом, чтобы дышал в круге */
.visit__seal b { display: block; font-family: "Fraunces", Georgia, serif; font-style: normal; font-weight: 600; font-size: 23px; line-height: 1; letter-spacing: -.012em; color: var(--accent-deep); }
/* подпись — спокойный italic, мельче, мягче */
.visit__seal span { display: block; font-family: "Fraunces", Georgia, serif; font-style: italic; font-weight: 500; font-size: 13px; line-height: 1; letter-spacing: .005em; color: var(--accent); opacity: .9; margin-top: 8px; }
/* очень деликатное плавание + дыхание света (12–18s), без bounce */
@keyframes visit-seal-float { 0%, 100% { transform: translateY(0) scale(1); filter: brightness(1); } 50% { transform: translateY(-6px) scale(1.018); filter: brightness(1.05); } }

/* ---- нижняя premium инфо-плашка ---- */
.visit__bar { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)) auto; align-items: center; margin-top: 30px; padding: 22px 36px; border-radius: var(--radius-xl);
  background: linear-gradient(180deg, rgba(255,253,249,.93), rgba(251,243,236,.87)); -webkit-backdrop-filter: blur(9px); backdrop-filter: blur(9px);
  border: 1px solid rgba(214,178,150,.34); box-shadow: var(--sh-soft), inset 0 1px 0 rgba(255,255,255,.88); }
.visit__bar-item { display: flex; align-items: center; gap: 15px; padding: 6px 30px; }
/* изящные разделители — hairline, растворяющийся к краям */
.visit__bar-item + .visit__bar-item { border-left: 1px solid; border-image: linear-gradient(180deg, transparent, rgba(106,39,64,.18) 30%, rgba(106,39,64,.18) 70%, transparent) 1; }
.visit__bar-ic { display: grid; place-items: center; width: 42px; height: 42px; flex-shrink: 0; border-radius: 50%; color: var(--accent-deep);
  background: radial-gradient(125% 125% at 30% 24%, #fff9f2 0%, #f4e3d2 100%); border: 1px solid rgba(151,72,94,.18); box-shadow: inset 0 1px 0 rgba(255,255,255,.9); }
.visit__bar-ic svg { width: 21px; height: 21px; }
.visit__bar-txt { display: flex; flex-direction: column; line-height: 1.3; min-width: 0; }
.visit__bar-txt b { font-size: 12px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; color: var(--accent); margin-bottom: 2px; }
.visit__bar-txt i { font-style: normal; font-size: 13px; color: var(--ink-soft); }
.visit__bar-accent { padding-left: 32px; margin-left: 6px; border-left: 1px solid; border-image: linear-gradient(180deg, transparent, rgba(106,39,64,.18) 30%, rgba(106,39,64,.18) 70%, transparent) 1; font-family: "Fraunces", Georgia, serif; font-style: italic; font-size: 20px; font-weight: 500; color: var(--accent); white-space: nowrap; }

/* ---- фирменные световые сферы (blobs): premium light orbs, разные размеры/тайминги ---- */
.visit__orb { position: absolute; border-radius: 50%; pointer-events: none; will-change: transform; z-index: 0;
  box-shadow: inset 7px 9px 18px -7px rgba(255,255,255,.72), inset -5px -7px 16px -7px rgba(156,90,107,.12), 0 14px 36px -14px rgba(156,90,107,.2); }
.visit__orb--1 { width: 236px; height: 236px; top: 8px; right: -82px; background: radial-gradient(circle at 36% 30%, rgba(255,255,255,.94), var(--orb-champagne) 46%, rgba(255,250,243,.04) 74%, transparent 100%); opacity: .9; animation: visit-drift-a 22s var(--ease) infinite; }
/* в нижне-правом «пустом» углу диагонали — уравновешивает композицию (чуть заметнее) */
.visit__orb--2 { width: 132px; height: 132px; bottom: 4%; right: 1%; background: radial-gradient(circle at 36% 30%, rgba(255,255,255,.93), var(--orb-soft-rose) 46%, rgba(255,250,248,.04) 74%, transparent 100%); opacity: .66; animation: visit-drift-b 26s var(--ease) infinite; }
.visit__orb--3 { width: 90px; height: 90px; bottom: 18%; left: 39%; background: radial-gradient(circle at 36% 30%, rgba(255,255,255,.92), var(--orb-warm-blush) 46%, rgba(255,250,247,.05) 76%, transparent 100%); opacity: .5; z-index: 2; animation: visit-drift-c 19s var(--ease) infinite; }
.visit__orb--4 { width: 164px; height: 164px; bottom: 38px; left: -82px; background: radial-gradient(circle at 36% 30%, rgba(255,255,255,.92), var(--orb-ivory) 46%, rgba(255,252,247,.05) 76%, transparent 100%); opacity: .72; animation: visit-drift-a 24s var(--ease) infinite reverse; }
.visit__orb--5 { width: 66px; height: 66px; top: 11%; left: 29%; background: radial-gradient(circle at 36% 32%, rgba(255,255,255,.94), var(--orb-dusty-mauve) 46%, rgba(255,248,250,.05) 76%, transparent 100%); opacity: .44; animation: visit-drift-b 21s var(--ease) infinite; }
.visit__orb--6 { width: 104px; height: 104px; top: 55%; left: 2%; background: radial-gradient(circle at 36% 30%, rgba(255,255,255,.92), var(--orb-muted-berry) 46%, rgba(255,250,248,.04) 74%, transparent 100%); opacity: .42; animation: visit-drift-c 27s var(--ease) infinite reverse; }
/* у колонки карточек — связывают этапы со светом */
.visit__orb--7 { width: 54px; height: 54px; top: 3%; right: 31%; background: radial-gradient(circle at 36% 30%, rgba(255,255,255,.94), var(--orb-soft-rose) 46%, rgba(255,250,248,.05) 76%, transparent 100%); opacity: .5; z-index: 2; animation: visit-drift-c 17s var(--ease) infinite; }
.visit__orb--8 { width: 80px; height: 80px; bottom: 30%; right: 41%; background: radial-gradient(circle at 36% 30%, rgba(255,255,255,.92), var(--orb-champagne) 46%, rgba(255,250,243,.05) 76%, transparent 100%); opacity: .42; animation: visit-drift-a 20s var(--ease) infinite reverse; }
/* доп. перламутровые сферы: у фото, в центре-связке и у нижних карточек */
.visit__orb--9 { width: 70px; height: 70px; top: 7%; left: 7%; background: radial-gradient(circle at 36% 30%, rgba(255,255,255,.94), var(--orb-ivory) 46%, rgba(255,252,247,.05) 76%, transparent 100%); opacity: .5; z-index: 2; animation: visit-drift-b 18s var(--ease) infinite; }
.visit__orb--10 { width: 58px; height: 58px; top: 30%; left: 45%; background: radial-gradient(circle at 36% 30%, rgba(255,255,255,.92), var(--orb-warm-blush) 46%, rgba(255,250,247,.05) 76%, transparent 100%); opacity: .4; animation: visit-drift-c 23s var(--ease) infinite reverse; }
.visit__orb--11 { width: 50px; height: 50px; bottom: 9%; right: 9%; background: radial-gradient(circle at 36% 30%, rgba(255,255,255,.94), var(--orb-soft-rose) 46%, rgba(255,250,248,.05) 76%, transparent 100%); opacity: .46; z-index: 2; animation: visit-drift-a 16s var(--ease) infinite; }
/* очень мягкий drift + лёгкое дыхание масштаба/свечения (без резких движений) */
@keyframes visit-drift-a { 0%, 100% { transform: translate(0,0) scale(1); } 50% { transform: translate(-14px,16px) scale(1.05); } }
@keyframes visit-drift-b { 0%, 100% { transform: translate(0,0) scale(1); } 50% { transform: translate(13px,-12px) scale(1.06); } }
@keyframes visit-drift-c { 0%, 100% { transform: translate(0,0) scale(1); } 50% { transform: translate(10px,14px) scale(1.05); } }

/* ---- tablet / mobile adaptation ---- */
@media (max-width: 1000px) {
  .visit__grid { grid-template-columns: 1fr; gap: 30px; }
  .visit__head { text-align: center; max-width: 640px; margin: 0 auto 22px; }
  .visit__title { text-align: center; }
  .visit__sub { margin-left: auto; margin-right: auto; }
  .visit__photo { aspect-ratio: 16 / 11; max-width: 560px; margin: 0 auto; width: 100%; }
  .visit__photo img { object-position: 60% 26%; }
  .visit__steps { max-width: 620px; margin: 0 auto; width: 100%; padding: 0; }
  .visit__seal { display: none; }
  /* на узких экранах — без диагонали (ровный читаемый стек) + прямой деликатный маршрут */
  .visit__journey { display: none; }
  .visit__step { transform: none; }
  .visit__steps::before { content: ""; position: absolute; z-index: 0; left: 36px; top: 28px; bottom: 28px; width: 2px; border-radius: 2px;
    background: linear-gradient(180deg, transparent, rgba(156,90,107,.4) 12%, rgba(199,124,134,.52) 50%, rgba(156,90,107,.4) 88%, transparent);
    box-shadow: 0 0 12px rgba(199,124,134,.48); }
  .visit__bar { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 0; padding: 22px 24px; }
  .visit__bar-item { padding: 6px 22px; }
  .visit__bar-item:nth-child(odd) { border-left: none; }
  .visit__bar-item:nth-child(3) { border-left: 1px solid var(--line-soft); }
  .visit__bar-accent { grid-column: 1 / -1; justify-self: center; padding-left: 0; margin: 6px 0 0; border-left: none; padding-top: 14px; border-top: 1px solid var(--line-soft); width: 100%; text-align: center; }
}
@media (max-width: 560px) {
  .visit__title { font-size: clamp(28px, 8vw, 36px); }
  .visit__sub { font-size: 15.5px; }
  .visit__photo { aspect-ratio: 4 / 3.4; border-radius: var(--radius-lg); box-shadow: var(--sh-lift), 0 0 0 5px rgba(255,253,249,.5), inset 0 1px 0 rgba(255,255,255,.85); }
  .visit__photo-badge { left: 12px; bottom: 12px; padding: 8px 14px 8px 8px; }
  .visit__step { grid-template-columns: 60px minmax(0, 1fr); gap: 0; }
  .visit__steps::before { left: 29px; }
  .visit__num { width: 50px; height: 50px; font-size: 22px; }
  .visit__card { margin-left: -18px; padding: 16px 18px 16px 36px; gap: 13px; border-radius: 28px; }
  .visit__ic { width: 46px; height: 46px; }
  .visit__ic svg { width: 20px; height: 20px; }
  .visit__card-title { font-size: 16px; }
  .visit__card-text { font-size: 13.5px; }
  /* инфо-бар в один столбец, аккуратно */
  .visit__bar { grid-template-columns: 1fr; gap: 0; padding: 8px 18px; }
  .visit__bar-item { padding: 15px 0; }
  .visit__bar-item + .visit__bar-item, .visit__bar-item:nth-child(3) { border-left: none; border-top: 1px solid var(--line-soft); }
  .visit__bar-accent { grid-column: auto; padding-top: 16px; }
  /* шарики — мягко прорежены, чтобы не перегружать mobile */
  .visit__orb--3, .visit__orb--5, .visit__orb--6, .visit__orb--7, .visit__orb--8,
  .visit__orb--9, .visit__orb--10, .visit__orb--11 { display: none; }
  .visit__orb--1 { width: 150px; height: 150px; top: 6px; right: -58px; }
  .visit__orb--4 { width: 110px; height: 110px; bottom: 24px; left: -58px; }
  .visit__orb--2 { width: 84px; height: 84px; bottom: 10%; right: 2%; top: auto; opacity: .5; }
}

/* ===================================================================
   «Подготовка и уход после процедуры» — premium care-block (по refpk/refmob)
   Слева: заголовок + photo-zone. Справа: 2 glass-card (Перед/После).
   Снизу: reassurance-плашка. Фон — общий тёплый (без секционных подложек,
   чтобы не было «полос» на стыках). Мягкие световые сферы.
   =================================================================== */
.section--care {
  position: relative;
  isolation: isolate;
  padding: 96px 0 78px;
  background:
    radial-gradient(900px 520px at 8% 30%, rgba(255,248,239,.48), transparent 68%),
    radial-gradient(760px 540px at 92% 12%, rgba(247,224,221,.34), transparent 66%),
    radial-gradient(860px 500px at 82% 92%, rgba(231,211,187,.28), transparent 70%),
    linear-gradient(180deg, rgba(246,239,228,0) 0%, rgba(255,248,240,.34) 18%, rgba(255,248,240,.34) 82%, rgba(246,239,228,0) 100%);
}
.care__grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(400px, .88fr); gap: clamp(34px, 5vw, 58px); align-items: start; }

/* ---- LEFT: intro + photo-zone ---- */
.care__intro { display: flex; flex-direction: column; }
.care__head { margin-bottom: 14px; }
.care__title { text-align: left; margin: 4px 0 16px; line-height: 1.06; font-size: clamp(29px, 3.5vw, 41px); }
.care__sub { color: var(--ink-soft); font-size: 16.5px; line-height: 1.55; max-width: 44ch; }
/* единый чистый «паспарту»: тонкий золотой кант + мягкий белый mat + премиальная тень (без двойных колец) */
.care__photo { position: relative; margin: 6px 0 0; padding: 0; border-radius: var(--radius-xl); overflow: hidden; aspect-ratio: 1.18 / 1; background: #f3e6d6;
  border: 1px solid rgba(201,162,107,.4);
  box-shadow: var(--sh-premium), 0 0 0 6px rgba(255,253,249,.6), inset 0 1px 0 rgba(255,255,255,.85), inset 0 0 70px rgba(255,245,235,.34); }
.care__photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 68% 50%; transform: scale(1.115); transform-origin: 64% 62%; filter: saturate(1.1) brightness(1.04) contrast(1.05); }
.care__photo::before { content: none; }
.care__photo::after { content: ""; position: absolute; inset: 0; pointer-events: none; border-radius: inherit; box-shadow: inset 0 0 0 1px rgba(255,255,255,.45);
  background: radial-gradient(120% 60% at 50% 0%, rgba(255,248,239,.16), transparent 48%), linear-gradient(180deg, transparent 60%, rgba(248,228,216,.18) 86%, rgba(245,220,210,.34) 100%); }

/* ---- RIGHT: две premium glass-card ---- */
.care__cards { position: relative; z-index: 1; display: flex; flex-direction: column; gap: 18px; width: 100%; max-width: 510px; justify-self: end; padding-top: 28px; }
.care__card { position: relative; overflow: hidden; padding: 25px 30px 14px; border-radius: 32px;
  background: linear-gradient(170deg, rgba(255,254,250,.96) 0%, rgba(253,246,239,.9) 100%);
  -webkit-backdrop-filter: blur(10px) saturate(140%); backdrop-filter: blur(10px) saturate(140%);
  border: 1px solid rgba(214,178,150,.34);
  box-shadow: 0 34px 70px -36px rgba(120,58,80,.38), 0 10px 24px -16px rgba(156,90,107,.2), 0 0 0 1px rgba(255,255,255,.66), inset 0 1px 0 rgba(255,255,255,.96), inset 0 0 0 1px rgba(255,255,255,.5), inset 0 -28px 70px -48px rgba(231,211,187,.55);
  transition: transform .42s cubic-bezier(.2,.7,.2,1), box-shadow .42s cubic-bezier(.2,.7,.2,1), border-color .42s cubic-bezier(.2,.7,.2,1); }
/* деликатное внутреннее свечение (усиливается на hover) */
.care__card::before { content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none; border-radius: inherit; opacity: .86; transition: opacity .42s cubic-bezier(.2,.7,.2,1);
  background: radial-gradient(58% 82% at 10% 5%, rgba(247,224,221,.56), transparent 58%), radial-gradient(52% 72% at 100% 100%, rgba(231,211,187,.42), transparent 64%); }
.care__card:hover { transform: translateY(-3px); border-color: rgba(214,178,150,.48);
  box-shadow: 0 40px 78px -38px rgba(120,58,80,.46), 0 14px 30px -18px rgba(156,90,107,.3), 0 0 36px -14px rgba(231,211,187,.64), 0 0 0 1px rgba(255,255,255,.72), inset 0 1px 0 rgba(255,255,255,.98), inset 0 0 0 1px rgba(255,255,255,.58), inset 0 -28px 70px -48px rgba(231,211,187,.62); }
.care__card:hover::before { opacity: 1; }
.care__card-head { position: relative; z-index: 1; display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 10px; }
.care__card-title { font-family: "Fraunces", Georgia, serif; font-size: 24px; font-weight: 600; line-height: 1.1; color: var(--accent-deep); }
.care__card-spark { color: var(--accent); opacity: .55; flex-shrink: 0; }
.care__list { position: relative; z-index: 1; list-style: none; margin: 0; padding: 0; }
.care__item { display: flex; align-items: center; gap: 16px; min-height: 58px; padding: 9px 0; border-top: 1px solid rgba(106,39,64,.11); }
.care__item:first-child { border-top: none; }
.care__ic { display: grid; place-items: center; width: 44px; height: 44px; flex-shrink: 0; border-radius: 50%; color: var(--accent-deep);
  background: radial-gradient(125% 125% at 30% 24%, #fffaf4 0%, #f6e5d5 78%, #efd6c6 100%); border: 1px solid rgba(201,162,107,.42);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.94), 0 9px 20px -12px rgba(156,90,107,.34); transition: transform .36s cubic-bezier(.2,.7,.2,1), box-shadow .36s cubic-bezier(.2,.7,.2,1); }
.care__ic svg { width: 21px; height: 21px; }
.care__card:hover .care__ic { transform: translateY(-1px); box-shadow: inset 0 1px 0 rgba(255,255,255,.94), 0 12px 24px -13px rgba(156,90,107,.38); }
.care__txt { font-size: 14.5px; line-height: 1.4; color: var(--ink); }
/* лёгкий stagger пунктов при появлении карточки (через is-in карточки) */
.care__card .care__item { opacity: 1; translate: none; transition: none; }

/* ---- нижняя reassurance-плашка ---- */
.care__bar { position: relative; z-index: 1; display: flex; align-items: center; gap: 24px; max-width: 870px; margin: 8px auto 0; padding: 17px 34px; border-radius: 999px;
  background: linear-gradient(180deg, rgba(255,253,249,.94), rgba(251,243,236,.88)); -webkit-backdrop-filter: blur(9px); backdrop-filter: blur(9px);
  border: 1px solid rgba(214,178,150,.42); box-shadow: 0 24px 54px -34px rgba(120,58,80,.32), 0 0 0 1px rgba(255,255,255,.58), inset 0 1px 0 rgba(255,255,255,.9), inset 0 -20px 50px -42px rgba(231,211,187,.55); }
.care__bar-ic { display: grid; place-items: center; width: 62px; height: 62px; flex-shrink: 0; border-radius: 50%; color: var(--accent);
  background: radial-gradient(125% 125% at 30% 24%, #fff9f6 0%, #f8dee0 100%); border: 1px solid rgba(156,90,107,.2); box-shadow: 0 0 0 7px rgba(255,255,255,.58), inset 0 1px 0 rgba(255,255,255,.92); }
.care__bar-txt { display: flex; flex-direction: column; min-width: 0; padding-left: 24px; border-left: 1px solid rgba(201,162,107,.42); }
.care__bar-txt b { font-family: "Fraunces", Georgia, serif; font-size: 19px; font-weight: 600; line-height: 1.15; color: var(--ink); }
.care__bar-txt i { font-style: normal; font-size: 14px; line-height: 1.45; color: var(--ink-soft); margin-top: 3px; }
.care__bar-spark { margin-left: auto; color: var(--accent); opacity: .5; flex-shrink: 0; }

/* ---- мягкие световые сферы (прозрачный край, низкая opacity, не режутся «обрубком») ---- */
.care__orb { position: absolute; z-index: 0; border-radius: 50%; pointer-events: none; will-change: transform; box-shadow: inset 8px 10px 20px -9px rgba(255,255,255,.8), inset -7px -9px 18px -10px rgba(156,90,107,.14), 0 18px 42px -20px rgba(156,90,107,.18); }
.care__orb--1 { width: 210px; height: 210px; top: 6%; right: 18px; background: radial-gradient(circle at 36% 30%, rgba(255,255,255,.94), var(--orb-champagne) 46%, rgba(255,250,243,.05) 76%, transparent 100%); opacity: .46; animation: visit-drift-a 22s var(--ease) infinite; }
.care__orb--2 { width: 106px; height: 106px; top: 43%; right: 5%; background: radial-gradient(circle at 36% 30%, rgba(255,255,255,.94), var(--orb-soft-rose) 46%, rgba(255,250,248,.05) 76%, transparent 100%); opacity: .48; animation: visit-drift-b 18s var(--ease) infinite; }
.care__orb--3 { width: 138px; height: 138px; bottom: 12%; left: 18px; background: radial-gradient(circle at 36% 30%, rgba(255,255,255,.94), var(--orb-ivory) 46%, rgba(255,252,247,.05) 76%, transparent 100%); opacity: .5; animation: visit-drift-c 21s var(--ease) infinite reverse; }
.care__orb--4 { width: 68px; height: 68px; top: 15%; left: 41%; background: radial-gradient(circle at 36% 30%, rgba(255,255,255,.94), var(--orb-warm-blush) 46%, rgba(255,250,247,.06) 78%, transparent 100%); opacity: .38; animation: visit-drift-b 16s var(--ease) infinite reverse; }

/* ---- tablet / mobile (по refmob: стек сверху-вниз) ---- */
@media (max-width: 1000px) {
  .care__grid { grid-template-columns: 1fr; gap: 26px; }
  .care__head { text-align: center; max-width: 640px; margin: 0 auto 20px; }
  .care__title { text-align: center; }
  .care__sub { margin-left: auto; margin-right: auto; }
  .care__photo { aspect-ratio: 1.24 / 1; max-width: 740px; margin: 0 auto; width: 100%; }
  .care__cards { max-width: 740px; margin: 0 auto; width: 100%; padding-top: 0; }
  .care__bar { max-width: 620px; margin-left: auto; margin-right: auto; }
  .care__orb--4 { display: none; }
  .care__orb--1 { width: 150px; height: 150px; right: 10px; }
  .care__orb--3 { width: 116px; height: 116px; left: 10px; }
}
@media (max-width: 560px) {
  .section--care { padding: 76px 0 72px; }
  .care__title { font-size: clamp(28px, 8vw, 36px); }
  .care__sub { font-size: 15.5px; }
  .care__photo { aspect-ratio: 1.24 / 1; border-radius: var(--radius-lg); box-shadow: var(--sh-lift), 0 0 0 5px rgba(255,253,249,.5), inset 0 1px 0 rgba(255,255,255,.85); }
  .care__photo img { object-position: 66% 50%; transform: scale(1.12); transform-origin: 64% 62%; }
  .care__card { padding: 24px 22px 12px; border-radius: 28px; }
  .care__card-title { font-size: 22px; }
  .care__item { gap: 14px; min-height: 64px; padding: 11px 0; }
  .care__ic { width: 42px; height: 42px; }
  .care__ic svg { width: 20px; height: 20px; }
  .care__txt { font-size: 14px; }
  .care__bar { align-items: flex-start; border-radius: 30px; gap: 18px; padding: 22px 24px; }
  .care__bar-ic { width: 56px; height: 56px; }
  .care__bar-txt { padding-left: 0; border-left: 0; }
  .care__bar-spark { display: none; }
  .care__orb--2 { width: 80px; height: 80px; opacity: .42; }
}

/* ===================================================================
   FAQ — final по reference smoothcare-faq
   =================================================================== */
.section--faq {
  position: relative;
  isolation: isolate;
  scroll-margin-top: 148px;
  padding: clamp(56px, 6vw, 86px) 0 clamp(72px, 7vw, 110px);
  --faq-wine: #7a153d;
  --faq-wine-deep: #5d1431;
  --faq-text: #7f7472;
  --faq-soft: #fffdfa;
  --faq-line: rgba(126, 36, 65, .105);
  background: linear-gradient(180deg, rgba(250,244,237,.72), rgba(248,240,232,.82));
}

.section--faq .container {
  max-width: 1238px;
}

.faq-shell {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-height: clamp(660px, 58vw, 830px);
  border-radius: clamp(30px, 2.8vw, 38px);
  padding: clamp(72px, 6vw, 96px) clamp(54px, 5.4vw, 88px) clamp(66px, 5.5vw, 88px);
  border: 1px solid rgba(217, 182, 169, .55);
  background:
    radial-gradient(90% 70% at 22% 15%, rgba(255,255,255,.82), transparent 58%),
    radial-gradient(62% 55% at 95% 5%, rgba(249,225,219,.52), transparent 62%),
    radial-gradient(70% 60% at 97% 96%, rgba(248,223,216,.46), transparent 64%),
    radial-gradient(56% 45% at 8% 92%, rgba(252,239,220,.38), transparent 68%),
    linear-gradient(145deg, #fffcf8 0%, #fffaf6 48%, #fcf1eb 100%);
  box-shadow:
    0 46px 110px -78px rgba(99, 37, 53, .34),
    inset 0 1px 0 rgba(255,255,255,.72),
    inset 0 -70px 120px -100px rgba(234,196,185,.45);
}

/* декор поверх still-life (идёт в DOM после него, оба z-index:1):
   жемчужины ложатся НА сцену, как в reference. Контент .faq — z-index:2. */
.faq__decor { position: absolute; inset: 0; z-index: 1; pointer-events: none; border-radius: inherit; overflow: hidden; }
/* выразительная тонкая дуга, выгнутая влево — проходит через левую колонку */
.faq__arc {
  position: absolute;
  width: 1340px;
  height: 1340px;
  left: 30%;
  top: -160px;
  border-radius: 50%;
  border: 1.5px solid rgba(255,255,255,.92);
  box-shadow: -1px 0 0 rgba(233,204,188,.35), inset 1px 0 0 rgba(255,255,255,.35);
  opacity: .95;
}
.faq__arc::after {
  content: "";
  position: absolute;
  inset: 128px;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,.5);
}
.faq__orb { position: absolute; border-radius: 50%; pointer-events: none; }
/* «жемчужины» — объёмные сферы с бликом, мягкой внутренней тенью и падающей */
.faq__orb--1, .faq__orb--2, .faq__orb--5 {
  background: radial-gradient(circle at 35% 30%,
    #ffffff 0%,
    rgba(255,251,246,.98) 26%,
    rgba(248,233,223,.94) 52%,
    rgba(242,220,206,.55) 72%,
    rgba(240,216,200,.16) 88%,
    transparent 98%);
  box-shadow:
    inset -12px -16px 28px -16px rgba(214,166,152,.32),
    0 30px 48px -30px rgba(163,105,95,.3);
}
/* большая жемчужина у верхней кромки, левый центр (как в reference) */
.faq__orb--1 {
  width: clamp(150px, 16vw, 200px); aspect-ratio: 1; left: 27%; top: -44px; opacity: .96;
  animation: faq-orb-a 28s var(--ease) infinite;
}
/* жемчужина на сцене у полотенец, низ по центру-слева */
.faq__orb--2 {
  width: clamp(118px, 13vw, 160px); aspect-ratio: 1; left: 42%; bottom: 22px; opacity: .94;
  animation: faq-orb-b 31s var(--ease) infinite;
}
/* маленькая спутница правее полотенец */
.faq__orb--5 {
  width: clamp(56px, 6vw, 76px); aspect-ratio: 1; left: 53%; bottom: 8px; opacity: .9;
  animation: faq-orb-b 25s var(--ease) infinite reverse;
}
/* мягкие диффузные glow за карточками — верх-право и низ-право */
.faq__orb--4 {
  width: clamp(240px, 26vw, 340px); aspect-ratio: 1; right: -84px; top: -104px; opacity: .58;
  background: radial-gradient(circle at 38% 28%, rgba(255,255,255,.95) 0%, rgba(250,226,219,.72) 44%, rgba(250,226,219,.10) 76%, transparent 100%);
  animation: faq-orb-c 26s var(--ease) infinite;
}
.faq__orb--3 {
  width: clamp(220px, 25vw, 320px); aspect-ratio: 1; right: 5%; bottom: -118px; opacity: .5;
  background: radial-gradient(circle at 38% 30%, rgba(255,255,255,.94) 0%, rgba(249,226,220,.72) 48%, rgba(249,226,220,.08) 79%, transparent 100%);
  animation: faq-orb-c 34s var(--ease) infinite reverse;
}
@keyframes faq-orb-a { 0%,100% { transform: translate(0,0) scale(1); } 50% { transform: translate(-10px,12px) scale(1.035); } }
@keyframes faq-orb-b { 0%,100% { transform: translate(0,0) scale(1); } 50% { transform: translate(10px,-12px) scale(1.045); } }
@keyframes faq-orb-c { 0%,100% { transform: translate(0,0) scale(1); } 50% { transform: translate(8px,10px) scale(1.04); } }

.faq {
  position: relative;
  z-index: 2;
  min-height: inherit;
  display: grid;
  grid-template-columns: minmax(0, .62fr) minmax(0, 1.08fr);
  gap: clamp(52px, 6.2vw, 92px);
  align-items: stretch;
}
.faq__aside {
  position: relative;
  z-index: 3;
  display: flex;
  min-height: 100%;
  flex-direction: column;
  align-items: flex-start;
  padding-top: 0;
}
.faq__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 13px;
  margin-bottom: clamp(26px, 2.2vw, 34px);
  color: var(--faq-wine);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .18em;
  text-transform: uppercase;
}
/* outlined-иконка, как в reference (не залитая) */
.faq__spark {
  display: grid; place-items: center;
  width: 27px; height: 27px;
  border-radius: 50%;
  color: var(--faq-wine);
  background: rgba(255,255,255,.55);
  border: 1px solid rgba(122,21,61,.5);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.7);
}
.faq__spark svg { width: 13px; height: 13px; }
/* лёгкий крупный serif: вес 500, перенос «Ответы / на частые / вопросы» */
.faq__title {
  max-width: 10ch;
  font-family: "Fraunces", Georgia, serif;
  font-size: clamp(46px, 4.9vw, 64px);
  font-weight: 500;
  line-height: 1.05;
  letter-spacing: -.015em;
  color: #6e1a3e;
  text-wrap: balance;
}
.faq__sub {
  max-width: 24ch;
  margin-top: clamp(26px, 2.6vw, 36px);
  color: #726a68;
  font-size: clamp(15.5px, 1.22vw, 17.5px);
  line-height: 1.58;
}

.faq__still {
  position: absolute;
  z-index: 1;
  left: -18px;
  bottom: -6px;
  width: min(58%, 610px);
  height: 54%;
  pointer-events: none;
  background-image: url("assets/images/faq-still-life.png");
  background-repeat: no-repeat;
  background-position: left bottom;
  background-size: cover;
  opacity: .98;
  filter: saturate(1.02) brightness(1.04);
  -webkit-mask-image:
    linear-gradient(to bottom, transparent 0%, rgba(0,0,0,.5) 10%, rgba(0,0,0,.9) 24%, #000 44%, #000 100%),
    linear-gradient(to right, #000 0%, #000 62%, rgba(0,0,0,.5) 78%, transparent 100%);
  -webkit-mask-composite: source-in;
          mask-image:
    linear-gradient(to bottom, transparent 0%, rgba(0,0,0,.5) 10%, rgba(0,0,0,.9) 24%, #000 44%, #000 100%),
    linear-gradient(to right, #000 0%, #000 62%, rgba(0,0,0,.5) 78%, transparent 100%);
          mask-composite: intersect;
}

.faq__cta {
  position: relative;
  z-index: 4;
  width: min(100%, 306px);
  margin-top: auto;
  margin-left: 34px;
  margin-bottom: clamp(26px, 3.1vw, 44px);
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 40px 30px 30px;
  border-radius: 22px;
  border: 1px solid rgba(205,137,132,.42);
  background: linear-gradient(160deg, rgba(255,253,250,.66), rgba(254,246,241,.52));
  -webkit-backdrop-filter: blur(16px) saturate(1.08);
          backdrop-filter: blur(16px) saturate(1.08);
  box-shadow: 0 20px 44px -36px rgba(108,18,54,.24), inset 0 1px 0 rgba(255,255,255,.78);
}
.faq__cta-ic {
  display: grid; place-items: center;
  width: 48px; height: 48px;
  margin: -64px 0 16px;
  border-radius: 50%;
  color: #fff;
  background: linear-gradient(150deg, #9f2551, #661332);
  box-shadow: 0 12px 24px -13px rgba(102,16,49,.55), inset 0 1px 0 rgba(255,255,255,.28), 0 0 0 6px rgba(255,251,248,.78);
}
.faq__cta-title {
  max-width: 10ch;
  font-family: "Fraunces", Georgia, serif;
  font-size: clamp(24px, 2vw, 29px);
  font-weight: 400;
  line-height: 1.08;
  letter-spacing: -.02em;
  color: var(--faq-wine-deep);
}
.faq__cta-text {
  margin-top: 16px;
  max-width: 25ch;
  color: #7f7471;
  font-size: 14px;
  line-height: 1.55;
}
.faq__cta-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin-top: 24px;
  min-width: 210px;
  padding: 14px 24px;
  border-radius: 999px;
  color: #fff;
  background: linear-gradient(135deg, #ab1f54 0%, #6d1135 100%);
  box-shadow: 0 16px 26px -16px rgba(106,17,51,.55), inset 0 1px 0 rgba(255,255,255,.18);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .085em;
  text-transform: uppercase;
  transition: transform .2s var(--ease), box-shadow .28s var(--ease), filter .2s var(--ease);
}
.faq__cta-btn svg { transition: transform .2s var(--ease); }
.faq__cta-btn:hover { filter: brightness(1.05); transform: translateY(-1px); box-shadow: 0 20px 36px -15px rgba(106,17,51,.62), inset 0 1px 0 rgba(255,255,255,.2); }
.faq__cta-btn:hover svg { transform: translateX(3px); }

.faq__list {
  position: relative;
  z-index: 3;
  display: flex;
  flex-direction: column;
  gap: clamp(14px, 1.35vw, 18px);
  margin-top: clamp(14px, 1.6vw, 22px);
  min-width: 0;
}
.faq__item {
  position: relative;
  overflow: hidden;
  border-radius: 20px;
  border: 1px solid rgba(128, 46, 70, .07);
  background: linear-gradient(178deg, rgba(255,252,248,.97) 0%, rgba(254,248,243,.92) 100%);
  box-shadow: 0 14px 36px -34px rgba(113,35,60,.22), inset 0 1px 0 rgba(255,255,255,.72);
  transition: border-color .32s var(--ease), box-shadow .32s var(--ease), transform .32s var(--ease), background .32s var(--ease);
}
.faq__item:not(.is-open):hover {
  transform: translateY(-1px);
  border-color: rgba(128,46,70,.12);
  box-shadow: 0 18px 42px -36px rgba(113,35,60,.3), inset 0 1px 0 rgba(255,255,255,.72);
}
.faq__item.is-open {
  border-color: rgba(139,36,72,.13);
  background: linear-gradient(176deg, rgba(255,253,251,.98), rgba(255,247,243,.93));
  box-shadow: 0 18px 46px -38px rgba(113,35,60,.28), inset 0 1px 0 rgba(255,255,255,.74);
}
.faq__q { margin: 0; font-family: inherit; }
.faq__btn {
  width: 100%;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 20px;
  padding: 22px 26px;
  border: 0;
  background: transparent;
  text-align: left;
  cursor: pointer;
  color: inherit;
}
.faq__item.is-open .faq__btn { padding-bottom: 12px; }
.faq__btn:focus-visible { outline: none; box-shadow: inset 0 0 0 2px rgba(138,26,68,.38); border-radius: inherit; }
.faq__num {
  align-self: start;
  margin-top: .5em;
  min-width: 24px;
  font-family: "Fraunces", Georgia, serif;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: .035em;
  font-variant-numeric: tabular-nums;
  color: #dfa891;
}
.faq__item.is-open .faq__num { color: #d99e87; }
.faq__label {
  font-family: "Fraunces", Georgia, serif;
  font-size: clamp(17px, 1.42vw, 20.5px);
  font-weight: 400;
  line-height: 1.3;
  letter-spacing: -.01em;
  color: #671a3a;
}
.faq__item.is-open .faq__label { color: var(--faq-wine-deep); }
.faq__icon {
  position: relative;
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  flex-shrink: 0;
  border-radius: 50%;
  color: #fff;
  background: linear-gradient(148deg, #9a1f4d, #681536);
  box-shadow: 0 4px 10px -7px rgba(94,15,44,.4), inset 0 1px 0 rgba(255,255,255,.18);
  transition: transform .3s var(--ease), box-shadow .3s var(--ease);
}
.faq__icon::before, .faq__icon::after {
  content: "";
  position: absolute;
  width: 10px;
  height: 1.5px;
  border-radius: 3px;
  background: currentColor;
  transition: transform .3s var(--ease), opacity .3s var(--ease);
}
.faq__icon::after { transform: rotate(90deg); }
.faq__btn:hover .faq__icon { transform: translateY(-1px); box-shadow: 0 8px 17px -12px rgba(94,15,44,.5), inset 0 1px 0 rgba(255,255,255,.18); }
.faq__item.is-open .faq__icon::after { opacity: 0; transform: rotate(90deg) scaleX(.2); }
.faq__panel { max-height: 0; overflow: hidden; opacity: 0; transition: max-height .44s var(--ease), opacity .34s var(--ease); }
.faq__item.is-open .faq__panel { opacity: 1; }
.faq__answer {
  margin: 0;
  padding: 0 26px 26px calc(26px + 44px);
  max-width: 52ch;
  color: #857a76;
  font-size: clamp(14px, 1.05vw, 15.5px);
  line-height: 1.58;
}

@media (max-width: 1000px) {
  .section--faq { scroll-margin-top: 112px; padding: clamp(42px, 8vw, 70px) 0; }
  .section--faq .container { padding: 0 14px; }
  .faq-shell {
    min-height: 0;
    border-radius: 24px;
    padding: clamp(28px, 6vw, 42px) clamp(16px, 4vw, 30px) clamp(28px, 6vw, 42px);
  }
  .faq {
    display: flex;
    flex-direction: column;
    gap: 0;
    min-height: 0;
    max-width: 640px;
    margin: 0 auto;
  }
  .faq__aside { display: contents; }
  .faq__eyebrow { order: 1; margin-bottom: 18px; }
  .faq__title  { order: 2; max-width: 15ch; }
  .faq__sub    { order: 3; max-width: 570px; margin-top: 18px; }
  .faq__list   { order: 4; margin-top: 24px; }
  .faq__cta    { order: 5; width: 100%; max-width: none; margin: 34px 0 0; align-self: stretch; }
  .faq__still  { display: none; }
  .faq__title  { max-width: none; }
  .faq__arc { width: 720px; height: 720px; left: auto; right: -270px; top: -290px; opacity: .72; }
  .faq__orb--2, .faq__orb--5 { display: none; }
  .faq__orb--1 { left: auto; right: 8%; top: -52px; }
}

@media (max-width: 560px) {
  .section--faq { padding: 30px 0 52px; }
  .section--faq .container { padding: 0 10px; }
  .faq-shell {
    border-radius: 18px;
    padding: 24px 12px 30px;
  }
  .faq__eyebrow { gap: 10px; margin-bottom: 16px; font-size: 10.5px; letter-spacing: .16em; }
  .faq__spark { width: 24px; height: 24px; }
  .faq__spark svg { width: 11px; height: 11px; }
  /* mobile-reference: две строки — «Ответы» / «на частые вопросы» */
  .faq__title {
    max-width: none;
    font-size: clamp(27px, 7.7vw, 33px);
    line-height: 1.12;
    letter-spacing: -.012em;
    text-wrap: initial;
  }
  .faq__sub { margin-top: 15px; max-width: 30ch; font-size: 14.5px; line-height: 1.52; }
  .faq__list { gap: 10px; margin-top: 22px; }
  .faq__item { border-radius: 16px; }
  .faq__btn { gap: 12px; padding: 17px 14px; }
  .faq__item.is-open .faq__btn { padding-bottom: 9px; }
  .faq__num { min-width: 18px; font-size: 10.5px; margin-top: .42em; }
  .faq__label { font-size: 16.5px; line-height: 1.28; }
  .faq__icon { width: 27px; height: 27px; }
  .faq__icon::before, .faq__icon::after { width: 9px; height: 1.35px; }
  /* mobile-reference: закрытые «+» — светлые peach-кружки, открытый «−» — wine */
  .faq__item:not(.is-open) .faq__icon {
    color: #7a1e44;
    background: linear-gradient(150deg, #f9e3d4, #f3d3c4);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.65);
  }
  .faq__answer { padding: 0 14px 19px calc(14px + 30px); font-size: 14px; line-height: 1.54; }
  .faq__cta {
    margin-top: 34px;
    padding: 38px 20px 22px;
    border-radius: 18px;
    border-color: rgba(205,137,132,.46);
    background: linear-gradient(165deg, rgba(255,250,246,.9), rgba(250,235,228,.78));
  }
  .faq__cta-ic { width: 46px; height: 46px; margin: -61px 0 14px; }
  .faq__cta-title { max-width: none; font-size: 24px; line-height: 1.1; }
  .faq__cta-text { margin-top: 12px; max-width: 28ch; font-size: 13.5px; line-height: 1.48; }
  .faq__cta-btn { width: 100%; min-width: 0; margin-top: 20px; padding: 14px 20px; }
  .faq__orb--1 { width: 120px; left: auto; right: -20px; top: -44px; opacity: .9; }
  .faq__orb--3 { width: 150px; right: -60px; bottom: -48px; opacity: .35; }
  .faq__orb--4 { width: 96px; left: auto; right: 34%; top: -30px; opacity: .4; }
}

@media (prefers-reduced-motion: reduce) {
  .faq__panel { transition: none; }
  .faq__icon, .faq__icon::before, .faq__icon::after,
  .faq__item, .faq__cta-btn, .faq__cta-btn svg { transition: none; }
  .faq__orb { animation: none !important; }
}

/* ---------- Footer (V1, короткий) ---------- */
/* без жёсткой верхней линии и без «полосы» — мягкий тёплый wash, секция растворяется в фон */
.footer { background: linear-gradient(180deg, transparent 0%, rgba(243,233,223,.32) 70%, rgba(243,233,223,.5) 100%); padding: 40px 0 32px; }
.footer__inner { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; }
.footer__brand { font-family: "Fraunces", serif; font-size: 18px; font-weight: 600; color: var(--ink); white-space: nowrap; }
.footer__brand span { color: var(--accent); }
.footer__note { font-size: 13px; color: var(--muted); max-width: 720px; }

/* ---------- To top ---------- */
.to-top { position: fixed; right: 24px; bottom: 24px; z-index: 50; width: 48px; height: 48px; display: grid; place-items: center; border: 0; border-radius: 14px; background: var(--grad); color: #fff; font-size: 20px; cursor: pointer; box-shadow: var(--sh-lift); opacity: 0; transform: translateY(14px); pointer-events: none; transition: opacity .3s, transform .3s, box-shadow .3s; }
.to-top[hidden] { display: none; }
.to-top.is-visible { opacity: 1; transform: translateY(0); pointer-events: auto; }
.to-top:hover { box-shadow: var(--sh-premium); transform: translateY(-2px); }

/* ---------- Reveal ---------- */
/* через независимое свойство translate — не конфликтует с hover-transform карточек */
.reveal { opacity: 0; translate: 0 16px; transition: opacity .82s cubic-bezier(.2,.7,.2,1), translate .82s cubic-bezier(.2,.7,.2,1); }
.reveal.is-in { opacity: 1; translate: 0 0; }
/* интерактивные блоки: единый transition (reveal + плавный premium-hover) */
.popzone, .consult {
  transition:
    background .3s var(--ease),
    transform .3s var(--ease),
    box-shadow .34s var(--ease),
    border-color .3s var(--ease),
    opacity .6s var(--ease),
    translate .6s var(--ease);
}

/* ===================================================================
   Responsive
   =================================================================== */
@media (max-width: 1000px) {
  .hero { min-height: min(78vh, 620px); }
  .hero__panel { max-width: 540px; }
  /* панель «Ориентир» уходит под популярные зоны (без горизонтального скролла) */
  .zoneselect { grid-template-columns: 1fr; gap: 18px; }
  .pricing { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
  /* мобильное меню: выпадающая панель под шапкой */
  .nav {
    position: absolute; top: 100%; left: 0; right: 0;
    display: flex; flex-direction: column; align-items: stretch; gap: 0;
    padding: 12px 18px 18px;
    background: #fbf5ee;
    border-bottom: 1px solid var(--line);
    border-radius: 0 0 22px 22px;
    box-shadow: 0 24px 48px rgba(90, 40, 60, .18);
    transform: translateY(-10px); opacity: 0; visibility: hidden;
    transition: opacity .28s var(--ease), transform .3s var(--ease), visibility .3s;
    z-index: 55; max-height: calc(100dvh - 80px); overflow-y: auto;
  }
  .nav.is-open { transform: translateY(0); opacity: 1; visibility: visible; }
  .nav__link { font-size: 16.5px; padding: 14px 12px; color: var(--ink); }
  .nav__link:not(.nav__link--cta) { border-bottom: 1px solid var(--line); }
  .nav__link--cta { justify-content: center; margin-top: 12px; border-radius: 13px; padding: 14px 16px; }
  .burger { display: flex; }
  body.nav-open .header { background: rgba(251,247,242,.98); box-shadow: var(--sh-soft); border-bottom-color: var(--line); }

  .nav-backdrop { position: fixed; inset: 0; background: rgba(40, 22, 30, .42); -webkit-backdrop-filter: blur(2px); backdrop-filter: blur(2px); opacity: 0; visibility: hidden; pointer-events: none; transition: opacity .3s, visibility .3s; z-index: 54; touch-action: none; }
  .nav-backdrop.is-open { opacity: 1; visibility: visible; pointer-events: auto; }

  .section { padding: 68px 0; }
  .section__head { margin-bottom: 40px; }

  /* mobile hero: текстоцентричный — крупный оффер главный, фото поддерживает атмосферу */
  .hero { display: flex; align-items: flex-start; min-height: 78svh; padding: 0; }
  .hero__stage {
    position: absolute; inset: 0; height: auto; margin: 0; border-radius: 0; box-shadow: none;
    /* вертикальный mobile-asset как full-bleed background (не кроп desktop) */
    background:
      url("assets/hero-mobile.png") center 26% / cover no-repeat,
      linear-gradient(160deg, #3a2128 0%, #241420 100%);
    background-color: #2a1820;
    /* мягкое растворение низа: сцена плавно уходит в фон страницы, без шва/полосы */
    -webkit-mask-image: linear-gradient(180deg, #000 80%, rgba(0,0,0,.5) 92%, transparent 100%);
            mask-image: linear-gradient(180deg, #000 80%, rgba(0,0,0,.5) 92%, transparent 100%);
  }
  .hero__stage::after { display: none; }
  .hero__bloom { display: none; }
  .hero__vignette { background: radial-gradient(120% 78% at 50% 96%, transparent 64%, rgba(13,6,10,.20) 100%); }
  /* scrim-полоса: сильный контраст под текстом (верх-середина), низ светлее — фото-атмосфера */
  /* стабильный wine/espresso scrim под текстом — тёмный и ровный, не чёрная плашка */
  .hero__scrim { display: block; background: linear-gradient(180deg, rgba(22,11,16,.56) 0%, rgba(26,13,19,.86) 30%, rgba(24,12,18,.80) 56%, rgba(20,10,15,.42) 78%, rgba(20,10,15,0) 100%); }
  /* текстовая зона шире — меньше боковые ограничения */
  .hero .hero__inner { padding: 20px 14px 26px; }
  .hero__panel { max-width: none; }
  /* mobile-only тексты: показываем короткие версии, desktop-версии прячем */
  .hero__title .ht--desktop { display: none; }
  .hero__title .ht--mobile { display: block; }
  .hero__lead .lt--desktop { display: none; }
  .hero__lead .lt--mobile { display: inline; }
  .hero .trust-row .t-hide-m { display: none; }
  .trust-row .tt--d { display: none; }
  .trust-row .tt--m { display: inline; }
  .hero .eyebrow { margin-bottom: 6px; }
  .hero__title { font-size: clamp(36px, 6.4vw, 46px); font-weight: 700; line-height: 1.02; letter-spacing: -.018em; margin-bottom: 12px; }
  .hero__lead { max-width: 30ch; font-size: 17px; font-weight: 500; line-height: 1.48; color: #fef9f5; text-shadow: 0 1px 12px rgba(0,0,0,.6); }
  /* CTA как сильный action-block */
  .hero__actions { margin: 14px 0 0; gap: 12px; }
  .hero__actions .btn { padding: 18px 26px; font-size: 17px; font-weight: 800; }
  .hero__actions .btn--primary { box-shadow: 0 18px 38px -10px rgba(120,44,70,.78), 0 6px 14px -4px rgba(0,0,0,.46), inset 0 1px 0 rgba(255,255,255,.22); }
  .hero__actions .btn--ghost { background: rgba(255,252,248,.18); color: #fff8f3; border: 1.5px solid rgba(255,245,238,.72); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); box-shadow: 0 12px 26px -12px rgba(0,0,0,.6); }
  .hero__actions .btn--ghost:hover { background: rgba(255,252,248,.26); border-color: rgba(255,249,244,.9); }
  /* trust: чуть крупнее/контрастнее, аккуратнее маркеры, больше воздуха */
  .trust-row { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; margin-top: 18px; }
  .hero .trust-row li { font-size: 15px; font-weight: 700; color: #fdf6f0; letter-spacing: .003em; text-shadow: 0 1px 8px rgba(0,0,0,.55); }
  .hero .trust-row li::before { width: 6px; height: 6px; flex-shrink: 0; background: #ecbcab; opacity: 1; margin-right: 10px; box-shadow: 0 0 7px rgba(236,188,171,.45); }

  .pricing__panel { padding: 12px 24px 24px; }
  .consult { padding: 30px 26px; }
}

@media (max-width: 540px) {
  .container { padding: 0 18px; }
  /* популярные зоны — одна колонка, компактнее (иконка, цена и стрелка сразу читаются) */
  .zoneselect__pop { grid-template-columns: 1fr; gap: 12px; }
  .popzone { min-height: 0; padding: 20px 20px 18px; border-radius: 20px; }
  .popzone__ic { width: 54px; height: 54px; margin-bottom: 14px; }
  .popzone__ic svg { width: 26px; height: 26px; }
  .popzone__name { font-size: 20px; margin-bottom: 5px; }
  .popzone__benefit { font-size: 13px; margin-bottom: 14px; }
  .popzone__price { font-size: 19px; }
  .popzone__go { width: 38px; height: 38px; }
  .consult-card__body { padding: 20px 22px 24px; }
  .consult-card__title { font-size: 22px; }
  .pricemenu { padding: 26px 22px 16px; border-radius: 24px; }
  .pricemenu__title { font-size: 21px; }
  /* строки прайса — аккуратный stacked-вид: название сверху, время/цена снизу */
  .pricemenu__row { grid-template-columns: 1fr auto; gap: 10px; row-gap: 3px; padding: 14px 8px; margin: 0 -8px; }
  .pricemenu__name { grid-column: 1 / -1; font-size: 16px; }
  .pricemenu__time { justify-self: start; }
  .hero__title { font-size: clamp(40px, 11.5vw, 50px); font-weight: 700; line-height: 1.02; letter-spacing: -.022em; }
  .hero__actions { flex-direction: column; }
  .hero__actions .btn { width: 100%; }
  .trust-row { gap: 10px; margin-top: 18px; }
  .pricing__name { font-size: 15px; }
  .footer__inner { flex-direction: column; align-items: flex-start; gap: 10px; }
}

/* -------------------------------------------------------------------
   Premium beauty glow-orbs (мягкие перламутровые шары внутри карточек).
   ::before — крупный шар, ::after — меньший компаньон. У каждой карточки
   свои цвета (orb-палитра) и позиции. Мягкий highlight + низкая opacity =
   premium glow, а не «детские пузырьки». На hover чуть усиливаются.
   Шары обрезаются по краю карточки (overflow: hidden у .popzone).  */
.popzone {
  --orb1-color: var(--orb-champagne);
  --orb2-color: var(--orb-warm-blush);
  --orb1-x: 86%; --orb1-y: 32%; --orb1-size: 150px;
  --orb2-x: 62%; --orb2-y: 86%; --orb2-size: 92px;
}
.popzone::before, .popzone::after {
  content: ""; position: absolute; z-index: 0; pointer-events: none; border-radius: 50%;
  transition: opacity .4s var(--ease), transform .5s var(--ease);
}
/* крупный перламутровый шар */
.popzone::before {
  width: var(--orb1-size); height: var(--orb1-size);
  left: var(--orb1-x); top: var(--orb1-y); transform: translate(-50%, -50%);
  background: radial-gradient(circle at 36% 32%, rgba(255,255,255,.92) 0%, var(--orb1-color) 42%, rgba(255,255,255,0) 74%);
  opacity: .7;
}
/* меньший шар-компаньон */
.popzone::after {
  width: var(--orb2-size); height: var(--orb2-size);
  left: var(--orb2-x); top: var(--orb2-y); transform: translate(-50%, -50%);
  background: radial-gradient(circle at 38% 34%, rgba(255,255,255,.85) 0%, var(--orb2-color) 46%, rgba(255,255,255,0) 76%);
  opacity: .58;
}
.popzone:hover::before { opacity: .88; transform: translate(-50%, -50%) scale(1.08); }
.popzone:hover::after { opacity: .76; transform: translate(-50%, -50%) scale(1.1); }

/* у каждой карточки — свои цвета и расположение шаров (разные углы) */
.zoneselect__pop > .popzone:nth-of-type(1) { --orb1-color: var(--orb-champagne);  --orb2-color: var(--orb-warm-blush);  --orb1-x: 87%; --orb1-y: 30%; --orb2-x: 63%; --orb2-y: 88%; }
.zoneselect__pop > .popzone:nth-of-type(2) { --orb1-color: var(--orb-soft-rose);  --orb2-color: var(--orb-champagne);   --orb1-x: 80%; --orb1-y: 26%; --orb1-size: 134px; --orb2-x: 93%; --orb2-y: 70%; --orb2-size: 80px; }
.zoneselect__pop > .popzone:nth-of-type(3) { --orb1-color: var(--orb-warm-blush); --orb2-color: var(--orb-dusty-mauve); --orb1-x: 89%; --orb1-y: 68%; --orb1-size: 140px; --orb2-x: 72%; --orb2-y: 22%; --orb2-size: 78px; }
.zoneselect__pop > .popzone:nth-of-type(4) { --orb1-color: var(--orb-muted-berry);--orb2-color: var(--orb-champagne);   --orb1-x: 90%; --orb1-y: 28%; --orb2-x: 78%; --orb2-y: 82%; --orb2-size: 96px; }

/* контент — над декоративными шарами */
.popzone > * { position: relative; z-index: 1; }

/* на мобильных шары чуть мягче (без перегруза) */
@media (max-width: 760px) {
  .popzone::before { opacity: .6; }
  .popzone::after { opacity: .5; }
}

/* -------------------------------------------------------------------
   Consultation-card (правая статичная карточка по референсу):
   фото сверху → светлый текстовый блок → 3 trust-пункта → CTA.
   Полностью статична: НЕ зависит от карточек слева и их hover.  */
.consult-card {
  position: relative; z-index: 1; display: flex; flex-direction: column; overflow: hidden;
  background: linear-gradient(180deg, #ffffff 0%, #fbeee9 100%);
  border: 1px solid var(--line); border-radius: var(--radius-xl);
  box-shadow: var(--sh-lift);
  transition: opacity .6s var(--ease), translate .6s var(--ease);
}
/* фото сверху — крупный визуальный якорь (как в референсе) */
.consult-card__media { position: relative; flex-shrink: 0; height: 244px; background: #efe1d2; }
.consult-card__img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 46%; filter: saturate(1.04) brightness(1.02); }
/* мягкий тёплый overlay: фото не спорит с UI, низ растворяется в карточке */
.consult-card__media::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(180deg, rgba(255,253,250,.12) 0%, rgba(251,238,233,0) 32%, rgba(251,238,233,.55) 84%, rgba(251,238,233,.98) 100%); }
.consult-card__body { position: relative; z-index: 1; flex: 1; display: flex; flex-direction: column; padding: 22px 28px 26px; }
.consult-card__tag { align-self: flex-start; font-size: 11.5px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--accent-deep); background: rgba(156,90,107,.10); border: 1px solid rgba(156,90,107,.2); padding: 7px 14px; border-radius: var(--radius-pill); margin-bottom: 16px; }
.consult-card__title { font-family: "Fraunces", Georgia, serif; font-size: 25px; font-weight: 600; line-height: 1.16; color: var(--ink); margin-bottom: 12px; }
.consult-card__text { font-size: 14.5px; color: var(--ink-soft); margin-bottom: 22px; }
/* 3 trust-пункта в ряд: иконка сверху, подпись снизу */
.consult-card__trust { display: flex; gap: 12px; margin-bottom: 24px; }
.consult-card__trust li { flex: 1; display: flex; flex-direction: column; align-items: flex-start; gap: 9px; }
.consult-card__ic { display: grid; place-items: center; width: 36px; height: 36px; flex-shrink: 0; border-radius: 50%; color: var(--accent-deep); background: radial-gradient(125% 125% at 32% 26%, #fff9f2 0%, #f4e2d2 100%); border: 1px solid rgba(151,72,94,.2); box-shadow: inset 0 1px 0 rgba(255,255,255,.85), var(--sh-xs); }
.consult-card__ic svg { width: 19px; height: 19px; }
.consult-card__trust span { font-size: 12.5px; font-weight: 600; line-height: 1.25; color: var(--ink); }
.consult-card__cta { margin-top: auto; }

@media (max-width: 760px) {
  .consult-card__media { height: 208px; }
}

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

.care__card.reveal {
  transition:
    opacity .82s cubic-bezier(.2,.7,.2,1),
    translate .82s cubic-bezier(.2,.7,.2,1),
    transform .42s cubic-bezier(.2,.7,.2,1),
    box-shadow .42s cubic-bezier(.2,.7,.2,1),
    border-color .42s cubic-bezier(.2,.7,.2,1);
}

@media (prefers-reduced-motion: reduce) {
  .care__card.reveal { transition-duration: .01ms !important; }
}

/* ===================================================================
   Final CTA — финальный призыв после FAQ (premium beauty, light)
   Слева: смысл + ОДНА главная кнопка «Записаться» + тихая микро-ссылка
   + линия trust-chips. Справа: лёгкая карточка «Быстрая заявка»
   (зона + контакт, одна кнопка). Палитра SmoothCare:
   ivory / champagne + deep wine. Локальные --fc-* переменные, чтобы
   ничего не конфликтовало с глобальными стилями.
   =================================================================== */
.section--final-cta {
  position: relative;
  isolation: isolate;
  scroll-margin-top: 132px;
  padding: clamp(34px, 4vw, 72px) 0 clamp(64px, 6.5vw, 110px);
  --fc-wine: #7a153d;
  --fc-wine-deep: #5d1431;
  --fc-ink: #5d545a;
  --fc-muted: #8f8288;
  /* продолжение тёплого wash из FAQ-секции — без резкого стыка фонов */
  background: linear-gradient(180deg, rgba(248,240,232,.82) 0%, rgba(248,240,232,0) 72%);
}

.final-cta { position: relative; }

.final-cta__shell {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border-radius: clamp(26px, 2.6vw, 40px);
  padding: clamp(34px, 3.6vw, 58px) clamp(26px, 3.6vw, 68px) clamp(28px, 3vw, 46px);
  border: 1px solid rgba(217, 182, 169, .55);
  background:
    radial-gradient(72% 60% at 90% 4%, rgba(249,222,216,.50), transparent 60%),
    radial-gradient(50% 44% at 6% 100%, rgba(122,21,61,.055), transparent 68%),
    radial-gradient(58% 56% at 3% 96%, rgba(252,238,221,.46), transparent 64%),
    radial-gradient(80% 70% at 24% 14%, rgba(255,255,255,.66), transparent 62%),
    linear-gradient(140deg, #fffcf8 0%, #fef7f3 50%, #fbeee9 100%);
  box-shadow:
    0 46px 110px -82px rgba(99,37,53,.34),
    inset 0 1px 0 rgba(255,255,255,.72);
}

/* декор: тонкая молочная дуга + фирменные orbs SmoothCare.
   Тот же рецепт, что в zones/visit/care/price: radial-gradient
   (белый блик у 36% 30% → --orb-* цвет → полный fade в transparent),
   дрейф на общих keyframes visit-drift-a/b/c + едва заметное
   «дыхание» opacity. Только transform/opacity — без layout/paint. */
.final-cta__decor { position: absolute; inset: 0; z-index: 0; border-radius: inherit; overflow: hidden; pointer-events: none; }
.final-cta__arc {
  position: absolute;
  width: 980px; height: 980px;
  right: -300px; top: -360px;
  border-radius: 50%;
  border: 1.25px solid rgba(255,255,255,.72);
  box-shadow: 0 0 0 1px rgba(246,229,217,.22);
  opacity: .8;
}
.final-cta__arc::after { content: ""; position: absolute; inset: 120px; border-radius: 50%; border: 1px solid rgba(255,255,255,.4); }

@keyframes fcOrbBreathe {
  0%   { opacity: var(--fc-orb-o, .5); }
  100% { opacity: calc(var(--fc-orb-o, .5) * 1.3); }
}

.final-cta__orb {
  position: absolute; border-radius: 50%;
  opacity: var(--fc-orb-o, .5);
  will-change: transform, opacity;
}
.final-cta__orb--1 { width: clamp(210px,23vw,330px); aspect-ratio: 1; right: -66px; top: -104px; --fc-orb-o: .6;
  background: radial-gradient(circle at 36% 30%, rgba(255,255,255,.94), var(--orb-champagne) 46%, rgba(255,250,243,.05) 76%, transparent 100%);
  animation: visit-drift-a 24s var(--ease) infinite, fcOrbBreathe 15s ease-in-out infinite alternate; }
/* нижний левый — целиком дорисовывается до прозрачности внутри секции, без обрезанного края */
.final-cta__orb--2 { width: clamp(140px,15vw,210px); aspect-ratio: 1; left: -44px; bottom: -58px; --fc-orb-o: .55;
  background: radial-gradient(circle at 36% 30%, rgba(255,255,255,.93), var(--orb-ivory) 46%, rgba(255,252,247,.05) 76%, transparent 100%);
  animation: visit-drift-c 21s var(--ease) infinite reverse, fcOrbBreathe 13s ease-in-out infinite alternate; animation-delay: -7s, -3s; }
.final-cta__orb--3 { width: clamp(110px,11vw,160px); aspect-ratio: 1; left: 46%; top: -44px; --fc-orb-o: .4;
  background: radial-gradient(circle at 36% 30%, rgba(255,255,255,.94), var(--orb-dusty-mauve) 46%, rgba(255,248,250,.05) 76%, transparent 100%);
  animation: visit-drift-b 18s var(--ease) infinite, fcOrbBreathe 11s ease-in-out infinite alternate; animation-delay: -11s, -6s; }
/* крупный полупрозрачный orb за правой карточкой — warm blush, глубина */
.final-cta__orb--4 { width: clamp(280px,28vw,430px); aspect-ratio: 1; right: 1%; top: 44%; --fc-orb-o: .48;
  background: radial-gradient(circle at 36% 30%, rgba(255,255,255,.9), var(--orb-warm-blush) 46%, rgba(255,250,247,.05) 78%, transparent 100%);
  animation: visit-drift-a 27s var(--ease) infinite reverse, fcOrbBreathe 17s ease-in-out infinite alternate; animation-delay: -14s, -9s; }

@media (prefers-reduced-motion: reduce) {
  .final-cta__orb { animation: none; }
}

/* сетка контента: слева смысл, справа лёгкая карточка заявки,
   внизу общая линия преимуществ, связывающая обе колонки */
.final-cta__content {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr);
  gap: clamp(22px, 2.2vw, 32px) clamp(28px, 3vw, 48px);
  align-items: center;
}

/* ---- LEFT · main ---- */
.final-cta__main { display: flex; flex-direction: column; align-items: flex-start; }
.final-cta__eyebrow {
  display: inline-flex; align-items: center; gap: 12px;
  margin-bottom: clamp(18px, 1.8vw, 26px);
  color: var(--fc-wine);
  font-size: 12px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase;
}
.final-cta__spark {
  display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%;
  color: #fff; background: linear-gradient(148deg, #a12b57, #661232);
  box-shadow: 0 9px 20px -12px rgba(102,16,49,.78), inset 0 1px 0 rgba(255,255,255,.28);
}
.final-cta__spark svg { width: 13px; height: 13px; }
.final-cta__title {
  max-width: 17ch;
  font-family: "Fraunces", Georgia, serif;
  font-size: clamp(26px, 2.45vw, 36px);
  font-weight: 600;
  line-height: 1.16;
  letter-spacing: -.012em;
  color: var(--fc-wine-deep);
}
/* «в SmoothCare» не отрывается и не выглядит прилепленным словом */
.final-cta__brand { white-space: nowrap; }
.final-cta__sub {
  max-width: 50ch;
  margin-top: clamp(14px, 1.4vw, 20px);
  color: var(--fc-ink);
  font-size: clamp(15px, 1.15vw, 17px);
  line-height: 1.58;
}

/* одна большая кнопка + тихая микро-ссылка (НЕ вторая кнопка) */
.final-cta__actions { display: flex; flex-direction: column; align-items: flex-start; gap: 14px; margin-top: clamp(24px, 2.4vw, 34px); }
.final-cta__btn {
  padding: 17px 34px;
  border-radius: var(--radius-pill);
  font-size: 16px;
  box-shadow: 0 18px 34px -14px rgba(110,16,49,.6), 0 6px 14px -6px rgba(110,16,49,.34), inset 0 1px 0 rgba(255,255,255,.2);
}
.final-cta__btn svg { width: 18px; height: 18px; }
.final-cta__micro { font-size: 13.5px; line-height: 1.5; color: var(--fc-muted); }
.final-cta__micro span {
  color: var(--fc-wine); font-weight: 600;
  text-decoration: underline; text-decoration-color: rgba(122,21,61,.35);
  text-underline-offset: 3px; transition: text-decoration-color .2s, color .2s;
}
.final-cta__micro:hover span { text-decoration-color: rgba(122,21,61,.85); color: var(--fc-wine-deep); }

/* trust-chips — одна ровная линия на всю ширину секции,
   под тонким champagne-разделителем; связывает обе колонки */
.final-cta__chips {
  grid-column: 1 / -1;
  display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center;
  gap: 12px 20px;
  padding-top: clamp(18px, 1.8vw, 24px);
  border-top: 1px solid rgba(201,162,107,.24);
}
.final-cta__chip { display: inline-flex; align-items: center; gap: 9px; color: var(--fc-ink); font-size: 13px; font-weight: 600; letter-spacing: .005em; }
.final-cta__chip-ic {
  display: grid; place-items: center; width: 26px; height: 26px; flex-shrink: 0; border-radius: 50%;
  color: var(--fc-wine);
  background: radial-gradient(120% 120% at 32% 26%, rgba(255,250,244,.9) 0%, rgba(247,231,217,.8) 100%);
  border: 1px solid rgba(201,162,107,.32);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.85);
}
.final-cta__chip-ic svg { width: 14px; height: 14px; }

/* ---- RIGHT · лёгкая glass-карточка «Быстрая заявка» ---- */
.final-cta__booking {
  position: relative;
  width: 100%;
  max-width: 412px;
  justify-self: start;
  display: flex; flex-direction: column;
  border-radius: clamp(20px, 1.8vw, 26px);
  padding: clamp(24px, 2.3vw, 32px) clamp(22px, 2.1vw, 30px) clamp(22px, 2.1vw, 28px);
  border: 1px solid rgba(255, 255, 255, .75);
  background:
    radial-gradient(90% 64% at 88% 0%, rgba(250,224,218,.38), transparent 64%),
    linear-gradient(168deg, rgba(255,253,251,.82) 0%, rgba(254,246,241,.68) 58%, rgba(252,240,234,.74) 100%);
  box-shadow:
    0 30px 66px -50px rgba(99,37,53,.42),
    0 0 46px -18px rgba(249,215,210,.55),
    inset 0 1px 0 rgba(255,255,255,.9),
    inset 0 0 0 1px rgba(231,205,197,.28);
  -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px);
}
.final-cta__booking-title {
  font-family: "Fraunces", Georgia, serif;
  font-size: clamp(19px, 1.6vw, 22px);
  font-weight: 600; letter-spacing: -.01em;
  color: var(--fc-wine-deep);
  margin-bottom: clamp(16px, 1.6vw, 20px);
}
.final-cta__field { margin-bottom: 14px; }
.final-cta__label {
  display: block; margin-bottom: 8px;
  font-size: 13px; font-weight: 700; color: var(--fc-wine-deep); letter-spacing: -.005em;
}
.final-cta__input {
  width: 100%; padding: 13px 16px; border-radius: 13px;
  border: 1px solid rgba(120, 60, 70, .14);
  background: rgba(255,255,255,.6); color: var(--ink);
  font-family: inherit; font-size: 14.5px;
  box-shadow: inset 0 1px 2px rgba(99,37,53,.03);
  transition: border-color .2s, box-shadow .2s, background .2s;
}
.final-cta__input::placeholder { color: #b0a3a8; }
.final-cta__input:focus { outline: none; border-color: rgba(122,21,61,.55); background: rgba(255,255,255,.95); box-shadow: 0 0 0 3px rgba(122,21,61,.1); }

.final-cta__note {
  margin: 2px 0 16px;
  color: var(--fc-muted); font-size: 12.5px; line-height: 1.55;
}
/* кнопка формы — спокойнее главной: ровная wine-заливка, без градиента
   и крупного glow, радиус как у полей — «встроена» в карточку */
.final-cta__submit {
  width: 100%;
  padding: 14px 24px;
  border: 0; border-radius: 13px;
  cursor: pointer; font-family: inherit;
  font-size: 14.5px; font-weight: 700; line-height: 1;
  color: #fff; background: var(--fc-wine);
  box-shadow: 0 10px 22px -12px rgba(110,16,49,.5), inset 0 1px 0 rgba(255,255,255,.16);
  transition: background .2s, box-shadow .25s var(--ease), transform .2s var(--ease);
}
.final-cta__submit:hover { background: var(--fc-wine-deep); transform: translateY(-1px); box-shadow: 0 13px 26px -12px rgba(110,16,49,.55), inset 0 1px 0 rgba(255,255,255,.16); }
.final-cta__submit:active { transform: translateY(0); }
.final-cta__submit:focus-visible { outline: none; box-shadow: 0 0 0 2px rgba(255,255,255,.72), 0 0 0 5px rgba(156,90,107,.28); }

/* tablet / narrow — стек в одну колонку */
@media (max-width: 980px) {
  .final-cta__shell { padding: clamp(30px,5vw,48px) clamp(22px,4.5vw,40px); }
  .final-cta__content { grid-template-columns: 1fr; gap: clamp(28px,4.6vw,40px); }
  .final-cta__booking { max-width: 480px; justify-self: start; }
}

/* mobile — отдельная адаптация: центр, full-width кнопка, chips 2×2, лёгкая карточка */
@media (max-width: 560px) {
  .section--final-cta { scroll-margin-top: 104px; padding: 24px 0 48px; }
  .section--final-cta .container { padding: 0 12px; }
  .final-cta__shell { border-radius: 22px; padding: 30px 16px 26px; }
  .final-cta__content { gap: 24px; }
  .final-cta__main { align-items: center; text-align: center; }
  .final-cta__eyebrow { margin-bottom: 14px; }
  .final-cta__title { max-width: 19ch; font-size: clamp(23px, 6.8vw, 29px); line-height: 1.16; }
  .final-cta__sub { max-width: 42ch; margin-top: 12px; font-size: 14.5px; }
  .final-cta__actions { width: 100%; align-items: stretch; gap: 12px; margin-top: 20px; }
  .final-cta__btn { width: 100%; padding: 16px 24px; }
  .final-cta__micro { text-align: center; }
  .final-cta__chips { display: grid; grid-template-columns: 1fr 1fr; gap: 11px 12px; padding-top: 18px; text-align: left; }
  .final-cta__chip { font-size: 12.5px; gap: 8px; }
  .final-cta__chip-ic { width: 25px; height: 25px; }
  .final-cta__booking { max-width: none; justify-self: stretch; padding: 22px 18px 20px; }
  /* mobile: меньше шаров — только два, тише, чтобы не создавать грязь */
  .final-cta__orb--2, .final-cta__orb--3 { display: none; }
  .final-cta__orb--1 { width: 150px; right: -46px; top: -60px; --fc-orb-o: .5; }
  .final-cta__orb--4 { width: 210px; right: -60px; top: auto; bottom: 16%; --fc-orb-o: .4; }
}
