:root {
    --color-background: #070910;
    --color-background-soft: #0b0e17;
    --color-surface: #10141f;
    --color-surface-raised: #151a27;
    --color-border: rgba(255, 255, 255, 0.1);
    --color-border-strong: rgba(255, 255, 255, 0.18);
    --color-text: #f2f4f8;
    --color-text-muted: #a4abba;
    --color-text-subtle: #747d8e;
    --color-primary: #8b7cf6;
    --color-primary-soft: rgba(139, 124, 246, 0.13);
    --color-blue: #6f9ee8;
    --color-teal: #63c6bd;
    --color-success: #72d4a3;
    --color-danger: #ff9ca9;

    --font-sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --font-display: "Segoe UI Variable Display", "Segoe UI", var(--font-sans);
    --font-size-xs: 0.75rem;
    --font-size-sm: 0.875rem;
    --font-size-base: 1rem;
    --font-size-lg: 1.125rem;
    --font-size-xl: clamp(2rem, 4vw, 3.25rem);
    --font-size-hero: clamp(3.5rem, 9vw, 7.5rem);

    --space-1: 0.25rem;
    --space-2: 0.5rem;
    --space-3: 0.75rem;
    --space-4: 1rem;
    --space-5: 1.5rem;
    --space-6: 2rem;
    --space-7: 3rem;
    --space-8: 4.5rem;
    --space-9: 7rem;

    --radius-sm: 0.5rem;
    --radius-md: 0.875rem;
    --radius-lg: 1.25rem;
    --radius-xl: 1.75rem;
    --radius-pill: 999px;
    --shadow-card: 0 1.5rem 4rem rgba(0, 0, 0, 0.28);
    --shadow-focus: 0 0 0 3px rgba(139, 124, 246, 0.35);
    --content-width: 75rem;
    --transition-fast: 160ms ease;
    --transition-base: 280ms ease;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    margin: 0;
    background: var(--color-background);
    color: var(--color-text);
    font-family: var(--font-sans);
    font-size: var(--font-size-base);
    line-height: 1.6;
    overflow-x: hidden;
}
body.nav-open { overflow: hidden; }
button, textarea { font: inherit; }
a { color: inherit; }
svg { display: block; }
.layout { width: min(calc(100% - 2rem), var(--content-width)); margin-inline: auto; }
.visually-hidden { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; top: -5rem; left: var(--space-4); z-index: 1000; padding: var(--space-3) var(--space-4); border-radius: var(--radius-sm); background: var(--color-text); color: var(--color-background); font-weight: 700; transition: top var(--transition-fast); }
.skip-link:focus { top: var(--space-4); }
:focus-visible { outline: 2px solid #b9afff; outline-offset: 4px; }

.site-header { position: fixed; inset: 0 0 auto; z-index: 100; border-bottom: 1px solid transparent; background: rgba(7, 9, 16, 0.72); backdrop-filter: blur(1.25rem); transition: border-color var(--transition-base), background var(--transition-base); }
.site-header.scrolled { border-color: var(--color-border); background: rgba(7, 9, 16, 0.92); }
.header-inner { min-height: 4.75rem; display: flex; align-items: center; gap: var(--space-5); }
.wordmark { display: inline-flex; align-items: center; gap: var(--space-3); color: var(--color-text); font-family: var(--font-display); text-decoration: none; }
.wordmark-symbol { display: grid; width: 2rem; height: 2rem; place-items: center; border: 1px solid rgba(139, 124, 246, 0.58); border-radius: 0.6rem; background: var(--color-primary-soft); color: #b8afff; font-size: 0.8rem; letter-spacing: 0; box-shadow: 0 0 1.75rem rgba(139, 124, 246, 0.18); }
.wordmark-orbit { position: relative; display: grid; width: 2.15rem; height: 2.15rem; flex: 0 0 auto; place-items: center; border-radius: 50%; background: conic-gradient(from 205deg, #44c7d3, #5279dd 38%, #7557bf 61%, #143551 82%, #44c7d3); box-shadow: 0 0 1.4rem rgba(63,150,207,0.16); }
.wordmark-orbit::before { content: ""; position: absolute; inset: 0.34rem; border-radius: 50%; background: #050d17; box-shadow: inset 0 0 0.75rem rgba(45,112,153,0.34); }
.wordmark-orbit i { position: absolute; width: 0.42rem; height: 0.42rem; right: 0.08rem; top: 0.3rem; border-radius: 50%; background: #73dbe1; box-shadow: 0 0 0.65rem rgba(115,219,225,0.72); }
.wordmark-copy { display: flex; flex-direction: column; }
.wordmark-copy strong { font-size: 1.05rem; font-weight: 760; letter-spacing: 0.15em; line-height: 1; }
.wordmark-copy small { margin-top: 0.24rem; color: var(--color-text-subtle); font-size: 0.52rem; font-weight: 500; letter-spacing: 0.035em; }
.primary-navigation { display: flex; align-items: center; gap: var(--space-1); margin-left: auto; }
.primary-navigation a { padding: var(--space-3) var(--space-4); border-radius: var(--radius-sm); color: var(--color-text-muted); font-size: var(--font-size-sm); text-decoration: none; transition: color var(--transition-fast), background var(--transition-fast); }
.primary-navigation a:hover { color: var(--color-text); background: rgba(255,255,255,0.04); }
.version-badge, .demo-status { padding: 0.42rem 0.75rem; border: 1px solid var(--color-border); border-radius: var(--radius-pill); color: var(--color-text-muted); background: rgba(255,255,255,0.03); font-size: 0.7rem; letter-spacing: 0.04em; white-space: nowrap; }
.nav-toggle { display: none; width: 2.75rem; height: 2.75rem; padding: 0.75rem; border: 1px solid var(--color-border); border-radius: var(--radius-sm); background: var(--color-surface); color: var(--color-text); }
.nav-toggle > span:not(.visually-hidden) { display: block; width: 100%; height: 1px; margin: 0.35rem 0; background: currentColor; transition: transform var(--transition-fast); }
.header-tools { display: flex; align-items: center; gap: var(--space-3); }
.language-select select, .login-placeholder { min-height: 2.35rem; border: 1px solid var(--color-border); border-radius: var(--radius-sm); background: rgba(255,255,255,0.02); color: var(--color-text-muted); font-size: var(--font-size-xs); }
.language-select select { width: 3.3rem; padding: 0 var(--space-2); }
.login-placeholder { min-width: 4.6rem; padding: 0 var(--space-4); border-color: rgba(78,181,231,0.48); color: #c6dfeb; }
.language-select select:disabled, .login-placeholder:disabled { opacity: 1; cursor: not-allowed; }

.hero { position: relative; min-height: 57rem; padding: 10.5rem 0 var(--space-9); overflow: hidden; isolation: isolate; }
.hero::after { content: ""; position: absolute; inset: 0; z-index: -3; background-image: linear-gradient(rgba(255,255,255,0.025) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,0.025) 1px, transparent 1px); background-size: 4rem 4rem; mask-image: linear-gradient(to bottom, #000, transparent 78%); }
.star-field { position: absolute; inset: 0; z-index: -2; opacity: 0.45; background-image: radial-gradient(circle, rgba(255,255,255,0.52) 0 1px, transparent 1.4px), radial-gradient(circle, rgba(139,124,246,0.45) 0 1px, transparent 1.5px); background-position: 11% 18%, 83% 27%; background-size: 13rem 13rem, 19rem 19rem; mask-image: linear-gradient(to bottom, #000 10%, transparent 68%); }
.hero-light { position: absolute; z-index: -1; border-radius: 50%; filter: blur(0.1rem); pointer-events: none; }
.hero-light-primary { width: 38rem; height: 38rem; top: -9rem; left: calc(50% - 19rem); background: radial-gradient(circle, rgba(116, 88, 255, 0.18), transparent 68%); }
.hero-light-secondary { width: 24rem; height: 24rem; top: 24rem; right: -5rem; background: radial-gradient(circle, rgba(70, 185, 181, 0.08), transparent 70%); }
.hero-inner { position: relative; text-align: center; }
.eyebrow, .section-label { margin: 0 0 var(--space-4); color: #a79cff; font-size: var(--font-size-xs); font-weight: 750; letter-spacing: 0.14em; text-transform: uppercase; }
.hero h1 { margin: 0; font: 750 var(--font-size-hero)/0.98 var(--font-display); letter-spacing: -0.065em; background: linear-gradient(102deg, #f7f8fa 15%, #a89cff 53%, #74cdc5 86%); background-clip: text; color: transparent; }
.hero-subtitle { max-width: 50rem; margin: var(--space-5) auto 0; color: var(--color-text); font-size: clamp(1.15rem, 2.4vw, 1.55rem); font-weight: 500; letter-spacing: -0.02em; }
.hero-intro { max-width: 43rem; margin: var(--space-4) auto var(--space-7); color: var(--color-text-muted); font-size: var(--font-size-lg); }

.chat-demo { max-width: 52rem; margin: 0 auto; border: 1px solid var(--color-border-strong); border-radius: var(--radius-xl); background: rgba(14, 18, 29, 0.92); box-shadow: var(--shadow-card), 0 0 6rem rgba(116, 88, 255, 0.08); text-align: left; overflow: hidden; }
.demo-label { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-5); border-bottom: 1px solid var(--color-border); background: rgba(139,124,246,0.06); color: #b4aacd; font-size: var(--font-size-xs); font-weight: 600; letter-spacing: 0.05em; text-transform: uppercase; }
.demo-label span { width: 0.45rem; height: 0.45rem; border-radius: 50%; background: var(--color-success); box-shadow: 0 0 0.75rem var(--color-success); }
.chat-heading { display: flex; align-items: start; justify-content: space-between; gap: var(--space-5); padding: var(--space-6) var(--space-6) var(--space-4); }
.chat-heading .section-label { margin-bottom: var(--space-2); }
.chat-heading h2 { margin: 0; font: 700 clamp(1.45rem, 3vw, 2rem)/1.2 var(--font-display); letter-spacing: -0.035em; }
.chat-demo form { padding: 0 var(--space-6) var(--space-6); }
.chat-demo label { display: block; margin-bottom: var(--space-2); color: var(--color-text-muted); font-size: var(--font-size-sm); }
.chat-demo textarea { display: block; width: 100%; min-height: 7rem; padding: var(--space-4); resize: vertical; border: 1px solid var(--color-border); border-radius: var(--radius-md); background: #090c14; color: var(--color-text); line-height: 1.55; transition: border-color var(--transition-fast), box-shadow var(--transition-fast); }
.chat-demo textarea::placeholder { color: #626b7c; }
.chat-demo textarea:focus { outline: none; border-color: rgba(139,124,246,0.68); box-shadow: var(--shadow-focus); }
.chat-actions { display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); margin-top: var(--space-4); }
.chat-actions > span { color: var(--color-text-subtle); font-size: var(--font-size-xs); }
.button { display: inline-flex; align-items: center; justify-content: center; gap: var(--space-2); min-height: 2.75rem; padding: 0.65rem 1rem; border: 0; border-radius: var(--radius-sm); font-weight: 700; text-decoration: none; cursor: pointer; transition: transform var(--transition-fast), box-shadow var(--transition-fast), opacity var(--transition-fast); }
.button-primary { background: linear-gradient(135deg, #8978f4, #6758d3); color: #fff; box-shadow: 0 0.75rem 1.75rem rgba(103,88,211,0.25); }
.button:hover { transform: translateY(-2px); }
.button:disabled { opacity: 0.62; cursor: wait; transform: none; }
.button svg { width: 1.1rem; height: 1.1rem; fill: none; stroke: currentColor; stroke-width: 1.7; }
.answer-panel { border-top: 1px solid var(--color-border); padding: var(--space-6); background: rgba(8,11,18,0.7); }
.answer-panel.error { color: var(--color-danger); }
.answer-notice { margin: 0 0 var(--space-5); padding: var(--space-3) var(--space-4); border: 1px solid rgba(139,124,246,0.22); border-radius: var(--radius-sm); background: var(--color-primary-soft); color: #c5bfff; font-size: var(--font-size-sm); font-weight: 650; }
.answer-category { margin: 0 0 var(--space-5); color: var(--color-text-subtle); font-size: var(--font-size-xs); letter-spacing: 0.08em; text-transform: uppercase; }
.answer-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); }
.answer-section { padding: var(--space-4); border: 1px solid var(--color-border); border-radius: var(--radius-md); background: rgba(255,255,255,0.02); }
.answer-section.wide { grid-column: 1 / -1; }
.answer-section h3 { margin: 0 0 var(--space-2); color: #b9b2ef; font-size: var(--font-size-sm); }
.answer-section p, .answer-section ul { margin: 0; color: var(--color-text-muted); font-size: var(--font-size-sm); }
.answer-section ul { padding-left: 1.2rem; }
.answer-section li + li { margin-top: var(--space-2); }
.demo-prompts { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-3); max-width: 52rem; margin: var(--space-4) auto 0; }
.demo-prompts button { display: flex; align-items: center; gap: var(--space-3); padding: var(--space-3); border: 1px solid var(--color-border); border-radius: var(--radius-md); background: rgba(255,255,255,0.025); color: var(--color-text-muted); text-align: left; font-size: var(--font-size-xs); cursor: pointer; transition: border-color var(--transition-fast), color var(--transition-fast), background var(--transition-fast); }
.demo-prompts button:hover { border-color: rgba(139,124,246,0.38); background: var(--color-primary-soft); color: var(--color-text); }
.demo-prompts button span { color: #8f84da; font-weight: 700; }

.content-section { padding: var(--space-9) 0; }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: var(--space-7); margin-bottom: var(--space-7); }
.section-heading .section-label { margin-bottom: var(--space-3); }
.section-heading h2, .about-panel h2 { max-width: 42rem; margin: 0; font: 730 var(--font-size-xl)/1.1 var(--font-display); letter-spacing: -0.045em; }
.section-heading > p { max-width: 30rem; margin: 0; color: var(--color-text-muted); }
.topic-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-5); }
.topic-card { position: relative; min-height: 22rem; padding: var(--space-6); border: 1px solid var(--color-border); border-radius: var(--radius-lg); background: linear-gradient(145deg, rgba(255,255,255,0.045), rgba(255,255,255,0.012)); transition: transform var(--transition-base), border-color var(--transition-base); }
.topic-card:hover { transform: translateY(-0.35rem); border-color: var(--color-border-strong); }
.topic-index { position: absolute; top: var(--space-5); right: var(--space-5); color: var(--color-text-subtle); font-size: var(--font-size-xs); }
.topic-icon { display: grid; width: 3rem; height: 3rem; margin-bottom: var(--space-7); place-items: center; border-radius: var(--radius-md); }
.topic-icon svg { width: 1.4rem; height: 1.4rem; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.topic-icon.violet { color: #aa9eff; background: rgba(139,124,246,0.12); }
.topic-icon.blue { color: #8ab2f1; background: rgba(111,158,232,0.11); }
.topic-icon.teal { color: #7cd4cc; background: rgba(99,198,189,0.1); }
.topic-card h3 { margin: 0 0 var(--space-3); font: 700 1.35rem var(--font-display); }
.topic-card p { margin: 0 0 var(--space-5); color: var(--color-text-muted); font-size: var(--font-size-sm); }
.planned { position: absolute; bottom: var(--space-6); color: var(--color-text-subtle); font-size: 0.68rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }

.analyses-section { background: var(--color-background-soft); border-block: 1px solid rgba(255,255,255,0.045); }
.analysis-list { display: grid; gap: var(--space-3); }
.analysis-card { display: grid; grid-template-columns: 1fr 2fr 2fr 1fr; align-items: center; gap: var(--space-5); padding: var(--space-5) var(--space-6); border: 1px solid var(--color-border); border-radius: var(--radius-lg); background: var(--color-surface); }
.analysis-meta { color: var(--color-text-subtle); font-size: var(--font-size-xs); }
.analysis-meta span, .analysis-meta time { display: block; }
.analysis-meta span { margin-bottom: var(--space-2); color: #a99df2; font-weight: 700; text-transform: uppercase; }
.analysis-card h3 { margin: 0; font: 650 1.08rem/1.35 var(--font-display); }
.analysis-card > p { margin: 0; color: var(--color-text-muted); font-size: var(--font-size-sm); }
.data-state { justify-self: end; padding: 0.4rem 0.65rem; border: 1px solid var(--color-border); border-radius: var(--radius-pill); color: var(--color-text-subtle); font-size: 0.68rem; text-align: center; }

.about-section { padding-top: var(--space-8); }
.about-panel { display: grid; grid-template-columns: 1.2fr 0.8fr; gap: var(--space-8); padding: clamp(2rem, 6vw, 5rem); border: 1px solid var(--color-border); border-radius: var(--radius-xl); background: radial-gradient(circle at 90% 15%, rgba(70,185,181,0.09), transparent 31%), radial-gradient(circle at 10% 100%, rgba(116,88,255,0.12), transparent 40%), var(--color-surface); box-shadow: var(--shadow-card); }
.about-panel > div > p:not(.section-label) { max-width: 40rem; margin: var(--space-5) 0 0; color: var(--color-text-muted); }
.about-panel .muted-note { color: var(--color-text-subtle) !important; font-size: var(--font-size-sm); }
.principles { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--color-border); }
.principles li { display: flex; align-items: center; gap: var(--space-4); padding: var(--space-4) var(--space-2); border-bottom: 1px solid var(--color-border); }
.principles li > span { color: #8278bc; font-size: var(--font-size-xs); }
.principles strong, .principles small { display: block; }
.principles strong { font-size: var(--font-size-sm); }
.principles small { margin-top: var(--space-1); color: var(--color-text-subtle); }

.site-footer { margin-top: var(--space-7); border-top: 1px solid var(--color-border); }
.footer-main { min-height: 10rem; display: grid; grid-template-columns: repeat(3, 1fr); align-items: center; gap: var(--space-5); color: var(--color-text-subtle); font-size: var(--font-size-xs); }
.footer-main > div p { margin: var(--space-2) 0 0; }
.footer-main nav { display: flex; justify-content: center; gap: var(--space-5); }
.footer-main nav a { text-decoration: none; }
.footer-main nav a:hover { color: var(--color-text); }
.footer-main > p { justify-self: end; }
.footer-grid { display: grid; grid-template-columns: 1.35fr repeat(3, 0.72fr) 1.15fr; gap: var(--space-6); padding: var(--space-7) 0 var(--space-6); }
.footer-brand p, .footer-newsletter p { color: var(--color-text-subtle); font-size: var(--font-size-xs); }
.footer-demo-label { display: inline-flex; padding: 0.35rem 0.6rem; border: 1px solid var(--color-border); border-radius: var(--radius-pill); color: var(--color-text-subtle); font-size: 0.65rem; }
.footer-column { display: flex; flex-direction: column; gap: var(--space-2); padding-left: var(--space-5); border-left: 1px solid rgba(255,255,255,0.055); }
.footer-column strong, .footer-newsletter > strong { margin-bottom: var(--space-2); color: var(--color-text); font-size: var(--font-size-xs); letter-spacing: 0.08em; text-transform: uppercase; }
.footer-column a, .footer-column span { color: var(--color-text-subtle); font-size: var(--font-size-xs); text-decoration: none; }
.footer-column a:hover { color: var(--color-text); }
.newsletter-placeholder { display: flex; min-height: 2.6rem; align-items: center; justify-content: space-between; padding-left: var(--space-3); border: 1px solid var(--color-border); border-radius: var(--radius-sm); color: var(--color-text-subtle); font-size: var(--font-size-xs); }
.newsletter-placeholder button { align-self: stretch; width: 2.7rem; border: 0; border-left: 1px solid var(--color-border); background: rgba(255,255,255,0.03); color: var(--color-text-muted); }
.footer-bottom { display: flex; justify-content: space-between; padding: var(--space-4) 0 var(--space-5); border-top: 1px solid rgba(255,255,255,0.055); color: var(--color-text-subtle); font-size: 0.68rem; }

.legal-page, .error-page { min-height: 100vh; padding: 9rem 0 var(--space-8); background: radial-gradient(circle at 50% 0, rgba(116,88,255,0.12), transparent 34%); }
.legal-card { max-width: 50rem; margin-inline: auto; padding: clamp(1.5rem, 5vw, 4rem); border: 1px solid var(--color-border); border-radius: var(--radius-xl); background: var(--color-surface); box-shadow: var(--shadow-card); }
.legal-card h1 { margin: var(--space-6) 0 var(--space-4); font: 730 var(--font-size-xl) var(--font-display); letter-spacing: -0.04em; }
.legal-card h2 { margin: var(--space-7) 0 var(--space-3); font-size: 1.2rem; }
.legal-card p, .legal-card li { color: var(--color-text-muted); }
.placeholder-notice { padding: var(--space-4); border: 1px solid rgba(139,124,246,0.3); border-radius: var(--radius-md); background: var(--color-primary-soft); color: #c5bfff !important; }
.back-link { display: inline-flex; margin-top: var(--space-6); color: #b7aff7; font-weight: 700; text-decoration: none; }
.error-page { display: grid; place-items: center; padding-inline: var(--space-4); text-align: center; }
.error-page > div { max-width: 42rem; }
.error-code { margin: var(--space-7) 0 0; color: var(--color-primary); font: 750 clamp(4rem, 12vw, 8rem)/1 var(--font-display); }
.error-page h1 { margin: var(--space-3) 0 var(--space-6); font: 700 var(--font-size-xl) var(--font-display); }
.error-page p:not(.error-code) { color: var(--color-text-muted); }

.button-secondary { border: 1px solid var(--color-border-strong); background: rgba(255,255,255,0.045); color: var(--color-text); box-shadow: none; }
.section-action { display: flex; justify-content: center; margin-top: var(--space-6); }
.analysis-card h3 a { text-decoration: none; }
.analysis-card h3 a:hover { color: #bcb4ff; }

.module-page, .analysis-detail { min-height: 100vh; background: var(--color-background); }
.module-hero, .analysis-detail-header { position: relative; padding: 10rem 0 var(--space-8); overflow: hidden; isolation: isolate; border-bottom: 1px solid var(--color-border); background: radial-gradient(circle at 72% 5%, rgba(99,198,189,0.07), transparent 30%); }
.module-hero .hero-light, .analysis-detail-header .hero-light { z-index: -1; }
.narrow-layout { max-width: 58rem; text-align: center; }
.module-hero h1, .analysis-detail-header h1 { margin: 0; font: 750 clamp(3rem, 8vw, 6.2rem)/1 var(--font-display); letter-spacing: -0.06em; }
.module-intro { max-width: 48rem; margin: var(--space-5) auto 0; color: var(--color-text-muted); font-size: var(--font-size-lg); }
.editorial-demo-notice { display: grid; grid-template-columns: auto 1fr; gap: var(--space-4); margin-top: var(--space-7); padding: var(--space-4) var(--space-5); border: 1px solid rgba(139,124,246,0.28); border-radius: var(--radius-md); background: var(--color-primary-soft); color: #c8c2ec; text-align: left; font-size: var(--font-size-sm); }
.editorial-demo-notice strong { color: #e0dcff; white-space: nowrap; }
.module-content { padding: var(--space-8) 0 var(--space-9); }
.category-strip { display: flex; flex-wrap: wrap; gap: var(--space-2); margin-bottom: var(--space-8); }
.category-strip span { padding: 0.45rem 0.8rem; border: 1px solid var(--color-border); border-radius: var(--radius-pill); color: var(--color-text-subtle); font-size: var(--font-size-xs); }
.overview-heading { display: flex; align-items: end; justify-content: space-between; gap: var(--space-5); margin-bottom: var(--space-6); }
.overview-heading h2 { margin: 0; font: 720 var(--font-size-xl)/1.1 var(--font-display); letter-spacing: -0.045em; }
.overview-heading > p { margin: 0; color: var(--color-text-subtle); font-size: var(--font-size-sm); }
.overview-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); }
.overview-card { display: flex; min-height: 31rem; padding: var(--space-6); flex-direction: column; border: 1px solid var(--color-border); border-radius: var(--radius-lg); background: linear-gradient(145deg, rgba(255,255,255,0.045), rgba(255,255,255,0.012)); transition: transform var(--transition-base), border-color var(--transition-base); }
.overview-card:hover { transform: translateY(-0.3rem); border-color: var(--color-border-strong); }
.card-meta { display: flex; align-items: center; flex-wrap: wrap; gap: var(--space-2); color: var(--color-text-subtle); font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.05em; }
.card-meta > span + span::before { content: "·"; margin-right: var(--space-2); color: #5e6675; }
.card-meta .demo-chip { padding: 0.25rem 0.5rem; border: 1px solid rgba(139,124,246,0.3); border-radius: var(--radius-pill); background: var(--color-primary-soft); color: #bbb3f4; }
.card-meta .demo-chip::before { content: none; }
.overview-card h3 { margin: var(--space-6) 0 var(--space-3); font: 700 1.35rem/1.3 var(--font-display); }
.overview-card h3 a { text-decoration: none; }
.overview-card h3 a:hover { color: #bcb4ff; }
.overview-card > p { margin: 0 0 var(--space-5); color: var(--color-text-muted); font-size: var(--font-size-sm); }
.card-dates { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-3); margin: auto 0 var(--space-4); }
.card-dates dt { color: var(--color-text-subtle); font-size: 0.68rem; text-transform: uppercase; letter-spacing: 0.05em; }
.card-dates dd { margin: var(--space-1) 0 0; color: var(--color-text-muted); font-size: var(--font-size-xs); }
.card-status { padding: var(--space-3); border: 1px solid var(--color-border); border-radius: var(--radius-sm); background: rgba(255,255,255,0.02); }
.card-status span, .card-status strong { display: block; }
.card-status span { margin-bottom: var(--space-1); color: #978ddd; font-size: 0.67rem; text-transform: uppercase; }
.card-status strong { color: var(--color-text-muted); font-size: var(--font-size-xs); font-weight: 600; }
.card-link { display: flex; justify-content: space-between; margin-top: var(--space-5); color: #bbb3f4; font-size: var(--font-size-sm); font-weight: 700; text-decoration: none; }
.empty-state { grid-column: 1 / -1; padding: var(--space-7); border: 1px solid var(--color-border); border-radius: var(--radius-lg); color: var(--color-text-muted); text-align: center; }

.article-layout { max-width: 54rem; }
.breadcrumb { display: flex; gap: var(--space-2); margin-bottom: var(--space-7); color: var(--color-text-subtle); font-size: var(--font-size-sm); }
.breadcrumb a { text-decoration: none; }
.breadcrumb a:hover { color: var(--color-text); }
.analysis-detail-header .card-meta { margin-bottom: var(--space-5); }
.analysis-detail-header h1 { max-width: 52rem; font-size: clamp(2.7rem, 7vw, 5.5rem); }
.article-summary { max-width: 48rem; margin: var(--space-5) 0 var(--space-7); color: var(--color-text-muted); font-size: clamp(1.05rem, 2vw, 1.3rem); }
.analysis-state { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; margin: 0; overflow: hidden; border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-border); }
.analysis-state div { padding: var(--space-4); background: var(--color-surface); }
.analysis-state dt { margin-bottom: var(--space-1); color: var(--color-text-subtle); font-size: 0.68rem; text-transform: uppercase; letter-spacing: 0.05em; }
.analysis-state dd { margin: 0; color: var(--color-text-muted); font-size: var(--font-size-xs); }
.article-body { padding-top: var(--space-8); padding-bottom: var(--space-9); }
.demo-disclaimer { display: grid; grid-template-columns: auto 1fr; gap: var(--space-4); padding: var(--space-4) var(--space-5); border: 1px solid rgba(139,124,246,0.28); border-radius: var(--radius-md); background: var(--color-primary-soft); color: #d1ccf3; }
.demo-disclaimer p { margin: 0; color: #aaa4c6; font-size: var(--font-size-sm); }
.analysis-group { margin-top: var(--space-8); border-top: 1px solid var(--color-border); }
.analysis-group > header { display: grid; grid-template-columns: 8rem 1fr; gap: var(--space-5); padding: var(--space-6) 0; }
.analysis-group > header > span { color: #948ade; font-size: var(--font-size-xs); font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; }
.analysis-group > header h2 { margin: 0; font: 700 clamp(1.5rem, 4vw, 2.25rem)/1.2 var(--font-display); letter-spacing: -0.035em; }
.numbered-section { display: grid; grid-template-columns: 8rem 1fr; gap: var(--space-5); padding: var(--space-6) 0; border-top: 1px solid rgba(255,255,255,0.065); }
.numbered-section > span { color: var(--color-text-subtle); font-size: var(--font-size-xs); }
.numbered-section h3 { margin: 0 0 var(--space-3); font-size: 1.08rem; }
.numbered-section p, .numbered-section ul { margin: 0; color: var(--color-text-muted); }
.numbered-section ul { padding-left: 1.15rem; }
.numbered-section li + li { margin-top: var(--space-2); }
.facts-group > header > span { color: var(--color-teal); }
.questions-group > header > span { color: #d3aa72; }
.opinion-box { margin-top: var(--space-8); padding: var(--space-6); border: 1px solid var(--color-border); border-left: 3px solid #777f8f; border-radius: var(--radius-md); background: var(--color-surface); }
.opinion-box h2 { margin: 0 0 var(--space-3); font: 700 1.4rem var(--font-display); }
.opinion-box p:last-child { margin: 0; color: var(--color-text-muted); }
.source-list { padding: 0 !important; list-style: none; }
.source-list li { padding: var(--space-4); border: 1px solid var(--color-border); border-radius: var(--radius-sm); background: rgba(255,255,255,0.02); }
.source-list strong, .source-list span { display: block; }
.source-list strong { color: #c7c2e8; font-size: var(--font-size-sm); }
.source-list span { margin-top: var(--space-1); color: var(--color-text-subtle); font-size: var(--font-size-xs); }
.correction-note { margin: var(--space-4) 0 var(--space-6) 8rem; padding: var(--space-4); border: 1px solid rgba(211,170,114,0.28); border-radius: var(--radius-sm); background: rgba(211,170,114,0.06); }
.correction-note p { margin: var(--space-2) 0 0; color: var(--color-text-muted); font-size: var(--font-size-sm); }
.timeline { margin-left: 8rem; }
.timeline h3 { margin: 0 0 var(--space-4); }
.timeline ol { margin: 0; padding: 0; list-style: none; }
.timeline li { display: grid; grid-template-columns: 7rem 1fr; gap: var(--space-4); padding: var(--space-4) 0; border-top: 1px solid var(--color-border); }
.timeline time { color: var(--color-text-subtle); font-size: var(--font-size-xs); }
.timeline p { margin: var(--space-1) 0 0; color: var(--color-text-muted); font-size: var(--font-size-sm); }
.dossier-note { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: var(--space-6); margin-top: var(--space-8); padding: var(--space-6); border: 1px solid rgba(99,198,189,0.22); border-radius: var(--radius-lg); background: rgba(99,198,189,0.055); }
.dossier-note h2 { margin: 0 0 var(--space-3); font: 700 1.4rem var(--font-display); }
.dossier-note p:not(.section-label) { margin: 0; color: var(--color-text-muted); font-size: var(--font-size-sm); }
.dossier-note code { color: #a9d9d4; }
.dossier-note > span { color: var(--color-teal); font-size: var(--font-size-xs); white-space: nowrap; }

.reveal { opacity: 1; transform: none; }
.js .reveal { opacity: 0; transform: translateY(0.8rem); transition: opacity 720ms cubic-bezier(.2,.7,.2,1), transform 720ms cubic-bezier(.2,.7,.2,1); transition-delay: var(--reveal-delay, 0ms); }
.js .reveal.visible { opacity: 1; transform: none; }

@media (max-width: 60rem) {
    .nav-toggle { display: block; margin-left: auto; }
    .primary-navigation { position: fixed; inset: 4.75rem 1rem auto; display: none; align-items: stretch; padding: var(--space-4); border: 1px solid var(--color-border); border-radius: var(--radius-lg); background: #0c1019; box-shadow: var(--shadow-card); }
    .primary-navigation.open { display: flex; flex-direction: column; }
    .version-badge { margin-top: var(--space-2); text-align: center; }
    .footer-grid { grid-template-columns: repeat(2, 1fr); }
    .footer-brand, .footer-newsletter { grid-column: 1 / -1; }
    .topic-grid { grid-template-columns: 1fr; }
    .topic-card { min-height: 18rem; }
    .analysis-card { grid-template-columns: 1fr 2fr; }
    .analysis-card > p { grid-column: 2; }
    .data-state { justify-self: start; grid-column: 2; }
    .about-panel { grid-template-columns: 1fr; }
}

@media (max-width: 44rem) {
    .layout { width: min(calc(100% - 1.25rem), var(--content-width)); }
    .hero { min-height: auto; padding-top: 8.5rem; }
    .hero h1 { letter-spacing: -0.055em; }
    .hero-intro { font-size: var(--font-size-base); }
    .header-inner { gap: var(--space-3); }
    .language-select { display: none; }
    .login-placeholder { min-width: 3.7rem; padding-inline: var(--space-3); }
    .chat-heading, .chat-demo form, .answer-panel { padding-left: var(--space-4); padding-right: var(--space-4); }
    .chat-heading { display: block; }
    .demo-status { display: inline-block; margin-top: var(--space-3); }
    .chat-actions { align-items: stretch; flex-direction: column; }
    .chat-actions .button { width: 100%; }
    .demo-prompts { grid-template-columns: 1fr; }
    .answer-grid { grid-template-columns: 1fr; }
    .answer-section.wide { grid-column: auto; }
    .content-section { padding: var(--space-8) 0; }
    .section-heading { display: block; }
    .section-heading > p { margin-top: var(--space-4); }
    .analysis-card { display: block; padding: var(--space-5); }
    .analysis-card > * + * { margin-top: var(--space-4); }
    .data-state { display: inline-block; }
    .about-panel { gap: var(--space-7); padding: var(--space-6); }
    .footer-main { grid-template-columns: 1fr; padding: var(--space-7) 0; text-align: center; }
    .footer-main nav { order: 3; }
    .footer-main > p { justify-self: center; }
    .footer-grid { grid-template-columns: 1fr; }
    .footer-brand, .footer-newsletter { grid-column: auto; }
    .footer-column { padding: var(--space-4) 0 0; border-left: 0; border-top: 1px solid rgba(255,255,255,0.055); }
    .footer-bottom { flex-direction: column; gap: var(--space-2); text-align: center; }
}

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

@media (max-width: 60rem) {
    .overview-grid { grid-template-columns: 1fr; }
    .overview-card { min-height: 0; }
    .analysis-state { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 44rem) {
    .module-hero, .analysis-detail-header { padding-top: 8.5rem; }
    .editorial-demo-notice, .demo-disclaimer { grid-template-columns: 1fr; }
    .overview-heading { display: block; }
    .overview-heading > p { margin-top: var(--space-3); }
    .analysis-state { grid-template-columns: 1fr; }
    .analysis-group > header, .numbered-section { grid-template-columns: 2rem 1fr; gap: var(--space-3); }
    .analysis-group > header h2 { grid-column: 1 / -1; }
    .correction-note, .timeline { margin-left: 0; }
    .timeline li { grid-template-columns: 1fr; }
    .dossier-note { grid-template-columns: 1fr; }
}
