@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,500;9..144,600;9..144,700&family=Inter:wght@400;600;700;800&display=swap');
:root { color-scheme: light; --page:#FBF8F2; --surface:#FFFFFF; --surface-2:#F4EFE6; --ink:#1C2A3A; --ink-2:#44546A; --muted:#6B7A8F; --grid:#EFE9DD; --border:#E8E1D3; --series:#16395E; --gold:#A97E1C; --radius:16px; }
* { margin:0; padding:0; box-sizing:border-box; }
body { background:var(--page); color:var(--ink); font-family:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif; line-height:1.6; font-size:18px; padding-bottom:80px; -webkit-font-smoothing:antialiased; }
.wrap { max-width:680px; margin:0 auto; padding:0 20px; }
header { padding:28px 0 8px; }
.logo { font-size:13px; font-weight:800; letter-spacing:0.12em; text-transform:uppercase; color:var(--gold); text-decoration:none; }
h1 { font-family:"Fraunces",Georgia,serif; font-size:clamp(28px,6vw,40px); font-weight:600; margin:16px 0 8px; letter-spacing:-0.02em; line-height:1.15; }
.updated { font-size:14px; color:var(--muted); margin-bottom:20px; }
h2 { font-family:"Fraunces",Georgia,serif; font-size:23px; font-weight:600; margin:30px 0 8px; }
p, li { color:var(--ink-2); font-size:17px; margin-bottom:12px; }
ul { padding-left:22px; margin-bottom:12px; }
a { color:var(--series); }
b { color:var(--ink); }
.card { background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); padding:24px; margin:20px 0; box-shadow:0 1px 2px rgba(28,42,58,.05), 0 8px 28px rgba(28,42,58,.06); }
label { display:block; font-size:15px; font-weight:700; color:var(--ink-2); margin:14px 0 6px; }
input, textarea { width:100%; background:#fff; border:1.5px solid var(--border); border-radius:10px; color:var(--ink); font-size:17px; padding:13px 15px; font-family:inherit; }
textarea { min-height:120px; resize:vertical; }
input:focus, textarea:focus { outline:3px solid rgba(22,57,94,.22); border-color:var(--series); }
.btn { display:block; width:100%; background:var(--series); color:#fff; border:none; border-radius:12px; font-size:18px; font-weight:700; font-family:inherit; padding:16px; margin-top:18px; cursor:pointer; text-align:center; text-decoration:none; }
.btn:hover { background:#102C4A; }
.btn.cta { max-width:420px; margin:24px auto 0; }
.note { font-size:14px; color:var(--muted); margin-top:10px; }
.toast { position:fixed; left:50%; bottom:24px; transform:translateX(-50%); background:var(--ink); color:#fff; padding:10px 18px; border-radius:99px; font-size:15px; display:none; z-index:10; }
footer { margin-top:44px; padding-top:16px; border-top:1px solid var(--grid); font-size:13px; color:var(--muted); }
footer a { color:var(--muted); }

@media (max-width: 760px) {
  .wrap { padding: 0 18px; }
  body { font-size: 17px; }
  h1 { font-size: clamp(26px, 8vw, 34px); }
  .card { padding: 20px; }
}
