/*!
 * Audiencery marketing-chrome pages (terms, privacy, refund policy, contact, 404) plus the single
 * contact card on index.html. Loaded after styles.css (and app.css for .prose). Uses the shared tokens only.
 */

/* ---------- plain pages: marketing header/footer around one column ---------- */
.page-plain { min-height: 100vh; min-height: 100dvh; display: flex; flex-direction: column; background: linear-gradient(180deg, #FFF5F5 0, #FFF8F6 360px, #FCFBFB 760px); }
.page-plain > main { flex: 1; }
.page-plain .site-footer { padding-bottom: calc(32px + env(safe-area-inset-bottom)); }

/* ---------- long-form additions to app.css .prose ---------- */
.prose { overflow-wrap: anywhere; }
.prose ul { padding-left: 1.25em; }
.prose li + li { margin-top: 6px; }
.prose strong { color: var(--ink); }
.prose .lede { margin-bottom: 20px; font-size: 1.08rem; color: var(--ink-2); }
.prose-box { margin: 18px 0 8px; padding: 16px 18px; background: #fff; border: 1px solid var(--line); border-radius: var(--r); box-shadow: var(--sh-xs); }
.prose-box p:last-child, .prose-box ul:last-child { margin-bottom: 0; }

/* ---------- contact ---------- */
.prose .contact { margin: 20px 0 8px; color: var(--ink); font-weight: 400; }
.prose .contact b { color: var(--ink); }
.contact-grid-single { grid-template-columns: minmax(0, 1fr); }
@media (min-width: 760px) { .contact-grid-single { grid-template-columns: minmax(0, 460px); justify-content: center; } }

/* ---------- 404 ---------- */
.nf { max-width: 560px; margin-inline: auto; padding: clamp(48px, 10vw, 112px) 0 80px; text-align: center; }
.nf-code { margin: 0; font-size: clamp(4.5rem, 3rem + 8vw, 7.5rem); font-weight: 800; line-height: 1; letter-spacing: -.06em; background: var(--grad-cta); -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-fill-color: transparent; }
.nf h1 { margin: 12px 0 0; font-size: clamp(1.6rem, 1.2rem + 1.6vw, 2.2rem); line-height: 1.12; letter-spacing: -.035em; }
.nf p { margin: 12px auto 0; max-width: 30rem; color: var(--ink-2); }
.nf-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-top: 26px; }
.nf-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px 18px; margin-top: 22px; font-size: .95rem; }
.nf-links a { color: var(--blue-dark); font-weight: 600; }
@media (max-width: 419px) { .nf-actions .btn { width: 100%; } }
