:root{--g:#1f6f43;--g2:#e8f3ec;--ink:#14231a;--mut:#5b6b61;--line:#dde5df;--gold:#c99a2e}
*{box-sizing:border-box}body{margin:0;font:16px/1.55 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--ink);background:#fafcfa}
a{color:var(--g)}.nav{position:sticky;top:0;z-index:5;display:flex;justify-content:space-between;align-items:center;padding:12px 5vw;background:#fff;border-bottom:1px solid var(--line)}
.brand{display:flex;gap:10px;align-items:center;text-decoration:none;color:var(--ink)}.brand small{display:block;font-size:12px;color:var(--mut);margin-top:-3px}
.logo{background:var(--g);color:#fff;font-weight:800;border-radius:8px;padding:6px 7px;font-size:14px}
nav a{margin-left:18px;text-decoration:none;color:var(--ink);font-size:15px}
.btn{background:var(--g);color:#fff;border:0;border-radius:8px;padding:12px 18px;font-weight:600;cursor:pointer;font-size:15px;text-decoration:none;display:inline-block}
.btn:hover{filter:brightness(1.1)}.btn.sm{padding:8px 12px;color:#fff}.btn.big{padding:14px 26px;font-size:17px}.btn.ghost{background:#fff;color:var(--g);border:2px solid var(--g)}
main{max-width:1180px;margin:auto;padding:0 5vw}
.hero{display:grid;grid-template-columns:1.4fr 1fr;gap:40px;padding:64px 0 40px;align-items:center}
.eyebrow{color:var(--g);font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:13px}
h1{font-size:clamp(32px,4.6vw,52px);line-height:1.08;margin:.2em 0 .4em}.lead{font-size:18px;color:#304037}
.signup{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}.signup input{flex:1 1 240px;padding:12px 14px;border:1px solid #c4d1c8;border-radius:8px;font-size:15px}
.fine{font-size:13px;color:var(--mut);margin:.4em 0;flex-basis:100%}.msg{flex-basis:100%;font-weight:600;color:var(--g);margin:0}
.hero-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px;box-shadow:0 8px 30px rgba(20,60,35,.08)}
.stat{display:flex;gap:14px;align-items:baseline;padding:10px 0;border-bottom:1px solid var(--line)}.stat b{font-size:32px;color:var(--g);min-width:84px}
.why{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding:10px 0 30px}.why div{background:var(--g2);border-radius:12px;padding:18px}.why h3{margin:0 0 6px}
.panel{background:#fff;border:1px solid var(--line);border-radius:16px;padding:28px;margin:24px 0}.panel h2{margin-top:0}
.tag{font-size:12px;background:#fff4dc;color:#8a6510;border:1px solid #f0d99c;border-radius:20px;padding:2px 9px;vertical-align:middle}
.sub{color:var(--mut);margin-top:-8px}.examples{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.examples button{background:var(--g2);border:1px solid #cfe3d6;border-radius:20px;padding:7px 12px;cursor:pointer;font-size:14px;color:var(--ink)}
.ask{display:flex;gap:8px}.ask input{flex:1;padding:12px;border:1px solid #c4d1c8;border-radius:8px;font-size:15px}
.answer{margin-top:16px;min-height:40px}.answer .a-head{font-weight:600;margin-bottom:8px}
.tablewrap{overflow:auto;max-height:560px;border:1px solid var(--line);border-radius:10px}table{border-collapse:collapse;width:100%;font-size:14px}
th,td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--line);vertical-align:top}th{position:sticky;top:0;background:#f2f7f3}
.tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}.tab{border:1px solid var(--line);background:#fff;border-radius:8px;padding:8px 12px;cursor:pointer}.tab.on{background:var(--g);color:#fff;border-color:var(--g)}
.hidden{display:none}.filters{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:10px}.filters select,.filters input[type=text],#f-text{padding:8px;border:1px solid #c4d1c8;border-radius:8px}
.statebars{display:flex;gap:10px;margin:6px 0 12px}.bar{flex:1;background:var(--g2);border-radius:8px;padding:8px 10px;font-size:14px}.bar i{display:block;height:6px;background:var(--g);border-radius:4px;margin-top:5px}
.pricing{display:grid;grid-template-columns:1.5fr 1fr;gap:20px;align-items:center;background:linear-gradient(135deg,#fff,#eef6f0)}
.price{text-align:center}.price b{font-size:54px;color:var(--g)}.price .btn{display:block;margin:12px auto 0}
.sponsor{text-align:center;background:var(--ink);color:#fff}.sponsor p{color:#cfdad3;max-width:700px;margin:0 auto 18px}
.sources{font-size:14px;color:#3b4a41}
footer{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;padding:24px 5vw;border-top:1px solid var(--line);font-size:14px;color:var(--mut);margin-top:30px}
dialog{border:0;border-radius:14px;max-width:440px;width:92vw;padding:26px}dialog::backdrop{background:rgba(10,30,20,.5)}
dialog form.x{position:absolute;right:10px;top:6px}dialog .x button{background:none;border:0;font-size:26px;cursor:pointer}
dialog input,dialog textarea{width:100%;padding:11px;margin:6px 0;border:1px solid #c4d1c8;border-radius:8px;font:inherit}
@media(max-width:820px){.hero,.pricing{grid-template-columns:1fr}.why{grid-template-columns:1fr}.hero{padding-top:32px}.panel{padding:18px}}
/* mobile nav toggle */
.navtoggle{display:none;background:none;border:1px solid var(--line);border-radius:8px;padding:8px 9px;cursor:pointer}
.navtoggle span{display:block;width:20px;height:2px;background:var(--ink);margin:4px 0;border-radius:2px}
.credit a{color:var(--mut)}
/* simple content pages */
.doc{max-width:760px;margin:auto;padding:40px 0 20px}.doc h1{font-size:clamp(28px,4vw,40px)}.doc h2{margin-top:1.6em;font-size:20px}.doc .note{background:var(--g2);border-radius:10px;padding:12px 16px}
.notfound{text-align:center;padding:90px 0 60px}.notfound h1{font-size:clamp(40px,7vw,72px);margin:0;color:var(--g)}
@media(max-width:820px){
  .nav{flex-wrap:wrap;gap:8px}.brand{margin-right:auto}
  .navtoggle{display:block;order:2}
  nav#mainnav{order:1;display:flex;align-items:center}
  nav#mainnav a:not(.btn){display:none}
  nav#mainnav.open{order:3;flex-basis:100%;flex-direction:column;align-items:stretch;padding:6px 0 4px}
  nav#mainnav.open a{display:block;margin:0;padding:11px 4px;border-top:1px solid var(--line)}
  nav#mainnav.open a.btn{margin-top:8px;text-align:center;border-top:0}
  .tablewrap{max-height:none}
}
