:root{--bg:#f4f7f2;--surface:#fff;--surface-2:#e8efe9;--text:#15241e;--muted:#5b6b63;--line:#d6e0d9;--brand:#165b44;--brand-strong:#0d4533;--accent:#e56b46;--focus:#f2a67d}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.55 Manrope,system-ui,-apple-system,Segoe UI,sans-serif}
img{max-width:100%;height:auto;display:block}a{color:var(--brand)}a:focus-visible,summary:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
h1,h2,h3{font-family:"Libre Baskerville",Georgia,serif;line-height:1.16}h1{font-size:clamp(2rem,5vw,3.4rem);letter-spacing:-.035em;margin:.2em 0}h2{font-size:clamp(1.6rem,3.4vw,2.4rem);letter-spacing:-.03em}h3{font-size:1.15rem}
.wrap{max-width:1140px;margin:0 auto;padding:0 20px}
header.site{background:var(--brand-strong);color:#fff}header.site .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:14px;padding-bottom:14px;flex-wrap:wrap}
header.site a{color:#fff;text-decoration:none;font-weight:700}.logo{font-family:"Libre Baskerville",Georgia,serif;font-size:1.1rem}
nav a{margin-left:16px;font-size:.92rem}nav a.pill{background:#fff;color:#173427;padding:8px 14px;border-radius:999px}
.hero{background:linear-gradient(90deg,rgba(7,25,19,.88),rgba(7,25,19,.5)),var(--hero) center/cover #193c31;color:#fff;padding:72px 0}
.hero p{max-width:640px;color:rgba(255,255,255,.9);font-size:1.08rem}
.btn{display:inline-block;background:var(--brand);color:#fff;text-decoration:none;font-weight:700;border-radius:9px;padding:12px 18px;min-height:48px;margin:4px 8px 4px 0}.btn:hover{background:var(--brand-strong)}
.btn.alt{background:#fff;color:#173427;border:1px solid var(--line)}.btn.alt:hover{background:#eaf2ed}
section{padding:48px 0}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:22px}
.card{background:var(--surface);border-radius:16px;overflow:hidden;border:1px solid var(--line);display:flex;flex-direction:column}.card img{aspect-ratio:4/3;object-fit:cover;width:100%}
.card .body{padding:16px 18px 20px;flex:1;display:flex;flex-direction:column}.card h3{margin:0 0 6px}.card p{font-size:.94rem;margin:0 0 10px}.meta{color:var(--muted);font-size:.84rem;margin-bottom:12px}.card .more{margin-top:auto;font-weight:700;text-decoration:none}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}.gallery a{display:block}.gallery img{aspect-ratio:4/3;object-fit:cover;width:100%;border-radius:10px}
.two{display:grid;grid-template-columns:2fr 1fr;gap:32px}@media(max-width:820px){.two{grid-template-columns:1fr}nav a{margin:0 12px 0 0}}
aside.book{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:20px;align-self:start;position:sticky;top:16px}
blockquote{margin:12px 0;padding:12px 16px;background:var(--surface-2);border-left:4px solid var(--accent);border-radius:8px}
.alt-bg{background:var(--surface-2)}details.faq-item{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:6px 16px;margin:10px 0}details summary{cursor:pointer}details summary h3{display:inline;font-size:1.02rem}
footer{background:var(--brand-strong);color:#dfe9e3;padding:32px 0;font-size:.92rem}footer a{color:#fff}
