:root { color-scheme: light; --ink:#17211b; --muted:#536158; --paper:#f8f7f1; --accent:#2f6f4f; --accent-dark:#22553a; --line:#d7ddd5; --error:#982d22; }
* { box-sizing:border-box; }
body { margin:0; min-height:100vh; background:radial-gradient(circle at 10% 0%,rgba(47,111,79,.14),transparent 34rem),var(--paper); color:var(--ink); font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; line-height:1.5; }
main { width:min(92vw,64rem); margin:0 auto; padding:clamp(2rem,8vw,6rem) 0; }
.brand { display:inline-flex; align-items:center; gap:.75rem; color:var(--ink); font-weight:800; text-decoration:none; }
.brand img { width:2.7rem; height:2.7rem; }
.card { margin-top:2rem; padding:clamp(1.35rem,5vw,2.5rem); border:1px solid var(--line); border-radius:1rem; background:rgba(255,255,255,.84); box-shadow:0 1.4rem 4rem rgba(31,50,39,.08); }
h1 { margin:0; font-size:clamp(2rem,6vw,3.5rem); line-height:1; letter-spacing:-.04em; }
h2 { margin:0 0 .4rem; }
.intro,.muted { color:var(--muted); }
form { display:grid; gap:1rem; margin-top:1.5rem; }
label { display:grid; gap:.4rem; font-weight:720; }
input,select,textarea { width:100%; min-height:3.05rem; padding:.72rem .82rem; border:1px solid var(--line); border-radius:.5rem; background:#fff; color:var(--ink); font:inherit; }
textarea { min-height:7rem; resize:vertical; }
input:focus,select:focus,textarea:focus { outline:3px solid rgba(47,111,79,.17); border-color:var(--accent); }
button,.button { display:inline-flex; align-items:center; justify-content:center; width:fit-content; min-height:3.05rem; padding:.75rem 1.05rem; border:0; border-radius:.5rem; background:var(--accent); color:#fff; cursor:pointer; font:inherit; font-weight:800; text-decoration:none; }
button:hover,.button:hover { background:var(--accent-dark); }
button.secondary { border:1px solid var(--line); background:transparent; color:var(--ink); }
button:disabled { cursor:wait; opacity:.7; }
.check { display:flex; align-items:center; gap:.6rem; font-weight:550; }
.check input { width:1rem; min-height:auto; }
.actions { display:flex; flex-wrap:wrap; gap:.75rem; margin-top:1.5rem; }
.status { min-height:1.5rem; margin:.75rem 0 0; color:var(--muted); }
.status.error { color:var(--error); }
.status.success { color:var(--accent-dark); font-weight:700; }
.hidden { display:none; }
.row { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.lead-card { margin-top:1.25rem; }
details { padding-top:.2rem; border-top:1px solid var(--line); }
summary { padding-top:1rem; color:var(--accent-dark); cursor:pointer; font-weight:760; }
.address-fields { display:grid; gap:1rem; padding-top:1rem; }
@media (max-width:620px) { .row { grid-template-columns:1fr; } }
