/* RegTOV 0.3.1 ? Swiss / poster registry design system */

/* IBM Plex ? local woff2, Cyrillic + Latin subsets */
@font-face {
  font-family: "IBM Plex Sans";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/ibm-plex-sans/ibm-plex-sans-cyrillic-400-normal.woff2") format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: "IBM Plex Sans";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/ibm-plex-sans/ibm-plex-sans-latin-400-normal.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "IBM Plex Sans";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/ibm-plex-sans/ibm-plex-sans-cyrillic-500-normal.woff2") format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: "IBM Plex Sans";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/ibm-plex-sans/ibm-plex-sans-latin-500-normal.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "IBM Plex Sans";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/ibm-plex-sans/ibm-plex-sans-cyrillic-600-normal.woff2") format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: "IBM Plex Sans";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/ibm-plex-sans/ibm-plex-sans-latin-600-normal.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "IBM Plex Sans";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/ibm-plex-sans/ibm-plex-sans-cyrillic-700-normal.woff2") format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: "IBM Plex Sans";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/ibm-plex-sans/ibm-plex-sans-latin-700-normal.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "IBM Plex Mono";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/ibm-plex-mono/ibm-plex-mono-cyrillic-400-normal.woff2") format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: "IBM Plex Mono";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/ibm-plex-mono/ibm-plex-mono-latin-400-normal.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "IBM Plex Mono";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/ibm-plex-mono/ibm-plex-mono-cyrillic-500-normal.woff2") format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: "IBM Plex Mono";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/ibm-plex-mono/ibm-plex-mono-latin-500-normal.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
  --rt-bg: #f5f4ef;
  --rt-surface: #ffffff;
  --rt-text: #151515;
  --rt-muted: #4f504c;
  --rt-border: #cacbc6;
  --rt-orange: #ff4f2e;
  --rt-orange-ink: #c43a22;
  --rt-blue: #2548ff;
  --rt-font: "IBM Plex Sans", "Segoe UI", sans-serif;
  --rt-mono: "IBM Plex Mono", ui-monospace, monospace;
  --rt-max: 72rem;
  --rt-gutter: clamp(1rem, 2.5vw, 1.5rem);
  --rt-header-h: 4.25rem;
  --rt-line: 1px solid var(--rt-border);
  --rt-radius: 2px;
  --rt-section-y: clamp(3rem, 5vw + 2rem, 7.5rem);
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  color: var(--rt-text);
  background: var(--rt-bg);
  font-family: var(--rt-font);
  font-size: 1rem;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

a {
  color: inherit;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.18em;
}

a:hover {
  color: var(--rt-blue);
}

:focus-visible {
  outline: 2px solid var(--rt-blue);
  outline-offset: 2px;
}

.screen-reader-text {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.regtov-skip-link {
  position: absolute;
  left: -9999px;
}

.regtov-skip-link:focus {
  left: var(--rt-gutter);
  top: var(--rt-gutter);
  z-index: 1000;
  background: var(--rt-surface);
  padding: 0.5rem 0.75rem;
  border: var(--rt-line);
}

.regtov-wrap {
  width: min(100% - (var(--rt-gutter) * 2), var(--rt-max));
  margin-inline: auto;
}

.regtov-kicker {
  font-family: var(--rt-mono);
  font-size: 0.8125rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--rt-muted);
}

.regtov-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  min-height: 2.75rem;
  padding: 0.65rem 1.1rem;
  border: 1px solid var(--rt-text);
  background: var(--rt-text);
  color: var(--rt-bg);
  font-family: var(--rt-font);
  font-size: 0.95rem;
  font-weight: 600;
  text-decoration: none;
  border-radius: var(--rt-radius);
  transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.regtov-btn:hover {
  background: var(--rt-orange-ink);
  border-color: var(--rt-orange-ink);
  color: #fff;
}

.regtov-btn--ghost {
  background: transparent;
  color: var(--rt-text);
}

.regtov-btn--ghost:hover {
  background: var(--rt-blue);
  border-color: var(--rt-blue);
  color: #fff;
}

.regtov-btn--signal {
  background: var(--rt-orange-ink);
  border-color: var(--rt-orange-ink);
  color: #fff;
}

.regtov-btn--signal:hover {
  background: var(--rt-text);
  border-color: var(--rt-text);
  color: #fff;
}

/* Header */
.regtov-topbar {
  background: var(--rt-text);
  color: #f5f4ef;
  font-family: var(--rt-mono);
  font-size: 0.75rem;
  letter-spacing: 0.04em;
}

.regtov-topbar__inner {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 1.25rem;
  align-items: center;
  justify-content: space-between;
  min-height: 2rem;
  padding-block: 0.35rem;
}

.regtov-topbar a {
  color: inherit;
  text-decoration: none;
}

.regtov-topbar a:hover {
  color: var(--rt-orange-ink);
}

.regtov-topbar__messengers {
  display: flex;
  gap: 0.25rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.regtov-topbar__messengers a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.25rem;
  padding: 0.25rem 0.45rem;
}

.regtov-header {
  position: sticky;
  top: 0;
  z-index: 200;
  background: var(--rt-bg);
  border-bottom: var(--rt-line);
}

.regtov-header__inner {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 1rem;
  align-items: center;
  min-height: var(--rt-header-h);
}

.regtov-logo {
  display: inline-flex;
  align-items: center;
  gap: 0.65rem;
  text-decoration: none;
  color: var(--rt-text);
}

.regtov-logo:hover {
  color: var(--rt-text);
}

.regtov-logo__mark {
  width: 2.6875rem;
  height: 2.6875rem;
  flex: 0 0 auto;
}

.regtov-logo__word {
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: 0.01em;
  line-height: 1;
}

.regtov-nav {
  justify-self: center;
}

.regtov-nav__list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 1.15rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.regtov-nav__list a {
  text-decoration: none;
  font-weight: 500;
  font-size: 0.95rem;
  border-bottom: 1px solid transparent;
}

.regtov-nav__list a:hover,
.regtov-nav__list a[aria-current="page"] {
  border-bottom-color: var(--rt-orange-ink);
  color: var(--rt-text);
}

.regtov-header__tools {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.regtov-lang__list {
  display: flex;
  gap: 0.35rem;
  list-style: none;
  margin: 0;
  padding: 0;
  font-family: var(--rt-mono);
  font-size: 0.75rem;
  font-weight: 500;
}

.regtov-lang a {
  display: inline-flex;
  min-width: 2rem;
  min-height: 2rem;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--rt-border);
  text-decoration: none;
}

.regtov-lang .is-current a {
  background: var(--rt-text);
  border-color: var(--rt-text);
  color: #fff;
}

.regtov-menu-toggle {
  display: none;
  width: 2.75rem;
  height: 2.75rem;
  border: 1px solid var(--rt-text);
  background: transparent;
  padding: 0;
  cursor: pointer;
}

.regtov-menu-toggle__bars,
.regtov-menu-toggle__bars::before,
.regtov-menu-toggle__bars::after {
  display: block;
  width: 1.1rem;
  height: 2px;
  margin: 0 auto;
  background: var(--rt-text);
  position: relative;
}

.regtov-menu-toggle__bars::before,
.regtov-menu-toggle__bars::after {
  content: "";
  position: absolute;
  left: 0;
}

.regtov-menu-toggle__bars::before {
  top: -6px;
}

.regtov-menu-toggle__bars::after {
  top: 6px;
}

body.is-nav-open {
  overflow: hidden;
  touch-action: none;
}

.regtov-mobile-panel {
  display: none;
}

/* Main / sections */
.regtov-main {
  overflow-x: clip;
}

.regtov-section {
  padding-block: var(--rt-section-y);
  border-bottom: var(--rt-line);
}

.regtov-section--faq {
  padding-bottom: clamp(2.25rem, 4vw, 3.25rem);
}

.regtov-section__head {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  column-gap: 1rem;
  row-gap: 0.35rem;
  margin-bottom: clamp(1rem, 2vw, 1.35rem);
}

.regtov-section__head h2 {
  grid-column: 1 / span 8;
  margin: 0;
  font-size: clamp(1.75rem, 3.2vw, 2.5rem);
  line-height: 1.1;
  letter-spacing: -0.02em;
}

.regtov-section__head .regtov-kicker {
  grid-column: 1 / -1;
  margin: 0;
}

.regtov-section__head p {
  grid-column: 9 / span 4;
  margin: 0;
  color: var(--rt-muted);
  align-self: end;
  font-size: 1rem;
}

/* Hero */
.regtov-hero {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: clamp(1rem, 2vw, 1.5rem);
  align-items: start;
  padding-top: clamp(3.5rem, 5vw, 5.5rem);
  padding-bottom: clamp(2.25rem, 4vw, 3.25rem);
  border-bottom: var(--rt-line);
  overflow: visible;
}

.regtov-hero__copy {
  grid-column: 1 / span 6;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: 1rem;
  padding-right: clamp(0rem, 2vw, 1rem);
  padding-top: 0.15rem;
}

.regtov-hero__mark {
  display: inline-flex;
  align-self: flex-start;
  padding: 0.35rem 0.55rem;
  border: 1px solid var(--rt-orange);
  color: var(--rt-orange-ink);
  font-family: var(--rt-mono);
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.1em;
}

.regtov-hero h1 {
  margin: 0;
  font-size: clamp(2.15rem, 4.4vw, 3.55rem);
  line-height: 1.02;
  letter-spacing: -0.03em;
  max-width: 15ch;
}

.regtov-hero__lead {
  margin: 0;
  max-width: 36ch;
  color: var(--rt-muted);
  font-size: 1rem;
}

.regtov-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  align-items: center;
  margin-top: 0.25rem;
}

.regtov-hero__media {
  grid-column: 7 / span 6;
  position: relative;
  min-height: 20rem;
  overflow: visible;
  padding-bottom: 1.25rem;
}

.regtov-hero__media .regtov-picture,
.regtov-hero__media img {
  width: 100%;
  height: auto;
  max-height: min(68vh, 34rem);
  object-fit: cover;
  aspect-ratio: 3 / 4;
  border: var(--rt-line);
  background: #e8e7e1;
}

