
:root {
  --green:#2F5D50; --accent:#E9A23B; --cream:#FAF6EE; --dark:#21342E;
  --muted:#5a7269; --line:#e4ddd0; --card:#fff;
  --max:1080px;
}
* {box-sizing:border-box}
html {scroll-behavior:smooth}
body {margin:0;font-family:Georgia,"Times New Roman",serif;background:var(--cream);color:var(--dark);line-height:1.55}
a {color:var(--green)}
.wrap {max-width:var(--max);margin:0 auto;padding:0 1.25rem}
.site-header {background:var(--green);color:#fff;position:sticky;top:0;z-index:10}
.nav {display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 1.25rem;flex-wrap:wrap}
.logo {color:#fff;text-decoration:none;font-weight:700;font-size:1.15rem;letter-spacing:.02em}
.logo span {display:block;font-weight:400;font-size:.72rem;opacity:.85;letter-spacing:.04em;text-transform:uppercase}
.nav nav {display:flex;gap:1rem;flex-wrap:wrap}
.nav nav a {color:#d6e8e0;text-decoration:none;font-family:system-ui,-apple-system,sans-serif;font-size:.92rem}
.nav nav a:hover {color:#fff}
.hero {padding:3rem 0 2rem}
.hero h1 {font-size:clamp(1.8rem,4vw,2.6rem);line-height:1.15;margin:0 0 .75rem;max-width:18ch}
.hero p.lead {font-size:1.15rem;color:var(--muted);max-width:46ch;margin:0 0 1.25rem}
.btn {display:inline-block;background:var(--accent);color:#fff;text-decoration:none;font-family:system-ui,-apple-system,sans-serif;font-weight:700;padding:.75rem 1.15rem;border-radius:999px;border:0;cursor:pointer}
.btn:hover {filter:brightness(1.05)}
.btn.secondary {background:transparent;color:var(--green);border:2px solid var(--green)}
.pills {display:flex;gap:.5rem;flex-wrap:wrap;margin:1rem 0 0;font-family:system-ui,sans-serif;font-size:.82rem}
.pills span {background:#fff;border:1px solid var(--line);padding:.35rem .7rem;border-radius:999px;color:var(--muted)}
section {padding:2.25rem 0}
h2.section {font-size:1.6rem;margin:0 0 1rem}
.grid {display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem}
.card {background:var(--card);border:1px solid var(--line);border-radius:16px;padding:1.1rem 1.15rem;display:flex;flex-direction:column;gap:.55rem;min-height:100%}
.card .niche {font-family:system-ui,sans-serif;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--accent);font-weight:700}
.card h3 {margin:0;font-size:1.15rem}
.card p {margin:0;color:var(--muted);flex:1}
.card .meta {display:flex;justify-content:space-between;align-items:center;gap:.5rem;font-family:system-ui,sans-serif;font-size:.9rem}
.card .price {font-weight:700;color:var(--green)}
.guide-list {display:grid;gap:.75rem}
.guide-list a {display:block;background:#fff;border:1px solid var(--line);border-radius:12px;padding:1rem 1.1rem;text-decoration:none;color:var(--dark)}
.guide-list a:hover {border-color:var(--green)}
.guide-list strong {display:block;margin-bottom:.2rem}
.guide-list span {color:var(--muted);font-size:.95rem}
.prose {max-width:720px}
.prose h1 {font-size:clamp(1.7rem,3.5vw,2.3rem);line-height:1.2;margin:0 0 .75rem}
.prose h2 {font-size:1.35rem;margin:2rem 0 .6rem}
.prose p, .prose li {color:#2c4039}
.prose ul {padding-left:1.2rem}
.calc {background:#fff;border:1px solid var(--line);border-radius:16px;padding:1.2rem;margin:1.5rem 0;font-family:system-ui,-apple-system,sans-serif}
.calc h3 {margin:0 0 .8rem;font-family:Georgia,serif}
.calc label {display:block;font-size:.85rem;color:var(--muted);margin:.55rem 0 .2rem}
.calc input, .calc select {width:100%;max-width:280px;padding:.55rem .65rem;border:1px solid var(--line);border-radius:8px;font-size:1rem}
.calc .row {display:flex;flex-wrap:wrap;gap:1rem}
.calc .field {flex:1;min-width:140px}
.calc .result {margin-top:1rem;padding:.9rem;background:var(--cream);border-radius:10px;border:1px dashed var(--green)}
.calc .result strong {display:block;font-size:1.25rem;color:var(--green)}
.calc .note {font-size:.8rem;color:var(--muted);margin-top:.5rem}
.cta {background:var(--green);color:#fff;border-radius:18px;padding:1.4rem 1.5rem;margin:2rem 0}
.cta h2 {margin:0 0 .4rem;font-size:1.35rem}
.cta p {margin:0 0 1rem;opacity:.92}
.cta .btn {background:var(--accent)}
.disclaimer {font-size:.85rem;color:var(--muted);border-top:1px solid var(--line);padding-top:1rem;margin-top:2rem}
.site-footer {background:#1a2b26;color:#c9ddd4;padding:2.5rem 0 1.5rem;margin-top:2rem;font-family:system-ui,sans-serif;font-size:.92rem}
.site-footer a {color:#fff}
.footer-grid {display:grid;grid-template-columns:1.4fr 1fr;gap:1.5rem}
.tiny {opacity:.7;margin-top:1.5rem;font-size:.8rem}
@media (max-width:700px){.footer-grid{grid-template-columns:1fr}}
