:root {
    color-scheme: light;
    --bg: #f3f1eb;
    --surface: #fbfaf7;
    --surface-2: #e9e6de;
    --text: #11110f;
    --text-soft: #55534d;
    --line: #c7c3b9;
    --line-strong: #8b877e;
    --inverse-bg: #0d0d0c;
    --inverse-surface: #171715;
    --inverse-text: #f6f4ee;
    --inverse-soft: #aaa79f;
    --inverse-line: #373631;
    --signal: #11110f;
    --success: #1f5a3c;
    --warning: #8b5a16;
    --danger: #8a2f2a;
    --info: #55534d;
    --shadow: 0 24px 70px rgba(17, 17, 15, .12);
    --radius-sm: .35rem;
    --radius-md: .8rem;
    --radius-lg: 1.35rem;
    --shell: min(92rem, calc(100% - 3rem));
    --font-sans: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
    --font-mono: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;
    --ease: cubic-bezier(.2, .7, .2, 1);
}

html[data-theme="light"] { color-scheme: light; }

html[data-theme="dark"] {
    color-scheme: dark;
    --bg: #0d0d0c;
    --surface: #151513;
    --surface-2: #22221f;
    --text: #f6f4ee;
    --text-soft: #aaa79f;
    --line: #393833;
    --line-strong: #6e6b63;
    --inverse-bg: #f3f1eb;
    --inverse-surface: #fbfaf7;
    --inverse-text: #11110f;
    --inverse-soft: #55534d;
    --inverse-line: #c7c3b9;
    --signal: #f6f4ee;
    --success: #88c8a3;
    --warning: #d8ae6b;
    --danger: #df8e86;
    --info: #aaa79f;
    --shadow: 0 24px 70px rgba(0, 0, 0, .34);
}

@media (prefers-color-scheme: dark) {
    html[data-theme="system"] {
        color-scheme: dark;
        --bg: #0d0d0c;
        --surface: #151513;
        --surface-2: #22221f;
        --text: #f6f4ee;
        --text-soft: #aaa79f;
        --line: #393833;
        --line-strong: #6e6b63;
        --inverse-bg: #f3f1eb;
        --inverse-surface: #fbfaf7;
        --inverse-text: #11110f;
        --inverse-soft: #55534d;
        --inverse-line: #c7c3b9;
        --signal: #f6f4ee;
        --success: #88c8a3;
        --warning: #d8ae6b;
        --danger: #df8e86;
        --info: #aaa79f;
        --shadow: 0 24px 70px rgba(0, 0, 0, .34);
    }
}

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

html {
    scroll-behavior: smooth;
    text-size-adjust: 100%;
    background: var(--bg);
}

body {
    margin: 0;
    min-width: 20rem;
    background: var(--bg);
    color: var(--text);
    font-family: var(--font-sans);
    font-size: 1rem;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

body::before {
    position: fixed;
    inset: 0;
    z-index: -2;
    pointer-events: none;
    content: "";
    opacity: .26;
    background-image:
        linear-gradient(to right, transparent calc(100% - 1px), var(--line) 1px),
        linear-gradient(to bottom, transparent calc(100% - 1px), var(--line) 1px);
    background-size: 5rem 5rem;
    mask-image: linear-gradient(to bottom, #000, transparent 80%);
}

::selection { background: var(--text); color: var(--bg); }

img, svg { display: block; max-width: 100%; }
button, input, textarea, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; text-decoration-thickness: .08em; text-underline-offset: .2em; }
a:hover { text-decoration-thickness: .14em; }

h1, h2, h3, p, ol, ul, dl, dd, figure, pre { margin-top: 0; }
h1, h2, h3 { font-weight: 500; letter-spacing: -.045em; line-height: 1.04; }
h1 { font-size: clamp(3.2rem, 8.6vw, 8.3rem); }
h2 { font-size: clamp(2.3rem, 5vw, 5.2rem); }
h3 { font-size: clamp(1.25rem, 2vw, 1.7rem); }

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

.sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.skip-link {
    position: fixed;
    z-index: 9999;
    top: .75rem;
    left: .75rem;
    padding: .75rem 1rem;
    background: var(--text);
    color: var(--bg);
    transform: translateY(-180%);
    transition: transform .2s ease;
}
.skip-link:focus { transform: translateY(0); }

.shell { width: var(--shell); margin-inline: auto; }
.narrow-shell { max-width: 66rem; }
.max-copy { max-width: 66rem; }
.section { position: relative; padding: clamp(5rem, 9vw, 10rem) 0; }
.section-dark { background: var(--inverse-bg); color: var(--inverse-text); }
.section-tonal { background: var(--surface-2); color: var(--text); }
.section-ruled { border-block: 1px solid var(--line); }
.section-grid { position: relative; overflow: hidden; }
.section-grid::after {
    position: absolute;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    content: "";
    background:
        linear-gradient(120deg, transparent 0 48%, color-mix(in srgb, var(--line) 55%, transparent) 48% 48.08%, transparent 48.08%),
        radial-gradient(circle at 77% 42%, color-mix(in srgb, var(--text) 5%, transparent), transparent 38%);
}

.eyebrow {
    display: flex;
    gap: .55rem;
    align-items: center;
    margin-bottom: 1.6rem;
    color: var(--text-soft);
    font-family: var(--font-mono);
    font-size: .72rem;
    font-weight: 650;
    letter-spacing: .15em;
    line-height: 1.3;
    text-transform: uppercase;
}
.eyebrow span { color: currentColor; opacity: .72; }
.section-dark .eyebrow { color: var(--inverse-soft); }
.lead { max-width: 62rem; color: var(--text-soft); font-size: clamp(1.15rem, 2vw, 1.55rem); line-height: 1.55; }
.lead-small { color: inherit; opacity: .76; font-size: clamp(1.05rem, 1.6vw, 1.35rem); line-height: 1.6; }
.caption, .microcopy, .form-note { color: var(--text-soft); font-family: var(--font-mono); font-size: .72rem; line-height: 1.6; }
.section-dark .caption, .section-dark .microcopy, .section-dark .form-note { color: var(--inverse-soft); }
.text-link { display: inline-flex; gap: .55rem; align-items: center; font-weight: 700; text-decoration: none; }
.text-link span { transition: transform .2s var(--ease); }
.text-link:hover span { transform: translateX(.25rem); }

/* Header */
.site-header {
    position: sticky;
    z-index: 1000;
    top: 0;
    border-bottom: 1px solid color-mix(in srgb, var(--line) 74%, transparent);
    background: color-mix(in srgb, var(--bg) 88%, transparent);
    backdrop-filter: blur(18px) saturate(120%);
}
.header-inner { min-height: 5.2rem; display: grid; grid-template-columns: minmax(12rem, 1fr) auto minmax(12rem, 1fr); align-items: center; gap: 2rem; }
.brand { display: inline-flex; width: fit-content; color: var(--text); text-decoration: none; }
.brand-logo { width: 13.8rem; height: auto; overflow: visible; }
.logo-orbit, .logo-link, .logo-s { fill: none; stroke: currentColor; stroke-width: 1.6; vector-effect: non-scaling-stroke; }
.logo-orbit { stroke-dasharray: 24 4 2 4; }
.logo-s { stroke-width: 2.1; stroke-linecap: round; }
.logo-node { fill: currentColor; }
.brand-word { fill: currentColor; font-family: var(--font-sans); font-size: 18px; font-weight: 650; letter-spacing: 4.1px; }
.primary-nav { display: flex; gap: 1.65rem; align-items: center; }
.primary-nav a { position: relative; color: var(--text-soft); font-size: .82rem; font-weight: 650; text-decoration: none; }
.primary-nav a::after { position: absolute; right: 0; bottom: -.75rem; left: 0; height: 1px; content: ""; background: var(--text); transform: scaleX(0); transform-origin: right; transition: transform .2s var(--ease); }
.primary-nav a:hover, .primary-nav a[aria-current="page"] { color: var(--text); }
.primary-nav a:hover::after, .primary-nav a[aria-current="page"]::after { transform: scaleX(1); transform-origin: left; }
.header-actions { justify-self: end; display: flex; gap: .75rem; align-items: center; }
.language-switcher { display: flex; gap: .3rem; align-items: center; color: var(--text-soft); font-family: var(--font-mono); font-size: .68rem; }
.language-switcher a { text-decoration: none; }
.language-switcher a[aria-current="true"] { color: var(--text); font-weight: 800; }
.icon-button { display: inline-grid; width: 2.75rem; height: 2.75rem; place-items: center; border: 1px solid var(--line); border-radius: 50%; background: transparent; color: var(--text); cursor: pointer; transition: background .2s, color .2s, border-color .2s; }
.icon-button:hover { border-color: var(--text); background: var(--text); color: var(--bg); }
.icon-button svg { width: 1.15rem; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; }
.menu-toggle { display: none; }
.theme-icon-light { display: none; }
html[data-theme="dark"] .theme-icon-dark { display: none; }
html[data-theme="dark"] .theme-icon-light { display: block; }
@media (prefers-color-scheme: dark) {
    html[data-theme="system"] .theme-icon-dark { display: none; }
    html[data-theme="system"] .theme-icon-light { display: block; }
}

/* Buttons and forms */
.button {
    display: inline-flex;
    min-height: 3.2rem;
    padding: .8rem 1.25rem;
    gap: .65rem;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--text);
    border-radius: 999px;
    font-size: .82rem;
    font-weight: 750;
    letter-spacing: .01em;
    line-height: 1;
    text-decoration: none;
    cursor: pointer;
    transition: transform .2s var(--ease), background .2s, color .2s, border-color .2s;
}
.button:hover { transform: translateY(-2px); text-decoration: none; }
.button:focus-visible, .icon-button:focus-visible, input:focus-visible, summary:focus-visible, a:focus-visible { outline: 2px solid var(--text); outline-offset: 4px; }
.button-solid { background: var(--text); color: var(--bg); }
.button-solid:hover { background: transparent; color: var(--text); }
.button-outline { background: transparent; color: var(--text); }
.button-outline:hover { background: var(--text); color: var(--bg); }
.button-small { min-height: 2.75rem; padding: .65rem 1rem; }
.section-dark .button-solid, .scope-card-inverse .button-solid { border-color: var(--inverse-text); background: var(--inverse-text); color: var(--inverse-bg); }
.section-dark .button-solid:hover, .scope-card-inverse .button-solid:hover { background: transparent; color: var(--inverse-text); }

.scan-form { width: 100%; margin-top: 2.5rem; }
.scan-input-wrap {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: .25rem;
    align-items: center;
    padding: .45rem;
    border: 1px solid var(--line-strong);
    border-radius: 999px;
    background: var(--surface);
    box-shadow: 0 0 0 7px color-mix(in srgb, var(--surface) 56%, transparent);
}
.scan-prefix { padding-left: 1.1rem; color: var(--text-soft); font-family: var(--font-mono); font-size: .8rem; }
.scan-input-field { position: relative; min-width: 0; }
.scan-demo-ghost {
    position: absolute;
    top: 50%;
    left: .35rem;
    z-index: 1;
    max-width: calc(100% - .7rem);
    overflow: hidden;
    transform: translateY(-50%);
    color: color-mix(in srgb, var(--text) 72%, var(--text-soft));
    font-family: var(--font-mono);
    font-size: 1rem;
    line-height: 1;
    white-space: nowrap;
    pointer-events: none;
}
.scan-form-demo.is-demo-running .scan-demo-ghost::after {
    content: '';
    display: inline-block;
    width: 1px;
    height: 1.05em;
    margin-left: .12rem;
    vertical-align: -.15em;
    background: currentColor;
    animation: scan-demo-caret .72s step-end infinite;
}
.scan-form-demo.is-demo-running .scan-input-wrap input::placeholder { color: transparent; }
.scan-form-demo .scan-submit { transition: box-shadow .24s ease, transform .24s ease, border-color .24s ease; }
.scan-form-demo.is-demo-ready .scan-submit {
    transform: translateY(-1px);
    border-color: color-mix(in srgb, var(--brand) 52%, var(--line-strong));
    box-shadow: 0 0 0 4px color-mix(in srgb, var(--brand) 12%, transparent);
}
@keyframes scan-demo-caret { 0%, 48% { opacity: 1; } 49%, 100% { opacity: 0; } }
@media (prefers-reduced-motion: reduce) {
    .scan-form-demo .scan-demo-ghost { display: none; }
    .scan-form-demo .scan-submit { transition: none; }
}
.scan-input-wrap input {
    width: 100%; min-width: 0; padding: .85rem .35rem; border: 0; outline: 0; background: transparent; color: var(--text); font-size: 1rem;
}
.scan-input-wrap input::placeholder { color: color-mix(in srgb, var(--text-soft) 64%, transparent); }
.scan-submit { min-height: 3.35rem; padding-inline: 1.25rem; white-space: nowrap; }
.scan-submit svg { width: 1.15rem; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.scan-form-status { min-height: 1.2rem; margin: .7rem 1rem 0; color: var(--text-soft); font-family: var(--font-mono); font-size: .72rem; }
.scan-form.is-loading .scan-submit { pointer-events: none; opacity: .72; }
.scan-form.is-loading .scan-submit svg { animation: arrow-pulse .8s infinite alternate; }
.scan-form-compact { max-width: 54rem; margin-inline: auto; }

/* Hero */
.section-grid-hero { padding-top: clamp(5rem, 9vw, 10rem); }
.hero-grid { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(25rem, .92fr); gap: clamp(3rem, 8vw, 9rem); align-items: center; }
.hero-copy h1 { max-width: 12ch; margin-bottom: 2rem; }
.hero-copy h1 span, .hero-copy h1 strong { display: block; }
.hero-copy h1 strong { font-weight: 320; color: var(--text-soft); }
.hero-copy .lead { max-width: 48rem; }
.form-note { margin: 1rem 1.2rem 0; }
.hero-visual { position: relative; }
.scan-field { position: relative; overflow: hidden; min-height: 43rem; border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--surface); box-shadow: var(--shadow); }
.scan-field::before { position: absolute; inset: 0; content: ""; background-image: linear-gradient(to right, transparent calc(100% - 1px), var(--line) 1px), linear-gradient(to bottom, transparent calc(100% - 1px), var(--line) 1px); background-size: 3rem 3rem; opacity: .25; }
.scan-field-header { position: relative; z-index: 1; display: flex; justify-content: space-between; padding: 1.15rem 1.35rem; border-bottom: 1px solid var(--line); color: var(--text-soft); font-family: var(--font-mono); font-size: .68rem; letter-spacing: .1em; }
.live-dot { display: flex; gap: .4rem; align-items: center; }
.live-dot::before { width: .45rem; height: .45rem; border-radius: 50%; content: ""; background: var(--text); box-shadow: 0 0 0 .28rem color-mix(in srgb, var(--text) 12%, transparent); }
.scan-field-orbit { position: relative; z-index: 1; padding: 1rem; }
.scan-field-orbit svg { width: min(100%, 31rem); margin: auto; overflow: visible; }
.field-ring, .field-link { fill: none; stroke: var(--line-strong); stroke-width: 1; stroke-dasharray: 3 8; }
.field-ring-a { stroke-dasharray: 58 11 4 9; }
.field-ring-b { stroke-dasharray: 20 8; opacity: .65; }
.field-ring-c { stroke-dasharray: 2 6; opacity: .48; }
.field-link { stroke-dasharray: 2 5; opacity: .6; }
.field-node circle { fill: var(--surface); stroke: var(--text); stroke-width: 1.2; }
.field-node circle + circle { fill: var(--text); }
.field-node-main circle { fill: var(--text); }
.field-node-main path { fill: none; stroke: var(--bg); stroke-width: 3; stroke-linecap: round; }
.field-pulse { fill: var(--text); transform-origin: center; animation: field-pulse 2s infinite; }
.field-pulse-b { animation-delay: 1s; }
.scan-field-data { position: relative; z-index: 1; display: grid; grid-template-columns: .72fr 1.28fr; gap: 1.5rem; padding: 1.3rem; border-top: 1px solid var(--line); background: color-mix(in srgb, var(--surface) 86%, transparent); }
.scan-field-data strong { font-size: 1.4rem; font-weight: 520; letter-spacing: -.03em; }
.scan-field-data ol { margin: 0; padding: 0; list-style: none; color: var(--text-soft); font-family: var(--font-mono); font-size: .72rem; }
.scan-field-data li { padding-block: .22rem; }
.hero-stats { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: clamp(5rem, 8vw, 8rem); border-block: 1px solid var(--line); }
.hero-stats div { display: flex; min-height: 8rem; padding: 1.5rem; gap: .8rem; align-items: flex-end; border-right: 1px solid var(--line); }
.hero-stats div:last-child { border-right: 0; }
.hero-stats strong { font-size: clamp(2.2rem, 4vw, 4rem); font-weight: 350; line-height: .9; }
.hero-stats span { max-width: 10rem; color: var(--text-soft); font-size: .78rem; line-height: 1.35; }