.regtov-stamp {
  position: absolute;
  left: 0.75rem;
  bottom: 0;
  z-index: 2;
  width: min(10.5rem, 46%);
  aspect-ratio: 1;
  background: var(--rt-surface);
  border: 2px solid var(--rt-text);
  padding: 0.75rem;
  display: grid;
  align-content: space-between;
  font-family: var(--rt-mono);
  box-shadow: none;
}

.regtov-stamp__label {
  font-size: 0.75rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--rt-muted);
}

.regtov-stamp__value {
  font-size: clamp(1.5rem, 3vw, 2rem);
  font-weight: 500;
  color: var(--rt-orange-ink);
  line-height: 1;
}

.regtov-stamp__cur {
  font-size: 0.8rem;
  color: var(--rt-text);
}

.regtov-stamp__index {
  font-size: 0.75rem;
  color: var(--rt-blue);
  letter-spacing: 0.08em;
}

/* Scenarios */
.regtov-scenarios {
  display: grid;
  gap: 0;
  border-top: var(--rt-line);
}

.regtov-scenario {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 0.85rem 1rem;
  align-items: stretch;
  padding-block: 1.05rem;
  border-bottom: var(--rt-line);
  transition: background-color 0.15s ease;
}

.regtov-scenario:hover,
.regtov-scenario:focus-within {
  background: color-mix(in srgb, var(--rt-orange) 6%, transparent);
}

.regtov-scenario__code {
  grid-column: 1 / span 1;
  font-family: var(--rt-mono);
  font-size: 1.35rem;
  font-weight: 500;
  color: var(--rt-orange-ink);
  padding-top: 0.15rem;
}

.regtov-scenario__body {
  grid-column: 2 / span 6;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.regtov-scenario__body h3 {
  margin: 0 0 0.35rem;
  font-size: clamp(1.25rem, 2.2vw, 1.65rem);
  letter-spacing: -0.02em;
}

.regtov-scenario__body p {
  margin: 0;
  color: var(--rt-muted);
  font-size: 1rem;
}

.regtov-scenario__side {
  grid-column: 8 / span 5;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 0.75rem 1rem;
  align-items: center;
  border-left: 1px solid var(--rt-border);
  padding-left: 1rem;
}

.regtov-scenario__list {
  margin: 0;
  padding: 0;
  list-style: none;
  font-family: var(--rt-mono);
  font-size: 0.8125rem;
  color: var(--rt-text);
}

.regtov-scenario__list li {
  padding: 0.28rem 0;
  border-top: 1px solid var(--rt-border);
}

.regtov-scenario__list li:last-child {
  border-bottom: 1px solid var(--rt-border);
}

.regtov-scenario__side .regtov-btn {
  min-height: 2.5rem;
  padding-inline: 0.9rem;
  white-space: nowrap;
}

.regtov-scenario:focus-within .regtov-scenario__code {
  color: var(--rt-blue);
}

/* Service index registry */
.regtov-registry {
  border-top: var(--rt-line);
  margin-top: 0.15rem;
}

.regtov-registry__head,
.regtov-registry__row {
  display: grid;
  grid-template-columns: 4.5rem 1fr 8rem 9rem 7rem;
  gap: 0.75rem;
  align-items: center;
  padding: 0.75rem 0.35rem;
  border-bottom: var(--rt-line);
}

.regtov-registry__head {
  font-family: var(--rt-mono);
  font-size: 0.75rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--rt-muted);
  padding-top: 0.35rem;
}

.regtov-registry__row {
  transition: background-color 0.15s ease;
}

.regtov-registry__row:hover,
.regtov-registry__row:focus-within {
  background: color-mix(in srgb, var(--rt-blue) 5%, transparent);
}

.regtov-registry__id {
  font-family: var(--rt-mono);
  color: var(--rt-blue);
  font-weight: 500;
  font-size: 0.9375rem;
}

.regtov-registry__name {
  font-weight: 600;
  letter-spacing: -0.01em;
}

.regtov-registry__cat {
  font-family: var(--rt-mono);
  font-size: 0.8125rem;
  color: var(--rt-muted);
}

.regtov-registry__price {
  font-family: var(--rt-mono);
  font-weight: 500;
  font-size: 0.9375rem;
}

.regtov-registry__action {
  text-align: right;
}

.regtov-registry__action a {
  display: inline-flex;
  align-items: center;
  min-height: 2.5rem;
  font-family: var(--rt-mono);
  font-size: 0.8125rem;
  text-decoration: none;
  border-bottom: 1px solid var(--rt-orange);
}

.regtov-registry__action a:hover,
.regtov-registry__action a:focus-visible {
  color: var(--rt-orange-ink);
}

.regtov-registry__more {
  margin-top: 1rem;
}

/* Dossier folder */
.regtov-dossier {
  max-width: 54rem;
}

.regtov-dossier__folder {
  position: relative;
  padding-top: 1.35rem;
}

.regtov-dossier__tab {
  position: absolute;
  top: 0;
  left: 1rem;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  min-height: 1.75rem;
  padding: 0.3rem 0.75rem;
  background: var(--rt-surface);
  border: 1px solid var(--rt-text);
  border-bottom: none;
  font-family: var(--rt-mono);
  font-size: 0.75rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--rt-text);
}

.regtov-dossier__frame {
  position: relative;
  background: var(--rt-surface);
  border: 1px solid var(--rt-text);
  padding: 1.35rem 1.25rem 1.5rem;
  overflow: hidden;
}

.regtov-dossier__leaf {
  position: absolute;
  inset: 0.65rem 0.65rem auto;
  height: calc(100% - 1.1rem);
  border: 1px solid var(--rt-border);
  background: #fafaf7;
  pointer-events: none;
}

.regtov-dossier__leaf--back {
  transform: translate(8px, -6px);
  z-index: 0;
}

.regtov-dossier__leaf--mid {
  transform: translate(4px, -3px);
  z-index: 0;
  background: #f7f6f1;
}

.regtov-dossier__steps {
  position: relative;
  z-index: 1;
  margin: 0;
  padding: 0;
  list-style: none;
}

.regtov-dossier__step {
  display: grid;
  grid-template-columns: 3rem 1fr;
  gap: 0.85rem;
  padding: 0.85rem 0;
  border-bottom: 1px solid var(--rt-border);
}

.regtov-dossier__step:last-child {
  border-bottom: none;
  padding-bottom: 0.35rem;
}

.regtov-dossier__step-no {
  font-family: var(--rt-mono);
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--rt-orange-ink);
  letter-spacing: 0.06em;
  padding-top: 0.2rem;
}

.regtov-dossier__step-body h3 {
  margin: 0 0 0.3rem;
  font-size: 1.15rem;
  letter-spacing: -0.02em;
}

.regtov-dossier__step-body p {
  margin: 0;
  color: var(--rt-muted);
  font-size: 1rem;
}

.regtov-dossier__stamp {
  position: absolute;
  right: 1rem;
  bottom: 1rem;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 4.5rem;
  min-height: 4.5rem;
  padding: 0.35rem;
  border: 2px solid var(--rt-blue);
  color: var(--rt-blue);
  font-family: var(--rt-mono);
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  transform: rotate(-8deg);
  background: color-mix(in srgb, var(--rt-surface) 88%, transparent);
}

/* Prices table block */
.regtov-priceboard {
  background: var(--rt-text);
  color: #f5f4ef;
  padding-block: clamp(2.25rem, 5vw, 3.5rem);
  border-bottom: var(--rt-line);
}

.regtov-priceboard .regtov-kicker {
  color: #b8b9b3;
}

.regtov-priceboard h2 {
  margin: 0.35rem 0 0.75rem;
  font-size: clamp(1.75rem, 3.2vw, 2.5rem);
  letter-spacing: -0.02em;
}

.regtov-priceboard__lead {
  margin: 0 0 1.5rem;
  color: #b8b9b3;
  max-width: 42ch;
}

.regtov-priceboard__table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.98rem;
}

.regtov-priceboard__table th,
.regtov-priceboard__table td {
  text-align: left;
  padding: 0.85rem 0.5rem;
  border-bottom: 1px solid #3a3a38;
  vertical-align: top;
}

.regtov-priceboard__table th {
  font-family: var(--rt-mono);
  font-size: 0.72rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #b8b9b3;
  font-weight: 500;
}

.regtov-priceboard__table td:nth-child(2) {
  font-family: var(--rt-mono);
  color: var(--rt-orange-ink);
  white-space: nowrap;
}

.regtov-priceboard__table td:nth-child(3) {
  color: #b8b9b3;
  font-size: 0.9rem;
}

.regtov-priceboard .regtov-btn {
  margin-top: 1.15rem;
  background: var(--rt-orange-ink);
  border-color: var(--rt-orange-ink);
  color: #fff;
}

.regtov-priceboard .regtov-btn:hover {
  background: #fff;
  border-color: #fff;
  color: var(--rt-text);
}

/* FAQ */
.regtov-faq {
  display: grid;
  gap: 0;
  border-top: var(--rt-line);
}

.regtov-faq__item {
  border-bottom: var(--rt-line);
}

.regtov-faq__item summary {
  list-style: none;
  cursor: pointer;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 1rem;
  align-items: center;
  padding: 0.95rem 0;
  font-weight: 600;
  letter-spacing: -0.01em;
}

.regtov-faq__item summary::-webkit-details-marker {
  display: none;
}

.regtov-faq__mark {
  font-family: var(--rt-mono);
  color: var(--rt-blue);
  font-size: 0.95rem;
}

.regtov-faq__item[open] .regtov-faq__mark {
  color: var(--rt-orange-ink);
}

.regtov-faq__item p {
  margin: 0 0 0.95rem;
  color: #2e2f2c;
  max-width: 62ch;
  font-size: 1rem;
}

/* CTA */
.regtov-cta {
  background: var(--rt-orange-ink);
  color: #fff;
  padding-block: clamp(2.25rem, 5vw, 3.5rem);
  border-bottom: var(--rt-line);
}

.regtov-cta__inner {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 1rem 1.25rem;
  align-items: center;
}

