:root{--ink:#1C1C2E;--paper:#FAF8F4;--gold:#C9A84C;--gold-dark:#9C7F2E;--surface:#FFFFFF;--muted:#5E5E72;--border:#E8E4DC;--soft:#F2EEE5}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.6 'DM Sans',system-ui,sans-serif}
h1,h2,h3{font-family:'DM Serif Display',Georgia,serif;font-weight:400;line-height:1.15;margin:0 0 16px}
h1{font-size:clamp(34px,6vw,54px);letter-spacing:-.5px}
h2{font-size:clamp(26px,4vw,36px)}
h3{font-size:22px;margin-bottom:8px}
a{color:var(--ink)}
.top{display:flex;justify-content:space-between;align-items:center;max-width:1080px;margin:0 auto;padding:20px 16px}
.brand{font-family:'DM Serif Display',Georgia,serif;font-size:24px;text-decoration:none}
.login{font-weight:700;text-decoration:none;padding:10px 16px;border:1px solid var(--border);border-radius:999px;background:var(--surface)}
main{max-width:1080px;margin:0 auto;padding:0 16px}
section{padding:48px 0}
.hero{display:grid;gap:40px;align-items:center;padding-top:24px}
@media(min-width:860px){.hero{grid-template-columns:1.15fr .85fr}}
.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:13px;font-weight:700;color:var(--gold-dark);margin:0 0 12px}
.lede{font-size:19px;color:var(--muted);max-width:36em}
.ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 22px;border-radius:999px;font:700 16px 'DM Sans',sans-serif;text-decoration:none;border:0;cursor:pointer}
.btn.primary{background:var(--ink);color:var(--paper)}
.btn.primary:hover{background:#2c2c44}
.btn.ghost{background:transparent;border:1px solid var(--ink);color:var(--ink)}
.btn:disabled{opacity:.6;cursor:wait}
.btn:focus-visible,.login:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.phone{background:var(--surface);border-radius:28px;padding:22px 18px;box-shadow:0 20px 50px rgba(28,28,46,.12);max-width:380px;justify-self:center;width:100%}
.msg{padding:10px 14px;border-radius:18px;margin:8px 0;max-width:85%;font-size:15px;line-height:1.45}
.msg.me{margin-left:auto;background:var(--ink);color:var(--paper);border-bottom-right-radius:6px}
.msg.sec{background:var(--soft);border-bottom-left-radius:6px}
.phone-note{font-size:12px;color:var(--muted);text-align:center;margin:12px 0 0}
.steps ol{list-style:none;padding:0;margin:0;display:grid;gap:20px}
@media(min-width:760px){.steps ol{grid-template-columns:repeat(3,1fr)}}
.steps li{background:var(--surface);border-radius:18px;padding:24px;box-shadow:0 6px 24px rgba(28,28,46,.06)}
.num{display:inline-flex;width:34px;height:34px;border-radius:50%;align-items:center;justify-content:center;background:var(--gold);color:var(--ink);font-weight:700;margin-bottom:12px}
.steps p,.trust li{color:var(--muted)}
.chips{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.chips li{background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:8px 16px;font-size:15px}
.trust ul{padding:0;list-style:none;display:grid;gap:14px;max-width:46em}
.trust strong{color:var(--ink)}
.signup{background:var(--surface);border-radius:24px;padding:32px 20px;margin:24px 0 48px;box-shadow:0 10px 40px rgba(28,28,46,.08)}
@media(min-width:760px){.signup{padding:44px}}
form{max-width:560px}
label{display:block;font-weight:700;font-size:15px;margin:16px 0 6px}
input,select{width:100%;font:16px 'DM Sans',sans-serif;padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:var(--paper);color:var(--ink)}
.row{display:grid;gap:0 16px}
@media(min-width:560px){.row{grid-template-columns:1fr 1fr}}
.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
form .btn{margin-top:24px}
.fine{font-size:13px;color:var(--muted)}
#ea-status{font-weight:700;min-height:1.6em}
#ea-status.ok{color:#2E6B3F}
#ea-status.err{color:#A12828}
footer{max-width:1080px;margin:0 auto;padding:24px 16px 48px;color:var(--muted);font-size:14px;border-top:1px solid var(--border)}
footer p{margin:4px 0}
footer a{color:var(--muted)}