/* Shared section layouts */
.two-column-intro, .section-heading-row { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(20rem, .92fr); gap: clamp(2rem, 8vw, 9rem); align-items: end; }
.two-column-intro h2, .section-heading-row h2 { max-width: 13ch; margin-bottom: 0; }
.section-heading-row { margin-bottom: 3rem; }
.section-title-wide { max-width: 16ch; }

/* Dependency map */
.demo-map-card, .report-map-card { margin-top: 4rem; padding: clamp(1rem, 3vw, 2.5rem); border: 1px solid var(--inverse-line); border-radius: var(--radius-lg); background: var(--inverse-surface); }
.dependency-map { position: relative; width: 100%; overflow: hidden; }
.dependency-map svg { width: 100%; min-width: 44rem; }
.map-orbit { fill: none; stroke: var(--inverse-line); stroke-width: 1; stroke-dasharray: 3 8; }
.map-orbit-outer { stroke-dasharray: 54 12 3 9; }
.map-link { stroke: var(--inverse-line); stroke-width: 1; stroke-dasharray: 2 6; }
.map-provider circle { fill: var(--inverse-surface); stroke: var(--inverse-soft); stroke-width: 1.25; }
.map-provider .map-provider-core { fill: var(--inverse-text); stroke: none; }
.map-provider text, .map-center text { fill: var(--inverse-soft); font-family: var(--font-mono); font-size: 12px; letter-spacing: .02em; }
.map-provider-critical circle { stroke-width: 2.2; stroke: var(--inverse-text); }
.map-node-tracker circle { stroke-dasharray: 4 3; }
.map-center > circle { fill: var(--inverse-text); stroke: var(--inverse-text); }
.map-center path { fill: none; stroke: var(--inverse-bg); stroke-width: 3.5; stroke-linecap: round; }
.map-center-node { fill: var(--inverse-bg); }
.map-center text { font-weight: 700; fill: var(--inverse-text); }
.map-more { text-align: center; color: var(--inverse-soft); font-family: var(--font-mono); font-size: .72rem; }
.empty-state { text-align: center; color: var(--inverse-soft); }
.demo-map-card .caption { margin: .5rem 1rem 0; }

/* Trust dimensions */
.trust-dimensions { display: grid; grid-template-columns: repeat(5, 1fr); margin-top: 5rem; border: 1px solid var(--line); }
.dimension-card { min-height: 22rem; padding: 1.6rem; border-right: 1px solid var(--line); }
.dimension-card:last-child { border-right: 0; }
.dimension-number { color: var(--text-soft); font-family: var(--font-mono); font-size: .7rem; }
.dimension-meter { position: relative; height: 5.5rem; margin: 2.2rem 0; border-left: 1px solid var(--line); }
.dimension-meter::before, .dimension-meter::after { position: absolute; left: 0; width: 100%; height: 1px; content: ""; background: var(--line); }
.dimension-meter::before { top: 25%; }
.dimension-meter::after { top: 72%; }
.dimension-meter span { position: absolute; bottom: 0; left: -2px; width: 4px; height: 68%; background: var(--text); }
.dimension-card:nth-child(2) .dimension-meter span { height: 81%; }
.dimension-card:nth-child(3) .dimension-meter span { height: 55%; }
.dimension-card:nth-child(4) .dimension-meter span { height: 73%; }
.dimension-card:nth-child(5) .dimension-meter span { height: 63%; }
.dimension-card h3 { margin-bottom: 1rem; }
.dimension-card p { color: var(--text-soft); font-size: .9rem; }

/* Process and ecosystem */
.process-grid { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 5rem; border-top: 1px solid var(--line); }
.process-grid article { min-height: 23rem; padding: 2rem 2rem 2rem 0; border-right: 1px solid var(--line); }
.process-grid article + article { padding-left: 2rem; }
.process-grid article:last-child { border-right: 0; }
.process-index { display: block; margin-bottom: 7rem; color: var(--text-soft); font-family: var(--font-mono); font-size: .75rem; }
.process-grid p { max-width: 24rem; color: var(--text-soft); }
.ecosystem-grid { display: grid; grid-template-columns: .72fr 1.28fr; gap: clamp(3rem, 8vw, 9rem); }
.ecosystem-copy h2 { max-width: 10ch; }
.ecosystem-list { border-top: 1px solid var(--line); }
.ecosystem-list a { display: grid; grid-template-columns: 11rem 1fr auto; gap: 1.5rem; align-items: center; min-height: 7rem; padding: 1rem 0; border-bottom: 1px solid var(--line); text-decoration: none; transition: padding .2s var(--ease), background .2s; }
.ecosystem-list a:hover { padding-inline: 1.2rem; background: var(--surface); }
.ecosystem-list span { font-size: 1.15rem; font-weight: 700; }
.ecosystem-list p { margin: 0; color: var(--text-soft); }
.ecosystem-list b { font-size: 1.4rem; font-weight: 400; }
.ecosystem-current span::after { margin-left: .65rem; padding: .2rem .45rem; border: 1px solid var(--line); border-radius: 999px; content: "CURRENT"; font-family: var(--font-mono); font-size: .56rem; vertical-align: middle; }
.final-cta { border-top: 1px solid var(--line); text-align: center; }
.final-cta-inner { max-width: 78rem; }
.final-cta h2 { max-width: 15ch; margin-inline: auto; }
.final-cta > .shell > p:not(.eyebrow) { max-width: 47rem; margin-inline: auto; color: var(--text-soft); }
.final-cta .eyebrow { justify-content: center; }

/* Footer */
.site-footer { padding: 5rem 0 1.5rem; border-top: 1px solid var(--line); background: var(--surface); }
.footer-grid { display: grid; grid-template-columns: 2fr repeat(3, 1fr); gap: 4rem; }
.brand-footer .brand-logo { width: 12rem; }
.footer-brand p { max-width: 26rem; color: var(--text-soft); }
.footer-brand .microcopy { margin-top: 2rem; }
.footer-column { display: flex; flex-direction: column; gap: .65rem; }
.footer-column h2 { margin-bottom: 1rem; color: var(--text-soft); font-family: var(--font-mono); font-size: .65rem; font-weight: 650; letter-spacing: .12em; text-transform: uppercase; }
.footer-column a { width: fit-content; font-size: .88rem; text-decoration: none; }
.footer-column a:hover { text-decoration: underline; }
.footer-bottom { display: flex; justify-content: space-between; margin-top: 5rem; padding-top: 1.4rem; border-top: 1px solid var(--line); color: var(--text-soft); font-family: var(--font-mono); font-size: .68rem; }
.footer-bottom p { margin: 0; }

/* Generic pages */
.page-hero { padding: clamp(7rem, 12vw, 13rem) 0 clamp(4.5rem, 8vw, 8rem); border-bottom: 1px solid var(--line); }
.page-hero h1 { max-width: 14ch; margin-bottom: 2rem; }
.page-hero-scan { min-height: 68vh; display: flex; align-items: center; }
.scan-console { margin-top: 3.5rem; padding: .8rem .8rem 1rem; border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--surface); box-shadow: var(--shadow); }
.scan-console-head { display: flex; justify-content: space-between; padding: .25rem .7rem .7rem; color: var(--text-soft); font-family: var(--font-mono); font-size: .65rem; }
.scan-console .scan-form { margin-top: 0; }
.split-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; }
.scope-card { position: relative; min-height: 32rem; padding: clamp(2rem, 4vw, 4rem); border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--surface); }
.scope-card-inverse { border-color: var(--inverse-line); background: var(--inverse-bg); color: var(--inverse-text); }
.scope-card h2 { max-width: 12ch; margin-bottom: 3rem; font-size: clamp(2rem, 3.5vw, 3.5rem); }
.scope-symbol { position: absolute; top: 1.5rem; right: 1.8rem; color: var(--text-soft); font-family: var(--font-mono); font-size: 2rem; }
.scope-card-inverse .scope-symbol { color: var(--inverse-soft); }
.check-list { margin: 0; padding: 0; list-style: none; }
.check-list li { position: relative; padding: 1.05rem 0 1.05rem 2.1rem; border-top: 1px solid var(--line); }
.scope-card-inverse .check-list li { border-color: var(--inverse-line); }
.check-list li::before { position: absolute; top: 1.32rem; left: .1rem; width: .55rem; height: .55rem; border: 1px solid currentColor; border-radius: 50%; content: ""; }
.alert { margin: 2rem 0; padding: 1.2rem 1.35rem; border: 1px solid var(--line); border-left-width: 4px; background: var(--surface); }
.alert p { margin: .3rem 0 0; }
.alert-error { border-left-color: var(--danger); }

/* Modules */
.module-catalog { border-top: 1px solid var(--line); }
.module-catalog article { display: grid; grid-template-columns: 7rem minmax(0, 1fr); gap: 2rem; padding: 2.5rem 0; border-bottom: 1px solid var(--line); }
.module-catalog > article > span { color: var(--text-soft); font-family: var(--font-mono); }
.module-catalog h2 { margin-bottom: .8rem; font-size: clamp(1.8rem, 3vw, 3rem); }
.module-catalog p { max-width: 58rem; margin: 0; color: var(--text-soft); font-size: 1.05rem; }
.statement-block { display: grid; grid-template-columns: .7fr 1fr; gap: 3rem 7rem; }
.statement-block .eyebrow { grid-column: 1 / -1; }
.statement-block h2 { max-width: 10ch; }
.code-sample { overflow-x: auto; margin: 0; padding: 2rem; border: 1px solid var(--inverse-line); background: var(--inverse-surface); color: var(--inverse-soft); font-size: .82rem; line-height: 1.8; }

/* Editorial */
.editorial-grid { display: grid; grid-template-columns: 18rem minmax(0, 1fr); gap: clamp(3rem, 8vw, 9rem); }
.editorial-index { position: sticky; top: 7rem; align-self: start; display: flex; flex-direction: column; gap: .7rem; padding-top: 1rem; border-top: 1px solid var(--line); }
.editorial-index > span { margin-bottom: .8rem; color: var(--text-soft); font-family: var(--font-mono); font-size: .67rem; letter-spacing: .12em; }
.editorial-index a { color: var(--text-soft); font-size: .82rem; text-decoration: none; }
.editorial-index a:hover { color: var(--text); }
.editorial-content { border-top: 1px solid var(--line); }
.editorial-section { display: grid; grid-template-columns: 5rem minmax(0, 1fr); padding: 3rem 0; border-bottom: 1px solid var(--line); }
.editorial-section > span { color: var(--text-soft); font-family: var(--font-mono); font-size: .72rem; }
.editorial-section h2, .editorial-section p { grid-column: 2; }
.editorial-section h2 { font-size: clamp(1.8rem, 3vw, 3.3rem); }
.editorial-section p { max-width: 57rem; color: var(--text-soft); font-size: 1.08rem; }

/* Trust/static */
.principles-grid { display: grid; grid-template-columns: repeat(5, 1fr); margin-top: 4rem; border: 1px solid var(--line); }
.principles-grid article { min-height: 19rem; padding: 1.6rem; border-right: 1px solid var(--line); }
.principles-grid article:last-child { border-right: 0; }
.principles-grid span { display: block; margin-bottom: 6rem; color: var(--text-soft); font-family: var(--font-mono); font-size: .7rem; }
.principles-grid p { color: var(--text-soft); font-size: .9rem; }
.claim-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(3rem, 8vw, 9rem); align-items: end; }
.claim-grid h2 { max-width: 10ch; }
.narrative-grid, .legal-grid { border-top: 1px solid var(--line); }
.narrative-grid article, .legal-grid article { display: grid; grid-template-columns: 6rem minmax(0, 1fr); gap: 1.5rem; padding: 3rem 0; border-bottom: 1px solid var(--line); }
.narrative-grid article > span, .legal-grid article > span { color: var(--text-soft); font-family: var(--font-mono); font-size: .72rem; }
.narrative-grid h2, .legal-grid h2 { font-size: clamp(1.8rem, 3vw, 3.2rem); }
.narrative-grid p, .legal-grid p { max-width: 60rem; color: var(--text-soft); font-size: 1.05rem; }
.security-grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(20rem, .75fr); gap: clamp(3rem, 8vw, 9rem); }
.security-controls { margin: 3rem 0 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.security-controls li { display: grid; grid-template-columns: 4rem 1fr; gap: 1.5rem; padding: 1.3rem 0; border-bottom: 1px solid var(--line); }
.security-controls span { color: var(--text-soft); font-family: var(--font-mono); font-size: .7rem; }
.security-controls p { margin: 0; }
.security-aside { align-self: start; padding: 2rem; border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--surface); }
.security-mark { margin-bottom: 3rem; padding: 2rem; }
.security-mark svg circle, .security-mark svg path { fill: none; stroke: var(--text); stroke-width: 1.2; stroke-dasharray: 4 5; }
.security-mark svg circle:last-child { fill: var(--text); stroke: none; }
.security-aside h2 { font-size: 2rem; }
.security-aside p { color: var(--text-soft); }
.contact-card { display: grid; grid-template-columns: 1.2fr .8fr; gap: 4rem; padding: clamp(2rem, 5vw, 5rem); border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--surface); }
.contact-primary { display: flex; flex-direction: column; }
.contact-primary span, .contact-card dt { color: var(--text-soft); font-family: var(--font-mono); font-size: .7rem; text-transform: uppercase; letter-spacing: .1em; }
.contact-primary a { margin-top: 1rem; font-size: clamp(1.6rem, 4vw, 4rem); letter-spacing: -.04em; text-decoration: none; overflow-wrap: anywhere; }
.contact-card dl { margin: 0; }
.contact-card dl div { padding: 1.2rem 0; border-bottom: 1px solid var(--line); }
.contact-card dd { margin: .45rem 0 0; }

