/* Public presentation palette, matched to dashboard-design.css.
   Navy frames the product; white surfaces hold content; blue marks actions.
   Keep these tokens scoped to the landing and its public navigation. */
#siteNav.landing-header,
#publicView.lp-landing {
  --lp-navy-deep: #071d40;
  --lp-navy: #082a59;
  --lp-navy-line: #193c63;
  --lp-navy-surface: linear-gradient(115deg, #071d40, #082a59);
  --lp-on-navy: #edf5ff;
  --lp-on-navy-copy: #b9cfe8;
  --lp-on-navy-muted: #9dbadd;
  --lp-page: #f3f4f6;
  --lp-surface: #fff;
  --lp-soft: #f7f9fc;
  --lp-ink: #06245a;
  --lp-copy: #476987;
  --lp-muted: #6a8197;
  --lp-blue: #126fc5;
  --lp-blue-hover: #07539f;
  --lp-line: #dde5ee;
  --lp-sky: #eaf3fe;
}
#publicView.lp-landing {
  --landing-ink: var(--lp-ink);
  --landing-copy: var(--lp-copy);
  --landing-muted: var(--lp-muted);
  --landing-line: var(--lp-line);
  --landing-paper: var(--lp-page);
  --decygo-text-heading: var(--lp-ink);
  --decygo-text-body: var(--lp-copy);
  --decygo-text-muted: var(--lp-muted);
  background: var(--lp-page);
  color: var(--lp-ink);
}

/* The same white navigation and restrained blue controls as the workspace. */
#siteNav.landing-header { color: var(--lp-ink); border-color: var(--lp-line); background: #fffffffa; box-shadow: 0 8px 26px #06245a12; }
#siteNav.landing-header.is-scrolled { border-color: var(--lp-line); background: #fffffffa; }
#siteNav :is(.landing-nav-links a,.landing-mobile-links a) { color: var(--lp-copy); }
#siteNav :is(.landing-nav-links a,.landing-mobile-links a):hover { color: var(--lp-ink); background: var(--lp-sky); }
#siteNav :is(.landing-nav-start,.landing-mobile-auth button) { background: var(--lp-blue); border-color: var(--lp-blue); color: #fff; }
#siteNav :is(.landing-nav-start,.landing-mobile-auth button):hover { background: var(--lp-blue-hover); border-color: var(--lp-blue-hover); color: #fff; }
#siteNav :is(.landing-nav-auth,.landing-mobile-menu,.landing-mobile-auth) { border-color: var(--lp-line); }
#siteNav :is(.landing-nav-login,.landing-menu-button) { color: var(--lp-ink); }

/* Navy is visible from the first screen, behind the existing floating cards. */
#publicView.lp-landing .reference-hero { background: var(--lp-navy-surface); }
#publicView.lp-landing .reference-hero::before { background: radial-gradient(ellipse at 50% 45%, #126fc51a, transparent 68%); }
#publicView.lp-landing .reference-hero::after { border-color: #b9cfe810; box-shadow: 0 0 0 65px #b9cfe803, 0 0 0 66px #b9cfe808; }
#publicView.lp-landing .lp-hero-center .ref-title { color: #fff; }
#publicView.lp-landing .lp-hero-center .lp-title-accent { background: none; color: #b6d9ff; -webkit-text-fill-color: currentColor; }
#publicView.lp-landing .lp-hero-center .ref-intro-copy > p { color: var(--lp-on-navy-copy); }
#publicView.lp-landing .lp-hero-microcopy { color: var(--lp-on-navy-muted); }
#publicView.lp-landing :is(.lp-demo-caption,.lp-demo-disclaimer) { color: var(--lp-on-navy-copy); }
#publicView.lp-landing .lp-hero-center .landing-hero-secondary { color: var(--lp-on-navy); background: #ffffff08; border-color: #b9cfe852; box-shadow: none; }
#publicView.lp-landing .lp-hero-center .landing-hero-secondary:hover { color: #fff; background: #ffffff14; border-color: #b9cfe894; }
#publicView.lp-landing .lp-hero-center .ref-primary { box-shadow: inset 0 1px 0 #ffffff26, 0 8px 24px #00132d26; }
#publicView.lp-landing .lp-float-card,
#publicView.lp-landing .lp-float-goal .lp-float-card { background: var(--lp-surface); border-color: var(--lp-line); outline-color: #dde5ee40; box-shadow: 0 18px 40px -20px #00132d66; }
#publicView.lp-landing .lp-float-card:hover { outline-color: #9dbadd; box-shadow: 0 20px 45px -20px #00132d80; }
#publicView.lp-landing :is(.lp-float-top,.lp-float-subtitle,.lp-float-items > span,.lp-float-foot,.lp-float-values > span,.lp-float-dots > span:not(.is-done)) { color: #526d84; }
#publicView.lp-landing .lp-float-catalog-cover,
#publicView.lp-landing .lp-float-result { background: var(--lp-navy-surface); color: var(--lp-on-navy); border-color: var(--lp-navy-line); }
#publicView.lp-landing .lp-float-catalog-cover > span,
#publicView.lp-landing .lp-float-result > span:first-child { color: var(--lp-on-navy-copy); }
#publicView.lp-landing .lp-float-result strong { color: #fff; }
#publicView.lp-landing .lp-float-result > span:last-child { color: #b6d9ff; border-color: #b9cfe840; }

