:root{
  --green-dark:#1f3d2b; --green:#35543f; --green-soft:#4a6b52;
  --sage:#7c9a82; --sage-light:#e8efe7; --sage-pale:#f2f6f0;
  --gold:#c2a14d; --gold-soft:#e9dcb8;
  --ivory:#fbfaf5; --paper:#ffffff; --ink:#243028; --muted:#5b6a5f;
  --line:#dde6dc; --radius:18px;
  --shadow:0 18px 40px rgba(31,61,43,.12);
  --font-head:"Playfair Display",Georgia,serif;
  --font-body:"Inter",Arial,sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--font-body);color:var(--ink);background:var(--ivory);line-height:1.65;font-size:16.5px}
img{max-width:100%;display:block}
a{color:var(--green);text-decoration:none}
h1,h2,h3,h4{font-family:var(--font-head);color:var(--green-dark);line-height:1.2;font-weight:600}
.num,.stat b,.price-num{font-family:var(--font-body);font-variant-numeric:tabular-nums}
.wrap{width:min(1180px,92%);margin:0 auto}
.section{padding:84px 0}
.section.alt{background:var(--sage-pale)}
.eyebrow{letter-spacing:.22em;text-transform:uppercase;font-size:.78rem;font-weight:700;color:var(--gold);font-family:var(--font-body)}
.lead{font-size:1.13rem;color:var(--muted)}
.center{text-align:center}
.mt{margin-top:22px}.mb{margin-bottom:14px}
/* buttons */
.btn{position:relative;display:inline-flex;align-items:center;gap:9px;padding:14px 28px;border-radius:999px;font-weight:600;font-size:1rem;border:1px solid transparent;cursor:pointer;overflow:hidden;transition:transform .25s ease,box-shadow .25s ease,background .25s ease;font-family:var(--font-body)}
.btn-primary{background:var(--green-dark);color:#fff}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(31,61,43,.35),0 0 0 6px rgba(194,161,77,.18)}
.btn-primary::after{content:"";position:absolute;top:0;left:-70%;width:45%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.45),transparent);transform:skewX(-20deg);transition:left .55s ease}
.btn-primary:hover::after{left:120%}
.btn-gold{background:var(--gold);color:#20301f}
.btn-gold:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(194,161,77,.4)}
.btn-ghost{background:transparent;color:var(--green-dark);border-color:var(--green)}
.btn-ghost:hover{background:var(--sage-light);transform:translateY(-2px)}
/* header */
header.site{position:sticky;top:0;z-index:60;background:rgba(251,250,245,.88);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.header-in{display:flex;align-items:center;gap:18px;padding:10px 0}
.brand{display:flex;align-items:center;gap:13px;min-width:0}
.brand img{width:54px;height:54px;border-radius:50%;object-fit:cover;border:2px solid var(--gold-soft)}
.brand .bname{font-family:var(--font-head);font-size:1.45rem;font-weight:700;color:var(--green-dark);line-height:1.05;white-space:nowrap}
.brand .btag{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);white-space:nowrap}
nav.main{margin-left:auto}
nav.main>ul{display:flex;align-items:center;gap:6px;list-style:none}
nav.main a.navlink{display:block;padding:10px 13px;font-weight:500;color:var(--ink);border-radius:10px}
nav.main a.navlink:hover{color:var(--green-dark);background:var(--sage-light)}
.has-drop{position:relative}
.drop{position:absolute;left:50%;transform:translate(-50%,8px);top:100%;padding-top:14px;opacity:0;visibility:hidden;transition:opacity .22s ease,transform .22s ease;z-index:70}
.has-drop:hover .drop,.has-drop:focus-within .drop{opacity:1;visibility:visible;transform:translate(-50%,0)}
.drop-in{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:10px;min-width:330px}
.drop-in a{display:flex;gap:10px;align-items:center;padding:9px 12px;border-radius:10px;color:var(--ink);font-size:.97rem}
.drop-in a:hover{background:var(--sage-pale);color:var(--green-dark)}
.drop-in svg{flex:0 0 auto}
.header-cta{margin-left:10px}
.burger{display:none;margin-left:auto;background:none;border:0;width:46px;height:46px;border-radius:12px;cursor:pointer}
.burger span{display:block;width:24px;height:2px;background:var(--green-dark);margin:5px auto;transition:.3s}
.mobile-menu{display:none;background:#fff;border-bottom:1px solid var(--line);padding:14px 0 20px}
.mobile-menu.open{display:block}
.mobile-menu a{display:block;padding:11px 4%;font-weight:500;color:var(--ink)}
.mobile-menu a.sub{padding-left:8%;color:var(--muted);font-size:.96rem}
/* hero */
.hero{padding:64px 0 0;background:linear-gradient(180deg,var(--sage-pale),var(--ivory))}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center}
.hero h1{font-size:clamp(2.3rem,4.6vw,3.6rem);margin:14px 0 16px}
.hero h1 em{font-style:italic;color:var(--green-soft)}
.hero-ctas{display:flex;gap:14px;flex-wrap:wrap;margin:26px 0 14px}
.hero-note{color:var(--muted);font-size:.98rem;display:flex;align-items:center;gap:8px}
.carousel{position:relative;border-radius:26px;overflow:hidden;box-shadow:var(--shadow);aspect-ratio:3/2;background:var(--sage-light)}
.carousel img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.1s ease;animation:kenburns 18s ease-in-out infinite alternate}
.carousel img.active{opacity:1}
@keyframes kenburns{from{transform:scale(1)}to{transform:scale(1.07)}}
.dots{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);display:flex;gap:8px;z-index:3}
.dots button{width:11px;height:11px;border-radius:50%;border:2px solid #fff;background:rgba(255,255,255,.35);cursor:pointer;padding:0}
.dots button.on{background:var(--gold)}
.trust{margin-top:52px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff;overflow:hidden}
.trust-track{display:flex;gap:0;width:max-content;animation:scrollx 30s linear infinite;padding:13px 0}
.trust:hover .trust-track{animation-play-state:paused}
.trust-track span{display:inline-flex;align-items:center;gap:9px;padding:0 26px;font-weight:600;color:var(--green-dark);white-space:nowrap;font-size:.98rem}
.trust-track svg{color:var(--gold)}
@keyframes scrollx{from{transform:translateX(0)}to{transform:translateX(-50%)}}
/* stats */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.stat{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px 20px;text-align:center;transition:transform .3s ease,box-shadow .3s ease}
.stat:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.stat b{display:block;font-size:2.3rem;color:var(--green-dark);font-weight:800;line-height:1.1}
.stat b i{font-style:normal;color:var(--gold)}
.stat span{color:var(--muted);font-size:.95rem}
/* cards */
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:30px 26px;transition:transform .3s ease,box-shadow .3s ease}
.card:hover{transform:translateY(-6px) scale(1.01);box-shadow:var(--shadow),0 0 0 1px rgba(194,161,77,.25)}
.card .icon{width:54px;height:54px;border-radius:16px;background:var(--sage-light);display:flex;align-items:center;justify-content:center;margin-bottom:16px;color:var(--green)}
.card h3{font-size:1.32rem;margin-bottom:9px}
.card p{color:var(--muted);font-size:.99rem}
.card .more{display:inline-flex;gap:7px;margin-top:15px;font-weight:600;color:var(--green)}
.card .more:hover{color:var(--gold)}
.review-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px 26px;transition:transform .3s ease,box-shadow .3s ease}
.review-card:hover{transform:translateY(-6px) scale(1.015);box-shadow:var(--shadow),0 0 22px rgba(194,161,77,.22)}
.stars{color:var(--gold);letter-spacing:3px;font-size:1.05rem;margin-bottom:11px}
.review-card p{color:var(--ink);font-size:1rem}
.review-card .who{margin-top:15px;color:var(--muted);font-size:.92rem}
.review-card .who b{color:var(--green-dark)}
/* split */
.split{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:center}
.split img.round{border-radius:26px;box-shadow:var(--shadow)}
.checks{list-style:none;margin-top:18px}
.checks li{padding:8px 0 8px 34px;position:relative;color:var(--ink)}
.checks li::before{content:"";position:absolute;left:0;top:11px;width:20px;height:20px;border-radius:50%;background:var(--sage-light) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2335543f' stroke-width='3'%3E%3Cpath d='M4 12.5l5 5L20 6.5'/%3E%3C/svg%3E") center/12px no-repeat}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;counter-reset:step}
.step{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px 22px}
.step .n{font-family:var(--font-body);font-weight:800;font-size:1.7rem;color:var(--gold);display:block;margin-bottom:8px}
.step h3{font-size:1.18rem;margin-bottom:7px}
.step p{color:var(--muted);font-size:.95rem}
/* page head */
.pagehead{background:linear-gradient(180deg,var(--sage-pale),var(--ivory));padding:56px 0 40px;text-align:center}
.pagehead h1{font-size:clamp(2rem,4vw,3rem);margin:10px 0 12px}
.crumbs{font-size:.9rem;color:var(--muted)}
.crumbs a{color:var(--green)}
.prose{max-width:820px;margin:0 auto}
.prose p{margin-bottom:17px;color:#37443a}
.prose h2{font-size:1.7rem;margin:34px 0 12px}
.prose h3{font-size:1.3rem;margin:26px 0 9px}
.prose ul{margin:0 0 17px 22px;color:#37443a}
.prose li{margin-bottom:7px}
/* faq */
.faq-group{max-width:860px;margin:0 auto 38px}
.faq-group>h2{font-size:1.55rem;margin-bottom:16px;text-align:center}
details.faq{background:#fff;border:1px solid var(--line);border-radius:14px;margin-bottom:11px;overflow:hidden}
details.faq summary{cursor:pointer;padding:17px 21px;font-weight:600;color:var(--green-dark);list-style:none;display:flex;justify-content:space-between;gap:14px;align-items:center}
details.faq summary::-webkit-details-marker{display:none}
details.faq summary::after{content:"+";font-size:1.4rem;color:var(--gold);font-family:var(--font-body);transition:transform .25s}
details.faq[open ] summary::after{transform:rotate(45deg)}
details.faq .a{padding:0 21px 19px;color:var(--muted)}
/* forms */
.form-card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:36px;box-shadow:var(--shadow)}
label{display:block;font-weight:600;font-size:.94rem;margin:17px 0 7px;color:var(--green-dark)}
input,select,textarea{width:100%;padding:13px 15px;border:1px solid var(--line);border-radius:12px;font-family:var(--font-body);font-size:1rem;background:var(--ivory);color:var(--ink)}
input:focus,select:focus,textarea:focus{outline:2px solid var(--sage);border-color:var(--sage)}
.err{color:#a33b2e;font-size:.87rem;display:none;margin-top:5px}
.success{display:none;background:var(--sage-light);border:1px solid var(--sage);color:var(--green-dark);border-radius:12px;padding:15px 17px;margin-top:19px;font-weight:500}
/* cta band */
.cta-band{background:var(--green-dark);border-radius:28px;padding:52px 40px;text-align:center;color:#eef3ec}
.cta-band h2{color:#fff;font-size:clamp(1.7rem,3.4vw,2.4rem);margin-bottom:12px}
.cta-band p{color:#cfe0cd;max-width:620px;margin:0 auto 26px}
/* footer */
footer.site{background:var(--green-dark);color:#d7e2d4;margin-top:0}
.footer-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:36px;padding:60px 0 40px}
footer.site h4{color:#fff;font-size:1.14rem;margin-bottom:15px}
footer.site a{color:#d7e2d4}
footer.site a:hover{color:var(--gold-soft)}
footer.site ul{list-style:none}
footer.site li{margin-bottom:9px;font-size:.97rem}
.fbrand{display:flex;gap:12px;align-items:center;margin-bottom:14px}
.fbrand img{width:48px;height:48px;border-radius:50%;object-fit:cover}
.fbrand b{font-family:var(--font-head);color:#fff;font-size:1.3rem}
.socials{display:flex;gap:11px;margin-top:17px}
.socials a{width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;transition:.25s}
.socials a:hover{background:var(--gold);transform:translateY(-2px)}
.socials svg{width:20px;height:20px;fill:#fff}
.bottom-bar{border-top:1px solid rgba(255,255,255,.15);padding:19px 0;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;font-size:.92rem}
/* floating */
.wa-float{position:fixed;right:20px;bottom:20px;z-index:80;width:58px;height:58px;border-radius:50%;background:#25d366;display:flex;align-items:center;justify-content:center;box-shadow:0 12px 28px rgba(0,0,0,.25);transition:transform .25s}
.wa-float:hover{transform:scale(1.08)}
.wa-float svg{width:30px;height:30px;fill:#fff}
.mobile-bar{display:none}
/* reveal */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}
.reveal.in{opacity:1;transform:none}
.note-box{background:#fdf6e3;border:1px solid var(--gold-soft);border-radius:14px;padding:17px 20px;color:#5c5326;font-size:.97rem}
.crisis{background:#f7ecea;border:1px solid #e3c4bf;border-radius:14px;padding:19px 22px;color:#63352e}
.crisis b{color:#7c2d22}
@media (max-width:1020px){
  .grid3{grid-template-columns:repeat(2,1fr)}
  .steps{grid-template-columns:repeat(2,1fr)}
  .stats{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:repeat(2,1fr)}
  nav.main{display:none}
  .burger{display:block}
  .header-cta{display:none}
}
@media (max-width:720px){
  .hero-grid,.split{grid-template-columns:1fr}
  .grid3,.grid2{grid-template-columns:1fr}
  .section{padding:58px 0}
  .brand .btag{display:none}
  .brand .bname{font-size:1.22rem}
  .footer-grid{grid-template-columns:1fr;gap:26px}
  .form-card{padding:26px 20px}
  .cta-band{padding:40px 22px}
  .mobile-bar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:79;background:#fff;border-top:1px solid var(--line)}
  .mobile-bar a{flex:1;text-align:center;padding:14px 6px;font-weight:700;color:var(--green-dark)}
  .mobile-bar a.wa{background:#25d366;color:#fff}
  .wa-float{bottom:76px}
  body{padding-bottom:52px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .reveal{opacity:1;transform:none}
  html{scroll-behavior:auto}
}
:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
