/* Подолайн — визуальная система 2026. Дополняет базовые компоненты сайта. */
:root {
  --ink: #29223f;
  --ink-2: #51465f;
  --ink-3: #70637f;
  --paper: #fdfaff;
  --paper-2: #ffffff;
  --sand: #f2edff;
  --sand-2: #ded2f5;
  --brand: #6941c6;
  --brand-2: #5731ad;
  --brand-soft: #f0e9ff;
  --focus: #6941c6;
  --accent: #b93662;
  --accent-soft: #ffeaf0;
  --line: #e6dff0;
  --r-s: 12px;
  --r-m: 18px;
  --r-l: 24px;
  --r-xl: 32px;
  --wrap: 1280px;
  --gap: 22px;
  --t: 150ms cubic-bezier(.2,0,0,1);
  --shadow-s: 0 2px 3px rgba(0,0,0,.025), 0 8px 24px rgba(0,0,0,.035);
  --shadow-m: 0 3px 8px rgba(0,0,0,.035), 0 16px 40px rgba(0,0,0,.055);
  --shadow-l: 0 8px 24px rgba(0,0,0,.06), 0 32px 80px rgba(0,0,0,.08);
}
body { font-size: 16px; line-height: 1.7; overflow-x: clip; }
h1, h2, h3 { text-wrap: balance; }
h1 { font-size: clamp(34px, 4.3vw, 62px); letter-spacing: -.055em; line-height: 1.1; }
h2 { font-size: clamp(28px, 3.3vw, 46px); letter-spacing: -.045em; line-height: 1.16; }
h3 { letter-spacing: -.025em; }
p { text-wrap: pretty; }
:focus-visible { outline: 3px solid var(--brand); outline-offset: 4px; }
[tabindex="-1"]:focus:not(:focus-visible) { outline: none; }
[id] { scroll-margin-top: 110px; }
.ico { stroke-width: 2; }
.wrap { width: min(100% - 64px, var(--wrap)); }
.section { padding: clamp(60px, 7vw, 100px) 0; }
.section--tight { padding: clamp(36px, 5vw, 64px) 0; }
.section--sand { background: var(--sand); }
.shead { max-width: 820px; margin-bottom: 36px; }
.shead__text { font-size: 17px; max-width: 65ch; line-height: 1.75; }
.shead__eyebrow, .eyebrow {
  font-size: 11px; font-weight: 800; line-height: 1.5; letter-spacing: .14em;
  text-transform: uppercase; color: var(--brand); background: none;
  border-radius: 0; padding: 0; margin-bottom: 18px;
}
.shead__eyebrow::before, .eyebrow::before { content: ''; width: 7px; height: 7px; border-radius: 50%; display: inline-block; background: currentColor; margin-right: 9px; vertical-align: 1px; }
.heading-accent { color: var(--brand); font-family: var(--serif); font-weight: 400; letter-spacing: -.035em; }
.btn { border-radius: 14px; padding: 16px 23px; min-height: 52px; font-size: 14px; font-weight: 700; white-space: normal; }
.btn:hover { transform: none; box-shadow: var(--shadow-s); }
.btn:active { transform: scale(.96); }
.btn--ghost { --btn-bd: var(--line); --btn-fg: var(--brand); --btn-bg: transparent; }
.btn--sm { min-height: 44px; padding: 11px 17px; font-size: 13px; }
.btn .ico { width: 20px; height: 20px; flex-shrink: 0; }
.topline { background: var(--brand); color: #ffffff; font-size: 11px; letter-spacing: .025em; }
.topline__inner { min-height: 34px; display: flex; justify-content: space-between; align-items: center; gap: 16px; }
.topline a { display: inline-flex; align-items: center; gap: 7px; color: #ffffff; }
.topline .ico { width: 13px; height: 13px; }
.header { background: rgba(253,250,255,.96); backdrop-filter: blur(18px); border-bottom: 1px solid var(--line); }
.header__bar { min-height: 88px; padding: 17px 0; gap: 24px; }
.logo { gap: 10px; }
.logo__mark { width: 42px; height: 42px; }
.logo__name { display: block; font-size: 24px; letter-spacing: -.04em; }
.logo__sub { font-size: 9px; letter-spacing: .14em; color: var(--ink-3); margin-top: 7px; }
.nav { gap: 0; }
.nav__link { font-size: 13px; padding: 12px 10px; border-radius: 10px; min-height: 44px; }
.nav__link[aria-current] { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 5px; }
.header__side { gap: 18px; }
.header__phone { font-size: 14px; }
.header__phone small { font-size: 10px; letter-spacing: 0; font-weight: 500; }
.burger { border-radius: 12px; background: #fff; }
.hero { padding: 46px 0 0; overflow: clip; }
.hero__grid { grid-template-columns: minmax(0,1.08fr) minmax(0,1fr); gap: clamp(40px, 6vw, 90px); align-items: center; }
.hero__copy { padding: 24px 0; }
.hero .eyebrow { margin-bottom: 24px; }
.hero__title { font-size: clamp(38px, 4.4vw, 64px); margin-bottom: 24px; letter-spacing: -.055em; }
.hero__title span { color: var(--brand); letter-spacing: -.045em; }
.hero__text { font-size: 16px; line-height: 1.85; max-width: 53ch; margin-bottom: 0; }
.hero__actions { gap: 12px; margin: 28px 0 18px; }
.hero__note { align-items: flex-start; font-size: 11px; line-height: 1.6; max-width: 48ch; margin: 0; color: var(--ink-3); }
.hero__note .ico { width: 16px; height: 16px; flex-shrink: 0; margin-top: 1px; }
.hero__visual { position: relative; isolation: isolate; min-width: 0; border-radius: 28px; overflow: hidden; background: #6941c6; color: #fff; aspect-ratio: 1 / 1.03; }
.hero__visual > img { width: 100%; height: 100%; object-fit: cover; position: absolute; inset: 0; z-index: -1; outline: 1px solid rgb(0 0 0 / .1); outline-offset: -1px; }
.hero__visual-top { display: flex; justify-content: space-between; align-items: center; padding: 27px 29px; font-size: 10px; letter-spacing: .13em; text-transform: uppercase; }
.hero__visual-top .ico { width: 24px; height: 24px; }
.hero__visual-bottom { position: absolute; bottom: 29px; left: 29px; right: 80px; display: grid; gap: 7px; font-size: 10px; color: #f6eaff; }
.hero__visual-label { font-family: var(--serif); font-size: clamp(23px,2.25vw,33px); line-height: 1.4; letter-spacing: -.04em; color: #fff; }
.hero__visual-link { position: absolute; bottom: 29px; right: 29px; width: 44px; height: 44px; display: grid; place-items: center; background: #fff7ef; border-radius: 50%; color: var(--brand); }
.hero__visual-link .ico { width: 20px; height: 20px; transform: rotate(-45deg); }
.hero__visual a:focus-visible { outline-color: #fff; }
.care-strip { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 30px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); margin-top: 45px; padding: 26px 0; }
.care-strip > div { display: flex; align-items: center; gap: 16px; }
.care-strip > div + div { border-left: 1px solid var(--line); padding-left: 36px; }
.care-strip .ico { width: 29px; height: 29px; color: var(--brand); flex-shrink: 0; }
.care-strip span { display: grid; gap: 2px; font-size: 11px; color: var(--ink-3); }
.care-strip b { color: var(--ink); font-size: 14px; font-weight: 700; }
.cards { grid-template-columns: repeat(3,minmax(0,1fr)); }
.card { border-color: var(--line); padding: 27px; gap: 13px; box-shadow: none; min-width: 0; }
.card::after { display: none; }
.card__icon { width: 44px; height: 44px; border-radius: 13px; margin-bottom: 7px; }
.card__icon .ico { width: 23px; height: 23px; }
.card__problem { font-size: 10px; letter-spacing: .1em; color: var(--ink-3); }
.card__title { font-size: 20px; line-height: 1.4; }
.card__title a { color: var(--ink); }
.card__text { font-size: 14px; line-height: 1.8; }
.card__foot { border-top: 1px solid var(--line); padding-top: 18px; margin-top: 9px; flex-wrap: wrap; gap: 10px; }
.card__price { font-size: 17px; white-space: nowrap; }
.card__price small { font-weight: 500; font-size: 11px; white-space: normal; }
.card__link { min-height: 32px; font-size: 12px; }
.adv { gap: 24px; }
.adv__item { padding: 21px; background: rgb(255 255 255 / .7); border-radius: 20px; gap: 14px; }
.adv__icon { width: 40px; height: 40px; border-radius: 11px; }
.adv__title { font-size: 15px; }
.adv__text { font-size: 13px; }
.service-category { margin-bottom: 54px; }
.section-tabs { display: flex; flex-wrap: wrap; gap: 9px; margin: 0 0 36px; }
.section-tabs a { padding: 11px 17px; border: 1px solid var(--line); background: #fff; border-radius: 12px; color: var(--brand); font-size: 12px; font-weight: 700; min-height: 44px; }
.price-group { padding: 30px; border-radius: 22px; margin-bottom: 20px; }
.price-group__title { padding-bottom: 20px; border-bottom: 1px solid var(--line); margin-bottom: 4px; align-items: center; }
.price-group__title h2, .price-group__title h3 { font-family: var(--font); font-size: 23px !important; line-height: 1.4; margin: 0; }
.price-group__note { font-size: 11px; max-width: 48ch; }
.price-row { align-items: center; grid-template-columns: minmax(0,1fr) auto 112px; gap: 24px; padding: 22px 0; border-bottom-style: solid; }
.price-row__name { font-size: 15px; line-height: 1.6; }
.price-row__name span { font-size: 12px; }
.price-row__name .hit { display: inline-block; font-size: 8px; color: var(--brand); background: var(--brand-soft); margin: 5px 0 0; width: fit-content; }
.price-row__val { font-size: 18px; font-variant-numeric: tabular-nums; }
.price-row .btn { min-height: 44px; padding: 11px 14px; font-size: 11px; }
.price-row__val small { font-size: 10px; }
.doctor__photo { box-shadow: none; border-radius: 26px; }
.doctor__quote { font-size: clamp(19px,2vw,25px); }
.tag { font-size: 12px; padding: 8px 12px; border-radius: 10px; max-width: 100%; white-space: normal; }
.work, .review, .post-card, .faq__item { box-shadow: none; border-color: var(--line); }
.work__body { padding: 23px; }
.work__title { font-size: 16px; }
.work__text, .work__sessions { font-size: 12px; }
.review { padding: 27px; width: 360px; }
.review--grid { width: auto; }
.review__body { font-size: 14px; line-height: 1.9; }
.review__more { min-height: 40px; }
.rating-badge { border-radius: 15px; box-shadow: none; }
.rating-badge span { font-size: 12px; }
.faq { max-width: none; gap: 10px; }
.faq__q { padding: 23px 26px; font-size: 15px; list-style: none; }
.faq__q::-webkit-details-marker { display: none; }
.faq__a > div { font-size: 14px; line-height: 1.85; padding: 0 26px 25px; }
details.faq__item[open] .faq__a { max-height: none; }
details.faq__item[open] .faq__q .ico { transform: rotate(45deg); }
.cta { border-radius: 28px; background: #6941c6; }
.cta::before, .cta::after { display: none; }
.cta h2 { font-size: clamp(29px,3.4vw,44px); line-height: 1.2; }
.cta p { font-size: 15px; line-height: 1.85; }
.cta .check { color: var(--ink-3); }
.form--card { border: 1px solid var(--line); box-shadow: none; }
.form__row { gap: 12px; }
.field__label { font-size: 12px; }
.input, .textarea, .select { border-width: 1px; padding: 13px 14px; border-radius: 11px; min-height: 49px; font-size: 16px; }
.check { font-size: 11px; line-height: 1.7; align-items: flex-start; }
.check input { width: 20px; height: 20px; margin-top: 0; flex-shrink: 0; accent-color: var(--brand); }
.form__msg { font-size: 13px; }
.booking { grid-template-columns: minmax(0,1.2fr) minmax(0,1fr); gap: 40px; }
.booking > *, .cta__grid > *, .doctor > * { min-width: 0; }
.day, .slot { border-radius: 12px; min-height: 44px; }
.day { flex-shrink: 0; }
.post-card__body { padding: 23px; }
.post-card__title { font-size: 20px; line-height: 1.4; }
.post-card__text { font-size: 13px; }
.post-card__date { font-size: 11px; }
.post-card__img img { width: 100%; aspect-ratio: 16/10; object-fit: cover; }
.article { font-size: 16px; line-height: 1.9; }
.crumbs { padding-top: 27px; font-size: 11px; gap: 9px; }
.crumbs [aria-current] { color: var(--ink); }
.footer { background: #2d2146; margin-top: 48px; padding-top: 64px; color: #e5daf5; }
.footer a { color: #e5daf5; }
.footer__title { font-size: 10px; color: #ffffff; }
.footer__list { font-size: 13px; gap: 12px; }
.footer .logo__sub, .footer__bottom, .footer__disclaimer { color: #d1c0e7; }
.footer__bottom { font-size: 11px; }
.footer__disclaimer { font-size: 11px; line-height: 1.8; }
.footer .btn { color: var(--btn-fg); }
.footer :focus-visible { outline-color: #ad8fe5; }
.socials a { min-width: 44px; min-height: 44px; }
.fab { bottom: 24px; right: 24px; gap: 8px; }
.fab__main { background: var(--brand); border-radius: 16px; min-height: 52px; height: 52px; font-size: 13px; }
.fab__btn { width: 44px; height: 44px; }
.fab__btn--wa { background: var(--brand); }
.cookie { margin: 0; max-width: 410px; right: auto; bottom: 24px; left: 24px; padding: 18px; font-size: 11px; border-radius: 17px; box-shadow: var(--shadow-m); gap: 14px; }
.cookie .btn { flex-shrink: 0; }
.modal { overscroll-behavior: contain; }
.modal__box { padding: 32px; background: #fff; border-radius: 24px; }
.modal__close { min-width: 44px; min-height: 44px; }
.mobile-bar { display: none; }
.js .reveal { opacity: 1; transform: none; transition: none; }
@media (hover: hover) {
  .card:hover { transform: translateY(-3px); box-shadow: var(--shadow-m); border-color: #bd9be8; }
  .section-tabs a:hover { background: var(--brand-soft); }
}
@media (max-width: 1200px) {
  .nav { display: none; }
  .burger { display: grid; }
  .header__side { margin-left: auto; }
  .nav.is-open { display: flex; position: absolute; top: calc(100% + 8px); left: 24px; right: 24px; flex-direction: column; align-items: stretch; padding: 14px; border: 1px solid var(--line); border-radius: 18px; background: #fff; box-shadow: var(--shadow-l); }
  .hero__grid { gap: 38px; }
  .hero__title { font-size: clamp(38px,4.7vw,56px); }
}
@media (max-width: 900px) {
  .hero { padding-top: 28px; }
  .hero__grid { grid-template-columns: 1fr 1fr; gap: 28px; }
  .hero__title { font-size: 42px; }
  .hero__text { font-size: 14px; }
  .hero__visual { aspect-ratio: 4/5; }
  .hero__visual-label { font-size: 24px; }
  .care-strip { gap: 18px; }
  .care-strip > div + div { padding-left: 18px; }
  .cards { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .booking, .doctor { grid-template-columns: 1fr; }
  .footer__grid { gap: 32px; }
}
@media (max-width: 720px) {
  .wrap { width: min(100% - 36px, var(--wrap)); }
  .topline__inner { justify-content: center; min-height: 29px; font-size: 9px; }
  .topline a { display: none; }
  .header__bar { min-height: 76px; padding: 13px 0; gap: 12px; }
  .logo__name { font-size: 23px; }
  .logo__sub { font-size: 8px; }
  .header__side { gap: 9px; }
  .header__phone { background: #fff; width: 44px; height: 44px; border-radius: 12px; }
  .burger { width: 44px; height: 44px; }
  .hero__grid { grid-template-columns: 1fr; gap: 27px; }
  .hero__copy { padding: 10px 0 0; }
  .hero .eyebrow { font-size: 9px; margin-bottom: 20px; }
  .hero__title { font-size: clamp(36px,8vw,53px); max-width: 17ch; margin-bottom: 21px; }
  .hero__text { font-size: 14px; line-height: 1.85; }
  .hero__actions { margin-top: 25px; flex-wrap: nowrap; gap: 9px; }
  .hero__actions .btn { width: auto; padding: 14px; min-height: 50px; font-size: 12px; flex: 1; }
  .hero__actions .btn .ico { width: 17px; height: 17px; }
  .hero__note { font-size: 10px; }
  .hero__visual { aspect-ratio: 1.25/1; border-radius: 23px; }
  .hero__visual > img { object-position: 50% 48%; }
  .hero__visual-top { padding: 22px; font-size: 9px; }
  .hero__visual-bottom { bottom: 22px; left: 22px; }
  .hero__visual-link { right: 22px; bottom: 22px; }
  .hero__visual-label { font-size: 25px; }
  .hero__visual-bottom > span:last-child { font-size: 9px; }
  .care-strip { grid-template-columns: 1fr; gap: 17px; margin-top: 28px; padding: 24px 0; }
  .care-strip > div + div { border-left: 0; padding-left: 0; }
  .care-strip > div { gap: 14px; }
  .care-strip b { font-size: 13px; }
  .care-strip span { font-size: 10px; }
  .care-strip .ico { width: 24px; height: 24px; }
  .section { padding: 52px 0; }
  .section--tight { padding: 32px 0; }
  .shead { margin-bottom: 27px; }
  .shead__text { font-size: 14px; }
  .shead__eyebrow { font-size: 9px; margin-bottom: 14px; }
  h1 { font-size: 35px; }
  h2 { font-size: 31px; }
  .cards { grid-template-columns: 1fr; gap: 15px; }
  .card { padding: 24px; border-radius: 20px; }
  .price-group { padding: 22px 19px; border-radius: 19px; }
  .price-group__title h2, .price-group__title h3 { font-size: 21px !important; }
  .price-row { grid-template-columns: minmax(0,1fr) auto; gap: 10px 16px; padding: 20px 0; }
  .price-row__name { font-size: 14px; }
  .price-row__val { font-size: 16px; align-self: start; }
  .price-row .btn { grid-column: 1/-1; justify-self: start; padding: 10px 16px; }
  .price-row__name .hit { font-size: 8px; }
  .section-tabs { gap: 7px; margin-bottom: 28px; }
  .section-tabs a { font-size: 11px; padding: 10px 13px; }
  .cta { padding: 28px 23px; border-radius: 22px; }
  .cta .form--card { padding: 22px 18px; }
  .cta__grid { gap: 27px; }
  .cta p { font-size: 14px; }
  .booking { gap: 28px; }
  .booking aside { position: static !important; }
  .form--card { padding: 24px 20px; }
  .form__row { grid-template-columns: 1fr; }
  .review { width: min(320px,82vw); padding: 23px; }
  .review--grid { width: auto; }
  .work { width: min(310px,82vw); }
  .faq__q { padding: 20px; font-size: 14px; }
  .faq__a > div { padding: 0 20px 20px; font-size: 13px; }
  .footer { padding-top: 42px; padding-bottom: 112px; margin-top: 32px; }
  .footer__grid { grid-template-columns: 1fr 1fr; gap: 32px 22px; }
  .footer__grid > :first-child, .footer__grid > :last-child { grid-column: 1/-1; }
  .footer__grid .logo + p { font-size: 13px !important; }
  .footer__list { font-size: 12px; }
  .fab { display: none; }
  .mobile-bar { display: grid; grid-template-columns: 1fr 1fr 1.35fr 1fr; gap: 4px; position: fixed; z-index: 65; bottom: max(10px,env(safe-area-inset-bottom)); left: 12px; right: 12px; background: rgba(255,255,255,.96); backdrop-filter: blur(16px); border: 1px solid var(--line); border-radius: 20px; box-shadow: var(--shadow-l); padding: 7px; }
  .mobile-bar a { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; color: var(--ink-2); min-height: 52px; font-size: 9px; line-height: 1.3; border-radius: 13px; font-weight: 700; }
  .mobile-bar .ico { width: 20px; height: 20px; }
  .mobile-bar a[aria-current] { background: var(--brand-soft); color: var(--brand); }
  .mobile-bar .mobile-bar__book { background: var(--brand); color: #fff; }
  .cookie { bottom: calc(90px + env(safe-area-inset-bottom)); left: 12px; right: 12px; max-width: none; padding: 16px; flex-direction: row; text-align: left; font-size: 10px; gap: 12px; }
  .cookie .btn { min-height: 44px; padding: 10px 13px; font-size: 11px; }
  .modal { padding: 12px; }
  .modal__box { padding: 28px 22px; max-height: calc(100dvh - 24px); overflow-y: auto; }
  .crumbs { padding-top: 20px; font-size: 10px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation: none !important; transition: none !important; }
  .btn:active, .card:hover, .cert:hover, .fab__btn:hover { transform: none; }
}
@media (forced-colors: active) {
  :focus-visible { outline: 3px solid Highlight; }
  .btn, .mobile-bar a, .section-tabs a { border: 1px solid ButtonText; }
}

.crumbs ol { display: flex; flex-wrap: wrap; gap: 8px; padding: 0; margin: 0; list-style: none; }
.crumbs li + li::before { content: "/"; margin-right: 8px; opacity: .6; }

html { scrollbar-gutter: stable; }

/* Радужные акценты: светлые поверхности и насыщенные, читаемые действия. */
:root {
  --tone-rose: #a93464;
  --tone-rose-soft: #ffedf4;
  --tone-sky: #286a9b;
  --tone-sky-soft: #eaf5ff;
  --tone-sun: #875b13;
  --tone-sun-soft: #fff5db;
  --tone-lilac: #6941c6;
  --tone-lilac-soft: #f0e9ff;
  --tone-peach: #a54a35;
  --tone-peach-soft: #fff0e7;
  --tone-blue: #385fa3;
  --tone-blue-soft: #eef0ff;
  --spectrum: linear-gradient(100deg,#f19d83,#ed8cba,#b59aee,#87b9ed,#e6c269);
}
::selection { color:#342244; background:#ead8ff; }
.topline { background:linear-gradient(105deg,#6941c6,#a33270); }
.header { border-bottom-color:var(--line); }
.hero { background:radial-gradient(ellipse at 2% 0%,#fff0da 0%,transparent 42%),radial-gradient(ellipse at 94% 14%,#ffe4ef 0%,transparent 47%),radial-gradient(ellipse at 65% 95%,#eaf3ff 0%,transparent 46%); }
.hero__title span { color:var(--brand); }
@supports (background-clip:text) {
  .hero__title span { background:linear-gradient(110deg,#6941c6,#b93662); background-clip:text; -webkit-background-clip:text; color:transparent; }
}
.hero__visual { box-shadow:0 12px 45px rgba(105,65,198,.13); }
.hero__visual::after { content:""; position:absolute; inset:65% 0 0; z-index:-1; pointer-events:none; background:linear-gradient(0deg,#422575,rgba(66,37,117,.9) 40%,rgba(66,37,117,0)); }
.care-strip { background-image:var(--spectrum); background-size:100% 3px; background-position:top; background-repeat:no-repeat; border-top:0; }
.care-strip .ico { width:24px; height:24px; padding:11px; box-sizing:content-box; border-radius:16px; background:var(--tone-lilac-soft); color:var(--tone-lilac); }
.care-strip > :nth-child(2) .ico { background:var(--tone-rose-soft); color:var(--tone-rose); }
.care-strip > :nth-child(3) .ico { background:var(--tone-sky-soft); color:var(--tone-sky); }
.section--sand { background:linear-gradient(115deg,#f4eeff,#fff0f5 58%,#fff7e8); }
.card, .adv__item { --category-color:var(--tone-lilac); --category-surface:var(--tone-lilac-soft); }
.card:nth-child(6n+2), .adv__item:nth-child(6n+2) { --category-color:var(--tone-rose); --category-surface:var(--tone-rose-soft); }
.card:nth-child(6n+3), .adv__item:nth-child(6n+3) { --category-color:var(--tone-sky); --category-surface:var(--tone-sky-soft); }
.card:nth-child(6n+4), .adv__item:nth-child(6n+4) { --category-color:var(--tone-sun); --category-surface:var(--tone-sun-soft); }
.card:nth-child(6n+5), .adv__item:nth-child(6n+5) { --category-color:var(--tone-peach); --category-surface:var(--tone-peach-soft); }
.card:nth-child(6n+6), .adv__item:nth-child(6n+6) { --category-color:var(--tone-blue); --category-surface:var(--tone-blue-soft); }
.card { background:linear-gradient(150deg,var(--category-surface),#fff 72%); }
.card__icon, .adv__icon { background:var(--category-surface); color:var(--category-color); }
.price-group { background:linear-gradient(115deg,#fcf9ff,#fff 60%); border-top:3px solid #c2a4f0; }
.price-group:nth-of-type(4n+2) { border-top-color:#ee9eb6; }
.price-group:nth-of-type(4n+3) { border-top-color:#8cbfeb; }
.price-group:nth-of-type(4n+4) { border-top-color:#e9c477; }
.price-row__name .hit { color:var(--tone-rose); background:var(--tone-rose-soft); }
.cta { background:linear-gradient(115deg,#6941c6,#8c356f); }
.cta .form--card { background:#fff; }
.cta .form__msg.is-ok, .form__msg.is-ok { background:#eaf4ff; color:var(--ok); }
.form__msg.is-err { background:#fff0f4; color:var(--err); }
.footer { background:linear-gradient(115deg,#2d2146,#3b254d); border-top:5px solid; border-image:var(--spectrum) 1; }
.modal__back { background:rgba(41,34,63,.56); }
.footer .btn--ghost { --btn-fg:#f0e5ff; --btn-bd:#9a80b6; }
@media (hover:hover) { .card:hover { border-color:var(--category-color); } }

.topline :focus-visible, .cta__phone:focus-visible, .cta .btn--light:focus-visible { outline-color:#fff; }
.footer a:hover { color:#fff; }
.cta__phone:hover { color:#ffe3a7; }