/* Report */
.report-header { padding: clamp(5rem, 8vw, 9rem) 0 3rem; border-bottom: 1px solid var(--line); }
.report-header-grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(18rem, .75fr); gap: clamp(3rem, 8vw, 8rem); align-items: end; }
.report-domain-label { margin-bottom: .7rem; color: var(--text-soft); font-family: var(--font-mono); font-size: .7rem; letter-spacing: .12em; }
.report-title-block h1 { max-width: 16ch; margin-bottom: 1.6rem; font-size: clamp(3rem, 7vw, 7rem); overflow-wrap: anywhere; }
.report-meta-line { display: flex; flex-wrap: wrap; gap: .7rem 1.4rem; color: var(--text-soft); font-family: var(--font-mono); font-size: .68rem; }
.report-notice { max-width: 52rem; margin: 1.6rem 0 0; color: var(--text-soft); font-size: .85rem; }
.report-score-panel { display: grid; grid-template-columns: minmax(9rem, 12rem) 1fr; gap: 1.5rem; align-items: center; padding: 1.5rem; border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--surface); }
.score-ring { position: relative; aspect-ratio: 1; }
.score-ring svg { width: 100%; height: 100%; transform: rotate(-90deg); }
.score-ring circle { fill: none; stroke-width: 6; }
.score-ring-track { stroke: var(--line); }
.score-ring-value { stroke: var(--text); stroke-linecap: round; }
.score-ring-node { fill: var(--text); stroke: var(--surface); stroke-width: 2; }
.score-ring-content { position: absolute; inset: 0; display: grid; place-content: center; text-align: center; }
.score-ring-number { font-size: clamp(2rem, 4vw, 3.7rem); font-weight: 350; letter-spacing: -.07em; line-height: .9; }
.score-ring-grade { margin-top: .35rem; color: var(--text-soft); font-family: var(--font-mono); font-size: .7rem; }
.score-panel-text { display: flex; flex-direction: column; }
.score-panel-text > span { color: var(--text-soft); font-family: var(--font-mono); font-size: .66rem; letter-spacing: .1em; text-transform: uppercase; }
.score-panel-text strong { margin: .4rem 0; font-size: 1.4rem; }
.score-panel-text small { color: var(--text-soft); }
.report-actions { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 2.5rem; }
.report-actions form { margin: 0; }
.category-grid { display: grid; grid-template-columns: repeat(5, 1fr); border: 1px solid var(--line); }
.category-card { min-height: 13rem; padding: 1.4rem; border-right: 1px solid var(--line); }
.category-card:last-child { border-right: 0; }
.category-head { display: flex; justify-content: space-between; gap: 1rem; }
.category-head span { color: var(--text-soft); font-size: .78rem; }
.category-head strong { font-size: 1.6rem; font-weight: 450; }
.category-card progress { width: 100%; height: 3px; margin: 4rem 0 1rem; border: 0; border-radius: 0; background: var(--line); appearance: none; }
.category-card progress::-webkit-progress-bar { background: var(--line); }
.category-card progress::-webkit-progress-value { background: var(--text); }
.category-card progress::-moz-progress-bar { background: var(--text); }
.category-grade { color: var(--text-soft); font-family: var(--font-mono); font-size: .67rem; }
.signal-summary { display: grid; grid-template-columns: repeat(5, 1fr); margin-top: 1rem; border: 1px solid var(--line); }
.signal-count { display: flex; padding: 1rem 1.2rem; gap: .75rem; align-items: baseline; border-right: 1px solid var(--line); }
.signal-count:last-child { border-right: 0; }
.signal-count strong { font-size: 1.8rem; font-weight: 400; }
.signal-count span { color: var(--text-soft); font-size: .72rem; }
.confidence-note { max-width: 34rem; margin: 0; color: var(--text-soft); font-size: .82rem; }
.report-map-section .section-heading-row { color: var(--inverse-text); }
.report-map-section .report-map-card { margin-top: 0; }
.provider-table-wrap { overflow-x: auto; margin-top: 2rem; border: 1px solid var(--inverse-line); }
.provider-table { width: 100%; min-width: 54rem; border-collapse: collapse; color: var(--inverse-text); background: var(--inverse-surface); }
.provider-table th, .provider-table td { padding: 1.15rem 1.3rem; border-bottom: 1px solid var(--inverse-line); text-align: left; vertical-align: top; }
.provider-table thead th { color: var(--inverse-soft); font-family: var(--font-mono); font-size: .65rem; font-weight: 550; letter-spacing: .08em; text-transform: uppercase; }
.provider-table tbody th { font-size: .92rem; }
.provider-table tbody th small { display: block; max-width: 18rem; margin-top: .35rem; color: var(--inverse-soft); font-family: var(--font-mono); font-size: .62rem; font-weight: 400; overflow-wrap: anywhere; }
.provider-table td { color: var(--inverse-soft); font-size: .8rem; }
.provider-dot { display: inline-block; width: .55rem; height: .55rem; margin-right: .6rem; border: 1px solid currentColor; border-radius: 50%; }
.provider-dot.is-critical { background: currentColor; }
.priority-list { margin-top: 3rem; border-top: 1px solid var(--line); }
.priority-item { display: grid; grid-template-columns: 5rem 1fr; gap: 1.5rem; padding: 2rem 0 2rem 1rem; border-bottom: 1px solid var(--line); border-left: 3px solid var(--line-strong); }
.priority-index { color: var(--text-soft); font-family: var(--font-mono); font-size: .72rem; }
.finding-meta { display: flex; flex-wrap: wrap; gap: .75rem; align-items: center; color: var(--text-soft); font-family: var(--font-mono); font-size: .68rem; }
.priority-item h3 { margin: 1rem 0 .7rem; font-size: clamp(1.35rem, 2.3vw, 2.2rem); }
.priority-item p { max-width: 68rem; color: var(--text-soft); }
.priority-item .recommendation { color: var(--text); }
.severity-pill { display: inline-flex; padding: .25rem .55rem; border: 1px solid currentColor; border-radius: 999px; font-family: var(--font-mono); font-size: .6rem; letter-spacing: .06em; text-transform: uppercase; }
.severity-critical { color: var(--danger); }
.severity-high { color: color-mix(in srgb, var(--danger) 72%, var(--warning)); }
.severity-medium { color: var(--warning); }
.severity-low { color: var(--info); }
.severity-info { color: var(--text-soft); }
.severity-border-critical { border-left-color: var(--danger); }
.severity-border-high { border-left-color: color-mix(in srgb, var(--danger) 72%, var(--warning)); }
.severity-border-medium { border-left-color: var(--warning); }
.empty-card { margin-top: 2rem; padding: 2rem; border: 1px solid var(--line); background: var(--surface); }
.empty-card p { margin: 0; }
.findings-list, .module-results { border-top: 1px solid var(--line); }
.finding-detail, .module-result { border-bottom: 1px solid var(--line); }
.finding-detail summary, .module-result summary { list-style: none; cursor: pointer; }
.finding-detail summary::-webkit-details-marker, .module-result summary::-webkit-details-marker { display: none; }
.finding-detail summary { display: grid; grid-template-columns: 7rem minmax(0, 1fr) 13rem 1.5rem; gap: 1rem; align-items: center; min-height: 5.5rem; }
.finding-detail summary::after, .module-result summary::after { content: "+"; color: var(--text-soft); font-family: var(--font-mono); font-size: 1.2rem; }
.finding-detail[open] summary::after, .module-result[open] summary::after { content: "−"; }
.finding-summary-title { font-weight: 650; }
.finding-module { color: var(--text-soft); font-family: var(--font-mono); font-size: .67rem; }
.finding-body { padding: 0 2rem 2rem 8rem; }
.finding-body > p { max-width: 66rem; }
.evidence { margin-top: 1.5rem; }
.evidence > span { color: var(--text-soft); font-family: var(--font-mono); font-size: .66rem; text-transform: uppercase; }
.evidence pre, .json-block { max-height: 28rem; overflow: auto; margin: .65rem 0 0; padding: 1.25rem; border: 1px solid var(--line); background: var(--surface-2); color: var(--text); font-size: .72rem; line-height: 1.65; white-space: pre-wrap; overflow-wrap: anywhere; }
.module-result summary { display: grid; grid-template-columns: 8rem 14rem minmax(0, 1fr) 4rem 1.5rem; gap: 1rem; align-items: center; min-height: 6.5rem; }
.module-id { color: var(--text-soft); font-family: var(--font-mono); font-size: .63rem; }
.module-name { font-weight: 700; }
.module-summary { color: var(--text-soft); font-size: .82rem; }
.module-result summary strong { font-size: 1.5rem; font-weight: 400; text-align: right; }
.module-result-body { padding: 0 2rem 2rem 23rem; }
.module-result-meta { display: flex; gap: 2rem; color: var(--text-soft); font-family: var(--font-mono); font-size: .68rem; }
.module-result-body h3 { margin-top: 1.5rem; font-size: 1rem; }
.report-history-scope .scope-card { min-height: auto; }
.history-list { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.history-list li { display: grid; grid-template-columns: 1fr auto; gap: 1rem; align-items: center; padding: 1rem 0; border-bottom: 1px solid var(--line); }
.history-list li[aria-current="true"] { padding-left: .8rem; border-left: 3px solid var(--text); }
.history-list div { display: flex; flex-direction: column; }
.history-list span { color: var(--text-soft); font-family: var(--font-mono); font-size: .68rem; }
.history-list a { font-size: .75rem; }
.scope-definition { margin: 0; }
.scope-definition div { display: grid; grid-template-columns: minmax(10rem, .8fr) 1.2fr; gap: 1rem; padding: .85rem 0; border-bottom: 1px solid var(--inverse-line); }
.scope-definition dt { color: var(--inverse-soft); font-family: var(--font-mono); font-size: .68rem; }
.scope-definition dd { margin: 0; font-size: .82rem; overflow-wrap: anywhere; }
.report-missing { min-height: 78vh; display: flex; align-items: center; }
.missing-code { margin-bottom: 2rem; color: var(--text-soft); font-family: var(--font-mono); font-size: .78rem; }
.report-missing h1 { font-size: clamp(2.8rem, 6vw, 6rem); }

/* Error page */
.error-page { min-height: 75vh; display: flex; align-items: center; text-align: center; }
.error-page .eyebrow { justify-content: center; }
.error-page h1 { margin-inline: auto; font-size: clamp(2.8rem, 6vw, 6rem); }
.error-page .lead { margin-inline: auto; }
.error-orbit { display: grid; width: 8rem; aspect-ratio: 1; margin: 0 auto 2rem; place-items: center; border: 1px dashed var(--line-strong); border-radius: 50%; }
.error-orbit span { font-family: var(--font-mono); font-size: 2rem; }

/* Motion */
@keyframes field-pulse { 0%,100% { opacity: .35; transform: scale(.75); } 50% { opacity: 1; transform: scale(1.15); } }
@keyframes arrow-pulse { to { transform: translateX(.3rem); } }

@media (max-width: 78rem) {
    :root { --shell: min(100% - 2.2rem, 88rem); }
    .header-inner { grid-template-columns: 1fr auto; }
    .primary-nav { position: fixed; top: 5.2rem; right: 1.1rem; left: 1.1rem; display: none; padding: 1rem; flex-direction: column; align-items: stretch; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--surface); box-shadow: var(--shadow); }
    .primary-nav.is-open { display: flex; }
    .primary-nav a { padding: .8rem; }
    .primary-nav a::after { display: none; }
    .menu-toggle { display: inline-grid; justify-self: end; }
    .header-actions { position: absolute; right: 5.1rem; }
    .hero-grid { grid-template-columns: 1fr; }
    .hero-copy { max-width: 66rem; }
    .hero-visual { max-width: 43rem; margin-left: auto; }
    .trust-dimensions, .principles-grid { grid-template-columns: repeat(3, 1fr); }
    .dimension-card:nth-child(3), .principles-grid article:nth-child(3) { border-right: 0; }
    .dimension-card:nth-child(n+4), .principles-grid article:nth-child(n+4) { border-top: 1px solid var(--line); }
    .dimension-card:nth-child(4), .principles-grid article:nth-child(4) { border-right: 1px solid var(--line); }
    .category-grid { grid-template-columns: repeat(3, 1fr); }
    .category-card:nth-child(3) { border-right: 0; }
    .category-card:nth-child(n+4) { border-top: 1px solid var(--line); }
    .category-card:nth-child(4) { border-right: 1px solid var(--line); }
    .footer-grid { grid-template-columns: 1.5fr repeat(3, 1fr); gap: 2.5rem; }
}

@media (max-width: 62rem) {
    .header-scan { display: none; }
    .header-actions { right: 4.7rem; }
    .hero-stats { grid-template-columns: repeat(2, 1fr); }
    .hero-stats div:nth-child(2) { border-right: 0; }
    .hero-stats div:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
    .two-column-intro, .section-heading-row, .ecosystem-grid, .claim-grid, .statement-block, .report-header-grid, .security-grid, .contact-card { grid-template-columns: 1fr; }
    .trust-dimensions, .principles-grid { grid-template-columns: repeat(2, 1fr); }
    .dimension-card:nth-child(2n), .principles-grid article:nth-child(2n) { border-right: 0; }
    .dimension-card:nth-child(3), .principles-grid article:nth-child(3) { border-right: 1px solid var(--line); border-top: 1px solid var(--line); }
    .dimension-card:nth-child(n+3), .principles-grid article:nth-child(n+3) { border-top: 1px solid var(--line); }
    .dimension-card:last-child, .principles-grid article:last-child { border-right: 1px solid var(--line); }
    .process-grid { grid-template-columns: 1fr; }
    .process-grid article, .process-grid article + article { min-height: auto; padding: 2rem 0; border-right: 0; border-bottom: 1px solid var(--line); }
    .process-index { margin-bottom: 3rem; }
    .split-cards { grid-template-columns: 1fr; }
    .scope-card { min-height: auto; }
    .editorial-grid { grid-template-columns: 1fr; }
    .editorial-index { position: static; }
    .footer-grid { grid-template-columns: 1.5fr 1fr 1fr; }
    .footer-brand { grid-column: 1 / -1; }
    .report-score-panel { max-width: 36rem; }
    .module-result summary { grid-template-columns: 7rem minmax(0, 1fr) 4rem 1.5rem; }
    .module-summary { grid-column: 2 / 4; grid-row: 2; padding-bottom: 1rem; }
    .module-result-body { padding-left: 9rem; }
}

@media (max-width: 44rem) {
    :root { --shell: min(100% - 1.3rem, 88rem); }
    body::before { background-size: 3.5rem 3.5rem; }
    .site-header { position: sticky; }
    .header-inner { min-height: 4.6rem; }
    .brand-logo { width: 10.7rem; }
    .primary-nav { top: 4.65rem; right: .65rem; left: .65rem; }
    .header-actions { right: 4.05rem; }
    .language-switcher { display: none; }
    .icon-button { width: 2.55rem; height: 2.55rem; }
    h1 { font-size: clamp(2.8rem, 15vw, 4.8rem); }
    h2 { font-size: clamp(2.1rem, 10vw, 3.6rem); }
    .section { padding: 4.5rem 0; }
    .page-hero { padding: 5rem 0 4rem; }
    .hero-grid { gap: 3rem; }
    .hero-copy h1 { max-width: none; }
    .scan-input-wrap { grid-template-columns: 1fr; border-radius: var(--radius-md); padding: .55rem; }
    .scan-prefix { display: none; }
    .scan-input-wrap input { padding: .9rem; }
    .scan-demo-ghost { left: .9rem; max-width: calc(100% - 1.8rem); }
    .scan-submit { width: 100%; border-radius: var(--radius-sm); }
    .scan-field { min-height: auto; }
    .scan-field-data { grid-template-columns: 1fr; }
    .hero-stats div { min-height: 6.6rem; padding: 1rem; }
    .hero-stats span { font-size: .68rem; }
    .demo-map-card, .report-map-card { padding: .5rem; }
    .dependency-map { overflow-x: auto; }
    .dependency-map svg { min-width: 42rem; }
    .trust-dimensions, .principles-grid { grid-template-columns: 1fr; }
    .dimension-card, .dimension-card:nth-child(n), .principles-grid article, .principles-grid article:nth-child(n) { min-height: auto; border-right: 0; border-top: 1px solid var(--line); }
    .dimension-card:first-child, .principles-grid article:first-child { border-top: 0; }
    .dimension-meter { height: 3rem; }
    .principles-grid span { margin-bottom: 3rem; }
    .ecosystem-list a { grid-template-columns: 1fr auto; }
    .ecosystem-list a p { grid-column: 1 / -1; grid-row: 2; }
    .footer-grid { grid-template-columns: 1fr 1fr; gap: 2.5rem 1.5rem; }
    .footer-brand { grid-column: 1 / -1; }
    .footer-bottom { flex-direction: column; gap: .5rem; }
    .module-catalog article, .narrative-grid article, .legal-grid article, .editorial-section { grid-template-columns: 3rem 1fr; }
    .statement-block { gap: 2rem; }
    .scope-card { padding: 1.5rem; }
    .contact-card { padding: 1.5rem; }
    .category-grid { grid-template-columns: 1fr; }
    .category-card, .category-card:nth-child(n) { min-height: auto; border-right: 0; border-top: 1px solid var(--line); }
    .category-card:first-child { border-top: 0; }
    .category-card progress { margin: 2rem 0 1rem; }
    .signal-summary { grid-template-columns: 1fr 1fr; }
    .signal-count { border-bottom: 1px solid var(--line); }
    .signal-count:nth-child(2n) { border-right: 0; }
    .report-score-panel { grid-template-columns: 8rem 1fr; }
    .report-actions { display: grid; grid-template-columns: 1fr; }
    .report-actions .button, .report-actions form, .report-actions form .button { width: 100%; }
    .finding-detail summary { grid-template-columns: 6.5rem minmax(0, 1fr) 1.5rem; padding: .8rem 0; }
    .finding-module { grid-column: 2; grid-row: 2; }
    .finding-body { padding-left: 0; }
    .module-result summary { grid-template-columns: minmax(0, 1fr) 3rem 1.5rem; padding: 1rem 0; }
    .module-id { grid-column: 1; }
    .module-name { grid-column: 1; grid-row: 2; }
    .module-summary { grid-column: 1 / -1; grid-row: 3; }
    .module-result summary strong { grid-column: 2; grid-row: 1 / 3; }
    .module-result summary::after { grid-column: 3; grid-row: 1 / 3; }
    .module-result-body { padding-left: 0; }
    .module-result-meta { flex-direction: column; gap: .35rem; }
    .priority-item { grid-template-columns: 2.5rem 1fr; padding-left: .4rem; }
    .scope-definition div { grid-template-columns: 1fr; gap: .25rem; }
    .history-list li { grid-template-columns: 1fr; }
}

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

