/* EMIREVOX Warm Light Design System
   Single source of truth for the public product surfaces.
   Keep code and terminal previews dark only where contrast is intentional. */
:root {
  color-scheme: light;
  --bg: #F6F3EC;
  --surface: #FBF9F4;
  --surface-elevated: #FFFFFF;
  --text: #171614;
  --text-secondary: #68645D;
  --text-muted: #969087;
  --border: #DED9D0;
  --border-subtle: #EAE6DE;
  --accent: #B85C43;
  --accent-hover: #A94F38;
  --accent-active: #984632;
  --accent-subtle: #F0DDD6;
  --success: #3F7D55;
  --error: #B34A45;
  --warning: #A87835;
  --info: #52748A;
  --evx-page: var(--bg);
  --evx-surface: var(--surface);
  --evx-surface-raised: var(--surface-elevated);
  --evx-hover: #F3EFE7;
  --evx-active: #EEE8DE;
  --evx-soft: var(--accent-subtle);
  --evx-border: var(--border);
  --evx-border-strong: #CFC8BC;
  --evx-text: var(--text);
  --evx-heading: var(--text);
  --evx-subheading: var(--text-secondary);
  --evx-muted: var(--text-muted);
  --evx-placeholder: var(--text-muted);
  --evx-disabled: var(--text-secondary);
  --evx-accent: var(--accent);
  --evx-accent-strong: var(--accent);
  --evx-accent-hover: var(--accent-hover);
  --evx-accent-active: var(--accent-active);
  --evx-accent-light: #D58B76;
  --evx-accent-soft: var(--accent-subtle);
  --evx-accent-border: #E5C4B8;
  --evx-success: var(--success);
  --evx-success-soft: #E6F0E9;
  --evx-warning: var(--warning);
  --evx-warning-soft: #F5EBDD;
  --evx-error: var(--error);
  --evx-error-soft: #F7E3E1;
  --evx-info: var(--info);
  --evx-info-soft: #E6EEF2;
  --evx-shadow: 0 1px 2px rgba(23, 22, 20, .04);
  --evx-shadow-raised: 0 8px 20px rgba(23, 22, 20, .07);
  --evo-bg: var(--bg);
  --evo-text: var(--text);
  --evo-text-secondary: var(--text-secondary);
  --evo-text-muted: var(--text-muted);
  --evo-blue: var(--accent-active);
  --evo-violet: var(--accent-active);
  --glow-blue: none;
  --glow-violet: none;
  --tw-ring-color: rgba(184, 92, 67, .18);
  --tw-ring-offset-color: var(--bg);
}

[data-theme="dark"] {
  color-scheme: dark;
  --bg: #10100F;
  --surface: #171716;
  --surface-elevated: #1E1E1C;
  --text: #F3F0E8;
  --text-secondary: #A8A39A;
  --text-muted: #706C65;
  --border: #30302D;
  --border-subtle: #252522;
  --accent: #C86A50;
  --accent-hover: #D2775D;
  --accent-active: #B95B43;
  --accent-subtle: #38231D;
  --evx-page: var(--bg);
  --evx-surface: var(--surface);
  --evx-surface-raised: var(--surface-elevated);
  --evx-hover: #20201E;
  --evx-active: #282824;
  --evx-soft: var(--accent-subtle);
  --evx-border: var(--border);
  --evx-border-strong: #454540;
  --evx-text: var(--text);
  --evx-heading: var(--text);
  --evx-subheading: var(--text-secondary);
  --evx-muted: var(--text-muted);
  --evx-placeholder: var(--text-muted);
  --evx-disabled: var(--text-secondary);
  --evx-accent: var(--accent);
  --evx-accent-strong: var(--accent);
  --evx-accent-hover: var(--accent-hover);
  --evx-accent-active: var(--accent-active);
  --evx-accent-light: #D98B73;
  --evx-accent-soft: var(--accent-subtle);
  --evx-accent-border: #5A3329;
  --evx-success: var(--success, #3F7D55);
  --evx-success-soft: #203729;
  --evx-warning: var(--warning, #A87835);
  --evx-warning-soft: #3A301E;
  --evx-error: var(--error, #B34A45);
  --evx-error-soft: #3B2423;
  --evx-info: var(--info, #52748A);
  --evx-info-soft: #22313A;
  --evx-shadow: 0 1px 2px rgba(0, 0, 0, .24);
  --evx-shadow-raised: 0 8px 20px rgba(0, 0, 0, .28);
  --evo-bg: var(--bg);
  --evo-text: var(--text);
  --evo-text-secondary: var(--text-secondary);
  --evo-text-muted: var(--text-muted);
  --evo-blue: var(--accent-active);
  --evo-violet: var(--accent-active);
  --glow-blue: none;
  --glow-violet: none;
  --tw-ring-color: rgba(200, 106, 80, .22);
  --tw-ring-offset-color: var(--bg);
}

html,
body,
body.workspace-page,
body.legal-page {
  background: var(--evx-page) !important;
  background-image: none !important;
  color: var(--evx-text) !important;
}

body {
  font-family: 'Inter', system-ui, sans-serif;
}

body *,
body *::before,
body *::after {
  border-color: var(--evx-border);
}

h1,
h2,
h3,
h4,
h5,
h6,
strong,
b {
  color: var(--evx-heading);
}

p,
li,
label,
small {
  color: var(--evx-subheading);
}

a {
  color: var(--evx-accent);
}

a:hover {
  color: var(--evx-accent-active);
}

/* Replace legacy Tailwind theme utilities. */
.text-evo-text,
.text-white,
.text-slate-50,
.text-slate-100,
.text-gray-50,
[class*="text-white/"] {
  color: var(--evx-text) !important;
}
.text-evo-text-secondary,
.text-slate-300,
.text-slate-400,
.text-gray-300,
.text-gray-400 {
  color: var(--evx-subheading) !important;
}
.text-evo-text-muted,
.text-slate-500,
.text-slate-600,
.text-gray-500,
.text-gray-600 {
  color: var(--evx-muted) !important;
}
.text-evo-blue,
.text-evo-violet,
[class*="text-indigo"],
[class*="text-violet"],
[class*="text-purple"] {
  color: var(--evx-accent) !important;
}
[class*="text-amber"] {
  color: var(--evx-warning) !important;
}
[class*="bg-evo-bg"] {
  background-color: var(--evx-page) !important;
}
[class*="bg-evo-blue"],
[class*="bg-evo-violet"] {
  background-color: var(--evx-accent-soft) !important;
}
[class*="bg-white/"] {
  background-color: var(--evx-surface-raised) !important;
}
[class*="border-white/"] {
  border-color: var(--evx-border) !important;
}

/* Landing sections and navigation. */
main,
section,
footer,
#overview,
#how-it-works,
#features,
#use-cases,
#infrastructure {
  background-color: var(--evx-page) !important;
  background-image: none !important;
  color: var(--evx-text) !important;
}
section + section {
  border-top: 1px solid var(--evx-border);
}
.nav-sticky,
.navbar-scrolled {
  background: rgba(246, 243, 236, .94) !important;
  border-bottom: 1px solid var(--evx-border) !important;
  box-shadow: 0 1px 0 rgba(20, 20, 19, .02);
  color: var(--evx-text) !important;
}
[data-theme="dark"] .nav-sticky,
[data-theme="dark"] .navbar-scrolled {
  background: rgba(16, 16, 15, .94) !important;
  border-bottom-color: var(--evx-border) !important;
}
.mobile-menu {
  background: var(--evx-page) !important;
  border-left: 1px solid var(--evx-border) !important;
}
.gradient-text {
  background: none !important;
  color: var(--evx-accent) !important;
  -webkit-background-clip: initial !important;
  background-clip: initial !important;
  -webkit-text-fill-color: currentColor !important;
}

/* Buttons, controls, cards and inputs. */
.btn-primary,
.auth-submit,
.workspace-new-chat,
.chat-send-button {
  background: var(--evx-accent) !important;
  background-image: none !important;
  border: 1px solid var(--evx-accent) !important;
  box-shadow: 0 4px 12px rgba(184, 92, 67, .16) !important;
  color: var(--evx-page) !important;
}
.btn-primary:hover,
.auth-submit:hover,
.workspace-new-chat:hover,
.chat-send-button:hover {
  background: var(--evx-accent-hover) !important;
  border-color: var(--evx-accent-hover) !important;
  color: var(--evx-page) !important;
}
.btn-primary:active,
.auth-submit:active,
.workspace-new-chat:active,
.chat-send-button:active {
  background: var(--evx-accent-active) !important;
}
.btn-secondary,
.nav-auth-btn,
.workspace-secondary-button,
.workspace-icon-button,
.filter-btn,
.tool-cta-soon {
  background: transparent !important;
  border: 1px solid var(--evx-border) !important;
  color: var(--evx-text) !important;
}
.btn-secondary:hover,
.nav-auth-btn:hover,
.workspace-secondary-button:hover,
.workspace-icon-button:hover,
.filter-btn:hover,
.tool-cta-soon:hover {
  background: var(--evx-hover) !important;
  border-color: var(--evx-border-strong) !important;
  color: var(--evx-text) !important;
}
.evo-card,
.trust-card,
.workspace-card,
.workspace-flow-card,
.workspace-project-strip,
.workspace-email-banner,
.workspace-email-gate,
.chat-empty,
.jsonlab-panel,
.infra-card,
.code-workspace-card,
.code-preview-card,
.terminal-use-card,
.security-card,
.constraints-card,
.beam-surface,
.legal-card {
  background: var(--evx-surface) !important;
  background-image: none !important;
  border: 1px solid var(--evx-border) !important;
  box-shadow: var(--evx-shadow) !important;
  color: var(--evx-text) !important;
}
.evo-card:hover,
.trust-card:hover,
.workspace-card:hover,
.workspace-flow-card:hover {
  border-color: var(--evx-accent) !important;
  box-shadow: 0 4px 14px rgba(23, 22, 20, .06) !important;
}
.evo-input,
input:not([type="checkbox"]):not([type="radio"]),
textarea,
select {
  background: var(--evx-surface) !important;
  background-image: none !important;
  border: 1px solid var(--evx-border) !important;
  color: var(--evx-text) !important;
}
.evo-input::placeholder,
input::placeholder,
textarea::placeholder {
  color: var(--evx-placeholder) !important;
  opacity: 1;
}
.evo-input:focus,
input:focus,
textarea:focus,
select:focus {
  border-color: var(--evx-accent) !important;
  box-shadow: 0 0 0 3px rgba(184, 92, 67, .16) !important;
  outline: none !important;
}
button:focus-visible,
a:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
  outline: 3px solid rgba(184, 92, 67, .45) !important;
  outline-offset: 3px;
}

/* Landing-specific surfaces and copy. */
.text-section,
.hero-flow-copy,
.product-proof,
.infra-card,
.trust-card p,
.tool-card p {
  color: var(--evx-subheading) !important;
}
.text-evo-text h1,
.text-evo-text h2,
.text-evo-text h3,
.text-section h1,
.text-section h2,
.text-section h3,
.trust-card h3,
.tool-card h3 {
  color: var(--evx-heading) !important;
}
.trust-card-index,
.infra-label,
.text-xs.text-evo-blue,
.text-xs.text-evo-violet {
  color: var(--evx-accent) !important;
}
.demo-step,
.ai-first-flow-step,
.ai-first-flow-line,
.p-4.rounded-xl {
  border-color: var(--evx-border) !important;
}
.demo-step,
.p-4.rounded-xl {
  background: var(--evx-surface-raised) !important;
}

/* Workspace: light shell, readable chat and warm status states. */
.workspace-topbar,
.workspace-sidebar,
.workspace-shell,
.workspace-content,
.workspace-view,
.workspace-main,
.workspace-chat-list,
.workspace-chat-panel {
  background: var(--evx-page) !important;
  background-image: none !important;
  color: var(--evx-text) !important;
}
.workspace-topbar,
.workspace-sidebar,
.workspace-project-strip,
.workspace-flow-card,
.workspace-email-banner {
  border-color: var(--evx-border) !important;
}
.workspace-topbar,
.workspace-sidebar {
  background-color: var(--evx-surface) !important;
}
.workspace-nav-item,
.workspace-chat-list-item,
.workspace-home-link,
.workspace-signout,
.workspace-mobile-title {
  color: var(--evx-subheading) !important;
}
.workspace-nav-item:hover,
.workspace-chat-list-item:hover {
  background: var(--evx-hover) !important;
  color: var(--evx-text) !important;
}
.workspace-nav-item.active,
.workspace-nav-item.is-active,
.workspace-chat-list-item.active,
.workspace-chat-list-item.is-active {
  background: var(--evx-active) !important;
  border-color: var(--evx-accent-light) !important;
  color: var(--evx-text) !important;
}
.workspace-label,
.workspace-project-strip-label,
.workspace-flow-steps span,
.workspace-account-facts span {
  color: var(--evx-muted) !important;
}
.workspace-project-strip-title,
.workspace-flow-copy h3,
.workspace-account-facts strong,
.workspace-mobile-title {
  color: var(--evx-heading) !important;
}
.chat-transcript,
.chat-empty,
.chat-composer,
.coding-agent-window,
.code-preview-card,
.retention-detail-card,
.workspace-memory-card {
  background: var(--evx-surface) !important;
  border-color: var(--evx-border) !important;
  color: var(--evx-text) !important;
}
.chat-bubble,
.chat-message--agent .chat-bubble,
.chat-message--user .chat-bubble {
  background: var(--evx-surface-raised) !important;
  border: 1px solid var(--evx-border) !important;
  color: var(--evx-text) !important;
}
.chat-message--user .chat-bubble {
  background: var(--evx-accent-soft) !important;
  border-color: var(--evx-accent-border) !important;
}
.chat-message--user .chat-avatar {
  background: var(--evx-accent-soft) !important;
  border-color: var(--evx-accent-border) !important;
  color: var(--evx-accent-active) !important;
}
.chat-bubble--agent-progress,
.agent-action-item--idle {
  background: var(--evx-active) !important;
  border-color: var(--evx-border) !important;
  color: var(--evx-subheading) !important;
}
.agent-window-toolbar,
.agent-progress-head,
.agent-progress-foot,
.agent-action-timeline-head,
.code-workspace-toolbar,
.code-preview-head {
  background: var(--evx-surface-raised) !important;
  border-color: var(--evx-border) !important;
  color: var(--evx-subheading) !important;
}
.agent-orbs i,
.agent-orb-large {
  background: var(--evx-accent) !important;
  border-color: var(--evx-accent-light) !important;
}
.agent-thinking-shimmer,
.agent-reasoning-toggle {
  color: var(--evx-accent-active) !important;
}
.agent-reasoning,
.agent-reasoning-body {
  border-color: var(--evx-border) !important;
  color: var(--evx-subheading) !important;
}
.code-editor,
.terminal-output,
.code-preview-frame {
  background: #191816 !important;
  border-color: #38362f !important;
  color: #f4f2ec !important;
}
.workspace-status,
.chat-composer-note,
.offline-ai-help {
  color: var(--evx-muted) !important;
}
.workspace-status--success,
.auth-status--success,
.agent-log-row--success { color: var(--evx-success) !important; }
.workspace-status--error,
.auth-status--error,
.agent-log-row--error { color: var(--evx-error) !important; }
.workspace-status--info,
.auth-status--info { color: var(--evx-info) !important; }
.code-workspace-meta--warning { color: var(--evx-warning) !important; }
.workspace-danger-button {
  border-color: #eccfc4 !important;
  color: var(--evx-error) !important;
}
.workspace-danger-button:hover {
  background: var(--evx-error-soft) !important;
}

/* Legal pages. */
.legal-page,
.legal-shell {
  background: var(--evx-page) !important;
  color: var(--evx-text) !important;
}
.legal-brand,
.legal-card h1,
.legal-card h2 {
  color: var(--evx-heading) !important;
}
.legal-actions a,
.legal-actions button,
.legal-card a {
  color: var(--evx-accent) !important;
}
.legal-actions a:hover,
.legal-actions button:hover,
.legal-card a:hover {
  color: var(--evx-accent-active) !important;
}
.legal-card p,
.legal-card .legal-lead {
  color: var(--evx-subheading) !important;
}
.legal-card .legal-eyebrow {
  color: var(--evx-accent) !important;
}
.legal-card .legal-note {
  background: var(--evx-accent-soft) !important;
  border-left-color: var(--evx-accent) !important;
  color: var(--evx-subheading) !important;
}
.markdown-body a,
.markdown-body li::marker {
  color: var(--evx-accent) !important;
}
.markdown-body blockquote,
.markdown-body th {
  background: var(--evx-active) !important;
  border-color: var(--evx-border) !important;
  color: var(--evx-subheading) !important;
}
.markdown-body code,
.markdown-body pre {
  background: var(--evx-active) !important;
  color: var(--evx-text) !important;
}

/* Status and semantic surfaces stay warm, never neon. */
.auth-status--success,
.workspace-account-facts strong.is-verified { color: var(--evx-success) !important; }
.auth-status--error,
.workspace-account-facts strong.is-pending { color: var(--evx-warning) !important; }
.badge,
[class*="badge"] { background: var(--evx-accent-soft) !important; border-color: var(--evx-accent-border) !important; color: var(--evx-accent-active) !important; }

@media (max-width: 700px) {
  .workspace-sidebar { background: var(--evx-surface) !important; box-shadow: 12px 0 30px rgba(20, 20, 19, .08) !important; }
  .workspace-backdrop { background: rgba(20, 20, 19, .28) !important; }
}


/* EMIREVOX v64 — unified landing surface polish */
:root {
  --evx-accent-strong: #b65038;
  --evx-accent-strong-hover: #99422f;
  --evx-accent-strong-active: #7f3627;
  --evx-accent-focus: #b65038;
  --evx-card-radius: 16px;
}

.nav-sticky {
  position: sticky;
  top: 0;
  z-index: 100;
  background: rgba(250, 249, 245, .9) !important;
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(217, 214, 201, .82) !important;
}
.nav-sticky a.font-display { color: var(--evx-heading) !important; }
.nav-sticky a.text-evo-text-secondary,
.nav-sticky .nav-product-link { color: var(--evx-subheading) !important; }
.nav-sticky a.text-evo-text-secondary:hover,
.nav-sticky .nav-product-link:hover { color: var(--evx-accent-strong) !important; }
.nav-sticky .nav-auth-btn,
.nav-sticky .lang-toggle {
  min-height: 44px;
  border-radius: 10px;
}
.nav-sticky .nav-auth-btn { padding-inline: 14px; }
.nav-sticky .lang-toggle {
  padding: 0 10px;
  border: 1px solid transparent;
  color: var(--evx-subheading) !important;
}
.nav-sticky .lang-toggle:hover {
  border-color: var(--evx-border-strong) !important;
  background: var(--evx-surface) !important;
}

#overview {
  min-height: 0;
  padding-top: clamp(7rem, 12vh, 9.5rem);
  padding-bottom: clamp(5rem, 10vh, 8rem);
  background:
    radial-gradient(circle at 12% 18%, rgba(217, 119, 87, .13), transparent 28%),
    radial-gradient(circle at 88% 48%, rgba(120, 140, 93, .10), transparent 26%),
    var(--evx-page) !important;
}
#overview > .orb { opacity: .12; filter: blur(96px); }
.hero-dot-grid { position:absolute; inset:0; z-index:0; pointer-events:none; opacity:.36; background-image: radial-gradient(circle at var(--dot-x, 50%) var(--dot-y, 42%), rgba(189,106,75,.34) 0 1px, transparent 2px), radial-gradient(circle, rgba(120,110,100,.16) 0 1px, transparent 1.5px); background-size: 180px 180px, 24px 24px; background-position: var(--dot-x, 50%) var(--dot-y, 42%), 0 0; mask-image: linear-gradient(to bottom, #000 0%, rgba(0,0,0,.65) 48%, transparent 92%); transition: opacity .4s ease, background-position .7s cubic-bezier(.2,.8,.2,1); }
.hero-dot-grid::after { content:""; position:absolute; inset:0; background: radial-gradient(circle at var(--dot-x,50%) var(--dot-y,42%), rgba(223,112,72,.18), transparent 18rem); opacity:.7; transition: opacity .4s ease; }
.ai-first-hero { position:relative; z-index:1; }
.ai-first-hero .text-hero { animation: hero-heading-in .9s cubic-bezier(.2,.8,.2,1) .12s both; }
.ai-first-hero .lead { animation: hero-copy-in .8s cubic-bezier(.2,.8,.2,1) .25s both; }
.ai-first-hero .btn-primary, .ai-first-hero .btn-secondary { position:relative; overflow:hidden; }
.ai-first-hero .btn-primary::after, .ai-first-hero .btn-secondary::after { content:""; position:absolute; inset:0; background:linear-gradient(110deg, transparent 20%, rgba(255,255,255,.22) 48%, transparent 76%); transform:translateX(-120%); transition:transform .7s ease; pointer-events:none; }
.ai-first-hero .btn-primary:hover::after, .ai-first-hero .btn-secondary:hover::after { transform:translateX(120%); }
@keyframes hero-heading-in { from { opacity:0; transform:translateY(20px); filter:blur(8px); } to { opacity:1; transform:none; filter:blur(0); } }
@keyframes hero-copy-in { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:none; } }
.rb-spotlight-card { position:relative; isolation:isolate; overflow:hidden; transition:transform .28s cubic-bezier(.2,.8,.2,1), border-color .28s ease, box-shadow .28s ease !important; }
.rb-spotlight-card::before { content:""; position:absolute; inset:0; z-index:-1; pointer-events:none; opacity:0; background:radial-gradient(180px circle at var(--spot-x,50%) var(--spot-y,50%), rgba(223,112,72,.16), transparent 72%); transition:opacity .28s ease; }
.rb-spotlight-card:hover, .rb-spotlight-card:focus-within { transform:translateY(-4px); border-color:rgba(189,106,75,.42) !important; box-shadow:0 16px 34px rgba(47,38,31,.10) !important; }
.rb-spotlight-card:hover::before, .rb-spotlight-card:focus-within::before { opacity:1; }
.rb-animated-list > [data-category] { transition-delay:var(--rb-list-delay, 0ms); }
.rb-stepper-step { position:relative; transition:transform .28s ease, filter .28s ease; }
.rb-stepper-step:hover { transform:translateY(-5px); filter:drop-shadow(0 10px 18px rgba(189,106,75,.16)); }
.rb-stepper-step > div { transition:transform .28s ease, box-shadow .28s ease; }
.rb-stepper-step:hover > div { transform:scale(1.08) rotate(-2deg); box-shadow:0 8px 22px rgba(189,106,75,.15); }
.gradient-text { background-size:220% auto; -webkit-text-fill-color:transparent !important; animation:gradient-sweep 8s ease-in-out infinite alternate; }
@keyframes gradient-sweep { from { background-position:0% 50%; } to { background-position:100% 50%; } }
.rb-glare { position:relative; overflow:hidden; isolation:isolate; }
.rb-glare::before { content:""; position:absolute; inset:-80%; z-index:-1; pointer-events:none; background:linear-gradient(115deg, transparent 42%, rgba(255,255,255,.28) 50%, transparent 58%); transform:translateX(-45%) rotate(8deg); transition:transform .8s ease; }
.rb-glare:hover::before, .rb-glare:focus-visible::before { transform:translateX(45%) rotate(8deg); }
.rb-magnet { --magnet-x:0px; --magnet-y:0px; transition:transform .28s cubic-bezier(.2,.8,.2,1), box-shadow .2s ease !important; }
.rb-magnet:not(:disabled) { transform:translate3d(var(--magnet-x), var(--magnet-y), 0); }
.rb-click-spark { position:relative; overflow:hidden; }
.rb-click-spark-particle { position:absolute; width:5px; height:2px; border-radius:999px; pointer-events:none; background:rgba(255,250,247,.95); transform:translate(-50%,-50%) rotate(var(--spark-angle)); animation:rb-spark .46s cubic-bezier(.2,.8,.2,1) both; }
@keyframes rb-spark { from { opacity:1; transform:translate(-50%,-50%) rotate(var(--spark-angle)) translateX(3px); } to { opacity:0; transform:translate(-50%,-50%) rotate(var(--spark-angle)) translateX(25px); } }
.ai-first-hero { gap: clamp(2.5rem, 6vw, 6rem); }
.ai-first-hero-copy { padding-block: 1.5rem; }
.ai-first-kicker,
.hero-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  padding: .5rem .8rem;
  border: 1px solid var(--evx-accent-border);
  border-radius: 999px;
  background: var(--evx-accent-soft);
  color: var(--evx-accent-strong) !important;
  letter-spacing: .12em;
  font-size: .72rem;
  font-weight: 700;
}
.ai-first-hero .text-hero {
  max-width: 11.5ch;
  color: var(--evx-heading) !important;
  font-weight: 700;
  letter-spacing: -.055em;
  line-height: 1.01;
}
.gradient-text {
  background: linear-gradient(120deg, #9b3e2e 0%, #c65e42 56%, #dd8e5f 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: currentColor !important;
  color: var(--evx-accent) !important;
}
.ai-first-hero .lead {
  max-width: 35rem;
  color: var(--evx-subheading) !important;
  font-size: 1.06rem;
  line-height: 1.65;
}
.hero-trial-note { color: var(--evx-muted) !important; }

.btn-primary,
.auth-submit,
.workspace-new-chat,
.chat-send-button {
  min-height: 48px;
  align-items: center;
  justify-content: center;
  border-radius: 12px !important;
  background: var(--evx-accent-strong) !important;
  background-image: none !important;
  border: 1px solid var(--evx-accent-strong) !important;
  box-shadow: 0 8px 18px rgba(182, 80, 56, .20) !important;
  color: #fffaf7 !important;
  font-weight: 700;
  transition: transform .2s ease, background-color .2s ease, box-shadow .2s ease !important;
}
.btn-primary:hover,
.auth-submit:hover,
.workspace-new-chat:hover,
.chat-send-button:hover {
  transform: translateY(-2px);
  background: var(--evx-accent-strong-hover) !important;
  border-color: var(--evx-accent-strong-hover) !important;
  box-shadow: 0 12px 24px rgba(153, 66, 47, .24) !important;
}
.btn-primary:active,
.auth-submit:active,
.workspace-new-chat:active,
.chat-send-button:active { transform: translateY(0); background: var(--evx-accent-strong-active) !important; }
.btn-primary:focus-visible,
.btn-secondary:focus-visible,
.nav-auth-btn:focus-visible,
.lang-toggle:focus-visible,
.filter-btn:focus-visible,
[data-tool]:focus-visible {
  outline: 3px solid rgba(182, 80, 56, .35) !important;
  outline-offset: 3px;
}
.btn-primary:disabled,
.btn-primary[aria-disabled="true"] { opacity: .52; transform: none; box-shadow: none !important; }

.btn-secondary,
.btn-ghost,
.nav-auth-btn {
  min-height: 48px;
  align-items: center;
  justify-content: center;
  border-radius: 12px !important;
  background: rgba(255, 255, 255, .72) !important;
  border: 1px solid #d8b4a7 !important;
  color: #7e3526 !important;
  font-weight: 700;
  transition: transform .2s ease, background-color .2s ease, border-color .2s ease !important;
}
.btn-secondary:hover,
.btn-ghost:hover,
.nav-auth-btn:hover {
  transform: translateY(-2px);
  background: var(--evx-accent-soft) !important;
  border-color: var(--evx-accent) !important;
  color: var(--evx-accent-strong) !important;
}

.ai-first-demo {
  border: 1px solid rgba(217, 214, 201, .95) !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, .9) !important;
  box-shadow: 0 24px 60px rgba(53, 44, 35, .14), 0 2px 8px rgba(53, 44, 35, .06) !important;
}
.ai-first-demo::before {
  background: radial-gradient(circle at 10% 0%, rgba(217, 119, 87, .12), transparent 42%);
}
.ai-first-demo-bar {
  border-bottom-color: var(--evx-border) !important;
  color: var(--evx-muted) !important;
}
.ai-first-demo .evo-input,
.ai-first-demo textarea {
  background: var(--evx-surface-raised) !important;
  border-color: var(--evx-border-strong) !important;
  color: var(--evx-text) !important;
}
.ai-first-flow-step {
  border-color: var(--evx-border) !important;
  background: rgba(255, 255, 255, .78) !important;
  box-shadow: 0 8px 20px rgba(53, 44, 35, .05) !important;
}
.ai-first-flow-step.is-active {
  border-color: var(--evx-accent-light) !important;
  background: var(--evx-accent-soft) !important;
  box-shadow: 0 0 0 1px rgba(217, 119, 87, .10), 0 10px 24px rgba(182, 80, 56, .09) !important;
}
.ai-first-flow-step span { color: var(--evx-accent-strong) !important; }
.ai-first-flow-step strong { color: var(--evx-heading) !important; }
.ai-first-flow-step small { color: var(--evx-muted) !important; }
.ai-first-flow-line { background: linear-gradient(90deg, var(--evx-accent-light), var(--evx-border)); }
.demo-starters-label { color: var(--evx-muted) !important; }
.demo-starter {
  border-color: var(--evx-border-strong) !important;
  background: var(--evx-surface) !important;
  color: var(--evx-subheading) !important;
}
.demo-starter:hover { border-color: var(--evx-accent) !important; background: var(--evx-accent-soft) !important; color: var(--evx-accent-strong) !important; }

#how-it-works,
#about,
#tools,
#value,
#access,
#infrastructure {
  border-top: 1px solid rgba(232, 230, 220, .9);
}
.text-section,
#tools h2,
#how-it-works h2,
#about h2,
#value h2,
#access h2,
#infrastructure h2 {
  color: var(--evx-heading) !important;
  letter-spacing: -.035em;
}
#tools .filter-btn {
  min-height: 44px;
  border-radius: 999px !important;
  background: var(--evx-surface) !important;
  border-color: var(--evx-border-strong) !important;
  color: var(--evx-subheading) !important;
  font-weight: 600;
}
#tools .filter-btn:hover { border-color: var(--evx-accent) !important; color: var(--evx-accent-strong) !important; }
#tools .filter-btn.active {
  background: var(--evx-accent-strong) !important;
  border-color: var(--evx-accent-strong) !important;
  color: #fffaf7 !important;
  box-shadow: 0 5px 12px rgba(182, 80, 56, .18);
}
#tools .evo-card,
#how-it-works .evo-card,
#value .trust-card,
#about .compare-card,
#infrastructure .infra-card {
  border-radius: var(--evx-card-radius) !important;
  background: var(--evx-surface) !important;
  box-shadow: 0 10px 26px rgba(53, 44, 35, .055) !important;
}
#tools .evo-card { min-height: 278px; transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease; }
#tools .evo-card:hover {
  transform: translateY(-4px);
  border-color: var(--evx-accent-light) !important;
  box-shadow: 0 18px 36px rgba(53, 44, 35, .10) !important;
}
#tools .tool-cta-soon {
  min-height: 44px;
  border: 1px solid var(--evx-border) !important;
  border-radius: 999px !important;
  background: #f5f3ed !important;
  color: var(--evx-muted) !important;
  opacity: 1;
}
#tools .tool-cta-soon:hover { transform: none; border-color: var(--evx-border-strong) !important; }
#tools .jsonlab-tool-card span:last-child,
#tools [data-tool="compare"] span:last-child { color: var(--evx-accent-strong) !important; }

