:root {
    color-scheme: light;
    --color-page: #f5f8fc;
    --color-page-accent: #edf4ff;
    --color-surface: #ffffff;
    --color-surface-subtle: #f9fbfd;
    --color-ink: #102a43;
    --color-ink-strong: #081d2f;
    --color-text: #243b53;
    --color-muted: #52677d;
    --color-border: #d9e3ee;
    --color-border-strong: #b9c8d8;
    --color-primary: #1456c8;
    --color-primary-hover: #0f45a5;
    --color-primary-soft: #eaf1ff;
    --color-focus: #2f6fed;
    --color-positive: #137a4a;
    --color-positive-soft: #e7f6ef;
    --color-caution: #9a5b08;
    --color-caution-soft: #fff4df;
    --color-critical: #b42318;
    --color-critical-soft: #fff0ee;
    --color-report: #071d32;
    --color-report-soft: #0e2d4d;
    /* Self-hosted; see fonts-20260824-1.css. One family covers Latin, Cyrillic,
       Georgian and Armenian through unicode-range, so no locale needs its own
       stack and every script gets the same real 400-800 weight axis. */
    --font-sans: "CarTrace Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
    --font-mono: ui-monospace, "SFMono-Regular", Consolas, "Liberation Mono", monospace;
    --space-1: 0.25rem;
    --space-2: 0.5rem;
    --space-3: 0.75rem;
    --space-4: 1rem;
    --space-5: 1.5rem;
    --space-6: 2rem;
    --space-7: 3rem;
    --space-8: 4rem;
    --space-9: 6rem;
    --radius-sm: 0.5rem;
    --radius-md: 0.75rem;
    --radius-lg: 1rem;
    --radius-xl: 1.5rem;
    --shadow-sm: 0 1px 2px rgb(16 42 67 / 0.06);
    --shadow-md: 0 18px 48px rgb(16 42 67 / 0.11);
    --shadow-focus: 0 0 0 4px rgb(47 111 237 / 0.2);
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    min-width: 20rem;
    background: var(--color-page);
    color: var(--color-text);
    font-family: var(--font-sans);
    line-height: 1.55;
    text-rendering: optimizeLegibility;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}

body {
    min-height: 100vh;
    margin: 0;
    background:
        radial-gradient(circle at 82% 8%, rgb(234 241 255 / 0.9), transparent 27rem),
        var(--color-page);
}

a {
    color: var(--color-primary);
    text-decoration-thickness: 0.08em;
    text-underline-offset: 0.18em;
}

a:hover {
    color: var(--color-primary-hover);
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
    border-radius: var(--radius-sm);
    outline: 2px solid var(--color-focus);
    outline-offset: 3px;
    box-shadow: var(--shadow-focus);
}

h1,
h2,
h3,
p {
    margin-block-start: 0;
}

h1,
h2,
h3 {
    color: var(--color-ink-strong);
    letter-spacing: -0.035em;
}

h1 {
    max-width: 15ch;
    margin-block-end: var(--space-5);
    font-size: clamp(2.35rem, 7vw, 4.75rem);
    font-weight: 750;
    line-height: 1.03;
}

h2 {
    margin-block-end: var(--space-4);
    font-size: clamp(2rem, 4.5vw, 3.45rem);
    font-weight: 750;
    line-height: 1.08;
}

h3 {
    margin-block-end: var(--space-3);
    font-size: 1.125rem;
    line-height: 1.28;
}

code {
    font-family: var(--font-mono);
}

.shell {
    width: min(100% - 2rem, 75rem);
    margin-inline: auto;
}

.site-header {
    position: relative;
    z-index: 20;
    border-bottom: 1px solid rgb(217 227 238 / 0.82);
    background: rgb(255 255 255 / 0.82);
    backdrop-filter: blur(14px);
}

.site-header__inner {
    display: flex;
    min-height: 4.75rem;
    align-items: center;
    gap: var(--space-5);
}

.wordmark {
    display: inline-flex;
    align-items: center;
    color: var(--color-ink-strong);
    font-size: 1.125rem;
    font-weight: 760;
    letter-spacing: -0.025em;
    text-decoration: none;
}

.wordmark:hover {
    color: var(--color-ink-strong);
}

.wordmark__mark {
    width: 2.25rem;
    height: 1.5rem;
    margin-inline-end: var(--space-3);
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
}

.wordmark__trace,
.wordmark__node {
    stroke: var(--color-primary);
}

