
:root {
  --brand: #0F2B46;
  --accent: #1FA27B;
  --bg: #ffffff;
  --text: #0e1726;
  --muted: #5b6b7f;
  --surface: #F3F5F7;
}

* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body {
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Inter, Arial, sans-serif;
  color: var(--text);
  background: var(--bg);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

.container { width: min(1100px, 92%); margin: 0 auto; }
header.site-header {
  position: sticky; top: 0; z-index: 50;
  background: rgba(255,255,255,.9); backdrop-filter: saturate(1.2) blur(6px);
  border-bottom: 1px solid #e7ebf0;
}
.header-inner { display: flex; align-items: center; justify-content: space-between; padding: .75rem 0; gap: 1rem; }
.logo { display:flex; align-items:center; gap:.35rem; text-decoration:none; font-weight: 800; letter-spacing:.3px; }
.logo-mark { background: var(--brand); color:#fff; padding:.35rem .45rem; border-radius: .5rem; }
.logo-text { color: var(--brand); }

.nav a { text-decoration: none; color: var(--text); margin: 0 .5rem; font-weight: 600; }
.nav .btn { margin-left: .5rem; }
.burger { display:none; background:none; border:none; font-size:1.5rem; }

.hero {
  padding: 4rem 0 2rem;
  background: linear-gradient(180deg, #f6f9fb 0%, #fff 100%);
}
.hero h1 { font-size: clamp(2rem, 3.2vw, 3rem); margin: 0 0 .5rem; color: var(--brand); }
.hero p.lead { color: var(--muted); font-size: 1.125rem; max-width: 60ch; }

.grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.25rem; }
.grid-2 { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.25rem; }
.card {
  background: #fff; border: 1px solid #e7ebf0; border-radius: 1rem; padding: 1.25rem;
  box-shadow: 0 4px 14px rgba(0,0,0,.04);
}
.kpis { display:flex; gap:1rem; flex-wrap:wrap; }
.kpi { background: var(--surface); padding: .75rem 1rem; border-radius:.75rem; font-weight:700; color:var(--brand); }

.btn { display:inline-block; padding:.7rem 1rem; border-radius:.75rem; font-weight:700; text-decoration:none; border:1px solid var(--brand); }
.btn-primary { background: var(--brand); color:#fff; border-color:var(--brand); }
.btn-primary:hover { filter: brightness(.95); }
.btn-ghost { background: transparent; color: var(--brand); }
.btn-accent { background: var(--accent); color: #fff; border-color: var(--accent); }

.section { padding: 2rem 0; }
.section h2 { margin: 0 0 .5rem; color: var(--brand); }
.list { list-style:none; padding:0; margin:.5rem 0 0; }
.list li { margin:.35rem 0; }

.table { width: 100%; border-collapse: collapse; }
.table th, .table td { border-bottom:1px solid #e7ebf0; padding:.75rem; text-align:left; }
.table th { background: #f8fafc; }

.site-footer { background: #0b2036; color: #cfe0ee; padding: 2rem 0; margin-top: 2rem; }
.site-footer a { color: #fff; }
.site-footer h4 { color: #fff; margin: 0 0 .5rem; }

.notice { background: #fff8e1; border:1px solid #ffe0a3; padding: .75rem 1rem; border-radius: .75rem; }

form { display:grid; gap:.75rem; }
input, select, textarea { padding:.7rem .8rem; border-radius:.6rem; border:1px solid #cbd5e1; background:#fff; }
label { font-weight: 700; color: var(--brand); }
.small { font-size:.875rem; color: var(--muted); }

.badge { display:inline-block; padding:.15rem .5rem; border-radius:.5rem; background: var(--surface); color: var(--brand); font-weight:700; font-size:.8rem; }

.map-frame { border:0; width:100%; height: 360px; border-radius: 1rem; }
.cta-bar { display:flex; gap:.75rem; flex-wrap:wrap; align-items:center; }

blockquote.review {
  background:#fff; border:1px solid #e7ebf0; padding:1rem; border-radius:1rem; position:relative;
}
blockquote.review::before {
  content:"“"; position:absolute; left:.5rem; top:-.75rem; font-size:3rem; color:#dfe7ef;
}

.post-card h3 { margin:.25rem 0; }

@media (max-width: 900px) {
  .grid-3 { grid-template-columns: 1fr; }
  .grid-2 { grid-template-columns: 1fr; }
  .nav { display:none; flex-direction: column; gap: .5rem; padding: 1rem; background: #fff; border:1px solid #e7ebf0; position:absolute; right:1rem; top:3.25rem; }
  .burger { display:block; }
}
