/* ============================================================
   НОВА СЕРВИС — локальное расширение бренд-системы (префикс ns-).
   Требует ../nova-system/tokens.css и components.css. Базовые .nv-* не переопределяем.
   Собственный предмет подбренда — «талон» (.ns-ticket): белая плитка с линией отрыва.
   ============================================================ */

:root {
  --ns-tear: var(--nv-grout-2);
  --ns-behind: var(--nv-ground);          /* цвет за «отрывом» талона: совпадает с фоном под ним */
  --ns-today: var(--nv-danger);
  --ns-week: var(--nv-warning);
  --ns-planned: var(--nv-success);
}

html { -webkit-tap-highlight-color: transparent; -webkit-text-size-adjust: 100%; scroll-padding-top: 88px; }
@media (prefers-reduced-motion: no-preference) { html { scroll-behavior: smooth; } }
.nv-body { overflow-x: clip; }
.nv-body [hidden] { display: none !important; }
.ns-nowrap { white-space: nowrap; }
.nv-body button, .nv-body [role="button"], .nv-body .nv-chip, .nv-body .nv-btn { touch-action: manipulation; -webkit-user-select: none; user-select: none; }
.nv-body input, .nv-body select, .nv-body textarea { font-size: max(16px, 1em); }
.nv-body ::selection { background: var(--nv-brand-accent-tint); }
.nv-body ::placeholder { color: var(--nv-ink-3); }
.nv-body .nv-faq__item summary:focus-visible { box-shadow: var(--nv-focus-ring); }

