*{box-sizing:border-box}
html{scroll-padding-top:4.5rem}
body{margin:0;background:#eff1ed;color:#14211c;font-family:"Source Sans 3",Avenir Next,Helvetica,sans-serif;line-height:1.6}
h1,h2,h3{font-family:Newsreader,Georgia,serif;font-weight:400;letter-spacing:-.02em;margin:0}
a{color:#2c5145}
header{position:sticky;top:0;background:#eff1edee;border-bottom:1px solid #d3d9d0;box-shadow:inset 0 3px 0 #2c5145;z-index:5}
header .bar{display:flex;justify-content:space-between;align-items:center;padding:.75rem 5vw;max-width:1140px;margin:auto}
nav a{margin-left:1.1rem;font-size:.9rem;text-decoration:none;color:#2c5145}
details.menu{display:none}
.wrap{max-width:1140px;margin:auto;padding:3.5rem 5vw}
h1{font-size:clamp(2rem,5vw,4.2rem);line-height:1.05;max-width:18ch}
h1 em{font-style:italic;color:#2c5145}
.lede{max-width:52ch;margin:1.1rem 0 1.4rem;color:#3e504a}
h2{font-size:clamp(1.5rem,3vw,2.5rem);margin:.35rem 0 .9rem}
.eyebrow{letter-spacing:.14em;text-transform:uppercase;font-size:.72rem;font-weight:700;color:#7fb3a0}
.wordmark{display:flex;gap:.7rem;align-items:center;text-decoration:none;color:#2c5145}
.wordmark svg{width:2.3rem;height:2.3rem}
.wordmark b{display:block;font-family:Newsreader,Georgia,serif;font-weight:400;font-size:1.3rem;line-height:1}
.wordmark small{display:block;letter-spacing:.16em;text-transform:uppercase;font-size:.62rem;color:#7fb3a0}
.hero{padding:4.5rem 5vw 3.5rem;max-width:1140px;margin:auto}
.actions a,.cta a.btn,.navcta{display:inline-block;margin:0 .55rem .55rem 0;padding:.8rem 1.15rem;text-decoration:none;border:1px solid #2c5145}
.navcta{margin:0;padding:.45rem .9rem;background:#2c5145;color:#eff1ed}
.p{background:#2c5145;color:#eff1ed;border-color:#2c5145}
.g{background:transparent;color:#2c5145;border-color:#2c5145}
.meta{display:flex;gap:1.3rem;padding:0;list-style:none;color:#6b7c74;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase}
.band{border-top:1px solid #d3d9d0}
.cards{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.card{border:1px solid #d3d9d0;padding:1.15rem;background:#fff}
.card.feat{border-color:#2c5145;background:#e4e8e1;border-left:4px solid #2c5145}
.price{color:#8f6620;font-size:1.45rem}
ul.plain{padding:0;margin:0}
ul.plain li{display:flex;justify-content:space-between;gap:1rem;padding:.65rem 0;border-bottom:1px solid #e1e6de;list-style:none}
details.faq{border-bottom:1px solid #e1e6de;padding:.85rem 0}
details.faq summary{cursor:pointer;font-weight:600}
.quiet{margin:.9rem 0 0;color:#3e504a;font-size:.95rem}
footer{background:#0e1714;color:#eff1ed;padding:2.6rem 5vw}
footer a{color:#7fb3a0}
footer .cols{display:grid;gap:1.3rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));max-width:1140px;margin:auto}
footer .fine{max-width:1140px;margin:1.6rem auto 0;color:#a9bcb2;font-size:.86rem}
.legal{max-width:66ch}
.legal h2{font-size:1.35rem;margin:1.5rem 0 .45rem}
@media(max-width:720px){nav.desk{display:none}details.menu{display:block}details.menu summary{list-style:none;cursor:pointer;color:#2c5145}details.menu[open] .drawer{position:fixed;inset:3.5rem 0 0;background:#eff1ed;padding:1.4rem 5vw}details.menu .drawer a{display:block;padding:.65rem 0;font-size:1.15rem}details.menu .drawer .navcta{display:inline-block;margin-top:.8rem}}
