* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}:root {
    --ink: #10213f;
    --paper: #f6f5f1;
    --panel: #ffffff;
    --slate: #58606f;
    --mute: #8891a0;
    --line: #e3e0d6;
    --signal: #127c5b;
    --signal-dim: #e7f1ec;
    --alert: #a23b30;
    --alert-dim: #f5e8e6;
    --shadow-sm: 0 1px 2px rgba(16, 33, 63, 0.06);
    --shadow-md: 0 8px 24px -8px rgba(16, 33, 63, 0.18);
    --radius-sm: 6px;
    --radius-md: 10px;
    --font-display: 'Space Grotesk', 'Inter', -apple-system, sans-serif;
    --font-body: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    --font-mono: 'IBM Plex Mono', 'Monaco', 'Menlo', monospace;
    /* CJK accents only — kickers above headings and the bilingual pull-quote. */
    --font-cjk: 'PingFang HK', 'Microsoft JhengHei', 'Noto Sans HK', sans-serif;

    /* --- additions (existing tokens above are unchanged) --- */
    --warn: #96661a;
    --warn-dim: #f6efdf;
    --console-a: #0b1830;
    --console-b: #1c3a66;
    --console-line: rgba(255, 255, 255, 0.12);
    --console-text: #e8ecf4;
    --console-mute: #94a3bd;
    --signal-bright: #35c39a;
    --alert-bright: #e08573;
    --rule: 1px solid var(--line);
    --maxw: 1200px;
}.mono,
time,
dd,
.num,
output {
    font-family: var(--font-mono);
    font-variant-numeric: tabular-nums;
    font-feature-settings: 'tnum' 1;
}.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}.skip-link {
    position: absolute;
    left: 16px;
    top: -60px;
    z-index: 2000;
    padding: 10px 18px;
    background: var(--ink);
    color: var(--paper);
    text-decoration: none;
    border-radius: var(--radius-sm);
    font-weight: 600;
    font-size: 14px;
    transition: top 0.2s ease;
}.skip-link:focus {
    top: 12px;
}html {
    scroll-behavior: smooth;
}body {
    font-family: var(--font-body);
    font-size: 16px;
    line-height: 1.65;
    color: var(--ink);
    background-color: var(--paper);
    overflow-x: hidden;
}

@media (prefers-reduced-motion: reduce) {html {
        scroll-behavior: auto;
    }* {
        animation-duration: 0.01ms !important;
        transition-duration: 0.01ms !important;
    }
}a {
    color: inherit;
}:focus-visible {
    outline: 2px solid var(--signal);
    outline-offset: 2px;
}::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}::-webkit-scrollbar-track {
    background: var(--paper);
}::-webkit-scrollbar-thumb {
    background: var(--line);
    border-radius: 4px;
}::-webkit-scrollbar-thumb:hover {
    background: var(--mute);
}.hero-content > * {
    opacity: 0;
    transform: translateY(16px);
    animation: rise 0.6s ease-out forwards;
}.hero-content h1 { animation-delay: 0.05s; }.hero-content .hero-subtitle { animation-delay: 0.18s; }.hero-content .hero-actions { animation-delay: 0.3s; }.hero-content .hero-stats { animation-delay: 0.42s; }.hero-visual {
    opacity: 0;
    animation: fadeIn 0.9s ease-out 0.2s forwards;
}

@keyframes rise {
    to { opacity: 1; transform: translateY(0); }
}

@keyframes fadeIn {
    to { opacity: 1; }
}.navbar {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    height: 72px;
    background: rgba(246, 245, 241, 0.92);
    backdrop-filter: blur(16px);
    padding: 0;
    z-index: 1000;
    border-bottom: 1px solid var(--line);
    transition: box-shadow 0.3s ease;
}
.nav-inner {
    max-width: var(--maxw);
    margin: 0 auto;
    height: 100%;
    padding: 0 64px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}.navbar.scrolled {
    box-shadow: var(--shadow-sm);
}.nav-brand {
    display: flex;
    align-items: center;
    gap: 12px;
    text-decoration: none;
}.brand-mark {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    flex-shrink: 0;
}
.brand-mark .ps { stroke: var(--ink); }
.brand-mark .xs { stroke: var(--signal); }
.brand-mark .xf { fill: var(--ink); }.footer .brand-mark .ps { stroke: var(--paper); }
.footer .brand-mark .xs { stroke: var(--signal-bright); }
.footer .brand-mark .xf { fill: var(--paper); }.brand-name {
    font-family: var(--font-display);
    font-size: 19px;
    font-weight: 600;
    color: var(--ink);
    white-space: nowrap;
}.nav-links {
    display: flex;
    list-style: none;
    gap: 32px;
}.nav-links a {
    text-decoration: none;
    color: var(--slate);
    font-weight: 500;
    font-size: 15px;
    transition: color 0.2s ease;
    position: relative;
}.nav-links a:hover,
.nav-links a.active {
    color: var(--ink);
}.nav-links a::after {
    content: '';
    position: absolute;
    bottom: -4px;
    left: 0;
    width: 0;
    height: 2px;
    background: var(--signal);
    transition: width 0.25s ease;
}.nav-links a:hover::after,
.nav-links a.active::after {
    width: 100%;
}.nav-cta {
    padding: 11px 22px;
    background: var(--ink);
    color: var(--paper);
    border: none;
    border-radius: var(--radius-sm);
    font-weight: 600;
    font-size: 14.5px;
    cursor: pointer;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    font-family: var(--font-body);
}.nav-cta:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-md);
}.hero {
    min-height: 100vh;
    display: grid;
    grid-template-columns: minmax(0, 480px) 1fr;
    align-items: center;
    gap: 60px;
    padding: 140px 64px 72px;
    max-width: var(--maxw);
    margin: 0 auto;
}.hero-content h1 {
    font-family: var(--font-display);
    font-size: 54px;
    font-weight: 600;
    line-height: 1.08;
    margin-bottom: 22px;
    color: var(--ink);
    letter-spacing: -0.01em;
}.hero-subtitle {
    font-size: 19px;
    color: var(--slate);
    margin-bottom: 34px;
    line-height: 1.7;
    max-width: 46ch;
}.hero-actions {
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
    margin-bottom: 40px;
}.hero-stats {
    display: flex;
    gap: 0;
    border-top: 1px solid var(--line);
    padding-top: 20px;
    max-width: 420px;
}.hero-stat {
    flex: 1;
    padding-right: 20px;
    border-right: 1px solid var(--line);
}.hero-stat:last-child {
    border-right: none;
}.hero-stat dt {
    font-size: 12.5px;
    color: var(--mute);
    margin-bottom: 6px;
}.hero-stat dd {
    font-family: var(--font-mono);
    font-size: 22px;
    font-weight: 600;
    color: var(--ink);
}.hero-stat dd.pos { color: var(--signal); }.hero-stat dd.neg { color: var(--alert); }.hero-visual {
    display: flex;
    flex-direction: column;
    gap: 14px;
    height: 100%;
}.hero-console {
    position: relative;
    flex: 1;
    min-height: 460px;
    display: flex;
    flex-direction: column;
    background: linear-gradient(160deg, var(--console-a) 0%, var(--ink) 55%, var(--console-b) 100%);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 12px;
    overflow: hidden;
    color: var(--console-text);
    box-shadow: var(--shadow-md);
}.console-chrome {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 18px;
    border-bottom: 1px solid var(--console-line);
    background: rgba(0, 0, 0, 0.16);
    font-size: 12px;
    letter-spacing: 0.02em;
}.console-dots {
    display: inline-flex;
    gap: 5px;
}.console-dots i {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.18);
}.console-dots i:first-child { background: rgba(255, 255, 255, 0.34); }.console-title {
    flex: 1;
    color: var(--console-mute);
    font-family: var(--font-mono);
    font-size: 11.5px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}.console-live {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--signal-bright);
    font-family: var(--font-mono);
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}.live-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--signal-bright);
    animation: pulseDot 2.4s ease-in-out infinite;
}

