:root { --ink:#17211b; --muted:#66736b; --paper:#f5f4ef; --card:#fff; --accent:#e66b3d; --green:#214f3b; --line:#dfe3dc; font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
* { box-sizing:border-box; }
body { margin:0; color:var(--ink); background:var(--paper); font-size:16px; line-height:1.55; }
a { color:inherit; }
.shell { width:min(1120px,calc(100% - 40px)); margin:auto; }
.topbar { display:flex; justify-content:space-between; align-items:center; padding:24px 0; }
.brand { font-weight:700; letter-spacing:-.045em; font-size:1.35rem; text-decoration:none; }
.brand-mark { color:var(--accent); }
.top-link { color:var(--muted); text-decoration:none; font-size:.9rem; }
.hero { padding:clamp(42px,8vw,84px) 0 44px; max-width:680px; }
.eyebrow { color:var(--accent); font-size:.76rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
h1 { font-size:clamp(2rem,3.8vw,3rem); line-height:1.05; letter-spacing:-.045em; font-weight:700; margin:16px 0 20px; }
.lead { color:var(--muted); font-size:clamp(1.1rem,2vw,1.35rem); line-height:1.5; max-width:540px; }
.category-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; padding-bottom:72px; }
.category-card { min-height:190px; padding:22px; border:1px solid var(--line); border-radius:22px; background-color:var(--card); background-size:cover; background-position:center; text-decoration:none; display:flex; flex-direction:column; justify-content:space-between; transition:transform .18s,box-shadow .18s; overflow:hidden; position:relative; isolation:isolate; }
.category-card::before { content:""; position:absolute; inset:0; background:linear-gradient(180deg,#17211b22 10%,#17211bcc 100%); z-index:-1; }
.category-card--auto { background-image:url('/assets/categories/auto.png'); }
.category-card--moto { background-image:url('/assets/categories/moto.png'); }
.category-card--kolo { background-image:url('/assets/categories/kolo.png'); }
.category-card--pesky { background-image:url('/assets/categories/pesky.png'); }
.category-card:hover,.category-card:focus-visible { transform:translateY(-4px); box-shadow:0 14px 30px #17211b18; outline:none; }
.category-icon { width:42px; height:42px; display:grid; place-items:center; border-radius:50%; background:var(--green); color:#fff; font-weight:800; }
.category-name { color:#fff; font-size:1.25rem; font-weight:700; letter-spacing:-.025em; }
.footer { border-top:1px solid var(--line); padding:22px 0 40px; color:var(--muted); font-size:.85rem; }
.form-card { max-width:640px; background:#fff; border:1px solid var(--line); border-radius:22px; padding:24px; }
.form-note { color:var(--muted); font-size:.9rem; line-height:1.45; }
.consent { display:flex; gap:10px; align-items:flex-start; font-weight:400; font-size:.9rem; line-height:1.4; }
.consent input { margin-top:4px; flex:0 0 auto; }
.consent a { color:var(--green); font-weight:700; }
.legal { max-width:720px; padding:48px 0 80px; }
.legal h1 { max-width:620px; font-size:clamp(2rem,3.4vw,2.8rem); }
.legal h2 { margin:34px 0 10px; font-size:1.15rem; line-height:1.3; font-weight:700; }
.legal p { max-width:68ch; margin:0 0 16px; color:var(--muted); font-size:1rem; line-height:1.7; }
label { display:block; margin:14px 0 6px; font-weight:700; }
input,button { font:inherit; }
input[type=search],input[type=email],input[type=password] { width:100%; padding:13px 14px; border:1px solid #cbd4cc; border-radius:10px; background:#fff; }
button { margin-top:16px; border:0; border-radius:999px; padding:13px 20px; color:#fff; background:var(--green); font-weight:800; cursor:pointer; }
@media (max-width:900px) {
  .category-grid { grid-template-columns:repeat(2,1fr); }
  .category-card { min-height:170px; }
}
@media (max-width:600px) {
  .shell { width:calc(100% - 28px); }
  .topbar { padding:18px 0; }
  .hero { padding:48px 0 38px; }
  .lead { font-size:1rem; }
  .category-grid { gap:10px; padding-bottom:48px; }
  .category-card { min-height:145px; padding:17px; border-radius:17px; }
  .category-name { font-size:1.1rem; }
  .form-card { padding:18px; border-radius:17px; }
}
@media (max-width:380px) {
  .shell { width:calc(100% - 24px); }
  h1 { font-size:2rem; }
  .category-grid { grid-template-columns:1fr 1fr; gap:8px; }
  .category-card { min-height:125px; padding:13px; }
  .category-icon { width:34px; height:34px; font-size:.85rem; }
  .category-name { font-size:1rem; }
}