@media (max-width: 900px) {
  #overview { padding-top: 6rem; padding-bottom: 4rem; }
  .ai-first-hero .text-hero { max-width: 13ch; }
}
@media (max-width: 640px) {
  #overview { padding-top: 5.5rem; padding-bottom: 3.5rem; }
  .ai-first-hero-copy { padding-block: .5rem; }
  .ai-first-hero .lead { font-size: 1rem; }
  .ai-first-demo { border-radius: 16px !important; }
  #tools .evo-card { min-height: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .btn-primary, .btn-secondary, .btn-ghost, .nav-auth-btn, #tools .evo-card { transition: none !important; }
}


/* EMIREVOX v64.1 — resolve legacy ID specificity on landing CTAs */
#try-emirevox-btn,
#try-emirevox-btn-nav,
#try-emirevox-btn-mobile {
  background: var(--evx-accent-strong) !important;
  background-image: none !important;
  border: 1px solid var(--evx-accent-strong) !important;
  color: #fffaf7 !important;
  box-shadow: 0 8px 18px rgba(182, 80, 56, .20) !important;
}
#try-emirevox-btn:hover,
#try-emirevox-btn-nav:hover,
#try-emirevox-btn-mobile:hover {
  background: var(--evx-accent-strong-hover) !important;
  border-color: var(--evx-accent-strong-hover) !important;
  color: #fffaf7 !important;
  box-shadow: 0 12px 24px rgba(153, 66, 47, .24) !important;
  transform: translateY(-2px);
}
#how-it-works-btn {
  background: rgba(255, 255, 255, .72) !important;
  background-image: none !important;
  border: 1px solid #d8b4a7 !important;
  color: #7e3526 !important;
  box-shadow: none !important;
}
#how-it-works-btn:hover {
  background: var(--evx-accent-soft) !important;
  border-color: var(--evx-accent) !important;
  color: var(--evx-accent-strong) !important;
  transform: translateY(-2px);
}

/* EMIREVOX v65 — reference-led mobile drawer and tighter phone rhythm. */
.mobile-menu {
  background: var(--evx-page) !important;
  border-left: 0 !important;
  padding: calc(1.15rem + env(safe-area-inset-top)) max(1.25rem, env(safe-area-inset-right)) calc(1rem + env(safe-area-inset-bottom)) max(1.25rem, env(safe-area-inset-left));
  align-items: stretch;
  gap: 0;
}
.mobile-menu-header {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: space-between;
  min-height: 2.75rem;
}
.mobile-menu-logo {
  color: var(--evx-heading) !important;
  font-family: 'Space Grotesk', 'Inter', sans-serif;
  font-size: 1.02rem;
  font-weight: 500;
  letter-spacing: .28em;
  line-height: 1;
  text-decoration: none !important;
}
.mobile-menu-close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: var(--evx-heading) !important;
}
.mobile-menu-close:hover { background: var(--evx-hover); }
.mobile-menu-links {
  width: min(100%, 28rem);
  margin: clamp(1.8rem, 5vh, 3rem) auto 0;
}
.mobile-link.mobile-link--indexed {
  display: grid;
  grid-template-columns: 2.1rem 2.7rem minmax(0, 1fr) 1.25rem;
  gap: .85rem;
  align-items: center;
  width: 100%;
  min-height: 4.5rem;
  color: var(--evx-heading) !important;
  font-size: clamp(1.18rem, 4.2vw, 1.42rem);
  font-weight: 500;
  letter-spacing: -.025em;
  line-height: 1.2;
  text-decoration: none;
}
.mobile-link.mobile-link--indexed:hover { color: var(--evx-accent-strong) !important; }
.mobile-link-index {
  color: var(--evx-muted);
  font-family: 'Space Grotesk', 'Inter', sans-serif;
  font-size: .73rem;
  font-weight: 500;
  letter-spacing: .02em;
}
.mobile-link-rule {
  width: 100%;
  height: 1px;
  background: var(--evx-border-strong);
}
.mobile-link-arrow {
  width: 1.15rem;
  height: 1.15rem;
  color: var(--evx-heading);
  stroke-width: 1.45;
}
.mobile-menu-actions {
  width: min(100%, 28rem);
  margin: 1.35rem auto 0;
  padding-top: 1.55rem;
  border-top: 1px solid var(--evx-border-strong);
}
.mobile-menu-actions > button {
  width: 100%;
  min-height: 3.7rem;
  border-radius: 12px !important;
  font-size: 1.03rem;
}
.mobile-menu-actions > #try-emirevox-btn-mobile { order: 1; }
.mobile-menu-actions > #auth-nav-btn-mobile { order: 2; }
.mobile-menu-footer {
  display: flex;
  width: min(100%, 28rem);
  align-items: center;
  justify-content: space-between;
  margin: auto auto 0;
  padding-top: 1.2rem;
  border-top: 1px solid var(--evx-border-strong);
}
.mobile-menu-footer .lang-toggle--mobile {
  display: inline-flex;
  min-height: 2.75rem;
  align-items: center;
  gap: .62rem;
  padding: 0;
  border: 0 !important;
  background: transparent !important;
  color: var(--evx-heading) !important;
  font-family: 'Inter', sans-serif;
  font-size: .98rem;
  font-weight: 500;
}
.mobile-menu-footer .lang-toggle--mobile svg { width: 1.35rem; height: 1.35rem; stroke-width: 1.45; }
.mobile-menu-footer .lang-toggle--mobile svg:last-child { width: 1rem; height: 1rem; }
.mobile-theme-mark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  color: var(--evx-heading);
}
.mobile-theme-mark svg { width: 1.35rem; height: 1.35rem; stroke-width: 1.45; }

@media (max-width: 640px) {
  #overview { padding-top: 4.25rem !important; padding-bottom: 2.25rem !important; }
  .ai-first-hero { gap: 1.55rem !important; }
  .ai-first-hero-copy { padding-block: .25rem !important; }
  .ai-first-hero .text-hero { max-width: 15ch; }
  .ai-first-demo { width: calc(100% + .5rem); margin-inline: -.25rem; }
  #tools .evo-card, #how-it-works .evo-card, #value .trust-card, #about .compare-card { width: 100%; }
  .mobile-menu-links { margin-top: 1.8rem; }
}
@media (max-height: 760px) and (max-width: 640px) {
  .mobile-menu-links { margin-top: 1.15rem; }
  .mobile-link.mobile-link--indexed { min-height: 3.8rem; }
  .mobile-menu-actions { margin-top: .9rem; padding-top: 1rem; }
  .mobile-menu-actions > button { min-height: 3.25rem; }
}

/* EMIREVOX v66 — unify warm landing palette accents. */
.ai-first-demo-dot {
  background: var(--evx-accent-strong) !important;
  box-shadow: 0 0 14px rgba(182, 80, 56, .48) !important;
}
#how-it-works .evo-card .text-evo-blue,
#how-it-works .evo-card .text-evo-violet {
  color: var(--evx-accent-strong) !important;
}
#how-it-works .evo-card .bg-evo-blue\/10,
#how-it-works .evo-card .bg-evo-violet\/10 {
  background-color: var(--evx-accent-soft) !important;
}

/* EMIREVOX v67 — give comparison panels room for long answers. */
#about .compare-card {
  border: 1px solid var(--evx-border) !important;
  overflow: hidden;
}
#about .compare-card > .space-y-4 > div {
  padding: 1.25rem !important;
}
@media (min-width: 768px) {
  #about .compare-card > .space-y-4 > div {
    padding: 1.5rem !important;
  }
}
@media (max-width: 640px) {
  #about > .max-w-6xl {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }
}

