/* Shared landing-page glass surfaces. Text remains opaque for contrast. */
body, body.ads, body.finance, body.home {
  --glass-tint: 86, 105, 121;
  --glass-edge: rgba(255,255,255,.92);
  --glass-surface: rgba(255,255,255,.74);
  --glass-line: rgba(55,78,101,.14);
  --glass-shadow: 0 18px 50px -30px rgba(32,57,88,.24), inset 0 1px 0 rgba(255,255,255,.95);
  --muted: #516272;
  --line: var(--glass-line);
  background: radial-gradient(ellipse at 8% 5%,rgba(var(--glass-tint),.10),transparent 45%), radial-gradient(ellipse at 93% 28%,rgba(var(--glass-tint),.08),transparent 40%), #f7f9fb;
  color: #172735;
}
body.ads { --glass-tint: 63,130,240; --accent: #145bcb; --dark: #123a77; --accent-light: #edf4ff; }
body.finance { --glass-tint: 54,160,116; --accent: #126e50; --dark: #144e3d; --accent-light: #eaf6ef; }
body.home { --accent: #3e4c57; --dark: #1d2932; --accent-light: #eef1f3; }
body .site-header {
  background: rgba(255,255,255,.80); border-bottom: 1px solid var(--glass-edge);
  box-shadow: 0 5px 22px -20px #20394c66;
  -webkit-backdrop-filter: blur(20px) saturate(140%); backdrop-filter: blur(20px) saturate(140%);
}
.nav { height: 86px; }
body .button, body .button-small { border-radius: 12px; min-height: 48px; font-size: 13px; }
body .button-primary { border: 1px solid rgba(255,255,255,.3); box-shadow: inset 0 1px 0 #ffffff42, 0 7px 18px -10px var(--accent); }
body .button-dark { background: rgba(255,255,255,.65); border-color: var(--glass-line); box-shadow: inset 0 1px 0 #fff; }
body .button:focus-visible, body a:focus-visible, body button:focus-visible, body summary:focus-visible { outline: 3px solid var(--accent); outline-offset: 4px; }
body .nav-links { font-size: 13px; }
/* With the decorative scene removed, the message owns the hero. */
body .cinematic-hero, body.finance .cinematic-hero { min-height: 0; padding: 68px 0 0; background: transparent; }
body .cinematic-hero .hero-grid { display: block; }
body .hero-copy { width: 100%; max-width: 1080px; margin: auto; padding: 0 0 44px; text-align: center; animation: none; transform: none; }
body .hero-copy > .eyebrow { justify-content: center; margin-bottom: 25px; font-size: 11px; }
body .hero-role { margin: -10px 0 22px; font-size: 11px; color: #486259; }
body .cinematic-hero h1, body.finance .cinematic-hero h1 { font-size: clamp(48px,5.7vw,82px); line-height: 1.06; letter-spacing: -.055em; margin: 0 auto 26px; max-width: 1040px; text-wrap: balance; }
body .hero-description, body.ads .hero-description, body.finance .hero-description { font-size: 18px; line-height: 1.65; max-width: 650px; margin: 0 auto 28px; color: #4a5d6c; }
body .hero-actions { justify-content: center; gap: 25px; }
body .hero-note, body.ads .hero-note, body.finance .hero-note { max-width: none; justify-content: center; font-size: 12px; color: #4d626e; margin-top: 24px; }
body .hero-index { padding: 18px 0; font-size: 10px; }
body .hero-index a { color: var(--accent); }
body .product-demo { padding-top: 48px; padding-bottom: 48px; perspective: none; }
body .demo-intro { margin-bottom: 26px; }
body .demo-intro h2 { font-size: clamp(29px,3.1vw,43px); }
body .demo-intro > p { color: #526674; font-size: 14px; }
body .workspace, body .offer-card, body .reservation-dialog, body .product-link,
body .finance-stage, body .finance-window, body .promise-card, body .legal-page {
  background: var(--glass-surface) !important; border: 1px solid var(--glass-edge) !important;
  border-radius: 24px !important; box-shadow: var(--glass-shadow) !important;
  -webkit-backdrop-filter: blur(18px) saturate(130%); backdrop-filter: blur(18px) saturate(130%);
}
body .workspace { transform: none; overflow: hidden; }
body .workspace-title, body .finance-workspace .workspace-title { background: rgba(255,255,255,.54); border-bottom-color: var(--glass-line); }
body .demo-chat, body .account-sidebar { background: rgba(var(--glass-tint),.065); }
body .demo-metrics > div, body .finance-workspace .demo-metrics > div { background: rgba(255,255,255,.64); border-color: var(--glass-line); border-radius: 12px; }
body .chat-message, body .chat-prompts button, body .chat-form, body .bank-initial, body .connection-flow { background: rgba(255,255,255,.82); border-color: var(--glass-line); border-radius: 12px; }
body .chat-message.user, body .account-choice.selected, body .financial-insight, body .allocation-plan > div { background: rgba(var(--glass-tint),.09); border-radius: 14px; }
body .manager-tabs button[aria-selected=true], body .finance-tabs button[aria-selected=true] { background: rgba(var(--glass-tint),.08); }
body .ad-table tbody tr { background: rgba(255,255,255,.45); }
body .ad-table thead, body .transaction-table th { background: rgba(var(--glass-tint),.07); }
body .micro-label, body .workspace .micro-label, body .demo-metrics small, body .finance-workspace .demo-metrics small, body .account-choice small, body .sample-label { color: #536878; }
body .context-strip { background: rgba(255,255,255,.48); border-block: 1px solid var(--glass-edge); }
body .section { padding: 74px 0; }
body .workflow-section, body.ads .workflow-section, body.finance .workflow-section,
body .offer-section, body.ads .offer-section, body.finance .offer-section,
body .promises-section, body .faq-section, body.finance .founder-note { background: rgba(255,255,255,.28); border-color: var(--glass-line); }
body .section-heading { margin-bottom: 32px; }
body .steps { gap: 16px; border: 0; }
body .step, body .step + .step { background: rgba(255,255,255,.62); border: 1px solid var(--glass-edge) !important; border-radius: 20px; padding: 28px; box-shadow: var(--glass-shadow); }
body .step-number { margin-bottom: 27px; }
body .step h3 { font-size: 25px; }
body .step p, body .feature-copy p, body .promise-card p { font-size: 14px; color: #4c626f; }
body .control-band { margin-top: 25px; }
body .offer-layout { gap: 64px; }
body .offer-intro { position: static; }
body .offer-intro h2, body.finance .offer-intro h2 { font-size: clamp(37px,4.1vw,58px); }
body .offer-intro > p, body.finance .offer-intro > p { color: #4c626f; }
body .offer-card, body.ads .offer-card, body.finance .offer-card { padding: 32px; }
body .offer-items strong { font-size: 15px; }
body .offer-items span { font-size: 13px; color: #4c626f; }
body .tier-pricing { background: rgba(var(--glass-tint),.065) !important; border-color: var(--glass-line) !important; border-radius: 16px !important; }
body .promise-card { padding: 28px; }
body .faq-layout { gap: 64px; }
body .faq-list details { background: rgba(255,255,255,.65); border: 1px solid var(--glass-edge); border-radius: 16px; padding: 0 22px; margin-bottom: 10px; box-shadow: inset 0 1px 0 #fff; }
body .faq-list summary { font-size: 15px; padding: 22px 0; }
body .faq-list details > p { font-size: 14px !important; color: #4c626f; }
body .reservation-dialog { background: rgba(251,253,255,.97) !important; max-height: calc(100dvh - 40px); }
body .reservation-dialog::backdrop { background: #17334860; -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
body .waitlist-form input, body .waitlist-form select { border-radius: 10px; background: #fff; border-color: #b8c8d2; font-size: 16px; }
body .reservation-summary, body .form-extra { border-radius: 12px; }
body .footer, body.finance .footer { background: rgba(255,255,255,.55); color: #172735; border-top-color: var(--glass-edge); padding-top: 42px; }
body .footer-top > p, body.finance .footer-top > p, body .footer-bottom, body.finance .footer-bottom { color: #526672; }
body .footer-top { padding-bottom: 32px; }
body .footer .brand-product, body.finance .footer .brand-product, body .footer a:hover, body.finance .footer a:hover { color: var(--accent); }
body .footer .contact, body.finance .footer .contact, body .footer-bottom, body.finance .footer-bottom, body.finance .footer .brand-product { border-color: var(--glass-line); }
body .home-main { padding-top: 64px; }
body .home-main > h1 { font-size: clamp(66px,7.5vw,106px); }
body .home-intro { margin-bottom: 54px; }
body .product-link { min-height: 290px; transform: none; }
body .ads-link { background: rgba(220,234,255,.6) !important; }
body .finance-link { background: rgba(218,240,228,.6) !important; }
body .product-link h2 { font-size: 47px; }
body .legal-page { margin-block: 40px; padding: 44px; }
body .measurement-notice { border-radius: 18px; }
/* Opaque surfaces remain readable in browsers without backdrop-filter. */
@supports not (backdrop-filter: blur(1px)) {
  body .workspace, body .offer-card, body .promise-card, body .reservation-dialog, body .legal-page { background: #fdfefe !important; }
  body .site-header { background: #fdfefe; }
}
@media (max-width:850px) {
  body .nav { height: 76px; }
  body .cinematic-hero, body.finance .cinematic-hero { padding-top: 48px; }
  body .hero-copy { padding-bottom: 34px; }
  body .hero-description { max-width: 580px; }
  body .section { padding: 54px 0; }
  body .steps { grid-template-columns: 1fr; }
  body .offer-layout, body .faq-layout, body .feature-layout { gap: 36px; }
  body .offer-intro > p { max-width: 100%; }
  body .legal-page { padding: 30px; }
}
@media (max-width:520px) {
  body .container { width: calc(100% - 36px); }
  body .brand { font-size: 17px; gap: 5px; }
  body .brand-product { margin-left: 2px; padding-left: 7px; }
  body .nav-cta { font-size: 11px; min-height: 44px; padding: 9px 10px; gap: 7px; }
  body .cinematic-hero h1, body.finance .cinematic-hero h1 { font-size: clamp(38px,10.5vw,54px); line-height: 1.09; }
  body .hero-copy > .eyebrow, body.ads .hero-copy > .eyebrow, body.finance .hero-copy > .eyebrow { font-size: 10px; line-height: 1.7; margin-bottom: 20px; }
  body .hero-role { font-size: 9px; margin-bottom: 20px; }
  body .hero-description, body.ads .hero-description, body.finance .hero-description { font-size: 16px; }
  body .hero-actions { flex-direction: column; gap: 12px; }
  body .hero-actions > .button { width: 100%; justify-content: center; font-size: 14px; }
  body .hero-actions > .text-link { font-size: 13px; }
  body .hero-note, body.ads .hero-note, body.finance .hero-note { font-size: 10px; margin: 18px auto 0; line-height: 1.7; }
  body .hero-index { font-size: 8px; gap: 16px; }
  body .product-demo { padding: 30px 0; }
  body .workspace, body .offer-card, body .promise-card, body .finance-stage, body .finance-window { border-radius: 18px !important; }
  body .offer-card, body.ads .offer-card, body.finance .offer-card { padding: 24px 20px; }
  body .offer-intro h2, body.finance .offer-intro h2 { font-size: 39px; }
  body .faq-list details { padding-inline: 17px; }
  body .step, body .step + .step, body .promise-card { padding: 24px; }
  body .home-main { padding-top: 48px; }
  body .home-intro { margin-bottom: 42px; }
  body .product-link h2 { font-size: 43px; }
  body .legal-page { padding: 24px 20px; }
  body .footer-bottom > div { gap: 16px; flex-wrap: wrap; }
}
@media (prefers-reduced-motion:reduce) { body .hero-copy { animation: none; } }
