:root { --ink:#14251f; --muted:#5d6b65; --paper:#f8f6ef; --white:#fffef9; --line:#d6d9ce; --green:#164f3a; --coral:#e36b4f; --yellow:#f1d88b; }
* { box-sizing:border-box; }
html,body { min-width:320px; min-height:100%; margin:0; }
body { background:var(--paper); color:var(--ink); font-family:Arial,Helvetica,sans-serif; font-size:16px; line-height:1.65; }
a { color:inherit; text-underline-offset:.22em; }
.shell { width:min(90vw,820px); min-height:100vh; margin:0 auto; display:flex; flex-direction:column; }
.brandbar { display:flex; justify-content:space-between; gap:1.5rem; padding:2rem 0 1.3rem; border-bottom:1px solid var(--line); color:var(--muted); font-size:.68rem; letter-spacing:.13em; text-transform:uppercase; }
.brand { color:var(--ink); font-weight:750; text-decoration:none; }
.panel { width:min(100%,690px); margin:auto 0; padding:clamp(4.5rem,11vh,7.5rem) 0; }
.kicker,.eyebrow { margin:0 0 1rem; color:var(--coral); font-size:.69rem; font-weight:750; letter-spacing:.14em; text-transform:uppercase; }
h1 { max-width:13ch; margin:0; font-family:Georgia,'Times New Roman',serif; font-size:clamp(3rem,9vw,5.5rem); font-weight:400; line-height:.98; letter-spacing:-.025em; }
.lead { max-width:55ch; margin:1.7rem 0 0; color:var(--muted); }
.optin-form { margin-top:3rem; }
.list-summary { display:flex; flex-wrap:wrap; gap:.6rem; margin:0 0 2rem; padding:0; list-style:none; }
.list-summary li { padding:.5rem 1rem; border:1px solid var(--line); background:var(--white); font-size:.82rem; }
.button { display:inline-flex; min-height:3.2rem; align-items:center; justify-content:center; padding:.85rem 1.25rem; border:0; background:var(--green); color:white; cursor:pointer; font:700 .76rem/1 Arial,sans-serif; letter-spacing:.08em; text-decoration:none; }
.button:focus-visible { outline:3px solid var(--yellow); outline-offset:4px; }
.button-link { margin-top:2.3rem; }
.fineprint { margin:1.3rem 0 0; color:var(--muted); font-size:.78rem; }
.site-footer { display:flex; justify-content:space-between; gap:1.5rem; margin-top:auto; padding:1.3rem 0 2rem; border-top:1px solid var(--line); color:var(--muted); font-size:.66rem; letter-spacing:.1em; text-transform:uppercase; }
.site-footer nav { display:flex; gap:1.3rem; }
.site-footer a { text-decoration:none; }
@media (max-width:620px) { .brandbar,.site-footer { align-items:flex-start; flex-direction:column; } .panel { padding:4.5rem 0 5rem; } }
