:root {
  /* Типографика: размер/вес/трекинг/leading как согласованный набор */
  --fs-2xs: 12px;   --lh-2xs: 1.5;  --ls-2xs: 0.01em;
  --fs-xs:  13px;   --lh-xs:  1.55; --ls-xs:  0.01em;
  --fs-sm:  14.5px; --lh-sm:  1.55; --ls-sm:  0;
  --fs-base:16px;   --lh-base:1.6;  --ls-base:0;
  --fs-md:  18px;   --lh-md:  1.45; --ls-md:  -0.005em;
  --fs-lg:  22px;   --lh-lg:  1.3;  --ls-lg:  -0.01em;
  --fs-xl:  28px;   --lh-xl:  1.2;  --ls-xl:  -0.015em;
  --fs-2xl: 34px;   --lh-2xl: 1.15; --ls-2xl: -0.02em;
  --fs-display: clamp(1.875rem, 1.4rem + 2.3vw, 2.875rem); /* hero title, ~30px→46px */
  --lh-display: 1.08;
  --ls-display: -0.025em;

  /* Отступы (точечно, для затронутых компонентов) */
  --space-1: 4px;  --space-2: 8px;  --space-3: 12px; --space-4: 16px;
  --space-5: 20px; --space-6: 24px; --space-7: 32px; --space-8: 40px;

  /* Моушен: длительности + easing */
  --dur-instant: 120ms;   /* нажатие — Response */
  --dur-fast:    180ms;   /* hover, toggle */
  --dur-base:    240ms;   /* кнопки, карточки */
  --dur-moderate:320ms;   /* открытие модалки/шторки */
  --dur-slow:    420ms;   /* кросс-фейд крупных поверхностей */

  --ease-out-soft: cubic-bezier(.22,.72,0,1);   /* без перелёта — дефолт */
  --ease-in-soft:  cubic-bezier(.4,0,.78,.28);  /* для выхода, зеркально входу */
  --ease-spring-bounce: cubic-bezier(.34,1.56,.64,1); /* лёгкий перелёт — только для микро-моментов (thumb сегмента) */
  --ease-seg: cubic-bezier(.2,.8,.3,1); /* существующее значение сайта, оставляем */

  /* Материалы / глубина */
  --material-header-bg: rgba(255,255,255,.72);
  --material-header-blur: blur(18px) saturate(160%);
  --material-card-bg: rgba(255,255,255,.86);
  --material-card-blur: blur(22px) saturate(180%);
  --material-scrim: rgba(15,23,42,.6);
  --material-scrim-blur: blur(6px);

  --elevation-3: 0 24px 70px rgba(15,23,42,.28);  /* карточка модалки */
  --elevation-4: 0 14px 40px rgba(15,42,68,.16);  /* select/popover */
  --hairline-on-material: rgba(255,255,255,.5);
}

@media (prefers-reduced-motion: reduce) {
  :root {
    --dur-instant: 1ms; --dur-fast: 1ms; --dur-base: 1ms;
    --dur-moderate: 120ms; --dur-slow: 120ms;
    --ease-out-soft: linear; --ease-in-soft: linear; --ease-spring-bounce: linear; --ease-seg: linear;
  }
  .modal[hidden] .modal__card, .modal:not([hidden]) .modal__card,
  .lightbox[hidden] .lightbox__card, .lightbox:not([hidden]) .lightbox__card,
  .seg__thumb, .btn:active, .choice:hover, .example:hover, .why-card:hover,
  .service-card:hover, .buy__item:hover, .tag:hover, .upload-visual:hover {
    transform: none !important;
  }
  .sk { animation: none; background: #eef1f4; }
}

@media (prefers-reduced-transparency: reduce) {
  :root {
    --material-header-bg: #ffffff; --material-header-blur: none;
    --material-card-bg: #ffffff;   --material-card-blur: none;
  }
  .header, .modal__card, .modal__backdrop, .lightbox__backdrop, .paywall__gate { backdrop-filter: none !important; }
}

@media (prefers-contrast: more) {
  :root { --border: #94a3b8; }
  .modal__card, .card, .ind, .block, .why-card { border-width: 1.5px; }
}
