:root{--green:#8CC63F;--green-light:#A9D46F;--green-tint:#ECF6DF;--green-deep:#4F7A17;--charcoal:#231F20;--ink:#333333;--grey:#6C6C6C;--paper:#F6F6F6;--line:#CCCCCC}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:'Manrope',system-ui,sans-serif;color:var(--ink);background:#fff;line-height:1.7}
.font-display{font-family:'Fraunces',Georgia,serif;font-optical-sizing:auto}
.t-hero{font-family:'Fraunces',Georgia,serif;font-weight:500;font-size:clamp(2.5rem,6.2vw,5.4rem);line-height:1.02;letter-spacing:-.035em}
.t-1{font-family:'Fraunces',Georgia,serif;font-weight:500;font-size:clamp(2.2rem,4.8vw,4rem);line-height:1.05;letter-spacing:-.03em}
.t-2{font-family:'Fraunces',Georgia,serif;font-weight:500;font-size:clamp(1.8rem,3.4vw,2.9rem);line-height:1.1;letter-spacing:-.025em}
.t-3{font-family:'Fraunces',Georgia,serif;font-weight:500;font-size:clamp(1.3rem,2vw,1.6rem);line-height:1.2;letter-spacing:-.015em}
.lead{font-size:clamp(1.05rem,1.4vw,1.2rem);line-height:1.75}
.eyebrow{font-size:.75rem;font-weight:700;letter-spacing:.32em;text-transform:uppercase}
.text-green{color:var(--green)}.text-green-deep{color:var(--green-deep)}.text-charcoal{color:var(--charcoal)}.text-grey{color:var(--grey)}
.bg-green{background:var(--green)}.bg-green-tint{background:var(--green-tint)}.bg-charcoal{background:var(--charcoal)}.bg-paper{background:var(--paper)}
.border-line{border-color:var(--line)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;min-height:3.25rem;padding:.85rem 1.6rem;border-radius:999px;font-weight:700;font-size:.98rem;transition:transform .25s ease,box-shadow .25s ease,background .25s ease,color .25s ease}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:var(--green);color:var(--charcoal);box-shadow:0 10px 30px -12px rgba(140,198,63,.8)}
.btn-primary:hover{background:var(--green-light);box-shadow:0 16px 36px -14px rgba(140,198,63,.9)}
.btn-dark{background:var(--charcoal);color:#fff}.btn-dark:hover{background:#000}
.btn-ghost{border:1.5px solid rgba(255,255,255,.55);color:#fff}.btn-ghost:hover{background:rgba(255,255,255,.12);border-color:#fff}
.btn-outline{border:1.5px solid var(--charcoal);color:var(--charcoal)}.btn-outline:hover{background:var(--charcoal);color:#fff}
.btn .arrow{transition:transform .25s ease}.btn:hover .arrow{transform:translateX(4px)}
.link-u{background:linear-gradient(var(--green),var(--green)) 0 100%/0 2px no-repeat;transition:background-size .3s ease}
.link-u:hover,.link-u[aria-current=page]{background-size:100% 2px}
.site-header{background:rgba(255,255,255,.82);backdrop-filter:saturate(1.6) blur(14px);-webkit-backdrop-filter:saturate(1.6) blur(14px)}
.card{transition:transform .35s ease,box-shadow .35s ease}
.card:hover{transform:translateY(-6px);box-shadow:0 28px 60px -30px rgba(35,31,32,.45)}
.zoom{overflow:hidden}.zoom img{transition:transform .8s cubic-bezier(.2,.7,.2,1)}.card:hover .zoom img,.zoom:hover img{transform:scale(1.06)}
.iris{position:absolute;border-radius:999px;pointer-events:none}
.grain-ring{background:radial-gradient(circle at 50% 50%,transparent 38%,rgba(140,198,63,.9) 38.5%,rgba(140,198,63,.9) 41%,transparent 41.5%)}
.js .reveal{opacity:0;transform:translateY(26px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}
.js .reveal.is-in{opacity:1;transform:none}
.js .reveal.d1{transition-delay:.08s}.js .reveal.d2{transition-delay:.16s}.js .reveal.d3{transition-delay:.24s}
.field{width:100%;min-height:3.1rem;border:1.5px solid #d9d9d9;border-radius:.9rem;padding:.75rem 1rem;background:#fff;color:var(--ink);font:inherit;transition:border-color .2s,box-shadow .2s}
.field:focus{outline:none;border-color:var(--green);box-shadow:0 0 0 4px rgba(140,198,63,.25)}
.label{display:block;font-weight:700;font-size:.9rem;margin-bottom:.4rem;color:var(--charcoal)}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.grecaptcha-badge{visibility:hidden}
.faq summary{list-style:none;cursor:pointer}.faq summary::-webkit-details-marker{display:none}
.faq .plus{transition:transform .3s ease}.faq[open] .plus{transform:rotate(45deg)}
.faq .faq-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s ease}.faq[open] .faq-body{grid-template-rows:1fr}
.faq .faq-body>div{overflow:hidden}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--green);outline-offset:3px;border-radius:6px}
.check-list li{position:relative;padding-left:2rem}
.check-list li::before{content:"";position:absolute;left:0;top:.45em;width:1.15rem;height:1.15rem;border-radius:999px;background:var(--green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23231F20' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/70% no-repeat}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}.js .reveal{opacity:1;transform:none}}
