/* ==========================================================================
   DividendsHQ signed-out landing: Concept A layout.
   Light theme (data-theme="sand") = Concept A tokens.
   Dark theme  (data-theme="dark") = Concept B palette on Concept A's layout.
   EVERY rule is scoped to #signed-out-landing.landing-a (or to <body> only while
   that landing is visible), so the signed-in app looks the same in both themes.
   Tune colours in the two token blocks below; nothing else hardcodes a colour.
   ========================================================================== */

@font-face {
  font-family: "DHQ Inter";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  /* Inter, SIL Open Font License 1.1: /static/fonts/Inter-OFL.txt */
  src: url(/static/fonts/inter-latin-wght.woff2?v=1) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ---------- Tokens: light (Concept A) ---------- */
#signed-out-landing.landing-a {
  --la-bg: #ffffff;
  --la-bg-image: none;
  --la-soft: #f5f7fa;
  --la-line: #e4e8ee;
  --la-ink: #0b1220;
  --la-ink2: #3a4453;
  --la-mute: #5b6573;
  --la-glow-text: #5b6573;        /* hero hint, chart caption (sit on the top glow in dark) */
  --la-acc: #2f5bea;              /* fills: primary button, highlight bar */
  --la-acc-text: #2f5bea;         /* text: eyebrows, links, h1 highlight */
  --la-acc2: #e9efFE;             /* step circles, number tiles, small badges */
  --la-acc2-text: #2f5bea;
  --la-grade-a: #0b7a53;
  --la-grade-b: #347a22;
  --la-grade-c: #b45309;
  --la-card-bg: linear-gradient(#ffffff, #ffffff); /* gradient so layered/cleared backgrounds stay opaque */
  --la-card-border: #e4e8ee;
  --la-card-shadow: 0 1px 2px rgba(16, 24, 40, 0.04), 0 12px 32px -12px rgba(16, 24, 40, 0.14);
  --la-feat-bg: #f5f7fa;
  --la-stage-bg: linear-gradient(180deg, #f3f6fb, #eef2f8);
  --la-stage-border: #e4e8ee;
  --la-stage-shadow: none;
  --la-primary-bg: #2f5bea;
  --la-primary-fg: #ffffff;
  --la-primary-shadow: 0 1px 2px rgba(16, 24, 40, 0.12), inset 0 1px 0 rgba(255, 255, 255, 0.18);
  --la-secondary-bg: #ffffff;
  --la-secondary-fg: #0b1220;
  --la-secondary-border: #cdd3dc;
  --la-secondary-shadow: 0 1px 2px rgba(16, 24, 40, 0.05);
  --la-ex-fg: #8a4b08;
  --la-ex-bg: #fff4e5;
  --la-ex-border: #f8d9ae;
  --la-ex-dot: #d97706;
  --la-strip-bg: #e9effe;
  --la-strip-fg: #1e3a8a;
  --la-final-bg: #0b1220;
  --la-final-border: #0b1220;
  --la-final-ink: #ffffff;
  --la-final-mute: #aeb7c6;
  --la-final-sec-bg: transparent;
  --la-final-sec-border: #3a4556;
  --la-bar-hi: #2f5bea;
  --la-bar: #c9d6fb;
  --la-grid: #e8ecf2;
  --la-axis: #667085;
  --la-arrow: #667085;
  --la-input-bg: #ffffff;
  --la-input-border: #cdd3dc;
  --la-check-border: #667085;
  --la-check-mark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.5l3 3 6-7' fill='none' stroke='%23ffffff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  --la-note-bg: #fff4e5;
  --la-note-fg: #7c2d12;
  --la-note-border: #f8d9ae;
  --la-err: #b91c1c;
  --la-ok: #0f8a5f;

  /* Re-point the app's theme variables for the auth card that lives inside the landing. */
  --bg: var(--la-bg);
  --bg2: var(--la-soft);
  --card: var(--la-card-bg);
  --text: var(--la-ink);
  --muted: var(--la-mute);
  --accent: var(--la-acc);
  --border: var(--la-line);
  --input-bg: var(--la-input-bg);
  --secondary: var(--la-secondary-bg);
  --good: var(--la-ok);
  --bad: var(--la-err);
}

/* ---------- Tokens: dark (Concept B palette) ---------- */
[data-theme="dark"] #signed-out-landing.landing-a {
  --la-bg: #060a13;
  --la-bg-image:
    radial-gradient(900px 520px at 50% -120px, rgba(47, 91, 234, 0.22), transparent 70%),
    radial-gradient(700px 500px at 100% 900px, rgba(56, 97, 251, 0.1), transparent 70%);
  --la-soft: rgba(255, 255, 255, 0.035);
  --la-line: rgba(255, 255, 255, 0.09);
  --la-ink: #f3f5f9;
  --la-ink2: #c4cbd8;
  --la-mute: #8e98ab;
  --la-glow-text: #c4cbd8;        /* Design: ink2 on the glow, not mute */
  --la-acc: #8aaeff;              /* Design blue update: accent, focus ring, dots, chart highlight */
  --la-acc-text: #8aaeff;         /* never A's fill blue as text on dark */
  --la-acc2: rgba(47, 91, 234, 0.16);
  --la-acc2-text: #8aaeff;
  --la-grade-a: #4ade80;
  --la-grade-b: #a3e635;
  --la-grade-c: #fbbf24;
  --la-card-bg: linear-gradient(180deg, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.015));
  --la-card-border: rgba(255, 255, 255, 0.09);
  --la-card-shadow: none;
  --la-feat-bg: rgba(255, 255, 255, 0.035);
  --la-stage-bg: linear-gradient(180deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.02));
  --la-stage-border: rgba(255, 255, 255, 0.12);
  --la-stage-shadow: 0 40px 120px -30px rgba(0, 0, 0, 0.8);
  --la-primary-bg: linear-gradient(180deg, #3d68f2, #2f5bea);
  --la-primary-fg: #ffffff;
  --la-primary-shadow: 0 0 0 1px rgba(138, 174, 255, 0.45), 0 8px 30px -6px rgba(47, 91, 234, 0.55);
  --la-secondary-bg: rgba(255, 255, 255, 0.06);
  --la-secondary-fg: #f3f5f9;
  --la-secondary-border: rgba(255, 255, 255, 0.14);
  --la-secondary-shadow: none;
  --la-ex-fg: #1a1405;
  --la-ex-bg: #e9c46a;
  --la-ex-border: #e9c46a;
  --la-ex-dot: transparent;
  --la-strip-bg: rgba(47, 91, 234, 0.1);
  --la-strip-fg: #c4cbd8;
  --la-final-bg: radial-gradient(600px 300px at 50% 0%, rgba(47, 91, 234, 0.22), transparent 70%), rgba(255, 255, 255, 0.02);
  --la-final-border: rgba(138, 174, 255, 0.25);
  --la-final-ink: #f3f5f9;
  --la-final-mute: #8e98ab;
  --la-final-sec-bg: rgba(255, 255, 255, 0.06);
  --la-final-sec-border: rgba(255, 255, 255, 0.14);
  --la-bar-hi: #8aaeff;
  --la-bar: rgba(138, 174, 255, 0.55);            /* non-highlight bars: >= 3:1 vs stage (Design) */
  --la-grid: rgba(255, 255, 255, 0.08);
  --la-axis: #8e98ab;
  --la-arrow: #8e98ab;
  --la-input-bg: rgba(255, 255, 255, 0.04);
  --la-input-border: rgba(255, 255, 255, 0.18);
  --la-check-border: rgba(255, 255, 255, 0.4);
  --la-check-mark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.5l3 3 6-7' fill='none' stroke='%23ffffff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  --la-check-fill: #2f5bea;       /* checked fill (non-text), white check */
  --la-note-bg: rgba(233, 196, 106, 0.08);
  --la-note-fg: #ebddb5;
  --la-note-border: rgba(233, 196, 106, 0.3);
  --la-err: #fca5a5;
  --la-ok: #4ade80;
}

