:root { --bg:#f3e6cc; --ink:#241a14; --accent:#1b5e86; --terracotta:#c4572b; --gold:#b8892a; --wine:#6b1e2e; --amphora:#17110d; --laurel:#d9b44a; --panel:#ead9b5; }
@media (prefers-color-scheme: dark) { :root { --bg:#14100d; --ink:#efe5d2; --accent:#5fb3de; --terracotta:#e3774a; --gold:#d9b44a; --wine:#e08a9a; --panel:#211a15; } }
* { box-sizing: border-box; }
body { margin:0; background:var(--bg); color:var(--ink); font:18px/1.65 Georgia, "Palatino Linotype", serif; }
a { color:var(--accent); }
header { display:flex; flex-wrap:wrap; gap:.5rem 2rem; justify-content:space-between; align-items:baseline; padding:1rem 1.5rem; background:var(--amphora); border-bottom:4px solid var(--terracotta); }
.brand { font:bold 1.5rem "Palatino Linotype", Palatino, Georgia, serif; text-decoration:none; color:var(--laurel); letter-spacing:.08em; text-transform:uppercase; }
nav a { margin-right:1rem; text-decoration:none; color:#f3e6cc; border-bottom:1px solid transparent; }
nav a:hover { border-bottom-color:var(--terracotta); }
.meander { height:22px; background:var(--amphora) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='44' height='22'%3E%3Cpath d='M0 20h4V4h28v12H12V8h16v4h-8' fill='none' stroke='%23d9b44a' stroke-width='3'/%3E%3Cpath d='M32 20h12' fill='none' stroke='%23d9b44a' stroke-width='3'/%3E%3C/svg%3E") repeat-x; border-bottom:4px solid var(--laurel); }
main { max-width:42rem; margin:0 auto; padding:1rem 1.25rem 3rem; }
h1, h2 { font-weight:normal; color:var(--wine); font-family:"Palatino Linotype", Palatino, Georgia, serif; }
h1 { font-size:2.2rem; border-bottom:2px solid var(--terracotta); padding-bottom:.3rem; }
h2::before { content:"❦ "; color:var(--terracotta); }
.notice { border:2px solid var(--gold); background:var(--panel); padding:.75rem 1rem; margin:1rem 0; border-radius:4px; }
.signup, .testimonial { border-top:3px double var(--gold); margin-top:2rem; padding-top:1rem; }
input[type=email], input[type=text], textarea { width:100%; padding:.5rem; font:inherit; background:transparent; color:inherit; border:1px solid var(--ink); border-radius:3px; }
label { display:block; margin-bottom:1rem; }
button { font:inherit; padding:.5rem 1.25rem; margin-top:.5rem; background:var(--terracotta); color:#fff; border:2px solid var(--amphora); border-radius:3px; cursor:pointer; }
button:hover { background:var(--wine); }
.hp { position:absolute; left:-9999px; }
.flash { padding:.5rem 1rem; border-left:4px solid var(--accent); background:var(--panel); }
footer { text-align:center; font-size:.85rem; padding:2rem 1rem; background:var(--amphora); color:#f3e6cc; border-top:4px solid var(--terracotta); }
footer a { color:var(--laurel); }
blockquote { margin:1.25rem 0; padding:.25rem 1rem; border-left:4px solid var(--gold); background:var(--panel); white-space:pre-line; }
blockquote cite { display:block; margin-top:.5rem; font-size:.9rem; color:var(--wine); }
blockquote cite::before { content:"— "; }
