:root {
  --primary: #0f2d5e;
  --primary-light: #1a4080;
  --accent: #f59e0b;
  --green: #16a34a;
  --text: #1e293b;
  --muted: #64748b;
  --bg-light: #f8fafc;
  --radius: 10px;
}
* { box-sizing: border-box; }
body { font-family:'Segoe UI',system-ui,sans-serif; color:var(--text); background:#fff; }
a { color:var(--primary); }
a:hover { color:var(--primary-light); }
.bg-primary { background-color:var(--primary)!important; }
.btn-primary { background:var(--primary); border-color:var(--primary); }
.btn-primary:hover { background:var(--primary-light); border-color:var(--primary-light); }
.btn-warning { background:var(--accent); border-color:var(--accent); color:#1e293b; }
.text-success { color:var(--green)!important; }

/* HERO */
.hero-section { background:linear-gradient(135deg,var(--primary) 0%,#1e4d8c 100%); color:#fff; padding:4rem 0; }
.hero-section h1 { font-size:2.4rem; font-weight:800; line-height:1.2; }
.hero-section p.lead { font-size:1.15rem; opacity:.9; }
@media(max-width:767px){ .hero-section { padding:2rem 0; } .hero-section h1 { font-size:1.6rem; } }

/* FORM CARD */
.form-card { background:#fff; border-radius:var(--radius); box-shadow:0 4px 24px rgba(0,0,0,.12); padding:2rem; }
.form-card h3 { color:var(--primary); font-weight:700; margin-bottom:1.2rem; }

/* ZONE CARDS */
.zone-card { border:1px solid #e2e8f0; border-radius:var(--radius); padding:1.2rem; transition:.2s; background:#fff; height:100%; display:flex; flex-direction:column; justify-content:space-between; }
.zone-card:hover { border-color:var(--primary); box-shadow:0 4px 16px rgba(15,45,94,.1); transform:translateY(-2px); }
.zone-card h2, .zone-card h3 { color:var(--primary); font-size:1rem; font-weight:700; margin-bottom:.4rem; }
.zone-card p { font-size:.87rem; color:var(--muted); margin-bottom:.6rem; }

/* SERVICE GRID */
.service-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(140px,1fr)); gap:1rem; margin:1rem 0; }
.service-card { display:flex; flex-direction:column; align-items:center; gap:.5rem; background:var(--bg-light); border:1px solid #e2e8f0; border-radius:var(--radius); padding:1rem .8rem; text-align:center; text-decoration:none; color:var(--text); font-size:.85rem; transition:.2s; }
.service-card:hover { background:var(--primary); color:#fff; border-color:var(--primary); }
.service-card i { font-size:1.4rem; color:var(--green); }
.service-card:hover i { color:#fff; }

/* STATS BAR */
.stats-bar { background:var(--primary); color:#fff; padding:1.5rem 0; }
.stat-item { text-align:center; }
.stat-item .stat-num { font-size:1.8rem; font-weight:800; color:var(--accent); }
.stat-item .stat-label { font-size:.85rem; opacity:.8; }

/* BENEFITS */
.benefits-list { list-style:none; padding:0; }
.benefits-list li { padding:.4rem 0; padding-left:1.5rem; position:relative; }
.benefits-list li::before { content:"✓"; color:var(--green); font-weight:700; position:absolute; left:0; }

/* STEPS */
.steps-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:1.5rem; }
.step-card { background:var(--bg-light); border-radius:var(--radius); padding:1.5rem; text-align:center; }
.step-num { width:48px; height:48px; background:var(--primary); color:#fff; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:1.2rem; font-weight:700; margin:0 auto 1rem; }

/* BREADCRUMB */
.breadcrumb { font-size:.85rem; }

/* FAQ */
.faq-item { border:1px solid #e2e8f0; border-radius:var(--radius); margin-bottom:.8rem; overflow:hidden; }
.faq-question { padding:1rem 1.2rem; font-weight:600; cursor:pointer; display:flex; justify-content:space-between; align-items:center; background:#fff; }
.faq-question:hover { background:var(--bg-light); }
.faq-answer { padding:1rem 1.2rem; background:var(--bg-light); border-top:1px solid #e2e8f0; display:none; }
.faq-item.open .faq-answer { display:block; }
.faq-item.open .faq-icon { transform:rotate(180deg); }
.faq-icon { transition:.2s; }

/* REGION/DEPT CARDS */
.region-card { background:#fff; border:1px solid #e2e8f0; border-radius:var(--radius); padding:1.2rem; text-decoration:none; color:var(--text); display:block; transition:.2s; }
.region-card:hover { border-color:var(--primary); box-shadow:0 4px 16px rgba(15,45,94,.1); }
.region-card .num-badge { background:var(--primary); color:#fff; font-size:.75rem; padding:.15rem .5rem; border-radius:20px; }

footer { color:rgba(255,255,255,.75); }
footer h5 { color:#fff; font-weight:600; margin-bottom:.8rem; font-size:.95rem; }
footer a { text-decoration:none; }
footer a:hover { color:#fff!important; }
