:root { --ink:#0f172a; --muted:#475569; --accent:#0284c7; --line:#e2e8f0; }
* { box-sizing:border-box; }
body { margin:0; font-family:"Segoe UI",system-ui,sans-serif; color:var(--ink); background:#fff; }
a { color:var(--accent); text-decoration:none; }
header.nav { display:flex; justify-content:space-between; align-items:center; padding:16px 8%; border-bottom:1px solid var(--line); }
header.nav nav a { margin-left:16px; color:var(--ink); }
.hero { padding:64px 8%; background:linear-gradient(135deg,#0f172a,#164e63); color:#fff; }
.hero h1 { font-size:42px; margin:0 0 12px; }
.wrap { padding:40px 8%; }
.grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:18px; }
.card { border:1px solid var(--line); border-radius:16px; padding:20px; }
.price { font-size:28px; font-weight:700; }
.btn { display:inline-block; background:var(--accent); color:#fff; padding:10px 16px; border-radius:10px; border:0; font-weight:700; cursor:pointer; }
.btn.sec { background:#fff; color:var(--ink); border:1px solid var(--line); }
footer { padding:24px 8%; color:var(--muted); border-top:1px solid var(--line); }
.form label { display:block; margin:8px 0 4px; }
.form input,.form select { width:100%; padding:8px 10px; border:1px solid var(--line); border-radius:8px; }
.flash { padding:10px; background:#d1fae5; border-radius:8px; margin-bottom:12px; }
