@import url('https://fonts.googleapis.com/css2?family=Rubik:wght@400;500;600;700;800&display=swap');
:root {
  --ink:#12161b; --ink-soft:#2e373e; --paper:#fafafa; --line:#e4e8f0; --muted:#6b7280;
  --brand:#2e7d32; --brand-dark:#1b5e20; --brand-tint:#eaf8ee; --radius:16px; --radius-sm:10px;
}
* { margin:0; padding:0; box-sizing:border-box; }
body { font-family:"Rubik",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif; color:var(--ink); background:var(--paper); line-height:1.5; -webkit-font-smoothing:antialiased; }
.wrap { max-width:1040px; margin:0 auto; padding:0 20px; }
a { color:inherit; }
header { background:var(--ink); color:#fff; padding:16px 0; }
header .wrap { display:flex; justify-content:space-between; align-items:center; gap:12px; }
.logo { font-weight:800; font-size:1.05rem; color:#fff; }
header nav a { font-size:.85rem; font-weight:600; color:#c9cfd6; text-decoration:none; padding:8px 14px; border-radius:999px; }
header nav a:hover { background:rgba(255,255,255,.1); color:#fff; }
.hero { background:linear-gradient(160deg,var(--ink) 0%,#1d2530 55%,#1b3025 100%); color:#fff; padding:52px 0 56px; }
.hero .eyebrow { display:inline-block; font-size:.72rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; background:rgba(127,216,148,.14); color:#8fe3a6; padding:6px 12px; border-radius:999px; margin-bottom:16px; }
.hero h1 { font-size:2.5rem; font-weight:800; line-height:1.15; max-width:680px; }
.hero h1 em { font-style:normal; color:#8fe3a6; }
.hero p { margin-top:12px; color:#c9cfd6; max-width:560px; font-size:1rem; }
.cta { display:inline-block; background:var(--brand); color:#fff; padding:13px 20px; border-radius:var(--radius-sm); font-weight:700; text-decoration:none; font-size:.95rem; border:0; cursor:pointer; font-family:inherit; margin-top:24px; }
.cta:hover { background:var(--brand-dark); }
.hero-link { display:inline-block; margin-left:16px; color:#c9cfd6; font-size:.9rem; font-weight:600; text-decoration:none; }
.hero-link:hover { color:#fff; }
section { padding:56px 0; }
h2 { font-size:1.45rem; font-weight:700; margin-bottom:18px; }
.pains { list-style:none; max-width:720px; }
.pains li { padding:13px 0 13px 28px; position:relative; border-bottom:1px solid var(--line); }
.pains li:last-child { border:none; }
.pains li::before { content:"•"; color:var(--brand); font-size:1.5rem; font-weight:800; position:absolute; left:4px; top:7px; }
.pain p { margin-top:18px; color:var(--muted); font-weight:500; }
.steps, .trust, .form { border:1px solid var(--line); border-radius:var(--radius); padding:28px; }
.steps { background:var(--brand-tint); }
.steps ol { padding-left:22px; }
.steps li { padding:7px 0; }
.disclosure { color:var(--muted); font-size:.8rem; margin-top:20px; }
.trust { background:#fff; }
.trust ul { list-style:none; }
.trust li { padding:9px 0 9px 28px; position:relative; }
.trust li::before { content:"✓"; color:var(--brand); font-weight:800; position:absolute; left:0; }
.form { background:#fff; max-width:720px; }
.form p.note { font-size:.9rem; color:var(--muted); margin-bottom:16px; }
.field { margin-bottom:14px; }
.field label { display:block; font-weight:600; font-size:.9rem; margin-bottom:6px; }
.field label .req { color:var(--brand); }
.field input[type="email"], .field input[type="text"], .field input[type="number"], .field select { width:100%; padding:12px 14px; border:1px solid var(--line); border-radius:var(--radius-sm); font-size:1rem; font-family:inherit; background:#fff; color:var(--ink); }
.field input:focus, .field select:focus { outline:2px solid var(--brand); outline-offset:1px; border-color:var(--brand); }
.field input[type="file"] { width:100%; font-size:.95rem; }
.field .hint { font-size:.85rem; color:var(--muted); margin-top:4px; }
.form .cta { width:100%; margin-top:6px; }
.hp { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.thanks { padding:72px 0; text-align:center; }
.thanks h1 { font-size:1.8rem; margin-bottom:12px; }
.thanks p { max-width:440px; margin:0 auto 24px; color:var(--muted); }
.thanks a { color:var(--brand); }
footer { background:var(--ink); color:#9aa2ad; text-align:center; padding:24px 0; font-size:.85rem; }
footer a { color:#c9cfd6; }
@media(max-width:480px){ .hero h1 { font-size:1.8rem; } .hero-link { display:block; margin:16px 0 0; } }
