:root { --max: 1000px; --pad: 16px; }
* { box-sizing: border-box; }
body { font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif; margin:0; line-height:1.5; color:#111; }
header { border-bottom:1px solid #eee; }
.container { max-width: var(--max); margin: 0 auto; padding: var(--pad); }
.brand { display:flex; align-items:center; gap:12px; padding:12px 0; }
.brand img { height:54px; width:auto; }
nav a { margin-right: 12px; text-decoration:none; color:#111; }
nav a:hover { text-decoration:underline; }
.hero { padding: 56px var(--pad); background:#fafafa; border-bottom:1px solid #eee; }
.hero h1 { margin:0 0 8px; font-size: clamp(28px, 5vw, 42px); }
.hero p { margin:0 0 20px; font-size: clamp(16px, 2.5vw, 20px); }
.btn { display:inline-block; padding:10px 16px; border-radius:10px; border:1px solid #111; text-decoration:none; margin-right:8px; }
.btn-primary { background:#111; color:#fff; }
.trust { display:grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap:10px; margin:24px 0; }
.card { border:1px solid #eee; padding:16px; border-radius:12px; background:#fff; }
h2 { margin-top:28px; }
ul { padding-left: 22px; }
footer { border-top:1px solid #eee; background:#fafafa; }
footer .container { padding: 24px var(--pad); }
small { color:#555; }
.grid { display:grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap:16px; }
form { display:grid; gap:10px; max-width:800px; }
fieldset { border:1px solid #eee; padding:10px; border-radius:10px; }
legend { padding:0 8px; }
label { display:block; font-weight:600; margin:8px 0 4px; }
input, select, textarea { width:100%; padding:10px; border-radius:8px; border:1px solid #ccc; }
textarea { min-height:120px; }
.hidden { display:none; }
.alt-contact { font-size:14px; color:#333; }