/* Layout for standalone pages (legal, proposal, booking, unsubscribe, app pages). */
.nav.page-nav { position: sticky; background: oklch(0.120 0.034 250 / 0.82); backdrop-filter: blur(14px); border-color: var(--border); }
.nav.page-nav .btn { white-space: nowrap; }
.page { padding-block: calc(var(--nav-h) + var(--sp-7)) var(--sp-8); min-height: 70vh; }
.page-wrap { width: min(100% - 2 * var(--gutter), var(--page-w)); margin-inline: auto; display: grid; gap: var(--sp-5); }
.page h1 { font-size: var(--fs-h2); }
.page .lede { color: var(--muted); font-size: var(--fs-lg); }
.page .meta { font: 500 var(--fs-xs)/1 var(--font-mono); letter-spacing: .12em; text-transform: uppercase; color: var(--muted); }
.prose { display: grid; gap: var(--sp-5); }
.prose h2 { font-size: var(--fs-h3); color: var(--accent); }
.prose p, .prose li { color: var(--muted); line-height: 1.7; }
.prose a { color: var(--accent); }
.card { padding: var(--sp-6); border: 1px solid var(--border); border-radius: var(--radius-lg); background: var(--surface); display: grid; gap: var(--sp-4); }
.card.is-center { text-align: center; justify-items: center; }
.status-msg { color: var(--muted); }
.status-msg.is-error { color: var(--error); }
.status-msg.is-ok { color: var(--success); }
@media (max-width: 560px) { .card { padding: var(--sp-5); } .form .row { grid-template-columns: 1fr; } }