.wordmark__node {
    fill: var(--color-primary);
}

.wordmark__accent {
    color: var(--color-primary);
}

.skip-link {
    position: fixed;
    z-index: 100;
    inset: 0 auto auto 1rem;
    padding: 0.65rem 1rem;
    border-radius: 0 0 var(--radius-sm) var(--radius-sm);
    background: var(--color-ink-strong);
    color: white;
    transform: translateY(-120%);
}

.skip-link:focus {
    color: white;
    transform: translateY(0);
}

.primary-nav {
    display: none;
    align-items: center;
    gap: var(--space-5);
    margin-inline: auto;
}

.primary-nav a {
    color: var(--color-text);
    font-size: 0.9rem;
    font-weight: 650;
    text-decoration: none;
}

.primary-nav a:hover {
    color: var(--color-primary);
}

.site-header__actions {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    margin-inline-start: auto;
}

.language-menu {
    position: relative;
}

.language-menu summary {
    display: flex;
    min-height: 2.75rem;
    align-items: center;
    gap: var(--space-2);
    padding: 0.55rem 0.75rem;
    border: 1px solid transparent;
    border-radius: var(--radius-md);
    color: var(--color-ink);
    cursor: pointer;
    font-size: 0.84rem;
    font-weight: 750;
    list-style: none;
}

.language-menu summary::-webkit-details-marker {
    display: none;
}

.language-menu[open] summary {
    border-color: var(--color-border);
    background: var(--color-surface);
}

.language-menu__panel {
    position: absolute;
    inset: calc(100% + 0.5rem) 0 auto auto;
    display: grid;
    min-width: 10rem;
    max-height: calc(100vh - 6rem);
    max-height: calc(100dvh - 6rem);
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: var(--space-2);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    background: var(--color-surface);
    box-shadow: var(--shadow-md);
}

.language-menu__option {
    display: flex;
    width: 100%;
    align-items: center;
    gap: 0.6rem;
    padding: 0.6rem 0.75rem;
    border-radius: var(--radius-sm);
    border: 0;
    background: transparent;
    color: var(--color-text);
    cursor: pointer;
    font: inherit;
    font-weight: 650;
    text-align: start;
    text-decoration: none;
}

.language-menu__option:hover {
    background: var(--color-primary-soft);
}

.language-menu__option--current {
    background: var(--color-primary-soft);
    cursor: default;
}

.language-menu__option--current:hover {
    background: var(--color-primary-soft);
}

.language-menu__option--unavailable {
    cursor: not-allowed;
    opacity: 0.62;
}

.language-menu__option--unavailable:hover {
    background: transparent;
}

.language-menu__copy {
    display: grid;
    gap: 0.08rem;
}

.language-menu__copy small {
    color: var(--color-muted);
    font-size: 0.7rem;
    font-weight: 600;
}

.eyebrow {
    margin-block-end: var(--space-4);
    color: var(--color-primary);
    font-size: 0.8125rem;
    font-weight: 740;
    letter-spacing: 0.09em;
    text-transform: uppercase;
}

.lead {
    max-width: 42rem;
    margin-block-end: var(--space-6);
    color: var(--color-muted);
    font-size: clamp(1.075rem, 2vw, 1.25rem);
    line-height: 1.6;
}

.error-page {
    padding-block: clamp(4rem, 12vw, 8rem);
}

.error-page__inner {
    max-width: 48rem;
}

.button {
    display: inline-flex;
    min-height: 3rem;
    align-items: center;
    justify-content: center;
    padding: 0.75rem 1.25rem;
    border-radius: var(--radius-md);
    font-weight: 700;
    font-family: inherit;
    font-size: 0.95rem;
    border: 1px solid transparent;
    cursor: pointer;
    text-decoration: none;
}

.button--primary {
    background: var(--color-primary);
    color: var(--color-surface);
    box-shadow: 0 8px 20px rgb(20 86 200 / 0.22);
}

.button--primary:hover {
    background: var(--color-primary-hover);
    color: var(--color-surface);
}

.button--secondary {
    border-color: var(--color-border-strong);
    background: var(--color-surface);
    color: var(--color-ink);
}

.button--compact {
    display: none;
    min-height: 2.75rem;
    padding: 0.62rem 1rem;
    font-size: 0.875rem;
}

.button:disabled {
    border-color: var(--color-border);
    background: #e9eef4;
    color: #64778a;
    box-shadow: none;
    cursor: not-allowed;
    opacity: 1;
}