/* Flat brand colors replace the unrelated pale-blue background gradients. */
#publicView.lp-landing :is(.ref-primary,.lp-button:not(.lp-button-secondary),.landing-button-primary,.lp-round-button) { color: #fff; background: var(--lp-blue); border-color: var(--lp-blue); box-shadow: 0 3px 8px #06245a12; }
#publicView.lp-landing :is(.ref-primary,.lp-button:not(.lp-button-secondary),.landing-button-primary,.lp-round-button):hover:not(:disabled) { color: #fff; background: var(--lp-blue-hover); border-color: var(--lp-blue-hover); }
#publicView.lp-landing :is(.landing-button-secondary,.lp-button-secondary) { background: var(--lp-surface); color: var(--lp-ink); border-color: var(--lp-line); box-shadow: 0 2px 5px #06245a05; }
#publicView.lp-landing :is(.landing-button-secondary,.lp-button-secondary):hover:not(:disabled) { background: var(--lp-sky); color: var(--lp-ink); border-color: #92bce1; }
#publicView.lp-landing :is(.lp-journey-section,.lp-results-section,#diagramas,#planes) { background: var(--lp-page); }
#publicView.lp-landing :is(.lp-catalog-section,#producto,#demo,.lp-tools-explorer,.lp-tools-ribbon) { background: var(--lp-surface); }
#publicView.lp-landing :is(.lp-journey,.lp-catalog-app,.lp-management,.lp-results-app,.landing-window) { border-color: var(--lp-line); box-shadow: 0 10px 30px #06245a08; }
#publicView.lp-landing :is(.lp-stage-visual,.lp-catalog-preview-wrap) { background: var(--lp-soft); }

/* Public product demos use the workspace's navy headers and white work areas. */
#publicView.lp-landing .ref-browser { background: var(--lp-soft); border-color: #426287; box-shadow: 0 28px 60px -24px #00132d66; }
#publicView.lp-landing .ref-browser-bar { background: var(--lp-navy-deep); border-color: var(--lp-navy-line); }
#publicView.lp-landing #heroTabbedDemo .ref-tab { color: var(--lp-on-navy-copy); border-color: transparent; }
#publicView.lp-landing #heroTabbedDemo .ref-tab:hover { background: #ffffff12; color: #fff; }
#publicView.lp-landing #heroTabbedDemo .ref-tab[aria-selected="true"] { background: #fff; color: var(--lp-ink); border-color: #fff; box-shadow: none; }
#publicView.lp-landing .ref-browser-body { background: var(--lp-page); }
#publicView.lp-landing .ref-screen-header { background: var(--lp-surface); }
#publicView.lp-landing .ref-product-screen { border-color: var(--lp-line); box-shadow: 0 4px 20px #06245a08; }
#publicView.lp-landing .lp-start-canvas { background: var(--lp-navy-surface); border-color: var(--lp-navy-line); }
#publicView.lp-landing :is(.lp-route-label,.lp-canvas-footer) { color: var(--lp-on-navy-copy); }
#publicView.lp-landing :is(.lp-goal-ticket,.lp-next-ticket) { background: var(--lp-surface); border-color: var(--lp-line); }
#publicView.lp-landing .lp-view-head { background: var(--lp-navy-surface); margin-bottom: 28px; }
#publicView.lp-landing #heroTabbedDemo .lp-view-head h3 { color: #fff; }
#publicView.lp-landing .lp-view-head :is(p,.lp-eyebrow) { color: var(--lp-on-navy-copy); }
#publicView.lp-landing .lp-view-head .lp-status { background: #ffffff0d; border-color: #b9cfe840; color: var(--lp-on-navy-copy); }
#publicView.lp-landing .lp-goal-aside { background: var(--lp-navy-surface); }
#publicView.lp-landing #heroTabbedDemo .lp-goal-aside h4,
#publicView.lp-landing .lp-goal-aside .lp-progress-ring b { color: #fff; }
#publicView.lp-landing .lp-goal-aside :is(.lp-eyebrow,p,small,.lp-text-button) { color: var(--lp-on-navy-copy); }
#publicView.lp-landing .lp-goal-aside .lp-progress-ring { background: conic-gradient(#7dbbfa var(--lp-progress,0%),#28466c 0); }
#publicView.lp-landing .lp-goal-aside .lp-progress-ring > span { background: var(--lp-navy-deep); }
#publicView.lp-landing :is(.lp-tool-symbol,.lp-directory-icon,.lp-ribbon-icon,.lp-tool-dialog-icon) { background: var(--lp-navy-surface); color: #b6d9ff; border-color: var(--lp-navy-line); box-shadow: none; }
#publicView.lp-landing .lp-ribbon-chip { background: var(--lp-surface); border-color: var(--lp-line); box-shadow: 0 8px 18px -10px #06245a26; }
#publicView.lp-landing .lp-directory-tabs button[aria-selected="true"] { color: #fff; background: var(--lp-navy); border-bottom-color: var(--lp-navy); }
#publicView.lp-landing .lp-directory-tool:hover { background: var(--lp-soft); }
#publicView.lp-landing #lpToolsDialog { background: var(--lp-surface); border-color: var(--lp-line); }
#publicView.lp-landing #lpCalcResult { background: var(--lp-navy-surface); border-color: var(--lp-navy-line); color: #fff; }
#publicView.lp-landing #lpCalcResult > span { color: var(--lp-on-navy-copy); }
#publicView.lp-landing #lpCalcResult strong { color: #fff; }

