:root{--navy:#1f3a5f;--green:#2f7d5b;--bg:#fbfaf7;--card:#fff;--text:#22303c;--muted:#5b6b7a;--line:#e3e0d8;--gold:#c99a2e}
*{box-sizing:border-box}body{margin:0;font-family:"Source Sans 3",system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--text);background:var(--bg);line-height:1.65;font-size:18px}
h1,h2,h3{font-family:"Merriweather",Georgia,serif;color:var(--navy);line-height:1.25}a{color:var(--green)}
.wrap{max-width:1100px;margin:0 auto;padding:0 20px}
.skip{position:absolute;left:-999px}.skip:focus{left:10px;top:10px;background:#fff;padding:8px;z-index:9}
header.site{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 20px;flex-wrap:wrap}
.brand{font-family:Merriweather,serif;font-weight:700;color:var(--navy);text-decoration:none;font-size:1.2rem}.brand span{color:var(--green)}
nav ul{list-style:none;display:flex;gap:18px;margin:0;padding:0;flex-wrap:wrap}nav a{text-decoration:none;color:var(--text);font-weight:600;font-size:.95rem}nav a[aria-current]{color:var(--green);border-bottom:2px solid var(--green)}
.navtoggle{display:none;background:none;border:1px solid var(--line);border-radius:6px;padding:6px 10px;font-size:1rem}
@media(max-width:820px){.navtoggle{display:block}nav{width:100%;display:none}nav.open{display:block}nav ul{flex-direction:column;gap:8px;padding:8px 0}}
.hero{background:linear-gradient(135deg,var(--navy),#2b5580);color:#fff;padding:72px 0}.hero h1{color:#fff;font-size:2.4rem;margin:0 0 12px}.hero p{font-size:1.2rem;max-width:640px;opacity:.95}
.btn{display:inline-block;background:var(--green);color:#fff;padding:12px 22px;border-radius:8px;text-decoration:none;font-weight:700;border:0;cursor:pointer;font-size:1rem}.btn.alt{background:#fff;color:var(--navy)}.btn.gold{background:var(--gold)}
.grid{display:grid;gap:22px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:22px}.card h3{margin-top:0}
section{padding:44px 0}.layout{display:grid;grid-template-columns:1fr 300px;gap:36px;padding:40px 20px}@media(max-width:900px){.layout{grid-template-columns:1fr}}
article.prose{max-width:720px}article.prose h2{margin-top:2em}.meta{color:var(--muted);font-size:.9rem}
.ad-slot{border:2px dashed #c9c4b8;color:#9a937f;text-align:center;padding:30px 10px;border-radius:10px;font-size:.85rem;margin:24px 0;background:#f4f2ec}
.callout{background:#eef6f1;border-left:4px solid var(--green);padding:16px 20px;border-radius:6px;margin:20px 0}.warn{background:#fff7e6;border-left-color:var(--gold)}
.newsletter{background:var(--navy);color:#fff;border-radius:14px;padding:32px}.newsletter h2{color:#fff;margin-top:0}
.newsletter form{display:flex;gap:10px;flex-wrap:wrap}.newsletter input{flex:1;min-width:220px;padding:12px;border-radius:8px;border:0;font-size:1rem}.success{display:none;font-weight:700}
footer.site{background:#16283f;color:#c8d2de;padding:40px 0;font-size:.9rem;margin-top:40px}footer a{color:#fff}footer .cols{display:flex;gap:30px;flex-wrap:wrap;justify-content:space-between}footer .legal{border-top:1px solid #2c4262;margin-top:24px;padding-top:16px}
table{border-collapse:collapse;width:100%}td,th{border:1px solid var(--line);padding:8px;text-align:left}
label{font-weight:600;display:block;margin-top:12px}input[type=number],select{padding:10px;border:1px solid var(--line);border-radius:6px;font-size:1rem;width:100%;max-width:260px}
.bar{display:flex;height:34px;border-radius:8px;overflow:hidden;margin:14px 0}.bar div{color:#fff;font-size:.85rem;display:flex;align-items:center;justify-content:center}
.book{display:flex;flex-direction:column}.book .btn{margin-top:auto;align-self:flex-start}
.preview{aspect-ratio:4/3;background:#eceae3;border-radius:10px;display:flex;align-items:center;justify-content:center;color:var(--muted);overflow:hidden}.preview img{width:100%;height:100%;object-fit:cover}
.price{font-size:2.2rem;font-weight:700;color:var(--navy)}
