:root { --primary:#00539F; --accent:#009C3B; --ink:#222; --muted:#5b5b5b; --bg:#fff; --card:#f7f9fb; }
* { box-sizing:border-box; }
body { margin:0; font-family: system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, 'Helvetica Neue', Arial, 'Noto Sans', 'Liberation Sans', sans-serif; color:var(--ink); background:var(--bg); }
.container { max-width: 980px; margin: 0 auto; padding: 0 16px; }
header.site { background:rgba(255,255,255,.8); border-bottom:1px solid #eaeaea; }
.nav { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:10px 0; }
.brand { font-weight:800; color:var(--primary); text-decoration:none; letter-spacing:.2px; }
nav a { color:var(--ink); text-decoration:none; margin:0 8px; }
nav a:hover { color:var(--primary); }
.lang-switch a { margin-left:10px; display:inline-flex; align-items:center; }
.hero { padding:64px 0 28px; text-align:center; }
.hero h1 { font-size: clamp(28px, 5vw, 44px); margin:0 0 8px; }
.hero .sub { color:var(--muted); font-size:18px; margin:0 0 18px; }
.btn { display:inline-block; background:var(--primary); color:#fff; padding:12px 18px; border-radius:8px; text-decoration:none; font-weight:600; }
.btn:hover { filter: brightness(0.95); }
.cards { display:grid; grid-template-columns: repeat(auto-fit, minmax(240px,1fr)); gap:16px; margin:28px 0 40px; }
.card { background:var(--card); padding:16px; border-radius:12px; border:1px solid #e8eef5; }
.card .link { display:inline-block; margin-top:10px; color:var(--primary); font-weight:600; text-decoration:none; }
.form { display:grid; gap:12px; max-width:520px; }
.form label { display:grid; gap:6px; font-weight:600; }
.form input, .form textarea { padding:10px 12px; border-radius:8px; border:1px solid #d8dfe6; font: inherit; }
.form .tiny { color:var(--muted); font-size:12px; }
.notice { padding:12px 14px; border-radius:8px; background:#fffbe6; border:1px solid #ffe58f; }
.notice.success { background:#f6ffed; border-color:#b7eb8f; }
.notice.error { background:#fff1f0; border-color:#ffa39e; }
.hp { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; } /* honeypot */
.footer { border-top:1px solid #eee; padding:24px 0; text-align:center; color:var(--muted); }