.request-id {
    margin-block-start: var(--space-6);
    color: var(--color-muted);
    font-size: 0.875rem;
}

.request-id code {
    color: var(--color-ink);
    overflow-wrap: anywhere;
}

.product-hero {
    position: relative;
    padding-block: clamp(3.5rem, 8vw, 7.5rem) 0;
    background:
        linear-gradient(130deg, rgb(255 255 255 / 0.93), rgb(246 250 255 / 0.72)),
        radial-gradient(circle at 76% 32%, rgb(170 203 255 / 0.42), transparent 25rem);
}

.product-hero::before,
.product-hero::after {
    position: absolute;
    border-radius: 50%;
    content: "";
    pointer-events: none;
}

.product-hero::before {
    inset: -17rem -13rem auto auto;
    width: 35rem;
    height: 35rem;
    border: 1px solid rgb(20 86 200 / 0.1);
}

.product-hero::after {
    inset: 12rem auto auto -22rem;
    width: 31rem;
    height: 31rem;
    border: 5rem solid rgb(20 86 200 / 0.025);
}

.product-hero__grid {
    position: relative;
    z-index: 1;
    display: grid;
    gap: var(--space-7);
    align-items: center;
}

.product-hero__copy {
    max-width: 43rem;
}

.product-hero__copy h1 {
    max-width: 12ch;
}

.eyebrow {
    display: flex;
    align-items: center;
    gap: var(--space-3);
}

.eyebrow > span {
    width: 1.5rem;
    height: 2px;
    background: currentColor;
}

.hero-proof {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3) var(--space-5);
    padding: 0;
    color: var(--color-muted);
    font-size: 0.875rem;
    font-weight: 650;
    list-style: none;
}

.hero-proof li {
    display: flex;
    align-items: center;
    gap: var(--space-2);
}

.hero-proof span {
    display: inline-grid;
    width: 1.25rem;
    height: 1.25rem;
    place-items: center;
    border-radius: 50%;
    background: var(--color-positive-soft);
    color: var(--color-positive);
    font-size: 0.7rem;
}

.product-hero__search {
    min-width: 0;
}

.field-help {
    color: var(--color-muted);
    font-size: 0.8rem;
    margin: var(--space-3) 0 0;
}

.section {
    padding-block: clamp(4.5rem, 9vw, 8rem);
}

.section--white {
    background: var(--color-surface);
}

.section-heading {
    max-width: 48rem;
    margin-block-end: clamp(2.5rem, 6vw, 4.5rem);
}

.section-heading > p:last-child,
.section-heading--split > p {
    max-width: 39rem;
    color: var(--color-muted);
    font-size: 1.05rem;
}

.process-grid,
.coverage-grid,
.report-benefits,
.price-card ul {
    padding: 0;
    list-style: none;
}

.process-grid {
    display: grid;
    gap: var(--space-5);
    counter-reset: step;
}

.process-grid > li {
    position: relative;
    min-height: 18rem;
    padding: var(--space-6);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    background: var(--color-surface-subtle);
}

.process-grid__number {
    position: absolute;
    inset: var(--space-5) var(--space-5) auto auto;
    color: var(--color-border-strong);
    font-family: var(--font-mono);
    font-size: 0.78rem;
    font-weight: 800;
}

.process-grid__icon {
    position: relative;
    width: var(--icon-size-feature);
    height: var(--icon-size-feature);
    margin-block-end: var(--space-7);
    border: 1px solid #cfe0fd;
    border-radius: var(--radius-md);
    background: var(--color-primary-soft);
}

.process-grid h3 {
    font-size: 1.25rem;
}

.process-grid p,
.coverage-grid p {
    margin: 0;
    color: var(--color-muted);
    font-size: 0.94rem;
}

.coverage-section {
    background:
        linear-gradient(rgb(245 248 252 / 0.93), rgb(245 248 252 / 0.93)),
        radial-gradient(circle at 16% 20%, var(--color-primary-soft), transparent 22rem);
}

.coverage-grid {
    display: grid;
    gap: var(--space-4);
}

.coverage-grid article {
    padding: var(--space-5);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    background: rgb(255 255 255 / 0.82);
    box-shadow: var(--shadow-sm);
}