.ns-skip { position: absolute; left: 16px; top: -60px; z-index: 100; padding: 10px 14px; background: var(--nv-ink); color: #fff; border-radius: var(--nv-radius-sm); text-decoration: none; }
.ns-skip:focus-visible { top: 12px; }

/* ---------- Шапка ---------- */
.ns-header .nv-header__in { gap: var(--nv-space-4); }
.ns-logo img { height: 34px; }
.ns-header__cta { min-height: 40px; }
@media (max-width: 1024px) { .ns-header__cta { display: none; } .ns-logo img { height: 30px; } }
.ns-drawer .nv-nav { display: flex; }
.ns-drawer__top { display: flex; align-items: center; justify-content: space-between; padding: 4px 0 var(--nv-space-3); border-bottom: var(--nv-line); margin-bottom: var(--nv-space-2); }
.ns-drawer__top img { height: 30px; width: auto; }
.ns-drawer__cap { display: block; padding: var(--nv-space-4) 12px var(--nv-space-1); font-size: var(--nv-fs-xs); color: var(--nv-ink-3); font-weight: var(--nv-fw-medium); }
.ns-drawer .nv-nav__link[aria-current="page"] { border-radius: var(--nv-radius-sm); box-shadow: none; background: var(--nv-brand-tint); }
.ns-drawer .nv-btn { margin-top: var(--nv-space-4); }
.ns-drawer__phone { display: grid; grid-template-columns: 20px 1fr; gap: 4px 10px; align-items: center; padding: var(--nv-space-4) 12px; color: var(--nv-ink); font-weight: var(--nv-fw-semibold); text-decoration: none; font-variant-numeric: tabular-nums; }
.ns-drawer__phone .nv-muted { grid-column: 2; font-weight: var(--nv-fw-regular); font-size: var(--nv-fs-sm); }
.ns-drawer .nv-drawer__panel { transform: translateX(100%); transition: transform var(--nv-dur-reveal) var(--nv-ease-out); }
.ns-drawer .nv-drawer__scrim { opacity: 0; transition: opacity var(--nv-dur-reveal) var(--nv-ease-out); }
.ns-drawer.is-open .nv-drawer__panel { transform: none; }
.ns-drawer.is-open .nv-drawer__scrim { opacity: 1; }
.ns-drawer.is-open { display: block; }

/* ---------- Талон ---------- */
.ns-ticket { position: relative; display: grid; gap: var(--nv-space-4); padding: var(--nv-space-5); background: var(--nv-paper); color: var(--nv-ink); border: var(--nv-line); border-radius: var(--nv-radius-md); box-shadow: var(--nv-glaze-highlight); }
.ns-ticket__head { display: flex; align-items: baseline; justify-content: space-between; gap: var(--nv-space-3); }
.ns-ticket__no { font-family: var(--nv-font-display); font-weight: 600; font-size: var(--nv-fs-xl); letter-spacing: -0.01em; line-height: 1.2; }
.ns-ticket__meta { font-size: var(--nv-fs-sm); color: var(--nv-ink-3); white-space: nowrap; }
.ns-ticket__tear { position: relative; height: 0; margin: var(--nv-space-1) calc(-1 * var(--nv-space-5)); border-top: 2px dashed var(--ns-tear); }
.ns-ticket__tear::before, .ns-ticket__tear::after { content: ""; position: absolute; top: -11px; width: 20px; height: 20px; border-radius: 50%; background: var(--ns-behind); border: var(--nv-line); }
.ns-ticket__tear::before { left: -11px; border-left-color: transparent; }
.ns-ticket__tear::after { right: -11px; border-right-color: transparent; }
.nv-glaze .ns-ticket { --ns-behind: var(--nv-brand-field); border-color: transparent; }

/* ---------- Первый экран: прилавок с диагностом ---------- */
.ns-hero { overflow: clip; padding-block: clamp(32px, 5vw, 64px) clamp(40px, 6vw, 80px); }
.ns-hero__lamp { position: absolute; left: 50%; top: -10%; width: 70vw; max-width: 1100px; aspect-ratio: 2 / 1; transform: translateX(-50%); background: radial-gradient(50% 50% at 50% 50%, var(--nv-amber-glow), transparent 70%); pointer-events: none; animation: ns-lamp 1.2s var(--nv-ease-out) both; }
@keyframes ns-lamp { from { opacity: 0; transform: translateX(-50%) scale(0.92); } }
.ns-hero__in { position: relative; display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: clamp(28px, 5vw, 72px); align-items: start; }
.ns-hero__copy { display: grid; gap: var(--nv-space-5); padding-top: var(--nv-space-4); position: sticky; top: 96px; }
.ns-hero__copy .nv-h1 { color: #fff; max-width: 14ch; }
.ns-hero__lead { font-size: var(--nv-fs-lg); line-height: 1.6; color: rgba(255,255,255,0.86); max-width: 46ch; }
.ns-hero__facts { display: grid; gap: var(--nv-space-3); color: rgba(255,255,255,0.9); font-size: var(--nv-fs-sm); }
.ns-hero__facts li { display: flex; align-items: center; gap: 10px; }
.ns-hero__facts .nv-icon { color: var(--nv-amber); }
.ns-hero__facts b { color: #fff; }

.ns-diag { gap: var(--nv-space-5); }
.ns-diag fieldset { border: 0; padding: 0; margin: 0; min-width: 0; display: grid; gap: var(--nv-space-3); }
.ns-diag__q { font-weight: var(--nv-fw-semibold); padding: 0; margin-bottom: var(--nv-space-3); display: block; }
.ns-symptoms { display: grid; grid-template-columns: 1fr 1fr; gap: var(--nv-space-2); }
.ns-symptom { position: relative; display: grid; grid-template-columns: 20px 1fr; gap: 10px; align-items: start; padding: 10px 12px; min-height: 48px; border: 1px solid var(--nv-grout-2); border-radius: var(--nv-radius-sm); background: var(--nv-paper); font-size: var(--nv-fs-sm); line-height: 1.35; color: var(--nv-ink-2); cursor: pointer; transition: background var(--nv-dur-state), border-color var(--nv-dur-state), color var(--nv-dur-state), transform var(--nv-dur-press) var(--nv-ease-out); }
.ns-symptom input { position: absolute; inset: 0; opacity: 0; margin: 0; cursor: pointer; }
.ns-symptom .nv-icon { color: var(--nv-brand-field); margin-top: 1px; }
.ns-symptom:active { transform: scale(0.985); }
@media (hover: hover) and (pointer: fine) { .ns-symptom:hover { border-color: var(--nv-brand-field-light); color: var(--nv-ink); } }
.ns-symptom:has(input:checked) { background: var(--nv-brand-field); border-color: var(--nv-brand-field); color: #fff; }
.ns-symptom:has(input:checked) .nv-icon { color: var(--nv-amber); }
.ns-symptom:has(input:focus-visible) { box-shadow: var(--nv-focus-ring); }
.ns-seg { display: inline-flex; padding: 4px; background: var(--nv-ground-2); border-radius: var(--nv-radius-sm); gap: 4px; }
.ns-seg label { position: relative; display: inline-grid; place-items: center; min-height: 36px; padding: 0 18px; border-radius: calc(var(--nv-radius-sm) - 3px); font-size: var(--nv-fs-sm); font-weight: var(--nv-fw-medium); color: var(--nv-ink-2); cursor: pointer; transition: background var(--nv-dur-state), color var(--nv-dur-state), box-shadow var(--nv-dur-state); }
.ns-seg input { position: absolute; inset: 0; opacity: 0; margin: 0; cursor: pointer; }
.ns-seg label:has(input:checked) { background: var(--nv-paper); color: var(--nv-ink); box-shadow: var(--nv-glaze-highlight), 0 1px 2px rgba(15,27,51,0.08); }
.ns-seg label:has(input:focus-visible) { box-shadow: var(--nv-focus-ring); }
.ns-diag__step--row { display: flex !important; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--nv-space-3); }
.ns-diag__step--row .ns-diag__q { margin: 0; }
.ns-diag__result { min-height: 180px; display: grid; }
.ns-diag__empty { display: grid; grid-template-columns: 88px 1fr; gap: var(--nv-space-4); align-items: center; color: var(--nv-ink-2); }
.ns-diag__empty img { width: 88px; height: 88px; }
.ns-diag__card { display: grid; gap: var(--nv-space-4); }
@media (prefers-reduced-motion: no-preference) { .ns-diag__card { animation: ns-in var(--nv-dur-reveal) var(--nv-ease-out) both; } }
@keyframes ns-in { from { opacity: 0; transform: translateY(8px); } }
.ns-diag__top { display: flex; align-items: center; gap: var(--nv-space-3); flex-wrap: wrap; }
.ns-urg { display: inline-flex; align-items: center; gap: 8px; height: 28px; padding: 0 10px 0 8px; border-radius: var(--nv-radius-xs); font-size: var(--nv-fs-xs); font-weight: var(--nv-fw-semibold); background: var(--nv-ground-2); color: var(--nv-ink-2); }
.ns-urg::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: currentColor; }
.ns-urg--today { background: var(--nv-danger-tint); color: var(--nv-danger); }
.ns-urg--week { background: var(--nv-warning-tint); color: var(--nv-warning); }
.ns-urg--planned { background: var(--nv-success-tint); color: var(--nv-success); }
.ns-diag__svc { display: grid; gap: 6px; }
.ns-diag__svc h3 { font-family: var(--nv-font-display); font-weight: 600; font-size: var(--nv-fs-d4); letter-spacing: -0.01em; }
.ns-diag__svc p { color: var(--nv-ink-2); font-size: var(--nv-fs-sm); }
.ns-diag__facts { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--nv-space-2); }
.ns-diag__facts div { padding: 10px 12px; background: var(--nv-ground); border-radius: var(--nv-radius-sm); display: grid; gap: 2px; }
.ns-diag__facts dt { font-size: var(--nv-fs-xs); color: var(--nv-ink-3); }
.ns-diag__facts dd { margin: 0; font-weight: var(--nv-fw-semibold); font-variant-numeric: tabular-nums; }
.ns-diag__actions { display: flex; flex-wrap: wrap; gap: var(--nv-space-2); align-items: center; }
.ns-diag__actions .nv-btn--ghost { padding-inline: 12px; }
@media (max-width: 960px) {
  .ns-hero__in { grid-template-columns: 1fr; }
  .ns-hero__copy { position: static; padding-top: 0; }
  .ns-hero__copy .nv-h1 { max-width: none; }
}
@media (max-width: 600px) {
  .ns-symptoms { grid-template-columns: 1fr; }
  .ns-ticket { padding: var(--nv-space-4); }
  .ns-ticket__tear { margin-inline: calc(-1 * var(--nv-space-4)); }
  .ns-diag__facts { grid-template-columns: 1fr 1fr; }
  .ns-diag__empty { grid-template-columns: 64px 1fr; }
  .ns-diag__empty img { width: 64px; height: 64px; }
  .ns-hero { padding-bottom: var(--nv-space-6); }
}

/* ---------- Секции ---------- */
.ns-section__head { display: grid; gap: var(--nv-space-3); margin-bottom: clamp(24px, 3vw, 40px); max-width: 760px; }
.ns-section--ground2 { background: var(--nv-ground-2); }
.ns-two { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); gap: clamp(24px, 4vw, 64px); align-items: start; }
.ns-two .ns-section__head { margin-bottom: 0; position: sticky; top: 96px; }
@media (max-width: 860px) { .ns-two { grid-template-columns: 1fr; } .ns-two .ns-section__head { position: static; } }