.regtov-cta__copy {
  grid-column: 1 / span 6;
}

.regtov-cta__title {
  margin: 0 0 0.45rem;
  font-size: clamp(1.75rem, 3.6vw, 2.75rem);
  line-height: 1.05;
  letter-spacing: -0.03em;
}

.regtov-cta__text {
  margin: 0;
  max-width: 36ch;
  color: rgba(255, 255, 255, 0.92);
  font-size: 1rem;
}

.regtov-cta__actions {
  grid-column: 7 / span 6;
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 1rem;
  align-items: center;
}

.regtov-cta__phone {
  margin: 0;
}

.regtov-cta__phone a {
  font-family: var(--rt-mono);
  font-size: clamp(1.2rem, 2.2vw, 1.6rem);
  font-weight: 500;
  color: #fff;
  text-decoration: none;
  border-bottom: 1px solid rgba(255, 255, 255, 0.55);
}

.regtov-cta .regtov-contacts {
  display: contents;
}

.regtov-cta .regtov-contacts__messengers {
  display: flex;
  gap: 0.35rem;
  list-style: none;
  margin: 0;
  padding: 0;
  font-family: var(--rt-mono);
  font-size: 0.8125rem;
}

.regtov-cta .regtov-contacts__messengers a,
.regtov-topbar__messengers a,
.regtov-footer .regtov-contacts__messengers a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.5rem;
  min-width: 2.5rem;
  padding: 0.35rem 0.55rem;
}

.regtov-cta .regtov-contacts__messengers a {
  color: #fff;
  text-decoration: none;
  border: 1px solid rgba(255, 255, 255, 0.45);
}

.regtov-cta .regtov-contacts__phone {
  display: none;
}

.regtov-cta .regtov-btn {
  background: #fff;
  border-color: #fff;
  color: var(--rt-text);
}

.regtov-cta .regtov-btn:hover {
  background: var(--rt-text);
  border-color: var(--rt-text);
  color: #fff;
}

/* Footer */
.regtov-footer {
  background: var(--rt-bg);
  border-top: 2px solid var(--rt-text);
  padding-block: 1.35rem 1.15rem;
}

.regtov-footer__inner {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 0.85rem 1rem;
  align-items: start;
}

.regtov-footer__brand {
  grid-column: 1 / span 3;
}

.regtov-footer__brand .regtov-logo__word {
  font-size: 1.15rem;
}

.regtov-footer__nav {
  grid-column: 4 / span 4;
}

.regtov-footer__nav ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.25rem;
}

.regtov-footer__nav a {
  text-decoration: none;
  font-weight: 500;
  font-size: 0.95rem;
}

.regtov-footer__nav a:hover {
  border-bottom: 1px solid var(--rt-orange);
}

.regtov-footer__meta {
  grid-column: 8 / span 5;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1rem;
  align-items: center;
  justify-content: flex-end;
}

.regtov-footer .regtov-contacts__phone {
  font-family: var(--rt-mono);
  font-weight: 500;
  text-decoration: none;
  font-size: 0.95rem;
}

.regtov-footer .regtov-contacts__messengers {
  display: flex;
  gap: 0.25rem;
  list-style: none;
  margin: 0;
  padding: 0;
  font-family: var(--rt-mono);
  font-size: 0.8125rem;
}

.regtov-footer__copy {
  grid-column: 1 / -1;
  margin: 0.35rem 0 0;
  padding-top: 0.75rem;
  border-top: var(--rt-line);
  font-family: var(--rt-mono);
  font-size: 0.75rem;
  color: var(--rt-muted);
}

/* Reveal */
.regtov-js .regtov-reveal {
  opacity: 0;
  transform: translateY(0.6rem);
  transition: opacity 0.45s ease, transform 0.45s ease;
}

.regtov-js .regtov-reveal.is-in {
  opacity: 1;
  transform: none;
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  .regtov-js .regtov-reveal,
  .regtov-btn,
  .regtov-logo,
  a {
    transition: none !important;
  }
}

@media (max-width: 960px) {
  .regtov-header__inner {
    grid-template-columns: auto auto;
    justify-content: space-between;
  }

  .regtov-nav,
  .regtov-header__cta {
    display: none;
  }

  .regtov-menu-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  .regtov-mobile-panel {
    display: block;
    position: fixed;
    top: var(--rt-mobile-panel-top, var(--rt-header-h));
    right: 0;
    bottom: 0;
    left: 0;
    background: var(--rt-bg);
    border-top: var(--rt-line);
    padding: 1.25rem var(--rt-gutter) 2rem;
    transform: translateX(100%);
    transition: transform 0.2s ease;
    z-index: 150;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
  }

  body.is-nav-open .regtov-mobile-panel {
    transform: none;
  }

  .regtov-mobile-panel .regtov-nav__list {
    flex-direction: column;
    gap: 0;
  }

  .regtov-mobile-panel .regtov-nav__list a {
    display: block;
    padding: 0.9rem 0;
    border-bottom: var(--rt-line);
    font-size: 1.15rem;
  }

  .regtov-mobile-panel__cta {
    margin-top: 1.25rem;
  }

  .regtov-hero {
    grid-template-columns: 1fr;
  }

  .regtov-hero__copy,
  .regtov-hero__media {
    grid-column: 1 / -1;
  }

  .regtov-hero h1 {
    max-width: none;
  }

  .regtov-stamp {
    left: 0.75rem;
    bottom: 0.75rem;
  }

  .regtov-section__head h2,
  .regtov-section__head p {
    grid-column: 1 / -1;
  }

  .regtov-scenario,
  .regtov-scenario__code,
  .regtov-scenario__body,
  .regtov-scenario__side {
    grid-column: 1 / -1;
  }

  .regtov-scenario__side {
    border-left: none;
    padding-left: 0;
    border-top: 1px solid var(--rt-border);
    padding-top: 0.75rem;
    grid-template-columns: 1fr;
    justify-items: start;
  }

  .regtov-registry__head {
    display: none;
  }

  .regtov-registry__row {
    grid-template-columns: 3.25rem 1fr;
    grid-template-areas:
      "id name"
      "id cat"
      "id price"
      "id action";
  }

  .regtov-registry__id { grid-area: id; align-self: start; }
  .regtov-registry__name { grid-area: name; }
  .regtov-registry__cat { grid-area: cat; }
  .regtov-registry__price { grid-area: price; }
  .regtov-registry__action { grid-area: action; text-align: left; }

  .regtov-dossier__frame {
    padding: 1.1rem 0.9rem 1.25rem;
  }

  .regtov-dossier__leaf--back {
    transform: translate(5px, -4px);
  }

  .regtov-dossier__leaf--mid {
    transform: translate(2px, -2px);
  }

  .regtov-dossier__stamp {
    position: static;
    margin-top: 0.85rem;
    transform: none;
  }

  .regtov-priceboard__table th:nth-child(3),
  .regtov-priceboard__table td:nth-child(3) {
    display: none;
  }

  .regtov-cta__copy,
  .regtov-cta__actions {
    grid-column: 1 / -1;
  }

  .regtov-cta__actions {
    justify-content: flex-start;
  }

  .regtov-footer__brand,
  .regtov-footer__nav,
  .regtov-footer__meta {
    grid-column: 1 / -1;
  }

  .regtov-footer__meta {
    justify-content: flex-start;
  }
}

@media (max-width: 480px) {
  .regtov-topbar__inner {
    justify-content: center;
  }

  .regtov-hero__media {
    min-height: 18rem;
  }
}

/* ===== Services hub + service pages (0.3.0) ===== */
.regtov-hub-hero,
.regtov-service-hero {
  padding-block: clamp(2.5rem, 4vw, 4rem);
  border-bottom: var(--rt-line);
}

.regtov-hub-hero__grid,
.regtov-service-hero__grid {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 1.25rem 1.5rem;
  align-items: start;
}

.regtov-hub-hero__copy,
.regtov-service-hero__copy {
  grid-column: 1 / span 6;
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
}

.regtov-hub-hero__media,
.regtov-service-hero__media {
  grid-column: 7 / span 6;
  position: relative;
  width: 100%;
}

.regtov-hub-hero__media .regtov-picture,
.regtov-service-hero__media .regtov-picture,
.regtov-hub-hero__media img,
.regtov-service-hero__media img {
  width: 100%;
  height: auto;
  display: block;
}

.regtov-service-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem 0.85rem;
  align-items: center;
}

.regtov-service-hero__phone {
  font-family: var(--rt-mono);
  font-weight: 500;
  font-size: 1rem;
  text-decoration: none;
  border-bottom: 1px solid var(--rt-border);
  min-height: 2.5rem;
  display: inline-flex;
  align-items: center;
}

.regtov-service-hero__msg {
  display: flex;
  gap: 0.25rem;
  list-style: none;
  margin: 0;
  padding: 0;
  font-family: var(--rt-mono);
  font-size: 0.8125rem;
}

.regtov-service-hero__msg a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.5rem;
  min-width: 2.5rem;
  padding: 0.35rem 0.55rem;
  text-decoration: none;
  border: 1px solid var(--rt-border);
}

.regtov-service-passport {
  margin-top: 0;
  width: 100%;
  box-sizing: border-box;
  display: grid;
  gap: 0.55rem;
  padding: 0.9rem 1rem;
  border: 1px solid var(--rt-text);
  border-top: none;
  background: var(--rt-bg);
  font-size: 0.95rem;
}

.regtov-service-passport p {
  margin: 0;
  display: grid;
  grid-template-columns: 7rem minmax(0, 1fr);
  gap: 0.55rem;
  align-items: start;
}

.regtov-service-passport span:first-child {
  font-family: var(--rt-mono);
  font-size: 0.75rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #3d3e3a;
  padding-top: 0.15rem;
}

