/* Reestr 2.0 base shell. Loaded only when UI_SKIN=reestr2. */
*,
*::before,
*::after { box-sizing:border-box; }

html { min-height:100%; }

body {
  min-height:100%;
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font:14px/1.5 var(--sans);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  transition:background var(--tm-dur) var(--tm-ease), color var(--tm-dur) var(--tm-ease);
}

a { color:var(--accent); text-decoration:none; }
a:hover { text-decoration:underline; }

h1,
.tm-h1 {
  margin:0 0 6px;
  color:var(--ink);
  font-size:28px;
  font-weight:700;
  letter-spacing:0;
  line-height:1.2;
}

h2,
.tm-h2 {
  margin:28px 0 12px;
  color:var(--ink);
  font-size:22px;
  font-weight:700;
  letter-spacing:0;
  line-height:1.22;
}

h3,
.tm-h3 {
  margin:18px 0 8px;
  color:var(--ink);
  font-size:16px;
  font-weight:650;
  letter-spacing:0;
  line-height:1.3;
}

p { margin:8px 0; }

:where(a,button,input,select,textarea,[tabindex]):focus-visible {
  outline:none;
  box-shadow:var(--tm-focus);
  border-radius:var(--tm-r-sm);
}

main {
  max-width:var(--tm-container);
  margin:0 auto;
  padding:30px 24px 80px;
}

footer {
  color:var(--muted);
}

.tm-container {
  max-width:var(--tm-container);
  margin-inline:auto;
  padding-inline:24px;
}

.tm-num,
.tm-mono {
  font-family:var(--mono);
  font-variant-numeric:tabular-nums;
}

.tm-muted,
.muted { color:var(--muted); }

.tm-eyebrow {
  color:var(--muted);
  font-size:12px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}

@media (max-width:720px) {
  main { padding:22px 16px 60px; }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
    scroll-behavior:auto !important;
  }
}