/* Табло работ */
.ns-board { display: grid; background: var(--nv-paper); border: var(--nv-line); border-radius: var(--nv-radius-md); box-shadow: var(--nv-glaze-highlight); overflow: hidden; }
.ns-board__row { display: grid; grid-template-columns: 56px minmax(0, 1fr) 150px 150px 44px; gap: var(--nv-space-4); align-items: center; padding: 14px 20px 14px 14px; border-bottom: var(--nv-line); color: inherit; text-decoration: none; transition: background var(--nv-dur-state); }
.ns-board__row:last-child { border-bottom: 0; }
@media (hover: hover) and (pointer: fine) { .ns-board__row:hover { background: var(--nv-brand-tint); } .ns-board__row:hover .ns-board__go { background: var(--nv-brand-accent); color: var(--nv-ink); transform: translateX(2px); } }
.ns-board__row:focus-visible { box-shadow: inset var(--nv-focus-ring); border-radius: 0; }
.ns-board__spot { width: 56px; height: 56px; background: var(--nv-ground); border-radius: var(--nv-radius-sm); padding: 4px; }
.ns-board__name { display: grid; gap: 2px; min-width: 0; }
.ns-board__name b { font-size: var(--nv-fs-lg); font-weight: var(--nv-fw-semibold); }
.ns-board__name span { font-size: var(--nv-fs-sm); color: var(--nv-ink-3); }
.ns-board__time { display: inline-flex; align-items: center; gap: 6px; font-size: var(--nv-fs-sm); color: var(--nv-ink-2); }
.ns-board__time .nv-icon { color: var(--nv-ink-4); }
.ns-board__price { font-family: var(--nv-font-display); font-weight: 600; font-size: var(--nv-fs-lg); letter-spacing: -0.01em; white-space: nowrap; }
.ns-board__price .nv-muted { font-family: var(--nv-font-text); font-weight: var(--nv-fw-regular); font-size: var(--nv-fs-sm); }
.ns-board__go { width: 44px; height: 44px; display: grid; place-items: center; border-radius: var(--nv-radius-sm); background: var(--nv-ground-2); color: var(--nv-ink); transition: background var(--nv-dur-state), transform var(--nv-dur-state) var(--nv-ease-out); }
.ns-board__note { display: flex; gap: 8px; align-items: flex-start; margin-top: var(--nv-space-4); font-size: var(--nv-fs-sm); color: var(--nv-ink-2); max-width: 80ch; }
.ns-board__note .nv-icon { color: var(--nv-brand-field); margin-top: 2px; }
@media (max-width: 760px) {
  .ns-board__row { grid-template-columns: 48px minmax(0, 1fr) 40px; grid-template-areas: "spot name go" "spot meta go"; gap: 4px var(--nv-space-3); padding: 12px 14px; }
  .ns-board__spot { grid-area: spot; width: 48px; height: 48px; align-self: start; }
  .ns-board__name { grid-area: name; }
  .ns-board__time { grid-area: meta; }
  .ns-board__price { grid-area: meta; justify-self: end; font-size: var(--nv-fs-md); }
  .ns-board__go { grid-area: go; width: 40px; height: 40px; }
  .ns-board__name b { font-size: var(--nv-fs-md); }
}

/* Полосы срочности */
.ns-lanes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--nv-grid-gap); }
.ns-lane { display: grid; gap: var(--nv-space-3); padding: var(--nv-space-5); background: var(--nv-paper); border: var(--nv-line); border-radius: var(--nv-radius-md); box-shadow: var(--nv-glaze-highlight); align-content: start; }
.ns-lane p { font-size: var(--nv-fs-sm); color: var(--nv-ink-2); }
.ns-lane__flag { display: inline-flex; align-items: center; gap: 8px; justify-self: start; font-size: var(--nv-fs-xs); font-weight: var(--nv-fw-semibold); color: var(--nv-ink-2); }
.ns-lane__flag::before { content: ""; width: 10px; height: 10px; border-radius: 50%; background: var(--_c, var(--nv-ink-4)); box-shadow: 0 0 0 3px color-mix(in srgb, var(--_c, var(--nv-ink-4)) 18%, transparent); }
.ns-lane--today { --_c: var(--ns-today); } .ns-lane--week { --_c: var(--ns-week); } .ns-lane--planned { --_c: var(--ns-planned); }
.ns-lane__win { margin-top: var(--nv-space-2); padding-top: var(--nv-space-3); border-top: var(--nv-line); display: flex; justify-content: space-between; gap: var(--nv-space-3); font-size: var(--nv-fs-sm); align-items: baseline; }
.ns-lane__win b { font-weight: var(--nv-fw-semibold); text-align: right; }
@media (max-width: 860px) { .ns-lanes { grid-template-columns: 1fr; } }

/* Шаги */
.ns-steps .nv-step__text { max-width: 36ch; }