.regtov-service-passport__related-list {
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.regtov-service--media-left .regtov-service-hero__copy {
  grid-column: 7 / span 6;
  order: 2;
}

.regtov-service--media-left .regtov-service-hero__media {
  grid-column: 1 / span 6;
  order: 1;
}

.regtov-hub-hero h1,
.regtov-service-hero h1 {
  margin: 0;
  font-size: clamp(2rem, 4vw, 3.25rem);
  line-height: 1.05;
  letter-spacing: -0.03em;
  max-width: 16ch;
}

.regtov-hub-hero__lead,
.regtov-service-hero__lead {
  margin: 0;
  max-width: 40ch;
  color: var(--rt-muted);
  font-size: 1rem;
}

.regtov-hub-index {
  margin: 0.5rem 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0;
  border-top: var(--rt-line);
}

.regtov-hub-index a {
  display: grid;
  grid-template-columns: 2rem 1fr;
  gap: 0.75rem;
  padding: 0.7rem 0;
  border-bottom: var(--rt-line);
  text-decoration: none;
  font-weight: 600;
}

.regtov-hub-index a span {
  font-family: var(--rt-mono);
  color: var(--rt-orange-ink);
}

.regtov-hub-index a:hover {
  color: var(--rt-blue);
}

.regtov-hub-table {
  border-top: var(--rt-line);
}

.regtov-hub-table__head,
.regtov-hub-table__row {
  display: grid;
  grid-template-columns: 3.5rem minmax(11rem, 1.05fr) minmax(14rem, 1.55fr) 8.5rem 6rem;
  gap: 0.85rem 1rem;
  align-items: start;
  padding: 1rem 0.35rem;
  border-bottom: var(--rt-line);
}

.regtov-hub-table__head {
  font-family: var(--rt-mono);
  font-size: 0.75rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--rt-muted);
  align-items: end;
  padding-bottom: 0.55rem;
}

.regtov-hub-table__row {
  text-decoration: none;
  color: inherit;
  transition: background-color 0.15s ease;
}

.regtov-hub-table__row:hover,
.regtov-hub-table__row:focus-visible {
  background: color-mix(in srgb, var(--rt-blue) 5%, transparent);
}

.regtov-hub-table__id {
  font-family: var(--rt-mono);
  color: var(--rt-blue);
  font-weight: 500;
  padding-top: 0.15rem;
}

.regtov-hub-table__name {
  font-weight: 600;
  line-height: 1.35;
}

.regtov-hub-table__desc {
  color: #3d3e3a;
  font-size: 0.98rem;
  line-height: 1.5;
  font-weight: 400;
}

.regtov-hub-table__price {
  font-family: var(--rt-mono);
  font-weight: 500;
  padding-top: 0.15rem;
}

.regtov-hub-table__action {
  font-family: var(--rt-mono);
  font-size: 0.8125rem;
  text-align: right;
  color: var(--rt-orange-ink);
  padding-top: 0.15rem;
}

.regtov-service-hero__price {
  margin: 0;
  display: grid;
  gap: 0.25rem;
  padding: 0.85rem 1rem;
  border: 1px solid var(--rt-text);
  background: var(--rt-surface);
  max-width: 22rem;
}

.regtov-service--tone-blue .regtov-service-hero__price {
  border-color: var(--rt-blue);
}

.regtov-service--tone-orange .regtov-service-hero__price {
  border-color: var(--rt-orange-ink);
}

.regtov-service-hero__price-label {
  font-family: var(--rt-mono);
  font-size: 0.75rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--rt-muted);
}

.regtov-service-hero__price strong {
  font-size: clamp(1.35rem, 2.5vw, 1.85rem);
  color: var(--rt-orange-ink);
  font-weight: 600;
}

.regtov-service--tone-blue .regtov-service-hero__price strong {
  color: var(--rt-blue);
}

.regtov-service-hero__note {
  font-size: 0.9rem;
  color: #3d3e3a;
}

.regtov-service-layout {
  display: grid;
  grid-template-columns: 14rem minmax(0, 1fr);
  gap: 1.5rem 2rem;
  padding-block: clamp(2rem, 4vw, 3.25rem);
}

.regtov-service-nav {
  position: sticky;
  top: calc(var(--rt-header-h) + 0.75rem);
  align-self: start;
}

.regtov-service-nav ol {
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: var(--rt-line);
}

.regtov-service-nav a {
  display: block;
  padding: 0.55rem 0;
  border-bottom: var(--rt-line);
  text-decoration: none;
  font-size: 0.95rem;
  color: var(--rt-muted);
}

.regtov-service-nav a:hover,
.regtov-service-nav a:focus-visible {
  color: var(--rt-text);
  border-bottom-color: var(--rt-orange-ink);
}

.regtov-service-main {
  max-width: 46rem;
}

.regtov-service-block {
  margin-bottom: 2.35rem;
  padding-bottom: 1.75rem;
  border-bottom: 1px solid var(--rt-border);
}

.regtov-service-block + .regtov-service-block {
  border-top: 2px solid var(--rt-text);
  padding-top: 1.75rem;
}

.regtov-service-block h2 {
  margin: 0 0 0.95rem;
  font-size: clamp(1.35rem, 2.4vw, 1.85rem);
  letter-spacing: -0.02em;
}

.regtov-service-block h3 {
  margin: 0 0 0.35rem;
  font-size: 1.05rem;
}

.regtov-service-block p {
  margin: 0 0 0.85rem;
  font-size: 1rem;
  line-height: 1.55;
  color: var(--rt-text);
}

.regtov-service-note {
  margin: 0 0 1rem !important;
  padding: 0.85rem 1rem 0.85rem 0.95rem;
  border: 1px solid var(--rt-border);
  border-left: 3px solid var(--rt-blue);
  background: #f8f7f2;
  color: #2e2f2c !important;
  font-size: 0.98rem !important;
  line-height: 1.55;
}

.regtov-service-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0.55rem;
}

.regtov-service-list li {
  padding-left: 1rem;
  border-left: 2px solid var(--rt-border);
}

.regtov-service-list--lined li {
  display: grid;
  grid-template-columns: 2.25rem 1fr;
  gap: 0.75rem;
  padding: 0.55rem 0;
  border-left: none;
  border-bottom: 1px solid var(--rt-border);
}

.regtov-service-list--lined span {
  font-family: var(--rt-mono);
  color: var(--rt-orange-ink);
  font-size: 0.875rem;
}

.regtov-service-steps {
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: rt-step;
  display: grid;
  gap: 0.85rem;
}

.regtov-service-steps li {
  counter-increment: rt-step;
  padding: 0.85rem 0 0.85rem 3rem;
  border-bottom: 1px solid var(--rt-border);
  position: relative;
}

.regtov-service-steps li::before {
  content: counter(rt-step, decimal-leading-zero);
  position: absolute;
  left: 0;
  top: 0.95rem;
  font-family: var(--rt-mono);
  color: var(--rt-blue);
  font-size: 0.875rem;
}

.regtov-service-options {
  display: grid;
  gap: 0.75rem;
}

.regtov-service-options__item {
  padding: 0.85rem 0;
  border-top: 1px solid var(--rt-border);
}

.regtov-service-price__board {
  border: 2px solid var(--rt-text);
  background: var(--rt-text);
  color: #f5f4ef;
  padding: 0.25rem 0 0;
}

.regtov-service-price__row {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 1rem;
  padding: 1rem 1.15rem;
  border-bottom: 1px solid rgba(245, 244, 239, 0.22);
  align-items: baseline;
}

.regtov-service-price__row:last-of-type {
  border-bottom: none;
}

.regtov-service-price__row strong {
  font-family: var(--rt-mono);
  color: var(--rt-orange-ink);
  font-weight: 600;
  font-size: 1.15rem;
  white-space: nowrap;
}

.regtov-service--tone-blue .regtov-service-price__row strong {
  color: #8fa3ff;
}

.regtov-service-price__note {
  margin: 0 !important;
  padding: 0.85rem 1.15rem 0.35rem;
  color: rgba(245, 244, 239, 0.82) !important;
  font-size: 0.95rem !important;
  line-height: 1.5;
}

.regtov-service-price__cta {
  margin: 0 !important;
  padding: 0.85rem 1.15rem 1.15rem;
}

.regtov-service-price__cta .regtov-btn {
  background: var(--rt-orange-ink);
  border-color: var(--rt-orange-ink);
  color: #fff;
}

.regtov-service-price__cta .regtov-btn:hover {
  background: #fff;
  border-color: #fff;
  color: var(--rt-text);
}

.regtov-related {
  border-top: var(--rt-line);
}

.regtov-related__row {
  display: grid;
  grid-template-columns: 3rem 1fr auto auto;
  gap: 0.75rem;
  align-items: center;
  padding: 0.8rem 0.2rem;
  border-bottom: var(--rt-line);
  text-decoration: none;
}

.regtov-related__row:hover,
.regtov-related__row:focus-visible {
  background: color-mix(in srgb, var(--rt-orange) 6%, transparent);
}

.regtov-related__id {
  font-family: var(--rt-mono);
  color: var(--rt-blue);
}

.regtov-related__name {
  font-weight: 600;
}

.regtov-related__price {
  font-family: var(--rt-mono);
  font-size: 0.875rem;
}

.regtov-related__go {
  color: var(--rt-orange-ink);
}

.regtov-registry__name a {
  text-decoration: none;
  font-weight: 600;
}

.regtov-registry__name a:hover {
  color: var(--rt-blue);
  border-bottom: 1px solid var(--rt-blue);
}

@media (max-width: 960px) {
  .regtov-hub-hero__copy,
  .regtov-hub-hero__media,
  .regtov-service-hero__copy,
  .regtov-service-hero__media,
  .regtov-service--media-left .regtov-service-hero__copy,
  .regtov-service--media-left .regtov-service-hero__media {
    grid-column: 1 / -1;
    order: initial;
  }

  .regtov-service-layout {
    grid-template-columns: 1fr;
  }

  .regtov-service-nav {
    position: static;
  }

  .regtov-service-nav ol {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem 0.75rem;
    border-top: none;
  }

  .regtov-service-nav li {
    border: 1px solid var(--rt-border);
  }

  .regtov-service-nav a {
    padding: 0.45rem 0.65rem;
    border-bottom: none;
    white-space: nowrap;
  }

  .regtov-hub-table__head {
    display: none;
  }

  .regtov-hub-table__row {
    grid-template-columns: 3rem 1fr;
    grid-template-areas:
      "id name"
      "id desc"
      "id price"
      "id action";
  }

  .regtov-hub-table__id { grid-area: id; align-self: start; }
  .regtov-hub-table__name { grid-area: name; }
  .regtov-hub-table__desc { grid-area: desc; }
  .regtov-hub-table__price { grid-area: price; }
  .regtov-hub-table__action { grid-area: action; text-align: left; }

  .regtov-related__row {
    grid-template-columns: 3rem 1fr auto;
  }

  .regtov-related__price {
    display: none;
  }

  .regtov-faq__item summary {
    min-height: 2.75rem;
  }

  .regtov-service-passport {
    border-top: 1px solid var(--rt-text);
  }

  .regtov-service-passport p {
    grid-template-columns: 1fr;
    gap: 0.15rem;
  }
}