/* Scanapse 1.1 - restrained editorial system */
:root { --shell: min(86rem, calc(100% - 3rem)); }
h1 { font-size: clamp(2.85rem, 6vw, 6.1rem); }
h2 { font-size: clamp(2.15rem, 3.9vw, 4rem); }
h3 { font-size: clamp(1.05rem, 1.35vw, 1.35rem); }
.section { padding: clamp(4.5rem, 7vw, 7.5rem) 0; }
.lead { max-width: 45rem; font-size: clamp(1.05rem, 1.5vw, 1.35rem); line-height: 1.55; }
.lead-small { font-size: clamp(.98rem, 1.25vw, 1.16rem); line-height: 1.65; }
.header-inner { min-height: 4.7rem; }
.brand-logo { width: 11.8rem; }

.home-hero { min-height: min(52rem, calc(100vh - 4.7rem)); display: flex; align-items: center; padding: clamp(4.5rem, 8vw, 8rem) 0 3.5rem; }
.home-hero-grid { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(24rem, .82fr); gap: clamp(3rem, 7vw, 8rem); align-items: center; }
.home-hero-copy { min-width: 0; }
.home-hero-copy h1 { max-width: 12ch; margin-bottom: 1.8rem; font-size: clamp(3rem, 5.7vw, 5.9rem); line-height: .97; }
.home-hero-copy h1 span, .home-hero-copy h1 strong { display: block; }
.home-hero-copy h1 strong { margin-top: .1em; color: var(--text-soft); font-weight: 300; }
.home-hero-copy .lead { max-width: 42rem; margin-bottom: 1.9rem; }
.home-hero-copy .scan-form { max-width: 46rem; }
.home-hero-copy .form-note { max-width: 43rem; margin-top: .8rem; }
.home-hero-facts { display: grid; grid-template-columns: repeat(3, 1fr); max-width: 42rem; margin-top: 2.5rem; border-top: 1px solid var(--line); }
.home-hero-facts span { display: flex; min-height: 5rem; padding: 1rem 1rem 0 0; gap: .65rem; align-items: baseline; color: var(--text-soft); font-family: var(--font-mono); font-size: .66rem; line-height: 1.45; text-transform: uppercase; }
.home-hero-facts span + span { padding-left: 1rem; border-left: 1px solid var(--line); }
.home-hero-facts strong { color: var(--text); font-family: var(--font-sans); font-size: 1.75rem; font-weight: 450; letter-spacing: -.05em; }

.report-preview { position: relative; padding: 1.35rem; border: 1px solid var(--line); border-radius: var(--radius-lg); background: color-mix(in srgb, var(--surface) 94%, transparent); box-shadow: var(--shadow); overflow: hidden; }
.report-preview::before { position: absolute; inset: 0; content: ""; pointer-events: none; background: linear-gradient(130deg, transparent 30%, color-mix(in srgb, var(--text) 5%, transparent)); }
.report-preview > * { position: relative; }
.report-preview-head { display: flex; justify-content: space-between; gap: 1rem; padding-bottom: 1rem; border-bottom: 1px solid var(--line); color: var(--text-soft); font-family: var(--font-mono); font-size: .61rem; letter-spacing: .06em; text-transform: uppercase; }
.preview-status { display: inline-flex; gap: .45rem; align-items: center; }
.preview-status i { width: .42rem; height: .42rem; border-radius: 50%; background: var(--success); box-shadow: 0 0 0 .24rem color-mix(in srgb, var(--success) 14%, transparent); }
.report-preview-score { display: grid; grid-template-columns: 1fr auto; gap: 1rem; align-items: end; padding: 1.4rem 0 1.25rem; }
.report-preview-score > div:first-child { display: grid; grid-template-columns: auto auto 1fr; align-items: baseline; gap: .45rem; }
.report-preview-score span { color: var(--text-soft); font-family: var(--font-mono); font-size: .62rem; text-transform: uppercase; }
.report-preview-score strong { font-size: clamp(3.4rem, 6vw, 5.3rem); font-weight: 350; letter-spacing: -.08em; line-height: .85; }
.report-preview-score small { color: var(--text-soft); font-family: var(--font-mono); }
.preview-grade { display: flex; flex-direction: column; align-items: flex-end; }
.preview-grade b { font-size: 2.3rem; font-weight: 450; line-height: 1; }
.preview-bars { border-block: 1px solid var(--line); }
.preview-bars div { display: grid; grid-template-columns: 7rem minmax(4rem, 1fr) 2.2rem; gap: .8rem; align-items: center; min-height: 2.55rem; border-bottom: 1px solid color-mix(in srgb, var(--line) 65%, transparent); }
.preview-bars div:last-child { border-bottom: 0; }
.preview-bars span { color: var(--text-soft); font-size: .72rem; }
.preview-bars i { position: relative; display: block; height: 2px; background: var(--line); }
.preview-bars i b { position: absolute; inset: 0 auto 0 0; width: 72%; background: var(--text); }
.preview-bars div:nth-child(2) i b { width: 64%; }
.preview-bars div:nth-child(3) i b { width: 48%; }
.preview-bars div:nth-child(4) i b { width: 58%; }
.preview-bars div:nth-child(5) i b { width: 54%; }
.preview-bars strong { font-family: var(--font-mono); font-size: .68rem; font-weight: 500; text-align: right; }
.preview-dependencies { padding-top: 1.1rem; }
.preview-dependencies > span { color: var(--text-soft); font-family: var(--font-mono); font-size: .62rem; text-transform: uppercase; }
.preview-dependencies div { display: flex; flex-wrap: wrap; gap: .4rem; margin-top: .65rem; }
.preview-dependencies b { padding: .38rem .55rem; border: 1px solid var(--line); border-radius: 999px; font-size: .64rem; font-weight: 550; }
.preview-note { margin: 1rem 0 0; color: var(--text-soft); font-family: var(--font-mono); font-size: .61rem; }

.scan-form { position: relative; }
.scan-input-wrap { min-height: 3.75rem; }
.scan-form-status { min-height: 1.4rem; margin: .55rem 0 0; color: var(--text-soft); font-family: var(--font-mono); font-size: .68rem; }
.scan-progress { height: 2px; margin: .35rem 1rem 0; overflow: hidden; background: transparent; }
.scan-progress span { display: block; width: 0; height: 100%; background: var(--text); transition: width .5s var(--ease); }
.scan-form.is-loading .scan-progress span { width: 88%; animation: scan-progress 12s cubic-bezier(.15,.7,.2,1) forwards; }
.scan-form.is-loading .scan-submit { pointer-events: none; opacity: .72; }
@keyframes scan-progress { 0% { width: 4%; } 35% { width: 42%; } 75% { width: 76%; } 100% { width: 92%; } }

.two-column-intro { display: grid; grid-template-columns: minmax(0, .92fr) minmax(20rem, .72fr); gap: clamp(3rem, 9vw, 10rem); align-items: end; }
.two-column-intro h2, .section-heading-row h2 { max-width: 12ch; margin-bottom: 0; }
.dependency-board { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(18rem, .55fr); margin-top: 3.2rem; border: 1px solid var(--inverse-line); background: var(--inverse-surface); }
.dependency-board-map { min-width: 0; padding: clamp(1rem, 3vw, 2.2rem); border-right: 1px solid var(--inverse-line); }
.dependency-board-map .dependency-map { color: var(--inverse-text); }
.dependency-board-insights { display: grid; }
.dependency-board-insights article { display: grid; grid-template-columns: 2.3rem 1fr; gap: .2rem 1rem; align-content: center; min-height: 9rem; padding: 1.3rem; border-bottom: 1px solid var(--inverse-line); }
.dependency-board-insights article:last-child { border-bottom: 0; }
.dependency-board-insights span { grid-row: 1 / 3; color: var(--inverse-soft); font-family: var(--font-mono); font-size: .62rem; }
.dependency-board-insights h3 { margin: 0; font-size: 1rem; letter-spacing: -.025em; }
.dependency-board-insights p { margin: .45rem 0 0; color: var(--inverse-soft); font-size: .78rem; line-height: 1.55; }

.trust-dimensions-compact { margin-top: 3.2rem; }
.trust-dimensions-compact .dimension-card { min-height: 18rem; padding: 1.35rem; }
.dimension-head { display: flex; justify-content: space-between; align-items: start; }
.dimension-head strong { font-size: 2rem; font-weight: 350; letter-spacing: -.06em; }
.trust-dimensions-compact .dimension-meter { height: 2.5rem; margin: 2.1rem 0 1.2rem; }
.trust-dimensions-compact .dimension-card h3 { margin-bottom: .55rem; font-size: 1.05rem; }
.trust-dimensions-compact .dimension-card p { font-size: .76rem; line-height: 1.55; }

.section-heading-row { align-items: end; }
.deliverable-grid { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 3rem; border: 1px solid var(--line); }
.deliverable-grid article { min-height: 17rem; padding: 1.35rem; border-right: 1px solid var(--line); }
.deliverable-grid article:last-child { border-right: 0; }
.deliverable-grid article > span { color: var(--text-soft); font-family: var(--font-mono); font-size: .62rem; }
.deliverable-grid svg { width: 2.6rem; height: 2.6rem; margin: 2.4rem 0 2.1rem; fill: none; stroke: currentColor; stroke-width: 1.3; }
.deliverable-grid h3 { margin-bottom: .65rem; font-size: 1rem; }
.deliverable-grid p { margin: 0; color: var(--text-soft); font-size: .76rem; line-height: 1.55; }

.process-heading { display: grid; grid-template-columns: minmax(0, .9fr) minmax(20rem, .72fr); gap: clamp(3rem, 9vw, 10rem); align-items: end; }
.process-heading h2 { max-width: 11ch; margin: 0; }
.process-list { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 3rem; border-block: 1px solid var(--inverse-line); }
.process-list article { min-height: 12rem; padding: 1.3rem 1.4rem 1.3rem 0; border-right: 1px solid var(--inverse-line); }
.process-list article + article { padding-left: 1.4rem; }
.process-list article:last-child { border-right: 0; }
.process-list span { color: var(--inverse-soft); font-family: var(--font-mono); font-size: .62rem; }
.process-list h3 { margin: 2.4rem 0 .6rem; font-size: 1rem; }
.process-list p { margin: 0; color: var(--inverse-soft); font-size: .78rem; line-height: 1.55; }
.ecosystem-copy > p:last-child { max-width: 30rem; color: var(--text-soft); }
.final-cta h2 { max-width: 18ch; margin-inline: auto; font-size: clamp(2.5rem, 4.6vw, 4.6rem); }

.scan-page-hero { padding: clamp(4.5rem, 7vw, 7rem) 0; }
.scan-page-grid { display: grid; grid-template-columns: minmax(0, .82fr) minmax(26rem, 1fr); gap: clamp(3rem, 8vw, 8rem); align-items: center; }
.scan-page-copy h1 { max-width: 10ch; margin-bottom: 1.5rem; font-size: clamp(3rem, 5vw, 5.2rem); }
.scan-assurances { display: flex; flex-wrap: wrap; gap: .6rem 1.2rem; margin-top: 1.8rem; }
.scan-assurances span { display: inline-flex; gap: .5rem; align-items: center; color: var(--text-soft); font-family: var(--font-mono); font-size: .66rem; text-transform: uppercase; }
.scan-assurances i { width: .38rem; height: .38rem; border-radius: 50%; background: var(--success); }
.scan-console { padding: 1.35rem; border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--surface); box-shadow: var(--shadow); }
.scan-console-head { display: flex; justify-content: space-between; margin: -.2rem 0 1.2rem; padding-bottom: .9rem; border-bottom: 1px solid var(--line); color: var(--text-soft); font-family: var(--font-mono); font-size: .61rem; }
.scan-console .alert { margin-bottom: 1rem; }
.scan-console .alert small { display: block; margin-top: .65rem; font-family: var(--font-mono); font-size: .62rem; }
.scan-examples { display: flex; flex-wrap: wrap; gap: .45rem; align-items: center; margin-top: .85rem; }
.scan-examples > span { margin-right: .2rem; color: var(--text-soft); font-family: var(--font-mono); font-size: .62rem; text-transform: uppercase; }
.scan-examples button { padding: .25rem .5rem; border: 1px solid var(--line); border-radius: 999px; background: transparent; color: var(--text-soft); font-family: var(--font-mono); font-size: .62rem; cursor: pointer; }
.scan-examples button:hover { border-color: var(--text); color: var(--text); }
.scan-scope-heading { margin-bottom: 2.5rem; }
.scan-scope-section .scope-card { min-height: auto; }
.scan-scope-section .scope-card h3 { font-size: 1.4rem; }
.scan-partial-section .section-heading-row h2 { max-width: 14ch; }
.coverage-grid { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 3rem; border-block: 1px solid var(--inverse-line); }
.coverage-grid article { min-height: 12rem; padding: 1.35rem 1.5rem 1.35rem 0; border-right: 1px solid var(--inverse-line); }
.coverage-grid article + article { padding-left: 1.5rem; }
.coverage-grid article:last-child { border-right: 0; }
.coverage-grid span { color: var(--inverse-soft); font-family: var(--font-mono); font-size: .62rem; }
.coverage-grid h3 { margin: 2.2rem 0 .55rem; font-size: 1rem; }
.coverage-grid p { margin: 0; color: var(--inverse-soft); font-size: .78rem; line-height: 1.55; }

.report-coverage { display: grid; grid-template-columns: 12rem minmax(0, 1fr); gap: 2rem; align-items: center; margin-top: 1.5rem; padding: 1rem 1.2rem; border: 1px solid var(--line); background: var(--surface); }
.report-coverage > div { display: flex; flex-direction: column; }
.report-coverage span { color: var(--text-soft); font-family: var(--font-mono); font-size: .62rem; text-transform: uppercase; }
.report-coverage strong { font-size: 1.05rem; font-weight: 550; }
.report-coverage p { margin: 0; color: var(--text-soft); font-size: .82rem; line-height: 1.55; }
.report-coverage-partial, .report-coverage-infrastructure, .report-coverage-minimal { border-left: 3px solid var(--warning); }
.report-coverage-full { border-left: 3px solid var(--success); }

@media (max-width: 78rem) {
    .home-hero-grid, .scan-page-grid { grid-template-columns: 1fr; }
    .home-hero-copy { max-width: 54rem; }
    .report-preview { max-width: 42rem; margin-left: auto; }
    .dependency-board { grid-template-columns: 1fr; }
    .dependency-board-map { border-right: 0; border-bottom: 1px solid var(--inverse-line); }
    .dependency-board-insights { grid-template-columns: repeat(3, 1fr); }
    .dependency-board-insights article { border-right: 1px solid var(--inverse-line); border-bottom: 0; }
    .dependency-board-insights article:last-child { border-right: 0; }
    .deliverable-grid { grid-template-columns: repeat(2, 1fr); }
    .deliverable-grid article:nth-child(2) { border-right: 0; }
    .deliverable-grid article:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
}

@media (max-width: 62rem) {
    .two-column-intro, .process-heading { grid-template-columns: 1fr; gap: 1.5rem; }
    .two-column-intro h2, .section-heading-row h2, .process-heading h2 { max-width: 16ch; }
    .report-preview { margin-left: 0; }
    .dependency-board-insights { grid-template-columns: 1fr; }
    .dependency-board-insights article { min-height: 7rem; border-right: 0; border-bottom: 1px solid var(--inverse-line); }
    .dependency-board-insights article:last-child { border-bottom: 0; }
    .process-list, .coverage-grid { grid-template-columns: 1fr; }
    .process-list article, .coverage-grid article, .process-list article + article, .coverage-grid article + article { min-height: auto; padding: 1.5rem 0; border-right: 0; border-bottom: 1px solid var(--inverse-line); }
    .process-list article:last-child, .coverage-grid article:last-child { border-bottom: 0; }
    .process-list h3, .coverage-grid h3 { margin-top: 1.1rem; }
}

