:root { --ink:#1c2430; --accent:#b3541e; --accent2:#20503c; --paper:#faf7f2; --line:#ddd3c4; }
* { box-sizing:border-box; }
body { margin:0; font-family:Georgia,'Times New Roman',serif; color:var(--ink); background:var(--paper); line-height:1.55; }
a { color:var(--accent2); }
.site-header { display:flex; flex-wrap:wrap; align-items:center; gap:1rem; padding:.75rem 1.25rem; border-bottom:1px solid var(--line); background:#fff; }
.site-header .brand { display:flex; align-items:center; gap:.5rem; font-weight:bold; font-size:1.15rem; color:var(--ink); text-decoration:none; }
.site-header nav { display:flex; flex-wrap:wrap; gap:.9rem; margin-left:auto; }
.site-header nav a { text-decoration:none; font-size:.95rem; }
main { max-width:1060px; margin:0 auto; padding:1.5rem 1.25rem 3rem; }
.hero { text-align:center; }
.hero img { max-width:100%; border-radius:8px; }
.disclaimer, figure.render figcaption { font-size:.82rem; font-style:italic; color:#6b6156; margin:.35rem 0 0; }
.ks { font-weight:bold; color:var(--accent); }
h1 { font-size:2rem; margin:.6rem 0; } h2 { margin-top:2.2rem; }
.grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:1.5rem; }
.card { background:#fff; border:1px solid var(--line); border-radius:10px; padding:1rem; }
.card figure { margin:0; }
.card img, figure.render img { width:100%; border-radius:6px; }
figure.render { margin:1rem 0; }
figure.render.wide img { max-height:560px; object-fit:contain; background:#fff; }
.prices { display:flex; gap:2rem; flex-wrap:wrap; margin:.8rem 0; }
.price-label { display:block; font-size:.8rem; text-transform:uppercase; letter-spacing:.04em; color:#6b6156; }
.price { font-size:1.35rem; font-weight:bold; }
.btn { display:inline-block; background:var(--accent2); color:#fff; padding:.5rem 1rem; border-radius:6px; text-decoration:none; margin:.25rem .25rem .25rem 0; }
.btn.ghost { background:transparent; color:var(--accent2); border:1px solid var(--accent2); }
.waitlist { background:#fff; border:1px solid var(--line); border-radius:10px; padding:1rem; max-width:560px; margin:1.2rem auto; text-align:left; }
.hero .waitlist { margin-left:auto; margin-right:auto; }
.waitlist-row { display:flex; gap:.5rem; margin-top:.4rem; }
.waitlist input[type=email] { flex:1; padding:.55rem; border:1px solid var(--line); border-radius:6px; font-size:1rem; }
button { background:var(--accent); color:#fff; border:0; padding:.55rem 1.1rem; border-radius:6px; font-size:1rem; cursor:pointer; }
.form-msg { min-height:1.2em; font-size:.92rem; }
.kicker { letter-spacing:.12em; font-size:.8rem; color:#6b6156; }
.headline { font-size:1.2rem; }
.ship { font-weight:bold; }
.details li, .how li { margin:.45rem 0; }
.family-prices li { margin:.35rem 0; }
.feedback-form { display:grid; gap:.7rem; max-width:560px; }
.feedback-form input, .feedback-form select, .feedback-form textarea { width:100%; padding:.5rem; border:1px solid var(--line); border-radius:6px; font:inherit; }
.fine { font-size:.82rem; color:#6b6156; }
details { background:#fff; border:1px solid var(--line); border-radius:8px; padding:.7rem 1rem; margin:.6rem 0; }
summary { font-weight:bold; cursor:pointer; }
.site-footer { border-top:1px solid var(--line); background:#fff; padding:1.5rem 1.25rem; text-align:center; }