@keyframes pulseDot {
    0%, 100% { opacity: 1; transform: scale(1); }
    50%      { opacity: 0.35; transform: scale(0.7); }
}.console-body {
    position: relative;
    flex: 1;
    padding: 26px 26px 22px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}.console-sample-ribbon {
    position: absolute;
    top: 0;
    right: 0;
    margin: 0;
    padding: 4px 12px;
    background: rgba(255, 255, 255, 0.09);
    border-left: 1px solid var(--console-line);
    border-bottom: 1px solid var(--console-line);
    border-bottom-left-radius: var(--radius-sm);
    font-family: var(--font-mono);
    font-size: 10px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--console-mute);
}.console-headline {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding-bottom: 18px;
    border-bottom: 1px solid var(--console-line);
}.console-label {
    font-size: 12.5px;
    color: var(--console-mute);
    letter-spacing: 0.01em;
}.console-bignum {
    font-family: var(--font-mono);
    font-variant-numeric: tabular-nums;
    font-size: clamp(30px, 4.6vw, 44px);
    font-weight: 600;
    line-height: 1.1;
    color: var(--alert-bright);
    letter-spacing: -0.02em;
}.console-bigsub {
    font-size: 12.5px;
    color: var(--console-mute);
}.dir-word {
    font-family: var(--font-body);
    font-weight: 600;
    letter-spacing: 0.01em;
}.dir-loss { color: var(--alert-bright); }.console-gauge { display: flex; flex-direction: column; gap: 7px; }.gauge-head {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 12px;
    font-size: 12.5px;
    color: var(--console-mute);
}.gauge-status {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 11.5px;
    font-weight: 600;
    color: var(--alert-bright);
}.gauge-track {
    position: relative;
    height: 6px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 3px;
    overflow: hidden;
}.gauge-fill {
    position: absolute;
    inset: 0 auto 0 0;
    width: 0;
    background: linear-gradient(90deg, var(--signal-bright), #d8a13c 62%, var(--alert-bright));
    border-radius: 3px;
    transition: width 1.1s cubic-bezier(0.22, 0.68, 0.32, 1);
}.gauge-scale {
    display: flex;
    justify-content: space-between;
    font-family: var(--font-mono);
    font-size: 10.5px;
    color: rgba(255, 255, 255, 0.42);
}.console-spark { margin: 0; }.console-spark svg {
    display: block;
    width: 100%;
    height: 56px;
}.spark-line {
    fill: none;
    stroke: var(--signal-bright);
    stroke-width: 1.6;
    stroke-linejoin: round;
    stroke-linecap: round;
    vector-effect: non-scaling-stroke;
    stroke-dasharray: 1000;
    stroke-dashoffset: 1000;
    transition: stroke-dashoffset 1.6s ease-out 0.3s;
}.is-in .spark-line { stroke-dashoffset: 0; }.console-spark figcaption {
    margin-top: 6px;
    font-family: var(--font-mono);
    font-size: 10.5px;
    color: rgba(255, 255, 255, 0.42);
    letter-spacing: 0.04em;
}.console-rows {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 22px;
    margin: 0;
    padding-top: 4px;
    border-top: 1px solid var(--console-line);
}.console-row {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 10px;
    padding: 8px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.07);
    font-size: 12.5px;
}.console-row dt { color: var(--console-mute); }.console-row dd {
    margin: 0;
    font-family: var(--font-mono);
    font-variant-numeric: tabular-nums;
    font-weight: 600;
    font-size: 13px;
    color: var(--console-text);
}.console-row dd.tone-signal { color: var(--signal-bright); }.console-row dd.tone-alert { color: var(--alert-bright); }.console-row .row-word {
    font-family: var(--font-body);
    font-weight: 500;
    font-size: 10.5px;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    opacity: 0.75;
    margin-left: 6px;
}.hero-caption {
    font-size: 13.5px;
    color: var(--mute);
    text-align: right;
    padding-right: 6px;
}.btn {
    padding: 13px 28px;
    border-radius: var(--radius-sm);
    font-weight: 600;
    font-size: 15.5px;
    cursor: pointer;
    transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
    border: 1.5px solid transparent;
    font-family: var(--font-body);
}.btn-primary {
    background: var(--ink);
    color: var(--paper);
    box-shadow: var(--shadow-sm);
}.btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-md);
}.btn-primary:active {
    transform: translateY(0);
}.btn-secondary {
    background: transparent;
    color: var(--ink);
    border-color: var(--ink);
}.btn-secondary:hover {
    background: var(--ink);
    color: var(--paper);
}.btn-outline {
    background: transparent;
    color: var(--ink);
    border-color: var(--line);
}.btn-outline:hover {
    border-color: var(--ink);
}section {
    padding: 110px 64px;
    max-width: 1200px;
    margin: 0 auto;
}.section-header {
    text-align: left;
    margin-bottom: 56px;
    max-width: 640px;
}.section-header h2 {
    font-family: var(--font-display);
    font-size: 36px;
    font-weight: 600;
    color: var(--ink);
    margin-bottom: 10px;
    letter-spacing: -0.01em;
}.section-header p {
    font-size: 17px;
    color: var(--slate);
}.features-section {
    background: var(--panel);
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    max-width: 100%;
    padding-left: 0;
    padding-right: 0;
}.features-section .section-header,
.features-section .ledger,
.features-section .feature-stack {
    max-width: var(--maxw);
    margin-left: auto;
    margin-right: auto;
    padding-left: 64px;
    padding-right: 64px;
}#calculatorResults.reveal {
    animation: fadeIn 0.35s ease;
}.pricing-panel {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    background: var(--panel);
    border: 1px solid var(--line);
    border-radius: var(--radius-md);
    overflow: hidden;
}.pricing-col {
    padding: 40px 32px;
    display: flex;
    flex-direction: column;
    border-right: 1px solid var(--line);
    position: relative;
}.pricing-col:last-child {
    border-right: none;
}.pricing-col.popular {
    background: var(--signal-dim);
}.popular-badge {
    position: absolute;
    top: 24px;
    right: 24px;
    font-size: 11.5px;
    font-weight: 600;
    color: var(--signal);
}.pricing-col h3 {
    font-family: var(--font-display);
    font-size: 19px;
    font-weight: 600;
    color: var(--ink);
    margin-bottom: 18px;
}.pricing-col .price {
    font-family: var(--font-mono);
    font-size: 38px;
    font-weight: 600;
    color: var(--ink);
    margin-bottom: 26px;
}.pricing-col .price span {
    font-family: var(--font-body);
    font-size: 15px;
    font-weight: 400;
    color: var(--slate);
}.pricing-features {
    flex-grow: 1;
    list-style: none;
    margin-bottom: 28px;
}.pricing-features li {
    padding: 9px 0;
    color: var(--slate);
    font-size: 14px;
    display: flex;
    align-items: center;
    gap: 10px;
    border-top: 1px solid var(--line);
}.pricing-features li:first-child {
    border-top: none;
}.pricing-features li::before {
    content: '';
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--signal);
    flex-shrink: 0;
}.footer {
    background: var(--ink);
    color: var(--paper);
    padding: 56px 0 32px;
}

/* ===== RESPONSIVE ===== */
@media (max-width: 1024px) {.hero {
        grid-template-columns: 1fr;
        padding: 130px 48px 60px;
        gap: 40px;
    }.hero-visual {
        order: -1;
    }.pricing-panel {
        grid-template-columns: 1fr;
    }.pricing-col {
        border-right: none;
        border-bottom: 1px solid var(--line);
    }.pricing-col:last-child {
        border-bottom: none;
    }
}