/* ---------- Page chrome while the landing is visible ---------- */
body:has(> #signed-out-landing.landing-a:not(.hidden)) { background: #ffffff; }
[data-theme="dark"] body:has(> #signed-out-landing.landing-a:not(.hidden)) { background: #060a13; }
body:has(> #signed-out-landing.landing-a:not(.hidden)) .env-banner.beta {
  background: #f5f7fa;
  color: #3a4453;
  border-bottom: 1px solid #e4e8ee;
  font-family: "DHQ Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0;
  padding: 9px 16px;
}
[data-theme="dark"] body:has(> #signed-out-landing.landing-a:not(.hidden)) .env-banner.beta {
  background: #0b0f18;
  color: #c4cbd8;
  border-bottom-color: rgba(255, 255, 255, 0.09);
}

/* ---------- Base ---------- */
#signed-out-landing.landing-a {
  min-height: 100vh;
  padding: 0;
  background: var(--la-bg-image), var(--la-bg);
  background-color: var(--la-bg);
  background-repeat: no-repeat;
  color: var(--la-ink);
  font-family: "DHQ Inter", Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  font-size: 16px;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-variant-numeric: tabular-nums;
}
#signed-out-landing.landing-a *, #signed-out-landing.landing-a *::before, #signed-out-landing.landing-a *::after { box-sizing: border-box; }
#signed-out-landing.landing-a h1, #signed-out-landing.landing-a h2, #signed-out-landing.landing-a h3, #signed-out-landing.landing-a p, #signed-out-landing.landing-a ul, #signed-out-landing.landing-a figure { margin: 0; padding: 0; }
#signed-out-landing.landing-a ul { list-style: none; }
#signed-out-landing.landing-a a { color: inherit; text-decoration: none; }
#signed-out-landing.landing-a a:hover { color: var(--la-acc-text); }
#signed-out-landing.landing-a :focus-visible { outline: 2px solid var(--la-acc); outline-offset: 2px; border-radius: 6px; }
#signed-out-landing.landing-a .la-wrap { max-width: 1200px; margin: 0 auto; padding: 0 32px; }

/* ---------- Buttons ---------- */
#signed-out-landing.landing-a .la-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  height: 44px;
  padding: 0 20px;
  border-radius: 10px;
  border: 1px solid transparent;
  font: inherit;
  font-weight: 600;
  font-size: 15px;
  line-height: 1;
  white-space: nowrap;
  cursor: pointer;
  text-decoration: none;
}
#signed-out-landing.landing-a .la-btn-sm { height: 38px; padding: 0 16px; font-size: 14px; }
#signed-out-landing.landing-a .la-btn-lg { height: 50px; padding: 0 24px; font-size: 16px; }
#signed-out-landing.landing-a .la-btn-primary { background: var(--la-primary-bg); color: var(--la-primary-fg); box-shadow: var(--la-primary-shadow); }
#signed-out-landing.landing-a .la-btn-primary:hover { color: var(--la-primary-fg); filter: brightness(1.06); }
#signed-out-landing.landing-a .la-btn-secondary { background: var(--la-secondary-bg); color: var(--la-secondary-fg); border-color: var(--la-secondary-border); box-shadow: var(--la-secondary-shadow); }
#signed-out-landing.landing-a .la-btn-secondary:hover { color: var(--la-secondary-fg); border-color: var(--la-mute); }
#signed-out-landing.landing-a .la-btn-ghost { background: transparent; color: var(--la-ink2); font-weight: 500; }
#signed-out-landing.landing-a .la-arrow::after { content: "\2192"; content: "\2192" / ""; font-weight: 500; }
#signed-out-landing.landing-a a.la-arrow::after { margin-left: 6px; }
#signed-out-landing.landing-a .la-linkbtn {
  background: none; border: 0; padding: 0; margin: 0; font: inherit; color: inherit; cursor: pointer; text-align: left; border-radius: 4px;
}
#signed-out-landing.landing-a .la-linkbtn:hover { color: var(--la-acc-text); }

