:root{--ink:#1f2a2e;--muted:#55636a;--bg:#fbfaf7;--card:#fff;--accent:#2f6b4f;--accent2:#b8860b;--line:#e4e0d8;--r:14px}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;font:17px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Georgia,sans-serif;color:var(--ink);background:var(--bg);padding-bottom:calc(72px + env(safe-area-inset-bottom))}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;line-height:1.2;margin:.2em 0 .5em}h1{font-size:clamp(1.9rem,6vw,3rem)}h2{font-size:clamp(1.4rem,4.5vw,2rem)}
a{color:var(--accent)}img{max-width:100%;height:auto;display:block}
.wrap{max-width:1140px;margin:0 auto;padding:0 18px}.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:#fff;padding:8px;z-index:99}
.top{background:var(--ink);color:#fff;position:sticky;top:0;z-index:20}.hdr{display:flex;justify-content:space-between;align-items:center;min-height:56px}
.logo{color:#fff;text-decoration:none;font:700 1.25rem Georgia,serif;letter-spacing:.3px}.logo span{color:var(--accent2);font-style:italic;margin:0 3px}
.hcall{color:#fff;font-weight:700;text-decoration:none;border:1px solid #ffffff55;border-radius:99px;padding:6px 12px;white-space:nowrap}
.nav{display:flex;gap:4px 16px;overflow-x:auto;padding-bottom:10px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.nav a{color:#dfe6e3;text-decoration:none;font-size:.92rem;white-space:nowrap;padding:4px 0}
.hero{background:linear-gradient(180deg,#eef1ec,#fbfaf7);padding:28px 0 18px}.hero.sm{padding:24px 0 8px}.lead{font-size:1.12rem;color:var(--muted);max-width:60ch}
.herogrid{display:grid;gap:22px}@media(min-width:900px){.herogrid{grid-template-columns:1.1fr 1fr;align-items:center}.hero{padding:56px 0 36px}}
.btn{display:inline-flex;flex-wrap:wrap;gap:6px;align-items:center;justify-content:center;background:var(--accent);color:#fff;text-decoration:none;font-weight:700;font-size:1.08rem;padding:15px 22px;border-radius:var(--r);min-height:52px;box-shadow:0 4px 14px #2f6b4f40;margin:8px 0}
.btn .ph{font-weight:800}.btn.alt{width:100%;background:var(--accent2);box-shadow:none}
.trust{list-style:none;padding:0;margin:10px 0 0;display:flex;flex-wrap:wrap;gap:6px 16px;font-size:.95rem;color:var(--muted)}
.video .vbtn{position:relative;padding:0;border:0;border-radius:var(--r);overflow:hidden;cursor:pointer;width:100%;background:#000;display:block}
.video video{width:100%;height:auto;border-radius:var(--r)}.play{position:absolute;inset:0;margin:auto;width:76px;height:76px;border-radius:50%;background:#fffffff0;color:var(--accent);font-size:32px;display:grid;place-items:center;padding-left:6px}
.vcap{position:absolute;left:12px;bottom:10px;color:#fff;background:#0009;padding:3px 10px;border-radius:99px;font-size:.85rem}
.blk{padding:30px 18px}.feat{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}
.feat a{display:block;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:16px;text-decoration:none;color:var(--ink);min-height:96px}.feat span{display:block;color:var(--muted);font-size:.92rem}
.why ol{padding-left:1.2em}.why li{margin:.5em 0}
.grid{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:10px;display:flex;flex-direction:column;gap:6px;font-size:.92rem}
.card img{aspect-ratio:1/1;object-fit:contain;background:#f3f1ec;border-radius:10px;width:100%}.card a{font-weight:600;font-size:.88rem;margin-top:auto}
.cta{background:var(--ink);color:#fff;text-align:center;padding:36px 18px}.cta p{color:#d5ddd9}
details{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:12px 14px;margin:8px 0}summary{font-weight:700;cursor:pointer}
.steps li{margin:.6em 0}.prose{max-width:780px}.big{font-size:2rem;font-weight:800}
.foot{background:#11181b;color:#c9d2ce;padding:28px 0 10px;font-size:.95rem}.foot a{color:#fff}.fgrid{display:grid;gap:18px}@media(min-width:700px){.fgrid{grid-template-columns:1fr 1fr}}.small{font-size:.82rem;opacity:.8}
.callbar{position:fixed;left:0;right:0;bottom:0;z-index:30;padding:8px 10px calc(8px + env(safe-area-inset-bottom));background:#ffffffee;backdrop-filter:blur(6px);border-top:1px solid var(--line)}
.callbar a{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;background:var(--accent);color:#fff;text-decoration:none;font-weight:800;font-size:1.08rem;padding:14px;border-radius:12px}
@media(min-width:900px){.callbar{display:none}body{padding-bottom:0}}
/* Unverified-claim markers: delete this rule (and the spans) once Blake confirms each claim */
.verify{background:#fff3b0;outline:2px dashed #c9a400;border-radius:3px;padding:0 2px}
a:focus-visible,button:focus-visible{outline:3px solid var(--accent2);outline-offset:2px}
.ship{color:var(--muted);font-size:.8rem;line-height:1.35}
.seal{display:flex;gap:12px;align-items:center;background:#fffaf0;border:2px solid var(--accent2);border-radius:var(--r);padding:10px 14px;margin:6px 0 10px;max-width:560px;font-size:.95rem;line-height:1.35}
.seal-ico{flex:0 0 58px;height:58px;border-radius:50%;background:var(--accent2);color:#fff;font:800 1rem Georgia,serif;display:grid;place-items:center;box-shadow:inset 0 0 0 3px #fff,0 0 0 2px var(--accent2)}

.seal2{margin-top:.5rem}.pricegar{background:#fff8e6;border-left:4px solid #c9a227;padding:.6rem .8rem;margin:0 0 1rem;font-size:.95rem}

.card .price{display:block;font-weight:700;font-size:1rem;color:#1f2a2e;margin-top:.25rem}.card .opts{display:block;font-size:.8rem;color:#555}
.btnrow{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1rem}
.card .inst{display:block;font-size:.75rem;color:#666;font-style:italic}
.card .btn.sm{display:block;padding:.45rem .6rem;font-size:.85rem;margin:.4rem 0;text-align:center}
.pres{display:flex;gap:1.5rem;align-items:center;flex-wrap:wrap;background:#fff;border:1px solid #e3ddd2;border-radius:16px;padding:1.25rem;margin:0 0 1.5rem}
.pres>div{flex:1 1 260px}.pres h2{margin:.1rem 0 .4rem}
.blakepic img{display:block;width:100%;height:auto;border-radius:14px;border:4px solid #fff;box-shadow:0 0 0 2px #b8923a,0 8px 22px rgba(0,0,0,.18)}
.pres .blakepic{flex:0 0 min(320px,70vw);margin:0 auto}
.pres-sm .blakepic{flex:0 0 140px;margin:0}
.eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:.8rem;font-weight:700;color:#b8923a;margin:0}
.roles{list-style:none;padding:0;margin:.3rem 0 .6rem}.roles li{padding:.15rem 0;font-weight:600}.roles li:before{content:"✔ ";color:#2f6b4f}
.revs{list-style:none;padding:0;margin:0;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.rev{background:#fff;border:1px solid #e3ddd2;border-radius:14px;padding:1rem 1.1rem}
.rev .stars{color:#e0a800;font-size:1.15rem;letter-spacing:.1em}
.rev blockquote{margin:.4rem 0;font-size:1rem;line-height:1.5}
.rev .who{margin:0;font-size:.85rem;color:#555}
.revs-sm blockquote{font-size:.95rem}.gmore{margin:1.2rem 0}
.herobg{position:relative;isolation:isolate;background:#f4f2ec url(../img/hero-bg-m-780.jpg) center/cover no-repeat;background-image:image-set(url(../img/hero-bg-m-780.webp) type("image/webp"),url(../img/hero-bg-m-780.jpg) type("image/jpeg"))}
.herobg:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(251,250,247,.80) 0%,rgba(251,250,247,.66) 60%,rgba(251,250,247,.62) 100%)}
@media(max-width:420px){.herobg{background-image:url(../img/hero-bg-m-780.jpg);background-image:image-set(url(../img/hero-bg-m-780.webp) type("image/webp"),url(../img/hero-bg-m-780.jpg) type("image/jpeg"))}}
@media(min-width:900px){.herobg{background-image:url(../img/hero-bg-1600.jpg);background-image:image-set(url(../img/hero-bg-1600.webp) type("image/webp"),url(../img/hero-bg-1600.jpg) type("image/jpeg"))}.herobg:before{background:linear-gradient(90deg,rgba(251,250,247,.80) 0%,rgba(251,250,247,.70) 50%,rgba(251,250,247,.64) 100%)}}
.herobg .lead,.herobg .small{color:#435057}
.btabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}.btabs a{border:1px solid var(--line);background:var(--card);color:var(--ink);text-decoration:none;border-radius:999px;padding:7px 14px;font-size:.9rem;white-space:nowrap}.btabs a[aria-current=page],.btabs a:hover{background:var(--accent);color:#fff;border-color:var(--accent)}
.bsec{margin:26px 0;scroll-margin-top:90px}.bsec h3{margin:0 0 4px}.bsec h3 small{color:var(--muted);font-weight:400}.bcats li{margin:6px 0}

.herobg{background-color:#e9ece4;background-position:center top;background-size:100% auto}@media(min-width:900px){.herobg{background-size:cover;background-position:center 60%}}
.herobg h1,.herobg .lead{text-shadow:0 1px 2px rgba(251,250,247,.9)}
/* call-button pulse: noticeable green glow + slight swell every 4s; glow-only for reduced motion */
@keyframes callglow{0%,60%,100%{box-shadow:0 0 0 0 #2f6b4f00;transform:scale(1)}30%{box-shadow:0 0 18px 7px #2f6b4fa0;transform:scale(1.04)}}
@keyframes callglowbtn{0%,60%,100%{box-shadow:0 4px 14px #2f6b4f40;transform:scale(1)}30%{box-shadow:0 4px 14px #2f6b4f40,0 0 20px 8px #2f6b4f90;transform:scale(1.04)}}
@keyframes hcallglow{0%,60%,100%{box-shadow:0 0 0 0 #ffffff00;transform:scale(1)}30%{box-shadow:0 0 14px 5px #ffffffa0;transform:scale(1.04)}}
@keyframes glowonly{0%,60%,100%{box-shadow:0 0 0 0 #2f6b4f00}30%{box-shadow:0 0 18px 7px #2f6b4fa0}}
.callbar a{animation:callglow 4s ease-in-out infinite}
.hcall{display:inline-block;animation:hcallglow 4s ease-in-out .7s infinite}
a.btn[href^="tel:"]:not(.alt){animation:callglowbtn 4s ease-in-out .35s infinite}
@media(prefers-reduced-motion:reduce){.callbar a,.hcall,a.btn[href^="tel:"]:not(.alt){animation:glowonly 4s ease-in-out infinite}}