@media (max-width: 480px) {
  .regtov-hub-hero h1,
  .regtov-service-hero h1 {
    max-width: none;
  }

  .regtov-service-hero__msg {
    width: 100%;
  }
}

/* ?? Pricing page 0.4.0 ?? */
.regtov-pricing-hero,
.regtov-pricing-group,
.regtov-pricing-factors,
.regtov-pricing-howto {
  scroll-margin-top: calc(var(--rt-header-h) + 1rem);
}

.regtov-pricing-hero {
  padding: 1.75rem 0 1.25rem;
  border-bottom: var(--rt-line);
}

.regtov-pricing-hero__grid {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 1.5rem 2rem;
  align-items: end;
}

.regtov-pricing-hero__copy {
  grid-column: 1 / span 7;
  display: grid;
  gap: 0.85rem;
  align-content: start;
}

.regtov-pricing-hero__media {
  grid-column: 8 / span 5;
}

.regtov-pricing-hero__media .regtov-picture,
.regtov-pricing-hero__media img {
  width: 100%;
  height: auto;
  display: block;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.regtov-pricing-hero h1 {
  margin: 0;
  font-size: clamp(1.85rem, 3.4vw, 2.75rem);
  line-height: 1.08;
  letter-spacing: -0.03em;
  max-width: 18ch;
}

.regtov-pricing-hero__lead {
  margin: 0;
  max-width: 42ch;
  color: var(--rt-muted);
  font-size: 1rem;
}

.regtov-pricing-hero__actions {
  margin: 0.15rem 0 0;
}

.regtov-pricing-stats {
  margin: 0.35rem 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0;
  border-top: var(--rt-line);
  max-width: 34rem;
}

.regtov-pricing-stats li {
  display: grid;
  grid-template-columns: 3.25rem 1fr;
  gap: 0.75rem;
  align-items: baseline;
  padding: 0.55rem 0;
  border-bottom: var(--rt-line);
  font-size: 0.95rem;
}

.regtov-pricing-stats__code {
  font-family: var(--rt-mono);
  font-size: 0.8125rem;
  color: var(--rt-blue);
}

.regtov-pricing-nav {
  border-bottom: var(--rt-line);
  background: var(--rt-bg);
}

.regtov-pricing-nav__list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 0;
}

.regtov-pricing-nav__list a {
  display: inline-flex;
  align-items: baseline;
  gap: 0.55rem;
  min-height: 2.75rem;
  padding: 0.65rem 1rem 0.65rem 0;
  margin-right: 1.25rem;
  border-bottom: 2px solid transparent;
  text-decoration: none;
  color: var(--rt-text);
  font-size: 0.95rem;
}

.regtov-pricing-nav__list a span {
  font-family: var(--rt-mono);
  font-size: 0.75rem;
  color: var(--rt-orange-ink);
}

.regtov-pricing-nav__list a:hover,
.regtov-pricing-nav__list a:focus-visible {
  border-bottom-color: var(--rt-text);
}

.regtov-price-registry {
  border-top: 1px solid var(--rt-text);
}

.regtov-price-registry__head,
.regtov-price-row {
  display: grid;
  grid-template-columns: 3rem minmax(0, 1.4fr) minmax(8rem, 0.75fr) 6.5rem;
  gap: 1rem;
  align-items: start;
  padding: 0.95rem 0;
  border-bottom: var(--rt-line);
}

.regtov-price-registry__head {
  font-family: var(--rt-mono);
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--rt-muted);
  padding-top: 0.35rem;
  padding-bottom: 0.55rem;
}

.regtov-price-row__id {
  font-family: var(--rt-mono);
  font-size: 0.8125rem;
  color: var(--rt-blue);
  padding-top: 0.2rem;
}

.regtov-price-row__main {
  min-width: 0;
  display: grid;
  gap: 0.4rem;
}

.regtov-price-row__name {
  font-weight: 600;
  line-height: 1.35;
  text-decoration: none;
  color: var(--rt-text);
  overflow-wrap: anywhere;
}

.regtov-price-row__name:hover,
.regtov-price-row__name:focus-visible {
  color: var(--rt-blue);
}

.regtov-price-row__note {
  margin: 0;
  color: var(--rt-muted);
  font-size: 0.95rem;
  line-height: 1.45;
}

.regtov-price-row__options {
  margin: 0.15rem 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0.35rem;
}

.regtov-price-row__options li {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.75rem;
  align-items: baseline;
  font-size: 0.95rem;
}

.regtov-price-row__options strong {
  font-family: var(--rt-mono);
  font-weight: 500;
  white-space: nowrap;
}

.regtov-price-row__price {
  min-width: 0;
}

.regtov-price-row__price-main {
  display: inline-block;
  font-family: var(--rt-mono);
  font-size: 1.05rem;
  font-weight: 500;
  line-height: 1.35;
  white-space: normal;
  overflow-wrap: anywhere;
}

.regtov-price-row__action {
  font-family: var(--rt-mono);
  font-size: 0.8125rem;
  text-align: right;
  color: var(--rt-orange-ink);
  text-decoration: none;
  padding-top: 0.2rem;
  min-height: 2.5rem;
}

.regtov-price-row__action:hover,
.regtov-price-row__action:focus-visible {
  color: var(--rt-text);
}

.regtov-price-note {
  display: grid;
  grid-template-columns: 3.5rem 1fr;
  gap: 1rem;
  padding: 1rem 0 0.25rem;
  border-bottom: var(--rt-line);
}

.regtov-price-note__mark {
  font-family: var(--rt-mono);
  font-size: 0.75rem;
  color: var(--rt-orange-ink);
  padding-top: 0.2rem;
}

.regtov-price-note__body {
  display: grid;
  gap: 0.35rem;
}

.regtov-price-note__title {
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem 1rem;
  align-items: baseline;
  font-weight: 600;
}

.regtov-price-note__title span {
  font-family: var(--rt-mono);
  font-weight: 500;
  color: var(--rt-blue);
}

.regtov-price-note__body > p:last-child {
  margin: 0;
  color: var(--rt-muted);
  font-size: 0.95rem;
  line-height: 1.45;
}

.regtov-section__lead {
  margin: 0.35rem 0 0;
  max-width: 52ch;
  color: var(--rt-muted);
  font-size: 1rem;
}

.regtov-pricing-dossier {
  border-top: 1px solid var(--rt-text);
}

.regtov-pricing-dossier__row {
  display: grid;
  grid-template-columns: 3rem 1fr;
  gap: 1rem;
  padding: 1rem 0;
  border-bottom: var(--rt-line);
}

.regtov-pricing-dossier__code {
  font-family: var(--rt-mono);
  font-size: 0.8125rem;
  color: var(--rt-blue);
  padding-top: 0.15rem;
}

.regtov-pricing-dossier__row h3 {
  margin: 0 0 0.35rem;
  font-size: 1.05rem;
  font-weight: 600;
}

.regtov-pricing-dossier__row p {
  margin: 0;
  color: var(--rt-muted);
  font-size: 1rem;
  line-height: 1.5;
  max-width: 58ch;
}

.regtov-pricing-steps {
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid var(--rt-text);
}

.regtov-pricing-steps li {
  display: grid;
  grid-template-columns: 3rem 1fr;
  gap: 1rem;
  padding: 1rem 0;
  border-bottom: var(--rt-line);
}

.regtov-pricing-steps__code {
  font-family: var(--rt-mono);
  font-size: 0.8125rem;
  color: var(--rt-orange-ink);
  padding-top: 0.15rem;
}

.regtov-pricing-steps h3 {
  margin: 0 0 0.35rem;
  font-size: 1.05rem;
}

.regtov-pricing-steps p {
  margin: 0;
  color: var(--rt-muted);
  font-size: 1rem;
  line-height: 1.5;
  max-width: 52ch;
}

.regtov-pricing-contact {
  margin-top: 1.25rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.85rem 1.25rem;
  align-items: center;
}

.regtov-pricing-contact__phone {
  font-family: var(--rt-mono);
  font-size: 1.125rem;
  font-weight: 500;
  text-decoration: none;
  color: var(--rt-text);
  min-height: 2.75rem;
  display: inline-flex;
  align-items: center;
}

.regtov-pricing-contact__phone:hover,
.regtov-pricing-contact__phone:focus-visible {
  color: var(--rt-blue);
}

@media (max-width: 900px) {
  .regtov-pricing-hero__grid {
    grid-template-columns: 1fr;
  }

  .regtov-pricing-hero__copy,
  .regtov-pricing-hero__media {
    grid-column: 1;
  }

  .regtov-pricing-hero__media {
    max-width: 28rem;
  }

  .regtov-price-registry__head {
    display: none;
  }

  .regtov-price-row {
    grid-template-columns: 2.5rem 1fr;
    gap: 0.55rem 0.85rem;
  }

  .regtov-price-row__id {
    grid-row: 1 / span 3;
  }

  .regtov-price-row__main {
    grid-column: 2;
  }

  .regtov-price-row__price {
    grid-column: 2;
  }

  .regtov-price-row__price-main {
    font-size: 1.2rem;
  }

  .regtov-price-row__action {
    grid-column: 2;
    text-align: left;
  }

  .regtov-price-note {
    grid-template-columns: 1fr;
    gap: 0.35rem;
  }
}