.coverage-grid__icon {
    display: inline-grid;
    width: var(--icon-size-feature);
    height: var(--icon-size-feature);
    margin-block-end: var(--space-5);
    place-items: center;
    border-radius: 50%;
    background: var(--color-primary-soft);
    color: var(--color-primary);
    font-family: var(--font-mono);
    font-size: 0.7rem;
    font-weight: 800;
}

.coverage-note {
    display: flex;
    max-width: 58rem;
    align-items: flex-start;
    gap: var(--space-3);
    margin: var(--space-6) 0 0;
    padding: var(--space-4) var(--space-5);
    border: 1px solid #cfdced;
    border-radius: var(--radius-md);
    background: #eef4fb;
    color: var(--color-muted);
    font-size: 0.875rem;
}

.coverage-note span {
    display: inline-grid;
    flex: 0 0 auto;
    width: 1.25rem;
    height: 1.25rem;
    place-items: center;
    border: 1px solid var(--color-primary);
    border-radius: 50%;
    color: var(--color-primary);
    font-family: serif;
    font-size: 0.8rem;
    font-weight: 700;
}

.section--report {
    position: relative;
    color: #d9e7f5;
    background:
        radial-gradient(circle at 88% 12%, rgb(46 105 174 / 0.4), transparent 28rem),
        linear-gradient(145deg, var(--color-report), #0a2743);
}

.report-showcase {
    display: grid;
    gap: clamp(3rem, 8vw, 6rem);
    align-items: center;
}

.report-showcase__copy h2 {
    color: white;
}

.report-showcase__copy > p:not(.eyebrow) {
    max-width: 36rem;
    color: #b9cadb;
    font-size: 1.05rem;
}

.eyebrow--light {
    color: #8fbaff;
}

.report-benefits {
    display: grid;
    gap: var(--space-5);
    margin-block-start: var(--space-7);
}

.report-benefits li {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: var(--space-4);
}

.report-benefits > li > span {
    color: #6e9ce0;
    font-family: var(--font-mono);
    font-size: 0.72rem;
    font-weight: 800;
}

.report-benefits strong {
    display: block;
    color: white;
    font-size: 0.95rem;
}

.report-benefits p {
    margin: var(--space-1) 0 0;
    color: #9fb5c9;
    font-size: 0.86rem;
}

.report-window {
    overflow: hidden;
    border: 1px solid rgb(255 255 255 / 0.18);
    border-radius: var(--radius-xl);
    background: #f7fafd;
    box-shadow: 0 38px 100px rgb(0 7 16 / 0.44);
    color: var(--color-text);
    transform: rotate(0.5deg);
}

.report-window__bar {
    display: flex;
    min-height: 2.75rem;
    align-items: center;
    gap: 0.35rem;
    padding: 0 var(--space-4);
    border-bottom: 1px solid var(--color-border);
    background: white;
}

.report-window__bar > span {
    width: 0.5rem;
    height: 0.5rem;
    border-radius: 50%;
    background: #d5dfe9;
}

.report-window__address {
    overflow: hidden;
    flex: 1;
    margin-inline-start: var(--space-3);
    padding: 0.35rem 0.6rem;
    border-radius: var(--radius-sm);
    background: #f0f4f8;
    color: #71869a;
    font-family: var(--font-mono);
    font-size: 0.62rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.report-window__body {
    display: grid;
    grid-template-columns: 2.7rem minmax(0, 1fr);
    min-height: 27rem;
}

.report-window__rail {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-5);
    padding-block: var(--space-4);
    background: var(--color-report);
}

.report-window__mini-mark,
.report-window__rail span {
    width: 0.85rem;
    height: 0.18rem;
    border-radius: 1rem;
    background: #4f6b84;
}

.report-window__mini-mark {
    height: 0.85rem;
    margin-block-end: var(--space-4);
    background: var(--color-primary);
}

.report-window__rail .is-active {
    background: #8fbaff;
}

.report-window__content {
    min-width: 0;
    padding: clamp(1.25rem, 4vw, 2rem);
}

.report-window__identity {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: var(--space-4);
    padding-block-end: var(--space-5);
    border-bottom: 1px solid var(--color-border);
}

.preview-label {
    margin-block-end: var(--space-2);
    color: var(--color-primary);
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.09em;
    text-transform: uppercase;
}

.report-window__identity h3 {
    margin-block-end: var(--space-1);
}

.report-window__identity p:not(.preview-label) {
    margin: 0;
    color: var(--color-muted);
    font-size: 0.75rem;
}

.source-badge {
    align-self: flex-start;
    padding: 0.4rem 0.6rem;
    border: 1px solid #cfe0fd;
    border-radius: 2rem;
    background: var(--color-primary-soft);
    color: var(--color-primary);
    font-size: 0.62rem;
    font-weight: 750;
}

.signal-grid {
    display: grid;
    gap: var(--space-3);
    margin-block-start: var(--space-5);
}

.signal-card {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    padding: var(--space-3);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    background: white;
}

.signal-card__icon {
    display: grid;
    flex: 0 0 auto;
    width: 2rem;
    height: 2rem;
    place-items: center;
    border-radius: 50%;
    font-weight: 800;
}

.signal-card--clear .signal-card__icon {
    background: var(--color-positive-soft);
    color: var(--color-positive);
}

.signal-card--review .signal-card__icon {
    background: var(--color-caution-soft);
    color: var(--color-caution);
}

.signal-card--neutral .signal-card__icon {
    background: var(--color-primary-soft);
    color: var(--color-primary);
}

.signal-card strong,
.signal-card span:last-child {
    display: block;
}

.signal-card strong {
    color: var(--color-ink);
    font-size: 0.76rem;
}

.signal-card span:last-child {
    color: var(--color-muted);
    font-size: 0.64rem;
}

.report-window__disclaimer {
    margin: var(--space-5) 0 0;
    color: var(--color-muted);
    font-size: 0.67rem;
}

.pricing-section {
    max-width: 67rem;
}

.section-heading--center {
    margin-inline: auto;
    text-align: center;
}

.section-heading--center .eyebrow {
    justify-content: center;
}

.section-heading--center > p:last-child {
    margin-inline: auto;
}

.pricing-grid {
    display: grid;
    gap: var(--space-5);
}

.price-card {
    position: relative;
    display: flex;
    min-width: 0;
    flex-direction: column;
    padding: clamp(1.5rem, 5vw, 2.25rem);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-xl);
    background: var(--color-surface-subtle);
}

