:root{--bg:#f9f6f2;--text:#1f1b16;--muted:#6e5a46;--accent:#5c3d2e;--accent-2:#937e6a}*{box-sizing:border-box}html,body,#app{height:100%}body{background:var(--bg);color:var(--text);margin:0;font-family:Crimson Text,Georgia,serif;line-height:1.55}.container{text-align:center;max-width:980px;margin:0 auto;padding:40px 24px 80px}.hero-title{letter-spacing:.2px;white-space:nowrap;margin:12px 0 10px;font-family:Playfair Display,Georgia,serif;font-size:clamp(28px,5vw,64px);font-weight:800}.subhead{color:var(--muted);margin:-16px 0 28px;font-size:clamp(18px,2.5vw,24px)}.book-wrap{justify-content:center;margin:24px 0;display:flex}.book{aspect-ratio:3/4.3;width:min(255px,44vw);position:relative}.book img{object-fit:cover;border-radius:6px;width:100%;height:100%}.blurb{color:#3a3128;max-width:732px;margin:48px auto 28px;font-size:clamp(18px,2.1vw,20px)}.signup{flex-wrap:wrap;justify-content:center;align-items:stretch;gap:12px;margin-top:56px;display:flex}.input{border:1.5px solid var(--accent-2);background:#fff;border-radius:12px;outline:none;width:min(560px,70vw);min-width:323px;max-width:323px;padding:14px 16px;font-size:14px}.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #5c3d2e1f}.btn{background:var(--accent);color:#fff;cursor:pointer;border:0;border-radius:12px;padding:14px 20px;font-size:14px;font-weight:600;transition:transform 40ms,filter .2s,box-shadow .2s;box-shadow:0 6px 16px #5c3d2e40}.btn:hover{filter:brightness(1.05)}.btn:active{transform:translateY(1px)}.notice{color:#615344;margin-top:12px;font-size:14px}.success{color:#7b6a59}.error{color:#8b2c24}footer{color:#7b6a59;margin-top:42px;font-size:18px}
