/* Crystallux Insurer Marketing — shared compact styles */
:root { --bg:#ffffff; --ink:#0f172a; --muted:#475569; --primary:#0f4c81; --accent:#0e7490; --soft:#f1f5f9; --border:#e2e8f0; }
* { box-sizing:border-box; }
html, body { margin:0; padding:0; font-family:'Inter','system-ui',sans-serif; color:var(--ink); background:var(--bg); font-size:16px; line-height:1.55; }
a { color:var(--primary); text-decoration:none; }
a:hover { text-decoration:underline; }
header.site { display:flex; align-items:center; justify-content:space-between; padding:18px 28px; border-bottom:1px solid var(--border); position:sticky; top:0; background:rgba(255,255,255,0.96); backdrop-filter:saturate(180%) blur(8px); z-index:10; }
header.site .brand { font-weight:800; font-size:18px; display:flex; align-items:center; gap:8px; color:var(--ink); }
header.site .brand .mark { width:30px; height:30px; border-radius:7px; background:var(--primary); color:#fff; display:inline-flex; align-items:center; justify-content:center; font-weight:800; }
header.site nav a { margin-left:18px; color:var(--muted); font-size:14px; }
header.site nav a:hover { color:var(--ink); text-decoration:none; }
.shell { max-width:1180px; margin:0 auto; padding:48px 28px; }
.hero { padding:64px 28px 36px; text-align:center; max-width:880px; margin:0 auto; }
.hero h1 { font-size:42px; line-height:1.15; font-weight:800; margin:0 0 14px; }
.hero p { font-size:18px; color:var(--muted); margin:0 0 22px; }
.hero .cta { display:inline-block; background:var(--primary); color:#fff; padding:12px 22px; border-radius:8px; font-weight:600; }
.hero .cta:hover { background:#0a3a64; color:#fff; text-decoration:none; }
h2 { font-size:28px; font-weight:700; margin:36px 0 14px; }
h3 { font-size:18px; font-weight:600; margin:24px 0 6px; }
.grid-3 { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.grid-2 { display:grid; grid-template-columns:repeat(2,1fr); gap:20px; }
.card { background:var(--soft); border:1px solid var(--border); border-radius:10px; padding:22px; }
.card h3 { margin-top:0; }
.card p { color:var(--muted); font-size:14px; margin:6px 0 0; }
@media (max-width:768px) { .hero h1{font-size:32px} .grid-3,.grid-2 { grid-template-columns:1fr; } header.site nav { display:none; } }
footer.site { padding:28px; border-top:1px solid var(--border); color:var(--muted); font-size:13px; text-align:center; margin-top:48px; }
.matrix { width:100%; border-collapse:collapse; font-size:14px; }
.matrix th, .matrix td { text-align:left; padding:10px 14px; border-bottom:1px solid var(--border); }
.matrix th { background:#f8fafc; color:var(--muted); font-weight:600; }
.matrix tr:hover { background:#f8fafc; }
.muted { color:var(--muted); }
ul.checklist { list-style:none; padding:0; }
ul.checklist li { padding:8px 0; border-bottom:1px dashed var(--border); }
ul.checklist li::before { content:"✓"; color:var(--accent); font-weight:700; margin-right:8px; }
