/* TENET Community UI. Source of truth: doc/UI_STYLE.md.
   Единственный глобальный слой сайта; tc-* is the public component API. */
:root {
  color-scheme: light;
  --tc-paper: #f5f3ee;
  --tc-surface: #ffffff;
  --tc-surface-raised: #fffefa;
  --tc-sand: #ebe7de;
  --tc-ink: #171b19;
  --tc-muted: #615f59;
  --tc-border: #d7d2c8;
  --tc-border-strong: #989188;
  --tc-accent: #c84f2b;
  --tc-accent-hover: #a83d1f;
  --tc-accent-soft: #fae9e1;
  --tc-success: #24654a;
  --tc-success-soft: #eaf3ed;
  --tc-warning: #805714;
  --tc-warning-soft: #faf1de;
  --tc-danger: #a32626;
  --tc-danger-soft: #fbecec;
  --tc-focus: #a63b2b;
  --tc-disabled-bg: #edeae5;
  --tc-disabled-ink: #6b655e;
  --tc-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  --tc-text-xs: .75rem;
  --tc-text-sm: .875rem;
  --tc-text-base: 1rem;
  --tc-text-lg: 1.125rem;
  --tc-space-1: 4px;
  --tc-space-2: 8px;
  --tc-space-3: 12px;
  --tc-space-4: 16px;
  --tc-space-5: 20px;
  --tc-space-6: 24px;
  --tc-space-8: 32px;
  --tc-space-10: 40px;
  --tc-space-12: 48px;
  --tc-radius-sm: 8px;
  --tc-radius: 10px;
  --tc-radius-lg: 16px;
  --tc-control-sm: 44px;
  --tc-control: 48px;
  --tc-control-lg: 56px;
  --tc-shadow: 0 16px 42px #22201b12, 0 2px 8px #22201b0a;
  --tc-shadow-hover: 0 20px 52px #22201b1a, 0 4px 12px #22201b0d;
  --tc-dialog-shadow: 0 32px 90px #171b1940;
  --tc-motion-fast: 120ms;
  --tc-motion: 180ms;
  --tc-motion-slow: 260ms;
  --tc-ease-out: cubic-bezier(.2, .8, .2, 1);
  --tc-ease-standard: cubic-bezier(.2, 0, 0, 1);
  /* Compatibility with existing pages. Logo remains strictly monochrome. */
  --paper: var(--tc-paper);
  --ink: var(--tc-ink);
  --muted: var(--tc-muted);
  --line: var(--tc-border);
  --orange: var(--tc-accent);
  --green: var(--tc-sand);
}
body { background: var(--tc-paper); color: var(--tc-ink); font-family: var(--tc-font); }
:where(button, input, select, textarea) { font-family: inherit; }
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: 3px solid var(--tc-focus);
  outline-offset: 3px;
}
::selection { background: #e8c7b9; color: var(--tc-ink); }

/* Foundation: reset, application shell and shared composition primitives. */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 24px; }
body { margin: 0; }
a { color: inherit; text-decoration: none; }
button { color: inherit; cursor: pointer; }
button:disabled { cursor: default; }
[hidden] { display: none !important; }
.wrap { margin-inline: auto; }
.subpage { padding-bottom: 64px; }
.header { display: flex; align-items: center; justify-content: space-between; }
.brand { display: block; flex: 0 0 auto; margin: 0; padding: 0; line-height: 0; }
.brand img { display: block; width: 100%; height: auto; }
.header-actions { display: flex; align-items: center; flex: 0 0 auto; }
.header-actions .short { display: none; }
.header-actions .outline { display: inline-block; max-width: 160px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; line-height: 1.2; }
.sr-only, .tc-sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.section-top { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 20px; }
.muted { color: var(--tc-muted); font-size: 13px; }
h1 { margin: 24px 0 20px; font-size: clamp(42px, 6vw, 72px); font-weight: 780; line-height: 1.04; letter-spacing: -.045em; }
h2 { margin: 0; font-size: 25px; line-height: 1.2; letter-spacing: -.02em; }
.form-card { display: grid; margin: 16px 0; }
.form-card [role="status"] { min-height: 24px; margin: 0; color: var(--tc-muted); }
.form-card [role="status"]:empty { min-height: 0; }
.mod-controls { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin-top: 10px; }
.mod-controls :is(input, select) { flex: 1 1 180px; min-width: 160px; }
.consent, .check { display: flex; }
fieldset { min-width: 0; margin: 14px 0; padding: 12px 16px; border: 1px solid var(--tc-border); border-radius: var(--tc-radius); }
fieldset legend { padding-inline: 6px; font-size: 13px; font-weight: 700; }
.report summary { display: inline-flex; align-items: center; min-height: 44px; color: var(--tc-accent-hover); cursor: pointer; font-size: 13px; }
.text-button, .model-detail-link { display: inline-flex; align-items: center; min-height: 44px; padding: 10px 0; border: 0; background: transparent; }
.text-button:hover, .model-detail-link:hover { text-decoration: underline; text-underline-offset: 3px; }
.file-field { display: flex; align-items: center; flex-wrap: wrap; position: relative; margin: 6px 0; }
.file-native { position: absolute; width: 1px; height: 1px; overflow: hidden; opacity: 0; clip-path: inset(50%); }
.file-names { min-width: 0; overflow-wrap: anywhere; color: var(--tc-muted); }
.notice { margin: 16px 0; padding: 16px 20px; background: var(--tc-sand); font-size: 14px; line-height: 1.7; }
.hints, .open-callout { margin: 16px 0; padding: 16px 20px; border: 1px solid var(--tc-border); border-left: 4px solid var(--tc-accent); background: var(--tc-accent-soft); font-size: 14px; line-height: 1.65; }
.hints p, .open-callout p { margin: 8px 0; }
.hints a, .open-callout a, .notice a, .consent a { color: var(--tc-accent-hover); text-decoration: underline; text-underline-offset: 3px; }
.open-badge { display: inline-flex; align-items: center; gap: 7px; margin: 0 8px 6px 0; padding: 4px 11px 4px 5px; border: 1px solid var(--tc-accent); border-radius: 999px; background: #fff6f1; color: var(--tc-accent-hover); font-size: 13px; font-weight: 700; line-height: 1.4; }
.open-badge > span { display: inline-grid; place-items: center; width: 18px; height: 18px; border-radius: 50%; background: var(--tc-accent); color: #fff; font-weight: 800; }
.empty-state { margin: 24px 0; padding: 28px; }
.empty-state h2 { margin: 0 0 8px; font-size: 22px; }
.empty-state p { max-width: 60ch; margin: 0 0 16px; color: var(--tc-muted); line-height: 1.7; }
.image-input { display: grid; gap: 6px; margin-top: 8px; }
.image-input small { color: var(--tc-muted); }
.image-input [role="alert"] { color: var(--tc-danger); font-size: 13px; }
.qa-actions { display: flex; flex-wrap: wrap; gap: 12px 24px; }
.qa-actions label { display: flex; align-items: center; gap: 8px; min-height: 44px; cursor: pointer; }
.qa-actions input { width: auto; }
.qa-case { margin: 0 0 12px; padding: 24px; overflow-wrap: anywhere; }
.qa-case h3 { margin: 0 0 12px; font-size: 22px; }
.garage { padding: 24px; border: 1px solid var(--tc-border); border-radius: var(--tc-radius-lg); background: var(--tc-sand); }
.garage h2 { margin: 12px 0; }
.garage p { color: var(--tc-muted); font-size: 14px; }
.comment-author { display: inline-flex; align-items: center; gap: 8px; }

/* Actions: class names work on buttons and links; semantics stay in HTML. */
.tc-button, .button {
  display: inline-flex; justify-content: center; align-items: center; gap: 10px;
  min-height: var(--tc-control); max-width: 100%; padding: 11px 20px;
  border: 1px solid transparent; border-radius: var(--tc-radius);
  font-size: var(--tc-text-sm); font-weight: 650; line-height: 1.4;
  text-align: center; text-decoration: none; cursor: pointer;
  background: var(--tc-ink); color: #fff;
  transition: background-color var(--tc-motion), border-color var(--tc-motion), color var(--tc-motion);
}
.tc-button--primary, .button.dark { background: var(--tc-ink); color: #fff; border-color: var(--tc-ink); }
.tc-button--secondary, .button.outline { background: transparent; color: var(--tc-ink); border-color: var(--tc-border-strong); }
.tc-button--quiet { background: transparent; color: var(--tc-ink); border-color: transparent; }
.tc-button--accent { background: var(--tc-accent); color: #fff; border-color: var(--tc-accent); }
.tc-button--danger { background: var(--tc-danger); color: #fff; border-color: var(--tc-danger); }
.tc-button--small { min-height: var(--tc-control-sm); padding: 9px 14px; }
.tc-button--large { min-height: var(--tc-control-lg); padding: 15px 24px; font-size: 1rem; }
.tc-button--icon { width: var(--tc-control); min-width: var(--tc-control); padding: 10px; }
.tc-button svg { width: 20px; height: 20px; flex: 0 0 auto; }
@media (hover: hover) {
  .tc-button:hover, .button.dark:hover { background: #44403a; color: #fff; }
  .tc-button--secondary:hover, .button.outline:hover, .tc-button--quiet:hover { background: var(--tc-sand); color: var(--tc-ink); }
  .tc-button--accent:hover { background: var(--tc-accent-hover); }
  .tc-button--danger:hover { background: #821d1d; }
}
.tc-button:active, .button:active { box-shadow: inset 0 0 0 2px #0002; }
:is(.tc-button, .button):is(:disabled, [aria-disabled="true"]) {
  background: var(--tc-disabled-bg); border-color: var(--tc-border);
  color: var(--tc-disabled-ink); cursor: not-allowed; box-shadow: none;
}
.tc-button[aria-busy="true"] { cursor: progress; }
.tc-spinner { width: 16px; height: 16px; border: 2px solid currentColor; border-right-color: transparent; border-radius: 50%; animation: tc-spin .8s linear infinite; flex: 0 0 auto; }
@keyframes tc-spin { to { transform: rotate(360deg); } }
.tc-link { color: var(--tc-accent); text-decoration: underline; text-underline-offset: 4px; }
.tc-link:hover { color: var(--tc-accent-hover); }

/* Fields: visible labels; errors are explicit, never red on first page load. */
.tc-form { display: grid; gap: 20px; margin: 0; }
.tc-field { display: grid; gap: 8px; min-width: 0; }
.tc-label, .form-card label { color: var(--tc-ink); font-size: var(--tc-text-sm); line-height: 1.5; font-weight: 650; }
.tc-label small { color: var(--tc-muted); font-weight: 400; }
.tc-input,
.form-card :is(input, select, textarea):not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]) {
  width: 100%; min-width: 0; min-height: var(--tc-control); margin: 0;
  padding: 11px 14px; border: 1px solid var(--tc-border-strong);
  border-radius: var(--tc-radius); background: var(--tc-surface); color: var(--tc-ink);
  font: 400 1rem/1.5 var(--tc-font);
  transition: border-color var(--tc-motion), box-shadow var(--tc-motion);
}
textarea.tc-input, .form-card textarea { min-height: 128px; resize: vertical; }
select.tc-input { padding-right: 36px; }
.tc-select { position: relative; min-width: 0; }
.tc-select select.tc-input { appearance: none; padding-right: 44px; cursor: pointer; }
.tc-select select:required:invalid { color: var(--tc-muted); }
.tc-select option { color: var(--tc-ink); }
.tc-select::after { content: ""; position: absolute; right: 18px; top: 19px; width: 8px; height: 8px; border-right: 1.5px solid var(--tc-ink); border-bottom: 1.5px solid var(--tc-ink); transform: rotate(45deg); pointer-events: none; }
.tc-select:has(select:disabled)::after { border-color: var(--tc-disabled-ink); }
.tc-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.tc-vehicle-form { margin-block: 20px 32px; }
.tc-vehicle-form .tc-label { display: block; margin: 0; }
.tc-vehicle-form .tc-label small { display: block; margin-top: 2px; font-size: var(--tc-text-xs); }
.tc-vehicle-form input[type="number"] { appearance: textfield; }
.tc-vehicle-form input[type="number"]::-webkit-inner-spin-button,
.tc-vehicle-form input[type="number"]::-webkit-outer-spin-button { appearance: none; margin: 0; }
.tc-input::placeholder, .form-card input::placeholder, .form-card textarea::placeholder { color: var(--tc-muted); opacity: 1; }
.tc-input:hover:not(:disabled):not([readonly]), .form-card input:hover:not(:disabled) { border-color: var(--tc-ink); }
.tc-input:focus-visible, .form-card :is(input, select, textarea):focus-visible {
  border-color: var(--tc-focus); outline: 3px solid var(--tc-focus); outline-offset: 2px;
}
.tc-input[aria-invalid="true"], .form-card [aria-invalid="true"] { border-color: var(--tc-danger); box-shadow: inset 3px 0 var(--tc-danger); }
.tc-input:disabled, .form-card :is(input, select, textarea):disabled { background: var(--tc-disabled-bg); color: var(--tc-disabled-ink); cursor: not-allowed; }
.tc-input[readonly] { background: var(--tc-sand); }
.tc-help { margin: 0; color: var(--tc-muted); font-size: var(--tc-text-sm); line-height: 1.6; }
.tc-error { margin: 0; color: var(--tc-danger); font-size: var(--tc-text-sm); line-height: 1.6; }
.tc-fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
.tc-fieldset legend { margin-bottom: 8px; font-size: var(--tc-text-sm); font-weight: 650; }
.tc-check, .tc-radio { display: flex; align-items: center; gap: 12px; min-height: 44px; padding-block: 8px; cursor: pointer; font-size: var(--tc-text-sm); line-height: 1.5; }
.tc-check input, .tc-radio input,
.form-card input:is([type="checkbox"], [type="radio"]) {
  appearance: auto; accent-color: var(--tc-ink); width: 20px; height: 20px;
  min-height: 20px; flex: 0 0 20px; padding: 0; margin: 0; border: initial;
}
.tc-check:has(:disabled), .tc-radio:has(:disabled) { color: var(--tc-muted); cursor: not-allowed; }
.tc-switch { display: inline-flex; align-items: center; gap: 12px; min-height: 44px; cursor: pointer; font-size: var(--tc-text-sm); }
.tc-switch input { appearance: none; position: relative; width: 42px; height: 26px; min-height: 26px; border: 1px solid var(--tc-border-strong); border-radius: 20px; background: #e4e0d9; margin: 0; cursor: pointer; }
.tc-switch input::after { content: ""; position: absolute; top: 3px; left: 3px; width: 18px; height: 18px; border-radius: 50%; background: var(--tc-surface); box-shadow: 0 1px 3px #0003; transition: transform var(--tc-motion); }
.tc-switch input:checked { background: var(--tc-ink); border-color: var(--tc-ink); }
.tc-switch input:checked::after { transform: translateX(16px); }
.tc-switch input:disabled { opacity: .55; cursor: not-allowed; }
.tc-upload { display: grid; gap: 12px; border: 1px dashed var(--tc-border-strong); border-radius: var(--tc-radius); padding: 20px; background: var(--tc-surface); }
.tc-upload input { width: 100%; font-size: var(--tc-text-sm); }
.tc-upload input::file-selector-button { min-height: 44px; padding: 8px 14px; margin-right: 12px; color: var(--tc-ink); background: var(--tc-sand); border: 1px solid var(--tc-border-strong); border-radius: 4px; cursor: pointer; }
.tc-form-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 4px; }

/* Dialog: native showModal() handles the modal layer, inert background and focus. */
dialog.tc-dialog { width: min(520px, calc(100vw - 32px)); max-width: 100%; max-height: calc(100dvh - 32px); padding: 0; border: 1px solid var(--tc-border); border-radius: var(--tc-radius-lg); background: var(--tc-paper); color: var(--tc-ink); box-shadow: var(--tc-dialog-shadow); overflow: auto; }
dialog.tc-dialog::backdrop { background: #28262499; backdrop-filter: blur(3px); }
.tc-dialog__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding: 24px 24px 16px; border-bottom: 1px solid var(--tc-border); }
dialog.tc-dialog .tc-dialog__title { font-size: 24px; line-height: 1.25; letter-spacing: -.5px; margin: 8px 0; }
.tc-dialog__body { padding: 24px; }
.tc-dialog__foot { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 12px; padding: 16px 24px 24px; border-top: 1px solid var(--tc-border); }
.tc-choice-list { display: grid; gap: 4px; margin: 16px 0 0; max-height: min(320px, 44dvh); overflow-y: auto; padding: 0; list-style: none; }
.tc-choice { width: 100%; display: flex; justify-content: space-between; align-items: center; gap: 12px; text-align: left; min-height: 48px; padding: 12px; background: transparent; border: 1px solid transparent; border-radius: 4px; color: var(--tc-ink); font-size: 1rem; }
.tc-choice:hover { background: var(--tc-sand); }
.tc-choice[aria-pressed="true"] { background: var(--tc-sand); border-color: var(--tc-border-strong); font-weight: 650; }

/* Calendar: solid selected date, outlined today, minimum 44px targets. */
.tc-date-row { display: flex; align-items: center; gap: 8px; }
.tc-date-row .tc-input { flex: 1; }
.tc-calendar { width: 100%; }
.tc-calendar__nav { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 16px; }
.tc-calendar__month { font-weight: 650; font-size: 1rem; text-transform: capitalize; text-align: center; }
.tc-calendar__grid { display: grid; gap: 4px; }
.tc-calendar__row { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 4px; }
.tc-calendar__weekday { padding: 8px 0; text-align: center; color: var(--tc-muted); font-size: var(--tc-text-xs); }
.tc-day { width: 100%; min-width: 0; height: 44px; min-height: 44px; padding: 0; border: 1px solid transparent; background: transparent; color: var(--tc-ink); border-radius: 4px; font-size: var(--tc-text-sm); font-variant-numeric: tabular-nums; }
.tc-day:hover:not(:disabled) { background: var(--tc-sand); }
.tc-day[aria-current="date"] { border-color: var(--tc-border-strong); }
.tc-day[aria-pressed="true"] { background: var(--tc-ink); color: #fff; border-color: var(--tc-ink); }
.tc-day:focus-visible { outline-offset: -3px; }
.tc-day:disabled { color: var(--tc-disabled-ink); background: var(--tc-disabled-bg); cursor: not-allowed; text-decoration: line-through; }

/* Feedback, navigation, surfaces and loading. */
.tc-alert { display: flex; align-items: flex-start; gap: 12px; padding: 16px; border: 1px solid var(--tc-border); border-left: 3px solid var(--tc-border-strong); border-radius: 6px; background: var(--tc-sand); font-size: var(--tc-text-sm); line-height: 1.65; }
.tc-alert p { margin: 0; }
.tc-alert--success { color: var(--tc-success); background: var(--tc-success-soft); border-color: #b8d1c1; border-left-color: var(--tc-success); }
.tc-alert--warning { color: var(--tc-warning); background: var(--tc-warning-soft); border-color: #decda9; border-left-color: var(--tc-warning); }
.tc-alert--error { color: var(--tc-danger); background: var(--tc-danger-soft); border-color: #e6bcbc; border-left-color: var(--tc-danger); }
.tc-badge { display: inline-flex; align-items: center; gap: 6px; min-height: 26px; padding: 3px 8px; border-radius: 4px; background: var(--tc-sand); color: var(--tc-muted); font-size: var(--tc-text-xs); line-height: 1.5; font-weight: 600; }
.tc-badge--success { background: var(--tc-success-soft); color: var(--tc-success); }
.tc-badge--warning { background: var(--tc-warning-soft); color: var(--tc-warning); }
.tc-card { min-width: 0; padding: 24px; border: 1px solid var(--tc-border); border-radius: 8px; background: var(--tc-surface); }
.tc-tabs { display: flex; flex-wrap: wrap; gap: 4px 20px; border-bottom: 1px solid var(--tc-border); }
.tc-tab { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 12px 4px; background: transparent; border: 0; border-bottom: 2px solid transparent; color: var(--tc-muted); font-size: var(--tc-text-sm); font-weight: 600; }
.tc-tab[aria-selected="true"], .tc-tab[aria-current="page"] { border-bottom-color: var(--tc-accent); color: var(--tc-ink); }
.tc-chip { min-height: 44px; padding: 9px 14px; border: 1px solid var(--tc-border-strong); border-radius: 4px; background: transparent; color: var(--tc-ink); font-size: var(--tc-text-sm); }
.tc-chip[aria-pressed="true"] { background: var(--tc-ink); color: #fff; border-color: var(--tc-ink); }
.tc-pagination { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.tc-pagination a { display: inline-flex; align-items: center; justify-content: center; width: 44px; min-height: 44px; border: 1px solid var(--tc-border); border-radius: 4px; font-size: var(--tc-text-sm); }
.tc-pagination [aria-current="page"] { background: var(--tc-ink); color: #fff; border-color: var(--tc-ink); }
.tc-details { padding: 0 16px; border: 1px solid var(--tc-border); border-radius: 6px; background: var(--tc-surface); }
.tc-details summary { min-height: 48px; padding: 12px 0; cursor: pointer; font-size: var(--tc-text-sm); font-weight: 650; }
.tc-details > p { margin: 0 0 16px; font-size: var(--tc-text-sm); line-height: 1.7; color: var(--tc-muted); }
.tc-table-wrap { max-width: 100%; overflow-x: auto; border: 1px solid var(--tc-border); border-radius: 6px; }
.tc-table { width: 100%; border-collapse: collapse; font-size: var(--tc-text-sm); text-align: left; }
.tc-table :is(th, td) { padding: 14px 16px; border-bottom: 1px solid var(--tc-border); vertical-align: top; }
.tc-table th { background: var(--tc-sand); font-weight: 650; }
.tc-table tr:last-child td { border-bottom: 0; }
.tc-skeleton { min-height: 16px; border-radius: 4px; background: #e8e3db; }
.tc-empty { padding: 32px 24px; text-align: center; border: 1px dashed var(--tc-border-strong); border-radius: 8px; }
.tc-empty h3 { font-size: 20px; margin: 0 0 8px; }
.tc-empty p { margin: 0; color: var(--tc-muted); font-size: var(--tc-text-sm); line-height: 1.7; }
.tc-sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }

/* Catalog layout; never applied to application page layouts. */
.tc-showcase { width: min(1200px, calc(100% - 64px)); margin: auto; padding-bottom: 64px; }
.tc-showcase__header { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 16px; padding: 24px 0; border-bottom: 1px solid var(--tc-border); }
.tc-showcase__logo { width: 190px; height: auto; display: block; }
.tc-showcase__intro { padding: 56px 0 36px; max-width: 850px; }
.tc-showcase__eyebrow { font-size: 11px; letter-spacing: 2px; color: var(--tc-accent); text-transform: uppercase; font-weight: 700; }
.tc-showcase h1 { font-size: clamp(36px, 5vw, 64px); letter-spacing: -2px; line-height: 1.08; margin: 16px 0 24px; }
.tc-showcase__intro p { font-size: 18px; line-height: 1.7; color: var(--tc-muted); }
.tc-showcase__nav { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 40px; }
.tc-showcase__nav a { display: inline-flex; align-items: center; min-height: 44px; padding: 8px 14px; border: 1px solid var(--tc-border); border-radius: 4px; font-size: var(--tc-text-sm); }
.tc-showcase__section { scroll-margin-top: 24px; padding: 32px 0 40px; border-top: 1px solid var(--tc-border); }
.tc-showcase__heading { display: grid; grid-template-columns: 260px 1fr; gap: 32px; align-items: start; margin-bottom: 24px; }
.tc-showcase__heading h2 { margin: 0; font-size: 24px; letter-spacing: -.5px; }
.tc-showcase__heading p { margin: 0; color: var(--tc-muted); font-size: var(--tc-text-sm); line-height: 1.7; max-width: 70ch; }
.tc-showcase__row { display: flex; gap: 12px; flex-wrap: wrap; align-items: center; }
.tc-showcase__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.tc-showcase__stack { display: grid; gap: 20px; }
.tc-showcase__card-title { margin: 0 0 16px; font-size: 18px; }
.tc-showcase__swatches { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px; }
.tc-swatch { overflow: hidden; border: 1px solid var(--tc-border); border-radius: 6px; background: #fff; }
.tc-swatch__color { height: 84px; background: var(--swatch); }
.tc-swatch figcaption { padding: 12px; font-size: 12px; line-height: 1.6; }
.tc-swatch { margin: 0; }
.tc-showcase code { font-size: 12px; overflow-wrap: anywhere; background: var(--tc-sand); padding: 2px 4px; border-radius: 3px; }
.tc-showcase__footer { display: block; border-top: 1px solid var(--tc-border); padding: 24px 0; font-size: 13px; color: var(--tc-muted); }
.tc-showcase__toast { position: fixed; z-index: 20; bottom: 24px; right: 24px; width: min(440px, calc(100vw - 32px)); box-shadow: var(--tc-shadow); }
@media (max-width: 760px) {
  .tc-showcase { width: calc(100% - 32px); }
  .tc-showcase__grid, .tc-showcase__heading { grid-template-columns: 1fr; gap: 16px; }
  .tc-showcase__intro { padding-top: 32px; }
  .tc-showcase__swatches { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .tc-card { padding: 20px; }
}
@media (max-width: 420px) {
  .tc-form-grid { grid-template-columns: 1fr; }
  .tc-vehicle-form .tc-button { width: 100%; }
  dialog.tc-dialog { width: calc(100vw - 16px); max-height: calc(100dvh - 16px); }
  .tc-dialog__head { padding: 16px 12px 12px; }
  .tc-dialog__body { padding: 16px 12px; }
  .tc-dialog__foot { padding: 12px; }
  .tc-calendar__row { gap: 0; }
  .tc-calendar__grid { gap: 2px; }
  dialog.tc-dialog:has(.tc-calendar) { width: calc(100vw - 8px); }
  .tc-dialog:has(.tc-calendar) .tc-dialog__body { padding-inline: 0; }
  .tc-calendar__nav, .tc-calendar > .tc-help { padding-inline: 12px; }
  .tc-showcase h1 { letter-spacing: -1px; }
  .tc-showcase__swatches { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; }
  .tc-button, .button, .tc-input, .tc-switch input::after { transition: none; }
  .tc-spinner { animation: none; border-style: dotted; }
}
@media (forced-colors: active) {
  .tc-select select.tc-input { appearance: auto; }
  .tc-select::after { display: none; }
  .tc-button, .tc-input, .tc-day, .tc-choice, .tc-chip, .tc-switch input { border: 1px solid ButtonText; }
  .tc-day[aria-pressed="true"], .tc-chip[aria-pressed="true"] { outline: 2px solid Highlight; outline-offset: -3px; }
}

/* UI 2.0 — единый прикладной слой для реальных страниц сайта. */
html { background: var(--tc-paper); }
body {
  min-width: 320px;
  background:
    radial-gradient(circle at 8% -12%, #ffffff 0, #ffffff00 29rem),
    linear-gradient(180deg, #f8f7f3 0, var(--tc-paper) 42rem);
  color: var(--tc-ink);
  font-family: var(--tc-font);
  font-size: 16px;
  line-height: 1.6;
  text-rendering: optimizeLegibility;
}
.wrap { width: min(1240px, calc(100% - 64px)); }
.site-header { position: sticky; top: 0; z-index: 15; border-bottom: 1px solid color-mix(in srgb, var(--tc-border) 82%, transparent); background: color-mix(in srgb, var(--tc-paper) 90%, transparent); backdrop-filter: blur(18px) saturate(1.15); }
.header { min-height: 88px; border: 0; gap: 24px; }
.header .brand { width: 176px; }
.header .site-nav { display: flex; align-items: center; justify-content: center; gap: 4px; padding: 5px; border: 1px solid var(--tc-border); border-radius: 14px; background: #ffffffa6; box-shadow: 0 1px 0 #fff inset; }
.header .site-nav a { position: relative; display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 9px 14px; border: 0; border-radius: 9px; color: var(--tc-muted); background: transparent; font-size: 13px; font-weight: 650; line-height: 1.2; white-space: nowrap; transition: color var(--tc-motion), background var(--tc-motion), box-shadow var(--tc-motion); }
.header .site-nav a:hover { color: var(--tc-ink); background: var(--tc-sand); }
.header .site-nav a[aria-current="page"] { color: var(--tc-ink); background: var(--tc-surface); box-shadow: 0 4px 14px #25221c14, 0 0 0 1px #d7d2c8; }
.header-actions { gap: 8px; }
.header-actions .button { min-height: 44px; padding: 10px 15px; }
.demo-bar { padding: 8px 16px; background: #202622; color: #f8f5ed; font-size: 12px; font-weight: 600; letter-spacing: .02em; }
.demo-bar span { color: #e99a7e; }

.tc-button, .button {
  min-height: 48px;
  padding: 11px 18px;
  border-radius: var(--tc-radius);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.35;
  gap: 10px;
  justify-content: center;
  box-shadow: 0 1px 0 #ffffff1c inset;
  transition: transform var(--tc-motion), background-color var(--tc-motion), border-color var(--tc-motion), color var(--tc-motion), box-shadow var(--tc-motion);
}
.tc-button--primary, .button.dark { background: var(--tc-ink); border: 1px solid var(--tc-ink); color: #fff; }
.tc-button--secondary, .button.outline { background: var(--tc-surface); border: 1px solid var(--tc-border-strong); color: var(--tc-ink); }
@media (hover: hover) {
  .tc-button:hover, .button.dark:hover { transform: translateY(-1px); background: #303532; box-shadow: 0 8px 22px #171b1924; }
  .tc-button--secondary:hover, .button.outline:hover { transform: translateY(-1px); background: var(--tc-surface); border-color: var(--tc-ink); box-shadow: 0 8px 22px #171b1912; }
  .tc-button--quiet:hover { transform: none; box-shadow: none; }
}
.tc-button:active, .button:active { transform: translateY(0); }
.text-button, .model-detail-link { color: var(--tc-accent-hover); font-weight: 700; font-size: 14px; }

:where(input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]), select, textarea) {
  width: 100%; min-width: 0; min-height: 48px; margin: 0;
  padding: 11px 14px; border: 1px solid var(--tc-border-strong);
  border-radius: var(--tc-radius); background-color: var(--tc-surface); color: var(--tc-ink);
  font: 400 1rem/1.5 var(--tc-font);
  box-shadow: 0 1px 0 #fff inset;
  transition: border-color var(--tc-motion), box-shadow var(--tc-motion), background-color var(--tc-motion);
}
:where(textarea) { min-height: 128px; resize: vertical; }
:where(select) {
  appearance: none; cursor: pointer; padding-right: 44px;
  background-image: linear-gradient(45deg, transparent 50%, var(--tc-ink) 50%), linear-gradient(135deg, var(--tc-ink) 50%, transparent 50%);
  background-position: calc(100% - 19px) 21px, calc(100% - 14px) 21px;
  background-size: 5px 5px, 5px 5px; background-repeat: no-repeat;
}
:where(input, select, textarea)::placeholder { color: #77736d; opacity: 1; }
:where(input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]), select, textarea):hover:not(:disabled) { border-color: var(--tc-ink); }
:where(input:not([type="hidden"]), select, textarea):focus-visible { border-color: var(--tc-focus); outline: 3px solid color-mix(in srgb, var(--tc-focus) 28%, transparent); outline-offset: 1px; box-shadow: 0 0 0 1px var(--tc-focus); }
:where(input[type="checkbox"], input[type="radio"]) { width: 20px; height: 20px; min-height: 20px; flex: 0 0 20px; accent-color: var(--tc-ink); }
:where(label) { accent-color: var(--tc-ink); }
.form-card, .tc-form { gap: 16px; }
.form-card label, .tc-label { margin: 0; color: var(--tc-ink); font-size: 14px; font-weight: 700; }
.form-card, .tc-card, .vehicle-row, .answer-card, .qa-case, .empty-state, .profile-actions {
  border: 1px solid var(--tc-border); border-radius: var(--tc-radius-lg); background: var(--tc-surface-raised); box-shadow: 0 1px 0 #fff inset;
}
.form-card, .tc-card { padding: 24px; }
.answer-card { padding: 24px; }
.answer-card.accepted { border-left: 4px solid var(--tc-success); }
.form-card .button { margin-top: 4px; }
.form-card [role="status"], .form-card [role="alert"] { font-size: 14px; line-height: 1.55; }
.form-card .consent label { font-weight: 400; }
.consent, .check { min-height: 48px; gap: 12px; padding: 7px 0; align-items: flex-start; }
.consent input, .check input { margin-top: 2px; }
.file-field { gap: 12px; }
.file-button { margin: 0 !important; cursor: pointer; }
.file-names { font-size: 14px; line-height: 1.5; }
.file-native:focus-visible + .file-button { outline: 3px solid color-mix(in srgb, var(--tc-focus) 35%, transparent); outline-offset: 2px; border-color: var(--tc-focus); }
.tc-dialog__message { margin: 0; color: var(--tc-muted); font-size: 16px; line-height: 1.7; }
dialog.tc-dialog { background: var(--tc-surface-raised); }
dialog.tc-dialog::backdrop { background: #171b1980; backdrop-filter: blur(8px); }
dialog.tc-dialog[open] { animation: tc-dialog-in 200ms var(--tc-ease-out); }
dialog.tc-dialog[open]::backdrop { animation: tc-backdrop-in 160ms linear; }
@keyframes tc-dialog-in { from { opacity: 0; transform: translateY(10px) scale(.985); } to { opacity: 1; transform: none; } }
@keyframes tc-backdrop-in { from { opacity: 0; } to { opacity: 1; } }

/* Native disclosure keeps its semantics; only newly revealed content moves. */
:where(details)[open] > :not(summary) { animation: tc-disclosure-in 250ms var(--tc-ease-out); }
:where(.tc-details, .report) > summary { list-style: none; }
:where(.tc-details, .report) > summary::-webkit-details-marker { display: none; }
:where(.tc-details, .report) > summary::after { content: "+"; margin-left: 10px; font-weight: 600; }
:where(.tc-details, .report)[open] > summary::after { content: "−"; }
@keyframes tc-disclosure-in { from { opacity: 0; transform: translateY(7px); } to { opacity: 1; transform: none; } }

.breadcrumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding: 18px 0; color: var(--tc-muted); font-size: 13px; }
.breadcrumbs a { display: inline-flex; align-items: center; min-height: 44px; padding-inline: 4px; border-radius: 5px; font-weight: 600; }
.breadcrumbs span:not([aria-current="page"]) { color: var(--tc-border-strong); }
.breadcrumbs span[aria-current="page"] { min-width: 0; overflow-wrap: anywhere; color: var(--tc-ink); font-weight: 650; }
.eyebrow, .small-label { color: var(--tc-accent-hover); font-size: 12px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.auth-page { width: 100%; max-width: 720px; margin-inline: auto; }
.auth-page h1, .title, .question-heading { color: var(--tc-ink); font-weight: 760; letter-spacing: -.045em; text-wrap: balance; }
.auth-page h1 { font-size: clamp(38px, 6vw, 60px); line-height: 1.02; }
.intro { max-width: 68ch; color: var(--tc-muted); font-size: clamp(17px, 2vw, 20px); line-height: 1.7; }
.orange { color: var(--tc-accent); }

.question { display: flex; align-items: center; gap: 18px; padding: 22px 24px; border: 1px solid var(--tc-border); border-radius: var(--tc-radius-lg); background: var(--tc-surface-raised); transition: border-color var(--tc-motion), transform var(--tc-motion), box-shadow var(--tc-motion); }
.question + .question { margin-top: 12px; }
.question h3 { font-size: 18px; }
.question p { margin: 0; color: var(--tc-muted); font-size: 13px; }
.topic-icon { display: grid; place-items: center; width: 44px; height: 44px; padding: 0; background: var(--tc-sand); color: var(--tc-ink); font-weight: 800; }
.author-line a, .comment-author a { display: inline-flex; align-items: center; min-height: 44px; }
@media (hover: hover) { .question:hover { transform: translateY(-2px); border-color: var(--tc-border-strong); box-shadow: var(--tc-shadow); } }
.status, .tc-badge { border-radius: 999px; font-weight: 700; }
.status { display: inline-flex; align-items: center; padding: 3px 8px; background: var(--tc-success-soft); color: var(--tc-success); font-size: 13px; }
.notice, .hints, .open-callout { border-radius: var(--tc-radius); }
.empty-state, .tc-empty { border-style: dashed; text-align: left; }
.editorial-model-grid { gap: 18px; }
.editorial-model-grid > a { border-radius: var(--tc-radius-lg); background: var(--tc-surface-raised); transition: transform var(--tc-motion), border-color var(--tc-motion), box-shadow var(--tc-motion); }
@media (hover: hover) { .editorial-model-grid > a:hover { transform: translateY(-3px); border-color: var(--tc-border-strong); box-shadow: var(--tc-shadow); } }
.spec-table, .tc-table-wrap { border-radius: var(--tc-radius-lg); }
.profile-actions { padding: 22px; }

.site-footer { display: block; margin-top: 64px; padding: 0; border-top: 1px solid var(--tc-border); background: #eeebe4; }
.site-footer__inner { display: grid; grid-template-columns: minmax(260px, 1.15fr) minmax(340px, 1.45fr) auto; gap: 32px; align-items: start; padding-block: 42px; border: 0; }
.site-footer__identity { display: grid; gap: 18px; }
.site-footer .brand { width: 170px; }
.site-footer__identity p { margin: 0; color: var(--tc-muted); font-size: 13px; line-height: 1.65; }
.site-footer .footer-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 22px; }
.site-footer .footer-links a { display: inline-flex; align-items: center; min-height: 44px; color: var(--tc-ink); font-weight: 600; }
.site-footer__note { padding-top: 13px; color: var(--tc-muted); font-size: 12px; white-space: nowrap; }

@media (max-width: 1040px) {
  .header { flex-wrap: wrap; padding-block: 14px; gap: 12px 18px; }
  .header .site-nav { order: 3; width: 100%; }
  .header .site-nav a { flex: 1 1 auto; }
  .site-footer__inner { grid-template-columns: 1fr 1fr; }
  .site-footer__note { grid-column: 1 / -1; padding-top: 0; }
}
@media (max-width: 720px) {
  .wrap { width: calc(100% - 32px); }
  .site-header { position: relative; }
  .header { padding-block: 14px; }
  .header .brand { width: 154px; }
  .header-actions .button { padding-inline: 12px; }
  .header-actions .full { display: none; }
  .header-actions .short { display: inline; }
  .header-actions .outline { max-width: 104px; }
  .header .site-nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 5px; padding: 5px; }
  .header .site-nav a { min-width: 0; padding-inline: 8px; white-space: normal; text-align: center; }
  .site-footer { margin-top: 40px; }
  .site-footer__inner { grid-template-columns: 1fr; gap: 22px; padding-block: 32px; }
  .site-footer__note { grid-column: auto; }
  .site-footer .footer-links { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .form-card, .tc-card { padding: 18px; }
  .question { padding: 18px; }
  .qa-actions { flex-direction: column; }
  .tc-dialog__foot > .tc-button { flex: 1 1 140px; }
}
@media (max-width: 390px) {
  .header .brand { width: 142px; }
  .header-actions { gap: 6px; }
  .header-actions .button { padding-inline: 10px; }
  .site-footer .footer-links { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  html:focus-within { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    animation-delay: 0ms !important;
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    transition-delay: 0ms !important;
  }
  .tc-spinner { animation: none !important; border-style: dotted; }
}

/* Календарь на 320 px: дни не уже 44 px, поэтому поля и промежутки сжаты до минимума. */
@media (max-width: 359px) {
  .tc-dialog:has(.tc-calendar) { width: calc(100vw - 4px); }
  .tc-dialog:has(.tc-calendar) .tc-dialog__head, .tc-dialog:has(.tc-calendar) .tc-dialog__foot { padding-inline: 12px; }
  .tc-dialog:has(.tc-calendar) .tc-dialog__body { padding: 12px 0; }
  .tc-calendar__nav { padding-inline: 8px; }
  .tc-calendar__grid, .tc-calendar__row { gap: 0; }
}

/* Кнопки в шапке с обрезкой длинного ника остаются блочными: высоту задаём строкой и отступами, чтобы текст стоял по центру. */
.header-actions .outline { line-height: 20px; padding-block: 11px; }

body { overflow-x: clip; }

/* Шапка: логотип и кнопки действий прижаты к краям окна (главный блок главной занимает всю ширину). */
@media (min-width: 761px) { .site-header .header.wrap { width: 100%; max-width: none; padding-inline: clamp(20px, 2.8vw, 48px); box-sizing: border-box; } }
@media (max-width: 760px) { .site-header .header-actions { margin-left: auto; justify-content: flex-end; } }

/* Подвал: содержимое по ширине поиска (80% окна), колонки и строка с правами */
.site-footer__inner{width:80vw;max-width:none;margin-inline:auto;padding-inline:0;grid-template-columns:minmax(240px,1.3fr) repeat(3,minmax(150px,1fr));gap:36px;padding-block:44px 30px}
.site-footer__col{display:grid;align-content:start;gap:0}
.site-footer__col h2{margin:0 0 6px;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--tc-muted);font-weight:700}
.site-footer__col a{display:inline-flex;align-items:center;min-height:44px;color:var(--tc-ink);font-weight:600;overflow-wrap:anywhere}
.site-footer__col a:hover{color:var(--tc-accent-hover)}
.site-footer__bar{width:80vw;margin-inline:auto;padding:20px 0 28px;border-top:1px solid var(--tc-border);display:flex;justify-content:space-between;gap:12px 32px;flex-wrap:wrap}
.site-footer__bar p{margin:0;color:var(--tc-muted);font-size:12.5px;line-height:1.65}
@media(max-width:900px){.site-footer__inner{grid-template-columns:1fr 1fr}.site-footer__identity{grid-column:1/-1}}
@media(max-width:760px){.site-footer__inner,.site-footer__bar{width:auto;margin-inline:16px}.site-footer__inner{gap:18px;padding-block:32px 18px}}
@media(max-width:420px){.site-footer__inner{grid-template-columns:1fr}}
.site-footer__links{display:contents}

/* Меню со значками над подписями; на телефонах — нижняя полоса как в приложениях */
.header .site-nav--icons{gap:4px;padding:0;border:0;background:transparent;box-shadow:none;border-radius:0}
.header .site-nav--icons a{flex-direction:column;gap:3px;min-height:56px;padding:8px 18px;border-radius:12px;font-size:12.5px;letter-spacing:.01em}
.header .site-nav--icons a svg{flex:none}
.header .site-nav--icons a:hover{color:var(--tc-ink);background:#ebe7de}
.header .site-nav--icons a[aria-current="page"]{color:var(--tc-ink);background:#fff;box-shadow:0 1px 4px #25221c26,0 0 0 1px #ddd7cc}
.site-nav__short{display:none}
@media(max-width:760px){
  body{padding-bottom:calc(68px + env(safe-area-inset-bottom))}
  .header .site-nav--icons{position:fixed;left:0;right:0;bottom:0;z-index:60;order:0;width:auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;padding:0 0 env(safe-area-inset-bottom);background:#fffdfa;border-top:1px solid var(--tc-border);box-shadow:0 -6px 20px #24211c14}
  .header .site-nav--icons a{min-height:64px;padding:8px 2px 6px;border-radius:0;font-size:13px;font-weight:650;white-space:nowrap;background:transparent;box-shadow:none;position:relative}
  .header .site-nav--icons a[aria-current="page"]{color:var(--tc-accent-hover);background:transparent;box-shadow:none}
  .header .site-nav--icons a[aria-current="page"]:before{content:"";position:absolute;top:0;left:22%;right:22%;height:3px;border-radius:0 0 3px 3px;background:var(--tc-accent-hover)}
  .site-nav__long{display:none}.site-nav__short{display:inline}
}
/* backdrop-filter у шапки делает её опорной для fixed: нижняя полоса уезжала вверх */
@media(max-width:760px){.site-header{backdrop-filter:none;background:var(--tc-paper)}}
/* Анимация значков только при наведении (и фокусе с клавиатуры) */
.site-nav--icons a svg{transition:transform var(--tc-motion-fast,160ms) var(--tc-ease-out,ease-out)}
@media(hover:hover){.site-nav--icons a:hover svg{animation:navIconHop 520ms var(--tc-ease-out,ease-out)}}
.site-nav--icons a:focus-visible svg{animation:navIconHop 520ms var(--tc-ease-out,ease-out)}
@keyframes navIconHop{0%{transform:translateY(0) scale(1)}35%{transform:translateY(-4px) scale(1.14) rotate(-6deg)}70%{transform:translateY(0) scale(1.04) rotate(4deg)}100%{transform:translateY(0) scale(1) rotate(0)}}
@media(prefers-reduced-motion:reduce){.site-nav--icons a:hover svg,.site-nav--icons a:focus-visible svg{animation:none}}

/* Содержимое всех страниц по ширине 80% окна, как поиск на главной */
@media(min-width:761px){main.wrap.subpage{width:80vw;max-width:none}}

/* Шапка полупрозрачная: фон и размытие вынесены в ::before, чтобы не ломать fixed-полосу меню на телефонах */
.site-header{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;border-bottom-color:color-mix(in srgb,var(--tc-border) 55%,transparent)}
.site-header::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:color-mix(in srgb,var(--tc-paper) 42%,transparent);backdrop-filter:blur(22px) saturate(1.25);-webkit-backdrop-filter:blur(22px) saturate(1.25)}
.site-header{isolation:isolate}
@media(max-width:760px){.site-header{background:transparent}}

/* Меньше пустоты между содержимым страницы и подвалом */
.subpage{padding-bottom:24px}
.site-footer{margin-top:32px}

/* Блик по логотипу в шапке: раз в 30 секунд слева направо, только внутри контура логотипа */
.site-header .brand{position:relative;display:block}
.site-header .brand::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(105deg,transparent 42%,#fff 50%,transparent 58%) no-repeat;background-size:300% 100%;background-position:130% 0;-webkit-mask:url(/brand/tenet-community-a-graphite.svg) center/contain no-repeat;mask:url(/brand/tenet-community-a-graphite.svg) center/contain no-repeat;animation:logoGlint 30s ease-in-out 3s infinite}
@keyframes logoGlint{0%{background-position:130% 0}5%{background-position:-30% 0}100%{background-position:-30% 0}}
@media(prefers-reduced-motion:reduce){.site-header .brand::after{animation:none;display:none}}

/* Номер версии сайта в нижней строке подвала */
.site-footer__version{display:inline-block;margin-left:10px;padding:2px 9px;border:1px solid var(--tc-border-strong);border-radius:999px;font-size:12px;font-weight:650;letter-spacing:.02em;color:var(--tc-muted);white-space:nowrap;vertical-align:1px}

/* Знак возрастной категории (436-ФЗ) в нижней строке подвала */
.site-footer__age{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:28px;margin-right:12px;padding:0 9px;border:2px solid var(--tc-ink);border-radius:8px;font-size:14px;font-weight:800;letter-spacing:.02em;color:var(--tc-ink);vertical-align:middle}

/* Возрастной знак под блоком «Связь»: крупнее и с мягкой рамкой */
.site-footer__col .site-footer__age{justify-self:start;margin:14px 0 0;min-width:62px;height:42px;padding:0 16px;border:1.5px solid color-mix(in srgb,var(--tc-ink) 38%,transparent);border-radius:14px;background:#ffffff70;font-size:21px;font-weight:700;letter-spacing:.01em;color:color-mix(in srgb,var(--tc-ink) 82%,transparent);vertical-align:baseline}