/* Линейка устройств на стойке */
.ns-models { padding-block: clamp(48px, 7vw, 96px) 0; color: #fff; background-color: var(--nv-brand-field); background-image: var(--nv-lamp-light), var(--nv-tile-bg), linear-gradient(165deg, var(--nv-brand-field-light), var(--nv-brand-field) 42%, var(--nv-brand-field-deep)); overflow: clip; }
.ns-models__copy { max-width: 620px; display: grid; gap: var(--nv-space-3); }
.ns-models__copy .nv-h2 { color: #fff; }
.ns-models__copy p { color: rgba(255,255,255,0.84); font-size: var(--nv-fs-lg); line-height: 1.55; }
.ns-counter { position: relative; margin-top: clamp(150px, 24vw, 340px); }
.ns-counter__devices { position: absolute; left: 0; right: 0; bottom: calc(100% - 8px); padding: 0 2%; }
.ns-counter__devices img { width: 100%; height: auto; }
.ns-counter__top { height: 14px; border-radius: 14px 14px 0 0; background: linear-gradient(180deg, #FFFFFF, #E6EAF0); box-shadow: 0 1px 0 rgba(15,27,51,0.18); }
.ns-counter__front { height: clamp(28px, 4vw, 44px); background: linear-gradient(180deg, #D9DEE6, #C3CAD6); border-radius: 0 0 6px 6px; }
.ns-counter__labels { display: grid; grid-template-columns: 200fr 200fr 240fr 260fr 320fr 320fr; padding: 10px 2% var(--nv-space-6); font-size: var(--nv-fs-xs); color: rgba(255,255,255,0.78); text-align: center; font-variant-numeric: tabular-nums; }
@media (max-width: 720px) { .ns-counter__labels { font-size: 10px; } .ns-counter { margin-top: 26vw; } }

/* Отзывы */
.ns-reviews .nv-review__text { font-size: var(--nv-fs-sm); line-height: 1.55; }

/* CTA-прилавок */
.ns-cta { padding-block: clamp(48px, 7vw, 96px); }
.ns-cta__in { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(24px, 4vw, 64px); align-items: center; }
.ns-cta__copy { display: grid; gap: var(--nv-space-4); }
.ns-cta__copy .nv-h2 { color: #fff; max-width: 16ch; }
.ns-cta__copy > p { color: rgba(255,255,255,0.86); font-size: var(--nv-fs-lg); line-height: 1.55; max-width: 48ch; }
.ns-cta__contacts { display: grid; grid-template-columns: 1fr 1fr; gap: var(--nv-space-4); margin-top: var(--nv-space-2); font-size: var(--nv-fs-sm); }
.ns-cta__contacts > div { display: grid; grid-template-columns: 20px 1fr; gap: 10px; align-items: start; }
.ns-cta__contacts .nv-icon { color: var(--nv-amber); margin-top: 1px; }
.ns-cta__contacts .nv-muted { color: rgba(255,255,255,0.7); }
.ns-cta__actions { display: grid; gap: var(--nv-space-4); justify-items: start; }
.ns-callback { width: 100%; max-width: 520px; }
.ns-callback .nv-form__success { grid-column: 1 / -1; display: none; grid-template-columns: 24px 1fr; gap: 2px 10px; align-items: center; }
.ns-callback.is-sent .nv-form__success { display: grid; }
.ns-callback .nv-form__success .nv-icon { color: var(--nv-success); grid-row: span 2; }
.ns-callback .nv-form__success .nv-small { grid-column: 2; color: var(--nv-ink-3); }
@media (max-width: 860px) { .ns-cta__in { grid-template-columns: 1fr; } .ns-cta__actions { justify-items: stretch; } .ns-cta__actions .nv-btn { justify-content: center; } }
@media (max-width: 480px) { .ns-cta__contacts { grid-template-columns: 1fr; } }

/* ---------- Подвал ---------- */
.ns-footer__about { display: grid; gap: var(--nv-space-3); justify-items: start; }
.ns-footer__about img { height: 32px; width: auto; }
.ns-footer__about p { color: rgba(255,255,255,0.78); font-size: var(--nv-fs-sm); max-width: 38ch; }
.ns-footer__hours { color: rgba(255,255,255,0.62) !important; font-size: var(--nv-fs-xs) !important; }
.ns-footer__contacts li { display: grid; grid-template-columns: 16px 1fr; gap: 10px; align-items: start; color: rgba(255,255,255,0.78); font-size: var(--nv-fs-sm); }
.ns-footer__contacts .nv-icon { color: var(--nv-amber); margin-top: 3px; }

/* ---------- Страница услуги ---------- */
.ns-crumbs { padding-block: var(--nv-space-4); }
.ns-shero { padding-block: var(--nv-space-4) clamp(32px, 5vw, 64px); }
.ns-shero__in { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(24px, 4vw, 64px); align-items: center; }
.ns-shero__copy { display: grid; gap: var(--nv-space-5); }
.ns-shero__copy .nv-h1 { max-width: 20ch; font-size: clamp(1.75rem, 1rem + 2.8vw, 3.25rem); overflow-wrap: anywhere; }
.ns-facts { display: flex; flex-wrap: wrap; gap: var(--nv-space-3) var(--nv-space-7); margin: 0; }
.ns-facts > div { display: grid; gap: 2px; }
.ns-facts dt { font-size: var(--nv-fs-xs); color: var(--nv-ink-3); }
.ns-facts dd { margin: 0; font-family: var(--nv-font-display); font-weight: 600; font-size: var(--nv-fs-xl); letter-spacing: -0.01em; }
.ns-facts > div:last-child dd { font-family: var(--nv-font-text); font-weight: var(--nv-fw-semibold); font-size: var(--nv-fs-md); align-self: center; }
.ns-shero__actions { display: flex; flex-wrap: wrap; gap: var(--nv-space-3); }
.ns-shero__art { aspect-ratio: 1 / 0.9; display: grid; place-items: center; overflow: clip; }
.ns-shero__art img { width: min(64%, 300px); height: auto; position: relative; filter: drop-shadow(0 18px 30px rgba(10, 79, 88, 0.45)); }
.ns-shero__lamp { position: absolute; top: 0; left: 50%; transform: translateX(-50%); width: 12px; height: 44px; background: var(--nv-ink); border-radius: 0 0 6px 6px; }
.ns-shero__lamp::after { content: ""; position: absolute; top: 42px; left: 50%; transform: translateX(-50%); width: 56px; height: 18px; border-radius: 0 0 28px 28px; background: var(--nv-amber); box-shadow: 0 10px 60px 20px var(--nv-amber-glow); }
@media (max-width: 860px) {
  .ns-shero__in { grid-template-columns: 1fr; }
  .ns-shero__art { order: -1; aspect-ratio: 16 / 9; }
  .ns-shero__art img { width: min(40%, 200px); }
  .ns-shero__copy .nv-h1 { max-width: none; }
  .ns-facts { gap: var(--nv-space-3) var(--nv-space-5); }
}

.ns-layout { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: clamp(24px, 4vw, 64px); align-items: start; padding-bottom: clamp(48px, 7vw, 96px); }
.ns-main { display: grid; gap: clamp(40px, 5vw, 64px); min-width: 0; }
.ns-block { display: grid; gap: var(--nv-space-4); scroll-margin-top: 96px; }
.ns-block > .nv-h3 { margin-bottom: var(--nv-space-1); }
.ns-block__lead { color: var(--nv-ink-2); max-width: 60ch; margin-top: -8px; }
.ns-block__note { font-size: var(--nv-fs-sm); color: var(--nv-ink-2); max-width: 70ch; }
.ns-includes { display: grid; gap: 10px; max-width: 70ch; }
.ns-includes li { display: grid; grid-template-columns: 20px 1fr; gap: 12px; align-items: start; color: var(--nv-ink-2); }
.ns-includes .nv-icon { color: var(--nv-success); margin-top: 2px; }

.ns-tl { display: grid; background: var(--nv-paper); border: var(--nv-line); border-radius: var(--nv-radius-md); box-shadow: var(--nv-glaze-highlight); counter-reset: tl; }
.ns-tl__item { display: grid; grid-template-columns: 32px 1fr auto; gap: var(--nv-space-3); align-items: center; padding: 12px 18px; border-bottom: var(--nv-line); position: relative; counter-increment: tl; }
.ns-tl__item:last-child { border-bottom: 0; }
.ns-tl__dot { width: 24px; height: 24px; border-radius: 50%; display: grid; place-items: center; background: var(--nv-brand-tint); color: var(--nv-brand-field); font-size: var(--nv-fs-xs); font-weight: var(--nv-fw-semibold); font-variant-numeric: tabular-nums; }
.ns-tl__dot::before { content: counter(tl); }
.ns-tl__item:not(:last-child) .ns-tl__dot::after { content: ""; position: absolute; left: 29px; top: calc(50% + 12px); height: calc(50% + 2px); border-left: 2px dashed var(--nv-brand-tint-2); }
.ns-tl__name { font-weight: var(--nv-fw-medium); }
.ns-tl__dur { font-size: var(--nv-fs-sm); color: var(--nv-ink-2); white-space: nowrap; }

.ns-docs { display: grid; gap: var(--nv-space-2); }
.ns-doc__check { display: grid; grid-template-columns: 28px 1fr; gap: var(--nv-space-3); align-items: start; padding: 14px 16px; background: var(--nv-paper); border: var(--nv-line); border-radius: var(--nv-radius-md); box-shadow: var(--nv-glaze-highlight); cursor: pointer; transition: border-color var(--nv-dur-state), background var(--nv-dur-state); position: relative; }
.ns-doc__check input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.ns-doc__box { width: 28px; height: 28px; border-radius: 8px; border: 1.5px solid var(--nv-grout-2); background: var(--nv-paper); display: grid; place-items: center; color: transparent; transition: background var(--nv-dur-state), border-color var(--nv-dur-state), color var(--nv-dur-state); margin-top: -2px; }
.ns-doc__box .nv-icon { stroke-width: 3; }
.ns-doc__body { display: grid; gap: 2px; }
.ns-doc__body b { font-weight: var(--nv-fw-semibold); }
.ns-doc__body span { font-size: var(--nv-fs-sm); color: var(--nv-ink-2); }
.ns-doc__check:has(input:checked) { background: var(--nv-success-tint); border-color: color-mix(in srgb, var(--nv-success) 30%, transparent); }
.ns-doc__check:has(input:checked) .ns-doc__box { background: var(--nv-success); border-color: var(--nv-success); color: #fff; }
.ns-doc__check:has(input:checked) .ns-doc__body b { text-decoration: line-through; text-decoration-color: var(--nv-success); text-decoration-thickness: 1.5px; color: var(--nv-ink-2); }
.ns-doc__check:has(input:focus-visible) { box-shadow: var(--nv-focus-ring); }
@media (hover: hover) and (pointer: fine) { .ns-doc__check:hover { border-color: var(--nv-grout-2); } }
.ns-docs__sum { font-size: var(--nv-fs-sm); color: var(--nv-ink-2); }
.ns-docs__sum span { font-weight: var(--nv-fw-semibold); color: var(--nv-ink); font-variant-numeric: tabular-nums; }

.ns-fncalc { display: grid; gap: var(--nv-space-4); padding: var(--nv-space-5); grid-template-columns: 1fr 1fr; }
.ns-fncalc fieldset { border: 0; padding: 0; margin: 0; min-width: 0; }
.ns-fncalc legend { padding: 0; margin-bottom: var(--nv-space-2); }
.ns-fncalc__out { grid-column: 1 / -1; padding: var(--nv-space-4); background: var(--nv-ground); border-radius: var(--nv-radius-sm); display: grid; gap: 4px; }
.ns-fncalc__out b { font-family: var(--nv-font-display); font-weight: 600; font-size: var(--nv-fs-xl); letter-spacing: -0.01em; }
.ns-fncalc__out .ns-urg { justify-self: start; margin-top: 4px; }
.ns-fnscale { grid-column: 1 / -1; display: grid; gap: 6px; }
.ns-fnscale__bar { position: relative; height: 10px; border-radius: 999px; background: var(--nv-ground-2); overflow: visible; }
.ns-fnscale__fill { position: absolute; left: 0; top: 0; bottom: 0; width: var(--_p, 0%); border-radius: 999px; background: var(--nv-brand-field); transition: width var(--nv-dur-glaze) var(--nv-ease-in-out); }
.ns-fnscale__now { position: absolute; top: -5px; left: var(--_p, 0%); width: 20px; height: 20px; margin-left: -10px; border-radius: 50%; background: var(--nv-amber); border: 3px solid #fff; box-shadow: 0 0 0 1px var(--nv-grout-2); transition: left var(--nv-dur-glaze) var(--nv-ease-in-out); }
.ns-fnscale__caps { display: flex; justify-content: space-between; font-size: var(--nv-fs-xs); color: var(--nv-ink-3); }
@media (max-width: 600px) { .ns-fncalc { grid-template-columns: 1fr; } .ns-main .nv-pricelist__time { order: 3; } }

.ns-miniform .nv-form__success { grid-template-columns: 1fr; }
.ns-miniform .nv-form__success .nv-icon { color: var(--nv-success); }
.ns-miniform [data-consent-error] { margin-top: -8px; }
.nv-form.is-invalid-consent [data-consent-error] { display: block; }

.ns-aside { position: sticky; top: 92px; display: grid; gap: var(--nv-space-4); }
.ns-aside__ticket { --ns-behind: var(--nv-ground); }
.ns-aside__price { display: flex; align-items: baseline; gap: 8px; }
.ns-aside__price b { font-family: var(--nv-font-display); font-weight: 600; font-size: var(--nv-fs-price); letter-spacing: -0.02em; line-height: 1; }
.ns-aside__note { font-size: var(--nv-fs-sm); color: var(--nv-ink-2); margin-top: -8px; }
.ns-where { display: flex; flex-wrap: wrap; gap: 6px 14px; font-size: var(--nv-fs-sm); color: var(--nv-ink-2); }
.ns-where__item { display: inline-flex; align-items: center; gap: 6px; }
.ns-where__item .nv-icon { color: var(--nv-success); }
.ns-aside__win { display: flex; justify-content: space-between; align-items: baseline; gap: var(--nv-space-3); font-size: var(--nv-fs-sm); }
.ns-aside__win b { font-weight: var(--nv-fw-semibold); text-align: right; }
.ns-aside__phone { display: inline-flex; align-items: center; gap: 8px; justify-self: center; color: var(--nv-ink); font-weight: var(--nv-fw-semibold); text-decoration: none; font-variant-numeric: tabular-nums; }
.ns-toc { display: grid; gap: 2px; padding: var(--nv-space-2); }
.ns-toc a { padding: 8px 12px; border-radius: var(--nv-radius-sm); color: var(--nv-ink-2); font-size: var(--nv-fs-sm); text-decoration: none; transition: background var(--nv-dur-state), color var(--nv-dur-state); }
.ns-toc a.is-active { color: var(--nv-brand-field); background: var(--nv-brand-tint); font-weight: var(--nv-fw-medium); }
@media (hover: hover) and (pointer: fine) { .ns-toc a:hover { background: var(--nv-ground-2); color: var(--nv-ink); } }
@media (max-width: 960px) {
  .ns-layout { grid-template-columns: 1fr; }
  .ns-aside { position: static; order: -1; }
  .ns-toc { display: flex; overflow-x: auto; gap: 4px; padding: 0; scrollbar-width: none; margin-inline: calc(-1 * var(--nv-gutter)); padding-inline: var(--nv-gutter); }
  .ns-toc::-webkit-scrollbar { display: none; }
  .ns-toc a { flex: none; background: var(--nv-paper); border: var(--nv-line); }
  .ns-aside__ticket { display: none; }
}

.ns-stickybar { display: none; }
@media (max-width: 960px) {
  .ns-stickybar { position: fixed; left: 0; right: 0; bottom: 0; z-index: var(--nv-z-header); display: grid; grid-template-columns: 1fr auto auto; gap: var(--nv-space-2); align-items: center; padding: 10px var(--nv-gutter) calc(10px + env(safe-area-inset-bottom, 0px)); background: color-mix(in srgb, var(--nv-paper) 94%, transparent); backdrop-filter: saturate(140%) blur(10px); border-top: var(--nv-line); transform: translateY(100%); transition: transform var(--nv-dur-reveal) var(--nv-ease-out); }
  .ns-stickybar.is-on { transform: none; }
  .ns-stickybar__price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 6px; font-size: var(--nv-fs-sm); min-width: 0; line-height: 1.2; }
  .ns-stickybar__price b { font-family: var(--nv-font-display); font-weight: 600; font-size: var(--nv-fs-lg); }
  [data-page="service"] .nv-footer { padding-bottom: calc(var(--nv-space-6) + 76px + env(safe-area-inset-bottom, 0px)); }
}
@media (prefers-reduced-transparency: reduce) { .ns-stickybar, .nv-header { background: var(--nv-paper); backdrop-filter: none; } }

/* ---------- Запись ---------- */
.ns-book { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: clamp(24px, 4vw, 64px); align-items: start; padding-bottom: clamp(48px, 7vw, 96px); }
.ns-book__form { display: grid; gap: clamp(28px, 4vw, 48px); min-width: 0; }
.ns-book__head { display: grid; gap: var(--nv-space-3); }
.ns-bstep { border: 0; padding: 0; margin: 0; min-width: 0; display: grid; gap: var(--nv-space-3); scroll-margin-top: 96px; }
.ns-bstep__t { display: flex; align-items: center; gap: 12px; padding: 0; margin-bottom: var(--nv-space-2); font-family: var(--nv-font-display); font-weight: 500; font-size: var(--nv-fs-d4); letter-spacing: -0.01em; }
.ns-bstep__n { width: 32px; height: 32px; display: grid; place-items: center; border-radius: var(--nv-radius-sm); background: var(--nv-brand-field); color: #fff; font-size: var(--nv-fs-md); font-weight: 600; }
.ns-bstep.is-invalid .ns-bstep__n { background: var(--nv-danger); }
.ns-bstep .nv-field__error { display: none; }
.ns-bstep.is-invalid > .nv-field__error { display: block; }
.ns-opts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--nv-space-2); }
.ns-opt { position: relative; display: grid; grid-template-columns: 1fr 24px; gap: var(--nv-space-3); align-items: center; padding: 14px 16px; min-height: 64px; background: var(--nv-paper); border: 1px solid var(--nv-grout-2); border-radius: var(--nv-radius-md); cursor: pointer; transition: border-color var(--nv-dur-state), background var(--nv-dur-state), transform var(--nv-dur-press) var(--nv-ease-out); }
.ns-opt input { position: absolute; inset: 0; opacity: 0; margin: 0; cursor: pointer; }
.ns-opt__body { display: grid; gap: 2px; min-width: 0; }
.ns-opt__body b { font-weight: var(--nv-fw-semibold); }
.ns-opt__body span { font-size: var(--nv-fs-sm); color: var(--nv-ink-2); }
.ns-opt__check { width: 24px; height: 24px; border-radius: 50%; border: 1.5px solid var(--nv-grout-2); padding: 4px; color: transparent; transition: background var(--nv-dur-state), border-color var(--nv-dur-state), color var(--nv-dur-state); }
.ns-opt:active { transform: scale(0.99); }
@media (hover: hover) and (pointer: fine) { .ns-opt:hover { border-color: var(--nv-brand-field-light); } }
.ns-opt:has(input:checked) { border-color: var(--nv-brand-field); background: var(--nv-brand-tint); }
.ns-opt:has(input:checked) .ns-opt__check { background: var(--nv-brand-field); border-color: var(--nv-brand-field); color: #fff; }
.ns-opt:has(input:focus-visible) { box-shadow: var(--nv-focus-ring); }
.ns-opt:has(input:disabled) { opacity: 0.5; cursor: not-allowed; }
.ns-opt--where { grid-template-columns: 1fr 24px; }
.ns-wheres { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--nv-space-2); }
.ns-chip { position: relative; }
.ns-chip input { position: absolute; inset: 0; opacity: 0; margin: 0; cursor: pointer; }
.ns-chip:has(input:checked) { background: var(--nv-ink); color: #fff; border-color: var(--nv-ink); }
.ns-chip:has(input:focus-visible) { box-shadow: var(--nv-focus-ring); }
.ns-chips .nv-chip { min-height: 40px; }
@media (max-width: 640px) { .ns-opts, .ns-wheres { grid-template-columns: 1fr; } }

.ns-datetime { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--nv-space-4); }
.ns-cal { display: grid; gap: var(--nv-space-3); padding: var(--nv-space-4); background: var(--nv-paper); border: var(--nv-line); border-radius: var(--nv-radius-md); box-shadow: var(--nv-glaze-highlight); align-content: start; }
.ns-cal__head { display: flex; align-items: center; justify-content: space-between; gap: var(--nv-space-2); }
.ns-cal__month { font-weight: var(--nv-fw-semibold); text-transform: capitalize; }
.ns-cal__dow, .ns-cal__grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 4px; }
.ns-cal__dow span { text-align: center; font-size: var(--nv-fs-xs); color: var(--nv-ink-3); padding-bottom: 2px; }
.ns-cal__dow span:nth-child(7) { color: var(--nv-danger); }
.ns-cal__day { aspect-ratio: 1; min-height: 40px; display: grid; place-items: center; border: 0; border-radius: var(--nv-radius-sm); background: transparent; color: var(--nv-ink); font-variant-numeric: tabular-nums; font-weight: var(--nv-fw-medium); cursor: pointer; transition: background var(--nv-dur-state), color var(--nv-dur-state), transform var(--nv-dur-press) var(--nv-ease-out); position: relative; }
.ns-cal__day:disabled { color: var(--nv-ink-4); cursor: not-allowed; font-weight: var(--nv-fw-regular); }
.ns-cal__day.is-today::after { content: ""; position: absolute; bottom: 5px; left: 50%; transform: translateX(-50%); width: 4px; height: 4px; border-radius: 50%; background: var(--nv-amber); }
.ns-cal__day:not(:disabled):active { transform: scale(0.94); }
@media (hover: hover) and (pointer: fine) { .ns-cal__day:not(:disabled):hover { background: var(--nv-brand-tint); } }
.ns-cal__day[aria-pressed="true"] { background: var(--nv-brand-field); color: #fff; }
.ns-cal__day.is-sunday:not(:disabled) { color: var(--nv-danger); }
.ns-cal__day:focus-visible { box-shadow: var(--nv-focus-ring); }
.ns-slots { display: grid; gap: var(--nv-space-3); padding: var(--nv-space-4); background: var(--nv-paper); border: var(--nv-line); border-radius: var(--nv-radius-md); box-shadow: var(--nv-glaze-highlight); align-content: start; }
.ns-slots__t { font-weight: var(--nv-fw-semibold); }
.ns-slots__t .nv-muted { font-weight: var(--nv-fw-regular); font-size: var(--nv-fs-sm); }
.ns-slots__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; min-height: 120px; align-content: start; }
.ns-slot { min-height: 40px; border: 1px solid var(--nv-grout-2); border-radius: var(--nv-radius-sm); background: var(--nv-paper); color: var(--nv-ink); font-variant-numeric: tabular-nums; font-weight: var(--nv-fw-medium); cursor: pointer; transition: background var(--nv-dur-state), color var(--nv-dur-state), border-color var(--nv-dur-state); }
.ns-slot:disabled { background: var(--nv-ground-2); border-color: transparent; color: var(--nv-ink-4); cursor: not-allowed; text-decoration: line-through; }
@media (hover: hover) and (pointer: fine) { .ns-slot:not(:disabled):hover { border-color: var(--nv-brand-field-light); } }
.ns-slot[aria-pressed="true"] { background: var(--nv-brand-field); border-color: var(--nv-brand-field); color: #fff; }
.ns-slot:focus-visible { box-shadow: var(--nv-focus-ring); }
.ns-slots__empty { grid-column: 1 / -1; color: var(--nv-ink-3); font-size: var(--nv-fs-sm); padding: var(--nv-space-3) 0; }
@media (max-width: 720px) { .ns-datetime { grid-template-columns: 1fr; } }
.ns-book__foot { display: flex; flex-wrap: wrap; align-items: center; gap: var(--nv-space-4); }
.ns-book__form [data-form-error] { max-width: 70ch; }

.ns-book__aside { position: sticky; top: 92px; display: grid; gap: var(--nv-space-4); }
.ns-summary { --ns-behind: var(--nv-ground); }
.ns-summary__list { display: grid; gap: 10px; margin: 0; }
.ns-summary__list > div { display: grid; grid-template-columns: 72px 1fr; gap: 12px; font-size: var(--nv-fs-sm); }
.ns-summary__list dt { color: var(--nv-ink-3); }
.ns-summary__list dd { margin: 0; font-weight: var(--nv-fw-medium); }
.ns-summary__total { display: flex; justify-content: space-between; align-items: baseline; }
.ns-summary__total b { font-family: var(--nv-font-display); font-weight: 600; font-size: var(--nv-fs-xl); letter-spacing: -0.01em; }
.ns-summary__note { font-size: var(--nv-fs-xs); color: var(--nv-ink-3); }
.ns-done { --ns-behind: var(--nv-ground); }
.ns-done__art { width: 120px; height: 120px; justify-self: center; }
.ns-done p { font-size: var(--nv-fs-sm); color: var(--nv-ink-2); }
.ns-done .nv-btn--ghost { justify-self: center; }
@media (max-width: 960px) {
  .ns-book { grid-template-columns: 1fr; }
  .ns-book__aside { position: static; }
  .ns-summary { display: none; }
  .ns-book.is-done .ns-book__form { display: none; }
}
.ns-book.is-done .ns-summary { display: none; }
@media (prefers-reduced-motion: no-preference) { .ns-done:not([hidden]) { animation: ns-in var(--nv-dur-reveal) var(--nv-ease-out) both; } }

/* ---------- Статус ---------- */
.ns-status { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(24px, 4vw, 64px); align-items: start; padding-bottom: clamp(48px, 7vw, 96px); }
.ns-status__search { display: grid; gap: var(--nv-space-5); position: sticky; top: 92px; }
.ns-status__form .nv-input-group .nv-input { letter-spacing: 0.02em; }
.ns-status__demo { display: grid; gap: var(--nv-space-2); }
.ns-status__empty { --ns-behind: var(--nv-ground); grid-template-columns: 120px 1fr; align-items: center; color: var(--nv-ink-2); min-height: 200px; }
.ns-status__empty img { width: 120px; height: 120px; }
.ns-st { --ns-behind: var(--nv-ground); gap: var(--nv-space-5); }
@media (prefers-reduced-motion: no-preference) { .ns-st { animation: ns-in var(--nv-dur-reveal) var(--nv-ease-out) both; } }
.ns-st__head { display: grid; grid-template-columns: 1fr auto; gap: var(--nv-space-3); align-items: start; }
.ns-st__head h2 { font-family: var(--nv-font-display); font-weight: 600; font-size: var(--nv-fs-d3); letter-spacing: -0.01em; line-height: 1.2; }
.ns-st__head p { color: var(--nv-ink-2); margin-top: 4px; }
.ns-st__meta { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: var(--nv-space-3); margin: 0; }
.ns-st__meta div { display: grid; gap: 2px; }
.ns-st__meta dt { font-size: var(--nv-fs-xs); color: var(--nv-ink-3); }
.ns-st__meta dd { margin: 0; font-weight: var(--nv-fw-medium); }
.ns-track { display: grid; gap: 0; counter-reset: tr; }
.ns-track__item { display: grid; grid-template-columns: 28px 1fr auto; gap: var(--nv-space-3); align-items: start; padding: 10px 0; position: relative; color: var(--nv-ink-3); }
.ns-track__dot { width: 24px; height: 24px; margin-top: 1px; border-radius: 50%; border: 2px solid var(--nv-grout-2); background: var(--nv-paper); display: grid; place-items: center; color: transparent; position: relative; z-index: 1; }
.ns-track__dot .nv-icon { width: 14px; height: 14px; stroke-width: 3; }
.ns-track__item:not(:last-child)::before { content: ""; position: absolute; left: 11px; top: 36px; bottom: -10px; border-left: 2px solid var(--nv-grout); }
.ns-track__name { font-weight: var(--nv-fw-medium); }
.ns-track__text { font-size: var(--nv-fs-sm); margin-top: 2px; }
.ns-track__time { font-size: var(--nv-fs-xs); white-space: nowrap; font-variant-numeric: tabular-nums; }
.ns-track__item.is-done { color: var(--nv-ink-2); }
.ns-track__item.is-done .ns-track__dot { background: var(--nv-success); border-color: var(--nv-success); color: #fff; }
.ns-track__item.is-done::before { border-color: var(--nv-success); }
.ns-track__item.is-now { color: var(--nv-ink); }
.ns-track__item.is-now .ns-track__name { font-weight: var(--nv-fw-semibold); }
.ns-track__item.is-now .ns-track__dot { border-color: var(--nv-brand-field); background: var(--nv-brand-field); box-shadow: 0 0 0 4px var(--nv-brand-tint); }
.ns-track__item.is-now .ns-track__dot::after { content: ""; width: 8px; height: 8px; border-radius: 50%; background: #fff; }
@media (prefers-reduced-motion: no-preference) { .ns-track__item.is-now .ns-track__dot { animation: ns-pulse 2.4s var(--nv-ease-in-out) infinite; } }
@keyframes ns-pulse { 0%, 100% { box-shadow: 0 0 0 4px var(--nv-brand-tint); } 50% { box-shadow: 0 0 0 8px color-mix(in srgb, var(--nv-brand-tint) 40%, transparent); } }
.ns-track__item.is-warn .ns-track__dot { border-color: var(--nv-warning); background: var(--nv-warning); box-shadow: 0 0 0 4px var(--nv-warning-tint); animation: none; }
.ns-st__actions { display: flex; flex-wrap: wrap; gap: var(--nv-space-2); }
@media (max-width: 860px) { .ns-status { grid-template-columns: 1fr; } .ns-status__search { position: static; } .ns-status__empty { grid-template-columns: 80px 1fr; } .ns-status__empty img { width: 80px; height: 80px; } }
@media (max-width: 480px) { .ns-status__form .nv-input-group { flex-direction: column; gap: 8px; } .ns-status__form .nv-input-group .nv-input, .ns-status__form .nv-input-group .nv-btn { border-radius: var(--nv-radius-sm); } }

/* ---------- Движение: одно появление на секцию ---------- */
.ns-section > .nv-container, .ns-models .nv-container { opacity: 1; }
@media (prefers-reduced-motion: no-preference) {
  [data-reveal] { opacity: 0; transform: translateY(14px); transition: opacity var(--nv-dur-reveal) var(--nv-ease-out), transform var(--nv-dur-reveal) var(--nv-ease-out); }
  [data-reveal].is-in { opacity: 1; transform: none; }
}
@media (prefers-reduced-motion: reduce) {
  .ns-hero__lamp { animation: none; }
  .ns-drawer .nv-drawer__panel, .ns-drawer .nv-drawer__scrim, .ns-stickybar { transition: none; }
}
@media print { .nv-header, .ns-stickybar, .ns-cta, .nv-footer, .ns-toc { display: none !important; } }

/* Кнопки внутри белого талона/формы на глазури: возвращаем «бумажные» цвета (система красит их под тёмное поле) */
.nv-glaze .ns-ticket .nv-btn--ghost, .nv-glaze .nv-form .nv-btn--ghost { --_fg: var(--nv-brand-link); --_bg-hover: var(--nv-brand-tint); }
.nv-glaze .ns-ticket .nv-btn--secondary, .nv-glaze .nv-form .nv-btn--secondary { --_bg: var(--nv-paper); --_fg: var(--nv-ink); --_bg-hover: var(--nv-ground-2); border-color: var(--nv-grout-2); box-shadow: var(--nv-glaze-highlight); }