/* ---------- Header / nav ---------- */
#signed-out-landing.landing-a .la-nav { height: 72px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
#signed-out-landing.landing-a .la-logo { display: inline-flex; align-items: center; gap: 10px; font-weight: 700; font-size: 19px; letter-spacing: -0.02em; color: var(--la-ink); }
#signed-out-landing.landing-a .la-logo img { width: 28px; height: 28px; display: block; }
#signed-out-landing.landing-a .la-links { display: flex; gap: 28px; font-size: 15px; font-weight: 500; color: var(--la-ink2); }
#signed-out-landing.landing-a .la-links a { padding: 6px 0; white-space: nowrap; }
#signed-out-landing.landing-a .la-navr { display: flex; align-items: center; gap: 10px; }
#signed-out-landing.landing-a .la-theme-btn {
  width: 38px; height: 38px; padding: 0; border-radius: 10px;
  background: transparent; border: 1px solid var(--la-line); color: var(--la-ink2);
  display: inline-grid; place-items: center; cursor: pointer;
}
#signed-out-landing.landing-a .la-theme-btn span {
  width: 16px; height: 16px; border-radius: 50%;
  /* half-filled disc: reads as a light/dark switch without new copy */
  background: linear-gradient(90deg, currentColor 50%, transparent 50%);
  border: 2px solid currentColor;
}
#signed-out-landing.landing-a .la-menu-btn { display: none; }
#signed-out-landing.landing-a .la-menu-panel { border-top: 1px solid var(--la-line); border-bottom: 1px solid var(--la-line); background: var(--la-bg); }
#signed-out-landing.landing-a .la-menu-panel nav { display: grid; padding-top: 8px; padding-bottom: 16px; }
#signed-out-landing.landing-a .la-menu-panel nav > a { display: flex; align-items: center; min-height: 48px; font-size: 16px; font-weight: 500; color: var(--la-ink2); border-bottom: 1px solid var(--la-line); }
#signed-out-landing.landing-a .la-menu-actions { display: grid; gap: 10px; margin-top: 14px; }
#signed-out-landing.landing-a .la-menu-actions .la-btn { width: 100%; height: 48px; }

/* ---------- Hero ---------- */
#signed-out-landing.landing-a .signed-out-main { display: block; width: auto; max-width: 1200px; margin: 0 auto; padding: 0 32px; grid-template-columns: none; gap: 0; }
#signed-out-landing.landing-a .la-hero { padding: 72px 0 40px; display: grid; grid-template-columns: 1.02fr 1fr; gap: 64px; align-items: center; }
#signed-out-landing.landing-a .la-hero-text { display: block; min-width: 0; }
#signed-out-landing.landing-a .la-pill {
  display: inline-flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 500; color: var(--la-ink2);
  background: var(--la-soft); border: 1px solid var(--la-line); border-radius: 999px; padding: 5px 12px 5px 6px;
}
#signed-out-landing.landing-a .la-pill span:first-child { white-space: nowrap; flex: 0 0 auto; background: var(--la-acc); color: var(--la-primary-fg); border-radius: 999px; padding: 2px 8px; font-size: 11.5px; font-weight: 600; letter-spacing: 0.04em; }
[data-theme="dark"] #signed-out-landing.landing-a .la-pill span:first-child { background: var(--la-acc2); color: var(--la-acc2-text); } /* small badge: blue tint, #8AAEFF text */
#signed-out-landing.landing-a h1.home-banner-title {
  margin: 22px 0 18px; max-width: none; color: var(--la-ink); text-shadow: none;
  font-size: 56px; line-height: 1.06; font-weight: 700; letter-spacing: -0.035em;
}
#signed-out-landing.landing-a h1.home-banner-title em { font-style: normal; color: var(--la-acc-text); }
[data-theme="dark"] #signed-out-landing.landing-a h1.home-banner-title em { color: #8aaeff; } /* one blue with the dark accent (Design); not green (Legal), not #2F5BEA; AA on bg + glow */
#signed-out-landing.landing-a .signed-out-lead { margin: 0; font-size: 20px; font-weight: 500; letter-spacing: -0.01em; color: var(--la-ink2); }
#signed-out-landing.landing-a .signed-out-legal-lead { margin: 12px 0 0; max-width: 520px; font-size: 16px; line-height: 1.55; color: var(--la-mute); }
#signed-out-landing.landing-a .la-ctas { display: flex; gap: 12px; margin-top: 30px; flex-wrap: wrap; align-items: center; }
#signed-out-landing.landing-a .signed-out-hero-cta { margin: 0; display: contents; }
#signed-out-landing.landing-a #btn-demo-hero { font-size: 16px; padding: 0 24px; font-weight: 600; }
#signed-out-landing.landing-a .signed-out-hero-hint { margin: 14px 0 0; max-width: none; font-size: 13.5px; line-height: 1.5; color: var(--la-glow-text); }

