:root{--green:#006330;--green-dk:#00331a;--green-ink:#0b1f14;--red:#92342F;--lime:#38B449;--ink:#262525;--mist:#EFEFEF;--stone:#E6E6E5}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:'Barlow',system-ui,sans-serif;color:var(--ink);line-height:1.7;overflow-x:hidden}
.font-display{font-family:'Barlow Condensed','Barlow',sans-serif;letter-spacing:-.01em}
.t-hero{font-size:clamp(3rem,8.5vw,7.25rem);line-height:.88;letter-spacing:-.02em}
.t-1{font-size:clamp(2.5rem,5.5vw,4.75rem);line-height:.92;letter-spacing:-.015em}
.t-2{font-size:clamp(2rem,4vw,3.4rem);line-height:.95;letter-spacing:-.01em}
.t-3{font-size:clamp(1.4rem,2.2vw,1.85rem);line-height:1.05}
.lead{font-size:clamp(1.075rem,1.4vw,1.25rem);line-height:1.75}
.eyebrow{font-family:'Barlow Condensed',sans-serif;font-weight:700;letter-spacing:.18em;text-transform:uppercase;font-size:.85rem}
.bg-green{background:var(--green)}.bg-green-dk{background:var(--green-dk)}.bg-ink{background:var(--green-ink)}.bg-red{background:var(--red)}.bg-mist{background:#f4f5f2}
.text-green{color:var(--green)}.text-red{color:var(--red)}.text-lime{color:var(--lime)}
.btn{display:inline-flex;align-items:center;gap:.6rem;min-height:3.25rem;padding:.85rem 1.6rem;border-radius:999px;font-weight:700;font-family:'Barlow Condensed',sans-serif;font-size:1.15rem;letter-spacing:.04em;text-transform:uppercase;transition:transform .25s ease,background-color .25s ease,box-shadow .25s ease,color .25s ease}
.btn:hover{transform:translateY(-2px)}
.btn svg{transition:transform .25s ease}.btn:hover svg{transform:translateX(3px)}
.btn-red{background:var(--red);color:#fff;box-shadow:0 12px 30px -12px rgba(146,52,47,.7)}.btn-red:hover{background:#7d2b27}
.btn-green{background:var(--green);color:#fff;box-shadow:0 12px 30px -12px rgba(0,99,48,.7)}.btn-green:hover{background:#00502a}
.btn-ghost{border:2px solid rgba(255,255,255,.5);color:#fff}.btn-ghost:hover{background:#fff;color:var(--green-ink);border-color:#fff}
.btn-outline{border:2px solid var(--green);color:var(--green)}.btn-outline:hover{background:var(--green);color:#fff}
.site-header{transition:background-color .3s ease,box-shadow .3s ease}
.site-header.scrolled{background:rgba(255,255,255,.86);box-shadow:0 10px 30px -18px rgba(0,0,0,.35)}
.nav-link{position:relative;font-family:'Barlow Condensed',sans-serif;font-weight:600;text-transform:uppercase;letter-spacing:.06em;font-size:1.05rem}
.nav-link::after{content:"";position:absolute;left:0;right:100%;bottom:-6px;height:3px;background:var(--red);transition:right .3s ease}
.nav-link:hover::after,.nav-link[aria-current=page]::after{right:0}
.card-zoom img{transition:transform .8s cubic-bezier(.2,.7,.2,1)}.card-zoom:hover img{transform:scale(1.06)}
.lift{transition:transform .35s ease,box-shadow .35s ease}.lift:hover{transform:translateY(-4px);box-shadow:0 24px 50px -24px rgba(0,51,26,.45)}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1;transform:none}
.grain::before{content:"";position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(rgba(255,255,255,.06) 1px,transparent 1px);background-size:4px 4px;opacity:.5}
.tick-list li{position:relative;padding-left:2rem}
.tick-list li::before{content:"";position:absolute;left:0;top:calc(50% - .45rem);width:1.1rem;height:.6rem;border-left:3px solid var(--lime);border-bottom:3px solid var(--lime);transform:rotate(-45deg)}
details.faq summary{list-style:none;cursor:pointer}details.faq summary::-webkit-details-marker{display:none}
details.faq .plus{transition:transform .3s ease}details.faq[open] .plus{transform:rotate(45deg)}
details.faq .faq-body{animation:faqIn .35s ease}
@keyframes faqIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.field{width:100%;border:1.5px solid #d6dbd6;background:#fff;border-radius:.9rem;padding:.9rem 1rem;font-size:1rem;min-height:3.25rem;transition:border-color .2s,box-shadow .2s}
.field:focus{outline:none;border-color:var(--green);box-shadow:0 0 0 4px rgba(0,99,48,.15)}
label.lbl{display:block;font-weight:600;font-size:.95rem;margin-bottom:.4rem}
.hp{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
.grecaptcha-badge{visibility:hidden}
.slide{transition:opacity .6s ease,transform .6s ease}
:focus-visible{outline:3px solid var(--lime);outline-offset:3px}
.marquee{animation:marq 38s linear infinite}
@keyframes marq{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.marquee{animation:none}.card-zoom img,.lift,.btn,.slide{transition:none}details.faq .faq-body{animation:none}}
[hidden]{display:none!important}
