/* ============================================================
   Program page utilities (tokens + shared primitives)
   Depends on site-chrome-tokens.css (--pink, --blue-dark, .sd-btn)
   ============================================================ */
.pg {
  --brown: #e7c9c1;
  --radius-chip: 32px;
  --gray-3: #f0f0f0;
}
.pg .w {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 32px;
  box-sizing: border-box;
}
@media (max-width: 960px) {
  .pg .w { padding: 0 20px; }
}
@media (max-width: 640px) {
  .pg .w { padding: 0 16px; }
}
.pg .visually-hidden {
  position: absolute !important;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}
.pg .sd-btn--white {
  background: var(--white);
  color: var(--blue-dark) !important;
  font-weight: 500;
}
.pg .sd-btn .i,
.pg .sd-btn svg {
  width: 18px;
  height: 18px;
  flex: none;
}
.pg .sd-fact {
  display: inline-flex;
  flex-direction: column;
  gap: 2px;
  padding: 12px 20px;
  border-radius: var(--radius-chip);
  background: var(--gray-3);
}
.pg .sd-fact b {
  font-family: var(--font-montserrat);
  font-weight: 600;
  font-size: 18px;
  line-height: 22px;
}
.pg .sd-fact span {
  font-size: 14px;
  line-height: 18px;
  color: var(--gray-dark);
}
.pg .sd-fact--white { background: var(--white); }
.pg .sd-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  height: 30px;
  padding: 0 12px;
  border-radius: var(--radius-chip);
  background: var(--blush);
  font-size: 13px;
  font-weight: 600;
  color: var(--blue-dark);
}
.pg .sec {
  font-family: var(--font-montserrat);
  font-weight: 700;
  font-size: 56px;
  line-height: 60px;
  letter-spacing: -.03em;
  margin: 0;
  color: var(--blue-dark);
}
.pg .sec em { font-style: normal; color: var(--pink); }
.pg .eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--gray-dark);
}
.pg .eyebrow i {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--pink);
}
.pg .linkmore {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-weight: 700;
  color: var(--pink-dark);
  font-size: 15px;
  white-space: nowrap;
  text-decoration: none;
}
.pg .linkmore .i,
.pg .linkmore svg { width: 16px; height: 16px; }
.pg a { color: inherit; text-decoration: none; }
.pg a:hover { color: inherit; }
.pg .inc-html ul,
.pg .exc-html ul,
.pg .res-html ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.pg .inc-html li,
.pg .exc-html li,
.pg .res-html li {
  background: #fff;
  border-radius: 20px;
  padding: 16px 18px;
  font-weight: 600;
  font-size: 17px;
}
.pg .exc-html li { background: transparent; padding: 0; font-weight: 400; font-size: 16px; color: var(--gray-dark); }
.pg .inc-html p,
.pg .res-html p { margin: 0 0 12px; font-size: 17px; line-height: 27px; color: var(--gray-dark); font-weight: 400; }
@media (max-width: 960px) {
  .pg .sec { font-size: 46px; line-height: 50px; }
}
@media (max-width: 640px) {
  .pg .sec { font-size: 32px; line-height: 36px; }
  .pg { padding-bottom: 88px; }
}

/* ============================================================
   Шаблон страницы программы (ситуация × формат) — Центр Содействие
   Пример: /s-prozhivaniem/posle-pereloma-shejki/
   Зависит от style.css (токены, .w, .sd-btn, .sd-fact, .eyebrow, .sec)
   ============================================================ */
.pg section{padding-top:112px}
.pg .lead2{font-size:19px;line-height:30px;color:var(--gray-dark);margin:0}

/* хлебные крошки */
.crumbs{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:22px 0 0;padding:0;list-style:none;font-size:13px;color:var(--gray-dark)}
.crumbs a{color:var(--gray-dark);transition:color .15s}
.crumbs a:hover{color:var(--pink-dark)}
.crumbs li+li::before{content:"";display:inline-block;width:5px;height:5px;margin-right:8px;border-top:1.5px solid var(--gray);border-right:1.5px solid var(--gray);transform:rotate(45deg) translateY(-2px)}
.crumbs [aria-current]{color:var(--blue-dark);font-weight:600}