/* EXAMPLE DATA preview */
#signed-out-landing.landing-a .landing-example-preview { margin: 0; min-width: 0; }
#signed-out-landing.landing-a .la-stage {
  position: relative; background: var(--la-stage-bg); border: 1px solid var(--la-stage-border);
  box-shadow: var(--la-stage-shadow); border-radius: 24px; padding: 28px 28px 212px;
}
#signed-out-landing.landing-a .la-card, #signed-out-landing.landing-a .landing-example-card {
  background: var(--la-card-bg); background-color: transparent; border: 1px solid var(--la-card-border);
  border-radius: 16px; box-shadow: var(--la-card-shadow); overflow: visible;
}
#signed-out-landing.landing-a .la-stage .la-card { background: var(--la-card-bg), var(--la-bg); }
#signed-out-landing.landing-a .landing-example-badge.la-ex {
  white-space: nowrap; flex-shrink: 0; display: inline-flex; align-items: center; gap: 6px;
  font-size: 11px; font-weight: 700; letter-spacing: 0.08em; line-height: 1.3;
  color: var(--la-ex-fg); background: var(--la-ex-bg); border: 1px solid var(--la-ex-border); border-radius: 6px; padding: 3px 8px;
}
#signed-out-landing.landing-a .landing-example-badge.la-ex::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--la-ex-dot); }
[data-theme="dark"] #signed-out-landing.landing-a .landing-example-badge.la-ex::before { display: none; }
#signed-out-landing.landing-a .la-pc { padding: 22px 22px 14px; }
#signed-out-landing.landing-a .la-pch { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; }
#signed-out-landing.landing-a .la-lbl { font-size: 13px; font-weight: 500; color: var(--la-mute); }
#signed-out-landing.landing-a .la-big { margin-top: 4px; font-size: 40px; font-weight: 700; letter-spacing: -0.03em; white-space: nowrap; color: var(--la-ink); }
#signed-out-landing.landing-a .la-big small { font-size: 16px; font-weight: 500; letter-spacing: 0; color: var(--la-mute); }
#signed-out-landing.landing-a .la-chart { margin-top: 10px; }
#signed-out-landing.landing-a .la-chart svg { display: block; width: 100%; height: auto; font-family: inherit; }
#signed-out-landing.landing-a .la-mchart { display: none; }
#signed-out-landing.landing-a .la-bar-hi { fill: var(--la-bar-hi); }
#signed-out-landing.landing-a .la-bar { fill: var(--la-bar); }
#signed-out-landing.landing-a .la-grid { stroke: var(--la-grid); }
#signed-out-landing.landing-a .la-axis { fill: var(--la-axis); }
#signed-out-landing.landing-a .la-gc { position: absolute; right: -24px; bottom: -40px; width: 340px; padding: 16px 18px; }
#signed-out-landing.landing-a .la-gch { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin-bottom: 8px; font-size: 13px; font-weight: 600; white-space: nowrap; color: var(--la-ink); }
#signed-out-landing.landing-a .la-row { display: grid; grid-template-columns: 1fr 36px 50px; font-size: 13.5px; padding: 7px 0; border-top: 1px solid var(--la-line); color: var(--la-ink2); }
#signed-out-landing.landing-a .la-row b { font-weight: 600; color: var(--la-ink); }
#signed-out-landing.landing-a .la-g { font-weight: 700; }
#signed-out-landing.landing-a .la-g-a { color: var(--la-grade-a); }
#signed-out-landing.landing-a .la-g-b { color: var(--la-grade-b); }
#signed-out-landing.landing-a .la-g-c { color: var(--la-grade-c); }
#signed-out-landing.landing-a .landing-example-card figcaption { margin-top: 8px; padding: 0; font-size: 12px; line-height: 1.45; color: var(--la-mute); }
#signed-out-landing.landing-a .la-cap { margin-top: 64px; max-width: 330px; font-size: 12.5px; line-height: 1.5; color: var(--la-glow-text); }

