/* Public pages of the console (privacy policy): header, footer and the legal text. Colors come from the BlazorBlueprint theme variables.
   The landing page itself is static HTML with its own inline styles (wwwroot/landing.html). */
.lp { background: var(--background); color: var(--foreground); font-family: Inter, system-ui, sans-serif; line-height: 1.55; min-height: 100vh; }
.lp * { box-sizing: border-box; }
.lp a { color: inherit; text-decoration: none; }
.lp h1, .lp h2, .lp h3 { line-height: 1.15; letter-spacing: -0.02em; margin: 0; }
.lp h1 { font-size: clamp(2rem, 5vw, 3.4rem); font-weight: 800; }
.lp h2 { font-size: clamp(1.5rem, 3.2vw, 2.1rem); font-weight: 700; text-align: center; margin-bottom: 1.25rem; }
.lp h3 { font-size: 1.15rem; font-weight: 700; }
.lp-container { width: 100%; max-width: 1120px; margin: 0 auto; padding: 0 1.25rem; }
.lp-container--narrow { max-width: 760px; }
.lp-muted { color: var(--muted-foreground); }
.lp-header { position: sticky; top: 0; z-index: 20; background: color-mix(in srgb, var(--background) 88%, transparent); backdrop-filter: blur(10px); border-bottom: 1px solid var(--border); }
.lp-header__inner { display: flex; align-items: center; gap: 1.5rem; height: 64px; }
.lp-brand img { height: 30px; width: auto; }
.lp-footer { padding: 1.75rem 0; border-top: 1px solid var(--border); font-size: 0.9rem; }
.lp-footer__inner { display: flex; gap: 1rem; flex-wrap: wrap; justify-content: space-between; align-items: center; }
html { scroll-behavior: smooth; }
.lp-legal { padding: 2rem 1.25rem 3rem; }
.lp-legal h1 { font-size: 2rem; line-height: 1.2; margin: 0 0 0.25rem; }
.lp-legal h2 { font-size: 1.25rem; margin: 2rem 0 0.5rem; }
.lp-legal h3 { font-size: 1.05rem; margin: 1.25rem 0 0.25rem; }
.lp-legal h1, .lp-legal h2, .lp-legal h3 { text-align: left; }
.lp-legal p { margin: 0.5rem 0; }
.lp-legal ul { list-style: disc; padding-left: 1.25rem; margin: 0.5rem 0; }
.lp-legal li { margin: 0.35rem 0; }
.lp-legal a { text-decoration: underline; }