@media (max-width: 44rem) {
    :root { --shell: min(100% - 1.3rem, 86rem); }
    h1 { font-size: clamp(2.5rem, 11vw, 3.6rem); }
    h2 { font-size: clamp(2rem, 8vw, 2.8rem); }
    .section { padding: 4rem 0; }
    .home-hero { min-height: auto; padding: 3.6rem 0 2rem; }
    .home-hero-copy h1, .scan-page-copy h1 { max-width: none; font-size: clamp(2.7rem, 12vw, 3.8rem); line-height: 1; }
    .home-hero-facts { grid-template-columns: 1fr; }
    .home-hero-facts span, .home-hero-facts span + span { min-height: auto; padding: .8rem 0; border-left: 0; border-bottom: 1px solid var(--line); }
    .home-hero-facts span:last-child { border-bottom: 0; }
    .report-preview { padding: 1rem; border-radius: var(--radius-md); }
    .report-preview-head { flex-direction: column; gap: .4rem; }
    .preview-bars div { grid-template-columns: 6rem 1fr 2rem; }
    .dependency-board { margin-top: 2rem; }
    .dependency-board-map { padding: .35rem; overflow-x: auto; }
    .dependency-board-map .dependency-map svg { min-width: 40rem; }
    .trust-dimensions-compact .dimension-card { min-height: auto; }
    .deliverable-grid { grid-template-columns: 1fr; }
    .deliverable-grid article, .deliverable-grid article:nth-child(n) { min-height: auto; border-right: 0; border-bottom: 1px solid var(--line); }
    .deliverable-grid article:last-child { border-bottom: 0; }
    .deliverable-grid svg { margin: 1.6rem 0 1.3rem; }
    .scan-page-hero { padding: 3.7rem 0; }
    .scan-console { padding: .85rem; border-radius: var(--radius-md); }
    .scan-console-head { flex-direction: column; gap: .25rem; }
    .scan-assurances { flex-direction: column; align-items: flex-start; }
    .report-coverage { grid-template-columns: 1fr; gap: .55rem; }
}

/* Scanapse 1.3 - constellation, trajectories, and evidence hierarchy */
.direction-up, .direction-down, .direction-stable { font-family: var(--font-mono); }
.direction-up { font-weight: 800; }
.direction-down { opacity: .62; text-decoration: underline; text-decoration-style: dotted; }
.direction-stable { opacity: .58; }

/* Keep editorial headings deliberate rather than oversized */
.constellation-hero h1, .changelog-hero h1, .report-history-scope .section-heading-row h2,
.home-constellation .section-heading-row h2, .constellation-map-section .section-heading-row h2,
.constellation-bands-section .section-heading-row h2, .constellation-stream-section .section-heading-row h2 {
    font-size: clamp(2.35rem, 4.7vw, 4.8rem);
}
.report-title-block h1 { font-size: clamp(2.8rem, 5.8vw, 5.8rem); }
.report-priorities > .shell > h2, .report-modules-section > .shell > h2 { font-size: clamp(2.25rem, 4vw, 4.1rem); }

/* Homepage constellation preview */
.home-constellation .section-heading-row { margin-bottom: 2.6rem; }
.home-constellation .section-heading-row > div:last-child { max-width: 38rem; }
.home-constellation-grid { border-top: 1px solid var(--line); }
.home-constellation-card { border-bottom: 1px solid var(--line); }
.home-constellation-card a {
    display: grid;
    grid-template-columns: 3rem minmax(0, 1fr) 5rem 3rem;
    gap: 1.2rem;
    align-items: center;
    min-height: 6.7rem;
    padding: 1rem 0;
    text-decoration: none;
}
.home-constellation-card a:hover h3 { text-decoration: underline; text-underline-offset: .2em; }
.home-constellation-index { color: var(--text-soft); font-family: var(--font-mono); font-size: .64rem; }
.home-constellation-card h3 { margin: 0 0 .35rem; font-size: clamp(1.05rem, 2vw, 1.4rem); overflow-wrap: anywhere; }
.home-constellation-card p { margin: 0; color: var(--text-soft); font-family: var(--font-mono); font-size: .65rem; }
.home-constellation-card > a > strong { font-size: 1.75rem; font-weight: 420; letter-spacing: -.055em; text-align: right; }
.home-constellation-card > a > strong small { color: var(--text-soft); font-family: var(--font-mono); font-size: .62rem; letter-spacing: 0; }
.home-constellation-delta { text-align: right; font-size: .72rem; }
.home-constellation-empty { padding: 2.2rem 0; }
.home-constellation-empty > span { color: var(--text-soft); font-family: var(--font-mono); font-size: .64rem; }
.home-constellation-empty h3 { max-width: 22ch; margin: 1rem 0 .7rem; font-size: 1.45rem; }
.home-constellation-empty p { max-width: 42rem; color: var(--text-soft); }

/* Scan examples */
.scan-examples { display: block; }
.scan-examples > span { display: block; margin: 0 0 .55rem; }
.scan-example-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem; }
.scan-examples .scan-example-grid button {
    display: flex;
    min-height: 3.5rem;
    padding: .65rem .75rem;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    border-radius: var(--radius-sm);
    text-align: left;
}
.scan-example-grid strong { color: var(--text); font-family: var(--font-sans); font-size: .75rem; }
.scan-example-grid small { margin-top: .18rem; color: var(--text-soft); font-size: .58rem; line-height: 1.35; }

/* Report visual hierarchy */
.report-score-panel .report-delta { display: block; width: fit-content; margin: .45rem 0 .55rem; padding: .28rem .5rem; border: 1px solid var(--line); border-radius: 999px; font-size: .63rem; }
.report-visual-grid { display: grid; grid-template-columns: minmax(22rem, .86fr) minmax(0, 1.14fr); gap: 1rem; margin-bottom: 1rem; }
.report-radar-card, .report-signal-grid article { border: 1px solid var(--line); background: var(--surface); }
.report-radar-card { padding: 1.1rem 1.25rem .8rem; }
.report-card-heading { display: flex; justify-content: space-between; gap: 1rem; align-items: baseline; }
.report-card-heading span { color: var(--text-soft); font-family: var(--font-mono); font-size: .61rem; }
.report-card-heading h3 { margin: 0; font-size: 1.05rem; letter-spacing: -.02em; }
.trust-radar { margin: .7rem 0 0; }
.trust-radar svg { width: 100%; max-height: 24rem; }
.trust-radar figcaption, .history-chart figcaption { margin: .2rem 0 0; color: var(--text-soft); font-size: .72rem; line-height: 1.5; }
.radar-grid polygon, .radar-grid line { fill: none; stroke: var(--line); stroke-width: 1; vector-effect: non-scaling-stroke; }
.radar-grid polygon:nth-child(even) { stroke-dasharray: 3 4; }
.radar-shape { fill: color-mix(in srgb, var(--text) 12%, transparent); stroke: var(--text); stroke-width: 1.6; vector-effect: non-scaling-stroke; }
.radar-dot { fill: var(--surface); stroke: var(--text); stroke-width: 2; vector-effect: non-scaling-stroke; }
.radar-label { fill: var(--text); font-family: var(--font-sans); font-size: 11px; font-weight: 650; }
.radar-value { fill: var(--text-soft); font-family: var(--font-mono); font-size: 10px; }
.report-signal-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.report-signal-grid article { min-height: 12rem; padding: 1.2rem; }
.report-signal-grid article > span { color: var(--text-soft); font-family: var(--font-mono); font-size: .62rem; text-transform: uppercase; }
.report-signal-grid article > strong { display: block; margin: 1.4rem 0 .55rem; font-size: clamp(2.4rem, 4vw, 4rem); font-weight: 350; letter-spacing: -.075em; line-height: .9; }
.report-signal-grid article p { margin: 0; color: var(--text-soft); font-size: .77rem; line-height: 1.55; }
.report-overview .category-grid { margin-top: 1rem; }

.report-history-grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(20rem, .65fr); gap: 1rem; align-items: start; }
.history-card { padding: 1.25rem; border: 1px solid var(--line); background: var(--surface); }
.history-chart { margin: 0 0 1.6rem; }
.history-chart svg { width: 100%; overflow: visible; }
.history-grid line { stroke: var(--line); stroke-width: 1; vector-effect: non-scaling-stroke; }
.history-grid text { fill: var(--text-soft); font-family: var(--font-mono); font-size: 9px; }
.history-line { fill: none; stroke: var(--text); stroke-width: 2; vector-effect: non-scaling-stroke; }
.history-point { fill: var(--surface); stroke: var(--text); stroke-width: 2; vector-effect: non-scaling-stroke; }
.history-point.is-current { fill: var(--text); }
.history-chart-dates { display: flex; justify-content: space-between; gap: 1rem; margin-top: -.5rem; color: var(--text-soft); font-family: var(--font-mono); font-size: .59rem; }
.history-list-rich li { grid-template-columns: 6rem minmax(0, 1fr) auto; padding: .9rem 0; }
.history-measure { display: flex; flex-direction: row !important; gap: .5rem; align-items: baseline; }
.history-measure strong { font-size: 1.35rem; font-weight: 450; }
.history-measure strong small { color: var(--text-soft); font-family: var(--font-mono); font-size: .58rem; }
.history-delta { font-size: .61rem; }
.history-context { min-width: 0; }
.history-context > span { color: var(--text); font-family: var(--font-sans); font-size: .78rem; }
.history-context small { margin: .18rem 0 .45rem; color: var(--text-soft); font-family: var(--font-mono); font-size: .59rem; }
.history-context progress { width: 100%; height: 2px; border: 0; background: var(--line); appearance: none; }
.history-context progress::-webkit-progress-bar { background: var(--line); }
.history-context progress::-webkit-progress-value { background: var(--text); }
.history-context progress::-moz-progress-bar { background: var(--text); }
.history-empty { min-height: 15rem; display: grid; place-content: center; text-align: center; }
.history-empty strong { font-size: 3.5rem; font-weight: 350; letter-spacing: -.075em; }
.history-empty p { max-width: 28rem; color: var(--text-soft); }

/* Constellation */
.constellation-hero { padding: clamp(4.8rem, 8vw, 8rem) 0; border-bottom: 1px solid var(--line); }
.constellation-hero-grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(24rem, .9fr); gap: clamp(3rem, 8vw, 8rem); align-items: end; }
.constellation-hero h1 { max-width: 13ch; margin-bottom: 1.5rem; line-height: .98; }
.constellation-hero .lead { max-width: 48rem; }
.constellation-hero-actions { display: flex; flex-wrap: wrap; gap: .7rem; margin-top: 1.7rem; }
.constellation-stats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; border: 1px solid var(--line); background: var(--surface); }
.constellation-stats div { min-height: 8rem; padding: 1rem; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.constellation-stats div:nth-child(2n) { border-right: 0; }
.constellation-stats div:nth-last-child(-n+2) { border-bottom: 0; }
.constellation-stats dt { color: var(--text-soft); font-family: var(--font-mono); font-size: .62rem; text-transform: uppercase; }
.constellation-stats dd { margin: 1.25rem 0 0; font-size: 2.5rem; font-weight: 350; letter-spacing: -.07em; line-height: 1; }
.constellation-stats dd small { margin-left: .15rem; color: var(--text-soft); font-family: var(--font-mono); font-size: .65rem; letter-spacing: 0; }
.constellation-stats .trajectory-counts { display: flex; flex-wrap: wrap; gap: .65rem; align-items: baseline; font-size: 1rem; letter-spacing: 0; }
.constellation-controls { padding: 1.1rem 0; background: var(--surface); }
.constellation-filter { display: grid; grid-template-columns: minmax(12rem, 1.25fr) repeat(3, minmax(9rem, .75fr)) auto auto; gap: .75rem; align-items: end; }
.constellation-filter label { display: grid; gap: .35rem; }
.constellation-filter label > span { color: var(--text-soft); font-family: var(--font-mono); font-size: .59rem; text-transform: uppercase; }
.constellation-filter input, .constellation-filter select { min-height: 3rem; width: 100%; padding: .65rem .75rem; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--bg); color: var(--text); }
.constellation-filter select { cursor: pointer; }
.constellation-filter .button { min-height: 3rem; }
.filter-reset { align-self: center; padding: .7rem .2rem; color: var(--text-soft); font-size: .72rem; }
.constellation-empty .scan-form { max-width: 46rem; margin-top: 1.8rem; }
.constellation-map-layout { display: grid; grid-template-columns: minmax(0, 1fr) 18rem; gap: 1rem; margin-top: 2.5rem; }
.constellation-plot, .constellation-legend { margin: 0; border: 1px solid var(--line); background: var(--surface); }
.constellation-plot { padding: .8rem; overflow-x: auto; }
.constellation-plot svg { min-width: 46rem; width: 100%; }
.constellation-plot figcaption { padding: .5rem .5rem 0; color: var(--text-soft); font-size: .7rem; }
.constellation-zones rect, .constellation-zones line { fill: none; stroke: var(--line); stroke-width: 1; vector-effect: non-scaling-stroke; }
.constellation-zones .zone-diagonal { stroke-dasharray: 4 6; }
.constellation-zones text { fill: var(--text-soft); font-family: var(--font-mono); font-size: 9px; }
.constellation-point { text-decoration: none; }
.constellation-point circle { fill: var(--surface); stroke: var(--text); stroke-width: 1.6; vector-effect: non-scaling-stroke; transition: fill .15s, stroke-width .15s; }
.constellation-point text { fill: var(--text); font-family: var(--font-mono); font-size: 8px; pointer-events: none; }
.constellation-point-watch circle { stroke-dasharray: 3 2; }
.constellation-point-blind circle { stroke-dasharray: 1 3; opacity: .72; }
.constellation-point:hover circle, .constellation-point:focus circle { fill: var(--text); stroke-width: 2.6; }
.constellation-legend { padding: 1.2rem; }
.constellation-legend h3 { margin-bottom: 1.3rem; font-size: 1.05rem; }
.constellation-legend dl { margin: 0; }
.constellation-legend dl > div { padding: .9rem 0; border-top: 1px solid var(--line); }
.constellation-legend dt { display: flex; gap: .65rem; align-items: center; font-size: .78rem; font-weight: 700; }
.constellation-legend dd { margin: .4rem 0 0 1.35rem; color: var(--text-soft); font-size: .7rem; line-height: 1.5; }
.legend-dot { width: .72rem; height: .72rem; border: 1.5px solid var(--text); border-radius: 50%; }
.legend-watch { border-style: dashed; }
.legend-blind { border-style: dotted; opacity: .65; }
.legend-size { width: .88rem; height: .88rem; border: 1px solid var(--text); border-radius: 50%; box-shadow: 0 0 0 4px color-mix(in srgb, var(--text) 12%, transparent); }
.constellation-bands { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 2.5rem; border: 1px solid var(--inverse-line); }
.constellation-band { min-width: 0; border-right: 1px solid var(--inverse-line); }
.constellation-band:last-child { border-right: 0; }
.constellation-band header { min-height: 11rem; padding: 1.1rem; border-bottom: 1px solid var(--inverse-line); }
.constellation-band header > div { display: flex; gap: .8rem; align-items: baseline; }
.constellation-band header span { color: var(--inverse-soft); font-family: var(--font-mono); font-size: .62rem; }
.constellation-band header h3 { margin: 0; font-size: 1.15rem; }
.constellation-band header p { margin: 1rem 0 0; color: var(--inverse-soft); font-size: .75rem; line-height: 1.55; }
.constellation-band-watch header { border-top: 2px dashed var(--inverse-text); }
.constellation-band-blind header { border-top: 2px dotted var(--inverse-soft); }
.constellation-band-clear header { border-top: 2px solid var(--inverse-text); }
.constellation-band ol { margin: 0; padding: 0; list-style: none; }
.constellation-band li { border-bottom: 1px solid var(--inverse-line); }
.constellation-band li:last-child { border-bottom: 0; }
.constellation-band li a { display: grid; grid-template-columns: 2rem minmax(0, 1fr) 3rem 2.5rem; gap: .55rem; align-items: center; min-height: 5.2rem; padding: .75rem .9rem; text-decoration: none; }
.constellation-band li a:hover { background: var(--inverse-surface); }
.band-rank { color: var(--inverse-soft); font-family: var(--font-mono); font-size: .57rem; }
.band-domain { min-width: 0; }
.band-domain strong { display: block; overflow: hidden; font-size: .82rem; text-overflow: ellipsis; white-space: nowrap; }
.band-domain small { display: block; margin-top: .22rem; overflow: hidden; color: var(--inverse-soft); font-family: var(--font-mono); font-size: .55rem; text-overflow: ellipsis; white-space: nowrap; }
.band-score { font-size: 1rem; font-weight: 550; text-align: right; }
.band-score small { color: var(--inverse-soft); font-family: var(--font-mono); font-size: .48rem; }
.band-delta { font-size: .58rem; text-align: right; }
.band-empty { padding: 1rem; color: var(--inverse-soft); font-size: .72rem; }
.constellation-stream-layout { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(19rem, .65fr); gap: 1rem; margin-top: 2.5rem; align-items: start; }
.signal-stream { border-top: 1px solid var(--line); }
.signal-stream article { border-bottom: 1px solid var(--line); }
.signal-stream article > a { display: grid; grid-template-columns: minmax(0, 1fr) 5.5rem; gap: 1rem; min-height: 8rem; padding: 1rem 0; align-items: center; text-decoration: none; }
.signal-stream article > a:hover h3 { text-decoration: underline; text-underline-offset: .2em; }
.signal-time { color: var(--text-soft); font-family: var(--font-mono); font-size: .59rem; }
.signal-stream h3 { margin: .35rem 0 .4rem; font-size: 1.15rem; overflow-wrap: anywhere; }
.signal-stream p { margin: 0; color: var(--text-soft); font-size: .73rem; }
.provider-tags { display: flex; flex-wrap: wrap; gap: .35rem; margin-top: .65rem; }
.provider-tags span { padding: .2rem .45rem; border: 1px solid var(--line); border-radius: 999px; color: var(--text-soft); font-family: var(--font-mono); font-size: .53rem; }
.signal-stream-score { display: flex; flex-direction: column; align-items: flex-end; }
.signal-stream-score strong { font-size: 2rem; font-weight: 350; letter-spacing: -.06em; }
.signal-stream-score span { font-size: .65rem; }
.provider-observatory { position: sticky; top: 7rem; padding: 1.2rem; border: 1px solid var(--line); background: var(--surface); }
.provider-observatory h2 { margin-bottom: .75rem; font-size: 1.7rem; }
.provider-observatory > p:not(.eyebrow):not(.band-empty) { color: var(--text-soft); font-size: .74rem; }
.provider-observatory .band-empty { color: var(--text-soft); padding: .6rem 0; }
.provider-observatory ol { margin: 1.4rem 0 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.provider-observatory li { display: flex; justify-content: space-between; gap: 1rem; padding: .75rem 0; border-bottom: 1px solid var(--line); font-size: .75rem; }
.provider-observatory li strong { font-family: var(--font-mono); }
.constellation-method-links { display: flex; flex-wrap: wrap; gap: 1.5rem; margin-top: 1.6rem; }

/* Changelog */
.changelog-hero-grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(20rem, .55fr); gap: clamp(3rem, 8vw, 8rem); align-items: end; }
.changelog-hero h1 { max-width: 13ch; }
.release-summary { padding: 1.2rem; border: 1px solid var(--line); background: var(--surface); }
.release-summary > span { color: var(--text-soft); font-family: var(--font-mono); font-size: .62rem; text-transform: uppercase; }
.release-summary > strong { display: block; margin: .8rem 0 1rem; font-size: 3.4rem; font-weight: 350; letter-spacing: -.075em; line-height: 1; }
.release-summary p { color: var(--text-soft); font-size: .78rem; }
.release-timeline { position: relative; margin-top: 3rem; }
.release-timeline::before { position: absolute; top: 0; bottom: 0; left: 1rem; width: 1px; content: ""; background: var(--line); }
.release-entry { position: relative; display: grid; grid-template-columns: 3rem minmax(0, 1fr); padding-bottom: 4rem; }
.release-marker { position: relative; z-index: 1; padding-top: 1rem; }
.release-marker span { display: block; width: 2rem; height: 2rem; border: 1px solid var(--text); border-radius: 50%; background: var(--bg); }
.release-status-current .release-marker span { background: var(--text); box-shadow: inset 0 0 0 .45rem var(--bg); }
.release-status-archived .release-marker span { border-style: dotted; }
.release-header { display: grid; grid-template-columns: 9rem minmax(0, 1fr); gap: 2rem; padding: 1.2rem 0 1.5rem; border-top: 1px solid var(--line); }
.release-version span, .release-meta { color: var(--text-soft); font-family: var(--font-mono); font-size: .61rem; text-transform: uppercase; }
.release-version strong { display: block; margin-top: .5rem; font-size: 1.65rem; font-weight: 450; }
.release-meta { display: flex; flex-wrap: wrap; gap: .8rem 1.2rem; }
.release-title h2 { max-width: 26ch; margin: .85rem 0 .7rem; font-size: clamp(1.8rem, 3.2vw, 3rem); }
.release-title > p { max-width: 58rem; margin: 0; color: var(--text-soft); }
.release-groups { grid-column: 2; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border: 1px solid var(--line); }
.release-groups section { padding: 1.1rem; border-right: 1px solid var(--line); }
.release-groups section:last-child { border-right: 0; }
.release-groups h3 { margin-bottom: 1rem; font-size: .78rem; font-family: var(--font-mono); letter-spacing: .04em; text-transform: uppercase; }
.release-groups ul { margin: 0; padding: 0 0 0 1rem; }
.release-groups li { margin-bottom: .6rem; color: var(--text-soft); font-size: .74rem; line-height: 1.55; }
.build-gates { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 2.5rem; border-block: 1px solid var(--inverse-line); }
.build-gates article { min-height: 13rem; padding: 1.2rem; border-right: 1px solid var(--inverse-line); }
.build-gates article:last-child { border-right: 0; }
.build-gates span { color: var(--inverse-soft); font-family: var(--font-mono); font-size: .62rem; }
.build-gates h3 { margin: 2.3rem 0 .65rem; font-size: 1rem; }
.build-gates p { margin: 0; color: var(--inverse-soft); font-size: .75rem; line-height: 1.55; }
.changelog-links { display: flex; flex-wrap: wrap; gap: .7rem; margin-top: 1.8rem; }