/* Notice: the four live EXAMPLE DATA captions */
#signed-out-landing.landing-a .landing-example-captions.la-notice {
  margin: 56px 0 0; max-width: none; background: var(--la-soft); border: 1px solid var(--la-line); border-radius: 14px;
  padding: 18px 22px; display: grid; grid-template-columns: auto 1fr 1fr; gap: 10px 28px; font-size: 13.5px; line-height: 1.5; color: var(--la-ink2);
}
#signed-out-landing.landing-a .la-notice p { margin: 0; }
#signed-out-landing.landing-a .la-notice-ic {
  grid-row: span 2; width: 32px; height: 32px; border-radius: 9px; background: var(--la-card-bg), var(--la-bg); border: 1px solid var(--la-line);
  display: grid; place-items: center; color: var(--la-acc-text); font-weight: 700;
}

/* ---------- Sections ---------- */
#signed-out-landing.landing-a .la-section { padding: 96px 0 0; }
#signed-out-landing.landing-a .la-eyebrow { font-size: 13px; font-weight: 600; color: var(--la-acc-text); letter-spacing: 0.04em; text-transform: uppercase; }
#signed-out-landing.landing-a h2 { margin-top: 10px; font-size: 40px; line-height: 1.12; font-weight: 700; letter-spacing: -0.03em; color: var(--la-ink); }
#signed-out-landing.landing-a .la-h2sub { margin-top: 12px; max-width: 640px; font-size: 17px; color: var(--la-mute); }
#signed-out-landing.landing-a .la-grid3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 40px; }
#signed-out-landing.landing-a .la-sc { padding: 28px; }
#signed-out-landing.landing-a .la-num {
  width: 36px; height: 36px; border-radius: 10px; background: var(--la-acc2); color: var(--la-acc2-text);
  font-weight: 700; font-size: 15px; display: grid; place-items: center;
}
#signed-out-landing.landing-a .la-sc h3 { margin: 18px 0 8px; font-size: 19px; letter-spacing: -0.015em; line-height: 1.3; color: var(--la-ink); }
#signed-out-landing.landing-a .la-sc p, #signed-out-landing.landing-a .la-sc li { font-size: 15px; color: var(--la-mute); }
#signed-out-landing.landing-a .la-sc ul { display: grid; gap: 10px; margin-top: 6px; }
#signed-out-landing.landing-a .la-sc li strong { color: var(--la-ink); font-weight: 600; }
#signed-out-landing.landing-a .la-feat .la-sc { background: var(--la-feat-bg); border: 1px solid var(--la-line); border-radius: 16px; box-shadow: none; }
#signed-out-landing.landing-a .la-sc .la-tag { font-size: 12px; }
#signed-out-landing.landing-a .la-tag { font-size: 12px; font-weight: 600; color: var(--la-mute); text-transform: uppercase; letter-spacing: 0.06em; }
#signed-out-landing.landing-a .la-feat .la-sc h3 { margin-top: 10px; }