@media (max-width: 768px) {.nav-links {
        display: none;
    }.nav-inner {
        padding-left: 28px;
        padding-right: 28px;
    }.brand-name {
        font-size: 16px;
    }.nav-cta {
        padding: 9px 16px;
        font-size: 13.5px;
    }.hero {
        padding: 110px 28px 48px;
    }.hero-content h1 {
        font-size: 36px;
    }.hero-subtitle {
        font-size: 16px;
    }.hero-stats {
        flex-wrap: wrap;
        gap: 16px;
    }.hero-stat {
        border-right: none;
        flex: 1 1 40%;
    }section {
        padding: 72px 28px;
    }.features-section .section-header,
.features-section .ledger,
.features-section .feature-stack,
.briefing-section .section-header,
.briefing-section .briefing-wrap,
.footer-inner,
.footer-disclaimer {
        padding-left: 28px;
        padding-right: 28px;
    }
}section[id],
.band[id] {
    scroll-margin-top: 92px;
}[hidden] { display: none !important; }.eyebrow {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 18px;
}.eyebrow::before {
    content: '';
    width: 28px;
    height: 1px;
    background: var(--ink);
    opacity: 0.4;
    flex-shrink: 0;
}.eyebrow-en {
    font-family: var(--font-mono);
    font-size: 10.5px;
    text-transform: uppercase;
    letter-spacing: 0.14em;
    color: var(--mute);
}.eyebrow-sm { margin-bottom: 10px; }.eyebrow-sm::before { width: 18px; }.section-lead {
    font-size: 17px;
    color: var(--slate);
    line-height: 1.72;
    max-width: 68ch;
}.band-head h3 {
    font-family: var(--font-display);
    font-size: 28px;
    font-weight: 600;
    letter-spacing: -0.01em;
    color: var(--ink);
    margin-bottom: 12px;
}.band-lead {
    font-size: 16.5px;
    color: var(--slate);
    line-height: 1.72;
    max-width: 66ch;
}.dir-word {
    font-size: 10.5px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}.dir-word.dir-loss { color: var(--alert); }.dir-word.dir-gain { color: var(--signal); }.hero-content h1 em {
    font-style: normal;
    color: var(--alert);
    position: relative;
    white-space: nowrap;
}.hero-content h1 em::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0.06em;
    height: 2px;
    background: var(--alert);
    opacity: 0.28;
}.hero-stats { max-width: 520px; }.hero-stat dd.hero-stat-note {
    margin-top: 7px;
    font-family: var(--font-body);
    font-size: 12px;
    font-weight: 400;
    line-height: 1.5;
    color: var(--mute);
}.hero-stat .dir-word { margin-right: 5px; }.hero-fineprint {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    margin-top: 26px;
    max-width: 520px;
    padding-top: 18px;
    border-top: 1px dashed var(--line);
    font-size: 12.5px;
    line-height: 1.6;
    color: var(--mute);
}.hero-fineprint i { margin-top: 3px; flex-shrink: 0; }.gap-section { padding-top: 96px; }.versus {
    border-top: var(--rule);
    border-left: var(--rule);
    background: var(--panel);
}.versus-row {
    display: grid;
    grid-template-columns: minmax(190px, 0.85fr) 1.25fr 1.25fr;
    border-right: var(--rule);
    border-bottom: var(--rule);
}.versus-head {
    background: var(--paper);
    font-family: var(--font-display);
    font-weight: 600;
    font-size: 14px;
    color: var(--ink);
}.versus-head .versus-cell {
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 14px 20px;
}.versus-head .versus-cell i { color: var(--mute); font-size: 13px; }.versus-head .versus-topic { padding: 14px 20px; color: var(--mute); font-family: var(--font-mono); font-size: 11px; text-transform: uppercase; letter-spacing: 0.1em; }.versus-topic {
    padding: 20px;
    border-right: var(--rule);
    font-family: var(--font-display);
    font-weight: 600;
    font-size: 15px;
    line-height: 1.4;
    color: var(--ink);
    display: flex;
    gap: 10px;
    align-items: flex-start;
}.versus-topic i { color: var(--slate); font-size: 14px; margin-top: 3px; flex-shrink: 0; }.versus-cell {
    padding: 20px;
    font-size: 14.5px;
    line-height: 1.66;
    color: var(--slate);
    border-right: var(--rule);
}.versus-cell:last-child { border-right: none; }.versus-desk { background: var(--panel); }.versus-retail {
    background: #fbfaf6;
    color: var(--mute);
}.versus-flag {
    display: flex;
    align-items: center;
    gap: 5px;
    margin: 0 0 9px;
    padding: 2px 8px;
    border: 1px solid rgba(162, 59, 48, 0.3);
    background: var(--alert-dim);
    border-radius: var(--radius-sm);
    color: var(--alert);
    font-family: var(--font-mono);
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    width: fit-content;
}.gap-prose {
    margin-top: 48px;
    max-width: 74ch;
    columns: 1;
}.gap-prose p {
    font-size: 16.5px;
    line-height: 1.78;
    color: var(--slate);
    margin-bottom: 16px;
}.gap-prose p:last-child { margin-bottom: 0; }.band {
    margin-top: 96px;
    padding-top: 64px;
    border-top: var(--rule);
}.event-ledger {
    list-style: none;
    margin: 40px 0 0;
    border-top: var(--rule);
    border-left: var(--rule);
    background: var(--panel);
}.event-item {
    display: grid;
    grid-template-columns: minmax(150px, 190px) 1fr;
    gap: 24px;
    padding: 20px 24px;
    border-right: var(--rule);
    border-bottom: var(--rule);
}.event-era {
    font-family: var(--font-mono);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.02em;
    color: var(--alert);
    padding-top: 3px;
}.event-body { display: flex; flex-direction: column; gap: 4px; }.event-title {
    font-family: var(--font-display);
    font-weight: 600;
    font-size: 16.5px;
    color: var(--ink);
}.event-text {
    font-size: 14.5px;
    line-height: 1.68;
    color: var(--slate);
    max-width: 74ch;
}.event-footnote {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    margin-top: 18px;
    font-size: 12.5px;
    line-height: 1.6;
    color: var(--mute);
    max-width: 76ch;
}.event-footnote i { margin-top: 4px; flex-shrink: 0; }.wall {
    margin-top: 64px;
    padding: 36px 48px;
    background: var(--panel);
    border: var(--rule);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-sm);
}.wall h4 {
    font-family: var(--font-display);
    font-size: 20px;
    font-weight: 600;
    color: var(--ink);
    margin-bottom: 16px;
    padding-bottom: 14px;
    border-bottom: var(--rule);
}.wall-body p {
    font-size: 16px;
    line-height: 1.78;
    color: var(--slate);
    margin-bottom: 14px;
    max-width: 78ch;
}.wall-body p:last-child { margin-bottom: 0; }.wall-seatbelt {
    display: flex;
    gap: 14px;
    align-items: flex-start;
    margin-top: 24px;
    padding-top: 22px;
    border-top: 1px dashed var(--line);
    font-size: 15px;
    line-height: 1.72;
    color: var(--ink);
}.wall-seatbelt i { color: var(--signal); margin-top: 4px; flex-shrink: 0; }.feature-stack { margin-top: 8px; }.feature {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.08fr);
    gap: 56px;
    align-items: start;
    padding: 68px 0;
    border-top: var(--rule);
}.feature:first-child { border-top: none; padding-top: 24px; }.feature-flip .feature-copy { order: 2; }.feature-flip .feature-demo { order: 1; }.feature-index {
    font-family: var(--font-mono);
    font-size: 11px;
    letter-spacing: 0.16em;
    color: var(--mute);
    margin-bottom: 14px;
}.feature-index span {
    display: inline-block;
    padding: 3px 9px;
    border: var(--rule);
    border-radius: var(--radius-sm);
    background: var(--panel);
}.feature-copy h3 {
    font-family: var(--font-display);
    font-size: clamp(24px, 2.6vw, 31px);
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: -0.015em;
    color: var(--ink);
    margin-bottom: 16px;
}.feature-lede {
    font-size: 17.5px;
    line-height: 1.62;
    color: var(--ink);
    margin-bottom: 16px;
    max-width: 46ch;
}.feature-body {
    font-size: 15.5px;
    line-height: 1.76;
    color: var(--slate);
    margin-bottom: 14px;
    max-width: 56ch;
}.feature-body strong { color: var(--ink); font-weight: 600; }.feature-points {
    list-style: none;
    margin-top: 22px;
    border-top: var(--rule);
}.feature-points li {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    padding: 11px 0;
    border-bottom: var(--rule);
    font-size: 14.5px;
    line-height: 1.55;
    color: var(--slate);
}.feature-points li i { color: var(--signal); font-size: 12px; margin-top: 5px; flex-shrink: 0; }.feature-points li .mono,
.feature-body .mono { color: var(--ink); }.demo-panel {
    background: var(--panel);
    border: var(--rule);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-sm);
    overflow: hidden;
}.demo-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 14px;
    padding: 13px 20px;
    background: var(--paper);
    border-bottom: var(--rule);
}.demo-title {
    font-family: var(--font-display);
    font-weight: 600;
    font-size: 14px;
    color: var(--ink);
}.demo-tag {
    font-family: var(--font-mono);
    font-size: 10.5px;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--mute);
    text-align: right;
}.demo-body { padding: 24px 20px; }.demo-caption {
    padding: 14px 20px;
    border-top: var(--rule);
    background: #fbfaf6;
    font-size: 13px;
    line-height: 1.6;
    color: var(--slate);
    margin: 0;
}.scan-body {
    display: grid;
    grid-template-columns: auto auto minmax(0, 1fr);
    gap: 18px;
    align-items: center;
}.phone {
    width: 152px;
    padding: 7px;
    background: var(--ink);
    border: 1px solid var(--ink);
    border-radius: 16px;
    flex-shrink: 0;
}.phone-notch {
    width: 42px;
    height: 4px;
    border-radius: 2px;
    background: rgba(255, 255, 255, 0.32);
    margin: 0 auto 7px;
}.phone-screen {
    position: relative;
    height: 268px;
    background: var(--paper);
    border-radius: 9px;
    overflow: hidden;
}.paper { padding: 9px 8px; }.paper-head {
    display: flex;
    flex-direction: column;
    gap: 3px;
    padding-bottom: 7px;
    margin-bottom: 7px;
    border-bottom: 1px solid var(--line);
}.paper-issuer {
    font-family: var(--font-display);
    font-size: 8.5px;
    font-weight: 600;
    color: var(--ink);
    letter-spacing: 0.01em;
}.paper-meta {
    font-family: var(--font-mono);
    font-size: 6.5px;
    line-height: 1.45;
    color: var(--mute);
}.paper-rows { display: flex; flex-direction: column; }.paper-row {
    display: grid;
    grid-template-columns: 22px 1fr 20px 24px;
    gap: 3px;
    align-items: baseline;
    padding: 3.5px 2px;
    border-bottom: 1px solid #eceade;
    font-family: var(--font-mono);
    font-size: 6.5px;
    color: var(--slate);
    opacity: 0.22;
}.paper-row b { font-weight: 600; color: var(--ink); }.paper-row .pr { text-align: right; }.paper-row-ghost {
    display: block;
    height: 11px;
    background: repeating-linear-gradient(90deg, #e6e3d8 0 34px, transparent 34px 40px);
    border: none;
    opacity: 0.5;
}.paper-foot {
    height: 26px;
    margin-top: 7px;
    background: repeating-linear-gradient(180deg, #eae7db 0 1px, transparent 1px 6px);
    opacity: 0.7;
}.scan-line {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: 2px;
    background: var(--signal);
    box-shadow: 0 0 12px 2px rgba(18, 124, 91, 0.5);
    opacity: 0;
}.is-scanning .scan-line { animation: scanSweep 7s cubic-bezier(0.45, 0, 0.55, 1) infinite; }.is-scanning .paper-row:not(.paper-row-ghost) { animation: rowLight 7s linear infinite; animation-delay: calc(var(--i) * 0.16s); }

@keyframes scanSweep {
    0%   { transform: translateY(0); opacity: 0; }
    4%   { opacity: 1; }
    46%  { transform: translateY(266px); opacity: 1; }
    52%  { opacity: 0; }
    100% { transform: translateY(266px); opacity: 0; }
}

@keyframes rowLight {
    0%, 6%   { opacity: 0.22; background: transparent; }
    14%      { opacity: 1; background: var(--signal-dim); }
    92%      { opacity: 1; background: var(--signal-dim); }
    100%     { opacity: 0.22; background: transparent; }
}.scan-arrow {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    color: var(--mute);
    font-size: 18px;
    align-self: stretch;
    justify-content: center;
}.scan-stages {
    display: flex;
    flex-direction: column;
    gap: 4px;
}.scan-stage {
    font-family: var(--font-mono);
    font-size: 8.5px;
    letter-spacing: 0.02em;
    color: var(--mute);
    opacity: 0.3;
    white-space: nowrap;
}.is-in .scan-stage { animation: stageOn 7s linear infinite; animation-delay: calc(var(--i) * 0.5s + 0.6s); }

@keyframes stageOn {
    0%, 4%   { opacity: 0.3; color: var(--mute); }
    12%      { opacity: 1; color: var(--signal); }
    88%      { opacity: 1; color: var(--signal); }
    100%     { opacity: 0.3; color: var(--mute); }
}.holdings-out { min-width: 0; }.mini-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 12.5px;
}.mini-table caption { caption-side: top; text-align: left; }.mini-table th,
.mini-table td {
    padding: 7px 9px;
    border-bottom: var(--rule);
    text-align: left;
}.mini-table thead th {
    font-family: var(--font-mono);
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--mute);
    font-weight: 500;
    border-bottom: 1px solid var(--ink);
}.mini-table .num { text-align: right; }.mini-table tbody tr:last-child td { border-bottom: none; }.holdings-out tbody tr:not(.scan-more) { opacity: 0; transform: translateX(-6px); }.is-in .holdings-out tbody tr:not(.scan-more) {
    animation: rowLand 7s ease-out infinite;
    animation-delay: calc(var(--i) * 0.16s + 2.1s);
}

