:root{--bg:#f8f5ef;--paper:#fffdf8;--sage:#a3b19b;--sage-l:#e3e8dc;--sand:#e8dcc8;--forest:#2f4a3a;--ink:#2b2a27;--muted:#6b6a63;--line:#e4dccd}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:18px/1.75 "Source Sans 3","Helvetica Neue",Arial,sans-serif}
h1,h2,h3,h4,.brand{font-family:"Cormorant Garamond",Georgia,"Times New Roman",serif;color:var(--forest);font-weight:600;line-height:1.2}
h1{font-size:clamp(2.2rem,5vw,3.4rem);margin:.2em 0}h2{font-size:clamp(1.6rem,3.2vw,2.2rem);margin:2em 0 .5em}h3{font-size:1.45rem;margin:1.6em 0 .4em}
a{color:var(--forest)}a:hover{color:#4f7a5f}
img{max-width:100%;height:auto;display:block}
.wrap{max-width:1120px;margin:0 auto;padding:0 24px}.narrow{max-width:740px;margin:0 auto;padding:0 24px}
header.site{border-bottom:1px solid var(--line);background:var(--paper)}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding-top:18px;padding-bottom:18px}
.brand{font-size:1.7rem;text-decoration:none;letter-spacing:.02em}.brand span{color:#6f8466}
nav a{margin-left:22px;text-decoration:none;font-size:.95rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink)}nav a:hover{color:var(--forest)}
.hero{position:relative;min-height:72vh;display:flex;align-items:flex-end;color:#fff;background:#2f4a3a center/cover no-repeat}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,30,24,.1),rgba(20,30,24,.65))}
.hero .wrap{position:relative;z-index:1;padding-bottom:9vh}.hero h1{color:#fff;max-width:760px}.hero p{max-width:600px;font-size:1.15rem}
.btn{display:inline-block;background:var(--forest);color:#fff!important;padding:12px 26px;border-radius:999px;text-decoration:none;font-size:.95rem;letter-spacing:.04em;border:0;cursor:pointer}
.btn.light{background:var(--sand);color:var(--forest)!important}
section{padding:80px 0}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.78rem;color:var(--muted)}
.grid{display:grid;gap:32px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.card{background:var(--paper);border:1px solid var(--line);border-radius:14px;overflow:hidden}
.card img{aspect-ratio:4/3;object-fit:cover;width:100%}.card .in{padding:22px 24px 26px}.card h3{margin-top:.2em}
.card p{color:var(--muted);font-size:.98rem}
.pillars{background:var(--sage-l)}.sandbg{background:var(--sand)}
.newsletter{background:var(--forest);color:#f3efe6;text-align:center}.newsletter h2{color:#fff;margin-top:0}
.newsletter form{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:20px}
.newsletter input{padding:12px 18px;border-radius:999px;border:0;min-width:260px;font-size:1rem}
article.post{background:var(--paper);padding:56px 0 72px}
.post-hero{width:100%;max-height:520px;object-fit:cover}
.meta{color:var(--muted);font-size:.9rem}
.notice{background:var(--sand);border-radius:10px;padding:14px 18px;font-size:.92rem;margin:20px 0}
.notice.health{background:#f1e9e1;border-left:4px solid #b4825a}
.product{border:1px solid var(--line);border-left:5px solid var(--sage);border-radius:12px;padding:22px 24px;margin:28px 0;background:#fbf9f3}
.product h4{font-size:1.3rem;margin:0 0 .3em}.product .tag{font-size:.75rem;text-transform:uppercase;letter-spacing:.14em;color:var(--muted)}
.product ul{margin:.4em 0 .8em;padding-left:1.2em}.product .links{font-size:.9rem;word-break:break-all;color:var(--muted)}
.product .price{font-style:italic;color:var(--forest)}
.acc{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.acc .product{margin:0}
figure{margin:32px 0}figcaption,.credit{font-size:.8rem;color:var(--muted);margin-top:6px}
blockquote{border-left:3px solid var(--sage);margin:28px 0;padding:4px 20px;font-family:Georgia,serif;font-style:italic;color:var(--forest)}
ol.sources{font-size:.88rem;color:var(--muted)}
footer.site{border-top:1px solid var(--line);padding:40px 0;font-size:.88rem;color:var(--muted);background:var(--paper)}
footer.site a{margin-right:16px}
.page-head{padding:70px 0 20px;text-align:center}
@media(max-width:640px){body{font-size:17px}nav a{margin:0 14px 0 0;font-size:.8rem}section{padding:56px 0}.hero{min-height:60vh}}

/*relocation*/
.steps{counter-reset:s}.step{position:relative;padding-top:8px}.step .num{display:inline-flex;width:44px;height:44px;border-radius:50%;background:var(--forest);color:#fff;align-items:center;justify-content:center;font-family:"Cormorant Garamond",Georgia,serif;font-size:1.4rem;margin-bottom:8px}
.card.plain{padding:26px 26px 28px}.card.plain h3{margin-top:0}
.placeholder{border:2px dashed var(--sage);background:#fbf9f3}.placeholder p{color:var(--ink)}
.tag-ph{display:inline-block;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;background:#6f8466;color:#fff;border-radius:999px;padding:2px 10px}
.cta{background:var(--forest);color:#f3efe6;text-align:center}.cta h2{color:#fff;margin-top:0}
.area{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:26px 28px;margin:28px 0}.area h2{margin-top:0}
.area dl{display:grid;grid-template-columns:150px 1fr;gap:6px 18px;margin:0}.area dt{font-weight:600;color:#6f8466}.area dd{margin:0}
.toc{columns:2;padding-left:1.2em}
form.intake{display:grid;gap:16px;grid-template-columns:1fr 1fr;background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:28px}
form.intake label{display:flex;flex-direction:column;font-size:.95rem;font-weight:600;color:var(--forest);gap:6px}
form.intake .full{grid-column:1/-1}form.intake input,form.intake select,form.intake textarea{font:inherit;font-weight:400;padding:10px 14px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink)}
form.intake .hp{display:none}
footer.site .trec a{font-size:1rem;font-weight:600}
.lede{font-size:1.08rem}.faq h3{font-size:1.25rem}.related ul{padding-left:1.2em}
.notice.legal{background:var(--sage-l);border-left:4px solid #6f8466}
@media(max-width:640px){form.intake{grid-template-columns:1fr}.area dl{grid-template-columns:1fr}.toc{columns:1}}
.grid.four{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}

a.ig{display:inline-flex;align-items:center;gap:6px;text-decoration:none;color:var(--forest);font-weight:600}
a.ig:hover{color:#4f7a5f}
a.ig svg{flex-shrink:0;vertical-align:middle}
footer.site .social{margin:.6em 0}