/* Sign-in / register card (existing markup, restyled) */
#signed-out-landing.landing-a .la-auth-section { display: flex; justify-content: center; }
#signed-out-landing.landing-a #auth-screen { min-height: 0; padding: 0; display: block; background: none; width: min(480px, 100%); }
#signed-out-landing.landing-a .auth-card {
  width: 100%; padding: 28px; border-radius: 16px; border: 1px solid var(--la-card-border);
  background: var(--la-card-bg), var(--la-bg); box-shadow: var(--la-card-shadow); color: var(--la-ink); font-size: 15px;
}
/* Logo: the current per-theme logo files (white JPG in light, navy JPG in dark), not recoloured. */
#signed-out-landing.landing-a .auth-logo { max-height: 36px; width: auto; max-width: min(200px, 70%); border-radius: 6px; }
#signed-out-landing.landing-a .auth-tagline { color: var(--la-ink) !important; font-size: 15px !important; }
#signed-out-landing.landing-a .auth-card .sub { color: var(--la-mute); font-size: 14px; }
#signed-out-landing.landing-a .auth-beta-note { background: var(--la-note-bg); color: var(--la-note-fg); border: 1px solid var(--la-note-border); font-size: 13px; line-height: 1.5; padding: 10px 12px; border-radius: 10px; }
#signed-out-landing.landing-a .auth-register-notice, #signed-out-landing.landing-a .auth-upload-reassure { color: var(--la-ink2); font-size: 13px; line-height: 1.5; margin: 0 0 8px; }
#signed-out-landing.landing-a .auth-card label { color: var(--la-ink2); font-size: 13px; font-weight: 500; margin: 10px 0 4px; }
#signed-out-landing.landing-a .auth-card input[type="email"], #signed-out-landing.landing-a .auth-card input[type="password"], #signed-out-landing.landing-a .auth-card input[type="text"] {
  height: 44px; padding: 0 12px; border-radius: 10px; background: var(--la-input-bg); border: 1px solid var(--la-input-border); color: var(--la-ink); font: inherit; font-size: 15px;
}
#signed-out-landing.landing-a .auth-card input::placeholder { color: var(--la-mute); opacity: 1; }
#signed-out-landing.landing-a .auth-agree-row { color: var(--la-ink); font-size: 15px; font-weight: 500; gap: 10px; margin-top: 6px; }
#signed-out-landing.landing-a #chk-register-agree {
  -webkit-appearance: none; appearance: none; flex: 0 0 auto; width: 20px; height: 20px; margin: 0; padding: 0;
  border: 1.5px solid var(--la-check-border); border-radius: 5px; background: var(--la-input-bg); cursor: pointer; display: inline-grid; place-items: center;
}
#signed-out-landing.landing-a #chk-register-agree:checked { background: var(--la-check-mark) center / 14px 14px no-repeat, var(--la-acc); border-color: var(--la-acc); }
[data-theme="dark"] #signed-out-landing.landing-a #chk-register-agree:checked { background: var(--la-check-mark) center / 14px 14px no-repeat, var(--la-check-fill); border-color: var(--la-check-fill); }
#signed-out-landing.landing-a #chk-register-agree:focus-visible { outline: 2px solid var(--la-acc); outline-offset: 2px; }
#signed-out-landing.landing-a .auth-card .auth-field-hint { color: var(--la-mute); font-size: 13px; }
#signed-out-landing.landing-a .auth-actions { gap: 10px; margin-top: 16px; }
#signed-out-landing.landing-a .auth-actions button, #signed-out-landing.landing-a #auth-panel-forgot button, #signed-out-landing.landing-a #auth-panel-reset button {
  height: 44px; padding: 0 18px; border-radius: 10px; font-size: 15px; font-weight: 600; border: 1px solid transparent;
  background: var(--la-primary-bg); color: var(--la-primary-fg); box-shadow: var(--la-primary-shadow);
}
#signed-out-landing.landing-a .auth-card button.secondary { background: var(--la-secondary-bg); color: var(--la-secondary-fg); border-color: var(--la-secondary-border); box-shadow: var(--la-secondary-shadow); }
#signed-out-landing.landing-a #btn-demo-login { font-size: 15px; padding: 0 18px; }
/* Disabled Create account must read as disabled in both themes */
#signed-out-landing.landing-a .auth-card button:disabled, #signed-out-landing.landing-a .auth-card button:disabled:hover {
  opacity: 1; cursor: not-allowed; box-shadow: none; filter: none;
  background: var(--la-soft); color: var(--la-mute); border: 1px dashed var(--la-secondary-border);
}
#signed-out-landing.landing-a button.linkish, #signed-out-landing.landing-a .linkish { color: var(--la-acc-text); font-size: 13.5px; }
#signed-out-landing.landing-a .auth-msg { color: var(--la-mute); }
#signed-out-landing.landing-a .auth-msg.err { color: var(--la-err); }
#signed-out-landing.landing-a .auth-msg.ok { color: var(--la-ok); }
#signed-out-landing.landing-a .auth-card .legal-footer { border-top: 1px solid var(--la-line); margin-top: 14px; padding-top: 10px; }
#signed-out-landing.landing-a .auth-card .legal-footer span { color: var(--la-mute); }
#signed-out-landing.landing-a #auth-api-status.hidden { display: none !important; }

/* Grades */
#signed-out-landing.landing-a .la-split { display: grid; grid-template-columns: 1fr 1.1fr; gap: 56px; align-items: center; }
#signed-out-landing.landing-a .la-cats { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 28px; }
#signed-out-landing.landing-a .la-cats li { border: 1px solid var(--la-line); border-radius: 12px; padding: 14px 16px; font-weight: 600; font-size: 15px; display: flex; align-items: center; gap: 10px; color: var(--la-ink); }
#signed-out-landing.landing-a .la-cats li::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--la-acc); flex: 0 0 auto; }
#signed-out-landing.landing-a .la-gnote { margin-top: 14px; font-size: 13.5px; color: var(--la-mute); }
#signed-out-landing.landing-a .la-gtable { padding: 0 0 18px; }
#signed-out-landing.landing-a .la-gthead { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 18px 22px 6px; font-size: 15px; color: var(--la-ink); }
#signed-out-landing.landing-a .la-gt { padding: 8px 22px 0; }
#signed-out-landing.landing-a .la-gt .la-row { grid-template-columns: 1.2fr 0.7fr 0.7fr 1fr; padding: 11px 0; font-size: 14.5px; }
#signed-out-landing.landing-a .la-gt .la-row-h { color: var(--la-mute); font-size: 12.5px; font-weight: 600; border-top: 0; text-transform: uppercase; letter-spacing: 0.04em; }
#signed-out-landing.landing-a .la-gtable figcaption { padding: 4px 22px 0; }

/* Export guide */
#signed-out-landing.landing-a .fidelity-howto { margin: 0; padding: 0; border: 0; border-radius: 0; background: none; }
#signed-out-landing.landing-a .signed-out-details { min-width: 0; }
#signed-out-landing.landing-a h2.signed-out-howto-heading { margin: 10px 0 0; font-size: 40px; font-weight: 700; color: var(--la-ink); }
#signed-out-landing.landing-a h2.signed-out-howto-heading a { color: inherit; }
#signed-out-landing.landing-a h2.signed-out-howto-heading a:hover { color: var(--la-acc-text); }
#signed-out-landing.landing-a .la-guide { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 36px; }
#signed-out-landing.landing-a .la-gs { padding: 26px; }
#signed-out-landing.landing-a .la-gs h3 { margin-bottom: 12px; font-size: 17px; color: var(--la-ink); }
#signed-out-landing.landing-a .la-path { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; font-size: 14px; color: var(--la-ink2); }
#signed-out-landing.landing-a .la-path code { font-family: inherit; background: var(--la-soft); border: 1px solid var(--la-line); border-radius: 7px; padding: 3px 9px; line-height: 1.45; }
#signed-out-landing.landing-a .la-arr { color: var(--la-arrow); }
#signed-out-landing.landing-a .la-gfoot {
  display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-top: 20px;
  background: var(--la-strip-bg); border-radius: 14px; padding: 16px 22px; font-size: 14.5px; color: var(--la-strip-fg);
}
#signed-out-landing.landing-a .la-gfoot a { font-weight: 600; color: var(--la-acc-text); white-space: nowrap; }

