/* =========================================
   SERVICE AREA PAGE — CLEAN MINIMAL DESIGN
   ========================================= */

:root {
    --primary-dark: #0d6efd;
    --text-dark: #111111;
    --text-body: #4a4a4a;
    --text-link: #333333;
    --border-color: #e5e9f0;
    --bg-page: #ffffff;
    --bg-cta: #E4F6FF;
}

* { box-sizing: border-box; }

.service-area-page {
    background: var(--bg-page);
    min-height: 100vh;
}

.container-1200 {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 24px;
}

.text-center { text-align: center; }

/* ─── Header ─────────────────────────────────── */
.sa-header {
    padding: 48px 0 0;
}

.sa-page-title {
    font-size: 32px;
    font-weight: 800;
    color: var(--text-dark);
    margin: 0 0 20px;
}

.sa-divider {
    height: 1px;
    background: var(--border-color);
    margin-bottom: 0;
}

/* ─── Directory Grid ─────────────────────────── */
.sa-directory {
    padding: 40px 0 60px;
}

/* 4-column layout matching screenshot */
.sa-grid {
    column-count: 4;
    column-gap: 40px;
}

.sa-group {
    break-inside: avoid;
    margin-bottom: 28px;
}

/* Bold letter header e.g. "A", "B" */
.sa-letter {
    font-size: 13px;
    font-weight: 800;
    color: var(--text-dark);
    margin-bottom: 4px;
    letter-spacing: 0.2px;
}

/* Area list — no bullets, tight spacing */
.sa-list {
    list-style: none;
    padding: 0;
    margin: 0 0 6px;
}

.sa-list li {
    line-height: 1;
    margin-bottom: 1px;
}

.sa-list a {
    font-size: 14px;
    color: var(--text-link);
    text-decoration: none;
    line-height: 1.7;
    display: block;
    transition: color 0.2s;
}

.sa-list a:hover {
    color: var(--primary-dark);
}

/* ─── CTA Section ────────────────────────────── */
.sa-cta {
    background: var(--bg-cta);
    padding: 70px 0;
}

.sa-cta-title {
    font-size: 32px;
    font-weight: 800;
    color: var(--text-dark);
    margin: 0 0 16px;
}

.sa-cta-title span { color: var(--primary-dark); }

.sa-cta p {
    color: var(--text-body);
    font-size: 16px;
    line-height: 1.7;
    max-width: 560px;
    margin: 0 auto 28px;
}

.btn-primary {
    display: inline-block;
    background: var(--primary-dark);
    color: #fff;
    padding: 13px 32px;
    font-size: 15px;
    font-weight: 700;
    border-radius: 5px;
    text-decoration: none;
    transition: background 0.25s, box-shadow 0.25s;
}

.btn-primary:hover {
    background: #29C3D4;
    box-shadow: 0 4px 12px rgba(5,158,255,0.3);
    color: #000;
}

/* ─── Responsive ─────────────────────────────── */
@media (max-width: 1024px) {
    .sa-grid { column-count: 3; }
}

@media (max-width: 768px) {
    .sa-grid { column-count: 2; }
    .sa-page-title { font-size: 26px; }
    .sa-cta-title { font-size: 26px; }
}

@media (max-width: 480px) {
    .sa-grid { column-count: 1; }
}