/* Keep the uploaded front page's visual system and media intact. */
.frontpage { --canvas: oklch(14% .006 265); --surface: oklch(18% .007 265); --surface-muted: oklch(22% .008 265); --ink: oklch(95% .005 265); --ink-soft: oklch(80% .008 265); --muted: oklch(67% .01 265); --line: oklch(29% .008 265); --line-strong: oklch(42% .014 265); --accent: oklch(83% .02 265); background: var(--canvas); color: var(--ink); }
.frontpage .space-canvas { z-index: 1; opacity: .25; }
.frontpage .eyebrow { font-size: 11px; font-weight: 500; letter-spacing: 2px; }
.frontpage header { position: relative; z-index: 3; gap: 26px; }
.frontpage header nav { margin-left: auto; }
.frontpage-login { display: inline-flex; align-items: center; gap: 20px; min-height: 44px; padding: 0 19px; border: 1px solid oklch(40% .02 180); border-radius: 99px; font-size: 13px; }
.frontpage-login:hover { background: var(--surface-muted); }
.frontpage .space-toggle { --surface: oklch(18% .007 265); --ink-soft: oklch(83% .01 265); --line-strong: oklch(42% .014 265); }
.frontpage-product-links { display: flex; flex-wrap: wrap; gap: 22px; grid-column: 1/-1; font-size: 12px; }
.frontpage-product-links a { min-height: 40px; display: inline-flex; align-items: center; }
.frontpage footer { padding-bottom: 80px; }
.frontpage :is(header, footer, .hero, .manifesto) { background: var(--canvas); }
.frontpage :is(.intro,.possibilities,.process,.faq,.closing,.control) { background: var(--canvas); color: var(--ink); border-color: var(--line); }
.frontpage .control { background: var(--surface); }
.frontpage :is(.intro-copy p,.section-heading p,.steps p,.control-grid p,.faq details p,.closing > p,.closing small,.intro > .eyebrow) { color: var(--muted); }
.frontpage :is(.intro-copy p:first-child,.steps h3,.control-grid h3,.faq summary) { color: var(--ink); }
.frontpage :is(.step,.steps article,.control-grid article,.faq details,.text-link) { border-color: var(--line); }
.frontpage .light { background: var(--ink); color: var(--canvas); }
.frontpage .light:hover { background: oklch(84% .016 265); }
.frontpage .dark { background: var(--ink); color: var(--canvas); }
.frontpage .dark:hover { background: oklch(84% .016 265); }
.frontpage .scenario-copy { background: var(--surface); }
.frontpage .experience { background: var(--surface); }
.frontpage :is(.steps span,.scenario-description,#scenario-description,.scenario-copy small,.text-link) { color: var(--muted); }
.frontpage .tabs button { color: var(--muted); border-color: var(--line); }
.frontpage .tabs button[aria-selected='true'] { color: var(--ink); }
.frontpage :is(.scenario-copy > p,.scenario-copy .eyebrow,.scenario-note) { color: var(--muted); }
.frontpage .conversation-stage { background: oklch(16% .008 265); }
.frontpage .conversation { background: var(--surface); color: var(--ink); box-shadow: 0 30px 90px oklch(8% .005 265 / .4); border: 1px solid var(--line); }
.frontpage :is(.chat-top,.chat-bottom) { border-color: var(--line); }
.frontpage :is(.chat-top small,.chat-bottom) { color: var(--muted); }
.frontpage :is(.assistant-icon,.bubble.customer) { background: oklch(29% .014 265); color: var(--ink); }
.frontpage .bubble.assistant { background: var(--surface-muted); color: var(--ink-soft); }
.frontpage .chat-status { background: var(--ink-soft); }
.frontpage .orbit { border-color: oklch(45% .02 265 / .25); }
.frontpage ::selection { background: oklch(42% .025 265); color: var(--ink); }
.frontpage .wave-field { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }
.frontpage .wave-ready > video { visibility: hidden; }
.frontpage .hero-shade { background: linear-gradient(90deg, oklch(14% .006 265 / .3), transparent 70%), linear-gradient(0deg, var(--canvas), transparent 23%); }
.frontpage .manifesto-shade { background: oklch(14% .006 265 / .2); }
.frontpage .hero-content, .frontpage .manifesto > div:not(.manifesto-shade) { z-index: 2; position: relative; }
@media (max-width: 800px) { .frontpage header nav { display: none; } .frontpage-login { margin-left: auto; } }
@media (max-width: 650px) { .frontpage .nav-cta { display: none; } .frontpage header { gap: 14px; } }