/* About + values */
#signed-out-landing.landing-a .signed-out-about { margin: 18px 0 0; max-width: 900px; font-size: 15px; line-height: 1.55; color: var(--la-mute); }
#signed-out-landing.landing-a .la-vals { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 40px; border: 1px solid var(--la-line); border-radius: 16px; }
#signed-out-landing.landing-a .la-val { padding: 28px; }
#signed-out-landing.landing-a .la-val + .la-val { border-left: 1px solid var(--la-line); }
#signed-out-landing.landing-a .la-val h3 { margin-bottom: 6px; font-size: 16px; color: var(--la-ink); }
#signed-out-landing.landing-a .la-val p { font-size: 14.5px; color: var(--la-mute); }

/* Closing band */
#signed-out-landing.landing-a .la-final {
  margin-top: 96px; background: var(--la-final-bg); border: 1px solid var(--la-final-border); border-radius: 24px; padding: 64px;
  color: var(--la-final-ink); display: grid; grid-template-columns: 1.3fr 1fr; gap: 16px 40px; align-items: center;
}
#signed-out-landing.landing-a .la-final h2 { margin: 0; font-size: 38px; color: var(--la-final-ink); }
#signed-out-landing.landing-a .la-final .signed-out-steps { margin: 14px 0 0; max-width: none; font-size: 15px; line-height: 1.55; color: var(--la-final-mute); }
#signed-out-landing.landing-a .la-final .la-ctas { justify-content: flex-end; margin: 0; }
#signed-out-landing.landing-a .la-final .la-btn-secondary { background: var(--la-final-sec-bg); color: var(--la-final-ink); border-color: var(--la-final-sec-border); box-shadow: none; }
#signed-out-landing.landing-a .la-final-hint { grid-column: 1 / -1; font-size: 13px; line-height: 1.5; color: var(--la-final-mute); }

/* Footer */
#signed-out-landing.landing-a .la-footer { margin-top: 80px; border-top: 1px solid var(--la-line); padding: 56px 0 48px; background: var(--la-bg); }
#signed-out-landing.landing-a .la-fgrid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 32px; }
#signed-out-landing.landing-a h2.la-fh { margin: 0 0 14px; font-size: 13px; font-weight: 600; letter-spacing: 0; line-height: 1.4; color: var(--la-ink); }
#signed-out-landing.landing-a .la-fgrid ul, #signed-out-landing.landing-a .la-legal-list { display: grid; gap: 10px; font-size: 14px; color: var(--la-mute); }
#signed-out-landing.landing-a .la-legal-list { margin: 0; padding: 0; border: 0; justify-content: start; }
#signed-out-landing.landing-a .la-legal-list span { color: var(--la-mute); font-size: 14px; }
#signed-out-landing.landing-a .la-fnote { margin-top: 12px; font-size: 12.5px; color: var(--la-mute); }
#signed-out-landing.landing-a .la-ftag { margin-top: 12px; font-size: 14px; color: var(--la-mute); }
#signed-out-landing.landing-a .la-legal b { color: var(--la-ink2); }
#signed-out-landing.landing-a .la-legal { margin-top: 40px; padding-top: 28px; border-top: 1px solid var(--la-line); display: grid; gap: 10px; font-size: 12.5px; line-height: 1.6; color: var(--la-mute); }

/* ---------- Tablet ---------- */
/* Nav links are nowrap: tighten below the 1200 container, switch to the menu button once 6 links can't fit */
@media (max-width: 1199px) {
  #signed-out-landing.landing-a .la-links { gap: 18px; font-size: 14px; }
}
@media (max-width: 1120px) {
  #signed-out-landing.landing-a .la-links { display: none; }
  #signed-out-landing.landing-a .la-menu-btn { display: inline-grid; }
}
@media (min-width: 1121px) {
  #signed-out-landing.landing-a .la-menu-panel { display: none !important; }
}
@media (max-width: 1080px) {
  #signed-out-landing.landing-a .la-gc { right: -12px; }
}
@media (max-width: 960px) {
  #signed-out-landing.landing-a .la-hero { grid-template-columns: 1fr; gap: 48px; }
  #signed-out-landing.landing-a .la-split { grid-template-columns: 1fr; gap: 32px; }
  #signed-out-landing.landing-a .la-final { grid-template-columns: 1fr; }
  #signed-out-landing.landing-a .la-final .la-ctas { justify-content: flex-start; }
}
/* 5: app.css (max-width:900px) makes #btn-demo-hero full width; keep inline above the mobile stack */
@media (min-width: 641px) {
  #signed-out-landing.landing-a #btn-demo-hero { width: auto; }
}