/* EMIREVOX v68 — align adaptive workspace kicker dot. */
.ai-first-kicker::before {
  background: var(--evx-accent-strong) !important;
  box-shadow: 0 0 0 .24rem rgba(182, 80, 56, .12) !important;
}

/* EMIREVOX v69 — loosen comparison answer panels on phones. */
#about .compare-card > .space-y-4 > div {
  padding: 1.5rem !important;
}
#about .compare-card > .space-y-4 > :not([hidden]) ~ :not([hidden]) {
  margin-top: 1.25rem !important;
}
@media (max-width: 640px) {
  #about > .max-w-6xl {
    padding-left: .5rem !important;
    padding-right: .5rem !important;
  }
}


/* Theme controls — keep appearance settings in the mobile menu. */
.theme-control { position: relative; }
.theme-toggle {
  display: inline-flex;
  align-items: center;
  gap: .58rem;
  min-height: 2.75rem;
  padding: 0;
  border: 0 !important;
  background: transparent !important;
  color: var(--evx-heading) !important;
  font: 500 .98rem/1.2 'Inter', sans-serif;
  cursor: pointer;
}
.theme-toggle svg:first-child { width: 1.3rem; height: 1.3rem; stroke-width: 1.45; }
.theme-toggle svg:last-child { width: 1rem; height: 1rem; stroke-width: 1.45; }
.theme-toggle:hover { color: var(--evx-accent) !important; }
.theme-menu {
  position: absolute;
  right: 0;
  bottom: calc(100% + .6rem);
  z-index: 20;
  min-width: 12rem;
  padding: .4rem;
  border: 1px solid var(--evx-border);
  border-radius: .8rem;
  background: var(--evx-surface-raised);
  box-shadow: var(--evx-shadow-raised);
}
.theme-menu.hidden { display: none !important; }
.theme-menu::after {
  position: absolute;
  right: 1rem;
  bottom: -.35rem;
  width: .6rem;
  height: .6rem;
  border-right: 1px solid var(--evx-border);
  border-bottom: 1px solid var(--evx-border);
  background: var(--evx-surface-raised);
  content: '';
  transform: rotate(45deg);
}
.theme-option {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  min-height: 2.4rem;
  padding: .55rem .7rem;
  border: 0 !important;
  border-radius: .55rem;
  background: transparent !important;
  color: var(--evx-subheading) !important;
  font: 500 .88rem/1.2 'Inter', sans-serif;
  text-align: left;
  cursor: pointer;
}
.theme-option:hover,
.theme-option.is-selected { background: var(--evx-accent-soft) !important; color: var(--evx-heading) !important; }
.theme-option.is-selected { box-shadow: inset 2px 0 0 var(--evx-accent); }
.theme-option-indicator { color: var(--evx-accent); font-size: .85rem; opacity: 0; }
.theme-option.is-selected .theme-option-indicator { opacity: 1; }
[data-theme="dark"] .nav-sticky,
[data-theme="dark"] .navbar-scrolled { background: rgba(16, 16, 15, .94) !important; box-shadow: 0 1px 0 rgba(0, 0, 0, .3); }
[data-theme="dark"] .theme-menu::after { background: var(--evx-surface-raised); }

/* EMIREVOX UI consistency pass — compact mobile surfaces and one product voice. */
:root { --evx-ui-font: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; }

body,
body button,
body input,
body textarea,
body select,
body h1,
body h2,
body h3,
body h4,
body h5,
body h6,
body p,
body li,
body label,
body small,
body a,
body strong,
body b,
body .font-display,
body .font-mono,
body .text-hero,
body .mobile-menu,
body .mobile-menu *,
body.workspace-page .workspace-topbar,
body.workspace-page .workspace-topbar *,
body.workspace-page .workspace-shell,
body.workspace-page .workspace-shell * {
  font-family: var(--evx-ui-font) !important;
}

/* Keep actual code and terminal output readable as code. */
body code,
body pre,
body kbd,
body samp,
body .cli-output,
body .terminal-output,
body .markdown-body code,
body .code-editor,
body .code-editor textarea,
body.workspace-page code,
body.workspace-page pre {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', monospace !important;
}

/* The landing demo should read as one compact tool, not a stack of oversized cards. */
.ai-first-demo > .evo-card {
  padding: 1.15rem !important;
  border-radius: 1rem !important;
}
.ai-first-demo > .evo-card > .flex.items-center {
  margin-bottom: .85rem !important;
}
.ai-first-demo .demo-step > .pl-11 {
  padding-left: 2.5rem !important;
}
.ai-first-demo #step-result-content {
  padding: .85rem !important;
  border-radius: .75rem !important;
}

/* Comparison answers: tighter rhythm, same hierarchy on both sides. */
#about .compare-card > .space-y-4 > div {
  padding: 1rem !important;
}
#about .compare-card > .space-y-4 > :not([hidden]) ~ :not([hidden]) {
  margin-top: .75rem !important;
}
#about .compare-card {
  border-radius: 1rem !important;
}

/* Registration should feel like a form, not a full-screen sheet. */
.auth-dialog {
  max-width: 32rem !important;
  padding: 1.35rem !important;
  border-radius: 1rem !important;
}
.auth-dialog-copy { padding-right: 2.75rem !important; }
.auth-tabs {
  gap: .75rem !important;
  margin: 1.15rem 0 1.1rem !important;
  padding-bottom: .25rem !important;
}
.auth-tab {
  color: var(--evx-muted) !important;
  padding: .75rem .2rem .95rem !important;
}
.auth-tab:hover { color: var(--evx-subheading) !important; }
.auth-tab.active {
  border-color: var(--evx-accent) !important;
  color: var(--evx-accent) !important;
}
.auth-label { color: var(--evx-subheading) !important; margin-top: .85rem !important; }
.auth-help,
.auth-status,
.auth-legal,
.auth-captcha-wrap .auth-help {
  color: var(--evx-muted) !important;
}
.auth-dialog .text-evo-blue,
.auth-dialog .text-evo-violet {
  color: var(--evx-accent) !important;
}

/* Reference-inspired registration surface: calm paper card, warm CTA, and
   explicit password/security guidance without changing auth behavior. */
