/* Public pages (landing, About, FAQ): the Library's warm paper and the brand orange (brand.css), no dashboard code. */
:root { --bg: #f6f1e7; --card: #fffdf8; --ink: #1f2a2e; --muted: #5e6b6f; --line: #e4dccb; --soft: #efe8d9; --accent: var(--brand); --accent-strong: var(--brand-strong); --accent-soft: var(--brand-soft); --serif: 'Fraunces', Georgia, 'Times New Roman', serif; }
:root[data-theme="dark"] { --bg: #0f1514; --card: #162120; --ink: #e8efec; --muted: #9db0ab; --line: #2a3a38; --soft: #1d2b29;  }
* { box-sizing: border-box; }
body { background: var(--bg); color: var(--ink); font: 16px/1.65 system-ui, 'Segoe UI', Arial, sans-serif; margin: 0; }
a { color: var(--accent); }
.pp-wrap { margin: 0 auto; max-width: 960px; padding: 0 20px; }
.pp-top { align-items: center; display: flex; gap: 12px; justify-content: space-between; padding-block: 18px; }
.pp-brand { align-items: center; color: var(--ink); display: inline-flex; font-family: var(--serif); font-size: 1.35rem; font-weight: 600; gap: 8px; text-decoration: none; }
.pp-brand svg { height: 30px; width: 30px; }
.pp-nav { align-items: center; display: flex; flex-wrap: wrap; gap: 6px 16px; }
.pp-nav a { color: var(--muted); font-size: .95rem; text-decoration: none; }
.pp-nav a:hover { color: var(--accent-strong); text-decoration: underline; }
.pp-button { background: var(--accent); border: 1px solid var(--accent); border-radius: 10px; color: var(--on-brand); display: inline-block; font-weight: 600; padding: 10px 18px; text-decoration: none; }
.pp-button:hover { background: var(--accent-strong); border-color: var(--accent-strong); }
.pp-button.secondary { background: transparent; color: var(--accent-strong); }
.pp-button.secondary:hover { background: var(--accent-soft); }
.pp-hero { padding: 40px 0 28px; }
.pp-hero h1 { font-family: var(--serif); font-size: clamp(2.1rem, 6vw, 3.2rem); letter-spacing: -.02em; line-height: 1.1; margin: 0 0 14px; max-width: 14em; }
.pp-hero p { color: var(--muted); font-size: 1.15rem; margin: 0 0 22px; max-width: 36em; }
.pp-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.pp-grid { display: grid; gap: 14px; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); margin: 22px 0; }
.pp-card { background: var(--card); border: 1px solid var(--line); border-radius: 14px; padding: 18px; }
.pp-card h3 { font-family: var(--serif); font-size: 1.15rem; margin: 0 0 6px; }
.pp-card p { color: var(--muted); font-size: .96rem; margin: 0; }
.pp-band { background: var(--soft); border: 1px solid var(--line); border-radius: 14px; margin: 18px 0; padding: 18px 20px; }
.pp-band h2 { font-family: var(--serif); font-size: 1.25rem; margin: 0 0 6px; }
.pp-band p { margin: 0 0 8px; }
.pp-main { padding-bottom: 40px; }
.pp-main h1 { font-family: var(--serif); font-size: 2rem; letter-spacing: -.01em; margin: 18px 0 6px; }
.pp-main h2 { font-family: var(--serif); font-size: 1.25rem; margin: 28px 0 6px; }
.pp-lead { color: var(--muted); margin: 0 0 14px; }
.pp-note { background: var(--card); border: 1px solid var(--line); border-radius: 14px; padding: 8px 22px 14px; }
.pp-note p { margin: 12px 0; }
.pp-sign { font-family: var(--serif); font-size: 1.1rem; }
.pp-faq details { background: var(--card); border: 1px solid var(--line); border-radius: 10px; margin: 8px 0; padding: 0 14px; }
.pp-faq summary { cursor: pointer; font-weight: 600; padding: 12px 0; }
.pp-faq details[open] summary { color: var(--accent-strong); }
.pp-faq details p, .pp-faq details ul { color: var(--ink); margin: 0 0 12px; }
.pp-faq ul { padding-left: 1.2rem; }
.pp-foot { border-top: 1px solid var(--line); color: var(--muted); font-size: .9rem; margin-top: 36px; padding-block: 18px 40px; }
.pp-foot a { color: var(--muted); margin-right: 14px; }
@media (max-width: 520px) { .pp-top { align-items: flex-start; flex-direction: column; } }