@media (max-width: 480px) {
  .regtov-pricing-hero h1 {
    max-width: none;
  }

  .regtov-pricing-nav__list a {
    margin-right: 0.75rem;
    padding-right: 0.5rem;
  }
}

/* ?? About + Contact 0.5.0 ?? */
.regtov-about-hero,
.regtov-contact-hero,
.regtov-about-focus,
.regtov-about-process,
.regtov-about-principles,
.regtov-about-limits,
.regtov-about-links,
.regtov-contact-check,
.regtov-contact-flow,
.regtov-contact-dirs {
  scroll-margin-top: calc(var(--rt-header-h) + 1rem);
}

.regtov-about-hero,
.regtov-contact-hero {
  padding: 1.75rem 0 1.5rem;
  border-bottom: var(--rt-line);
}

.regtov-about-hero__grid,
.regtov-contact-hero__grid {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 1.5rem 2rem;
  align-items: end;
}

.regtov-about-hero__copy {
  grid-column: 1 / span 7;
  display: grid;
  gap: 0.85rem;
  align-content: start;
}

.regtov-about-hero__media {
  grid-column: 8 / span 5;
}

.regtov-contact-hero__copy {
  grid-column: 1 / span 7;
  display: grid;
  gap: 0.85rem;
  align-content: start;
}

.regtov-contact-hero__media {
  grid-column: 8 / span 5;
}

.regtov-about-hero__media .regtov-picture,
.regtov-about-hero__media img,
.regtov-contact-hero__media .regtov-picture,
.regtov-contact-hero__media img {
  width: 100%;
  height: auto;
  display: block;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.regtov-about-hero h1,
.regtov-contact-hero h1 {
  margin: 0;
  font-size: clamp(1.85rem, 3.4vw, 2.75rem);
  line-height: 1.08;
  letter-spacing: -0.03em;
  max-width: 18ch;
}

.regtov-about-hero__lead,
.regtov-contact-hero__lead {
  margin: 0;
  max-width: 44ch;
  color: var(--rt-muted);
  font-size: 1rem;
}

.regtov-about-hero__actions {
  margin: 0.15rem 0 0;
}

.regtov-about-index {
  margin: 0.35rem 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0;
  border-top: var(--rt-line);
  max-width: 28rem;
}

.regtov-about-index li {
  display: grid;
  grid-template-columns: 2rem 1fr;
  gap: 0.75rem;
  align-items: baseline;
  padding: 0.55rem 0;
  border-bottom: var(--rt-line);
  font-size: 0.95rem;
}

.regtov-about-index span {
  font-family: var(--rt-mono);
  font-size: 0.75rem;
  color: var(--rt-orange-ink);
}

.regtov-about-zones {
  display: grid;
  gap: 0;
  border-top: 1px solid var(--rt-text);
}

.regtov-about-zone {
  padding: 1.35rem 0;
  border-bottom: var(--rt-line);
  display: grid;
  gap: 0.75rem;
}

.regtov-about-zone__head {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 1rem;
  align-items: baseline;
}

.regtov-about-zone__code {
  font-family: var(--rt-mono);
  font-size: 0.8125rem;
  color: var(--rt-blue);
}

.regtov-about-zone h3 {
  margin: 0;
  font-size: clamp(1.35rem, 2.4vw, 1.75rem);
}

.regtov-about-zone__text {
  margin: 0;
  max-width: 62ch;
  color: var(--rt-muted);
  font-size: 1rem;
  line-height: 1.55;
}

.regtov-about-zone__services {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0;
  border-top: var(--rt-line);
  max-width: 40rem;
}

.regtov-about-zone__services a {
  display: grid;
  grid-template-columns: 2.5rem 1fr;
  gap: 0.75rem;
  align-items: baseline;
  padding: 0.65rem 0;
  border-bottom: var(--rt-line);
  text-decoration: none;
  color: var(--rt-text);
  min-height: 2.75rem;
}

.regtov-about-zone__services a span {
  font-family: var(--rt-mono);
  font-size: 0.75rem;
  color: var(--rt-blue);
}

.regtov-about-zone__services a:hover,
.regtov-about-zone__services a:focus-visible {
  color: var(--rt-blue);
}

.regtov-about-zone__link {
  margin: 0.15rem 0 0;
}

.regtov-about-zone__link a {
  font-family: var(--rt-mono);
  font-size: 0.875rem;
  color: var(--rt-orange-ink);
  text-decoration: none;
  min-height: 2.5rem;
  display: inline-flex;
  align-items: center;
}

.regtov-about-zone__link a:hover,
.regtov-about-zone__link a:focus-visible {
  color: var(--rt-text);
}

.regtov-about-dossier,
.regtov-contact-steps,
.regtov-contact-checklist {
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid var(--rt-text);
}

.regtov-about-dossier li,
.regtov-contact-steps li,
.regtov-contact-checklist li {
  display: grid;
  grid-template-columns: 3rem 1fr;
  gap: 1rem;
  padding: 1rem 0;
  border-bottom: var(--rt-line);
}

.regtov-about-dossier__code,
.regtov-contact-steps li > span,
.regtov-contact-checklist li > span {
  font-family: var(--rt-mono);
  font-size: 0.8125rem;
  color: var(--rt-orange-ink);
  padding-top: 0.15rem;
}

.regtov-about-dossier h3,
.regtov-contact-steps h3 {
  margin: 0 0 0.35rem;
  font-size: 1.05rem;
}

.regtov-about-dossier p,
.regtov-contact-steps p {
  margin: 0;
  color: var(--rt-muted);
  font-size: 1rem;
  line-height: 1.5;
  max-width: 56ch;
}

.regtov-about-table {
  border-top: 1px solid var(--rt-text);
}

.regtov-about-table__row {
  display: grid;
  grid-template-columns: 3rem minmax(10rem, 0.7fr) minmax(0, 1.3fr);
  gap: 1rem;
  padding: 0.95rem 0;
  border-bottom: var(--rt-line);
  align-items: start;
}

.regtov-about-table__code {
  font-family: var(--rt-mono);
  font-size: 0.8125rem;
  color: var(--rt-blue);
  padding-top: 0.15rem;
}

.regtov-about-table__row strong {
  font-size: 1rem;
  line-height: 1.35;
}

.regtov-about-table__row p {
  margin: 0;
  color: var(--rt-muted);
  font-size: 1rem;
  line-height: 1.5;
}

.regtov-about-limits__panel {
  padding: 1.25rem 1.35rem;
  border: 1px solid var(--rt-text);
  background: var(--rt-surface);
  display: grid;
  gap: 0.75rem;
}

.regtov-about-limits__panel h2 {
  margin: 0;
  font-size: clamp(1.35rem, 2.5vw, 1.85rem);
}

.regtov-about-limits__panel ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0.65rem;
}

.regtov-about-limits__panel li {
  padding-left: 1rem;
  border-left: 2px solid var(--rt-orange);
  color: var(--rt-muted);
  font-size: 1rem;
  line-height: 1.5;
  max-width: 58ch;
}

.regtov-about-next {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
  gap: 0;
  border-top: 1px solid var(--rt-text);
}

.regtov-about-next a {
  display: flex;
  align-items: center;
  min-height: 3rem;
  padding: 0.75rem 0;
  border-bottom: var(--rt-line);
  text-decoration: none;
  color: var(--rt-text);
  font-weight: 600;
}

.regtov-about-next a:hover,
.regtov-about-next a:focus-visible {
  color: var(--rt-blue);
}

.regtov-contact-panel {
  margin-top: 0.35rem;
  padding: 1rem 1.1rem;
  border: 1px solid var(--rt-text);
  background: var(--rt-surface);
  display: grid;
  gap: 0.85rem;
  max-width: 28rem;
}

.regtov-contact-panel__phone,
.regtov-contact-signal__phone {
  font-family: var(--rt-mono);
  font-size: clamp(1.15rem, 2.2vw, 1.45rem);
  font-weight: 500;
  text-decoration: none;
  color: var(--rt-text);
  white-space: nowrap;
  min-height: 2.75rem;
  display: inline-flex;
  align-items: center;
}

.regtov-contact-panel__phone:hover,
.regtov-contact-panel__phone:focus-visible,
.regtov-contact-signal__phone:hover,
.regtov-contact-signal__phone:focus-visible {
  color: var(--rt-blue);
}

.regtov-contacts--panel .regtov-contacts__phone,
.regtov-contacts--signal .regtov-contacts__phone {
  display: none;
}

.regtov-contacts--panel .regtov-contacts__messengers,
.regtov-contacts--signal .regtov-contacts__messengers {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 0.75rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.regtov-contacts--panel .regtov-contacts__messengers a,
.regtov-contacts--signal .regtov-contacts__messengers a {
  display: inline-flex;
  align-items: center;
  min-height: 2.75rem;
  padding: 0.35rem 0.15rem;
  text-decoration: none;
  color: var(--rt-text);
  font-family: var(--rt-mono);
  font-size: 0.9rem;
}

.regtov-contacts--panel .regtov-contacts__messengers a:hover,
.regtov-contacts--panel .regtov-contacts__messengers a:focus-visible,
.regtov-contacts--signal .regtov-contacts__messengers a:hover,
.regtov-contacts--signal .regtov-contacts__messengers a:focus-visible {
  color: var(--rt-orange-ink);
}

.regtov-contact-note {
  margin: 1rem 0 0;
  max-width: 58ch;
  padding: 0.85rem 0 0.85rem 1rem;
  border-left: 2px solid var(--rt-blue);
  color: var(--rt-muted);
  font-size: 1rem;
  line-height: 1.5;
}

.regtov-contact-dirs__list {
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid var(--rt-text);
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr));
}

.regtov-contact-dirs__list a {
  display: flex;
  align-items: center;
  min-height: 3rem;
  padding: 0.75rem 0;
  border-bottom: var(--rt-line);
  text-decoration: none;
  color: var(--rt-text);
  font-weight: 600;
}

.regtov-contact-dirs__list a:hover,
.regtov-contact-dirs__list a:focus-visible {
  color: var(--rt-blue);
}

.regtov-contact-signal {
  border-top: 1px solid var(--rt-text);
  border-bottom: var(--rt-line);
  background: var(--rt-orange-ink);
  color: #fff;
}