@keyframes rowLand {
    0%, 2%  { opacity: 0; transform: translateX(-6px); }
    12%     { opacity: 1; transform: translateX(0); }
    92%     { opacity: 1; }
    100%    { opacity: 0; }
}.scan-more td {
    font-family: var(--font-mono);
    font-size: 11px;
    color: var(--mute);
    border-bottom: none;
}.scan-summary {
    margin: 12px 0 0;
    padding-top: 11px;
    border-top: var(--rule);
    font-size: 12px;
    color: var(--slate);
}.scan-summary .mono { color: var(--ink); font-weight: 600; }.scan-summary-more { color: var(--mute); }.tabs {
    display: flex;
    border: var(--rule);
    border-radius: var(--radius-sm);
    overflow: hidden;
    background: var(--paper);
}.tab-btn {
    flex: 1;
    padding: 10px 8px;
    background: transparent;
    border: none;
    border-right: var(--rule);
    font-family: var(--font-mono);
    font-size: 13px;
    font-weight: 600;
    color: var(--slate);
    cursor: pointer;
    transition: background 0.18s ease, color 0.18s ease;
}.tab-btn:last-child { border-right: none; }.tab-btn:hover { background: #eeece3; color: var(--ink); }.tab-btn.is-on {
    background: var(--ink);
    color: var(--paper);
}.hedge-partials .tab-btn {
    font-family: var(--font-body);
    font-size: 12.5px;
    font-weight: 600;
}.var-panel { padding-top: 22px; }.var-sentence {
    font-size: 14px;
    line-height: 1.6;
    color: var(--slate);
    margin-bottom: 12px;
}.var-figure {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 12px;
    padding: 14px 0;
    border-top: 1px solid var(--ink);
    border-bottom: var(--rule);
}.var-amount {
    font-family: var(--font-mono);
    font-variant-numeric: tabular-nums;
    font-size: clamp(30px, 5.2vw, 44px);
    font-weight: 600;
    line-height: 1;
    letter-spacing: -0.025em;
    color: var(--alert);
}.var-unit {
    font-size: 12.5px;
    color: var(--mute);
    display: inline-flex;
    align-items: baseline;
    gap: 6px;
}.var-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border-left: var(--rule);
    margin-top: 18px;
}.var-cell {
    padding: 11px 13px;
    border-right: var(--rule);
    border-bottom: var(--rule);
    display: flex;
    flex-direction: column;
    gap: 5px;
}.var-cell-label {
    font-family: var(--font-mono);
    font-size: 9.5px;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--mute);
}.var-cell-value {
    font-size: 14px;
    font-weight: 600;
    color: var(--ink);
    line-height: 1.35;
}.var-cell-value .dir-word { margin-left: 4px; }.var-plain {
    margin-top: 14px;
    font-size: 13.5px;
    line-height: 1.66;
    color: var(--slate);
}.var-translate {
    margin-top: 22px;
    padding: 14px 16px;
    background: var(--signal-dim);
    border-radius: var(--radius-sm);
}.var-translate-head {
    display: flex;
    align-items: center;
    gap: 8px;
    font-family: var(--font-mono);
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--signal);
    margin-bottom: 8px;
}.var-translate-line {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    font-size: 13.5px;
    line-height: 1.6;
    color: var(--slate);
}.var-translate-jargon {
    font-size: 12px;
    color: var(--mute);
    text-decoration: line-through;
    text-decoration-color: rgba(136, 145, 160, 0.5);
}.var-translate-line i { color: var(--signal); font-size: 12px; }.var-translate-plain strong { color: var(--ink); }.turbidity { margin-top: 22px; padding-top: 18px; border-top: var(--rule); }.turbidity-head {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    font-size: 13px;
    color: var(--slate);
    margin-bottom: 9px;
}.turbidity-value { font-size: 15px; font-weight: 600; color: var(--ink); }.turbidity-track {
    position: relative;
    height: 6px;
    background: var(--paper);
    border: var(--rule);
    border-radius: 3px;
    overflow: hidden;
}.turbidity-fill {
    position: absolute;
    inset: 0 auto 0 0;
    width: 0;
    background: var(--warn);
    transition: width 0.9s cubic-bezier(0.22, 0.68, 0.32, 1);
}.turbidity-calm {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 50%;
    width: 1px;
    background: var(--mute);
    opacity: 0.6;
}.turbidity-scale {
    display: flex;
    justify-content: space-between;
    margin-top: 6px;
    font-family: var(--font-mono);
    font-size: 10px;
    color: var(--mute);
}.turbidity-note {
    margin-top: 12px;
    font-size: 12.5px;
    line-height: 1.62;
    color: var(--slate);
}.chart { margin: 0; }.chart svg { display: block; width: 100%; height: auto; }.chart-caption {
    margin-top: 14px;
    padding-top: 12px;
    border-top: var(--rule);
    font-size: 13px;
    line-height: 1.62;
    color: var(--slate);
}.chart-caption strong { color: var(--ink); }.eq-gridline { stroke: var(--line); stroke-width: 1; }.eq-tick {
    font-family: var(--font-mono);
    font-size: 9.5px;
    fill: var(--mute);
}.eq-line {
    fill: none;
    stroke-linejoin: round;
    stroke-linecap: round;
    stroke-dasharray: 1;
    stroke-dashoffset: 1;
}.eq-line-pf { stroke: var(--ink); stroke-width: 2; transition: stroke-dashoffset 1.9s ease-out 0.25s; }.eq-line-bm { stroke: var(--mute); stroke-width: 1.3; transition: stroke-dashoffset 1.9s ease-out; }.is-in .eq-line { stroke-dashoffset: 0; }.eq-dd-area { fill: var(--alert-dim); opacity: 0; transition: opacity 0.8s ease 1.3s; }.eq-dd-ghost { fill: var(--warn-dim); }.is-in .eq-dd-area { opacity: 1; }.eq-peakline { stroke: var(--alert); stroke-width: 1; stroke-dasharray: 4 4; opacity: 0.55; }.eq-rule { stroke: var(--line); stroke-width: 1; stroke-dasharray: 2 4; }.eq-mark { stroke: var(--panel); stroke-width: 1.5; }.eq-mark-peak { fill: var(--ink); }.eq-mark-trough { fill: var(--alert); }.eq-mark-recover { fill: var(--signal); }.eq-dd-label {
    font-family: var(--font-mono);
    font-size: 11px;
    font-weight: 600;
    fill: var(--alert);
}.dd-facts {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border-left: var(--rule);
    border-top: var(--rule);
    margin: 20px 0 0;
}.dd-fact {
    padding: 12px 14px;
    border-right: var(--rule);
    border-bottom: var(--rule);
    display: flex;
    flex-direction: column;
    gap: 4px;
}.dd-fact dt {
    font-family: var(--font-mono);
    font-size: 9.5px;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--mute);
}.dd-fact dd { font-size: 18px; font-weight: 600; color: var(--ink); line-height: 1.2; }.dd-fact.tone-alert dd { color: var(--alert); }.dd-fact.tone-warn dd { color: var(--warn); }.dd-fact-sub { font-size: 11px; color: var(--mute); }.sc-frame { fill: none; stroke: var(--line); stroke-width: 1; }.sc-axis { stroke: var(--line); stroke-width: 1; }.sc-tick,
.sc-axislabel {
    font-family: var(--font-mono);
    font-size: 9.5px;
    fill: var(--mute);
}.sc-ref { stroke: var(--mute); stroke-width: 1; stroke-dasharray: 3 4; opacity: 0.8; }.sc-fit {
    stroke: var(--signal);
    stroke-width: 2;
    stroke-dasharray: 1;
    stroke-dashoffset: 1;
    transition: stroke-dashoffset 1s ease-out 0.55s;
}.is-in .sc-fit { stroke-dashoffset: 0; }.sc-fitlabel {
    font-family: var(--font-mono);
    font-size: 10.5px;
    font-weight: 600;
    fill: var(--signal);
}.sc-reflabel { font-family: var(--font-mono); font-size: 9.5px; fill: var(--mute); }.sc-dot {
    fill: var(--ink);
    opacity: 0;
    transform: scale(0.3);
    transform-box: fill-box;
    transform-origin: center;
    transition: opacity 0.35s ease, transform 0.35s cubic-bezier(0.2, 0.8, 0.3, 1);
    transition-delay: calc(var(--i) * 16ms);
}.sc-dot-down { fill: var(--alert); }.is-in .sc-dot { opacity: 0.82; transform: scale(1); }.beta-table { margin-top: 20px; border-top: var(--rule); }.beta-code { font-size: 11px; color: var(--mute); }.beta-table td { font-size: 12.5px; }.hedge-help .mono { color: var(--slate); }.hedge-hint .mono { color: var(--ink); font-weight: 600; }.hedge-count-num.is-fraction { color: var(--mute); font-size: 26px; }.hedge-after .mono { font-weight: 600; color: var(--alert); }.scenario-scroll {
    max-height: 400px;
    overflow-y: auto;
    border: var(--rule);
    border-radius: var(--radius-sm);
    background: var(--panel);
    position: relative;
}.scenario-scroll.has-more::after {
    content: 'Scroll for all 24';
    position: sticky;
    bottom: 0;
    left: 0;
    right: 0;
    display: block;
    padding: 7px;
    text-align: center;
    font-family: var(--font-mono);
    font-size: 10px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--mute);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0), var(--paper) 55%);
    pointer-events: none;
}.scenario-table { width: 100%; border-collapse: collapse; font-size: 12.5px; }.scenario-table thead th {
    position: sticky;
    top: 0;
    z-index: 2;
    background: var(--paper);
    padding: 10px 12px;
    text-align: left;
    font-family: var(--font-mono);
    font-size: 9.5px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--mute);
    border-bottom: 1px solid var(--ink);
}.scenario-table th.num,
.scenario-table td.num { text-align: right; }.scenario-table tbody tr {
    border-bottom: var(--rule);
    opacity: 0;
    transform: translateY(5px);
    transition: opacity 0.4s ease, transform 0.4s ease, background 0.16s ease;
    transition-delay: calc(var(--i) * 22ms);
}.scenario-table tbody tr:last-child { border-bottom: none; }.is-in .scenario-table tbody tr { opacity: 1; transform: none; }.scenario-table tbody tr:hover { background: #fbfaf6; }.scenario-table tbody th {
    padding: 11px 12px;
    text-align: left;
    font-weight: 400;
    vertical-align: top;
}.scenario-table tbody td { padding: 11px 12px; vertical-align: top; }.sc-name { display: flex; flex-direction: column; gap: 3px; }.sc-title {
    font-family: var(--font-display);
    font-weight: 600;
    font-size: 13.5px;
    color: var(--ink);
    line-height: 1.3;
}.sc-era { font-size: 10.5px; color: var(--mute); }.sc-impact { font-weight: 600; color: var(--ink); }.sc-impact.tone-warn { color: var(--warn); }.sc-impact.tone-alert { color: var(--alert); }.sc-pct {
    display: block;
    font-size: 10.5px;
    font-weight: 500;
    color: var(--mute);
    margin-top: 2px;
}.sc-none { font-size: 10.5px; color: var(--mute); font-style: italic; }.sev {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 3px 8px;
    border: 1px solid;
    border-radius: var(--radius-sm);
    font-family: var(--font-mono);
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    white-space: nowrap;
}.sev.tone-warn { color: var(--warn); border-color: rgba(150, 102, 26, 0.35); background: var(--warn-dim); }.sev.tone-alert { color: var(--alert); border-color: rgba(162, 59, 48, 0.35); background: var(--alert-dim); }.scenario-footnote {
    margin: 14px 0 0;
    font-size: 11.5px;
    line-height: 1.6;
    color: var(--mute);
}.briefing-section {
    background: var(--panel);
    border-top: var(--rule);
    border-bottom: var(--rule);
    max-width: 100%;
    padding-left: 0;
    padding-right: 0;
}.briefing-section .section-header,
.briefing-section .briefing-wrap {
    max-width: var(--maxw);
    margin-left: auto;
    margin-right: auto;
    padding-left: 64px;
    padding-right: 64px;
}.briefing-wrap {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(0, 0.75fr);
    gap: 48px;
    align-items: start;
}.briefing-card {
    background: var(--paper);
    border: var(--rule);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-sm);
    overflow: hidden;
}.briefing-head {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 20px;
    background: var(--panel);
    border-bottom: var(--rule);
}.briefing-avatar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    flex-shrink: 0;
}
.briefing-avatar .ps { stroke: var(--ink); }
.briefing-avatar .xs { stroke: var(--signal); }
.briefing-avatar .xf { fill: var(--ink); }.briefing-who { display: flex; flex-direction: column; line-height: 1.35; min-width: 0; }.briefing-who strong { font-family: var(--font-display); font-size: 15px; font-weight: 600; color: var(--ink); }.briefing-when { font-size: 11.5px; color: var(--mute); }.briefing-weather {
    margin-left: auto;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-family: var(--font-mono);
    font-size: 10.5px;
    color: var(--slate);
    text-align: right;
}.briefing-weather i { color: var(--mute); }.briefing-lines { list-style: none; padding: 6px 20px 4px; }.briefing-line {
    display: grid;
    grid-template-columns: 20px minmax(0, 1fr);
    gap: 12px;
    padding: 12px 0;
    border-bottom: 1px dashed var(--line);
}.briefing-line:last-child { border-bottom: none; }.bl-mark { font-size: 9px; padding-top: 6px; color: var(--mute); }.kind-risk .bl-mark { color: var(--alert); }.kind-action .bl-mark { color: var(--signal); }.bl-text {
    font-size: 14.5px;
    line-height: 1.68;
    color: var(--slate);
    clip-path: inset(0 100% 0 0);
}.kind-risk .bl-text { color: var(--ink); }.is-in .bl-text {
    animation: typeIn 1s steps(48, end) forwards;
    animation-delay: calc(var(--i) * 0.5s + 0.25s);
}.bl-text::after {
    content: '';
    display: inline-block;
    width: 7px;
    height: 1em;
    margin-left: 2px;
    vertical-align: text-bottom;
    background: var(--ink);
    opacity: 0;
}.is-in .bl-text::after {
    animation: caretFade 1s steps(1, end) forwards;
    animation-delay: calc(var(--i) * 0.5s + 0.25s);
}