/* Journey, catalog, goals and management share the same framing. */
#publicView.lp-landing :is(.lp-stage-tabs,.lp-app-bar,.landing-window-bar) { background: var(--lp-navy-surface); color: var(--lp-on-navy-copy); border-color: var(--lp-navy-line); }
#publicView.lp-landing .lp-stage-tabs button { color: var(--lp-on-navy); border-color: #b9cfe824; }
#publicView.lp-landing .lp-stage-tabs small { color: var(--lp-on-navy-muted); }
#publicView.lp-landing .lp-stage-tabs button:hover { color: #fff; background: #ffffff0d; }
#publicView.lp-landing .lp-stage-tabs button[aria-selected="true"] { color: var(--lp-ink); background: #fff; }
#publicView.lp-landing .lp-stage-tabs button[aria-selected="true"] small { color: var(--lp-copy); }
#publicView.lp-landing .lp-stage-tabs button[aria-selected="true"]::after { background: var(--lp-blue); }
#publicView.lp-landing.lp-scroll-pin .lp-scroll-guide { background: var(--lp-navy-deep); color: var(--lp-on-navy-copy); border-color: var(--lp-navy-line); }
#publicView.lp-landing .lp-scroll-guide :is(a,b,.lp-scroll-cue) { color: #b6d9ff; }
#publicView.lp-landing :is(.lp-journey-bottom,.lp-task-completion) { background: var(--lp-soft); border-color: var(--lp-line); }
#publicView.lp-landing .lp-app-bar strong { color: #fff; }
#publicView.lp-landing .lp-app-bar .lp-app-step { color: var(--lp-on-navy-copy); }
#publicView.lp-landing .lp-app-bar .lp-number { color: #b6d9ff; background: #ffffff12; }
#publicView.lp-landing .lp-catalog-cover:not([data-theme="sand"]) { background: var(--lp-navy-surface); color: #fff; }
#publicView.lp-landing .lp-results-top { padding: 24px; border: 1px solid var(--lp-navy-line); border-radius: 12px; background: var(--lp-navy-surface); }
#publicView.lp-landing .lp-results-top h3 { color: #fff; }
#publicView.lp-landing .lp-results-top :is(p,.lp-eyebrow,.lp-text-button) { color: var(--lp-on-navy-copy); }
#publicView.lp-landing .lp-management-nav { background: linear-gradient(155deg,#082a59,#071d40 75%); border-color: var(--lp-navy-line); }
#publicView.lp-landing .lp-management-nav button { color: var(--lp-on-navy); }
#publicView.lp-landing .lp-management-nav button :is(small,span) { color: var(--lp-on-navy-muted); }
#publicView.lp-landing .lp-management-nav button:hover { background: #ffffff0d; }
#publicView.lp-landing .lp-management-nav button[aria-selected="true"] { color: var(--lp-ink); background: #fff; border-left-color: var(--lp-blue); }
#publicView.lp-landing .lp-management-nav button[aria-selected="true"] :is(small,span) { color: var(--lp-copy); }
#publicView.lp-landing .lp-finance-balance { background: var(--lp-navy-surface); }
#publicView.lp-landing .lp-finance-balance strong { color: #fff; }
#publicView.lp-landing .lp-finance-balance :is(span,small) { color: var(--lp-on-navy-copy); }

