:root{--cream:#f8eedb;--cream2:#f1e2c6;--peach:#eeb596;--sage:#a7b08a;--terra:#b8582f;--olive:#4f5d31;--gold:#d6a240;--ink:#3b3a28}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font:400 1.06rem/1.7 Nunito,system-ui,sans-serif}
h1,h2,h3{font-family:Fraunces,Georgia,serif;font-variation-settings:"SOFT" 100;color:var(--olive);line-height:1.15;margin:0 0 .5em}
h2{font-size:clamp(1.8rem,4vw,2.6rem);text-align:center}
img{max-width:100%;height:auto;display:block}
a{color:var(--terra)}
.skip{position:absolute;left:-999px}.skip:focus{left:1rem;top:1rem;background:#fff;padding:.5rem;z-index:9}
.wrap{max-width:1100px;margin:0 auto;padding:4.5rem 1.25rem}
.nav{position:sticky;top:0;z-index:5;display:flex;justify-content:space-between;align-items:center;padding:.6rem 1.25rem;background:rgba(248,238,219,.9);backdrop-filter:blur(8px);border-bottom:1px solid var(--cream2)}
.brand{display:flex;gap:.6rem;align-items:center;text-decoration:none;font:600 1.25rem Fraunces,serif;color:var(--olive)}
.brand img{border-radius:50%}
.nav nav a{margin-left:1.2rem;color:var(--olive);text-decoration:none;font-weight:600}
.nav nav a:hover{color:var(--terra)}
.hero{position:relative;overflow:hidden;text-align:center;padding:3rem 1.25rem 0;background:radial-gradient(ellipse at top,#fbe6d3,var(--cream) 70%)}
.blob{position:absolute;border-radius:50%;filter:blur(50px);opacity:.45}
.b1{width:380px;height:380px;background:var(--peach);top:-120px;left:-100px}.b2{width:320px;height:320px;background:var(--sage);top:80px;right:-120px}.b3{width:240px;height:240px;background:var(--gold);top:340px;left:12%;opacity:.25}
.hero-inner{position:relative;max-width:720px;margin:0 auto}
.badge{width:200px;margin:0 auto 1rem;border-radius:50%;box-shadow:0 10px 40px rgba(79,93,49,.18)}
h1{font-size:clamp(2.8rem,8vw,4.8rem);margin:0}
.tag{font-family:Fraunces,serif;font-style:italic;color:var(--terra);font-size:1.4rem;letter-spacing:.06em;margin:.2rem 0 1rem}.tag span{color:var(--gold)}
.lede{font-size:1.15rem;max-width:560px;margin:0 auto 1.6rem}
.ctas{display:flex;gap:.8rem;justify-content:center;flex-wrap:wrap}
.btn{display:inline-block;background:var(--olive);color:#fff;text-decoration:none;font-weight:700;padding:.85rem 1.6rem;border-radius:999px;transition:transform .2s,background .2s}
.btn:hover{background:var(--terra);transform:translateY(-2px)}
.btn.ghost{background:transparent;color:var(--olive);border:2px solid var(--olive)}.btn.ghost:hover{background:var(--olive);color:#fff}
.btn.big{font-size:1.15rem;padding:1rem 2.2rem;background:var(--terra)}.btn.big:hover{background:var(--olive)}
.banner img{position:relative;max-width:1100px;width:100%;margin:2.5rem auto 0;border-radius:32px 32px 0 0}
.about{text-align:center;max-width:820px}
.why{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.2rem;margin:2.2rem 0;text-align:left}
.why div{background:#fff8ec;border-radius:24px;padding:1.4rem;border:1px solid var(--cream2)}
.why h3{font-size:1.25rem}.why p{margin:0}
.note{font-family:Fraunces,serif;color:var(--olive);font-size:1.15rem}
.listen{background:var(--olive);color:var(--cream);text-align:center}
.listen h2{color:var(--cream)}.listen p{max-width:600px;margin:0 auto 2rem}
.video-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,520px),1fr));gap:1.5rem;justify-items:center;margin-bottom:2rem}
.video{margin:0;width:100%;max-width:720px}
.frame{position:relative;aspect-ratio:16/9;border-radius:24px;overflow:hidden;background:#3d4826}
.frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.soon{display:flex;align-items:center;justify-content:center;background:linear-gradient(160deg,#6c7a48,#3d4826)}
.soon span{position:relative;font:600 clamp(1.3rem,3vw,1.9rem)/1.3 Fraunces,serif;color:var(--cream)}.soon small{font:700 .85rem Nunito,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
.rain{position:absolute;inset:0;background:repeating-linear-gradient(100deg,transparent 0 22px,rgba(248,238,219,.12) 22px 24px);background-size:200% 200%;animation:rain 3s linear infinite}
@keyframes rain{to{background-position:-60px 240px}}
@media (prefers-reduced-motion:reduce){.rain{animation:none}*{scroll-behavior:auto}}
figcaption{margin-top:.7rem;font-weight:600}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.2rem}
.card{border-radius:28px 28px 28px 8px;padding:1.6rem;text-align:center}
.card h3{font-size:1.4rem}.card p{margin:0}.ico{font-size:2.2rem}
.c-rain{background:#dfe3cf}.c-water{background:#f6d8c6}.c-sleet{background:#efe6d2}.c-med{background:#f3dfae}
.shop{background:linear-gradient(135deg,var(--peach),#e9c79a);text-align:center}
.shop .eyebrow{text-transform:uppercase;letter-spacing:.2em;font-weight:700;color:#7a3519;margin:0}
.shop h2{color:#4a3a1c}.shop p{max-width:560px;margin:0 auto}
.foot{text-align:center;padding:3rem 1.25rem;background:var(--cream2)}
.foot img{margin:0 auto;border-radius:50%}.small{font-size:1.1rem}
.copy{font-size:.9rem;margin:1.2rem 0 0}
@media (max-width:640px){.nav nav{display:none}.wrap{padding:3.2rem 1.1rem}.badge{width:150px}.banner img{border-radius:20px 20px 0 0}}
.contact{background:linear-gradient(180deg,var(--cream),#efe3c9)}
.contact .eyebrow{text-align:center;text-transform:uppercase;letter-spacing:.2em;font-weight:700;color:var(--terra);margin:0}
.contact .intro{text-align:center;max-width:560px;margin:0 auto 2rem}
.cform{max-width:640px;margin:0 auto;background:#fff8ec;border:1px solid var(--cream2);border-radius:28px;padding:1.8rem;box-shadow:0 10px 40px rgba(79,93,49,.08)}
.cform .row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.cform label{display:block;font-weight:700;color:var(--olive);margin-bottom:1rem}
.cform input,.cform textarea{display:block;width:100%;margin-top:.35rem;font:inherit;color:var(--ink);background:var(--cream);border:1.5px solid var(--cream2);border-radius:14px;padding:.75rem .9rem;transition:border-color .2s,box-shadow .2s}
.cform textarea{resize:vertical;min-height:140px}
.cform input:focus,.cform textarea:focus{outline:none;border-color:var(--sage);box-shadow:0 0 0 3px rgba(167,176,138,.35)}
.cform .hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.cform .ts{min-height:65px;margin:.4rem 0 1.2rem}
.cform button{border:0;cursor:pointer;font-family:inherit}
.cform button[disabled]{opacity:.6;cursor:wait;transform:none}
.cform .status{margin:1rem 0 0;font-weight:600;min-height:1.4em}
.cform .status.ok{color:var(--olive)}.cform .status.err{color:var(--terra)}
.cform.sent .row,.cform.sent label,.cform.sent .ts,.cform.sent button{display:none}
.cform.sent .status{font:600 1.3rem/1.4 Fraunces,serif;text-align:center;margin:0}
.foot-links{margin:1rem 0 0}.foot-links a{color:var(--olive);font-weight:700}
@media (max-width:640px){.cform .row{grid-template-columns:1fr;gap:0}.cform{padding:1.3rem}}