@keyframes typeIn { to { clip-path: inset(0 0 0 0); } }
@keyframes caretFade { 0% { opacity: 1; } 88% { opacity: 1; } 100% { opacity: 0; } }.briefing-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 14px 20px;
    border-top: var(--rule);
    background: var(--panel);
}.chip {
    padding: 6px 13px;
    border: var(--rule);
    border-radius: var(--radius-sm);
    background: var(--paper);
    font-size: 12px;
    color: var(--slate);
    white-space: nowrap;
}.briefing-foot {
    padding: 12px 20px;
    border-top: var(--rule);
    font-family: var(--font-mono);
    font-size: 10.5px;
    letter-spacing: 0.04em;
    color: var(--mute);
    margin: 0;
}.briefing-aside h3 {
    font-family: var(--font-display);
    font-size: 21px;
    font-weight: 600;
    line-height: 1.28;
    letter-spacing: -0.01em;
    color: var(--ink);
    margin-bottom: 18px;
}.briefing-aside p {
    font-size: 15px;
    line-height: 1.74;
    color: var(--slate);
    margin-bottom: 14px;
}.briefing-aside-note {
    display: flex;
    gap: 11px;
    align-items: flex-start;
    margin-top: 24px;
    padding: 14px 16px;
    background: var(--signal-dim);
    border-radius: var(--radius-sm);
    font-size: 13px;
    line-height: 1.6;
    color: var(--ink);
}.briefing-aside-note i { color: var(--signal); margin-top: 3px; flex-shrink: 0; }.pricing-panel { margin-top: 8px; }.pricing-col h3 { margin-bottom: 8px; }.pricing-tagline {
    font-size: 13.5px;
    line-height: 1.6;
    color: var(--slate);
    margin-bottom: 22px;
    min-height: 44px;
}.pricing-col .price { margin-bottom: 22px; }.pricing-col .price span { margin-left: 4px; }.pricing-features li.excluded { color: var(--mute); }.pricing-features li.excluded::before { display: none; }.pricing-features li.excluded i { color: var(--mute); font-size: 10px; width: 12px; flex-shrink: 0; }.pricing-features li i { color: var(--signal); font-size: 11px; width: 12px; flex-shrink: 0; }.pricing-col .btn { text-align: center; text-decoration: none; display: block; }.pricing-note {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    justify-content: center;
    margin-top: 26px;
    font-size: 13px;
    color: var(--slate);
    text-align: center;
}.pricing-note i { color: var(--mute); margin-top: 3px; }.acc-trigger.is-open .acc-icon { transform: rotate(45deg); background: var(--signal-dim); }.disclaimer {
    margin-top: 72px;
    padding: 30px 32px;
    background: var(--panel);
    border: var(--rule);
    border-left: 3px solid var(--alert);
    border-radius: var(--radius-sm);
}.disclaimer h3 {
    display: flex;
    align-items: center;
    gap: 10px;
    font-family: var(--font-display);
    font-size: 16px;
    font-weight: 600;
    color: var(--alert);
    margin-bottom: 18px;
    padding-bottom: 14px;
    border-bottom: var(--rule);
}.disclaimer-list {
    margin-left: 18px;
    font-size: 13px;
    line-height: 1.74;
    color: var(--slate);
}.disclaimer-list li { margin-bottom: 12px; }.disclaimer-list li:last-child { margin-bottom: 0; }.disclaimer-list strong { color: var(--ink); font-weight: 600; }.footer-inner {
    max-width: var(--maxw);
    margin: 0 auto 40px;
    padding-left: 64px;
    padding-right: 64px;
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.9fr);
    gap: 56px;
}.footer-brand-name {
    font-family: var(--font-display);
    font-size: 18px;
    font-weight: 600;
    color: var(--paper);
    margin: 16px 0 8px;
}.footer-brand-line {
    font-size: 13.5px;
    line-height: 1.7;
    color: #a9b3c4;
    max-width: 34ch;
}.footer-brand-line span {
    display: block;
    font-family: var(--font-cjk);
    margin-top: 6px;
    color: rgba(255, 255, 255, 0.45);
}.footer-brand .brand-mark {
    border-color: rgba(255, 255, 255, 0.4);
    color: var(--paper);
}.footer-nav {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 28px;
}.footer-col { display: flex; flex-direction: column; }.footer-col h4 {
    font-family: var(--font-mono);
    font-size: 10px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: rgba(255, 255, 255, 0.42);
    margin-bottom: 12px;
}.footer-col a {
    padding: 5px 0;
    color: #a9b3c4;
    text-decoration: none;
    font-size: 13.5px;
    transition: color 0.18s ease;
}.footer-col a:hover { color: var(--paper); }.footer-disclaimer {
    max-width: var(--maxw);
    margin: 0 auto;
    padding: 28px 64px 0;
    border-top: 1px solid rgba(255, 255, 255, 0.14);
    font-size: 11.5px;
    line-height: 1.78;
    color: rgba(255, 255, 255, 0.5);
}.footer-disclaimer p { margin-bottom: 14px; }.footer-copy {
    font-family: var(--font-mono);
    font-size: 11px;
    color: rgba(255, 255, 255, 0.42);
}.footer-copy a { color: rgba(255, 255, 255, 0.62); text-decoration: none; }.footer-copy a:hover { color: var(--paper); }.reveal {
    opacity: 0;
    transform: translateY(14px);
    transition: opacity 0.55s ease, transform 0.55s cubic-bezier(0.2, 0.7, 0.3, 1);
    transition-delay: calc(var(--reveal-i, 0) * 40ms);
}.reveal.is-in { opacity: 1; transform: none; }.nav-menu {
    display: flex;
    align-items: center;
    gap: 34px;
}.nav-toggle {
    display: none;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    background: none;
    border: var(--rule);
    border-radius: var(--radius-sm);
    color: var(--ink);
    font-size: 15px;
    cursor: pointer;
}

