:root {
  --ink:#0b0b0b;
  --muted:#6b7280;
  --line:#e5e7eb;
  --bg:#ffffff;
  --brand:#0ea5e9;
  --brand-ink:#ffffff;
}
* { box-sizing: border-box; }
html, body { margin:0; padding:0; font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial; color: var(--ink); background: var(--bg); line-height: 1.5; }
a { color: inherit; text-decoration: none; }
.container { max-width: 980px; margin: 0 auto; padding: 0 20px; }
.site-header { position: sticky; top:0; background: #fff; border-bottom: 1px solid var(--line); }
.header-inner { display:flex; align-items:center; justify-content: space-between; padding: 14px 0; }
.brand { font-weight: 800; letter-spacing: .2px; }
.call-top { border: 1px solid var(--ink); padding: 10px 14px; border-radius: 10px; }
.hero { padding: 40px 0 26px; }
.hero h1 { font-size: clamp(28px, 5vw, 44px); margin:0 0 10px; }
.hero .sub { color: var(--muted); margin:0 0 16px; }
.cta-call { display:inline-block; background: var(--ink); color: #fff; padding: 14px 18px; border-radius: 12px; font-weight: 700; }
.note { color: var(--muted); margin-top: 10px; }
.features { display:grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin: 18px 0 6px; }
.card { border:1px solid var(--line); border-radius: 12px; padding: 14px; background: #fff; }
.card h3 { margin: 0 0 6px; font-size: 18px; }
.service-area { padding: 16px 0 34px; }
.site-footer { border-top:1px solid var(--line); padding: 18px 0; color: var(--muted); }
.footer-inner { display:flex; align-items:center; justify-content: space-between; gap:10px; flex-wrap: wrap; }
.footer-links { display:flex; gap:10px; align-items:center; }

/* Sticky call on mobile */
.sticky-call {
  position: fixed; left: 12px; right: 12px; bottom: 12px;
  display: none; text-align:center; background: var(--ink); color:#fff;
  padding: 14px 16px; border-radius: 999px; box-shadow: 0 6px 24px rgba(0,0,0,.12);
}
@media (max-width: 760px) {
  .features { grid-template-columns: 1fr; }
  .call-top { display:none; }
  .sticky-call { display:block; }
}