/* ---------- Menu button (tablet + mobile) ---------- */
@media (max-width: 1120px) {
  #signed-out-landing.landing-a .la-menu-btn {
    place-items: center; width: 40px; height: 40px; padding: 0; border: 1px solid var(--la-line); border-radius: 10px;
    background: var(--la-soft); cursor: pointer;
  }
  #signed-out-landing.landing-a .la-menu-btn i { display: block; width: 16px; height: 2px; background: var(--la-ink); box-shadow: 0 5px 0 var(--la-ink), 0 -5px 0 var(--la-ink); }
}
@media (max-width: 640px) {
  #signed-out-landing.landing-a .la-wrap, #signed-out-landing.landing-a .signed-out-main { padding: 0 20px; }
  body:has(> #signed-out-landing.landing-a:not(.hidden)) .env-banner.beta { font-size: 12.5px; padding: 8px 14px; }
  #signed-out-landing.landing-a .la-nav { height: 62px; gap: 8px; }
  #signed-out-landing.landing-a .la-nav-create { display: none; }
  #signed-out-landing.landing-a .la-nav-signin { padding: 0 8px; }
  #signed-out-landing.landing-a .la-navr { gap: 6px; }
  #signed-out-landing.landing-a .la-hero { padding: 36px 0 24px; gap: 40px; }
  #signed-out-landing.landing-a h1.home-banner-title { font-size: 36px; margin: 18px 0 14px; }
  #signed-out-landing.landing-a .signed-out-lead { font-size: 18px; }
  #signed-out-landing.landing-a .signed-out-legal-lead { font-size: 15.5px; }
  #signed-out-landing.landing-a .la-hero .la-ctas { flex-direction: column; align-items: stretch; }
  #signed-out-landing.landing-a .la-hero .la-ctas .la-btn { width: 100%; height: 52px; }
  #signed-out-landing.landing-a .la-stage { padding: 14px; border-radius: 20px; }
  #signed-out-landing.landing-a .la-dchart { display: none; }
  #signed-out-landing.landing-a .la-mchart { display: block; }
  #signed-out-landing.landing-a .la-pch { flex-direction: column-reverse; gap: 10px; }
  #signed-out-landing.landing-a .la-pc { padding: 18px 16px 10px; }
  #signed-out-landing.landing-a .la-big { font-size: 32px; }
  #signed-out-landing.landing-a .la-gc { position: relative; right: auto; bottom: auto; width: auto; margin-top: 12px; }
  #signed-out-landing.landing-a .la-cap { margin-top: 12px; max-width: none; }
  #signed-out-landing.landing-a .landing-example-captions.la-notice { grid-template-columns: auto 1fr; margin-top: 32px; }
  #signed-out-landing.landing-a .la-notice-ic { grid-row: span 4; }
  #signed-out-landing.landing-a .la-section { padding-top: 64px; }
  #signed-out-landing.landing-a h2, #signed-out-landing.landing-a h2.signed-out-howto-heading { font-size: 30px; }
  #signed-out-landing.landing-a .la-h2sub { font-size: 16px; }
  #signed-out-landing.landing-a .la-grid3, #signed-out-landing.landing-a .la-guide, #signed-out-landing.landing-a .la-vals, #signed-out-landing.landing-a .la-fgrid, #signed-out-landing.landing-a .la-final { grid-template-columns: 1fr; }
  #signed-out-landing.landing-a .la-grid3 { gap: 14px; margin-top: 28px; }
  #signed-out-landing.landing-a .la-sc { padding: 22px; }
  #signed-out-landing.landing-a .la-val + .la-val { border-left: 0; border-top: 1px solid var(--la-line); }
  #signed-out-landing.landing-a .la-gfoot { flex-direction: column; align-items: flex-start; gap: 8px; }
  #signed-out-landing.landing-a .la-gt { padding: 8px 16px 0; }
  #signed-out-landing.landing-a .la-gthead { padding: 16px 16px 6px; }
  #signed-out-landing.landing-a .la-gtable figcaption { padding: 4px 16px 0; }
  #signed-out-landing.landing-a .la-final { padding: 36px 24px; margin-top: 64px; }
  #signed-out-landing.landing-a .la-final h2 { font-size: 28px; }
  #signed-out-landing.landing-a .la-final .la-ctas { flex-direction: column; align-items: stretch; justify-content: stretch; }
  #signed-out-landing.landing-a .la-final .la-ctas .la-btn { width: 100%; height: 52px; }
  #signed-out-landing.landing-a .la-fgrid { gap: 28px; }
  #signed-out-landing.landing-a .auth-card { padding: 20px; }
  #signed-out-landing.landing-a .la-fgrid ul { gap: 0; }
  #signed-out-landing.landing-a .la-fgrid .la-linkbtn, #signed-out-landing.landing-a .la-fgrid a, #signed-out-landing.landing-a .la-gfoot a, #signed-out-landing.landing-a .auth-card .linkish { min-height: 44px; display: inline-flex; align-items: center; }
  #signed-out-landing.landing-a .auth-agree-row { min-height: 44px; display: flex; align-items: center; }
  #signed-out-landing.landing-a .la-pill { border-radius: 14px; align-items: flex-start; }
}