.auth-dialog {
  max-width: 42rem !important;
  padding: 2.15rem 2.25rem !important;
  border-radius: 1.35rem !important;
  background: #fbfaf7 !important;
  border: 1px solid #e5dfd7 !important;
  box-shadow: 0 24px 70px rgba(47, 38, 31, .16) !important;
  color: #262321 !important;
}
.auth-dialog-copy { padding-right: 2rem !important; }
.auth-close { z-index: 20 !important; pointer-events: auto !important; color: #756e67 !important; background: #fffaf5 !important; border: 1px solid #e5dfd7 !important; box-shadow: 0 4px 14px rgba(47, 38, 31, .08) !important; }
.auth-close:hover, .auth-close:focus-visible { color: #bd6a4b !important; background: #fff !important; border-color: #bd6a4b !important; transform: scale(1.05); }
.auth-dialog-copy .text-section { max-width: 22rem; color: #1f1d1b !important; font-size: clamp(2rem, 5vw, 3rem) !important; line-height: .98 !important; }
.auth-dialog-copy > p:last-child { max-width: 32rem; color: #77716b !important; font-size: 1.05rem; }
.auth-tabs { display: grid !important; grid-template-columns: 1fr 1fr; gap: 0 !important; padding: .18rem !important; margin: 1.8rem 0 1.5rem !important; border: 1px solid #e5dfd7 !important; border-radius: 999px !important; background: #f1eee9 !important; }
.auth-tab { border: 1px solid transparent !important; border-radius: 999px !important; padding: .8rem 1rem !important; color: #77716b !important; font-size: 1rem !important; }
.auth-tab.active { border-color: #bd6a4b !important; background: #fffaf5 !important; color: #bd6a4b !important; box-shadow: 0 2px 8px rgba(189, 106, 75, .08) !important; }
.auth-label { color: #69615b !important; font-size: .78rem !important; letter-spacing: .12em !important; font-weight: 700 !important; }
.auth-input-wrap { position: relative; }
.auth-input-wrap .auth-input { padding-left: 3.1rem !important; padding-right: 3.1rem !important; min-height: 3.7rem !important; border: 1px solid #d9d2c9 !important; border-radius: 1rem !important; background: #fff !important; color: #262321 !important; font-size: 1.05rem !important; }
.auth-input-wrap .auth-input { transition: border-color .24s ease, box-shadow .24s ease, background-color .24s ease, transform .24s ease !important; }
.auth-input-wrap .auth-input:focus { border-color: #bd6a4b !important; box-shadow: 0 0 0 3px rgba(189, 106, 75, .13) !important; transform: translateY(-1px); }
.auth-input-wrap .auth-input[data-valid="true"] { border-color: #55a17f !important; background: #fbfffc !important; box-shadow: 0 0 0 3px rgba(85, 161, 127, .12) !important; }
.auth-input-wrap .auth-input[data-valid="false"] { border-color: #cf6255 !important; background: #fffafa !important; box-shadow: 0 0 0 3px rgba(207, 98, 85, .10) !important; animation: auth-shake .28s ease both; }
.auth-field-icon { position: absolute; left: 1.05rem; top: 50%; z-index: 1; width: 1.25rem; height: 1.25rem; transform: translateY(-50%); color: #756e67; pointer-events: none; }
.auth-inline-icon { width: 1.35rem; height: 1.35rem; }
.auth-mail-emoji { width: auto; height: auto; color: inherit; font-family: "Apple Color Emoji", "Segoe UI Emoji", sans-serif; font-size: 1.35rem; line-height: 1; }
.auth-password-toggle { position: absolute; right: .8rem; top: 50%; z-index: 1; width: 2rem; height: 2rem; transform: translateY(-50%); color: #756e67; }
.auth-password-toggle:hover { color: #bd6a4b; }
.auth-eye-emoji { display: inline-block; font-family: "Apple Color Emoji", "Segoe UI Emoji", sans-serif; font-size: 1.2rem; line-height: 1; transition: transform .2s ease; }
.auth-password-toggle:hover .auth-eye-emoji { transform: scale(1.15); }
.auth-eye-icon { display: block; width: 1.35rem; height: 1.35rem; transition: opacity .18s ease, transform .24s cubic-bezier(.2,.8,.2,1); }
.auth-eye-icon.hidden { display: none; }
.auth-password-toggle.is-switching .auth-eye-icon:not(.hidden) { animation: auth-eye-switch .26s ease both; }
.auth-help, .auth-status, .auth-legal, .auth-captcha-wrap .auth-help { color: #77716b !important; }
.auth-password-checks { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .7rem; margin: .8rem 0 1.25rem; color: #77716b; font-size: .82rem; }
.auth-password-checks span { display: inline-flex; align-items: center; gap: .35rem; white-space: nowrap; transition: color .24s ease, transform .24s ease, opacity .24s ease; }
.auth-check-mark { display: inline-grid; place-items: center; width: 1.05rem; height: 1.05rem; flex: 0 0 1.05rem; border: 1.5px solid #c7beb6; border-radius: 999px; color: #c7beb6; font-size: .72rem; line-height: 1; font-weight: 800; transition: color .24s ease, background-color .24s ease, border-color .24s ease, transform .24s ease, box-shadow .24s ease; }
.auth-password-checks [data-valid="true"] { color: #4d8d73; transform: translateX(2px); }
.auth-password-checks [data-valid="true"] .auth-check-mark { color: #fff; border-color: #4d8d73; background: #4d8d73; box-shadow: 0 0 0 3px rgba(77, 141, 115, .12); animation: auth-pop .3s ease both; }
.auth-password-checks [data-valid="false"] { color: #b24a40; }
.auth-password-checks [data-valid="false"] .auth-check-mark { color: #cf6255; border-color: #cf6255; transform: rotate(-12deg); }
.auth-password-checks [data-valid="idle"] { opacity: .72; }
.auth-captcha-wrap { margin: 1.25rem 0 !important; padding: 1rem 1.1rem !important; border: 1px solid #e5dfd7 !important; border-radius: 1rem !important; background: #faf8f5 !important; box-shadow: 0 8px 22px rgba(47, 38, 31, .05) !important; }
.auth-security-heading { display: flex; align-items: center; gap: .75rem; min-height: 3.2rem; }
.auth-security-heading > svg { width: 2.3rem; height: 2.3rem; padding: .42rem; border-radius: 999px; background: #56a17f; color: #fff; }
.auth-security-heading .auth-label { margin: 0 !important; color: #292623 !important; letter-spacing: 0 !important; font-size: .98rem !important; }
.auth-security-brand { margin-left: auto; color: #4e4a45; font-size: .7rem; font-weight: 800; letter-spacing: .14em; }
.auth-submit.btn-primary { width: 100%; min-height: 3.65rem; margin-top: 1.1rem; border-radius: 1rem !important; background: #df7048 !important; border-color: #df7048 !important; color: #fff !important; font-size: 1.05rem; font-weight: 700; }
.auth-submit.btn-primary:hover { background: #c85d3b !important; border-color: #c85d3b !important; }
.auth-status { min-height: 1.5rem; margin-top: .9rem; font-size: .9rem; }
.auth-status--error { color: #b23f35 !important; font-weight: 600; }
.auth-status--success { color: #4d8d73 !important; font-weight: 600; }
@keyframes auth-pop { 0% { transform: scale(.65); opacity: .35; } 70% { transform: scale(1.16); } 100% { transform: scale(1); opacity: 1; } }
@keyframes auth-eye-switch { 0% { opacity: 0; transform: scale(.55) rotate(-16deg); } 65% { opacity: 1; transform: scale(1.12) rotate(5deg); } 100% { opacity: 1; transform: scale(1) rotate(0); } }
@keyframes auth-shake { 0%, 100% { transform: translateX(0); } 35% { transform: translateX(-3px); } 70% { transform: translateX(3px); } }
@keyframes auth-rise { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
.auth-dialog { animation: auth-rise .42s cubic-bezier(.2,.8,.2,1) both; }
.auth-dialog > * { animation: auth-rise .42s cubic-bezier(.2,.8,.2,1) both; }
.auth-dialog > *:nth-child(2) { animation-delay: .04s; }
.auth-dialog > *:nth-child(3) { animation-delay: .08s; }
.auth-dialog > *:nth-child(4) { animation-delay: .12s; }
.auth-dialog > *:nth-child(5) { animation-delay: .16s; }
.auth-submit.btn-primary { transition: transform .24s ease, box-shadow .24s ease, background-color .24s ease !important; }
.auth-submit.btn-primary:not(:disabled):hover { transform: translateY(-2px) !important; box-shadow: 0 10px 22px rgba(223, 112, 72, .24) !important; }
.auth-submit.btn-primary:not(:disabled):active { transform: translateY(0) scale(.99) !important; }

@media (max-width: 640px) {
  .auth-dialog { padding: 1.35rem !important; }
  .auth-dialog-copy .text-section { font-size: 2.2rem !important; }
  .auth-password-checks { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .auth-security-brand { display: none; }
}

/* Workspace cards use a quieter, denser frame on narrow screens. */
body.workspace-page .workspace-card,
body.workspace-page .workspace-panel,
body.workspace-page .workspace-flow-card,
body.workspace-page .workspace-project-strip,
body.workspace-page .chat-transcript,
body.workspace-page .chat-composer,
body.workspace-page .offline-ai-panel {
  border-radius: .85rem !important;
  box-shadow: 0 8px 24px rgba(45, 38, 74, .05) !important;
}
body.workspace-page .workspace-card,
body.workspace-page .workspace-panel,
body.workspace-page .workspace-flow-card {
  padding: 1.15rem !important;
}

@media (max-width: 640px) {
  .ai-first-demo > .evo-card { padding: .85rem !important; }
  #about .compare-card > .space-y-4 > div { padding: .85rem !important; }
  .auth-overlay { padding: .75rem !important; }
  .auth-dialog {
    max-height: calc(100dvh - 1.5rem) !important;
    padding: 1.05rem !important;
  }
  .auth-dialog-copy { padding-right: 2.35rem !important; }
  .auth-tabs { margin-top: .95rem !important; }
  body.workspace-page .workspace-card,
  body.workspace-page .workspace-panel,
  body.workspace-page .workspace-flow-card { padding: .85rem !important; }
}

/* Theme stability pass — keep Light, Dark and System readable across every surface. */
html[data-theme="light"] { color-scheme: light; }
html[data-theme="dark"] { color-scheme: dark; }

[data-theme="dark"] body,
[data-theme="dark"] body.workspace-page,
[data-theme="dark"] main,
[data-theme="dark"] section,
[data-theme="dark"] footer,
[data-theme="dark"] #overview,
[data-theme="dark"] #tools,
[data-theme="dark"] #how-it-works,
[data-theme="dark"] #about,
[data-theme="dark"] #value,
[data-theme="dark"] #access,
[data-theme="dark"] #infrastructure {
  background-color: var(--evx-page) !important;
  background-image: none !important;
  color: var(--evx-text) !important;
}

[data-theme="dark"] section + section,
[data-theme="dark"] #how-it-works,
[data-theme="dark"] #about,
[data-theme="dark"] #tools,
[data-theme="dark"] #value,
[data-theme="dark"] #access,
[data-theme="dark"] #infrastructure {
  border-top-color: var(--evx-border) !important;
}

[data-theme="dark"] .evo-card,
[data-theme="dark"] .trust-card,
[data-theme="dark"] .workspace-card,
[data-theme="dark"] .workspace-panel,
[data-theme="dark"] .workspace-flow-card,
[data-theme="dark"] .workspace-project-strip,
[data-theme="dark"] .chat-transcript,
[data-theme="dark"] .chat-composer,
[data-theme="dark"] .offline-ai-panel,
[data-theme="dark"] .code-workspace-card,
[data-theme="dark"] .code-preview-card,
[data-theme="dark"] .infra-card,
[data-theme="dark"] .compare-card,
[data-theme="dark"] .jsonlab-panel > div > .evo-card {
  background: var(--evx-surface) !important;
  border-color: var(--evx-border) !important;
  color: var(--evx-text) !important;
  box-shadow: var(--evx-shadow-raised) !important;
}

[data-theme="dark"] .ai-first-flow-step,
[data-theme="dark"] .demo-starter,
[data-theme="dark"] #tools .tool-cta-soon {
  background: var(--evx-surface) !important;
  border-color: var(--evx-border-strong) !important;
  color: var(--evx-subheading) !important;
  box-shadow: var(--evx-shadow) !important;
}
[data-theme="dark"] .ai-first-flow-step.is-active,
[data-theme="dark"] .demo-starter:hover {
  background: var(--evx-accent-soft) !important;
  border-color: var(--evx-accent-light) !important;
  color: var(--evx-text) !important;
}
[data-theme="dark"] .ai-first-demo .evo-input,
[data-theme="dark"] .ai-first-demo textarea,
[data-theme="dark"] .evo-input {
  background: var(--evx-surface-raised) !important;
  border-color: var(--evx-border-strong) !important;
  color: var(--evx-text) !important;
}
[data-theme="dark"] .ai-first-demo #step-result-content {
  background: var(--evx-surface-raised) !important;
  border-color: var(--evx-border) !important;
}

[data-theme="dark"] body.workspace-page .workspace-topbar {
  background: rgba(16, 16, 15, .92) !important;
  border-bottom-color: var(--evx-border) !important;
}
[data-theme="dark"] body.workspace-page .workspace-sidebar,
[data-theme="dark"] body.workspace-page .workspace-sidebar.open {
  background: var(--evx-surface) !important;
  border-color: var(--evx-border) !important;
}
[data-theme="dark"] body.workspace-page .workspace-eyebrow,
[data-theme="dark"] body.workspace-page .workspace-history-label,
[data-theme="dark"] body.workspace-page .workspace-trust-note,
[data-theme="dark"] body.workspace-page .workspace-view-lead,
[data-theme="dark"] body.workspace-page .workspace-project-strip-label,
[data-theme="dark"] body.workspace-page .agent-progress-kicker,
[data-theme="dark"] body.workspace-page .workspace-flow-steps span,
[data-theme="dark"] body.workspace-page .workspace-flow-copy p,
[data-theme="dark"] body.workspace-page .chat-empty p,
[data-theme="dark"] body.workspace-page .chat-composer-note,
[data-theme="dark"] body.workspace-page .offline-ai-help,
[data-theme="dark"] body.workspace-page .offline-ai-status,
[data-theme="dark"] body.workspace-page .agent-phase-label {
  color: var(--evx-muted) !important;
}
[data-theme="dark"] body.workspace-page .workspace-sidebar-title,
[data-theme="dark"] body.workspace-page .workspace-view-title,
[data-theme="dark"] body.workspace-page .workspace-mobile-title,
[data-theme="dark"] body.workspace-page .workspace-project-strip-title,
[data-theme="dark"] body.workspace-page .chat-workspace-head h2,
[data-theme="dark"] body.workspace-page .workspace-flow-copy h3,
[data-theme="dark"] body.workspace-page .workspace-card strong,
[data-theme="dark"] body.workspace-page .workspace-card h3 {
  color: var(--evx-heading) !important;
}
[data-theme="dark"] body.workspace-page .chat-bubble--assistant,
[data-theme="dark"] body.workspace-page .chat-bubble--agent {
  background: var(--evx-active) !important;
  border-color: var(--evx-border) !important;
  color: var(--evx-text) !important;
}
[data-theme="dark"] body.workspace-page .chat-bubble--user {
  background: var(--evx-accent) !important;
  color: #fffaf7 !important;
}

[data-theme="dark"] .auth-overlay { background: rgba(0, 0, 0, .58) !important; }
[data-theme="dark"] .auth-dialog {
  background: var(--evx-surface) !important;
  border-color: var(--evx-border) !important;
  color: var(--evx-text) !important;
}
[data-theme="dark"] .auth-dialog-copy .text-section { color: #fffaf5 !important; }
[data-theme="dark"] .auth-dialog-copy > p:last-child { color: #b9b0a7 !important; }
[data-theme="dark"] .auth-close {
  background: var(--evx-surface-raised) !important;
  border-color: var(--evx-border) !important;
  color: var(--evx-text) !important;
}
[data-theme="dark"] .auth-tabs { border-color: #403b37 !important; background: #24211f !important; }
[data-theme="dark"] .auth-tab { color: var(--evx-muted) !important; }
[data-theme="dark"] .auth-tab.active { color: #f0a17f !important; border-color: #d87956 !important; background: #302724 !important; }
[data-theme="dark"] .auth-label { color: #d8cec4 !important; }
[data-theme="dark"] .auth-input-wrap .auth-input { background: #211f1d !important; border-color: #4b4540 !important; color: #fffaf5 !important; }
[data-theme="dark"] .auth-input-wrap .auth-input::placeholder { color: #8f8881 !important; }
[data-theme="dark"] .auth-input-wrap .auth-input:focus { border-color: #d87956 !important; box-shadow: 0 0 0 3px rgba(216, 121, 86, .2) !important; }
[data-theme="dark"] .auth-field-icon, [data-theme="dark"] .auth-password-toggle { color: #c8beb5 !important; }
[data-theme="dark"] .auth-help,
[data-theme="dark"] .auth-status,
[data-theme="dark"] .auth-legal { color: var(--evx-muted) !important; }
[data-theme="dark"] .auth-password-checks { color: #aaa19a !important; }
[data-theme="dark"] .auth-password-checks [data-valid="true"] { color: #76c49c !important; }
[data-theme="dark"] .auth-password-checks [data-valid="false"] { color: #f08a7c !important; }
[data-theme="dark"] .auth-captcha-wrap { background: #211f1d !important; border-color: #4b4540 !important; }
[data-theme="dark"] .auth-security-heading .auth-label { color: #fffaf5 !important; }
[data-theme="dark"] .auth-security-brand { color: #c8beb5 !important; }
[data-theme="dark"] .auth-status--error { color: #ff9a8d !important; }
[data-theme="dark"] .auth-status--success { color: #82d2a6 !important; }

[data-theme="light"] body.workspace-page .workspace-card,
[data-theme="light"] body.workspace-page .workspace-panel,
[data-theme="light"] body.workspace-page .workspace-flow-card,
[data-theme="light"] body.workspace-page .chat-transcript,
[data-theme="light"] body.workspace-page .chat-composer {
  background: var(--evx-surface) !important;
  border-color: var(--evx-border) !important;
  color: var(--evx-text) !important;
}

/* User-supplied mark replaces the text wordmark across all surfaces. */
.emirevox-mark-logo { display: block; width: auto; height: 2.2rem; object-fit: contain; }
.emirevox-mark-logo--nav { height: 2.15rem; }
.emirevox-mark-logo--mobile { height: 2.7rem; }
.emirevox-mark-logo--workspace { height: 2.25rem; }
.emirevox-mark-logo--legal { height: 2rem; }
.emirevox-mark-logo--offline { height: 8rem; margin: 0 auto; }

/* Keep the supplied white mark visible on both landing themes and over legacy nav rules. */
.emirevox-nav-brand,
.mobile-menu-logo { position: relative; display: inline-flex; align-items: center; justify-content: center; }
.emirevox-nav-brand::before,
.mobile-menu-logo::before {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--evx-text);
  -webkit-mask: url("/assets/emirevox-mark.png") center / contain no-repeat;
  mask: url("/assets/emirevox-mark.png") center / contain no-repeat;
  pointer-events: none;
}
.emirevox-nav-brand .emirevox-mark-logo,
.mobile-menu-logo .emirevox-mark-logo { opacity: 0; }
.emirevox-nav-brand { width: 2.15rem; height: 2.15rem; }
.mobile-menu-logo { width: 2.7rem; height: 2.7rem; }

/* Final theme boundary: legacy landing rules must not leak across themes. */
[data-theme="light"] .ai-first-hero .lead,
[data-theme="light"] .ai-first-flow-step small,
[data-theme="light"] .demo-starters-label,
[data-theme="light"] .workspace-project-strip-status {
  color: var(--evx-subheading) !important;
}
[data-theme="light"] .ai-first-flow-step {
  background: var(--evx-surface) !important;
  border-color: var(--evx-border) !important;
  box-shadow: var(--evx-shadow-raised) !important;
}
[data-theme="light"] .ai-first-flow-step.is-active {
  background: var(--evx-accent-soft) !important;
  border-color: var(--evx-accent-light) !important;
}
[data-theme="light"] .ai-first-flow-step strong {
  color: var(--evx-heading) !important;
}
[data-theme="light"] .ai-first-flow-step span {
  color: var(--evx-accent-strong) !important;
}
[data-theme="light"] .ai-first-flow-line {
  background: var(--evx-border-strong) !important;
}
[data-theme="light"] body,
[data-theme="light"] #overview,
[data-theme="light"] #value,
[data-theme="light"] #tools,
[data-theme="light"] #how-it-works,
[data-theme="light"] #about,
[data-theme="light"] #access,
[data-theme="light"] #infrastructure {
  background-color: var(--evx-page) !important;
  background-image: none !important;
  color: var(--evx-text) !important;
}
[data-theme="dark"] .gradient-text {
  color: var(--evx-accent-light) !important;
  -webkit-text-fill-color: currentColor !important;
}
[data-theme="dark"] .mobile-menu,
[data-theme="dark"] .mobile-menu-header,
[data-theme="dark"] .mobile-menu-links,
[data-theme="dark"] .mobile-menu-actions,
[data-theme="dark"] .mobile-menu-footer {
  background-color: var(--evx-page) !important;
  color: var(--evx-text) !important;
  border-color: var(--evx-border) !important;
}
[data-theme="dark"] .mobile-link.mobile-link--indexed,
[data-theme="dark"] .mobile-link-arrow,
[data-theme="dark"] .mobile-menu-close,
[data-theme="dark"] .mobile-menu-footer .lang-toggle--mobile,
[data-theme="dark"] .theme-toggle {
  color: var(--evx-heading) !important;
}
[data-theme="dark"] .mobile-link-index {
  color: var(--evx-muted) !important;
}
[data-theme="dark"] .mobile-link-rule {
  background: var(--evx-border-strong) !important;
}

/* Intent Engine v2 — compact hierarchy, explicit states, responsive sheet. */
.ai-first-demo > .evo-card { max-width: 720px; max-height: calc(100dvh - 64px); overflow-y: auto; padding: 24px !important; border-radius: 22px !important; }
.demo-engine-header { display:flex; align-items:center; justify-content:space-between; min-height:32px; margin-bottom:24px; }
.demo-engine-title { color:var(--evx-muted); font:500 .82rem/1.2 var(--evx-ui-font); letter-spacing:.02em; }
.demo-close { display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; margin:-6px -6px -6px 0; border:0; border-radius:999px; background:transparent; color:var(--evx-heading); font-size:1.7rem; line-height:1; cursor:pointer; }
.demo-close:hover,.demo-close:focus-visible { background:var(--evx-hover); outline:2px solid var(--evx-accent); outline-offset:2px; }
.demo-intro h2 { margin:0; color:var(--evx-heading); font-size:clamp(1.4rem,3vw,1.75rem); font-weight:700; letter-spacing:-.03em; }
.demo-intro > p { max-width:36rem; margin:8px 0 16px; color:var(--evx-subheading); font-size:.92rem; line-height:1.5; }
.demo-input { min-height:62px; padding:0 56px 0 16px !important; border-radius:15px !important; font:400 1rem/1.4 var(--evx-ui-font) !important; }
.demo-input:focus { box-shadow:0 0 0 3px var(--evx-accent-soft) !important; }
.demo-send { position:absolute; right:8px; top:50%; display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; transform:translateY(-50%); border:0; border-radius:12px; background:var(--evx-accent); color:#fffaf7; cursor:pointer; opacity:.72; transition:transform .15s ease,opacity .15s ease,background .2s ease; }
.demo-send:not(:disabled) { opacity:1; }
.demo-send:hover,.demo-send:focus-visible { background:var(--evx-accent-strong); transform:translateY(-50%) scale(1.03); outline:2px solid var(--evx-accent-soft); outline-offset:2px; }
.demo-send:disabled { cursor:wait; }
.demo-send.demo-send--exhausted,
.demo-send.demo-send--exhausted:hover { cursor:not-allowed; opacity:.28 !important; filter:grayscale(1); transform:translateY(-50%) !important; box-shadow:none !important; outline:none !important; }
.demo-security-note { margin:10px 0 0; color:var(--evx-muted); font-size:.78rem; line-height:1.45; }
.guest-trial-note { display:flex !important; align-items:flex-start !important; flex-wrap:nowrap !important; justify-content:flex-start !important; gap:8px !important; min-height:0 !important; margin-top:6px !important; padding:6px 10px !important; border:1px solid var(--evx-border); border-radius:14px; background:var(--evx-surface); color:var(--evx-heading); }
.guest-trial-note > span:last-child { display:flex; flex:1 1 auto; min-width:0; flex-direction:column; gap:0 !important; }
.guest-trial-note strong { font-size:.9rem; font-weight:650; }
.guest-trial-note small { color:var(--evx-muted); font-size:.78rem; }
.demo-free-icon { color:var(--evx-accent); font-size:1.2rem; line-height:1.35; margin-top:0; }
.demo-starters { display:flex; flex-wrap:wrap; gap:8px; margin-top:20px; }
.demo-starters-label { width:100%; margin-bottom:2px; color:var(--evx-subheading) !important; font-size:.82rem; letter-spacing:0; text-transform:none; }
.demo-starter { min-height:48px; padding:10px 13px; border:1px solid var(--evx-border) !important; border-radius:13px !important; background:transparent !important; color:var(--evx-heading) !important; font:500 .86rem/1.2 var(--evx-ui-font) !important; }
.demo-starter:hover,.demo-starter:focus-visible { border-color:var(--evx-accent) !important; background:var(--evx-accent-soft) !important; color:var(--evx-accent-strong) !important; outline:2px solid var(--evx-accent-soft); outline-offset:2px; }
.demo-feedback { display:flex; align-items:flex-start; gap:12px; margin-top:20px; padding:14px; border:1px solid var(--evx-border); border-radius:14px; background:var(--evx-surface-raised); color:var(--evx-subheading); }
.demo-feedback-icon { flex:0 0 10px; width:10px; height:10px; margin-top:6px; border-radius:50%; background:var(--evx-accent); box-shadow:0 0 0 5px var(--evx-accent-soft); }
.demo-feedback-copy { min-width:0; }
.demo-feedback-copy strong { display:block; color:var(--evx-heading); font-size:.9rem; font-weight:650; }
.demo-feedback-copy p { margin:4px 0 10px; color:var(--evx-subheading); font-size:.82rem; line-height:1.45; }
.demo-feedback-action { min-height:36px; padding:7px 11px; border:1px solid var(--evx-border); border-radius:10px; background:transparent; color:var(--evx-accent-strong); font:600 .78rem/1.2 var(--evx-ui-font); cursor:pointer; }
.demo-feedback-action:hover,.demo-feedback-action:focus-visible { border-color:var(--evx-accent); background:var(--evx-accent-soft); outline:2px solid var(--evx-accent-soft); outline-offset:2px; }
.demo-feedback[data-state="loading"] { border-color:var(--evx-accent-soft); }
.demo-feedback[data-state="loading"] .demo-feedback-icon { animation:demo-feedback-pulse 1s ease-in-out infinite; }
.demo-feedback[data-state="success"] { border-color:rgba(77,155,114,.4); }
.demo-feedback[data-state="success"] .demo-feedback-icon { background:#4d9b72; box-shadow:0 0 0 5px rgba(77,155,114,.14); }
.demo-feedback[data-state="error"] { border-color:rgba(200,90,82,.45); }
.demo-feedback[data-state="error"] .demo-feedback-icon { background:#c85a52; box-shadow:0 0 0 5px rgba(200,90,82,.14); }
@keyframes demo-feedback-pulse { 50% { opacity:.35; transform:scale(.72); } }
.demo-flow { display:flex; flex-direction:column; gap:12px; margin-top:20px; padding-top:20px; border-top:1px solid var(--evx-border); }
.demo-step { display:none; margin:0 !important; padding:14px 0; border:0; background:transparent; opacity:0; transform:translateY(8px); }
.demo-step.active { display:block; animation:demo-state-in .22s ease forwards; }
.demo-state-heading,.demo-result-heading { display:flex; align-items:center; gap:12px; }
.demo-state-heading > svg,.demo-result-heading > svg { width:20px; height:20px; color:var(--evx-accent); stroke-width:1.6; }
.demo-state-heading span { display:flex; flex-direction:column; gap:3px; min-width:0; }
.demo-state-heading small { color:var(--evx-muted); font-size:.72rem; text-transform:uppercase; letter-spacing:.08em; }
.demo-state-heading strong { color:var(--evx-heading); font-size:.96rem; font-weight:600; overflow-wrap:anywhere; }
.demo-state-body { padding-left:32px; }
.demo-state-body > p { margin:0 0 10px; color:var(--evx-subheading); font-size:.86rem; }
.demo-status-pill { display:inline-flex; align-items:center; min-height:30px; padding:5px 10px; border:1px solid var(--evx-accent-soft); border-radius:999px; background:var(--evx-accent-soft); color:var(--evx-accent-strong); font-size:.76rem; }
.demo-result-heading { margin-bottom:10px; color:var(--evx-heading); font-size:.96rem; font-weight:650; }
.demo-result-heading > svg { color:#4d9b72; }
.demo-result-content { padding:14px; border:1px solid var(--evx-border); border-radius:14px; background:var(--evx-surface); color:var(--evx-subheading); font-size:.88rem; line-height:1.6; overflow-wrap:anywhere; }
@keyframes demo-state-in { to { opacity:1; transform:translateY(0); } }
@media (max-width:640px) {
  .ai-first-demo > .evo-card { width:calc(100% - 24px); max-height:calc(100dvh - 24px); margin-inline:auto; padding:16px !important; border-radius:24px !important; }
  .demo-engine-header { margin-bottom:20px; }
  .demo-intro h2 { font-size:1.45rem; }
  .demo-intro > p { font-size:.86rem; }
  .demo-input { min-height:58px; }
  .demo-starter { flex:1 1 calc(50% - 4px); }
  .demo-starter:last-child { flex-basis:100%; }
}
@media (prefers-reduced-motion: reduce) { .demo-step,.demo-step.active,.demo-send { animation:none; transition:none; transform:none; } }
@media (prefers-reduced-motion: reduce) { .hero-dot-grid, .ai-first-hero .text-hero, .ai-first-hero .lead { animation:none !important; transition:none !important; } }
@media (prefers-reduced-motion: reduce) { .rb-spotlight-card, .rb-stepper-step, .gradient-text { animation:none !important; transition:none !important; transform:none !important; } }
@media (prefers-reduced-motion: reduce) { .rb-glare::before, .rb-click-spark-particle { display:none !important; } .rb-magnet { transform:none !important; transition:none !important; } }
@media (max-width: 720px) { .rb-magnet { transform:none !important; } }
[data-theme="dark"] .guest-trial-note,[data-theme="dark"] .demo-result-content { background:var(--evx-surface-raised); }

/* The supplied mark is white artwork; invert it only on light surfaces. */
[data-theme="light"] .emirevox-mark-logo {
  filter: brightness(0) saturate(100%);
}

/* Comparison section — one container per side, aligned marks, restrained rhythm. */
#about .comparison-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; }
#about .compare-card { padding:20px; border:1px solid var(--evx-border); border-radius:26px; background:var(--evx-surface); box-shadow:none; }
#about .compare-heading { display:flex; align-items:center; gap:14px; margin-bottom:20px; color:var(--evx-subheading); font-size:.88rem; font-weight:600; letter-spacing:.09em; text-transform:uppercase; }
#about .compare-right .compare-heading { color:var(--evx-accent); }
#about .compare-mark { display:flex; flex:0 0 50px; align-items:center; justify-content:center; width:50px; height:50px; border:1px solid var(--evx-border-strong); border-radius:50%; }
#about .compare-mark svg { width:21px; height:21px; stroke-width:1.7; }
#about .compare-mark--negative { color:var(--evx-muted); }
#about .compare-mark--positive { border-color:var(--evx-accent); color:var(--evx-accent); }
#about .compare-items { display:flex; flex-direction:column; }
#about .compare-item { padding:0; }
#about .compare-item p { margin:0 0 9px; color:var(--evx-heading); font-size:1.18rem; font-weight:600; line-height:1.42; }
#about .compare-item span { display:block; color:var(--evx-subheading); font-size:.94rem; line-height:1.5; }
#about .compare-divider { height:1px; margin:20px 0; background:var(--evx-border); }
@media (max-width:1023px) { #about .comparison-grid { grid-template-columns:1fr; gap:32px; } }
@media (max-width:640px) { #about .compare-card { padding:20px; border-radius:24px; } #about .compare-heading { margin-bottom:18px; } #about .compare-item p { font-size:1.08rem; } #about .compare-item span { font-size:.9rem; } }

/* Motion polish — subtle feedback without adding visual noise. */
html { scroll-behavior: smooth; }
:where(button, a, input, textarea, select, .evo-card, .compare-card, .demo-starter, .theme-option) {
  transition: background-color .22s ease, border-color .22s ease, color .22s ease, box-shadow .22s ease, opacity .22s ease, transform .22s cubic-bezier(.2,.7,.2,1);
}
:where(.btn-primary, .btn-secondary, .nav-auth-btn, .demo-send, .demo-starter, .theme-option):not(:disabled):hover { transform: translateY(-2px); }
:where(.btn-primary, .btn-secondary, .nav-auth-btn, .demo-send, .demo-starter, .theme-option):not(:disabled):active { transform: translateY(0) scale(.98); }
.evo-card:hover, #about .compare-card:hover { transform: translateY(-3px); border-color: var(--evx-border-strong); }
.nav-link, .mobile-link, .footer-link { transition: color .2s ease, opacity .2s ease, transform .2s ease; }
.nav-link:hover, .mobile-link:hover, .footer-link:hover { transform: translateX(2px); }
.demo-input { transition: border-color .22s ease, box-shadow .22s ease, background-color .22s ease; }
.demo-input:focus { box-shadow: 0 0 0 4px var(--evx-accent-soft); }
.demo-step.active { animation: demo-state-in .34s cubic-bezier(.2,.7,.2,1) forwards; }
.demo-result-content { animation: evx-content-settle .36s ease both; }
.auth-overlay:not(.hidden) .auth-card, .auth-overlay:not(.hidden) .evo-card { animation: evx-dialog-in .3s cubic-bezier(.2,.75,.2,1) both; }
#about .compare-card { animation: evx-soft-rise .5s cubic-bezier(.2,.7,.2,1) both; }
#about .compare-card:nth-child(2) { animation-delay: .08s; }
@keyframes evx-soft-rise { from { opacity:0; transform:translateY(10px); } to { opacity:1; transform:translateY(0); } }
@keyframes evx-content-settle { from { opacity:0; transform:translateY(5px); } to { opacity:1; transform:translateY(0); } }
@keyframes evx-dialog-in { from { opacity:0; transform:translateY(12px) scale(.985); } to { opacity:1; transform:translateY(0) scale(1); } }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  :where(button, a, input, textarea, select, .evo-card, .compare-card, .demo-starter, .theme-option) { transition: none !important; }
  :where(.btn-primary, .btn-secondary, .nav-auth-btn, .demo-send, .demo-starter, .theme-option):hover,
  :where(.btn-primary, .btn-secondary, .nav-auth-btn, .demo-send, .demo-starter, .theme-option):active,
  .evo-card:hover, #about .compare-card:hover, .nav-link:hover, .mobile-link:hover, .footer-link:hover { transform: none !important; }
  .auth-overlay:not(.hidden) .auth-card, .auth-overlay:not(.hidden) .evo-card, #about .compare-card, .demo-result-content { animation: none !important; }
}

/* Mobile fit pass: keep narrow screens readable and prevent horizontal overflow. */
@media (max-width: 640px) {
  html, body { max-width: 100%; overflow-x: hidden; }
  .container, .max-w-7xl, .max-w-6xl, .max-w-5xl { width: 100%; }
  #overview { padding-top: 5.5rem !important; padding-inline: 1rem !important; }
  .ai-first-hero { gap: 1.35rem !important; }
  .ai-first-hero-copy { width: 100%; }
  .ai-first-hero .text-hero, .text-hero { max-width: 10ch !important; font-size: clamp(2.45rem, 12.5vw, 3.55rem) !important; line-height: 1.02 !important; }
  .ai-first-hero .lead { max-width: 34rem; font-size: .98rem; line-height: 1.55; }
  .ai-first-flow { display: grid; grid-template-columns: 1fr; gap: .45rem; width: 100%; margin-bottom: 1.4rem; }
  .ai-first-flow-step { padding: .7rem .75rem; }
  .ai-first-flow-step small { display: block; }
  .ai-first-flow-line { width: 1px; height: .45rem; margin-inline: 1rem; background: linear-gradient(180deg, rgba(115,159,255,.55), rgba(255,255,255,.1)); }
  .ai-first-demo { min-height: 0 !important; padding: 1rem !important; }
  .demo-input { min-height: 3.4rem; padding-right: 3.5rem !important; font-size: .95rem; }
  .demo-send { right: .5rem; width: 2.7rem; height: 2.7rem; }
  .demo-starters { gap: .35rem; }
  .demo-starter { min-width: 0; padding: .45rem .58rem; font-size: .68rem; }
  .auth-dialog { width: calc(100vw - 1.25rem) !important; max-height: calc(100dvh - 1rem); margin: .5rem auto; border-radius: 1.25rem !important; }
  .auth-dialog-copy, .auth-form { padding-inline: 1rem !important; }
  .auth-dialog h2 { font-size: clamp(2rem, 10vw, 3rem) !important; line-height: 1.02; }
  .auth-tabs { width: 100%; }
  .auth-tab { min-width: 0; flex: 1; padding-inline: .7rem !important; }
  .auth-password-checks { grid-template-columns: 1fr 1fr !important; gap: .5rem !important; font-size: .78rem; }
  .auth-captcha, .auth-security-box { overflow: hidden; max-width: 100%; }
  .how-it-works-visual { overflow-x: auto; justify-content: flex-start !important; padding-bottom: .5rem; }
  #tools-grid { grid-template-columns: 1fr !important; }
}

@media (max-width: 380px) {
  #overview { padding-inline: .75rem !important; }
  .ai-first-hero .text-hero, .text-hero { font-size: clamp(2.2rem, 12vw, 3rem) !important; }
  .ai-first-demo { padding: .75rem !important; }
  .auth-dialog { width: calc(100vw - .75rem) !important; }
  .auth-dialog-copy, .auth-form { padding-inline: .75rem !important; }
  .auth-password-checks { grid-template-columns: 1fr !important; }
}

@media (max-width: 640px) {
  .workspace-topbar { min-height: 3.75rem; padding-inline: .75rem !important; }
  .workspace-topbar-actions { gap: .35rem; }
  .workspace-user-chip { max-width: 7rem; }
  .workspace-shell { min-width: 0; }
  .workspace-content, .workspace-view { min-width: 0; padding-inline: .75rem !important; }
  .workspace-view-head, .chat-workspace-head { gap: .65rem; flex-wrap: wrap; }
  .workspace-view-title { font-size: 1.35rem !important; }
  .workspace-project-strip { align-items: flex-start; flex-direction: column; gap: .45rem; }
  .workspace-project-strip-status { white-space: normal; }
  .chat-composer { padding: .65rem !important; border-radius: 1rem !important; }
  .chat-input, .workspace-textarea { font-size: .95rem; }
  .chat-suggestions { grid-template-columns: 1fr !important; }
  pre, .cli-output, .code-editor { max-width: 100%; overflow-x: auto; font-size: .78rem; }
}

/* Workspace v2: unified EMIREVOX visual system. Behaviour remains in workspace.js. */
body.workspace-page {
  --ws-paper: #f7f3ee;
  --ws-surface: #fffdfa;
  --ws-surface-soft: #fbf8f4;
  --ws-ink: #292522;
  --ws-muted: #756e69;
  --ws-faint: #a49b95;
  --ws-line: #e6ded6;
  --ws-accent: #bd6a4b;
  --ws-accent-soft: #f5e5dc;
  background: var(--ws-paper) !important;
  color: var(--ws-ink) !important;
}
[data-theme="dark"] body.workspace-page {
  --ws-paper: #10100f;
  --ws-surface: #171716;
  --ws-surface-soft: #1e1e1c;
  --ws-ink: #f3f0e8;
  --ws-muted: #a8a39a;
  --ws-faint: #706c65;
  --ws-line: #30302d;
  --ws-accent: #d2775d;
  --ws-accent-soft: #38231d;
}
body.workspace-page .workspace-topbar {
  position: sticky; top: 0; z-index: 40; min-height: 4.5rem;
  padding: .85rem clamp(1rem, 3vw, 2.4rem);
  background: rgba(247,243,238,.88) !important;
  border-bottom: 1px solid var(--ws-line) !important;
  box-shadow: 0 8px 28px rgba(74,55,38,.05) !important;
  backdrop-filter: blur(18px);
}
body.workspace-page .workspace-brand { display:inline-flex; align-items:center; gap:.6rem; color:var(--ws-ink) !important; }
body.workspace-page .emirevox-mark-logo--workspace { width:2rem; height:2rem; }
body.workspace-page .workspace-topbar-actions { gap:.65rem; }
body.workspace-page .workspace-user-chip,
body.workspace-page .lang-toggle,
body.workspace-page .workspace-home-link {
  border:1px solid var(--ws-line); border-radius:999px; background:var(--ws-surface) !important;
  color:var(--ws-muted) !important; padding:.5rem .8rem; font-size:.75rem;
}
body.workspace-page .workspace-home-link:hover,
body.workspace-page .lang-toggle:hover { color:var(--ws-accent) !important; border-color:#d6aa95; }
body.workspace-page .workspace-shell { display:grid; grid-template-columns:17.5rem minmax(0,1fr); min-height:calc(100vh - 4.5rem); background:var(--ws-paper) !important; }
body.workspace-page .workspace-sidebar { position:sticky; top:4.5rem; height:calc(100vh - 4.5rem); padding:1.25rem 1rem; background:var(--ws-surface-soft) !important; border-right:1px solid var(--ws-line) !important; box-shadow:none !important; }
body.workspace-page .workspace-sidebar-head { margin-bottom:1rem; }
body.workspace-page .workspace-sidebar-title { color:var(--ws-ink) !important; font-size:1.1rem; letter-spacing:-.03em; }
body.workspace-page .workspace-eyebrow,
body.workspace-page .workspace-history-label,
body.workspace-page .workspace-project-strip-label { color:var(--ws-faint) !important; letter-spacing:.1em; font-size:.63rem; }
body.workspace-page .workspace-new-chat { min-height:2.9rem; border-radius:.9rem !important; background:var(--ws-ink) !important; color:#fff !important; box-shadow:0 8px 18px rgba(41,37,34,.12) !important; }
body.workspace-page .workspace-new-chat:hover { background:var(--ws-accent) !important; transform:translateY(-1px); }
body.workspace-page .workspace-nav { gap:.25rem; margin-top:1rem; }
body.workspace-page .workspace-nav-item { min-height:2.6rem; gap:.7rem; padding:.65rem .75rem; border-radius:.75rem; color:var(--ws-muted) !important; }
body.workspace-page .workspace-nav-item:hover { background:#f1e9e2 !important; color:var(--ws-ink) !important; }
body.workspace-page .workspace-nav-item.active { background:var(--ws-accent-soft) !important; color:var(--ws-accent) !important; box-shadow:inset 3px 0 0 var(--ws-accent); }
body.workspace-page .workspace-nav-item.active::before { display:none; }
body.workspace-page .workspace-history-label { margin:1.5rem .75rem .55rem; }
body.workspace-page .workspace-chat-list { padding:.25rem; border:1px solid var(--ws-line); border-radius:.85rem; background:color-mix(in srgb, var(--ws-surface) 78%, transparent); }
body.workspace-page .workspace-chat-item { border-radius:.6rem; color:var(--ws-muted) !important; }
body.workspace-page .workspace-chat-item:hover,
body.workspace-page .workspace-chat-item.active { background:#f1e9e2 !important; color:var(--ws-ink) !important; }
body.workspace-page .workspace-sidebar-foot { border-color:var(--ws-line) !important; }
body.workspace-page .workspace-trust-note { color:var(--ws-faint) !important; font-size:.7rem; line-height:1.4; }
body.workspace-page .workspace-signout { color:var(--ws-muted) !important; }
body.workspace-page .workspace-signout:hover { color:#a33d36 !important; }
body.workspace-page .workspace-content { min-width:0; padding:clamp(1rem,3vw,2.6rem); background:var(--ws-paper) !important; }
body.workspace-page .workspace-view { width:min(100%, 74rem); margin-inline:auto; }
body.workspace-page .workspace-project-strip,
body.workspace-page .workspace-flow-card,
body.workspace-page .chat-transcript,
body.workspace-page .chat-composer,
body.workspace-page .workspace-card,
body.workspace-page .workspace-panel,
body.workspace-page .coding-agent-window,
body.workspace-page .terminal-use-card,
body.workspace-page .code-preview-card,
body.workspace-page .offline-ai-panel {
  background:var(--ws-surface) !important; border:1px solid var(--ws-line) !important; border-radius:1.15rem !important;
  box-shadow:0 12px 34px rgba(74,55,38,.055) !important; color:var(--ws-ink) !important;
}
body.workspace-page .workspace-project-strip { padding:1rem 1.15rem; }
body.workspace-page .workspace-project-strip-title,
body.workspace-page .workspace-view-title,
body.workspace-page .chat-workspace-head h2,
body.workspace-page .workspace-flow-copy h3,
body.workspace-page .workspace-card-title { color:var(--ws-ink) !important; letter-spacing:-.035em; }
body.workspace-page .workspace-project-strip-status,
body.workspace-page .workspace-flow-status,
body.workspace-page .workspace-memory-badge { background:var(--ws-accent-soft) !important; color:var(--ws-accent) !important; border:1px solid #ecd0c2; border-radius:999px; }
body.workspace-page .workspace-flow-card { padding:1.25rem; }
body.workspace-page .workspace-flow-icon,
body.workspace-page .chat-empty-icon { background:var(--ws-accent-soft) !important; color:var(--ws-accent) !important; border:1px solid #ecd0c2; }
body.workspace-page .workspace-flow-steps { gap:.5rem; }
body.workspace-page .workspace-flow-steps span { flex:1; padding:.65rem .7rem; border:1px solid var(--ws-line); border-radius:.75rem; background:var(--ws-surface-soft); color:var(--ws-muted); }
body.workspace-page .workspace-flow-steps b { background:var(--ws-accent) !important; color:#fff !important; }
body.workspace-page .workspace-view-head { margin-bottom:1.35rem; }
body.workspace-page .workspace-view-lead,
body.workspace-page .chat-empty p,
body.workspace-page .chat-composer-note,
body.workspace-page .workspace-card-lead { color:var(--ws-muted) !important; }
body.workspace-page .chat-workspace-head { gap:1rem; align-items:flex-end; }
body.workspace-page .chat-head-actions { display:flex; flex-wrap:wrap; gap:.45rem; }
body.workspace-page .workspace-secondary-button,
body.workspace-page .workspace-icon-button,
body.workspace-page .orb-control-pill { border:1px solid var(--ws-line) !important; border-radius:.75rem !important; background:var(--ws-surface) !important; color:var(--ws-muted) !important; }
body.workspace-page .workspace-secondary-button:hover,
body.workspace-page .workspace-icon-button:hover { border-color:#d6aa95 !important; color:var(--ws-accent) !important; background:var(--ws-accent-soft) !important; }
body.workspace-page .chat-transcript { min-height:24rem; padding:1.25rem; }
body.workspace-page .chat-bubble--assistant,
body.workspace-page .chat-bubble--agent { background:var(--ws-surface-soft) !important; color:var(--ws-ink) !important; border:1px solid var(--ws-line) !important; }
body.workspace-page .chat-bubble--user { background:var(--ws-ink) !important; color:#fff !important; }
body.workspace-page .chat-composer { padding:.7rem; }
body.workspace-page .chat-input,
body.workspace-page .workspace-input,
body.workspace-page .workspace-textarea,
body.workspace-page .workspace-select,
body.workspace-page .agent-mode-select,
body.workspace-page .offline-ai-mode { background:var(--ws-surface) !important; color:var(--ws-ink) !important; border:1px solid var(--ws-line) !important; border-radius:.8rem !important; }
body.workspace-page .chat-input:focus,
body.workspace-page .workspace-input:focus,
body.workspace-page .workspace-textarea:focus,
body.workspace-page .workspace-select:focus { border-color:#d49a7e !important; box-shadow:0 0 0 3px rgba(189,106,75,.12) !important; outline:none; }
body.workspace-page .chat-send-button { background:var(--ws-ink) !important; border-color:var(--ws-ink) !important; color:#fff !important; border-radius:.75rem !important; }
body.workspace-page .chat-send-button:hover { background:var(--ws-accent) !important; border-color:var(--ws-accent) !important; }
body.workspace-page .workspace-zero-actions { gap:.65rem; }
body.workspace-page .workspace-zero-action { border:1px solid var(--ws-line) !important; border-radius:.9rem !important; background:var(--ws-surface-soft) !important; color:var(--ws-ink) !important; }
body.workspace-page .workspace-zero-action:hover { background:var(--ws-accent-soft) !important; border-color:#e2bba7 !important; }
body.workspace-page .workspace-email-gate,
body.workspace-page .workspace-email-banner { border:1px solid var(--ws-line) !important; border-radius:1rem !important; background:var(--ws-accent-soft) !important; color:var(--ws-ink) !important; }
body.workspace-page .workspace-danger-button { border-radius:.75rem !important; }
@media (max-width: 900px) {
  body.workspace-page .workspace-shell { display:block; }
  body.workspace-page .workspace-sidebar { position:fixed; z-index:60; top:4.5rem; left:0; width:min(19rem,88vw); height:calc(100dvh - 4.5rem); }
  body.workspace-page .workspace-content { padding-top:1rem; }
  body.workspace-page .workspace-mobile-toolbar { position:sticky; top:0; z-index:20; margin:-1rem -1rem 1rem; padding:.7rem 1rem; background:rgba(247,243,238,.9) !important; border-bottom:1px solid var(--ws-line) !important; backdrop-filter:blur(14px); }
}
@media (max-width: 640px) {
  body.workspace-page .workspace-content { padding-inline:.75rem; }
  body.workspace-page .workspace-topbar { min-height:4rem; padding-inline:.75rem; }
  body.workspace-page .workspace-home-link { display:none; }
  body.workspace-page .workspace-user-chip { max-width:7rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  body.workspace-page .workspace-project-strip { align-items:flex-start; flex-direction:column; gap:.55rem; }
  body.workspace-page .workspace-flow-card { padding:.9rem; }
  body.workspace-page .workspace-flow-steps { display:grid; grid-template-columns:1fr 1fr; }
  body.workspace-page .workspace-flow-steps span { min-width:0; }
  body.workspace-page .chat-workspace-head { align-items:flex-start; flex-direction:column; }
  body.workspace-page .chat-head-actions { width:100%; }
  body.workspace-page .chat-head-actions .workspace-secondary-button { flex:1 1 auto; }
  body.workspace-page .chat-transcript { min-height:18rem; padding:.8rem; }
  body.workspace-page .workspace-zero-actions { grid-template-columns:1fr !important; }
  body.workspace-page .workspace-card, body.workspace-page .workspace-panel { border-radius:1rem !important; }
}

/* Overview dashboard and navigation hierarchy. */
body.workspace-page .workspace-nav-group-label { margin:1.25rem .75rem .45rem; color:var(--ws-faint); font:600 .6rem/1.2 ui-monospace,SFMono-Regular,Menlo,monospace; letter-spacing:.14em; }
body.workspace-page .workspace-nav-group-label--secondary { margin-top:1.35rem; }
body.workspace-page .workspace-overview-head { margin-bottom:1.25rem; }
body.workspace-page .workspace-overview-hero { display:flex; align-items:center; justify-content:space-between; gap:1.5rem; padding:1.45rem; margin-bottom:1rem; background:linear-gradient(135deg,#fffdfa 0%,#fff5ef 100%) !important; border-color:#ead2c4 !important; }
body.workspace-page .workspace-overview-kicker { display:block; margin-bottom:.5rem; color:var(--ws-accent); font:600 .62rem/1.2 ui-monospace,SFMono-Regular,Menlo,monospace; letter-spacing:.14em; }
body.workspace-page .workspace-overview-hero h3 { margin:0; color:var(--ws-ink); font-size:clamp(1.35rem,2.4vw,2rem); letter-spacing:-.04em; }
body.workspace-page .workspace-overview-hero p { max-width:38rem; margin:.45rem 0 0; color:var(--ws-muted); line-height:1.55; }
body.workspace-page .workspace-overview-hero .btn-primary { flex:0 0 auto; display:inline-flex; align-items:center; gap:.45rem; border-radius:.8rem; }
body.workspace-page .workspace-overview-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.75rem; }
body.workspace-page .workspace-overview-card { min-width:0; display:flex; flex-direction:column; align-items:flex-start; gap:.45rem; padding:1.1rem; text-align:left; border:1px solid var(--ws-line); border-radius:1rem; background:var(--ws-surface) !important; color:var(--ws-ink); box-shadow:0 10px 28px rgba(74,55,38,.045); cursor:pointer; transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease; }
body.workspace-page .workspace-overview-card:hover,.workspace-overview-card:focus-visible { transform:translateY(-3px); border-color:#dfb8a5; box-shadow:0 14px 32px rgba(74,55,38,.09); outline:none; }
body.workspace-page .workspace-overview-card-icon { display:grid; place-items:center; width:2.35rem; height:2.35rem; margin-bottom:.25rem; border-radius:.75rem; background:var(--ws-accent-soft); color:var(--ws-accent); }
body.workspace-page .workspace-overview-card strong { font-size:.95rem; letter-spacing:-.02em; }
body.workspace-page .workspace-overview-card small { min-height:2.6em; color:var(--ws-muted); font-size:.76rem; line-height:1.45; }
body.workspace-page .workspace-overview-card em { margin-top:auto; color:var(--ws-accent); font-size:.75rem; font-style:normal; font-weight:600; }
body.workspace-page .workspace-overview-footer { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-top:1rem; padding:.85rem 1rem; color:var(--ws-muted); font-size:.75rem; }
body.workspace-page .workspace-overview-footer > span { display:inline-flex; align-items:center; gap:.45rem; }
@media (max-width:700px) {
  body.workspace-page .workspace-overview-hero { align-items:flex-start; flex-direction:column; padding:1.1rem; }
  body.workspace-page .workspace-overview-hero .btn-primary { width:100%; justify-content:center; }
  body.workspace-page .workspace-overview-grid { grid-template-columns:1fr; }
  body.workspace-page .workspace-overview-card small { min-height:0; }
  body.workspace-page .workspace-overview-footer { align-items:flex-start; flex-direction:column; padding-inline:.2rem; }
}

/* EMIREVOX v66 — one calm navigation pattern across phone and desktop. */
.nav-sticky > div > div { gap: 1rem; }
.nav-sticky .landing-primary-links,
.nav-sticky .landing-secondary-actions { display: none !important; }
.nav-sticky .landing-menu-toggle {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: .55rem;
  min-width: 2.9rem;
  min-height: 2.9rem;
  margin-left: auto;
  padding: .55rem .75rem;
  border: 1px solid var(--evx-border-strong);
  border-radius: 999px;
  background: var(--evx-surface) !important;
  color: var(--evx-heading) !important;
  box-shadow: 0 6px 18px rgba(53, 44, 35, .06);
  transition: border-color .2s ease, background-color .2s ease, transform .2s ease;
}
.nav-sticky .landing-menu-toggle:hover {
  border-color: var(--evx-accent);
  background: var(--evx-accent-soft) !important;
  transform: translateY(-1px);
}
.landing-menu-toggle-label {
  display: none;
  font-size: .74rem;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.mobile-menu.open { overflow-y: auto; }
.mobile-menu .mobile-menu-header,
.mobile-menu .mobile-menu-links,
.mobile-menu .mobile-menu-actions,
.mobile-menu .mobile-menu-footer { flex-shrink: 0; }
@media (min-width: 1024px) {
  .nav-sticky > div > div { height: 5rem; padding-inline: 0; }
  .nav-sticky .landing-menu-toggle-label { display: inline; }
  .mobile-menu { padding-inline: 4rem; }
  .mobile-menu-links,
  .mobile-menu-actions,
  .mobile-menu-footer { width: min(100%, 42rem); }
  .mobile-link.mobile-link--indexed {
    min-height: 5rem;
    font-size: clamp(1.35rem, 2vw, 1.75rem);
  }
  #overview { min-height: 100svh; padding-top: 7rem; }
  .ai-first-hero { width: min(100%, 76rem); gap: clamp(3rem, 7vw, 8rem); }
  .ai-first-hero-copy { max-width: 42rem; }
  .ai-first-hero .text-hero {
    max-width: 10ch;
    font-size: clamp(4rem, 6.5vw, 6.5rem) !important;
    line-height: .98 !important;
    letter-spacing: -.055em;
  }
  .ai-first-demo { max-width: 40rem; }
}
@media (max-width: 640px) {
  .nav-sticky .landing-menu-toggle {
    min-width: 2.7rem;
    min-height: 2.7rem;
    padding: .45rem .6rem;
  }
}

/* EMIREVOX v67 — cohesive desktop composition. Mobile keeps its dedicated rhythm above. */
@media (min-width: 1024px) {
  body:not(.workspace-page) {
    --landing-max: 80rem;
    --landing-gutter: clamp(2rem, 5vw, 5.5rem);
  }
  body:not(.workspace-page) #overview {
    min-height: min(900px, 100svh);
    padding-block: 7rem 5rem !important;
    background:
      radial-gradient(circle at 8% 35%, rgba(184, 92, 67, .09), transparent 28rem),
      radial-gradient(circle at 92% 68%, rgba(106, 155, 204, .10), transparent 32rem),
      var(--evx-page) !important;
  }
  body:not(.workspace-page) #overview > .max-w-6xl {
    width: min(calc(100% - 2 * var(--landing-gutter)), var(--landing-max));
    max-width: none;
    padding-inline: 0;
  }
  body:not(.workspace-page) .ai-first-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(26rem, .82fr);
    align-items: center;
    gap: clamp(3rem, 7vw, 8rem);
  }
  body:not(.workspace-page) .ai-first-hero-copy {
    max-width: 44rem;
    text-align: left;
  }
  body:not(.workspace-page) .ai-first-hero-copy .hero-eyebrow { margin-bottom: 1.1rem; }
  body:not(.workspace-page) .ai-first-hero .text-hero {
    max-width: 9ch;
    margin-bottom: 1.5rem !important;
    font-size: clamp(4.2rem, 6vw, 6.8rem) !important;
    line-height: .96 !important;
    letter-spacing: -.065em;
  }
  body:not(.workspace-page) .ai-first-hero .lead {
    max-width: 36rem;
    margin-inline: 0;
    margin-bottom: 2.1rem !important;
    font-size: 1.12rem;
    line-height: 1.65;
  }
  body:not(.workspace-page) .ai-first-hero-copy > .flex { justify-content: flex-start; margin-bottom: 2.25rem !important; }
  body:not(.workspace-page) .hero-trial-note { max-width: 35rem; margin-inline: 0; text-align: left; }
  body:not(.workspace-page) .hero-flow-secondary { max-width: 40rem; margin-top: 2.4rem; }
  body:not(.workspace-page) .ai-first-demo { width: 100%; max-width: 42rem; margin: 0; }
  body:not(.workspace-page) .ai-first-demo > .evo-card {
    padding: clamp(1.5rem, 2.4vw, 2.5rem) !important;
    border-radius: 1.35rem !important;
    box-shadow: 0 24px 70px rgba(53, 44, 35, .12) !important;
  }
  body:not(.workspace-page) #overview .orb { opacity: .18; }

  body:not(.workspace-page) #features,
  body:not(.workspace-page) #how-it-works,
  body:not(.workspace-page) #about,
  body:not(.workspace-page) #tools,
  body:not(.workspace-page) #value,
  body:not(.workspace-page) #access,
  body:not(.workspace-page) #infrastructure {
    padding-block: clamp(6.5rem, 9vw, 9rem) !important;
  }
  body:not(.workspace-page) #features > .max-w-7xl,
  body:not(.workspace-page) #tools > .max-w-7xl,
  body:not(.workspace-page) #value > .max-w-7xl,
  body:not(.workspace-page) #how-it-works > .max-w-5xl,
  body:not(.workspace-page) #about > .max-w-6xl {
    width: min(calc(100% - 2 * var(--landing-gutter)), var(--landing-max));
    max-width: none;
    padding-inline: 0;
  }
  body:not(.workspace-page) #features .text-center,
  body:not(.workspace-page) #tools .text-center,
  body:not(.workspace-page) #value .text-center,
  body:not(.workspace-page) #how-it-works .text-center,
  body:not(.workspace-page) #about .text-center {
    max-width: 44rem;
    margin-inline: auto;
    margin-bottom: 3.5rem !important;
  }
  body:not(.workspace-page) .text-section {
    font-size: clamp(2.3rem, 4vw, 4rem);
    line-height: 1.04;
    letter-spacing: -.055em;
  }

  body:not(.workspace-page) #features .grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 1rem;
  }
  body:not(.workspace-page) #features .evo-card {
    min-height: 11.5rem;
    padding: 1.35rem !important;
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: left !important;
    border-radius: 1rem !important;
  }
  body:not(.workspace-page) #features .evo-card h3 { margin-bottom: .55rem !important; font-size: 1rem; }
  body:not(.workspace-page) #features .evo-card p { font-size: .82rem; }

  body:not(.workspace-page) #how-it-works .how-it-works-visual { margin-bottom: 4rem !important; }
  body:not(.workspace-page) #how-it-works .how-it-works-visual > div { gap: 2rem; }
  body:not(.workspace-page) #how-it-works .grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
  body:not(.workspace-page) #how-it-works .evo-card { min-height: 18rem; padding: 1.75rem !important; border-radius: 1rem !important; }
  body:not(.workspace-page) #how-it-works .evo-card h3 { max-width: 18ch; font-size: 1.15rem; line-height: 1.18; }

  body:not(.workspace-page) #about .comparison-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; }
  body:not(.workspace-page) #about .compare-card { min-height: 25rem; padding: 2rem !important; border-radius: 1.2rem !important; }
  body:not(.workspace-page) #about .compare-item p { font-size: 1.15rem; line-height: 1.35; }

  body:not(.workspace-page) #tools .landing-use-cases {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
  }
  body:not(.workspace-page) #tools .landing-use-cases .evo-card {
    min-height: 17rem;
    padding: 1.45rem !important;
    display: flex;
    flex-direction: column;
    border-radius: 1rem !important;
  }
  body:not(.workspace-page) #tools .landing-use-cases .evo-card > button,
  body:not(.workspace-page) #tools .landing-use-cases .evo-card > span:last-child { margin-top: auto; }
  body:not(.workspace-page) #tools .flex.flex-wrap.justify-center { margin-bottom: 2.5rem !important; }

  body:not(.workspace-page) #value .grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
  body:not(.workspace-page) #value .trust-card { min-height: 15rem; padding: 1.5rem; border-radius: 1rem; }
  body:not(.workspace-page) #value .trust-card-index { margin-bottom: 2.7rem; }

  body:not(.workspace-page) #access > .max-w-7xl,
  body:not(.workspace-page) #infrastructure > .max-w-7xl {
    width: min(calc(100% - 2 * var(--landing-gutter)), var(--landing-max));
    max-width: none;
    padding-inline: 0;
  }
  body:not(.workspace-page) #access .onboarding-strip { padding: 1.4rem; gap: 0; }
  body:not(.workspace-page) #access .onboarding-strip > div { padding: .65rem 1.5rem; }
  body:not(.workspace-page) #infrastructure .infra-grid { grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); gap: 1.5rem; }
  body:not(.workspace-page) #infrastructure .infra-card { min-height: 16rem; padding: 2rem; border-radius: 1.15rem; }
  body:not(.workspace-page) #infrastructure .infra-arrow { align-self: center; }

  body:not(.workspace-page) > footer {
    padding-block: 2.4rem !important;
  }
  body:not(.workspace-page) > footer > div {
    width: min(calc(100% - 2 * var(--landing-gutter)), var(--landing-max));
    max-width: none;
    padding-inline: 0;
  }
}
@media (min-width: 1024px) and (max-width: 1199px) {
  body:not(.workspace-page) { --landing-gutter: 2rem; }
  body:not(.workspace-page) .ai-first-hero { gap: 3rem; }
  body:not(.workspace-page) .ai-first-hero .text-hero { font-size: clamp(3.7rem, 6vw, 5rem) !important; }
  body:not(.workspace-page) #features .grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  body:not(.workspace-page) #tools .landing-use-cases { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* Adaptive AI Workspace — Magic UI-style border beam / shine border. */
@property --evx-kicker-beam-angle {
  syntax: "<angle>";
  inherits: false;
  initial-value: 0deg;
}
.ai-first-kicker {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border-color: transparent !important;
  background:
    linear-gradient(var(--evx-accent-soft), var(--evx-accent-soft)) padding-box,
    conic-gradient(
      from var(--evx-kicker-beam-angle),
      transparent 0deg 286deg,
      rgba(255, 218, 196, .18) 304deg,
      rgba(255, 246, 236, .98) 326deg,
      rgba(220, 112, 78, .72) 340deg,
      transparent 358deg 360deg
    ) border-box;
  animation: evx-kicker-border-beam 5.8s linear infinite;
  box-shadow: 0 8px 24px rgba(182, 80, 56, .10), inset 0 0 14px rgba(255, 255, 255, .22);
}
.ai-first-kicker::after {
  content: "";
  position: absolute;
  inset: 1px;
  z-index: -1;
  border-radius: inherit;
  pointer-events: none;
  background: linear-gradient(105deg, transparent 24%, rgba(255,255,255,.26) 48%, transparent 72%);
  background-size: 220% 100%;
  animation: evx-kicker-shine 4.6s ease-in-out infinite;
}
@keyframes evx-kicker-border-beam {
  to { --evx-kicker-beam-angle: 360deg; }
}
@keyframes evx-kicker-shine {
  0%, 35% { background-position: 140% 0; opacity: 0; }
  55% { opacity: .72; }
  75%, 100% { background-position: -40% 0; opacity: 0; }
}
@media (max-width: 700px) {
  .ai-first-kicker {
    max-width: calc(100vw - 32px);
    padding: .46rem .68rem;
    letter-spacing: .09em;
    font-size: clamp(.58rem, 2.6vw, .72rem);
    animation-duration: 7.5s;
    box-shadow: 0 6px 18px rgba(182, 80, 56, .08), inset 0 0 10px rgba(255, 255, 255, .18);
  }
  .ai-first-kicker::after { animation-duration: 6.2s; }
}
@media (prefers-reduced-motion: reduce) {
  .ai-first-kicker,
  .ai-first-kicker::after { animation: none; }
}


/* Visible feedback while auth transitions to the protected workspace. */
.auth-transition { align-items: center; background: rgba(31, 27, 24, .32); backdrop-filter: blur(5px); display: flex; inset: 0; justify-content: center; padding: 1rem; position: fixed; z-index: 2000; }
.auth-transition-card { align-items: center; background: color-mix(in srgb, #fffaf7 92%, var(--evx-accent)); border: 1px solid rgba(184, 92, 67, .26); border-radius: 1rem; box-shadow: 0 18px 50px rgba(47, 38, 31, .22); color: #3a302b; display: flex; font-size: .9rem; font-weight: 700; gap: .7rem; min-width: 11rem; padding: .85rem 1.05rem; }
.auth-transition-spinner { animation: auth-transition-spin .8s linear infinite; border: 2px solid rgba(184, 92, 67, .2); border-radius: 50%; border-top-color: var(--evx-accent); display: inline-block; height: 1.15rem; width: 1.15rem; }
html.dark .auth-transition { background: rgba(10, 9, 8, .46); }
html.dark .auth-transition-card { background: #29231f; border-color: rgba(216, 120, 80, .4); color: #fffaf7; }
@keyframes auth-transition-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .auth-transition-spinner { animation-duration: 1.6s; } }


/* 21st.dev Message Loading adaptation: used for account and auth submission states. */
.message-loading { align-items: center; background: var(--evx-accent-soft); border: 1px solid var(--evx-accent-border); border-radius: 999px; display: none; gap: 3px; height: 1.35rem; justify-content: center; padding: 0 .48rem; width: 2.65rem; }
.message-loading i { animation: message-loading-bounce 1.15s ease-in-out infinite; background: var(--evx-accent); border-radius: 50%; display: block; height: 4px; width: 4px; }
.message-loading i:nth-child(2) { animation-delay: .14s; background: var(--evx-accent-hover); }
.message-loading i:nth-child(3) { animation-delay: .28s; background: var(--evx-accent-light); }
.auth-transition.is-message-loading .auth-transition-spinner { display: none; }
.auth-transition.is-message-loading .message-loading { display: inline-flex; }
.auth-transition.is-message-loading .auth-transition-card { gap: .7rem; }
@keyframes message-loading-bounce { 0%, 60%, 100% { opacity: .38; transform: translateY(0); } 30% { opacity: 1; transform: translateY(-3px); } }
@media (prefers-reduced-motion: reduce) { .message-loading i { animation-duration: 2.4s; } }
[data-theme="dark"] body.workspace-page .workspace-mobile-toolbar {
  background: color-mix(in srgb, var(--ws-paper) 92%, transparent) !important;
}
[data-theme="dark"] body.workspace-page .workspace-overview-hero {
  background: linear-gradient(135deg, var(--ws-surface) 0%, var(--ws-surface-soft) 100%) !important;
  border-color: var(--ws-line) !important;
}
[data-theme="dark"] body.workspace-page .workspace-overview-card,
[data-theme="dark"] body.workspace-page .workspace-zero-action,
[data-theme="dark"] body.workspace-page .workspace-email-gate {
  background: var(--ws-surface) !important;
  border-color: var(--ws-line) !important;
  color: var(--ws-ink) !important;
}
[data-theme="dark"] body.workspace-page .workspace-nav-item:hover,
[data-theme="dark"] body.workspace-page .workspace-chat-item:hover,
[data-theme="dark"] body.workspace-page .workspace-chat-item.active,
[data-theme="dark"] body.workspace-page .workspace-zero-action:hover {
  background: var(--ws-active, #282824) !important;
  color: var(--ws-ink) !important;
}
[data-theme="dark"] body.workspace-page .workspace-secondary-button,
[data-theme="dark"] body.workspace-page .workspace-icon-button,
[data-theme="dark"] body.workspace-page .orb-control-pill,
[data-theme="dark"] body.workspace-page .chat-input,
[data-theme="dark"] body.workspace-page .workspace-input,
[data-theme="dark"] body.workspace-page .workspace-textarea,
[data-theme="dark"] body.workspace-page .workspace-select,
[data-theme="dark"] body.workspace-page .agent-mode-select,
[data-theme="dark"] body.workspace-page .offline-ai-mode {
  background: var(--ws-surface) !important;
  border-color: var(--ws-line) !important;
  color: var(--ws-ink) !important;
}
[data-theme="dark"] .auth-transition { background: rgba(10, 9, 8, .72); }
[data-theme="dark"] .auth-transition-card { background: var(--evx-surface-raised); border-color: var(--evx-border-strong); color: var(--evx-text); }
[data-theme="dark"] .nav-sticky,
[data-theme="dark"] .navbar-scrolled {
  background: color-mix(in srgb, var(--evx-page) 94%, transparent) !important;
  border-color: var(--evx-border) !important;
  color: var(--evx-text) !important;
}
[data-theme="dark"] .btn-secondary,
[data-theme="dark"] .nav-auth-btn,
[data-theme="dark"] .filter-btn,
[data-theme="dark"] .tool-cta-soon {
  background: var(--evx-surface) !important;
  border-color: var(--evx-border) !important;
  color: var(--evx-text) !important;
}
[data-theme="dark"] .btn-secondary:hover,
[data-theme="dark"] .nav-auth-btn:hover,
[data-theme="dark"] .filter-btn:hover,
[data-theme="dark"] .tool-cta-soon:hover {
  background: var(--evx-hover) !important;
  border-color: var(--evx-border-strong) !important;
  color: var(--evx-text) !important;
}
html[data-theme="dark"] body .nav-sticky,
html[data-theme="dark"] body .navbar-scrolled {
  background: var(--evx-page) !important;
  border-color: var(--evx-border) !important;
  color: var(--evx-text) !important;
}
html[data-theme="dark"] #how-it-works-btn {
  background: var(--evx-surface) !important;
  border-color: var(--evx-border) !important;
  color: var(--evx-text) !important;
}


/* Final compact auth pass: keep the form visible without scaling the whole UI. */
.auth-dialog { max-width: 34rem !important; padding: 1.35rem 1.5rem !important; border-radius: 1rem !important; }
.auth-dialog-copy .text-section { max-width: 18rem !important; font-size: clamp(1.8rem, 4vw, 2.35rem) !important; line-height: 1.02 !important; }
.auth-dialog-copy > p:last-child { font-size: .9rem !important; line-height: 1.45 !important; }
.auth-tabs { margin: 1rem 0 .9rem !important; }
.auth-tab { padding: .62rem .8rem !important; font-size: .9rem !important; }
.auth-input-wrap .auth-input { min-height: 3rem !important; font-size: .95rem !important; border-radius: .8rem !important; }
.auth-password-checks { gap: .45rem; margin: .6rem 0 .8rem; font-size: .72rem; }
.auth-captcha-wrap { margin: .85rem 0 !important; padding: .75rem .85rem !important; }
.auth-submit.btn-primary, .auth-submit.btn-primary:focus-visible { min-height: 3rem !important; margin-top: .8rem !important; border-color: #c95f3d !important; background: #c95f3d !important; color: #fff !important; opacity: 1 !important; text-shadow: none !important; }
.auth-submit.btn-primary:hover { background: #a9472d !important; border-color: #a9472d !important; color: #fff !important; }
[data-theme="dark"] .auth-submit.btn-primary, [data-theme="dark"] .auth-submit.btn-primary:focus-visible { border-color: #e6815d !important; background: #e6815d !important; color: #211512 !important; }
[data-theme="dark"] .auth-submit.btn-primary:hover { background: #f09a79 !important; border-color: #f09a79 !important; color: #211512 !important; }
@media (max-width: 640px) {
  .auth-dialog { padding: 1rem !important; }
  .auth-dialog-copy .text-section { font-size: clamp(1.7rem, 8vw, 2.15rem) !important; }
  .auth-dialog-copy > p:last-child { font-size: .82rem !important; }
  .auth-password-checks { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}


/* EMIREVOX v68 — final responsive spacing and navigation corrections. */
.nav-sticky > div > div {
  gap: 1rem;
  padding-inline: clamp(1.25rem, 5vw, 5.5rem);
}
.nav-sticky .landing-menu-toggle { display: none !important; }
@media (min-width: 1024px) {
  .nav-sticky .landing-primary-links,
  .nav-sticky .landing-secondary-actions { display: flex !important; }
  .nav-sticky .landing-menu-toggle { display: none !important; }
}
@media (max-width: 1023px) {
  .nav-sticky .landing-primary-links,
  .nav-sticky .landing-secondary-actions { display: none !important; }
  .nav-sticky .landing-menu-toggle { display: inline-flex !important; }
}
/* Let the landing page own scrolling instead of trapping a tall demo in a
   nested scroll container on small phones. */
.ai-first-demo > .evo-card { max-height: none; overflow: visible; }
footer .footer-links {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: .75rem 1.25rem;
  margin-bottom: 1.25rem;
}
footer .footer-link {
  display: inline-flex;
  align-items: center;
  min-height: 1.75rem;
  white-space: nowrap;
  line-height: 1.35;
}


/* v69 — explicit gaps where legacy utility bundles are incomplete. */
@media (min-width: 1024px) {
  .nav-sticky .landing-primary-links {
    display: flex !important;
    align-items: center;
    gap: 1.75rem;
  }
  .nav-sticky .landing-secondary-actions {
    display: flex !important;
    align-items: center;
    gap: .75rem;
  }
}


/* v72 — keep the mobile navigation divider clear of the logo and menu control. */
@media (max-width: 1023px) {
  .nav-sticky {
    min-height: 4.25rem;
  }
  .nav-sticky > div > div {
    min-height: 4.25rem;
    height: auto;
    padding-block: .65rem;
  }
  .nav-sticky .emirevox-nav-brand,
  .nav-sticky .landing-menu-toggle {
    margin-block: .1rem;
  }
}


/* v73 — NovaGlow-inspired hero actions, recoloured for EMIREVOX. */
.hero-cta-row {
  gap: 1.35rem !important;
}
.hero-action-button {
  --nova-rotation: 42deg;
  position: relative;
  isolation: isolate;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: auto !important;
  min-width: 220px;
  min-height: 56px !important;
  padding: 0 28px !important;
  overflow: hidden;
  border: 1px solid rgba(184, 92, 67, .28) !important;
  border-radius: 999px !important;
  font-size: 15px !important;
  font-weight: 650 !important;
  line-height: 1 !important;
  letter-spacing: -.01em;
  text-decoration: none;
  transform: none;
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease, background-color .22s ease !important;
  animation: nova-glow-rotate 5s linear infinite;
  -webkit-clip-path: inset(0 round 999px);
  clip-path: inset(0 round 999px);
}
.hero-action-button > span {
  position: relative;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
}
.hero-action-button::before {
  position: absolute;
  inset: 0;
  z-index: 1;
  padding: 2px;
  border-radius: inherit;
  background: conic-gradient(from var(--nova-rotation), var(--evx-accent-active) 0deg, var(--evx-accent-light) 70deg, #d8a18f 135deg, transparent 190deg, var(--evx-accent) 260deg, var(--evx-accent-active) 360deg);
  content: '';
  opacity: .82;
  pointer-events: none;
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  transition: opacity .22s ease;
}
.hero-action-button::after {
  position: absolute;
  inset: 2px;
  z-index: 2;
  border-radius: inherit;
  background: linear-gradient(110deg, transparent 0%, rgba(255,255,255,.04) 35%, rgba(255,255,255,.24) 50%, rgba(255,255,255,.04) 65%, transparent 100%);
  content: '';
  opacity: .42;
  pointer-events: none;
  transform: translateX(-38%);
  transition: transform .65s cubic-bezier(.2,.8,.2,1), opacity .22s ease;
}
.hero-action-button--primary {
  background: var(--evx-accent) !important;
  color: #fffaf7 !important;
  box-shadow: 0 0 10px rgba(184, 92, 67, .18), inset 0 1px 0 rgba(255,255,255,.14) !important;
}
.hero-action-button--secondary {
  background: var(--evx-surface-raised) !important;
  color: var(--evx-accent-active) !important;
  box-shadow: 0 0 10px rgba(184, 92, 67, .10), inset 0 1px 0 rgba(255,255,255,.75) !important;
}
.hero-action-button:hover,
.hero-action-button:focus-visible {
  border-color: rgba(184, 92, 67, .58) !important;
  box-shadow: 0 0 23px rgba(184, 92, 67, .28), inset 0 1px 0 rgba(255,255,255,.18) !important;
  transform: translateY(-1px) scale(1.02) !important;
}
.hero-action-button:hover::before,
.hero-action-button:focus-visible::before { opacity: 1; }
.hero-action-button:hover::after,
.hero-action-button:focus-visible::after { opacity: 1; transform: translateX(38%); }
.hero-action-button:active { transform: translateY(0) scale(.99) !important; }
@keyframes nova-glow-rotate { to { --nova-rotation: 402deg; } }
@media (max-width: 640px) {
  .hero-cta-row { gap: 1.25rem !important; }
  .hero-action-button { width: min(100%, 280px) !important; min-width: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .hero-action-button { animation: none; }
}


/* v74 — cinematic word reveal for the Four steps narrative. */
.cinematic-text-reveal.cinematic-ready {
  --cinematic-ease: cubic-bezier(.2, .72, .18, 1);
}
.cinematic-text-reveal.cinematic-ready .cinematic-word {
  display: inline-block;
  opacity: 0;
  transform: translate3d(0, .72em, 0) scale(.985);
  filter: blur(8px);
  clip-path: inset(0 0 100% 0);
  will-change: opacity, transform, filter, clip-path;
  transition: opacity .72s var(--cinematic-ease), transform .86s var(--cinematic-ease), filter .86s var(--cinematic-ease), clip-path .86s var(--cinematic-ease);
  transition-delay: calc(var(--word-index) * 55ms);
}
.cinematic-text-reveal.cinematic-visible .cinematic-word {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
  filter: blur(0);
  clip-path: inset(0 0 0 0);
}
#how-it-works .steps-flow__heading h2.cinematic-text-reveal.cinematic-ready .cinematic-word {
  transition-duration: .9s, 1s, 1s, 1s;
}
#how-it-works .steps-flow__heading .steps-flow__lead.cinematic-text-reveal.cinematic-ready .cinematic-word {
  transition-delay: calc(90ms + var(--word-index) * 42ms);
}
#how-it-works .steps-flow__copy h3.cinematic-text-reveal.cinematic-ready .cinematic-word {
  transition-delay: calc(var(--word-index) * 48ms);
}
#how-it-works .steps-flow__copy > p.cinematic-text-reveal.cinematic-ready .cinematic-word {
  transition-delay: calc(110ms + var(--word-index) * 34ms);
}
@media (prefers-reduced-motion: reduce) {
  .cinematic-text-reveal.cinematic-ready .cinematic-word,
  .cinematic-text-reveal.cinematic-visible .cinematic-word {
    opacity: 1;
    transform: none;
    filter: none;
    clip-path: none;
    transition: none;
  }
}


/* v74.1 — preserve readable word spacing when each word is an inline reveal unit. */
.cinematic-text-reveal.cinematic-ready .cinematic-word {
  margin-right: .24em;
}
.cinematic-text-reveal.cinematic-ready .cinematic-word:last-child {
  margin-right: 0;
}


/* v75 — make the hero demo read as a clear Task → Intent → Result product proof. */
.demo-stage-rail {
  display: grid;
  grid-template-columns: 1fr auto 1fr auto 1fr;
  align-items: center;
  gap: 8px;
  margin: -4px 0 22px;
  padding: 10px 12px;
  border: 1px solid var(--evx-border);
  border-radius: 14px;
  background: var(--evx-surface-raised);
}
.demo-stage-rail span {
  display: flex;
  align-items: center;
  gap: 7px;
  min-width: 0;
  color: var(--evx-muted);
  font-size: .68rem;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.demo-stage-rail span.is-active { color: var(--evx-accent-strong); }
.demo-stage-rail b { font-size: .62rem; font-weight: 700; }
.demo-stage-rail em { overflow: hidden; font-style: normal; text-overflow: ellipsis; }
.demo-stage-rail i { color: var(--evx-border-strong); font-size: .9rem; font-style: normal; }
.demo-starter--featured {
  border-color: var(--evx-accent-light) !important;
  background: var(--evx-accent-soft) !important;
  color: var(--evx-accent-strong) !important;
}
@media (max-width: 640px) {
  .demo-stage-rail { gap: 5px; margin-bottom: 18px; padding: 9px 10px; }
  .demo-stage-rail span { gap: 5px; font-size: .61rem; }
  .demo-stage-rail i { font-size: .75rem; }
}


/* v76 — make the comparison proof scannable: detected intent, scores, and verdict. */
.demo-result-content .demo-result-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: -2px 0 14px;
  padding: 9px 11px;
  border: 1px solid var(--evx-accent-light);
  border-radius: 11px;
  background: var(--evx-accent-soft);
}
.demo-result-content .demo-result-meta span,
.demo-result-content .demo-verdict > span {
  color: var(--evx-accent-strong);
  font-size: .62rem;
  font-weight: 700;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.demo-result-content .demo-result-meta strong {
  color: var(--evx-heading);
  font-size: .82rem;
}
.demo-result-content table {
  display: table;
  width: 100%;
  margin: 14px 0 16px;
  border-collapse: separate;
  border-spacing: 0;
  overflow: hidden;
  border: 1px solid var(--evx-border);
  border-radius: 11px;
  font-size: .73rem;
  line-height: 1.35;
}
.demo-result-content th,
.demo-result-content td {
  padding: 8px 9px;
  border-bottom: 1px solid var(--evx-border);
  text-align: left;
  white-space: nowrap;
}
.demo-result-content th:not(:first-child),
.demo-result-content td:not(:first-child) { text-align: right; }
.demo-result-content th { color: var(--evx-muted); font-size: .62rem; letter-spacing: .04em; text-transform: uppercase; }
.demo-result-content td { color: var(--evx-subheading); }
.demo-result-content tr:last-child td { border-bottom: 0; }
.demo-result-content td:last-child { color: var(--evx-accent-strong); font-weight: 700; }
.demo-result-content .demo-verdict {
  margin: 16px 0;
  padding: 13px 14px;
  border-left: 3px solid var(--evx-accent);
  border-radius: 0 12px 12px 0;
  background: var(--evx-accent-soft);
}
.demo-result-content .demo-verdict > span { display: block; margin-bottom: 4px; }
.demo-result-content .demo-verdict strong { display: block; color: var(--evx-heading); font-size: .95rem; }
.demo-result-content .demo-verdict p { margin: 5px 0 0; color: var(--evx-subheading); font-size: .78rem; line-height: 1.45; }
@media (max-width: 640px) {
  .demo-result-content { padding: 12px; font-size: .82rem; }
  .demo-result-content table { font-size: .62rem; }
  .demo-result-content th, .demo-result-content td { padding: 7px 5px; }
  .demo-result-content th { font-size: .54rem; white-space: normal; }
  .demo-result-content td:first-child { max-width: 92px; white-space: normal; }
}


/* EMIREVOX button hover integration — adapted from Framer Button Hover Pro. */
.rb-hover-button {
  --rb-button-bg: var(--evx-accent-strong, #b65038);
  --rb-button-ink: var(--evx-page, #fbfaf7);
  --rb-button-hover-bg: var(--evx-page, #fbfaf7);
  --rb-button-hover-ink: var(--evx-accent-strong, #b65038);
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: .75rem;
  border-radius: 999px !important;
  background: var(--rb-button-bg) !important;
  border: 1px solid var(--rb-button-bg) !important;
  color: var(--rb-button-ink) !important;
  box-shadow: 0 8px 20px rgba(182, 80, 56, .20) !important;
  transition: box-shadow .5s cubic-bezier(.5, 0, .2, 1), transform .5s cubic-bezier(.5, 0, .2, 1), border-color .5s cubic-bezier(.5, 0, .2, 1) !important;
}
.rb-hover-button::before {
  content: "";
  position: absolute;
  z-index: 0;
  top: 50%;
  right: .8rem;
  width: 2rem;
  height: 2rem;
  border-radius: 999px;
  background: var(--rb-button-hover-bg);
  pointer-events: none;
  transform: translateY(-50%) scale(1);
  transform-origin: center;
  transition: transform .5s cubic-bezier(.5, 0, .2, 1);
}
.rb-hover-button > .rb-hover-label,
.rb-hover-button > .rb-hover-arrow { position: relative; z-index: 2; }
.rb-hover-button > .rb-hover-label { transition: color .5s cubic-bezier(.5, 0, .2, 1); }
.rb-hover-button > .rb-hover-arrow {
  display: inline-grid;
  place-items: center;
  flex: 0 0 2rem;
  width: 2rem;
  height: 2rem;
  border-radius: 999px;
  background: var(--rb-button-bg);
  color: var(--rb-button-ink);
  font-size: 1.2rem;
  line-height: 1;
  transition: background-color .5s cubic-bezier(.5, 0, .2, 1), color .5s cubic-bezier(.5, 0, .2, 1), transform .5s cubic-bezier(.5, 0, .2, 1);
}
.rb-hover-button:hover,
.rb-hover-button:focus-visible {
  background: var(--rb-button-bg) !important;
  border-color: var(--rb-button-hover-bg) !important;
  box-shadow: 0 0 15px 2px rgba(182, 80, 56, .34), 0 12px 26px rgba(182, 80, 56, .18) !important;
  transform: translateY(-2px);
}
.rb-hover-button:hover::before,
.rb-hover-button:focus-visible::before { transform: translateY(-50%) scale(10); }
.rb-hover-button:hover > .rb-hover-label,
.rb-hover-button:focus-visible > .rb-hover-label { color: var(--rb-button-hover-ink) !important; }
.rb-hover-button:hover > .rb-hover-arrow,
.rb-hover-button:focus-visible > .rb-hover-arrow {
  background: transparent;
  color: var(--rb-button-hover-ink);
  transform: rotate(45deg);
}
.rb-hover-button:active { transform: translateY(0); }
/* The password eye must be a clean, theme-colored icon button—not a browser default square. */
.auth-password-toggle {
  appearance: none;
  -webkit-appearance: none;
  display: grid;
  place-items: center;
  width: 2.75rem;
  height: 2.75rem;
  padding: 0;
  border: 1px solid transparent;
  border-radius: 999px;
  background: transparent;
  color: var(--evx-accent-strong, #b65038);
  cursor: pointer;
  transition: background-color .2s ease, border-color .2s ease, color .2s ease, transform .2s ease;
}
.auth-password-toggle:hover,
.auth-password-toggle:focus-visible {
  background: var(--evx-accent-soft, rgba(182, 80, 56, .10));
  border-color: var(--evx-accent-border, rgba(182, 80, 56, .30));
  color: var(--evx-accent-strong-hover, #99422f);
  transform: translateY(-50%) scale(1.04);
}
.auth-password-toggle:focus-visible { outline: 2px solid var(--evx-accent, #b65038); outline-offset: 2px; }
.auth-password-toggle .auth-eye-icon { width: 1.35rem; height: 1.35rem; }

/* Extra breathing room between Compare and Sign in in the mobile burger menu. */
.mobile-menu-actions { gap: 1.75rem !important; }
#auth-nav-btn-mobile { margin-top: .35rem; }

@media (prefers-reduced-motion: reduce) {
  .rb-hover-button,
  .rb-hover-button::before,
  .rb-hover-button > .rb-hover-label,
  .rb-hover-button > .rb-hover-arrow,
  .auth-password-toggle { transition: none !important; }
}


/* Mobile burger actions: balanced button scale and spacing. */
@media (max-width: 700px) {
  .mobile-menu-actions {
    gap: 1.25rem !important;
  }
  .mobile-menu-actions > #try-emirevox-btn-mobile,
  .mobile-menu-actions > #auth-nav-btn-mobile {
    box-sizing: border-box;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 3.5rem;
    min-height: 3.5rem !important;
    padding-block: 0 !important;
    font-size: 1rem !important;
    line-height: 1.2;
    border-radius: 999px !important;
  }
  .mobile-menu-actions > #auth-nav-btn-mobile {
    margin-top: 0;
  }
}

/* Auth clarity pass: readable password guidance at every viewport. */
.auth-password-checks {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  column-gap: 1rem !important;
  row-gap: .6rem !important;
  font-size: .8rem !important;
  line-height: 1.25;
}
.auth-password-checks span {
  min-width: 0;
  white-space: normal !important;
}
@media (max-width: 420px) {
  .auth-password-checks {
    grid-template-columns: 1fr !important;
    row-gap: .5rem !important;
  }
}


/* Account actions: make sign-out labels readable and balanced with Workspace. */
#auth-panel #auth-logout,
#auth-panel #auth-logout-confirm-action,
#auth-panel #auth-logout-cancel {
  font-size: 1rem !important;
  font-weight: 700 !important;
  letter-spacing: 0;
}
#auth-panel #auth-logout {
  min-height: 3.25rem !important;
}
#auth-panel .auth-logout-confirm-actions > button {
  min-height: 3.1rem !important;
  height: 3.1rem !important;
}

/* Readability pass: keep primary product copy comfortably above micro-text sizes. */
.not-found-page main > p[data-i18n="notfound.body"] {
  font-size: 1.05rem;
  line-height: 1.7;
  max-width: 36rem;
}
.not-found-page main > a[data-i18n="notfound.cta"] {
  font-size: 1rem;
  line-height: 1.35;
}
.not-found-page main > h1 {
  font-size: clamp(2rem, 5vw, 2.5rem);
  line-height: 1.15;
}

/* Auth forms: labels, helper copy and account actions must be readable on mobile. */
.auth-tab { font-size: 1rem !important; }
.auth-label { font-size: .84rem !important; }
.auth-help { font-size: .9rem !important; line-height: 1.55 !important; }
.auth-status,
.auth-inline-status { font-size: .9rem !important; line-height: 1.5 !important; }
.auth-legal { font-size: .82rem !important; line-height: 1.55 !important; }
.auth-account-email { font-size: .92rem !important; }
.auth-submit,
#auth-panel button,
#auth-panel input,
#auth-panel select { font-size: 1rem; }

/* Home supporting copy and labels. */
.hero-trial-note,
.guest-trial-note,
.trust-card p,
.infra-card p,
.onboarding-strip p { font-size: .9rem !important; line-height: 1.55 !important; }
.trust-card-index,
.infra-label,
.infra-card .text-xs { font-size: .82rem !important; }

/* Workspace navigation and status copy. */
.workspace-nav-item,
.workspace-chat-list-item,
.workspace-home-link,
.workspace-signout { font-size: .9rem !important; }
.workspace-history-label,
.workspace-label { font-size: .78rem !important; }
.workspace-trust-note,
.workspace-email-banner-copy span,
.workspace-email-banner-status,
.workspace-status,
.settings-row small { font-size: .84rem !important; line-height: 1.5 !important; }
.workspace-email-banner-copy strong,
.workspace-email-gate-copy strong { font-size: .98rem !important; }
.workspace-email-gate-copy span,
.workspace-view-lead { font-size: .95rem !important; line-height: 1.6 !important; }
.workspace-secondary-button,
.workspace-danger-button,
.settings-select { font-size: .9rem !important; }
.chat-message-label { font-size: .78rem !important; }
.chat-composer-note { font-size: .8rem !important; }
.chat-suggestions button { font-size: .86rem !important; }

/* Legal pages and account details. */
.legal-actions a,
.legal-actions button { font-size: .95rem !important; }
.legal-card .legal-note { font-size: .9rem !important; line-height: 1.6 !important; }
.workspace-account-facts span,
.workspace-account-facts strong { font-size: .86rem !important; }

@media (max-width: 700px) {
  .not-found-page { padding-inline: 1.25rem !important; }
  .not-found-page main > p[data-i18n="notfound.body"] { font-size: 1rem; }
  .auth-label { font-size: .86rem !important; }
  .workspace-nav-item,
  .workspace-chat-list-item,
  .workspace-signout { font-size: .94rem !important; }
}


/* Plain auth surface: mode switching must not be confused by decorative motion. */
#auth-panel .auth-dialog,
#auth-panel .auth-dialog > *,
#auth-panel .auth-input-wrap .auth-input,
#auth-panel .auth-password-checks span,
#auth-panel .auth-check-mark,
#auth-panel .auth-submit.btn-primary,
#auth-panel .auth-password-toggle,
#auth-panel .auth-tab {
  animation: none !important;
  transition: none !important;
}
#auth-panel .auth-dialog { transform: none !important; }
#auth-panel .auth-input-wrap .auth-input:focus { transform: none !important; }
#auth-panel .auth-password-checks [data-valid="true"] { transform: none !important; }
#auth-panel .auth-password-checks [data-valid="false"] .auth-check-mark { transform: none !important; }
#auth-panel .auth-submit.btn-primary:not(:disabled):hover,
#auth-panel .auth-submit.btn-primary:not(:disabled):active,
#auth-panel .auth-close:hover,
#auth-panel .auth-close:focus-visible { transform: none !important; }
#auth-panel .auth-password-toggle:hover,
#auth-panel .auth-password-toggle:focus-visible { transform: translateY(-50%) !important; }


/* A single restrained fade when switching between sign-up and sign-in. */
#auth-panel .auth-dialog #auth-form-wrap.auth-mode-switching {
  animation: auth-mode-switch .18s ease-out both !important;
}
@keyframes auth-mode-switch {
  from { opacity: .58; }
  to { opacity: 1; }
}
@media (prefers-reduced-motion: reduce) {
  #auth-panel .auth-dialog #auth-form-wrap.auth-mode-switching { animation: none !important; }
}


/* EMIREVOX auth reference adaptation: split-screen signup/login with the existing warm brand palette. */
#auth-panel .auth-dialog {
  width: min(68rem, calc(100vw - 2.5rem)) !important;
  max-width: 68rem !important;
  max-height: calc(100dvh - 2.5rem) !important;
  padding: 0 !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  border-color: var(--evx-border) !important;
  background: var(--evx-surface) !important;
  color: var(--evx-text) !important;
  box-shadow: 0 28px 90px rgba(23, 22, 20, .19) !important;
}
#auth-panel .auth-split-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.04fr) minmax(18rem, .96fr);
  align-items: stretch;
  min-width: 0;
}
#auth-panel .auth-main-panel {
  min-width: 0;
  padding: clamp(1.5rem, 3.4vw, 2.6rem);
}
#auth-panel .auth-dialog-copy { padding-right: 3.45rem !important; }
#auth-panel .auth-dialog-copy .text-section { color: var(--evx-heading) !important; }
#auth-panel .auth-dialog-copy > p:last-child { color: var(--evx-subheading) !important; }
#auth-panel .auth-close {
  top: 1.25rem !important;
  right: auto !important;
  left: calc(52% - 3.65rem) !important;
  background: var(--evx-surface-raised) !important;
  border-color: var(--evx-border) !important;
  color: var(--evx-subheading) !important;
}
#auth-panel .auth-tabs {
  border-color: var(--evx-border) !important;
  background: var(--evx-hover) !important;
}
#auth-panel .auth-tab { color: var(--evx-subheading) !important; }
#auth-panel .auth-tab.active {
  border-color: var(--evx-accent) !important;
  background: var(--evx-surface-raised) !important;
  color: var(--evx-accent) !important;
  box-shadow: 0 2px 8px rgba(184, 92, 67, .1) !important;
}
#auth-panel .auth-label { color: var(--evx-subheading) !important; }
#auth-panel .auth-input-wrap .auth-input:focus {
  border-color: var(--evx-accent) !important;
  box-shadow: 0 0 0 3px rgba(184, 92, 67, .15) !important;
}
#auth-panel .auth-submit.btn-primary {
  border-color: var(--evx-accent) !important;
  background: var(--evx-accent) !important;
  color: #fffaf7 !important;
}
#auth-panel .auth-submit.btn-primary:hover,
#auth-panel .auth-submit.btn-primary:focus-visible {
  border-color: var(--evx-accent-hover) !important;
  background: var(--evx-accent-hover) !important;
}
#auth-panel .auth-visual-panel {
  position: relative;
  display: flex;
  min-width: 0;
  min-height: 37rem;
  flex-direction: column;
  justify-content: space-between;
  gap: 1.8rem;
  overflow: hidden;
  padding: 2rem 1.8rem 1.65rem;
  border-left: 1px solid var(--evx-border);
  background: linear-gradient(148deg, var(--evx-hover) 2%, var(--evx-accent-soft) 100%);
  color: var(--evx-text);
  isolation: isolate;
}
#auth-panel .auth-visual-panel::before {
  position: absolute;
  z-index: -1;
  top: -8.5rem;
  right: -8rem;
  width: 23rem;
  aspect-ratio: 1;
  border: 1px solid rgba(184, 92, 67, .14);
  border-radius: 50%;
  content: "";
  box-shadow: 0 0 0 2.8rem rgba(184, 92, 67, .035), 0 0 0 5.6rem rgba(184, 92, 67, .025);
  pointer-events: none;
}
#auth-panel .auth-visual-brand-row,
#auth-panel .auth-visual-hero,
#auth-panel .auth-preview-window,
#auth-panel .auth-visual-footer { position: relative; z-index: 1; }
#auth-panel .auth-visual-brand-row { display: flex; align-items: center; gap: .6rem; min-height: 2.4rem; }
#auth-panel .auth-visual-mark {
  display: grid;
  width: 2.15rem;
  height: 2.15rem;
  place-items: center;
  border-radius: .72rem;
  background: var(--evx-accent);
  color: #fffaf7;
  font-family: 'Space Grotesk', Inter, sans-serif;
  font-size: 1.2rem;
  font-weight: 700;
}
#auth-panel .auth-visual-brand-name { color: var(--evx-heading); font-size: .76rem; font-weight: 800; letter-spacing: .15em; }
#auth-panel .auth-visual-brand-caption {
  margin-left: auto;
  padding: .42rem .58rem;
  border: 1px solid var(--evx-border);
  border-radius: 999px;
  background: var(--evx-surface);
  color: var(--evx-subheading);
  font-size: .52rem;
  font-weight: 700;
  letter-spacing: .08em;
  white-space: nowrap;
}
#auth-panel .auth-visual-hero { margin: .45rem 0 -.5rem; }
#auth-panel .auth-visual-eyebrow { color: var(--evx-accent); font-size: .61rem; font-weight: 800; letter-spacing: .17em; }
#auth-panel .auth-visual-hero h3 {
  max-width: 15ch;
  margin: .7rem 0 0;
  color: var(--evx-heading);
  font-family: 'Space Grotesk', Inter, sans-serif;
  font-size: clamp(1.8rem, 3vw, 2.5rem);
  font-weight: 600;
  letter-spacing: -.045em;
  line-height: 1.03;
}
#auth-panel .auth-preview-window {
  padding: .9rem;
  border: 1px solid var(--evx-border);
  border-radius: 1.1rem;
  background: var(--evx-surface);
  box-shadow: 0 16px 38px rgba(43, 34, 28, .1);
}
#auth-panel .auth-preview-window-head { display: flex; min-height: 1.6rem; align-items: center; gap: .5rem; color: var(--evx-subheading); }
#auth-panel .auth-preview-dots { display: flex; gap: .24rem; margin-right: .25rem; }
#auth-panel .auth-preview-dots i { width: .36rem; height: .36rem; border-radius: 50%; background: var(--evx-border-strong); }
#auth-panel .auth-preview-dots i:first-child { background: var(--evx-accent); }
#auth-panel .auth-preview-window-title { overflow: hidden; font-size: .61rem; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
#auth-panel .auth-preview-ready { margin-left: auto; color: var(--evx-success); font-size: .48rem; font-weight: 800; letter-spacing: .1em; }
#auth-panel .auth-preview-prompt {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: .55rem;
  margin: .75rem 0;
  padding: .63rem .7rem;
  border: 1px solid var(--evx-border-subtle);
  border-radius: .72rem;
  background: var(--evx-hover);
  color: var(--evx-subheading);
  font-size: .66rem;
}
#auth-panel .auth-preview-spark { color: var(--evx-accent); font-size: 1.1rem; line-height: 1; }
#auth-panel .auth-preview-prompt > span:nth-child(2) { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#auth-panel .auth-preview-send { display: grid; width: 1.35rem; height: 1.35rem; flex: 0 0 1.35rem; place-items: center; margin-left: auto; border-radius: .42rem; background: var(--evx-accent); color: #fffaf7; font-size: .8rem; }
#auth-panel .auth-preview-answer { padding: .8rem .78rem .48rem; border: 1px solid var(--evx-border-subtle); border-radius: .8rem; background: var(--evx-surface-raised); }
#auth-panel .auth-preview-answer-meta { display: flex; align-items: center; gap: .38rem; color: var(--evx-subheading); font-size: .48rem; font-weight: 800; letter-spacing: .09em; }
#auth-panel .auth-preview-answer-dot { width: .42rem; height: .42rem; border-radius: 50%; background: var(--evx-accent); box-shadow: 0 0 0 3px var(--evx-accent-soft); }
#auth-panel .auth-preview-answer-badge { margin-left: auto; padding: .16rem .35rem; border-radius: .3rem; background: var(--evx-accent-soft); color: var(--evx-accent); font-size: .47rem; }
#auth-panel .auth-preview-answer h4 { margin: .5rem 0 .45rem; color: var(--evx-heading); font-size: .82rem; font-weight: 700; letter-spacing: -.02em; }
#auth-panel .auth-preview-step { display: grid; grid-template-columns: 1.45rem 1fr 1rem; align-items: center; gap: .4rem; min-height: 1.72rem; border-top: 1px solid var(--evx-border-subtle); color: var(--evx-subheading); font-size: .56rem; }
#auth-panel .auth-preview-step > span:first-child { color: var(--evx-muted); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .52rem; }
#auth-panel .auth-preview-step b { color: var(--evx-accent); font-size: .7rem; text-align: right; }
#auth-panel .auth-preview-chart { margin-top: .72rem; padding: .62rem .7rem .38rem; border: 1px solid var(--evx-border-subtle); border-radius: .72rem; background: var(--evx-surface-raised); }
#auth-panel .auth-preview-chart-head { display: flex; justify-content: space-between; color: var(--evx-muted); font-size: .47rem; font-weight: 800; letter-spacing: .11em; }
#auth-panel .auth-preview-chart-head strong { color: var(--evx-accent); font-size: .56rem; letter-spacing: 0; }
#auth-panel .auth-preview-bars { display: flex; height: 2.25rem; align-items: end; gap: .32rem; margin-top: .42rem; }
#auth-panel .auth-preview-bars i { flex: 1; border-radius: .2rem .2rem .08rem .08rem; background: var(--evx-accent-soft); }
#auth-panel .auth-preview-bars i.bar-1 { height: 38%; }
#auth-panel .auth-preview-bars i.bar-2 { height: 57%; }
#auth-panel .auth-preview-bars i.bar-3 { height: 48%; }
#auth-panel .auth-preview-bars i.bar-4 { height: 76%; }
#auth-panel .auth-preview-bars i.bar-5 { height: 63%; }
#auth-panel .auth-preview-bars i.bar-6 { height: 92%; }
#auth-panel .auth-preview-bars i.bar-7 { height: 82%; }
#auth-panel .auth-preview-bars i:nth-last-child(-n+3) { background: var(--evx-accent); opacity: .72; }
#auth-panel .auth-preview-bars i:last-child { opacity: 1; }
#auth-panel .auth-visual-footer { display: flex; align-items: center; gap: .48rem; color: var(--evx-subheading); font-size: .5rem; font-weight: 800; letter-spacing: .12em; }
#auth-panel .auth-visual-footer-dot { width: .25rem; height: .25rem; border-radius: 50%; background: var(--evx-accent); }
#auth-panel:not(.hidden) .auth-preview-window { animation: auth-preview-in .42s cubic-bezier(.2, .8, .2, 1) both; }
@keyframes auth-preview-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
@media (max-width: 800px) {
  #auth-panel .auth-dialog { width: min(44rem, calc(100vw - 1.5rem)) !important; max-width: 44rem !important; max-height: calc(100dvh - 1rem) !important; }
  #auth-panel .auth-split-layout { display: block; }
  #auth-panel .auth-visual-panel { display: none; }
  #auth-panel .auth-main-panel { padding: clamp(1.25rem, 4vw, 2rem); }
  #auth-panel .auth-close { left: auto !important; right: 1rem !important; }
}
@media (max-width: 420px) {
  #auth-panel .auth-dialog { width: calc(100vw - .75rem) !important; max-height: calc(100dvh - .75rem) !important; }
  #auth-panel .auth-main-panel { padding: 1rem .9rem; }
  #auth-panel .auth-dialog-copy { padding-right: 2.9rem !important; }
}
@media (prefers-reduced-motion: reduce) {
  #auth-panel:not(.hidden) .auth-preview-window { animation: none !important; }
}


/* Upcoming tools: restrained EMIREVOX warm gradient, scoped to this section. */
#tools .tools-upcoming-grid {
  background: color-mix(in srgb, var(--evx-accent) 12%, var(--evx-border)) !important;
  border-color: color-mix(in srgb, var(--evx-accent) 24%, var(--evx-border)) !important;
  box-shadow: 0 24px 70px rgba(42, 33, 29, .12) !important;
}
#tools .tools-upcoming-grid .evo-card,
#tools .tools-upcoming-grid .evo-card:hover,
#tools .tools-upcoming-grid .evo-card:focus-within {
  background: linear-gradient(145deg, color-mix(in srgb, var(--evx-surface) 92%, var(--evx-accent)), color-mix(in srgb, var(--evx-page) 96%, var(--evx-accent))) !important;
  border-color: transparent !important;
}
#tools .tools-upcoming-grid .evo-card::before {
  background: color-mix(in srgb, var(--evx-accent) 16%, transparent) !important;
}
#tools .tools-upcoming-grid .evo-card > .flex > div,
#tools .tools-upcoming-grid .evo-card:nth-child(2) > .flex > div {
  background: color-mix(in srgb, var(--evx-accent) 10%, transparent) !important;
  border-color: color-mix(in srgb, var(--evx-accent) 28%, transparent) !important;
}
#tools .tools-upcoming-grid .tool-cta-soon,
#tools .tools-upcoming-grid .evo-card:nth-child(2) .tool-cta-soon {
  color: var(--evx-accent) !important;
  border-top-color: color-mix(in srgb, var(--evx-accent) 20%, transparent) !important;
}

/* Footer metadata must remain readable against both theme surfaces. */
.home-page footer .footer-copyright { color: #6c665f !important; }
[data-theme="dark"] .home-page footer .footer-copyright { color: #b8b1a8 !important; }