/* ---------- первый экран ---------- */
.p-hero{padding-top:16px!important}
.p-grid{display:grid;grid-template-columns:1fr 420px;gap:16px}
.p-main{position:relative;overflow:hidden;background:var(--blush);border-radius:40px;padding:48px 52px 44px;min-height:580px;display:flex;flex-direction:column}
.p-main .bigheart{position:absolute;right:-110px;bottom:-130px;width:560px;fill:#fff;opacity:.7;pointer-events:none}
.p-tags{display:flex;gap:8px;flex-wrap:wrap;position:relative}
.p-tag{display:inline-flex;align-items:center;gap:8px;height:34px;padding:0 14px;border-radius:999px;background:#fff;font-size:13px;font-weight:600}
.p-tag i{width:6px;height:6px;border-radius:50%;background:var(--pink)}
.p-tag.is-dark{background:var(--blue-dark);color:#fff}
.p-main h1{position:relative;margin:26px 0 0;font-family:var(--font-montserrat);font-weight:700;font-size:64px;line-height:68px;letter-spacing:-.035em;color:var(--blue-dark);max-width:700px}
.p-main h1 em{font-style:normal;color:var(--pink)}
.p-main h1 small{display:block;margin-top:14px;font-size:22px;line-height:28px;font-weight:500;letter-spacing:-.01em;color:var(--gray-dark)}
.p-main .lead2{position:relative;margin-top:22px;max-width:560px}
.p-facts{position:relative;display:flex;gap:8px;flex-wrap:wrap;margin-top:28px}
.p-acts{position:relative;display:flex;gap:12px;margin-top:auto;padding-top:32px;flex-wrap:wrap}
.p-meta{position:relative;display:flex;align-items:center;gap:18px;margin-top:22px;font-size:14px;color:var(--gray-dark);flex-wrap:wrap}
.p-meta b{font-family:var(--font-montserrat);font-size:20px;color:var(--blue-dark);letter-spacing:-.02em}
.p-meta .stars{color:var(--pink);letter-spacing:2px}
.p-meta .sep{width:1px;height:20px;background:rgba(39,49,74,.14)}

/* карточка-калькулятор программы */
.p-app{background:#fff;border:1px solid var(--line);border-radius:40px;padding:26px;display:flex;flex-direction:column;gap:18px;box-shadow:var(--shadow-app)}
.p-app header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.p-app header b{display:block;font-family:var(--font-montserrat);font-size:19px;letter-spacing:-.01em}
.p-app header span{font-size:13px;color:var(--gray-dark)}
.p-app header .badge{flex:none;height:28px;padding:0 10px;border-radius:999px;background:var(--pink-soft);color:var(--pink-dark);font-size:12px;font-weight:700;display:inline-flex;align-items:center}
.days{display:grid;grid-template-columns:repeat(14,1fr);gap:4px}
.days i{height:30px;border-radius:7px;background:var(--gray-2);position:relative;transition:background-color .3s}
.days i.on{background:var(--pink)}
.days i.w{background:var(--pink-soft)}
.days-l{display:flex;justify-content:space-between;font-size:12px;color:var(--gray-dark);margin-top:6px}
.tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;background:var(--gray-2);border-radius:16px;padding:4px}
.tiers button{all:unset;cursor:pointer;height:40px;border-radius:12px;display:grid;place-items:center;font-size:13px;font-weight:600;color:var(--gray-dark);transition:.2s}
.tiers button.on{background:#fff;color:var(--blue-dark);box-shadow:0 1px 3px rgba(39,49,74,.12)}
.tiers button:focus-visible{outline:2px solid var(--pink);outline-offset:1px}
.tier-d{font-size:13px;line-height:19px;color:var(--gray-dark);min-height:19px;margin:-8px 2px 0}
.est{background:var(--gray-2);border-radius:22px;padding:18px}
.est .row{display:flex;justify-content:space-between;font-size:14px;color:var(--gray-dark)}
.est .row b{color:var(--blue-dark)}
.est input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:6px;border-radius:6px;margin:16px 0 6px;background:linear-gradient(90deg,var(--pink) var(--p,30%),var(--line) var(--p,30%));outline:none}
.est input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:24px;height:24px;border-radius:50%;background:#fff;border:2px solid var(--pink);box-shadow:0 2px 8px rgba(39,49,74,.2);cursor:pointer}
.est input[type=range]::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:#fff;border:2px solid var(--pink);cursor:pointer}
.est .sum{display:flex;align-items:baseline;gap:8px;margin-top:8px}
.est .sum b{font-family:var(--font-montserrat);font-weight:700;font-size:40px;line-height:1;letter-spacing:-.035em}
.est .sum span{font-size:13px;color:var(--gray-dark)}
.est small{display:block;margin-top:8px;font-size:12px;line-height:17px;color:var(--gray-dark)}
.p-app .sd-btn{width:100%;height:58px;border-radius:18px}
.p-app .fine{margin:-6px 0 0;text-align:center;font-size:12px;color:var(--gray-dark)}

/* ---------- липкая навигация по странице ---------- */
.p-sub{position:sticky;top:12px;z-index:30;display:flex;justify-content:center;margin-top:24px;pointer-events:none;transition:top .45s cubic-bezier(.22,1,.36,1)}
.hd[data-state="scrolled"]~main .p-sub{top:84px}
.p-sub nav{pointer-events:auto;display:flex;gap:2px;padding:5px;border-radius:18px;background:rgba(255,255,255,.72);-webkit-backdrop-filter:blur(22px) saturate(180%);backdrop-filter:blur(22px) saturate(180%);box-shadow:inset 0 1px 0 rgba(255,255,255,.75),inset 0 0 0 1px rgba(255,255,255,.28),0 12px 32px -14px rgba(39,49,74,.22);overflow-x:auto;scrollbar-width:none;max-width:100%}
.p-sub nav::-webkit-scrollbar{display:none}
.p-sub a{flex:none;height:38px;padding:0 14px;border-radius:13px;display:inline-flex;align-items:center;font-size:14px;font-weight:500;color:var(--gray-dark);transition:.2s;white-space:nowrap}
.p-sub a:hover{color:var(--blue-dark);background:rgba(39,49,74,.05)}
.p-sub a.on{background:var(--blue-dark);color:#fff}
.p-sub a.cta{background:var(--pink);color:#fff;font-weight:700;margin-left:4px}
.p-sub a.cta:hover{background:var(--pink-dark)}

/* заголовки секций */
.p-head{display:flex;justify-content:space-between;align-items:flex-end;gap:48px;margin-bottom:36px}
.p-head p{max-width:420px;margin:0;font-size:17px;line-height:27px;color:var(--gray-dark)}
.p-head .sec{margin-top:14px}

/* ---------- проблема ---------- */
.risk{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:12px}
.risk .q{border-radius:32px;background:var(--blue-dark);color:#fff;padding:36px;display:flex;flex-direction:column;gap:20px}
.risk .q p{margin:0;font-family:var(--font-montserrat);font-weight:600;font-size:21px;line-height:30px;letter-spacing:-.015em}
.risk .q p em{font-style:normal;color:var(--brown)}
.risk .q span{margin-top:auto;font-size:13px;color:rgba(255,255,255,.65)}
.rk{border-radius:28px;background:var(--gray-2);padding:26px;display:flex;flex-direction:column;gap:12px;min-height:260px}
.rk .n{width:48px;height:48px;border-radius:16px;background:#fff;display:grid;place-items:center;color:var(--pink-dark)}
.rk .n svg{width:22px;height:22px}
.rk h3{margin:auto 0 0;font-family:var(--font-montserrat);font-weight:700;font-size:22px;line-height:27px;letter-spacing:-.02em}
.rk p{margin:0;font-size:15px;line-height:22px;color:var(--gray-dark)}

/* ---------- что входит ---------- */
.inc{display:grid;grid-template-columns:1.1fr .9fr;gap:12px}
.inc-card{border-radius:36px;background:var(--gray-2);padding:40px;display:flex;flex-direction:column;gap:22px}
.inc-card .prog{display:flex;align-items:center;gap:14px}
.inc-card .prog .ic{width:56px;height:56px;border-radius:18px;background:var(--pink);color:#fff;display:grid;place-items:center}
.inc-card .prog .ic svg{width:26px;height:26px}
.inc-card .prog b{display:block;font-family:var(--font-montserrat);font-size:22px;letter-spacing:-.02em}
.inc-card .prog span{font-size:14px;color:var(--gray-dark)}
.inc-card > p{margin:0;font-size:17px;line-height:27px;color:var(--gray-dark)}
.do{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.do li{display:flex;gap:16px;align-items:center;background:#fff;border-radius:20px;padding:16px 18px;font-weight:600;font-size:17px}
.do li i{flex:none;width:40px;height:40px;border-radius:13px;background:var(--pink-soft);color:var(--pink-dark);display:grid;place-items:center}
.do li i svg{width:20px;height:20px}
.do li small{display:block;font-weight:400;font-size:14px;color:var(--gray-dark);margin-top:2px}
.note{display:flex;gap:12px;align-items:flex-start;border-radius:18px;background:#fff;padding:14px 16px;font-size:14px;line-height:21px;color:var(--gray-dark)}
.note svg{flex:none;width:20px;height:20px;color:var(--pink-dark);margin-top:1px}
.not{border-radius:36px;border:1px dashed rgba(39,49,74,.18);padding:36px;display:flex;flex-direction:column;gap:18px}
.not h3{margin:0;font-family:var(--font-montserrat);font-weight:700;font-size:22px;letter-spacing:-.02em}
.not ul{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.not li{display:flex;gap:14px;align-items:flex-start;font-size:16px;line-height:24px;color:var(--gray-dark)}
.not li i{flex:none;width:28px;height:28px;border-radius:50%;background:var(--gray-2);display:grid;place-items:center;color:var(--gray-dark);font-style:normal;font-size:14px;margin-top:-2px}
.not .foot{margin-top:auto;font-size:13px;line-height:19px;color:var(--gray-dark);padding-top:16px;border-top:1px solid var(--line)}

/* ---------- путь программы ---------- */
.path{position:relative;display:grid;grid-template-columns:repeat(6,1fr);gap:12px}
.path::before{content:"";position:absolute;left:28px;right:28px;top:27px;height:2px;background:repeating-linear-gradient(90deg,var(--line) 0 8px,transparent 8px 14px)}
.st{position:relative}
.st .dot{position:relative;width:56px;height:56px;border-radius:18px;background:#fff;border:1px solid var(--line);display:grid;place-items:center;font-family:var(--font-montserrat);font-weight:700;font-size:18px}
.st.key .dot{background:var(--pink);border-color:var(--pink);color:#fff;box-shadow:0 10px 24px -8px rgba(209,67,109,.55)}
.st.is-next .dot{background:var(--blue-dark);border-color:var(--blue-dark);color:#fff}
.st h3{margin:22px 0 6px;font-family:var(--font-montserrat);font-weight:700;font-size:19px;letter-spacing:-.015em}
.st p{margin:0;font-size:14px;line-height:21px;color:var(--gray-dark)}
.st .sd-badge{margin-top:12px}

/* ---------- результат + что дальше ---------- */
.res{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.rs{border-radius:28px;background:var(--blush);padding:28px;min-height:190px;display:flex;flex-direction:column;justify-content:space-between;gap:24px}
.rs .ck{width:44px;height:44px;border-radius:50%;background:#fff;display:grid;place-items:center;color:var(--pink-dark)}
.rs .ck svg{width:20px;height:20px}
.rs b{font-family:var(--font-montserrat);font-weight:700;font-size:22px;line-height:27px;letter-spacing:-.02em}
.next{display:grid;grid-template-columns:1.2fr 1fr;gap:12px;margin-top:12px}
.nx{position:relative;overflow:hidden;border-radius:32px;background:var(--blue-dark);color:#fff;padding:36px;display:flex;flex-direction:column;gap:14px}
.nx .h{position:absolute;right:-40px;bottom:-60px;width:260px;fill:rgba(255,255,255,.06)}
.nx .k{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.6)}
.nx h3{margin:0;font-family:var(--font-montserrat);font-weight:700;font-size:30px;line-height:35px;letter-spacing:-.025em;max-width:520px}
.nx p{margin:0;color:rgba(255,255,255,.75);font-size:16px;line-height:25px;max-width:480px}
.nx .lnk{position:relative;margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:16px;background:rgba(255,255,255,.08);border-radius:20px;padding:16px 18px;transition:background-color .2s}
.nx .lnk:hover{background:rgba(255,255,255,.14)}
.nx .lnk b{display:block;font-size:17px}
.nx .lnk small{font-size:13px;color:rgba(255,255,255,.7)}
.nx .lnk .go{flex:none;width:42px;height:42px;border-radius:50%;background:var(--pink);display:grid;place-items:center}
.nx .lnk .go svg{width:18px;height:18px}
.addon{border-radius:32px;border:1px solid var(--line);padding:32px;display:flex;flex-direction:column;gap:12px}
.addon .k{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--pink-dark)}
.addon h3{margin:0;font-family:var(--font-montserrat);font-weight:700;font-size:24px;letter-spacing:-.02em}
.addon p{margin:0;font-size:15px;line-height:23px;color:var(--gray-dark)}
.addon ul{list-style:none;margin:6px 0 0;padding:0;display:flex;gap:6px;flex-wrap:wrap}
.addon li{height:32px;padding:0 12px;border-radius:999px;background:var(--gray-2);font-size:13px;font-weight:600;display:inline-flex;align-items:center}
.addon .linkmore{margin-top:auto}

/* ---------- стоимость ---------- */
.pcs{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.pc{all:unset;box-sizing:border-box;cursor:pointer;position:relative;border-radius:32px;border:1px solid var(--line);padding:30px;display:flex;flex-direction:column;gap:12px;min-height:300px;transition:border-color .2s,background-color .2s,transform .25s cubic-bezier(.22,1,.36,1)}
.pc:hover{border-color:var(--brown);transform:translateY(-2px)}
.pc:focus-visible{outline:2px solid var(--pink);outline-offset:3px}
.pc .lvl{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--gray-dark)}
.pc h3{margin:0;font-family:var(--font-montserrat);font-weight:700;font-size:28px;letter-spacing:-.025em}
.pc p{margin:0;font-size:15px;line-height:23px;color:var(--gray-dark)}
.pc .val{margin-top:auto;font-family:var(--font-montserrat);font-weight:700;font-size:30px;letter-spacing:-.03em}
.pc .val small{font-family:var(--font-onest);font-weight:500;font-size:14px;color:var(--gray-dark);letter-spacing:0}
.pc .sel{position:absolute;right:22px;top:22px;width:24px;height:24px;border-radius:50%;border:2px solid var(--line);transition:.2s}
.pc.on{background:var(--blue-dark);border-color:var(--blue-dark);color:#fff}
.pc.on .lvl,.pc.on p,.pc.on .val small{color:rgba(255,255,255,.7)}
.pc.on .val,.pc.on h3{color:#fff}
.pc.on .sel{border-color:var(--pink);background:var(--pink);box-shadow:inset 0 0 0 4px var(--blue-dark)}
.price-foot{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:16px;border-radius:24px;background:var(--gray-2);padding:18px 22px;font-size:14px;color:var(--gray-dark)}
.price-foot b{color:var(--blue-dark)}

/* ---------- гарантии + цифра ---------- */
.gu{display:grid;grid-template-columns:1.2fr repeat(4,1fr);gap:12px}
.gu .big{border-radius:28px;background:var(--pink);color:#fff;padding:28px;display:flex;flex-direction:column;justify-content:space-between;min-height:220px}
.gu .big b{font-family:var(--font-montserrat);font-weight:800;font-size:56px;line-height:1;letter-spacing:-.045em}
.gu .big span{font-size:15px;line-height:22px;opacity:.9}
.gi2{border-radius:28px;background:var(--gray-2);padding:24px;display:flex;flex-direction:column;gap:10px}
.gi2 .ic{width:44px;height:44px;border-radius:14px;background:#fff;color:var(--pink-dark);display:grid;place-items:center}
.gi2 .ic svg{width:20px;height:20px}
.gi2 h3{margin:auto 0 0;font-family:var(--font-montserrat);font-weight:700;font-size:18px;line-height:22px;letter-spacing:-.015em}
.gi2 p{margin:0;font-size:14px;line-height:20px;color:var(--gray-dark)}

/* ---------- отзывы ---------- */
.rv3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.rv3 .rv{border-radius:28px;border:1px solid var(--line);padding:28px;display:flex;flex-direction:column;gap:16px}
.rv3 .rv q{quotes:none;font-size:16px;line-height:25px}
.rv3 .rv .tag{align-self:flex-start;height:26px;padding:0 10px;border-radius:999px;background:var(--pink-soft);color:var(--pink-dark);font-size:12px;font-weight:700;display:inline-flex;align-items:center}
.rv3 .who{margin-top:auto;display:flex;align-items:center;gap:12px;font-size:14px}
.rv3 .who b{display:block;font-size:15px}
.rv3 .av{width:42px;height:42px;border-radius:50%;background:var(--blush);display:grid;place-items:center;font-weight:700}
.rv3 .src{margin-left:auto;font-size:12px;font-weight:600;background:var(--gray-2);border-radius:999px;padding:5px 10px}

/* ---------- вопросы ---------- */
.faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:48px;align-items:start}
.faq aside{position:sticky;top:160px;display:flex;flex-direction:column;gap:16px}
.faq aside p{margin:0;font-size:16px;line-height:25px;color:var(--gray-dark)}
.qa{display:grid;gap:8px}
.qa details{border-radius:22px;background:var(--gray-2);transition:background-color .2s}
.qa details[open]{background:var(--blush)}
.qa summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:22px 24px;font-family:var(--font-montserrat);font-weight:600;font-size:18px;line-height:24px;letter-spacing:-.01em}
.qa summary::-webkit-details-marker{display:none}
.qa summary i{flex:none;position:relative;width:32px;height:32px;border-radius:50%;background:#fff}
.qa summary i::before,.qa summary i::after{content:"";position:absolute;left:10px;top:15px;width:12px;height:2px;border-radius:2px;background:var(--blue-dark);transition:transform .3s cubic-bezier(.22,1,.36,1)}
.qa summary i::after{transform:rotate(90deg)}
.qa details[open] summary i::after{transform:rotate(0)}
.qa summary:focus-visible{outline:2px solid var(--pink);outline-offset:-2px;border-radius:22px}
.qa .a{padding:0 24px 22px;font-size:16px;line-height:25px;color:var(--gray-dark);max-width:640px}
.qa .a a{color:var(--pink-dark);font-weight:600}

/* ---------- связанные страницы ---------- */
.rel{display:grid;grid-template-columns:1.2fr 1fr;gap:12px}
.rel-card{border-radius:32px;background:var(--gray-2);padding:30px}
.rel-card h3{margin:0 0 16px;font-family:var(--font-montserrat);font-weight:700;font-size:20px;letter-spacing:-.015em}
.chips2{display:flex;flex-wrap:wrap;gap:8px}
.chips2 a{height:44px;padding:0 16px;border-radius:14px;background:#fff;display:inline-flex;align-items:center;gap:8px;font-size:15px;font-weight:500;transition:.2s}
.chips2 a:hover{background:var(--blue-dark);color:#fff}
.chips2 a small{color:var(--gray-dark);font-size:12px}
.chips2 a:hover small{color:rgba(255,255,255,.7)}
.rel-card.hosp{background:var(--blush);display:flex;flex-direction:column;gap:12px}
.rel-card.hosp p{margin:0;font-size:15px;line-height:23px;color:var(--gray-dark)}
.rel-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto}

/* ---------- заявка ---------- */
.apply{border-radius:48px;background:var(--blue-dark);color:#fff;padding:64px;display:grid;grid-template-columns:1fr 1fr;gap:48px;position:relative;overflow:hidden}
.apply .h{position:absolute;left:-80px;bottom:-120px;width:460px;fill:rgba(255,255,255,.05)}
.apply h2{position:relative;margin:14px 0 0;font-family:var(--font-montserrat);font-weight:700;font-size:48px;line-height:52px;letter-spacing:-.03em}
.apply h2 em{font-style:normal;color:var(--pink)}
.apply .eyebrow{color:rgba(255,255,255,.65)}
.apply .l{position:relative;display:flex;flex-direction:column;gap:18px}
.apply .l p{margin:0;color:rgba(255,255,255,.72);font-size:16px;line-height:25px}
.contact2{margin-top:auto;display:grid;gap:10px}
.contact2 a.tel{font-family:var(--font-montserrat);font-weight:700;font-size:30px;letter-spacing:-.02em}
.contact2 span{font-size:14px;color:rgba(255,255,255,.65)}
.callme{display:flex;gap:8px;background:rgba(255,255,255,.08);border-radius:20px;padding:6px}
.callme input{flex:1;min-width:0;height:48px;border:0;border-radius:15px;background:transparent;color:#fff;padding:0 14px;font:inherit;font-size:15px;outline:none}
.callme input::placeholder{color:rgba(255,255,255,.55)}
.callme button{all:unset;cursor:pointer;height:48px;padding:0 18px;border-radius:15px;background:#fff;color:var(--blue-dark);font-weight:700;font-size:14px;white-space:nowrap}
.callme button:hover{background:var(--blush)}
.aform{position:relative;background:#fff;color:var(--blue-dark);border-radius:32px;padding:30px;display:grid;gap:12px;align-content:start}
.aform b.t{font-family:var(--font-montserrat);font-size:22px;letter-spacing:-.015em}
.fld{position:relative}
.fld input,.fld textarea{width:100%;box-sizing:border-box;height:60px;border:0;border-radius:18px;background:var(--gray-2);padding:22px 18px 6px;font:inherit;font-size:16px;color:var(--blue-dark);outline:none;transition:box-shadow .2s}
.fld textarea{height:110px;padding-top:28px;resize:vertical}
.fld label{position:absolute;left:18px;top:19px;font-size:16px;color:var(--gray-dark);pointer-events:none;transition:transform .2s,font-size .2s,top .2s}
.fld input:focus,.fld textarea:focus{box-shadow:0 0 0 2px var(--pink)}
.fld input:focus+label,.fld input:not(:placeholder-shown)+label,.fld textarea:focus+label,.fld textarea:not(:placeholder-shown)+label{top:9px;font-size:12px}
.fld input::placeholder,.fld textarea::placeholder{color:transparent}
.consent{display:flex;gap:10px;align-items:flex-start;font-size:13px;line-height:19px;color:var(--gray-dark);cursor:pointer}
.consent input{flex:none;appearance:none;-webkit-appearance:none;width:22px;height:22px;border-radius:7px;border:2px solid var(--line);margin:0;display:grid;place-items:center;cursor:pointer;transition:.2s}
.consent input:checked{background:var(--pink);border-color:var(--pink)}
.consent input:checked::after{content:"";width:6px;height:10px;border-right:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(45deg) translate(-1px,-1px)}
.consent input:focus-visible{outline:2px solid var(--pink);outline-offset:2px}
.consent a{color:var(--pink-dark);font-weight:600}
.aform .sd-btn{width:100%;border:0;cursor:pointer}
.aform .sd-btn:disabled{opacity:.45;cursor:default}
.aform .alt{text-align:center;font-size:14px}
.aform .alt a{color:var(--pink-dark);font-weight:600}
.ok{display:none;text-align:center;padding:30px 10px;gap:10px}
.aform.sent>*:not(.ok){display:none}
.aform.sent .ok{display:grid}
.ok i{margin:0 auto;width:64px;height:64px;border-radius:50%;background:var(--pink-soft);color:var(--pink-dark);display:grid;place-items:center}
.ok i svg{width:28px;height:28px}
.ok b{font-family:var(--font-montserrat);font-size:22px}
.ok p{margin:0;color:var(--gray-dark)}

/* мобильная липкая плашка */
.p-bar{display:none}

/* ================= адаптив ================= */
@media (max-width:1180px){
  .p-grid{grid-template-columns:1fr 380px}
  .p-main h1{font-size:52px;line-height:56px}
  .risk{grid-template-columns:1fr 1fr 1fr}.risk .q{grid-column:1/-1}
  .path{grid-template-columns:repeat(3,1fr);row-gap:36px}.path::before{display:none}
  .gu{grid-template-columns:repeat(4,1fr)}.gu .big{grid-column:1/-1;min-height:0;flex-direction:row;align-items:center}
}
@media (max-width:960px){
  .pg section{padding-top:80px}
  .p-grid{grid-template-columns:1fr}
  .p-main{min-height:0;padding:40px 32px}
  .p-head{flex-direction:column;align-items:flex-start;gap:14px}
  .inc,.next,.rel,.faq,.apply{grid-template-columns:minmax(0,1fr)}
  .faq aside{position:static}
  .pcs{grid-template-columns:1fr}
  .pc{min-height:0}
  .res{grid-template-columns:1fr}
  .gu{grid-template-columns:1fr 1fr}
  .rv3{grid-template-columns:1fr}
  .apply{padding:40px 28px;border-radius:36px}
  .p-sub{top:8px}
  .hd[data-state="scrolled"]~main .p-sub{top:76px}
}
@media (max-width:640px){
  .pg{padding-bottom:88px}
  .pg section{padding-top:56px}
  .p-main{padding:28px 20px 24px;border-radius:30px}
  .p-main .bigheart{width:300px;right:-80px;bottom:-60px}
  .p-main h1{font-size:34px;line-height:38px;margin-top:18px}
  .p-main h1 small{font-size:16px;line-height:22px;margin-top:10px}
  .p-main .lead2{font-size:16px;line-height:24px;margin-top:14px}
  .p-acts{flex-direction:column}.p-acts .sd-btn{width:100%}
  .p-app{border-radius:30px;padding:20px}
  .days i{height:24px;border-radius:5px}
  .p-sub{justify-content:flex-start}
  .risk{grid-template-columns:1fr}.risk .q{padding:26px}.risk .q p{font-size:20px;line-height:28px}
  .rk{min-height:0}
  .inc-card,.not{padding:24px;border-radius:28px}
  .path{grid-template-columns:repeat(2,minmax(0,1fr))}
  .nx{padding:26px}.nx h3{font-size:24px;line-height:29px}
  .gu{grid-template-columns:repeat(2,minmax(0,1fr))}.gu .big{flex-direction:column;align-items:flex-start;gap:10px}
  .gi2 h3{font-size:16px;line-height:20px;hyphens:auto}
  .callme{flex-wrap:wrap}.callme button{flex:1;text-align:center}
  .contact2 a.tel{font-size:24px}
  .qa summary{font-size:16px;padding:18px}
  .qa .a{padding:0 18px 18px}
  .apply{padding:28px 18px;border-radius:30px}
  .apply h2{font-size:32px;line-height:36px}
  .price-foot{flex-direction:column;align-items:flex-start}
  .p-bar{display:flex;position:fixed;z-index:35;left:10px;right:10px;bottom:10px;align-items:center;gap:10px;padding:8px 8px 8px 18px;border-radius:22px;background:rgba(255,255,255,.86);-webkit-backdrop-filter:blur(18px) saturate(180%);backdrop-filter:blur(18px) saturate(180%);box-shadow:inset 0 1px 0 rgba(255,255,255,.8),0 14px 36px -12px rgba(39,49,74,.35);transform:translateY(140%);transition:transform .45s cubic-bezier(.22,1,.36,1)}
  .p-bar.on{transform:none}
  .p-bar div{flex:1;line-height:1.15}
  .p-bar b{display:block;font-family:var(--font-montserrat);font-size:18px;letter-spacing:-.02em}
  .p-bar small{font-size:12px;color:var(--gray-dark)}
  .p-bar .sd-btn{height:48px;padding:0 18px;border-radius:15px;font-size:15px}
  .pg ~ .sa, body .pg .sa{--sa-dock:72px}
}
@media (prefers-reduced-motion:reduce){.pg *{transition:none!important;animation:none!important}}