.regtov-contact-signal__inner {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
  gap: 1.25rem 2rem;
  align-items: center;
  padding-block: 1.5rem;
}

.regtov-contact-signal h2 {
  margin: 0 0 0.35rem;
  font-size: clamp(1.35rem, 2.4vw, 1.75rem);
  color: #fff;
}

.regtov-contact-signal p {
  margin: 0;
  color: rgba(255, 255, 255, 0.9);
  font-size: 1rem;
}

.regtov-contact-signal__phone {
  color: #fff;
}

.regtov-contact-signal__phone:hover,
.regtov-contact-signal__phone:focus-visible {
  color: #fff;
  text-decoration: underline;
}

.regtov-contact-signal .regtov-contacts__messengers a {
  color: #fff;
}

.regtov-contact-signal .regtov-contacts__messengers a:hover,
.regtov-contact-signal .regtov-contacts__messengers a:focus-visible {
  color: #fff;
  text-decoration: underline;
}

.regtov-pricing-nav {
  scroll-margin-top: calc(var(--rt-header-h) + 0.5rem);
}

@media (max-width: 900px) {
  .regtov-about-hero__grid,
  .regtov-contact-hero__grid,
  .regtov-contact-signal__inner {
    grid-template-columns: 1fr;
  }

  .regtov-about-hero__copy,
  .regtov-about-hero__media,
  .regtov-contact-hero__copy,
  .regtov-contact-hero__media {
    grid-column: 1;
  }

  .regtov-about-hero__media,
  .regtov-contact-hero__media {
    max-width: 28rem;
  }

  .regtov-about-table__row {
    grid-template-columns: 2.5rem 1fr;
    gap: 0.45rem 0.85rem;
  }

  .regtov-about-table__row strong {
    grid-column: 2;
  }

  .regtov-about-table__row p {
    grid-column: 2;
  }
}

@media (max-width: 480px) {
  .regtov-about-hero h1,
  .regtov-contact-hero h1 {
    max-width: none;
  }

  .regtov-contact-panel__phone,
  .regtov-contact-signal__phone {
    white-space: normal;
  }
}

/* ?? Blog hub + article 0.6.0 ?? */
.regtov-bloghub-hero,
.regtov-bloghub-list,
.regtov-article-hero,
.regtov-article-section {
  scroll-margin-top: calc(var(--rt-header-h) + 1rem);
}

.regtov-bloghub-hero {
  padding: 1.75rem 0 1.5rem;
  border-bottom: var(--rt-line);
}

.regtov-bloghub-hero__grid {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 1.5rem 2rem;
  align-items: start;
}

.regtov-bloghub-hero__copy {
  grid-column: 1 / span 6;
  display: grid;
  gap: 0.85rem;
}

.regtov-bloghub-featured {
  grid-column: 7 / span 6;
  display: grid;
  gap: 0.75rem;
  padding: 1rem;
  border: 1px solid var(--rt-text);
  background: var(--rt-surface);
}

.regtov-bloghub-hero h1 {
  margin: 0;
  font-size: clamp(1.85rem, 3.4vw, 2.75rem);
  line-height: 1.08;
  letter-spacing: -0.03em;
  max-width: 18ch;
}

.regtov-bloghub-hero__lead {
  margin: 0;
  max-width: 42ch;
  color: var(--rt-muted);
  font-size: 1rem;
}

.regtov-bloghub-cats {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 1.25rem;
}

.regtov-bloghub-cats a {
  font-family: var(--rt-mono);
  font-size: 0.875rem;
  text-decoration: none;
  color: var(--rt-text);
  min-height: 2.5rem;
  display: inline-flex;
  align-items: center;
  border-bottom: 1px solid transparent;
}

.regtov-bloghub-cats a:hover,
.regtov-bloghub-cats a:focus-visible {
  border-bottom-color: var(--rt-text);
}

.regtov-bloghub-stats {
  margin: 0;
  font-family: var(--rt-mono);
  font-size: 0.875rem;
  display: flex;
  gap: 0.75rem;
  align-items: baseline;
}

.regtov-bloghub-stats span {
  color: var(--rt-blue);
}

.regtov-bloghub-featured__meta {
  margin: 0;
  display: flex;
  gap: 0.75rem;
  font-family: var(--rt-mono);
  font-size: 0.75rem;
  color: var(--rt-muted);
}

.regtov-bloghub-featured__title {
  margin: 0;
  font-size: 1.25rem;
  line-height: 1.25;
}

.regtov-bloghub-featured__title a {
  text-decoration: none;
  color: var(--rt-text);
}

.regtov-bloghub-featured .regtov-picture,
.regtov-bloghub-featured img,
.regtov-blog-row__media .regtov-picture,
.regtov-blog-row__media img,
.regtov-article-hero__media .regtov-picture,
.regtov-article-hero__media img {
  width: 100%;
  height: auto;
  display: block;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.regtov-blog-registry {
  border-top: 1px solid var(--rt-text);
}

.regtov-blog-row {
  display: grid;
  grid-template-columns: 3rem minmax(8rem, 0.7fr) minmax(0, 1.4fr);
  gap: 1rem 1.25rem;
  padding: 1.15rem 0;
  border-bottom: var(--rt-line);
  align-items: start;
}

.regtov-blog-row--lead {
  grid-template-columns: 3rem minmax(12rem, 0.9fr) minmax(0, 1.2fr);
}

.regtov-blog-row__id {
  font-family: var(--rt-mono);
  font-size: 0.8125rem;
  color: var(--rt-blue);
  padding-top: 0.2rem;
}

.regtov-blog-row__meta {
  margin: 0 0 0.35rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1rem;
  font-family: var(--rt-mono);
  font-size: 0.75rem;
  color: var(--rt-muted);
}

.regtov-blog-row h3 {
  margin: 0 0 0.45rem;
  font-size: 1.15rem;
  line-height: 1.3;
}

.regtov-blog-row h3 a {
  text-decoration: none;
  color: var(--rt-text);
}

.regtov-blog-row h3 a:hover,
.regtov-blog-row h3 a:focus-visible {
  color: var(--rt-blue);
}

.regtov-blog-row__body > p {
  margin: 0 0 0.65rem;
  color: var(--rt-muted);
  font-size: 1rem;
  line-height: 1.5;
}

.regtov-blog-row__action {
  font-family: var(--rt-mono);
  font-size: 0.875rem;
  color: var(--rt-orange-ink);
  text-decoration: none;
  min-height: 2.5rem;
  display: inline-flex;
  align-items: center;
}

.regtov-article-hero {
  padding: 1.5rem 0 1.25rem;
  border-bottom: var(--rt-line);
}

.regtov-article-hero__grid {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 1.5rem 2rem;
  align-items: start;
}

.regtov-article-hero__intro {
  grid-column: 1 / span 7;
  display: grid;
  gap: 0.75rem;
  align-content: start;
}

.regtov-article-hero__after {
  grid-column: 1 / span 7;
  display: grid;
  gap: 0.75rem;
  align-content: start;
}

.regtov-article-hero__media {
  grid-column: 8 / span 5;
  grid-row: 1 / span 2;
}

.regtov-article-hero h1 {
  margin: 0;
  font-size: clamp(1.85rem, 3.2vw, 2.65rem);
  line-height: 1.08;
  letter-spacing: -0.03em;
  max-width: 20ch;
}

.regtov-article-hero__cat,
.regtov-article-hero__date {
  margin: 0;
  font-family: var(--rt-mono);
  font-size: 0.8125rem;
  color: var(--rt-muted);
}

.regtov-article-hero__lead {
  margin: 0;
  max-width: 48ch;
  color: var(--rt-muted);
  font-size: 1rem;
  line-height: 1.55;
}

.regtov-article-summary {
  display: grid;
  gap: 0.5rem;
  padding: 0.85rem 0 0;
  border-top: var(--rt-line);
  max-width: 46rem;
}

.regtov-article-summary ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0.45rem;
}

.regtov-article-summary li {
  padding-left: 0.85rem;
  border-left: 2px solid var(--rt-blue);
  color: var(--rt-muted);
  font-size: 1rem;
  line-height: 1.45;
}

.regtov-article-service {
  margin: 0;
  font-size: 1rem;
}

.regtov-article-service a {
  color: var(--rt-orange-ink);
  text-decoration: none;
  font-weight: 600;
}

.regtov-article-layout {
  display: grid;
  grid-template-columns: minmax(11rem, 14rem) minmax(0, 46rem);
  gap: 2rem 3rem;
  padding-block: clamp(1.75rem, 3vw, 2.75rem);
  justify-content: start;
}

.regtov-article-toc {
  position: sticky;
  top: calc(var(--rt-header-h) + 1rem);
  align-self: start;
  display: grid;
  gap: 0.65rem;
}

.regtov-article-toc ol {
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: var(--rt-line);
}

.regtov-article-toc a {
  display: block;
  padding: 0.55rem 0;
  border-bottom: var(--rt-line);
  text-decoration: none;
  color: var(--rt-muted);
  font-size: 0.95rem;
  line-height: 1.35;
}

.regtov-article-toc a:hover,
.regtov-article-toc a:focus-visible {
  color: var(--rt-text);
}

.regtov-article-main {
  min-width: 0;
  max-width: 46rem;
}

.regtov-article-prose {
  font-size: 1rem;
  line-height: 1.65;
  color: var(--rt-text);
}

.regtov-article-prose p,
.regtov-article-prose ul {
  margin: 0 0 1rem;
}

.regtov-article-prose ul {
  padding-left: 1.15rem;
}

.regtov-article-prose a {
  color: var(--rt-orange-ink);
  text-decoration: underline;
  text-underline-offset: 0.18em;
  text-decoration-thickness: 1px;
}

.regtov-article-prose a:visited {
  color: var(--rt-orange-ink);
}

.regtov-article-prose a:hover,
.regtov-article-prose a:focus-visible {
  color: #a82f16;
  text-decoration-thickness: 2px;
  outline: none;
}

.regtov-article-prose a:focus-visible {
  outline: 2px solid var(--rt-blue);
  outline-offset: 3px;
}

