:root { color-scheme: light; --ink:#17201d; --muted:#64706c; --line:#dfe4e1; --paper:#fff; --accent:#1d6b52; --accent-dark:#15523f; --wash:#f1f4ef; --success:#eaf6ef; --error:#fff0ed; }
* { box-sizing: border-box; }
body { margin:0; background:linear-gradient(135deg,#eef2ec 0%,#f8f7f2 55%,#edf3ef 100%); color:var(--ink); font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif; min-height:100vh; }
.shell { width:min(1100px,calc(100% - 32px)); margin:0 auto; padding:48px 0 64px; }
.masthead { display:flex; align-items:center; gap:14px; margin-bottom:34px; }
.brand-logo { width:230px; height:auto; display:block; object-fit:contain; }
.eyebrow { margin:0 0 2px; color:var(--accent); font-size:.72rem; font-weight:750; letter-spacing:.13em; text-transform:uppercase; }
h1 { font-family:Georgia,serif; font-size:1.75rem; margin:0; font-weight:500; letter-spacing:-.02em; }
.local-badge { margin-left:auto; border:1px solid #cbd7d0; border-radius:99px; padding:7px 11px; font-size:.76rem; color:#48554f; background:#ffffffaa; }
.local-badge i { display:inline-block; width:7px; height:7px; border-radius:50%; background:#29a36a; margin-right:6px; box-shadow:0 0 0 3px #dff1e7; }
.intro { border-top:1px solid #bdc7c1; padding:25px 0 34px; }
.intro p { font-family:Georgia,serif; max-width:720px; font-size:clamp(1.55rem,3vw,2.55rem); line-height:1.13; letter-spacing:-.025em; margin:0; }
.grid { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(300px,.85fr); gap:22px; align-items:start; }
.grid.single-column { grid-template-columns:minmax(0,720px); justify-content:center; }
.narrow-shell { max-width:760px; }
.back-link { display:inline-block; margin:0 0 18px; color:var(--accent); font-size:.84rem; font-weight:700; text-decoration:none; }
.back-link:hover { text-decoration:underline; }
.site-footer { padding:22px 0 0; text-align:center; }
.site-footer a { color:var(--muted); font-size:.76rem; text-decoration:none; }
.site-footer a:hover { color:var(--accent); text-decoration:underline; }
.card { background:var(--paper); border:1px solid var(--line); border-radius:18px; padding:28px; box-shadow:0 12px 35px #263d3320; }
.card-heading { display:flex; gap:14px; border-bottom:1px solid var(--line); padding-bottom:20px; margin-bottom:22px; }
.step { display:grid; place-items:center; flex:0 0 34px; height:34px; border-radius:50%; background:var(--wash); color:var(--accent); font-size:.75rem; font-weight:800; }
h2 { font-family:Georgia,serif; margin:0 0 4px; font-size:1.35rem; font-weight:500; }
.card-heading p { margin:0; color:var(--muted); font-size:.84rem; }
form { display:grid; gap:16px; }
.two-column { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
label { display:grid; gap:7px; font-size:.78rem; font-weight:700; color:#39453f; }
input,select { width:100%; border:1px solid #cfd7d2; border-radius:9px; background:#fbfcfa; color:var(--ink); padding:11px 12px; font:inherit; font-size:.92rem; outline:none; transition:.15s; }
select { appearance:menulist; -webkit-appearance:menulist; padding-right:36px; cursor:pointer; }
input:focus,select:focus { border-color:var(--accent); box-shadow:0 0 0 3px #1d6b5218; background:white; }
.consent { display:flex; align-items:flex-start; gap:10px; font-weight:500; line-height:1.45; color:var(--muted); }
.consent input { width:17px; height:17px; margin-top:2px; accent-color:var(--accent); }
button { border:0; border-radius:9px; padding:12px 15px; background:var(--accent); color:white; font:inherit; font-weight:750; cursor:pointer; transition:.15s; }
button:hover { background:var(--accent-dark); transform:translateY(-1px); }
button:disabled { opacity:.55; cursor:wait; transform:none; }
button span { float:right; }
button.secondary { background:#e8eeea; color:var(--ink); }
button.secondary:hover { background:#dce6df; }
.status { display:none; border-radius:8px; padding:10px 12px; font-size:.82rem; line-height:1.4; }
.status.show { display:block; }
.status.success { background:var(--success); color:#155a39; }
.status.error { background:var(--error); color:#8b3024; }
.results { display:grid; gap:10px; margin-top:16px; }
.result { border:1px solid var(--line); border-radius:10px; padding:13px; background:#fafbf9; }
.result strong { display:block; margin-bottom:4px; }
.result span { color:var(--muted); font-size:.8rem; }
.privacy-note { margin-top:26px; padding:17px; border-radius:11px; background:#f4f2e8; border-left:3px solid #c59d3c; }
.privacy-note strong { font-size:.8rem; }
.privacy-note p { margin:5px 0 0; color:#6d685a; font-size:.78rem; line-height:1.5; }
@media (max-width:760px) { .shell{padding-top:25px}.masthead{align-items:flex-start;flex-wrap:wrap}.brand-logo{width:190px}.masthead>div{order:3;width:100%}.grid{grid-template-columns:1fr}.two-column{grid-template-columns:1fr}.card{padding:21px}.local-badge{font-size:0;padding:8px}.local-badge i{margin:0} }