/* Diagram states, AI demo and plans keep identical contrast conventions. */
#publicView.lp-landing :is(.landing-window-caption,.landing-window-bar > span) { color: var(--lp-on-navy-copy); }
#publicView.lp-landing :is(.landing-diagram-toolbar button[aria-selected="true"],.landing-flow-canvas button[aria-pressed="true"],.landing-org-root) { background: var(--lp-navy); border-color: var(--lp-navy-line); color: #fff; }
#publicView.lp-landing .landing-flow-canvas button[aria-pressed="true"] > span { color: var(--lp-on-navy-copy); }
#publicView.lp-landing .landing-billing { background: #e9edf2; border-color: var(--lp-line); }
#publicView.lp-landing .landing-billing button.active { background: var(--lp-navy); border-color: var(--lp-navy); color: #fff; }
#publicView.lp-landing .landing-billing button.active span { color: var(--lp-on-navy-copy); }
#publicView.lp-landing .landing-plan { padding: 25px 24px 24px; border: 1px solid var(--lp-line); border-radius: 16px; background: var(--lp-surface); }
#publicView.lp-landing .landing-plan-top,
#publicView.lp-landing .landing-plan-features li { color: var(--lp-copy); }
#publicView.lp-landing .landing-plan-features { border-color: var(--lp-line); }
#publicView.lp-landing .landing-plan-features .landing-icon { color: var(--lp-blue); }
#publicView.lp-landing .landing-plan-badge { color: var(--lp-ink); border-color: var(--lp-line); }
#publicView.lp-landing .landing-plan-featured { color: var(--lp-on-navy); background: var(--lp-navy-surface); border-color: var(--lp-navy-line); }
#publicView.lp-landing .landing-plan-featured :is(h3,.landing-plan-price) { color: #fff; }
#publicView.lp-landing .landing-plan-featured :is(.landing-plan-top,.landing-plan-description,.landing-plan-note,.landing-plan-price > span:last-child,.landing-plan-features li) { color: var(--lp-on-navy-copy); }
#publicView.lp-landing .landing-plan-featured .landing-plan-features { border-color: #b9cfe82b; }
#publicView.lp-landing .landing-plan-featured .landing-plan-features .landing-icon { color: #b6d9ff; }
#publicView.lp-landing .landing-plan-featured .landing-plan-badge { background: #ffffff12; border-color: #b9cfe840; color: #fff; }

/* Closing and footer use the same navy as the actual dashboard. */
#publicView.lp-landing .landing-closing { background: var(--lp-navy-surface); border-color: var(--lp-navy-line); }
#publicView.lp-landing .landing-closing h2 { color: #fff; }
#publicView.lp-landing .landing-closing h2 span { color: #b6d9ff; }
#publicView.lp-landing .landing-closing :is(.landing-eyebrow,.landing-lead,.landing-closing-note) { color: var(--lp-on-navy-copy); }
#publicView.lp-landing .landing-footer { color: var(--lp-on-navy); background: var(--lp-navy-deep); border-color: #b9cfe824; }
#publicView.lp-landing .landing-footer-brand img { filter: brightness(0) invert(1); }
#publicView.lp-landing .landing-footer-top p,
#publicView.lp-landing .landing-footer-top nav :is(a,button),
#publicView.lp-landing .landing-footer-bottom,
#publicView.lp-landing .landing-footer-bottom small { color: var(--lp-on-navy-copy); }
#publicView.lp-landing .landing-footer-bottom { border-color: #b9cfe824; }
#publicView.lp-landing .landing-footer-top nav :is(a,button):hover { color: #fff; }

/* Visible keyboard focus on both light and navy surfaces. */
#publicView.lp-landing :is(button,a,input,select,textarea):focus-visible { outline-color: #68aaea; }
@media (max-width: 480px) {
  #publicView.lp-landing .lp-results-top { padding: 18px; }
  #publicView.lp-landing .landing-plan { padding: 23px 20px; }
}