.regtov-article-section h2 {
  margin: 1.75rem 0 0.85rem;
  font-size: clamp(1.35rem, 2.2vw, 1.75rem);
  scroll-margin-top: calc(var(--rt-header-h) + 1rem);
}

.regtov-article-note {
  margin: 1.5rem 0;
  padding: 1rem 1.1rem;
  border: 1px solid var(--rt-text);
  background: var(--rt-surface);
  display: grid;
  gap: 0.5rem;
}

.regtov-article-note p,
.regtov-article-disclaimer {
  margin: 0;
  color: var(--rt-muted);
  font-size: 1rem;
  line-height: 1.5;
}

.regtov-article-disclaimer {
  margin: 1rem 0 1.5rem;
  padding-left: 0.85rem;
  border-left: 2px solid var(--rt-border);
}

.regtov-article-sources,
.regtov-article-related,
.regtov-article-services {
  margin-top: 2rem;
  padding-top: 1rem;
  border-top: var(--rt-line);
}

.regtov-article-sources h2,
.regtov-article-related h2,
.regtov-article-services h2 {
  margin: 0.35rem 0 0.75rem;
  font-size: 1.35rem;
}

.regtov-article-sources ul,
.regtov-article-related ul,
.regtov-article-services ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0.35rem;
}

.regtov-article-sources a,
.regtov-article-related a,
.regtov-article-services a {
  display: inline-flex;
  min-height: 2.5rem;
  align-items: center;
  text-decoration: none;
  color: var(--rt-text);
  border-bottom: var(--rt-line);
  width: 100%;
  padding: 0.35rem 0;
}

.regtov-article-sources a:hover,
.regtov-article-related a:hover,
.regtov-article-services a:hover {
  color: var(--rt-blue);
}

.regtov-article-sources__checked {
  margin: 0 0 0.75rem;
  font-family: var(--rt-mono);
  font-size: 0.8125rem;
  color: var(--rt-muted);
}

.regtov-article .regtov-section--faq {
  border-bottom: 0;
  padding-inline: 0;
}

.regtov-home-posts__all {
  font-family: var(--rt-mono);
  font-size: 0.875rem;
  color: var(--rt-text);
  text-decoration: none;
  border-bottom: 1px solid transparent;
}

.regtov-home-posts__all:hover,
.regtov-home-posts__all:focus-visible {
  border-bottom-color: var(--rt-text);
  color: var(--rt-blue);
}

.regtov-home-posts__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.25rem 1.5rem;
}

.regtov-home-post {
  display: grid;
  gap: 0.75rem;
  min-width: 0;
}

.regtov-home-post__media {
  display: block;
  border: 1px solid var(--rt-text);
  overflow: hidden;
  aspect-ratio: 4 / 3;
}

.regtov-home-post__media .regtov-picture,
.regtov-home-post__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.regtov-home-post__cat {
  margin: 0;
  font-family: var(--rt-mono);
  font-size: 0.75rem;
  color: var(--rt-muted);
}

.regtov-home-post__title {
  margin: 0;
  font-size: 1.05rem;
  line-height: 1.25;
  letter-spacing: -0.02em;
}

.regtov-home-post__title a {
  color: inherit;
  text-decoration: none;
}

.regtov-home-post__title a:hover,
.regtov-home-post__title a:focus-visible {
  color: var(--rt-blue);
}

@media (max-width: 900px) {
  .regtov-home-posts__grid {
    grid-template-columns: 1fr;
  }

  .regtov-bloghub-hero__grid,
  .regtov-article-hero__grid,
  .regtov-article-layout {
    grid-template-columns: 1fr;
  }

  .regtov-bloghub-hero__copy,
  .regtov-bloghub-featured,
  .regtov-article-hero__intro,
  .regtov-article-hero__after,
  .regtov-article-hero__media {
    grid-column: 1;
    grid-row: auto;
  }

  .regtov-blog-row,
  .regtov-blog-row--lead {
    grid-template-columns: 2.5rem 1fr;
  }

  .regtov-blog-row__media {
    grid-column: 2;
    max-width: 18rem;
  }

  .regtov-blog-row__body {
    grid-column: 2;
  }

  .regtov-article-toc {
    position: static;
  }
}

/* ?? Geo hub + city 0.7.0 ?? */
.regtov-geohub-hero,
.regtov-geocity-hero {
  padding: 1.75rem 0 1.5rem;
  border-bottom: var(--rt-line);
}

.regtov-geohub-hero__grid,
.regtov-geocity-hero__grid {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 1.5rem 2rem;
  align-items: start;
}

.regtov-geohub-hero__copy,
.regtov-geocity-hero__intro {
  grid-column: 1 / span 6;
  display: grid;
  gap: 0.85rem;
}

.regtov-geohub-hero__media,
.regtov-geocity-hero__media {
  grid-column: 7 / span 6;
}

.regtov-geohub-hero h1,
.regtov-geocity-hero h1 {
  margin: 0;
  font-size: clamp(1.85rem, 3.4vw, 2.75rem);
  line-height: 1.08;
  letter-spacing: -0.03em;
  max-width: 18ch;
}

.regtov-geohub-hero__lead,
.regtov-geocity-hero__lead {
  margin: 0;
  max-width: 46ch;
  color: var(--rt-muted);
  font-size: 1rem;
  line-height: 1.55;
}

.regtov-geohub-hero__media .regtov-picture,
.regtov-geohub-hero__media img,
.regtov-geocity-hero__media .regtov-picture,
.regtov-geocity-hero__media img {
  width: 100%;
  height: auto;
  display: block;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border: 1px solid var(--rt-text);
}

.regtov-geo-registry {
  display: grid;
  gap: 0;
  border-top: var(--rt-line);
}

.regtov-geo-row {
  border-bottom: var(--rt-line);
}

.regtov-geo-row__link {
  display: grid;
  grid-template-columns: 3rem minmax(0, 1fr) 9.5rem;
  gap: 1rem 1.25rem;
  align-items: start;
  padding: 1.15rem 0;
  color: inherit;
  text-decoration: none;
}

.regtov-geo-row__link:hover .regtov-geo-row__title,
.regtov-geo-row__link:focus-visible .regtov-geo-row__title {
  color: var(--rt-orange-ink);
}

.regtov-geo-row__link:hover .regtov-geo-row__action,
.regtov-geo-row__link:focus-visible .regtov-geo-row__action {
  text-decoration: underline;
  text-underline-offset: 0.18em;
}

.regtov-geo-row__link:focus-visible {
  outline: 2px solid var(--rt-blue);
  outline-offset: 3px;
}

.regtov-geo-row__id {
  font-family: var(--rt-mono);
  color: var(--rt-blue);
  font-size: 0.875rem;
}

.regtov-geo-row__body {
  display: grid;
  gap: 0.35rem;
  min-width: 0;
}

.regtov-geo-row__title {
  display: block;
  margin: 0;
  font-size: 1.15rem;
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: 1.25;
}

.regtov-geo-row__meta {
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1rem;
  font-family: var(--rt-mono);
  font-size: 0.75rem;
  color: var(--rt-muted);
}

.regtov-geo-row__action {
  justify-self: end;
  align-self: start;
  font-family: var(--rt-mono);
  font-size: 0.875rem;
  color: var(--rt-orange-ink);
  white-space: nowrap;
  text-align: right;
}

.regtov-geo-list {
  margin: 0.75rem 0 0;
  padding-left: 1.15rem;
  display: grid;
  gap: 0.45rem;
}

.regtov-geo-list a {
  color: var(--rt-orange-ink);
  text-decoration: underline;
  text-underline-offset: 0.18em;
}

.regtov-geo-list a:hover,
.regtov-geo-list a:focus-visible {
  color: #a82f16;
}

.regtov-geo-prose p {
  max-width: 62ch;
  color: var(--rt-muted);
}

.regtov-geo-steps {
  margin: 0.75rem 0 0;
  padding-left: 1.25rem;
  display: grid;
  gap: 1rem;
}

.regtov-geo-steps h3 {
  margin: 0 0 0.35rem;
  font-size: 1.05rem;
}

.regtov-geo-steps p {
  margin: 0;
  max-width: 58ch;
  color: var(--rt-muted);
}

.regtov-geo-passport {
  margin: 1rem 0 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
  gap: 1rem;
}

.regtov-geo-passport dt {
  font-family: var(--rt-mono);
  font-size: 0.75rem;
  color: var(--rt-muted);
}

.regtov-geo-passport dd {
  margin: 0.25rem 0 0;
  font-size: 1.05rem;
}

.regtov-geo-price__value {
  margin: 0.75rem 0;
  font-size: clamp(1.5rem, 3vw, 2rem);
  letter-spacing: -0.02em;
  color: var(--rt-orange-ink);
}

.regtov-geo-price a {
  color: var(--rt-orange-ink);
}

.regtov-geo-disclaimer {
  margin: 0 auto 1.5rem;
  color: var(--rt-muted);
  font-size: 0.9375rem;
}

@media (max-width: 900px) {
  .regtov-geohub-hero__grid,
  .regtov-geocity-hero__grid {
    grid-template-columns: 1fr;
  }

  .regtov-geohub-hero__copy,
  .regtov-geohub-hero__media,
  .regtov-geocity-hero__intro,
  .regtov-geocity-hero__media {
    grid-column: 1;
    grid-row: auto;
  }

  .regtov-geo-row__link {
    grid-template-columns: 2.5rem minmax(0, 1fr);
  }

  .regtov-geo-row__action {
    grid-column: 2;
    justify-self: start;
    text-align: left;
  }
}

/* ?? 404 ?? */
.regtov-404 {
  padding-top: 2.5rem;
  padding-bottom: 1rem;
}

.regtov-404 h1 {
  margin: 0.5rem 0 0.85rem;
  font-size: clamp(1.85rem, 4vw, 2.75rem);
  letter-spacing: -0.03em;
  max-width: 16ch;
}

.regtov-404__lead {
  margin: 0 0 1.25rem;
  max-width: 42ch;
  color: var(--rt-muted);
}

.regtov-404__links {
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}