/* ===== RESPONSIVE EXTENSIONS ===== */

@media (max-width: 1180px) {.nav-menu { gap: 22px; }.nav-links { gap: 20px; }.nav-links a { font-size: 14px; }.feature { gap: 40px; }
}

@media (max-width: 1024px) {.hero-console { min-height: 400px; }.feature {
        grid-template-columns: 1fr;
        gap: 34px;
        padding: 52px 0;
    }.feature-flip .feature-copy,
.feature-flip .feature-demo { order: 0; }.briefing-wrap { grid-template-columns: 1fr; gap: 36px; }.footer-inner { grid-template-columns: 1fr; gap: 36px; }.gap-prose { max-width: none; }
}

@media (max-width: 900px) {.nav-toggle { display: inline-flex; }.nav-menu {
        position: fixed;
        top: 72px;
        left: 0;
        right: 0;
        display: none;
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        padding: 8px 20px 22px;
        background: var(--paper);
        border-bottom: var(--rule);
        box-shadow: var(--shadow-md);
    }.nav-menu.is-open { display: flex; }.nav-links { flex-direction: column; gap: 0; }.nav-links li { border-bottom: var(--rule); }.nav-links a {
        display: block;
        padding: 14px 0;
        font-size: 16px;
        color: var(--ink);
    }.nav-links a::after { display: none; }.nav-cta { margin-top: 18px; text-align: center; text-decoration: none; display: block; }.dd-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 768px) {.versus-row { grid-template-columns: 1fr; }.versus-head { display: none; }.versus-topic {
        border-right: none;
        border-bottom: var(--rule);
        background: var(--paper);
        padding: 14px 18px;
    }.versus-cell { border-right: none; border-bottom: var(--rule); padding: 16px 18px; }.versus-cell:last-child { border-bottom: none; }.versus-cell::before {
        display: block;
        margin-bottom: 7px;
        font-family: var(--font-mono);
        font-size: 9.5px;
        text-transform: uppercase;
        letter-spacing: 0.1em;
        color: var(--mute);
    }.versus-desk::before { content: 'Trading desk'; }.versus-retail::before { content: 'You, today'; }.event-item { grid-template-columns: 1fr; gap: 8px; padding: 18px; }.scan-body { grid-template-columns: 1fr; justify-items: center; gap: 22px; }.scan-arrow { flex-direction: row; width: 100%; justify-content: center; }.scan-arrow i { transform: rotate(90deg); }.scan-stages { flex-direction: row; flex-wrap: wrap; justify-content: center; gap: 8px; }.holdings-out { width: 100%; }.var-grid { grid-template-columns: 1fr; }.wall { padding: 26px 22px; }.disclaimer { padding: 24px 20px; }.briefing-section .section-header,
.briefing-section .briefing-wrap { padding-left: 24px; padding-right: 24px; }.footer-nav { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }.hero-content h1 em { white-space: normal; }.scenario-scroll { max-height: 340px; }.dd-facts { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 420px) {.hero-stats { max-width: none; }.hero-stat { flex: 1 1 100%; border-right: none; border-bottom: var(--rule); padding: 0 0 14px; margin-bottom: 14px; }.hero-stat:last-child { border-bottom: none; margin-bottom: 0; padding-bottom: 0; }.console-rows { grid-template-columns: 1fr; }.console-body { padding: 20px 18px 18px; }.footer-nav { grid-template-columns: 1fr; }.phone { width: 132px; }.phone-screen { height: 236px; }
}

/* ===== REDUCED MOTION: static final state, nothing loops ===== */

@media (prefers-reduced-motion: reduce) {.live-dot,
.scan-line,
.is-scanning .scan-line,
.is-scanning .paper-row,
.is-in .scan-stage,
.is-in .holdings-out tbody tr,
.is-in .bl-text,
.is-in .bl-text::after {
        animation: none !important;
    }.scan-line { display: none; }.paper-row,
.scan-stage,
.holdings-out tbody tr,
.scenario-table tbody tr {
        opacity: 1 !important;
        transform: none !important;
        background: transparent !important;
    }.bl-text { clip-path: none !important; }.bl-text::after { display: none !important; }.eq-line,
.sc-fit,
.spark-line {
        stroke-dashoffset: 0 !important;
        transition: none !important;
    }.eq-dd-area { opacity: 1 !important; transition: none !important; }.sc-dot { opacity: 0.82 !important; transform: none !important; transition: none !important; }.gauge-fill,
.turbidity-fill { transition: none !important; }.reveal { opacity: 1 !important; transform: none !important; transition: none !important; }.hero-console *,
.demo-panel *,
.briefing-card * { transition-duration: 0.01ms !important; }
}.contact-section {
    background: var(--panel);
    border-top: var(--rule);
}.contact-form {
    max-width: 640px;
    display: flex;
    flex-direction: column;
    gap: 22px;
}.contact-field {
    display: flex;
    flex-direction: column;
    gap: 7px;
}.contact-field label {
    font-weight: 600;
    font-size: 14px;
    color: var(--ink);
}.contact-field input,
.contact-field textarea {
    padding: 13px 15px;
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    background: var(--paper);
    font-family: var(--font-body);
    font-size: 15px;
    color: var(--ink);
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
    width: 100%;
}.contact-field textarea {
    resize: vertical;
    min-height: 110px;
    line-height: 1.6;
}.contact-field input:focus,
.contact-field textarea:focus {
    outline: none;
    border-color: var(--signal);
    box-shadow: 0 0 0 3px var(--signal-dim);
}.contact-field input.is-invalid,
.contact-field textarea.is-invalid {
    border-color: var(--alert);
    box-shadow: 0 0 0 3px var(--alert-dim);
}.contact-help {
    font-size: 12.5px;
    color: var(--mute);
}.contact-form .btn {
    align-self: flex-start;
}.contact-status {
    font-size: 14px;
    min-height: 1.4em;
    color: var(--slate);
}.contact-status.is-ok { color: var(--signal); font-weight: 600; }.contact-status.is-error { color: var(--alert); font-weight: 600; }

@media (max-width: 768px) {.contact-form .btn {
        align-self: stretch;
    }
}

/* Mobile column gutters — appended last so they win over the later-in-file
   desktop column rules (media queries add no specificity). */
@media (max-width: 768px) {
    .features-section .section-header,
    .features-section .ledger,
    .features-section .feature-stack,
    .briefing-section .section-header,
    .briefing-section .briefing-wrap,
    .footer-inner,
    .footer-disclaimer {
        padding-left: 28px;
        padding-right: 28px;
    }
}

/* ===== AUTH MODAL ===== */
.auth-modal {
    position: fixed;
    inset: 0;
    z-index: 2000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.25s ease;
}

.auth-modal[aria-hidden="false"] {
    pointer-events: auto;
    opacity: 1;
}

.auth-overlay {
    position: absolute;
    inset: 0;
    background: rgba(16, 33, 63, 0.65);
    backdrop-filter: blur(6px);
}

.auth-container {
    position: relative;
    background: var(--panel);
    border: var(--rule);
    border-radius: var(--radius-md);
    padding: 32px 28px 24px;
    width: 100%;
    max-width: 420px;
    max-height: 90vh;
    overflow-y: auto;
    box-shadow: 0 24px 48px -16px rgba(16, 33, 63, 0.35);
}

.auth-close {
    position: absolute;
    top: 14px;
    right: 14px;
    background: transparent;
    border: none;
    color: var(--mute);
    font-size: 18px;
    cursor: pointer;
    padding: 4px 8px;
    transition: color 0.2s ease;
}

.auth-close:hover { color: var(--ink); }

.auth-header {
    text-align: center;
    margin-bottom: 24px;
}

.auth-logo {
    width: 48px;
    height: 48px;
    margin-bottom: 12px;
}

.auth-header h2 {
    font-family: var(--font-display);
    font-size: 22px;
    font-weight: 600;
    color: var(--ink);
    margin-bottom: 6px;
}

.auth-subtitle {
    font-size: 14px;
    color: var(--slate);
    margin: 0;
}

/* Social Login Buttons */
.auth-social {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 20px;
}

.auth-btn-social {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 12px 16px;
    background: var(--panel);
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: 500;
    color: var(--ink);
    cursor: pointer;
    transition: all 0.2s ease;
}

.auth-btn-social:hover {
    border-color: var(--signal);
    background: var(--signal-dim);
}

.auth-btn-social svg {
    flex-shrink: 0;
}

/* Divider */
.auth-divider {
    display: flex;
    align-items: center;
    gap: 14px;
    margin: 20px 0;
    color: var(--mute);
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.auth-divider::before,
.auth-divider::after {
    content: '';
    flex: 1;
    height: 1px;
    background: var(--line);
}

/* Form */
.auth-form {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.form-group {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.form-group label {
    font-size: 13px;
    font-weight: 600;
    color: var(--ink);
}

.form-group input {
    padding: 11px 13px;
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    font-family: var(--font-body);
    font-size: 14px;
    color: var(--ink);
    background: var(--paper);
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.form-group input:focus {
    outline: none;
    border-color: var(--signal);
    box-shadow: 0 0 0 3px var(--signal-dim);
}

.form-group small {
    font-size: 11.5px;
    color: var(--mute);
    margin-top: -2px;
}

.auth-btn-primary {
    padding: 12px 20px;
    background: var(--ink);
    color: var(--paper);
    border: none;
    border-radius: var(--radius-sm);
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
    margin-top: 4px;
}

.auth-btn-primary:hover {
    background: var(--signal);
    transform: translateY(-1px);
    box-shadow: var(--shadow-sm);
}

.auth-btn-primary:disabled {
    opacity: 0.6;
    cursor: not-allowed;
    transform: none;
}

.auth-message {
    font-size: 13px;
    min-height: 1.2em;
    text-align: center;
    margin: 0;
}

.auth-message.is-error { color: var(--alert); }
.auth-message.is-ok { color: var(--signal); }

/* Toggle */
.auth-toggle {
    text-align: center;
    margin: 18px 0 0;
    font-size: 13.5px;
    color: var(--slate);
}

.auth-toggle button {
    background: none;
    border: none;
    color: var(--signal);
    font-weight: 600;
    cursor: pointer;
    padding: 0;
    font-size: inherit;
    font-family: inherit;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.auth-toggle button:hover { color: var(--ink); }

/* User Dashboard */
.auth-dashboard {
    display: flex;
    flex-direction: column;
    gap: 18px;
    padding-top: 8px;
}

.user-info {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 14px;
    background: var(--paper);
    border-radius: var(--radius-sm);
}

.user-avatar {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid var(--line);
}

.user-name {
    font-family: var(--font-display);
    font-weight: 600;
    font-size: 15px;
    color: var(--ink);
    margin: 0 0 2px;
}

.user-email {
    font-size: 13px;
    color: var(--mute);
    margin: 0;
}

.user-actions {
    display: flex;
    gap: 10px;
}

.auth-btn-secondary {
    flex: 1;
    padding: 11px 16px;
    background: var(--signal);
    color: var(--paper);
    border: none;
    border-radius: var(--radius-sm);
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    text-align: center;
    cursor: pointer;
    transition: all 0.2s ease;
}

.auth-btn-secondary:hover {
    background: var(--ink);
}

.auth-btn-ghost {
    padding: 11px 16px;
    background: transparent;
    color: var(--slate);
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s ease;
}

.auth-btn-ghost:hover {
    border-color: var(--alert);
    color: var(--alert);
}

@media (max-width: 480px) {
    .auth-container { padding: 24px 20px 20px; }
    .user-actions { flex-direction: column; }
}