.price-card--featured {
    border-color: #adc7f0;
    background: linear-gradient(145deg, white, #f2f7ff);
    box-shadow: var(--shadow-md);
}

.price-card__badge {
    position: absolute;
    inset: 0 var(--space-5) auto auto;
    padding: 0.42rem 0.7rem;
    border-radius: 0 0 var(--radius-sm) var(--radius-sm);
    background: var(--color-primary);
    color: white;
    font-size: 0.68rem;
    font-weight: 750;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.price-card__eyebrow {
    color: var(--color-primary);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.price-card h3 {
    font-size: 1.45rem;
}

.price-card > p:not(.price-card__eyebrow) {
    min-height: 4.5rem;
    color: var(--color-muted);
}

.price-card__pending {
    min-height: 2.5rem;
    margin-block: var(--space-3);
    color: var(--color-ink-strong);
    font-size: clamp(1.15rem, 3vw, 1.45rem);
    font-weight: 750;
}

.price-card ul {
    display: grid;
    gap: var(--space-3);
    margin-block: var(--space-5) var(--space-6);
}

.price-card li {
    display: flex;
    align-items: flex-start;
    gap: var(--space-2);
    color: var(--color-text);
    font-size: 0.9rem;
}

.price-card li span {
    color: var(--color-positive);
    font-weight: 800;
}

.price-card .button {
    width: 100%;
    margin-block-start: auto;
}

.pricing-disclosure {
    max-width: 44rem;
    margin: var(--space-5) auto 0;
    color: var(--color-muted);
    font-size: 0.8rem;
    text-align: center;
}

.faq-section {
    background: linear-gradient(180deg, var(--color-page), #eef4fa);
}

.faq-grid {
    display: grid;
    gap: var(--space-7);
}

.faq-list {
    display: grid;
    align-self: start;
}

.faq-list details {
    border-top: 1px solid var(--color-border-strong);
}

.faq-list details:last-child {
    border-bottom: 1px solid var(--color-border-strong);
}

.faq-list summary {
    position: relative;
    padding: var(--space-5) 2.5rem var(--space-5) 0;
    color: var(--color-ink);
    cursor: pointer;
    font-weight: 720;
    list-style: none;
}

.faq-list summary::-webkit-details-marker {
    display: none;
}

.faq-list details p {
    max-width: 42rem;
    margin-block: 0 var(--space-5);
    padding-inline-end: var(--space-6);
    color: var(--color-muted);
    font-size: 0.94rem;
}

.site-footer {
    padding-block: var(--space-8) var(--space-5);
    border-top: 1px solid rgb(255 255 255 / 0.08);
    background: #061726;
    color: #9fb2c4;
}

.site-footer__grid {
    display: grid;
    gap: var(--space-6);
}

.wordmark--footer {
    color: white;
}

.wordmark--footer:hover {
    color: white;
}

.site-footer__grid p {
    max-width: 30rem;
    margin: var(--space-3) 0 0;
    font-size: 0.9rem;
}

.site-footer__status {
    display: flex;
    align-items: flex-start;
    gap: var(--space-3);
    padding: var(--space-4);
    border: 1px solid #1c354b;
    border-radius: var(--radius-md);
    background: #0a2033;
}

.site-footer__status p {
    margin: 0;
    font-size: 0.8rem;
}

.site-footer__bottom {
    margin-block-start: var(--space-7);
    padding-block-start: var(--space-4);
    border-top: 1px solid #1c354b;
}

.site-footer__bottom p {
    margin: 0;
    font-size: 0.75rem;
}

.result-facts {
    display: grid;
    gap: var(--space-3);
}

.result-facts div {
    padding: var(--space-4);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    background: var(--color-surface-subtle);
}

.result-facts dt {
    color: var(--color-muted);
    font-size: 0.75rem;
    font-weight: 700;
}

.result-facts dd {
    margin: var(--space-2) 0 0;
    color: var(--color-ink);
}

.checkout-review {
    display: grid;
    gap: var(--space-5);
    padding: var(--space-6);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    background: var(--color-surface);
}

.checkout-review__heading h2,
.checkout-review__section h3 {
    margin-block: 0;
    color: var(--color-ink-strong);
}

.checkout-review__availability,
.checkout-review__notice,
.checkout-review__section p {
    margin: 0;
}

.checkout-review__availability strong {
    color: var(--color-caution);
}

.checkout-review__notice {
    padding: var(--space-3) var(--space-4);
    border-inline-start: 0.25rem solid var(--color-caution);
    background: var(--color-surface-subtle);
}

.checkout-review__facts {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
    gap: var(--space-3);
    margin: 0;
}

.checkout-review__facts div,
.checkout-review__section {
    padding: var(--space-4);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
}

.checkout-review__facts dt {
    color: var(--color-muted);
    font-size: 0.875rem;
}

.checkout-review__facts dd {
    margin: var(--space-2) 0 0;
    color: var(--color-ink-strong);
    font-weight: 700;
}

.checkout-review__section {
    display: grid;
    gap: var(--space-3);
}

.checkout-review__section ul {
    display: grid;
    gap: var(--space-2);
    margin: 0;
    padding-inline-start: 1.25rem;
}

.checkout-review__section li::marker {
    color: var(--color-primary);
}

@media (min-width: 48rem) {
    .shell {
        width: min(100% - 4rem, 75rem);
    }

    .button--compact {
        display: inline-flex;
    }

    .product-hero__grid {
        grid-template-columns: minmax(0, 1fr) minmax(22rem, 0.8fr);
    }

    .section-heading--split {
        display: grid;
        max-width: none;
        grid-template-columns: minmax(0, 1fr) minmax(20rem, 0.75fr);
        align-items: end;
        gap: var(--space-8);
    }

    .section-heading--split > p {
        margin-block-end: var(--space-4);
    }

    .process-grid,
    .coverage-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .report-showcase {
        grid-template-columns: minmax(0, 0.75fr) minmax(24rem, 1.1fr);
    }

    .signal-grid,
    .pricing-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .signal-card:last-child {
        grid-column: 1 / -1;
    }

    .faq-grid {
        grid-template-columns: minmax(16rem, 0.62fr) minmax(0, 1fr);
        gap: var(--space-9);
    }

    .site-footer__grid {
        grid-template-columns: 1fr minmax(18rem, 0.65fr);
        align-items: center;
    }

    .result-facts {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 75rem) {
    .product-hero__grid {
        grid-template-columns: minmax(0, 0.85fr) minmax(34rem, 1fr);
    }
}

@media (min-width: 72rem) {
    .primary-nav {
        display: flex;
    }

    .language-menu__current {
        display: inline;
    }
}

@media (max-width: 30rem) {
    .site-header__actions .button {
        display: none;
    }

    .language-menu summary {
        gap: 0.35rem;
        padding-inline: 0.5rem;
    }

    .language-menu__current {
        display: inline;
        font-size: 0.75rem;
    }

    .site-header__inner {
        min-height: 4.25rem;
    }

    .wordmark__mark {
        margin-inline-end: var(--space-2);
    }

    .report-window {
        margin-inline: -0.5rem;
    }
}

@media (prefers-reduced-motion: no-preference) {
    a:not(.skip-link),
    .button {
        transition: color 160ms ease, background-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
    }
}

/* --- Script-specific typography -------------------------------------------
 *
 * The per-locale --font-sans redefinitions that used to live here are gone.
 * They existed because the site had no webfont: Georgian had to name
 * "Noto Sans Georgian"/"Sylfaen" ahead of the Latin stack, Armenian had to name
 * "Noto Sans Armenian", and every other locale had to name a stack that
 * excluded both so their Latin did not shift. That produced a further problem
 * a separate `[lang] { font-family: … }` rule had to work around — a nested
 * element could not re-resolve an inherited var(), so the language switcher's
 * own labels rendered in the surrounding page's script stack. That rule is
 * gone too; html's single declaration now inherits correctly everywhere.
 *
 * fonts-20260824-1.css selects the script per character through unicode-range
 * instead, from one family, so all of that disappears: "English" inside a
 * Georgian page now resolves to exactly the same face as on an English page,
 * with no rule saying so.
 *
 * What remains below is the part a font cannot fix. Mkhedruli runs wider per
 * word than Latin and carries deep descenders (ქ ღ წ ჭ ყ ჯ ლ ჰ); Armenian runs
 * wider still. The ch-based caps and line-heights here keep those headlines
 * from wrapping into the layout, and are unrelated to which font is loaded.
 */

:lang(ka) h1,
:lang(ka) h2,
:lang(ka) h3,
:lang(hy) h1,
:lang(hy) h2,
:lang(hy) h3 {
    letter-spacing: normal;
}

/*
 * Neither Georgian nor Russian hyphenates here, so a headline is only as narrow
 * as its longest single word. Measured on the live pages, that word renders
 * about 7.3x the font size wide in Georgian and up to 7.9x in Russian, against
 * roughly 3.6x for the English equivalents — which is why the display sizes
 * above were safe in English and overflowed by up to 89px in Georgian.
 * Each ceiling below is set from the narrowest column that carries the word.
 */
:lang(ka) h1 {
    max-width: 23ch;
    font-size: clamp(2.6rem, 5.4vw, 4.3rem);
    line-height: 1.15;
}

:lang(ru) .product-hero__copy h1 {
    font-size: clamp(2.35rem, 6.2vw, 5.2rem);
}

/* Armenian runs longer per word than any other locale here: the widest headline
   word is 18 characters against 17 in Georgian and 14 in Russian. */
:lang(hy) h1 {
    max-width: 24ch;
    font-size: clamp(2.55rem, 5.3vw, 4.2rem);
    line-height: 1.18;
}

:lang(hy) h2 {
    line-height: 1.22;
}

/*
 * The mobile step above this breakpoint jumps h1 to 12.5vw, which overflowed
 * the error-page column in Russian. These keep the intended mobile scale —
 * within about 10% of the English size — while still fitting the longest word.
 */
@media (max-width: 47.99rem) {
    :lang(ka) h1,
    :lang(hy) h1,
    :lang(ru) h1,
    :lang(ru) .product-hero__copy h1 {
        font-size: clamp(2.4rem, 11.2vw, 4rem);
    }
}

/* Last-resort guard: engages only for a word that cannot fit its column at all,
   so a future string can never overflow the layout the way these did. */
:lang(ka) h1,
:lang(ka) h2,
:lang(ru) h1,
:lang(ru) h2,
:lang(hy) h1,
:lang(hy) h2,
:lang(kk) h1,
:lang(kk) h2,
:lang(az) h1,
:lang(az) h2 {
    overflow-wrap: break-word;
}

:lang(ka) h2 {
    line-height: 1.2;
}

:lang(ka) .product-hero__copy h1 {
    max-width: 17ch;
}

:lang(ka) .pricing__title {
    max-width: 30ch;
}

:lang(ka) .admin-plain__statement {
    max-width: 21ch;
    line-height: 1.2;
}

@media (min-width: 48rem) {
    :lang(ka) .admin-plain__statement {
        max-width: 30ch;
    }
}
