:root{--ink:#10201e;--muted:#4b5b58;--bg:#fbfaf7;--band:#f2efe8;--brand:#14332f;--brand2:#1f5a52;--accent:#e8a23a;--line:#e3ded3;--white:#fff;--r:18px;--sh:0 1px 2px rgba(16,32,30,.06),0 12px 32px -12px rgba(16,32,30,.18);--serif:"Fraunces",Georgia,serif;--sans:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}
body{margin:0;font:400 1.0625rem/1.65 var(--sans);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}
img{max-width:100%}a{color:var(--brand2)}a:hover{color:var(--brand)}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:6px}
.wrap{max-width:1160px;margin:0 auto;padding:0 1.25rem}.narrow{max-width:800px}
.skip{position:absolute;left:-999px;top:0;background:var(--brand);color:#fff;padding:.6rem 1rem;z-index:99}.skip:focus{left:1rem;top:1rem}
h1,h2,h3{line-height:1.15;margin:0 0 .6rem}h1,h2{font-family:var(--serif);font-weight:600;letter-spacing:-.02em}
h2{font-size:clamp(1.8rem,3.6vw,2.6rem)}h3{font-size:1.15rem;font-weight:600}
p{margin:0 0 1rem}
/* header */
.top{position:sticky;top:0;z-index:50;background:rgba(251,250,247,.85);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;gap:1.5rem;height:68px}
.brand{display:flex;align-items:center;gap:.6rem;font-weight:700;color:var(--ink);text-decoration:none;letter-spacing:-.01em}
.top nav{margin-left:auto}.top ul{display:flex;gap:1.6rem;list-style:none;margin:0;padding:0}
.top nav a{color:var(--muted);text-decoration:none;font-weight:500;font-size:.95rem}.top nav a:hover{color:var(--ink)}
/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;background:var(--brand);color:#fff;border:2px solid var(--brand);padding:.8rem 1.35rem;border-radius:999px;font:600 1rem var(--sans);text-decoration:none;cursor:pointer;transition:transform .2s,box-shadow .2s,background .2s}
.btn:hover{color:#fff;background:var(--brand2);transform:translateY(-1px);box-shadow:0 10px 24px -10px rgba(20,51,47,.6)}
.btn.ghost{background:transparent;color:var(--brand)}.btn.ghost:hover{background:var(--brand);color:#fff}
.btn.sm{padding:.5rem 1rem;font-size:.9rem}.btn.lg{padding:1rem 1.6rem;font-size:1.05rem}.btn.full{width:100%}
/* hero */
.hero{position:relative;overflow:hidden;padding:5rem 0 5.5rem;background:radial-gradient(900px 500px at 85% 10%,#e4efe9 0,transparent 60%),radial-gradient(700px 400px at 0% 100%,#f6e7cc 0,transparent 60%)}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:3.5rem;align-items:center}
.eyebrow{display:inline-flex;align-items:center;gap:.5rem;font-size:.85rem;font-weight:600;color:var(--brand2);background:#fff;border:1px solid var(--line);padding:.35rem .8rem;border-radius:999px;margin-bottom:1.4rem}
.dot{width:8px;height:8px;border-radius:50%;background:#22a06b;box-shadow:0 0 0 4px rgba(34,160,107,.18)}
h1{font-size:clamp(2.4rem,5.6vw,4.2rem);margin-bottom:1.2rem}h1 em{font-style:italic;color:var(--brand2)}
.lead{font-size:1.2rem;color:var(--muted);max-width:36em}
.ctas{display:flex;flex-wrap:wrap;gap:.8rem;margin:1.8rem 0 1.4rem}
.assure{display:flex;flex-wrap:wrap;gap:.4rem 1.4rem;list-style:none;padding:0;margin:0;font-size:.92rem;color:var(--muted)}
.assure li::before{content:"✓";color:#22a06b;font-weight:700;margin-right:.4rem}
.assure.light{color:#d6e5e1;margin:1.2rem 0}.assure.light li::before{color:var(--accent)}
.hero-visual{position:relative;padding:1.5rem 0}
/* google card mock */
.gcard{position:relative;background:#fff;border:1px solid #e6e6e6;border-radius:16px;padding:1.3rem 1.4rem;box-shadow:var(--sh);font-family:Roboto,Arial,var(--sans);font-size:.95rem;color:#202124;text-align:left}
.gcard p{margin:.4rem 0}
.tag{position:absolute;top:.9rem;right:.9rem;font:600 .7rem var(--sans);text-transform:uppercase;letter-spacing:.08em;background:#fff4dc;color:#7a4d00;padding:.2rem .55rem;border-radius:999px}
.rv{display:flex;gap:.7rem;align-items:center}.rv small{display:block;color:#5f6368;font-size:.8rem}
.av{width:38px;height:38px;border-radius:50%;background:var(--c);color:#fff;display:grid;place-items:center;font-weight:600}
.stars{color:#f4b400;letter-spacing:2px}.stars span{color:#dadce0}
.reply{margin-top:.9rem;background:#f1f3f4;border-radius:10px;padding:.8rem 1rem;border-left:3px solid #1a73e8}
.reply b{font-size:.85rem}.reply small{color:#5f6368;font-size:.78rem;margin-left:.4rem}
.empty{margin-top:.9rem;border:1.5px dashed #d0d0d0;border-radius:10px;padding:.8rem 1rem;color:#5f6368;font-style:italic;font-size:.9rem}
.gcard.muted{opacity:.92}
.chip{position:absolute;background:#fff;border:1px solid var(--line);border-radius:999px;padding:.5rem .9rem;font-size:.85rem;font-weight:600;box-shadow:var(--sh);white-space:nowrap}
.chip span{color:#22a06b;margin-right:.2rem}.c1{left:-1.5rem;bottom:-.4rem}.c2{right:-1rem;top:-.6rem}
/* sections */
section{padding:5.5rem 0}.band{background:var(--band)}
.head{text-align:center;max-width:700px;margin:0 auto 3rem}.sub{color:var(--muted);font-size:1.1rem}
.kicker{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:var(--brand2);margin-bottom:.7rem}.kicker.light{color:var(--accent)}
.grid{display:grid;gap:1.4rem}.g3{grid-template-columns:repeat(3,1fr)}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:1.8rem;transition:transform .25s,box-shadow .25s}
.card:hover{transform:translateY(-3px);box-shadow:var(--sh)}.card p{color:var(--muted);margin:0}
.ic{display:grid;place-items:center;width:46px;height:46px;border-radius:12px;background:#e7f0ec;font-size:1.3rem;margin-bottom:1rem}
/* before/after */
.ba{display:grid;grid-template-columns:1fr 1fr;gap:2rem;max-width:960px;margin:0 auto}
.ba figure{margin:0}.lab{display:inline-block;font-weight:700;font-size:.85rem;padding:.3rem .8rem;border-radius:999px;margin-bottom:.9rem}
.lab.bad{background:#fde8e6;color:#9b2c1f}.lab.good{background:#dff3e8;color:#17623f}
/* steps */
.steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:1.4rem;counter-reset:s}
.steps li{position:relative;padding:1.6rem;background:#fff;border:1px solid var(--line);border-radius:var(--r)}
.steps p{color:var(--muted);margin:0;font-size:.97rem}
.n{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--brand);color:#fff;font:600 1.1rem var(--serif);margin-bottom:1rem}
/* pricing */
.offer{max-width:760px;margin:0 auto 2.5rem;text-align:center;background:#fff;border:1px dashed var(--accent);border-radius:14px;padding:1rem 1.2rem}
.pill{display:inline-block;background:var(--accent);color:#2b1a00;font-weight:700;font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;padding:.2rem .65rem;border-radius:999px;margin-right:.4rem}
.prices{align-items:stretch}.price{display:flex;flex-direction:column;position:relative;padding:2.2rem 1.9rem}
.price .for{font-size:.95rem;margin-bottom:1rem}
.amt{font:600 3rem/1 var(--serif);color:var(--ink)!important;margin:0 0 1.4rem!important}.amt span{font:500 1rem var(--sans);color:var(--muted)}
.price ul{list-style:none;padding:0;margin:0 0 2rem;flex:1}.price li{padding:.45rem 0 .45rem 1.7rem;position:relative;border-top:1px solid #f0ece4}
.price li::before{content:"✓";position:absolute;left:0;color:#22a06b;font-weight:700}
.pop{background:var(--brand);color:#fff;border-color:var(--brand);transform:scale(1.04);box-shadow:0 30px 60px -25px rgba(20,51,47,.55)}
.pop:hover{transform:scale(1.04) translateY(-3px)}.pop p,.pop .amt,.pop .amt span{color:#d6e5e1!important}.pop .amt{color:#fff!important}
.pop li{border-color:rgba(255,255,255,.12)}.pop li::before{color:var(--accent)}
.pop .btn{background:var(--accent);border-color:var(--accent);color:#2b1a00}.pop .btn:hover{background:#f2b452;color:#2b1a00}
.badge{position:absolute;top:-.8rem;left:50%;transform:translateX(-50%);background:var(--accent);color:#2b1a00;font-weight:700;font-size:.78rem;padding:.3rem .9rem;border-radius:999px;text-transform:uppercase;letter-spacing:.06em}
/* faq */
.faq details{background:#fff;border:1px solid var(--line);border-radius:14px;margin-bottom:.8rem;padding:0 1.3rem}
.faq summary{cursor:pointer;list-style:none;padding:1.1rem 2rem 1.1rem 0;font-weight:600;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:0;top:50%;transform:translateY(-50%);font-size:1.5rem;color:var(--brand2);transition:transform .2s}
.faq details[open] summary::after{transform:translateY(-50%) rotate(45deg)}.faq details p{color:var(--muted)}
/* final cta */
.cta-final{background:radial-gradient(700px 400px at 100% 0,#2a6d63 0,transparent 60%),var(--brand);color:#eaf2ef}
.cta-final h2{color:#fff}.cta-final a{color:#fff}
.cta-grid{display:grid;grid-template-columns:1fr 1fr;gap:3.5rem;align-items:center}
.form{background:#fff;color:var(--ink);border-radius:22px;padding:2rem;box-shadow:0 30px 60px -20px rgba(0,0,0,.4);display:grid;gap:1rem}
.form a{color:var(--brand2)}.row2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
label{display:block;font-weight:600;font-size:.9rem;margin-bottom:.35rem}.opt{font-weight:400;color:var(--muted)}
input,textarea{width:100%;font:inherit;padding:.75rem .9rem;border:1.5px solid #d9d4c8;border-radius:10px;background:#fdfcfa;transition:border .2s,box-shadow .2s}
input:focus,textarea:focus{outline:none;border-color:var(--brand2);box-shadow:0 0 0 4px rgba(31,90,82,.15)}
.fine{font-size:.85rem;color:var(--muted);margin:0}.status{margin:0;font-weight:600;color:var(--brand2)}.status:empty{display:none}
footer{padding:2.2rem 0;background:#0d2420;color:#b9cbc6;font-size:.92rem}footer a{color:#fff}
.foot{display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem}.foot p{margin:0}
/* legal pages */
.legal{max-width:780px;padding-top:3.5rem;padding-bottom:4rem}.legal h1{font-size:clamp(2rem,4vw,2.8rem)}
.legal h2{font-size:1.4rem;margin-top:2rem}.tmpl{background:#fff4dc;border:1px solid #f0d9a8;border-radius:12px;padding:.9rem 1.1rem}
/* motion */
.anim .reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}.anim .reveal.in{opacity:1;transform:none}
.anim .pop.reveal.in{transform:scale(1.04)}
@media (prefers-reduced-motion:no-preference){.float{animation:fl 6s ease-in-out infinite}@keyframes fl{50%{transform:translateY(-8px)}}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
/* responsive */
@media (max-width:980px){.hero-grid,.cta-grid{grid-template-columns:1fr;gap:2.5rem}.steps{grid-template-columns:1fr 1fr}.g3{grid-template-columns:1fr}.prices{max-width:460px;margin:0 auto}.pop,.pop:hover,.anim .pop.reveal.in{transform:none}.top nav{display:none}.nav .btn{margin-left:auto}}
@media (max-width:640px){section{padding:4rem 0}.hero{padding:3rem 0 4rem}.ba,.steps,.row2{grid-template-columns:1fr}.c1{left:0}.c2{right:0}.lead{font-size:1.08rem}.ctas .btn{width:100%}.form{padding:1.4rem}.brand span{font-size:.95rem}.nav .btn.sm{padding:.45rem .8rem;font-size:.82rem}}