@media (max-width: 78rem) {
    .constellation-filter { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .constellation-filter .button, .filter-reset { justify-self: start; }
    .constellation-bands { grid-template-columns: 1fr; }
    .constellation-band { border-right: 0; border-bottom: 1px solid var(--inverse-line); }
    .constellation-band:last-child { border-bottom: 0; }
    .constellation-band header { min-height: auto; }
    .release-groups { grid-template-columns: 1fr; }
    .release-groups section { border-right: 0; border-bottom: 1px solid var(--line); }
    .release-groups section:last-child { border-bottom: 0; }
}

@media (max-width: 62rem) {
    .report-visual-grid, .report-history-grid, .constellation-hero-grid, .constellation-map-layout,
    .constellation-stream-layout, .changelog-hero-grid { grid-template-columns: 1fr; }
    .report-radar-card { max-width: 42rem; }
    .constellation-legend { display: grid; grid-template-columns: 10rem 1fr; gap: 1rem; }
    .constellation-legend dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .constellation-legend dl > div { padding: .7rem; border: 1px solid var(--line); }
    .provider-observatory { position: static; }
    .release-header { grid-template-columns: 7rem minmax(0, 1fr); }
    .build-gates { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .build-gates article:nth-child(2) { border-right: 0; }
    .build-gates article:nth-child(-n+2) { border-bottom: 1px solid var(--inverse-line); }
}

@media (max-width: 44rem) {
    .home-constellation-card a { grid-template-columns: 2rem minmax(0, 1fr) 3.5rem; gap: .65rem; }
    .home-constellation-delta { grid-column: 2 / 4; text-align: left; }
    .scan-example-grid, .report-signal-grid, .constellation-stats, .constellation-filter,
    .constellation-legend dl, .build-gates { grid-template-columns: 1fr; }
    .constellation-stats div, .constellation-stats div:nth-child(n) { border-right: 0; border-bottom: 1px solid var(--line); }
    .constellation-stats div:last-child { border-bottom: 0; }
    .constellation-filter .button { width: 100%; }
    .constellation-legend { display: block; }
    .constellation-legend dl { display: grid; }
    .constellation-band li a { grid-template-columns: 1.5rem minmax(0, 1fr) 2.7rem; }
    .band-delta { grid-column: 2 / 4; text-align: left; }
    .signal-stream article > a { grid-template-columns: minmax(0, 1fr) 4rem; }
    .history-list-rich li { grid-template-columns: 4.5rem minmax(0, 1fr); }
    .history-list-rich li > a { grid-column: 2; }
    .release-entry { grid-template-columns: 2rem minmax(0, 1fr); }
    .release-timeline::before { left: .65rem; }
    .release-marker span { width: 1.3rem; height: 1.3rem; }
    .release-header { grid-template-columns: 1fr; gap: .8rem; }
    .release-groups { grid-column: 2; }
    .build-gates article, .build-gates article:nth-child(n) { min-height: auto; border-right: 0; border-bottom: 1px solid var(--inverse-line); }
    .build-gates article:last-child { border-bottom: 0; }
}

/* Scanapse 1.4 - public ranking */
.home-ranking { background: var(--surface); }
.home-ranking-heading {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(20rem, .72fr);
    gap: clamp(2rem, 7vw, 7rem);
    align-items: end;
}
.home-ranking-heading h2 { max-width: 19ch; margin-bottom: 0; font-size: clamp(2rem, 4.2vw, 4rem); }
.home-ranking-intro { max-width: 42rem; }
.home-ranking-intro .text-link { margin-top: 1.15rem; }
.home-ranking-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-top: 2.4rem;
    border: 1px solid var(--line);
    background: var(--bg);
}
.home-ranking-stats > div { min-height: 7.25rem; padding: 1rem; border-right: 1px solid var(--line); }
.home-ranking-stats > div:last-child { border-right: 0; }
.home-ranking-stats dt { color: var(--text-soft); font-family: var(--font-mono); font-size: .58rem; text-transform: uppercase; }
.home-ranking-stats dd { margin: 1.45rem 0 0; font-size: 2rem; font-weight: 400; letter-spacing: -.06em; line-height: 1; }
.home-ranking-stats dd small { margin-left: .15rem; color: var(--text-soft); font-family: var(--font-mono); font-size: .56rem; letter-spacing: 0; }
.home-ranking-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 1rem;
    border: 1px solid var(--line);
    background: var(--bg);
}
.home-ranking-band { min-width: 0; border-right: 1px solid var(--line); }
.home-ranking-band:last-child { border-right: 0; }
.home-ranking-band > header {
    display: grid;
    grid-template-columns: 2rem minmax(0, 1fr);
    gap: .85rem;
    min-height: 10.25rem;
    padding: 1.1rem;
    border-bottom: 1px solid var(--line);
}
.home-ranking-band-clear > header { border-top: 3px solid var(--text); }
.home-ranking-band-watch > header { border-top: 3px dashed var(--text); }
.home-ranking-band-blind > header { border-top: 3px dotted var(--text-soft); }
.home-ranking-band > header > span { color: var(--text-soft); font-family: var(--font-mono); font-size: .6rem; }
.home-ranking-band h3 { margin: 0 0 .65rem; font-size: 1rem; }
.home-ranking-band header p { margin: 0; color: var(--text-soft); font-size: .72rem; line-height: 1.55; }
.home-ranking-band ol { margin: 0; padding: 0; list-style: none; }
.home-ranking-band li { border-bottom: 1px solid var(--line); }
.home-ranking-band li:last-child { border-bottom: 0; }
.home-ranking-band li a {
    display: grid;
    grid-template-columns: 2rem minmax(0, 1fr) 3.4rem 2.4rem;
    gap: .55rem;
    align-items: center;
    min-height: 5.3rem;
    padding: .75rem .9rem;
    text-decoration: none;
}
.home-ranking-band li a:hover, .home-ranking-band li a:focus-visible { background: var(--surface); }
.home-ranking-rank, .home-ranking-delta { color: var(--text-soft); font-family: var(--font-mono); font-size: .56rem; }
.home-ranking-domain { min-width: 0; }
.home-ranking-domain strong { display: block; overflow: hidden; font-size: .82rem; text-overflow: ellipsis; white-space: nowrap; }
.home-ranking-domain small { display: block; margin-top: .25rem; overflow: hidden; color: var(--text-soft); font-family: var(--font-mono); font-size: .53rem; text-overflow: ellipsis; white-space: nowrap; }
.home-ranking-score { font-size: 1rem; font-weight: 600; text-align: right; }
.home-ranking-score small { color: var(--text-soft); font-family: var(--font-mono); font-size: .46rem; }
.home-ranking-delta { text-align: right; }
.home-ranking-band-empty { min-height: 5rem; margin: 0; padding: 1.1rem; color: var(--text-soft); font-size: .72rem; }
.home-ranking-empty { margin-top: 2rem; padding: 1.5rem; border: 1px solid var(--line); background: var(--bg); }
.home-ranking-empty p { max-width: 42rem; margin: 0 0 1rem; color: var(--text-soft); }

@media (max-width: 78rem) {
    .home-ranking-grid { grid-template-columns: 1fr; }
    .home-ranking-band { border-right: 0; border-bottom: 1px solid var(--line); }
    .home-ranking-band:last-child { border-bottom: 0; }
    .home-ranking-band > header { min-height: auto; }
}

@media (max-width: 62rem) {
    .home-ranking-heading { grid-template-columns: 1fr; gap: 1.5rem; }
    .home-ranking-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .home-ranking-stats > div:nth-child(2n) { border-right: 0; }
    .home-ranking-stats > div:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
}

@media (max-width: 44rem) {
    .home-ranking-stats { grid-template-columns: 1fr; }
    .home-ranking-stats > div:nth-child(n) { min-height: auto; border-right: 0; border-bottom: 1px solid var(--line); }
    .home-ranking-stats > div:last-child { border-bottom: 0; }
    .home-ranking-band li a { grid-template-columns: 1.6rem minmax(0, 1fr) 3rem; }
    .home-ranking-delta { grid-column: 2 / 4; text-align: left; }
}

/* Scanapse 2.1 public Evidence-first experience */
.home21-hero { padding:clamp(4rem,9vw,8rem) 0; }
.home21-hero-grid { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(18rem,.85fr); gap:clamp(2rem,6vw,6rem); align-items:start; }
.home21-hero h1 { max-width:12ch; font-size:clamp(3rem,8vw,7rem); }
.home21-proof-preview { border:1px solid var(--inverse-line); border-radius:var(--radius-md); padding:1rem; background:var(--inverse-surface); }
.home21-proof-preview header { display:flex; justify-content:space-between; gap:1rem; padding-bottom:.8rem; border-bottom:1px solid var(--inverse-line); font-family:var(--font-mono); font-size:.75rem; }
.home21-proof-preview header strong { color:var(--success); }
.home21-proof-preview dl { display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--inverse-line); margin:1rem 0; }
.home21-proof-preview dl div { background:var(--inverse-bg); padding:1rem; }
.home21-proof-preview dt { color:var(--inverse-soft); font-size:.7rem; text-transform:uppercase; }
.home21-proof-preview dd { margin:.3rem 0 0; font-size:1.65rem; }
.home21-proof-preview p,.home21-proof-preview small { color:var(--inverse-soft); }
.home21-method-grid,.home21-proof-grid,.home21-link-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.home21-method-grid article,.home21-proof-grid article { border:1px solid var(--line); border-radius:var(--radius-md); padding:1.25rem; background:var(--surface); }
.home21-method-grid article > span { font-family:var(--font-mono); color:var(--text-soft); }
.home21-register-grid { border:1px solid var(--line); border-radius:var(--radius-md); overflow:hidden; }
.home21-register-item { display:grid; grid-template-columns:minmax(10rem,1.4fr) repeat(3,minmax(7rem,.7fr)) minmax(10rem,.8fr); gap:1rem; align-items:center; padding:1rem; border-bottom:1px solid var(--line); text-decoration:none; }
.home21-register-item:last-child { border-bottom:0; }
.home21-register-item span,.home21-register-item time { color:var(--text-soft); font-size:.78rem; }
.home21-register-empty { padding:1.25rem; color:var(--text-soft); }
.home21-chain { display:grid; grid-template-columns:1fr auto 1fr auto 1fr auto 1fr; gap:1rem; align-items:center; }
.home21-chain div { min-width:0; border:1px solid var(--inverse-line); border-radius:999px; padding:1rem; text-align:center; }
.home21-chain span { display:block; font-weight:600; }
.home21-chain small { color:var(--inverse-soft); }
.home21-chain i { color:var(--inverse-soft); font-style:normal; }
.home21-proof-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.home21-link-grid a { min-width:0; border:1px solid var(--line); border-radius:var(--radius-md); padding:1.25rem; text-decoration:none; background:var(--surface); }
.home21-link-grid a > span { font-family:var(--font-mono); color:var(--text-soft); }
.home21-link-grid strong { display:block; margin:.5rem 0; font-size:1.2rem; }
.home21-link-grid p { color:var(--text-soft); }
.module-evidence-meta { display:flex; flex-wrap:wrap; gap:.4rem; margin:.55rem 0 .8rem; }
.module-evidence-meta span { border:1px solid var(--line); border-radius:999px; padding:.18rem .5rem; font-size:.68rem; color:var(--text-soft); }
@media (max-width:900px) {
    .home21-hero-grid { grid-template-columns:1fr; }
    .home21-register-item { grid-template-columns:1fr 1fr; }
    .home21-chain { grid-template-columns:1fr; }
    .home21-chain i { transform:rotate(90deg); text-align:center; }
}
@media (max-width:620px) {
    .home21-method-grid,.home21-proof-grid,.home21-link-grid,.home21-proof-preview dl,.home21-register-item { grid-template-columns:1fr; }
}

