/* Public disclosure pages (messaging / privacy / terms). Same warm palette as the guest app,
   but standalone — these are read by strangers (and by carrier reviewers), so they must not
   depend on, or drift with, the guest surface's stylesheet. */
:root { --paper:#faf7f2; --card:#fff; --ink:#2c2a24; --body:#4a4339; --soft:#6b6456;
        --line:#e6ded2; --accent:#8a6f55; }
* { box-sizing:border-box; }
body { margin:0; background:var(--paper); color:var(--body);
       font:400 16px/1.65 Inter, -apple-system, Helvetica, Arial, sans-serif; }
.wrap { max-width:680px; margin:0 auto; padding:40px 22px 64px; }
.brand { margin-bottom:26px; }
.eyebrow { font-size:11.5px; letter-spacing:.28em; text-transform:uppercase; color:var(--accent); }
h1 { font:600 34px/1.15 'Cormorant Garamond', Georgia, serif; color:var(--ink); margin:8px 0 0; }
.lede { font-size:17px; color:var(--body); margin:12px 0 0; }
h2 { font:600 21px/1.25 'Cormorant Garamond', Georgia, serif; color:var(--ink); margin:30px 0 8px; }
h3 { font-size:14px; letter-spacing:.04em; color:var(--ink); margin:20px 0 6px; }
p, li { margin:10px 0; }
ul { padding-left:20px; }
a { color:var(--accent); }
.card { background:var(--card); border:1px solid var(--line); border-radius:16px;
        padding:20px 24px; margin:22px 0; }
.card h2:first-child { margin-top:0; }
.kv { border-collapse:collapse; width:100%; font-size:15px; }
.kv th { text-align:left; vertical-align:top; padding:9px 14px 9px 0; color:var(--soft);
         font-weight:500; white-space:nowrap; }
.kv td { padding:9px 0; border-bottom:1px solid var(--line); }
.kv tr:last-child td, .kv tr:last-child th { border-bottom:none; }
.msg { background:#f4efe6; border-radius:10px; padding:12px 14px; font-size:14.5px;
       color:var(--ink); margin:10px 0; }
.foot { margin-top:44px; padding-top:20px; border-top:1px solid var(--line);
        font-size:13px; color:var(--soft); }
.foot nav { margin-bottom:8px; }
.foot p { margin:4px 0; }
.upd { color:#8d8677; }
@media (max-width:520px) { .wrap { padding:28px 18px 52px; } h1 { font-size:29px; } }

/* A depiction of the guest-page consent form. The real one sits behind a private magic link, which
   a carrier reviewer can't open — AWS accepts a publicly hosted rendering in that case, and a
   rendered replica beats a PNG: it stays legible on a phone and can't drift out of date silently. */
.shot { border:1px solid var(--line); border-radius:14px; overflow:hidden; margin:18px 0;
        background:#fff; box-shadow:0 1px 3px rgba(60,50,40,.06); }
.shot-bar { background:#f1ece3; border-bottom:1px solid var(--line); padding:8px 14px;
            font-size:12px; color:var(--soft); letter-spacing:.02em; }
.shot-body { padding:18px 20px 20px; }
.shot-label { font-size:11.5px; letter-spacing:.12em; text-transform:uppercase; color:var(--soft);
              font-weight:600; }
.shot-label span { text-transform:none; letter-spacing:normal; font-weight:400; }
.shot-input { margin:6px 0 16px; padding:11px 13px; border:1px solid var(--line); border-radius:10px;
              color:#9a9282; font-size:15px; background:#fdfcfa; }
.shot-check { display:flex; align-items:center; gap:9px; font-size:15.5px; color:var(--ink);
              padding:11px 13px; border:1px solid var(--accent); border-radius:10px;
              background:#f6efe4; }
.shot-box { display:inline-flex; align-items:center; justify-content:center; width:19px; height:19px;
            border-radius:5px; background:var(--accent); color:#fff; font-size:12px; flex:none; }
.shot-help { font-size:12.5px; color:var(--soft); margin:8px 2px 0; line-height:1.5; }
.shot-link { color:var(--accent); }
.shot-btn { display:inline-block; margin-top:16px; padding:11px 20px; border-radius:10px;
            background:var(--accent); color:#fff; font-size:14.5px; font-weight:600; }
