/* Shared styles for the marketing / info pages (index, buyers, investors).
   The app shell (app.html) and scenarios keep their own layout. */

html, body { height: auto; }
body { display: block; overflow-y: auto; }

/* ---- top navigation ---- */
.topnav { display: flex; gap: 18px; align-items: center; padding: 14px 22px; border-bottom: 1px solid var(--border); background: var(--panel); position: sticky; top: 0; z-index: 100; }
.topnav .brand a { color: var(--accent); text-decoration: none; font-size: 19px; font-weight: 700; display: inline-flex; align-items: center; gap: 9px; }
.brandmark { height: 26px; width: auto; display: block; }
.hero-logo { height: 88px; width: auto; display: block; margin: 0 auto 20px; }
.topnav .links { margin-left: auto; display: flex; gap: 6px; align-items: center; flex-wrap: wrap; }
.topnav .links a { color: var(--muted); text-decoration: none; font-size: 13px; padding: 6px 12px; border-radius: 999px; }
.topnav .links a:hover { color: var(--text); background: var(--panel2); }
.topnav .links a.active { color: var(--accent); }
.topnav .links a.launch { background: var(--accent); color: var(--on-accent); font-weight: 600; }
.topnav .links a.launch:hover { filter: brightness(1.1); }

main { max-width: 1060px; margin: 0 auto; padding: 0 22px 60px; }
/* legal / policy pages (privacy, terms, data-deletion) */
main.doc { max-width: 760px; }
main.doc h1 { margin: 34px 0 6px; }
main.doc h2 { margin: 26px 0 8px; font-size: 19px; }
main.doc p, main.doc li { line-height: 1.55; }
main.doc ul, main.doc ol { padding-left: 22px; }
main.doc li { margin: 6px 0; }

/* ---- hero ---- */
.landing-hero { text-align: center; padding: 64px 0 30px; }
.landing-hero h1 { font-size: clamp(28px, 5vw, 44px); line-height: 1.15; color: var(--text); max-width: 21ch; margin: 0 auto; }
.landing-hero h1 em { color: var(--accent); font-style: normal; }
.landing-hero p.lede { color: var(--muted); font-size: clamp(15px, 2vw, 17px); max-width: 62ch; margin: 16px auto 0; }
.hero-ctas { display: flex; gap: 12px; justify-content: center; margin-top: 26px; flex-wrap: wrap; }
a.bigbtn { display: inline-block; padding: 12px 24px; border-radius: 10px; font-size: 15px; font-weight: 600; text-decoration: none; }
a.bigbtn.gold { background: var(--accent); color: var(--on-accent); }
a.bigbtn.green { background: var(--accent2); color: #fff; }
a.bigbtn.ghost { border: 1px solid var(--border); color: var(--text); background: var(--panel); }
a.bigbtn:hover { filter: brightness(1.1); }

/* ---- proof points strip ---- */
.points { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 12px; margin: 34px 0; }
.points .pt { background: var(--panel); border: 1px solid var(--border); border-radius: 12px; padding: 16px 18px; }
.points .pt b { color: var(--accent); display: block; font-size: 15px; margin-bottom: 4px; }
.points .pt span { color: var(--muted); font-size: 13px; }

/* ---- audience panels ---- */
.audience { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 16px; margin: 26px 0; }
.aud { background: var(--panel); border: 1px solid var(--border); border-radius: 14px; padding: 24px 26px; display: flex; flex-direction: column; }
.aud .who { font-size: 11px; text-transform: uppercase; letter-spacing: .08em; color: var(--muted); }
.aud h2 { color: var(--accent); font-size: 21px; margin: 6px 0 10px; }
.aud ul { margin: 0 0 16px 18px; padding: 0; color: var(--text); font-size: 14px; }
.aud ul li { margin: 7px 0; }
.aud ul li .why { color: var(--muted); }
.aud .more { margin-top: auto; display: flex; gap: 10px; flex-wrap: wrap; }

/* ---- generic sections on info pages ---- */
section.info { margin: 36px 0; }
section.info h2 { color: var(--accent); font-size: 22px; margin-bottom: 6px; }
section.info h3 { color: var(--text); font-size: 16px; margin: 22px 0 6px; }
section.info p { color: var(--muted); max-width: 74ch; margin: 8px 0; font-size: 14px; }
section.info p b, section.info li b { color: var(--text); }
section.info ul { color: var(--muted); font-size: 14px; margin: 8px 0 8px 20px; }
section.info li { margin: 6px 0; }

.steps { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px; margin: 16px 0; counter-reset: step; }
.steps .st { background: var(--panel); border: 1px solid var(--border); border-radius: 12px; padding: 16px 18px; counter-increment: step; }
.steps .st::before { content: counter(step); display: inline-flex; width: 26px; height: 26px; border-radius: 999px; background: var(--accent); color: var(--on-accent); font-weight: 700; align-items: center; justify-content: center; margin-bottom: 8px; }
.steps .st b { display: block; color: var(--text); font-size: 14px; margin-bottom: 4px; }
.steps .st span { color: var(--muted); font-size: 13px; }

table.compare { width: 100%; border-collapse: collapse; margin: 14px 0; font-size: 13.5px; }
table.compare th { text-align: left; padding: 10px 12px; border-bottom: 2px solid var(--border); color: var(--text); }
table.compare th:first-child { color: var(--muted); font-weight: 500; }
table.compare td { padding: 10px 12px; border-bottom: 1px solid var(--panel2); vertical-align: top; }
table.compare td:first-child { color: var(--muted); }
table.compare td.us { color: var(--text); }
table.compare td.us b { color: var(--accent2); }
table.compare .colhead-us { color: var(--accent); }

.callout { background: var(--panel); border: 1px solid var(--accent2); border-radius: 12px; padding: 14px 18px; margin: 16px 0; font-size: 13.5px; color: var(--text); max-width: 74ch; }
.callout b { color: var(--accent2); }

.example { background: var(--panel); border: 1px solid var(--border); border-radius: 12px; padding: 16px 20px; margin: 16px 0; max-width: 74ch; }
.example h4 { color: var(--accent); font-size: 14px; margin-bottom: 8px; }
.example table.kv td { font-size: 13.5px; }

footer.site { border-top: 1px solid var(--border); margin-top: 40px; }
footer.site .inner { max-width: 1060px; margin: 0 auto; padding: 20px 22px 44px; color: var(--muted); font-size: 12px; }
footer.site .inner p { margin: 6px 0; max-width: none; }
footer.site a { color: var(--muted); }
footer.site .social { margin-top: 12px; display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
footer.site .social .social-lbl { font-size: 12px; color: var(--muted); }
footer.site .social a { color: var(--muted); display: inline-flex; line-height: 0; }
footer.site .social a:hover { color: var(--accent); }
footer.site .social svg { display: block; }

.pagehero { padding: 44px 0 8px; }
.pagehero h1 { font-size: clamp(24px, 4vw, 34px); color: var(--text); max-width: 26ch; }
.pagehero h1 em { color: var(--accent); font-style: normal; }
.pagehero p.lede { color: var(--muted); font-size: 15.5px; max-width: 68ch; margin-top: 12px; }
