
:root { --accent: #E02424; --border:#e5e7eb; --muted:#6b7280; }
*{ box-sizing:border-box }
html,body{ margin:0; font-family: ui-sans-serif, system-ui, Arial, sans-serif; color:#111; background:#fff }
img{ max-width:100%; height:auto; display:block }
.site-header{ position:sticky; top:0; background:#fff; border-bottom:1px solid var(--border); display:flex; justify-content:space-between; align-items:center; padding:.6rem 1rem; z-index:50 }
.logo{ display:flex; gap:.5rem; align-items:center; text-decoration:none; color:inherit; font-weight:800 }
.logo-mark{ display:inline-grid; place-items:center; width:34px; height:34px; border:2px solid var(--accent); border-radius:.5rem; font-weight:900 }
.nav .menu{ list-style:none; display:flex; gap:1rem; margin:0; padding:0 }
.nav a{ text-decoration:none; color:inherit }
.nav a.cta{ background:var(--accent); color:#fff; padding:.5rem .75rem; border-radius:.5rem }
.menu-toggle{ display:none }
.content{ max-width:1100px; margin:0 auto; padding:1rem }
.hero{ padding:2rem 0 }
.hero h1{ margin:0 0 .5rem; font-size:clamp(1.6rem,1.2rem + 2vw,2.6rem) }
p.lead{ color:#374151 }
.cards .grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:1rem }
.card{ border:1px solid var(--border); border-radius:.75rem; padding:1rem; text-decoration:none; color:inherit }
.trust{ display:grid; grid-template-columns:repeat(2,1fr); gap:.5rem; list-style:none; padding:0 }
.placeholder{ border:2px dashed var(--border); color:var(--muted); text-align:center; padding:2rem; border-radius:.75rem }
.two-col{ display:grid; grid-template-columns:2fr 1fr; gap:1rem }
.aside .box{ border:1px solid var(--border); padding:1rem; border-radius:.5rem; margin-bottom:.75rem }
.site-footer{ border-top:1px solid var(--border); margin-top:2rem; background:#fff }
.footer-inner{ max-width:1100px; margin:0 auto; padding:1rem; display:flex; justify-content:space-between; gap:1rem; flex-wrap:wrap }
.fine{ text-align:center; color:var(--muted); margin:0 0 1rem }
.btn{ display:inline-block; padding:.6rem 1rem; border:1px solid var(--accent); border-radius:.6rem; text-decoration:none }
.btn.primary{ background:var(--accent); color:#fff }
.btn.outline{ color:var(--accent); background:#fff }
.sticky-call{ position:fixed; bottom:1rem; right:1rem; z-index:60 }
.sticky-call a{ background:var(--accent); color:#fff; padding:.6rem 1rem; border-radius:999px; text-decoration:none }
.quote-form{ display:grid; grid-template-columns:repeat(2,1fr); gap:.75rem }
.quote-form label{ display:flex; flex-direction:column; gap:.25rem; font-weight:600 }
.quote-form input, .quote-form textarea{ padding:.6rem .65rem; border:1px solid var(--border); border-radius:.5rem; font:inherit }
.quote-form textarea{ grid-column: span 2; }
@media (max-width:800px){
  .menu-toggle{ display:inline-block }
  .nav .menu{ display:none; flex-direction:column; position:absolute; right:1rem; top:60px; background:#fff; border:1px solid var(--border); padding:.75rem; border-radius:.5rem }
  .nav .menu.show{ display:flex }
  .two-col{ grid-template-columns:1fr }
}