/* Scanapse 2.2 scan-first strategic evidence experience */
.home22-hero { padding:clamp(3.2rem,7vw,6.5rem) 0; border-bottom:1px solid var(--line); }
.home22-hero-grid { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(18rem,.8fr); gap:clamp(2rem,6vw,6rem); align-items:center; }
.home22-hero h1 { max-width:15ch; font-size:clamp(2.7rem,6.4vw,5.8rem); line-height:.98; }
.home22-hero .lead { max-width:48rem; }
.home22-scan-console { margin-top:2rem; padding:1rem; border:1px solid var(--line-strong); border-radius:var(--radius-md); background:var(--surface); box-shadow:var(--shadow-soft); }
.home22-scan-label { margin:0 0 .65rem; color:var(--text-soft); font-family:var(--font-mono); font-size:.72rem; }
.home22-promise { padding:1.4rem; border:1px solid var(--line); border-radius:var(--radius-md); background:var(--surface); }
.home22-promise h2 { max-width:16ch; font-size:clamp(1.7rem,3vw,2.6rem); }
.home22-promise > p:last-child { color:var(--text-soft); }
.home22-promise-flow { display:flex; flex-wrap:wrap; gap:.45rem; margin:1.3rem 0; }
.home22-promise-flow span { padding:.35rem .6rem; border:1px solid var(--line); border-radius:999px; font-family:var(--font-mono); font-size:.68rem; }
.home22-promise-flow span:not(:last-child)::after { content:' →'; color:var(--text-soft); }
.home22-why-grid,.home22-stat-grid,.home22-trend-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.home22-why-grid article,.home22-stat-grid article,.home22-trend-grid article,.home22-km-cards article { padding:1.2rem; border:1px solid var(--line); border-radius:var(--radius-md); background:var(--surface); }
.home22-why-grid p,.home22-km-cards p,.home22-stat-grid p,.home22-stat-grid small,.home22-trend-grid p,.home22-trend-grid small { color:var(--text-soft); }
.home22-method-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); margin:0 auto; padding:0; list-style:none; border:1px solid var(--line); border-radius:var(--radius-md); overflow:hidden; }
.home22-method-grid li { min-width:0; padding:1.1rem; border-right:1px solid var(--line); background:var(--surface); }
.home22-method-grid li:last-child { border-right:0; }
.home22-method-grid li > span { display:block; margin-bottom:1rem; color:var(--text-soft); font-family:var(--font-mono); font-size:.68rem; }
.home22-method-grid li > strong { display:block; margin-bottom:.5rem; }
.home22-method-grid p { margin:0; color:var(--text-soft); font-size:.82rem; }
.home22-stat-grid article > span,.home22-trend-grid article > span { color:var(--text-soft); font-family:var(--font-mono); font-size:.68rem; }
.home22-stat-grid article > strong,.home22-trend-grid article > strong { display:block; margin:.45rem 0; font-size:clamp(2rem,4vw,3.6rem); font-weight:500; }
.home22-data-empty { padding:1.25rem; border:1px dashed var(--line-strong); border-radius:var(--radius-md); color:var(--text-soft); }
.home22-data-empty strong { color:var(--text); }
.home22-recent-list { border:1px solid var(--line); border-radius:var(--radius-md); overflow:hidden; }
.home22-recent-row { display:grid; grid-template-columns:minmax(10rem,1.4fr) repeat(3,minmax(7rem,.7fr)) minmax(10rem,.9fr); gap:1rem; align-items:center; min-height:4.6rem; padding:.9rem 1rem; border-bottom:1px solid var(--line); text-decoration:none; }
.home22-recent-row:last-child { border-bottom:0; }
.home22-recent-row:hover,.home22-recent-row:focus-visible { background:var(--surface); }
.home22-recent-row span,.home22-recent-row time { color:var(--text-soft); font-size:.75rem; }
.home22-trend-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.home22-km-grid { display:grid; grid-template-columns:minmax(18rem,.75fr) minmax(0,1.25fr); gap:clamp(2rem,6vw,6rem); align-items:start; }
.home22-km-grid h2 { max-width:15ch; }
.home22-km-cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.home22-km-cards article:last-child { grid-column:1 / -1; }
.scan-canonical-preview { margin:.55rem 0 0; color:var(--success); font-family:var(--font-mono); font-size:.76rem; }
@media (max-width:900px) {
    .home22-hero-grid,.home22-km-grid { grid-template-columns:1fr; }
    .home22-method-grid { grid-template-columns:1fr 1fr; }
    .home22-method-grid li { border-bottom:1px solid var(--line); }
    .home22-recent-row { grid-template-columns:1fr 1fr; }
}
@media (max-width:620px) {
    .home22-hero { padding-top:2.5rem; }
    .home22-hero h1 { font-size:clamp(2.45rem,14vw,4rem); }
    .home22-why-grid,.home22-stat-grid,.home22-trend-grid,.home22-method-grid,.home22-km-cards,.home22-recent-row { grid-template-columns:1fr; }
    .home22-method-grid li { border-right:0; }
    .home22-km-cards article:last-child { grid-column:auto; }
    .home22-recent-row { gap:.35rem; }
}

/* Scanapse 2.2 progressive strategic report */
.report22-hero h1 { max-width:18ch; font-size:clamp(2.5rem,5.5vw,5.2rem); }
.report22-signal-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:.8rem; }
.report22-signal-card { min-width:0; padding:1rem; border:1px solid var(--line); border-radius:var(--radius-md); background:var(--surface); }
.report22-signal-card.importance-high { border-top:3px solid var(--warning); }
.report22-signal-meta,.report22-provenance { display:flex; flex-wrap:wrap; gap:.4rem; margin-bottom:.75rem; }
.report22-signal-meta span,.report22-provenance span { padding:.18rem .45rem; border:1px solid var(--line); border-radius:999px; color:var(--text-soft); font-family:var(--font-mono); font-size:.62rem; }
.report22-signal-card h3 { font-size:1.05rem; }
.report22-signal-card p,.report22-signal-card small { color:var(--text-soft); }
.report22-story-list { display:grid; gap:1rem; }
.report22-story-list article { display:grid; grid-template-columns:minmax(12rem,.65fr) minmax(0,1.35fr); gap:1rem 2rem; padding:1.15rem 0; border-top:1px solid var(--line); }
.report22-story-list article:first-child { border-top:0; }
.report22-story-list h3 { margin:0; }
.report22-story-list > article > p { margin:0; color:var(--text-soft); }
.report22-limit { color:var(--text-soft); }
.report22-story-list .report22-limit,.report22-story-list .report22-provenance { grid-column:2; }
.report22-knowledge-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.report22-knowledge-grid article { padding:1.2rem; border:1px solid var(--line); border-radius:var(--radius-md); background:var(--surface); }
.report22-knowledge-grid article > span { color:var(--text-soft); font-size:.68rem; }
.report22-knowledge-grid article > p { color:var(--text-soft); }
.report22-knowledge-grid article > div { margin-top:1rem; padding-top:1rem; border-top:1px solid var(--line); }
.report22-knowledge-grid article > div p { margin:.35rem 0 0; color:var(--text-soft); }
@media (max-width:1100px) { .report22-signal-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:760px) {
    .report22-signal-grid,.report22-knowledge-grid { grid-template-columns:1fr; }
    .report22-story-list article { grid-template-columns:1fr; }
    .report22-story-list .report22-limit,.report22-story-list .report22-provenance { grid-column:auto; }
}
.evidence-km-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; margin:1rem 0; }
.evidence-km-actions > div { padding:1rem; border:1px solid var(--line); border-radius:var(--radius-sm); background:var(--bg); }
.evidence-km-actions p { margin:.4rem 0 0; color:var(--text-soft); }
@media (max-width:620px) { .evidence-km-actions { grid-template-columns:1fr; } }


/* Scanapse 2.3 continuous evidence UX */
.home22-hero { padding: clamp(2.6rem, 5vw, 5rem) 0; }
.home22-hero h1 { max-width: none; font-size: clamp(2.6rem, 5vw, 5.15rem); line-height: 1.02; text-wrap: balance; }
.home22-promise h2, .home22-km-grid h2, .two-column-intro h2, .section-heading-row h2 { max-width: none; text-wrap: balance; }
.report22-hero h1, .scan-page-copy h1 { max-width: none; text-wrap: balance; }
.home22-hero-grid { grid-template-columns: minmax(0, 1.32fr) minmax(18rem, .68fr); gap: clamp(2rem, 5vw, 5rem); }
.home22-scan-console { margin-top: 1.45rem; }
.section-shell, .home22-km-grid { min-width: 0; }
@media (max-width: 900px) {
    .home22-hero h1, .report22-hero h1, .scan-page-copy h1 { max-width: 24ch; }
}
@media (max-width: 620px) {
    .home22-hero h1 { max-width: none; font-size: clamp(2.25rem, 11vw, 3.55rem); line-height: 1.04; }
}

/* Scanapse 2.3.2 home, header and footer UX */
.site-header-232 {
    border-bottom-color: color-mix(in srgb, var(--line) 82%, transparent);
    background: color-mix(in srgb, var(--bg) 94%, transparent);
}
.site-header-232 .header-inner-232 { min-height: 4.6rem; grid-template-columns: minmax(0,1fr) auto; gap: .8rem; }
.header-brand-wrap { display:flex; min-width:0; gap:.65rem; align-items:center; }
.site-header-232 .brand-logo { width: 10.8rem; }
.header-version { flex:0 0 auto; padding:.24rem .48rem; border:1px solid var(--line); border-radius:999px; color:var(--text-soft); font-family:var(--font-mono); font-size:.58rem; line-height:1; }
.site-header-232 .primary-nav-232 { gap:1.25rem; }
.site-header-232 .primary-nav-232 a { font-size:.78rem; }
.site-header-232 .header-actions-232 { gap:.55rem; }
.site-header-232 .header-scan span { transition:transform .2s var(--ease); }
.site-header-232 .header-scan:hover span { transform:translateX(.18rem); }

.home232-hero { padding: clamp(3.3rem, 8vw, 6.8rem) 0 clamp(3rem,7vw,5.5rem); border-bottom:1px solid var(--line); }
.home232-hero-grid { display:grid; grid-template-columns:1fr; gap:2.5rem; align-items:center; }
.home232-hero-copy { min-width:0; }
.home232-hero h1 { max-width:12ch; margin:.65rem 0 1.35rem; font-size:clamp(3rem,13vw,5.2rem); line-height:.94; letter-spacing:-.055em; text-wrap:balance; }
.home232-hero .lead { max-width:43rem; margin-bottom:0; }
.home232-scan-box { max-width:46rem; margin-top:1.6rem; padding:.35rem; border:1px solid var(--line); border-radius:var(--radius-lg); background:var(--surface); box-shadow:var(--shadow); }
.home232-scan-box .scan-form { margin-top:0; }
.home232-scan-box .scan-input-wrap { box-shadow:none; }
.home232-hero-facts { display:flex; margin:1.1rem 0 0; padding:0; gap:.6rem 1.15rem; flex-wrap:wrap; list-style:none; color:var(--text-soft); font-size:.72rem; }
.home232-hero-facts li { display:flex; gap:.45rem; align-items:center; }
.home232-hero-facts li::before { width:.42rem; height:.42rem; flex:0 0 auto; border:1px solid currentColor; border-radius:50%; content:""; }
.home232-dossier-card { padding:1.35rem; border:1px solid var(--line); border-radius:var(--radius-lg); background:var(--surface); box-shadow:var(--shadow); }
.home232-dossier-head { display:flex; gap:1rem; align-items:flex-start; }
.home232-dossier-mark { display:grid; width:2.8rem; height:2.8rem; flex:0 0 auto; place-items:center; border:1px solid var(--line); border-radius:50%; font-size:1.25rem; }
.home232-dossier-head .eyebrow { margin:0 0 .45rem; }
.home232-dossier-head h2 { margin:0; font-size:clamp(1.6rem,5vw,2.25rem); line-height:1.05; }
.home232-dossier-card > p { margin:1.15rem 0 0; color:var(--text-soft); }
.home232-dossier-facts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin:1.35rem 0; border-block:1px solid var(--line); }
.home232-dossier-facts div { min-width:0; padding:1rem .65rem; }
.home232-dossier-facts div + div { border-left:1px solid var(--line); }
.home232-dossier-facts strong { display:block; font-size:1.2rem; font-weight:600; }
.home232-dossier-facts span { display:block; margin-top:.25rem; color:var(--text-soft); font-size:.67rem; line-height:1.35; }
.home232-mini-pillars { display:grid; grid-template-columns:repeat(6,1fr); gap:.4rem; margin:0 0 1.2rem; }
.home232-mini-pillars span { display:grid; min-height:2rem; place-items:center; border:1px solid var(--line); border-radius:.6rem; color:var(--text-soft); font-family:var(--font-mono); font-size:.6rem; }

.home232-section-heading { display:grid; grid-template-columns:1fr; gap:1rem; margin-bottom:2rem; }
.home232-section-heading h2 { max-width:17ch; margin-top:.45rem; text-wrap:balance; }
.home232-section-heading .lead-small { max-width:42rem; margin:0; }
.home232-purpose-grid { display:grid; grid-template-columns:1fr; gap:.8rem; }
.home232-purpose-grid article { position:relative; min-height:13rem; padding:1.35rem; border:1px solid var(--line); border-radius:var(--radius-md); background:var(--surface); }
.home232-card-index { display:inline-grid; width:2.2rem; height:2.2rem; place-items:center; border:1px solid var(--line); border-radius:50%; color:var(--text-soft); font-family:var(--font-mono); font-size:.62rem; }
.home232-purpose-grid h3 { margin:2rem 0 .65rem; }
.home232-purpose-grid p { margin:0; color:var(--text-soft); }

.home232-pillar-grid { display:grid; grid-template-columns:1fr; gap:.6rem; }
.home232-pillar-card { min-width:0; min-height:10.5rem; padding:1rem; border:1px solid var(--line); border-radius:var(--radius-md); background:var(--surface); transition:transform .2s var(--ease), border-color .2s var(--ease); }
.home232-pillar-card:hover { transform:translateY(-2px); border-color:var(--line-strong); }
.home232-pillar-top { display:flex; justify-content:space-between; align-items:center; }
.home232-pillar-number { color:var(--text-soft); font-family:var(--font-mono); font-size:.62rem; }
.home232-pillar-dot { width:.55rem; height:.55rem; border:1px solid var(--text-soft); border-radius:50%; }
.home232-pillar-card h3 { margin:1.5rem 0 .45rem; font-size:1rem; line-height:1.2; }
.home232-pillar-card p { margin:0; color:var(--text-soft); font-size:.76rem; line-height:1.5; }

.home232-process-grid { display:grid; grid-template-columns:1fr; margin:0 auto; padding:0; gap:.65rem; list-style:none; }
.home232-process-grid li { display:grid; grid-template-columns:2.35rem minmax(0,1fr); gap:.85rem; padding:1.1rem; border:1px solid var(--line); border-radius:var(--radius-md); background:var(--surface); }
.home232-step-number { display:grid; width:2.35rem; height:2.35rem; place-items:center; border-radius:50%; background:var(--text); color:var(--bg); font-family:var(--font-mono); font-size:.7rem; }
.home232-process-grid strong { display:block; margin:.12rem 0 .45rem; }
.home232-process-grid p { margin:0; color:var(--text-soft); font-size:.78rem; line-height:1.5; }

.home232-empty { padding:1.25rem 1.35rem; border:1px dashed var(--line-strong); border-radius:var(--radius-md); color:var(--text-soft); background:color-mix(in srgb,var(--surface) 72%,transparent); }
.home232-empty strong { color:var(--text); }
.home232-empty p { margin:.4rem 0 0; }
.home232-stat-grid { display:grid; grid-template-columns:1fr; gap:.7rem; }
.home232-stat-grid article { padding:1.25rem; border:1px solid var(--line); border-radius:var(--radius-md); background:var(--surface); }
.home232-stat-grid article > span { color:var(--text-soft); font-family:var(--font-mono); font-size:.64rem; text-transform:uppercase; }
.home232-stat-grid article > strong { display:block; margin:.5rem 0 .1rem; font-size:clamp(2.2rem,10vw,4rem); font-weight:450; letter-spacing:-.055em; }
.home232-stat-grid article > p { margin:0; }
.home232-stat-grid article > small { display:block; margin-top:1rem; padding-top:.8rem; border-top:1px solid var(--line); color:var(--text-soft); }
.home232-trend-panel { display:grid; grid-template-columns:1fr; gap:1.5rem; margin-top:1rem; padding:1.25rem; border:1px solid var(--line); border-radius:var(--radius-lg); background:var(--surface); }
.home232-trend-panel h3 { margin:.35rem 0 .55rem; font-size:clamp(1.45rem,5vw,2.2rem); }
.home232-trend-panel > div:first-child > p:last-child { color:var(--text-soft); }
.home232-trend-list { display:grid; grid-template-columns:1fr; gap:.5rem; }
.home232-trend-list article { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:.15rem 1rem; padding:.85rem; border:1px solid var(--line); border-radius:var(--radius-sm); }
.home232-trend-list strong,.home232-trend-list span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.home232-trend-list span,.home232-trend-list small { color:var(--text-soft); font-size:.68rem; }
.home232-trend-list b { grid-column:2; grid-row:1 / span 2; align-self:center; font-size:1.35rem; font-weight:550; }
.home232-trend-list small { grid-column:1 / -1; margin-top:.45rem; }

.home232-recent-heading { align-items:end; }
.home232-recent-heading .button { justify-self:start; }
.home232-recent-table { overflow:hidden; border:1px solid var(--line); border-radius:var(--radius-lg); background:var(--surface); }
.home232-recent-table > .home232-empty { border:0; border-radius:0; background:transparent; }
.home232-recent-row { display:grid; grid-template-columns:1fr; gap:.45rem; padding:1rem; border-bottom:1px solid var(--line); text-decoration:none; }
.home232-recent-row:last-child { border-bottom:0; }
.home232-recent-row:hover,.home232-recent-row:focus-visible { background:color-mix(in srgb,var(--bg) 58%,transparent); }
.home232-recent-row strong { font-size:.88rem; }
.home232-recent-row span,.home232-recent-row time { display:flex; justify-content:space-between; gap:1rem; color:var(--text-soft); font-size:.72rem; }
.home232-recent-row span::before,.home232-recent-row time::before { content:attr(data-label); color:var(--text); font-weight:600; }
.home232-recent-labels { display:none; }

.home232-proof-grid { display:grid; grid-template-columns:1fr; gap:2rem; }
.home232-proof-grid > div:first-child h2 { max-width:14ch; }
.home232-proof-grid > div:first-child .text-link { margin-top:1.2rem; }
.home232-proof-cards { display:grid; grid-template-columns:1fr; gap:.7rem; }
.home232-proof-cards article { position:relative; padding:1.15rem 1.15rem 1.15rem 3.3rem; border:1px solid var(--line); border-radius:var(--radius-md); background:var(--surface); }
.home232-proof-cards article > span { position:absolute; top:1rem; left:1rem; display:grid; width:1.7rem; height:1.7rem; place-items:center; border:1px solid var(--line); border-radius:50%; color:var(--text-soft); }
.home232-proof-cards h3 { margin:0 0 .45rem; font-size:.96rem; }
.home232-proof-cards p { margin:0; color:var(--text-soft); font-size:.78rem; }

.home232-final { padding-top:0; }
.home232-final-card { display:grid; grid-template-columns:1fr; gap:1.5rem; align-items:center; padding:1.5rem; border:1px solid var(--line); border-radius:var(--radius-lg); background:var(--surface); box-shadow:var(--shadow); }
.home232-final-card h2 { max-width:16ch; margin:.45rem 0 .7rem; }
.home232-final-card p { margin:0; color:var(--text-soft); }
.home232-final-form .scan-form { margin-top:0; }

.site-footer-232 { padding-top:3.3rem; background:color-mix(in srgb,var(--surface) 92%,var(--bg)); }
.footer-grid-232 { grid-template-columns:1fr; gap:2rem; }
.footer-brand-232 { padding-bottom:1rem; }
.footer-brand-232 .brand-logo { width:10.8rem; }
.footer-brand-232 p { max-width:28rem; }
.footer-bottom-232 { flex-direction:column; gap:.55rem; margin-top:2.5rem; }

@media (min-width: 34rem) {
    .home232-pillar-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .home232-proof-cards,.home232-stat-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .footer-grid-232 { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .footer-brand-232 { grid-column:1 / -1; }
}

@media (min-width: 54rem) {
    .home232-hero-grid { grid-template-columns:minmax(0,1.05fr) minmax(22rem,.95fr); gap:clamp(2.5rem,5vw,5.5rem); }
    .home232-hero h1 { font-size:clamp(4.2rem,7vw,6.7rem); }
    .home232-section-heading { grid-template-columns:minmax(0,.9fr) minmax(22rem,.75fr); gap:3rem; align-items:end; }
    .home232-purpose-grid,.home232-stat-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .home232-pillar-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .home232-process-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .home232-trend-panel { grid-template-columns:minmax(14rem,.55fr) minmax(0,1.45fr); }
    .home232-trend-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .home232-recent-heading .button { justify-self:end; }
    .home232-proof-grid { grid-template-columns:minmax(18rem,.75fr) minmax(0,1.25fr); gap:clamp(2rem,6vw,6rem); }
    .home232-final-card { grid-template-columns:minmax(18rem,.8fr) minmax(22rem,1.2fr); padding:2rem; }
    .footer-grid-232 { grid-template-columns:1.6fr repeat(2,minmax(0,1fr)); gap:2.5rem; }
    .footer-brand-232 { grid-column:1 / -1; }
}

@media (min-width: 70rem) {
    .home232-recent-row { grid-template-columns:minmax(11rem,1.35fr) repeat(3,minmax(7rem,.7fr)) minmax(10rem,.9fr); gap:1rem; align-items:center; padding:.85rem 1rem; }
    .home232-recent-row span,.home232-recent-row time { display:block; }
    .home232-recent-row span::before,.home232-recent-row time::before { display:none; }
    .home232-recent-labels { display:grid; background:color-mix(in srgb,var(--bg) 62%,transparent); color:var(--text-soft); font-family:var(--font-mono); font-size:.62rem; text-transform:uppercase; }
    .home232-recent-labels span { color:var(--text-soft); }
    .footer-grid-232 { grid-template-columns:1.6fr repeat(4,minmax(0,1fr)); }
    .footer-brand-232 { grid-column:auto; }
    .footer-bottom-232 { flex-direction:row; }
}

@media (min-width: 78.01rem) {
    .site-header-232 .header-inner-232 { grid-template-columns:minmax(11rem,1fr) auto minmax(11rem,1fr); gap:1.35rem; }
    .site-header-232 .menu-toggle { display:none; }
    .site-header-232 .primary-nav-232 { position:static; display:flex; padding:0; flex-direction:row; border:0; border-radius:0; background:transparent; box-shadow:none; }
    .site-header-232 .header-actions-232 { position:static; }
    .home232-pillar-grid { grid-template-columns:repeat(6,minmax(0,1fr)); }
    .home232-process-grid { grid-template-columns:repeat(6,minmax(0,1fr)); }
    .home232-process-grid li { grid-template-columns:1fr; min-height:12rem; }
}

@media (max-width: 760px) {
    .home232-hero-facts { flex-direction:column; align-items:flex-start; }
    .home232-dossier-facts { grid-template-columns:1fr; }
    .home232-dossier-facts div + div { border-top:1px solid var(--line); border-left:0; }
    .home232-mini-pillars { grid-template-columns:repeat(4,1fr); }
    .home232-final-card { padding:1.2rem; }
}

/* Scanapse 2.3.3 narrative UX and permanent natural-heading rule */
:where(main, .site-main) :is(h1,h2,h3,h4) {
    max-inline-size: none;
    text-wrap: balance;
    overflow-wrap: normal;
    word-break: normal;
}

.home233-hero { padding:clamp(4.5rem,8vw,8rem) 0; border-bottom:1px solid var(--line); }
.home233-hero-grid { display:grid; grid-template-columns:1fr; gap:2rem; align-items:center; }
.home233-hero-copy { min-width:0; }
.home233-hero h1 { max-inline-size:22ch; margin:0 0 1.4rem; font-size:clamp(2.8rem,7vw,5rem); line-height:.98; }
.home233-hero .lead { max-inline-size:62rem; font-size:clamp(1.05rem,2vw,1.35rem); }
.home233-scan-box { max-width:54rem; }
.home233-dossier-card { align-self:stretch; padding:clamp(1.3rem,3vw,2rem); }
.home233-dossier-card h2 { max-inline-size:24ch; margin:.35rem 0 1rem; font-size:clamp(1.7rem,3vw,2.8rem); }
.home233-dossier-list { display:grid; gap:.55rem; margin:1.4rem 0; padding:0; list-style:none; }
.home233-dossier-list li { display:grid; grid-template-columns:2.2rem minmax(0,1fr); gap:.8rem; align-items:center; padding:.8rem 0; border-top:1px solid var(--line); }
.home233-dossier-list li > span { font-family:var(--font-mono); color:var(--text-soft); font-size:.68rem; }
.home233-dossier-list strong { font-size:.95rem; }
.home233-section-heading { display:grid; grid-template-columns:1fr; gap:1.25rem; align-items:end; margin-bottom:2.2rem; }
.home233-section-heading h2 { max-inline-size:28ch; margin-bottom:0; font-size:clamp(2.1rem,5vw,4.4rem); }
.home233-section-heading .lead-small { max-inline-size:48rem; }
.home233-purpose-grid { display:grid; grid-template-columns:1fr; gap:.8rem; }
.home233-purpose-grid article { min-height:0; }
.home233-purpose-grid h3 { max-inline-size:28ch; }
.home233-pillar-grid { display:grid; grid-template-columns:1fr; gap:.7rem; }
.home233-pillar-card { min-height:0; padding:1rem; }
.home233-pillar-card h3 { margin:1rem 0 .45rem; font-size:1rem; }
.home233-pillar-card p { font-size:.78rem; }
.home233-history-grid { display:grid; grid-template-columns:1fr; gap:.7rem; }
.home233-history-grid li { min-height:0; }
.home233-operational { margin-top:2rem; }
.home233-proof-grid { display:grid; grid-template-columns:1fr; gap:2rem; }
.home233-proof-grid h2 { max-inline-size:24ch; }
.home233-method-card { display:grid; grid-template-columns:1fr; gap:1.5rem; }
.home233-method-card h2 { max-inline-size:28ch; margin-bottom:0; font-size:clamp(2rem,5vw,4rem); }
.home233-final-card h2 { max-inline-size:26ch; }

.pillar-grid-233 .pillar-card-233 { min-height:0; }
.pillar-card-233 .pillar-card-head { margin-bottom:.75rem; }
.pillar-state-label { font-size:.72rem; font-weight:700; color:var(--text-soft); }
.pillar-card-233 h3 { max-inline-size:24ch; margin:.5rem 0 .55rem; }
.pillar-card-233 .pillar-summary { min-height:0; margin-bottom:1rem; }
.pillar-evolution { display:flex; align-items:baseline; justify-content:space-between; gap:1rem; margin-top:auto; padding-top:.65rem; border-top:1px solid var(--line); font-size:.76rem; }
.pillar-evolution span { color:var(--text-soft); }
.pillar-actions { margin-top:.85rem; }
.pillar-dialog-233 .pillar-question { border-left:0; border:1px solid var(--line); border-radius:var(--radius-sm); }
.pillar-dialog-233 .pillar-question strong { display:block; margin-bottom:.35rem; }
.pillar-dialog-233 .pillar-question p { margin:0; }
.pillar-dialog-summary { font-size:1.05rem; line-height:1.55; }
.pillar-observation-head { display:flex; justify-content:space-between; gap:1rem; align-items:flex-start; }
.pillar-observation-head span { color:var(--text-soft); font-size:.72rem; }
.pillar-observation-value { margin:.2rem 0 0; overflow-wrap:anywhere; }
.pillar-technical-details { border-top:1px solid var(--line); }
.pillar-technical-details > summary { min-height:56px; display:flex; align-items:center; padding:1rem 1.1rem; cursor:pointer; font-weight:700; }
.pillar-technical-details > summary:focus-visible { outline:3px solid var(--text); outline-offset:-4px; }

@media (min-width: 48rem) {
    .home233-purpose-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .home233-pillar-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .home233-history-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .home233-proof-grid { grid-template-columns:minmax(18rem,.75fr) minmax(0,1.25fr); gap:clamp(2rem,6vw,6rem); }
    .home233-method-card { grid-template-columns:minmax(18rem,.9fr) minmax(20rem,1.1fr); gap:clamp(2rem,6vw,6rem); align-items:end; }
}

@media (min-width: 64rem) {
    .home233-hero-grid { grid-template-columns:minmax(0,1.25fr) minmax(22rem,.75fr); gap:clamp(3rem,6vw,7rem); }
    .home233-hero h1 { font-size:clamp(3.8rem,5.2vw,5rem); }
    .home233-section-heading { grid-template-columns:minmax(0,1.2fr) minmax(22rem,.8fr); gap:clamp(2rem,5vw,5rem); }
    .home233-pillar-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
    .home233-history-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
}

@media (min-width: 84rem) {
    .home233-pillar-grid { grid-template-columns:repeat(6,minmax(0,1fr)); }
    .home233-hero h1 { max-inline-size:24ch; }
}

@media (max-width: 760px) {
    .home233-hero { padding-top:3.2rem; }
    .home233-hero h1 { font-size:clamp(2.5rem,12vw,3.7rem); line-height:1; }
    .home233-section-heading h2 { font-size:clamp(2rem,9vw,3rem); }
    .home233-dossier-list li { grid-template-columns:1.8rem minmax(0,1fr); }
}
.home233-trends { margin-top:1rem; padding:1rem 0 0; }
.home233-trend-list { display:grid; grid-template-columns:1fr; gap:.6rem; }
.home233-trend-list article { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:.2rem .8rem; padding:.9rem; border:1px solid var(--line); border-radius:var(--radius-sm); background:var(--surface); }
.home233-trend-list strong,.home233-trend-list span { overflow-wrap:anywhere; }
.home233-trend-list span,.home233-trend-list small { color:var(--text-soft); font-size:.72rem; }
.home233-trend-list b { grid-column:2; grid-row:1 / span 2; align-self:center; }
.home233-trend-list small { grid-column:1 / -1; }
@media (min-width:48rem){.home233-trend-list{grid-template-columns:repeat(2,minmax(0,1fr));}}

/* Scanapse 2.4.3 shared public-page density */
.public243-hero + .section {
    padding-top:clamp(2.5rem,4vw,4rem);
}
.public243-hero .module-rule-version {
    margin-top:1rem;
}
.public243-hero .scan-page-grid,
.public243-hero .constellation-hero-grid {
    gap:clamp(1.5rem,3vw,3rem);
    align-items:start;
}
.public243-hero :is(.lead,.lead-small) {
    line-height:1.55;
}
.contact243-hero + .section .contact-layout {
    gap:1rem;
}
@media (max-width:48rem) {
    .public243-hero + .section {
        padding-top:2.25rem;
    }
}

.contact243-reasons {
    margin:1rem 0 1.15rem;
    padding:1rem;
    border:1px solid var(--line);
    border-radius:var(--radius-md);
    background:var(--surface-2);
}
.contact243-reasons strong {
    display:block;
    margin-bottom:.55rem;
}
.contact243-reasons ul {
    margin:0;
    padding-left:1.15rem;
    color:var(--text-soft);
}
