body { color: #1d2730; background: #fff; }
.navbar-brand { letter-spacing: -.02em; }
.py-lg-6 { padding-top: 6rem !important; padding-bottom: 6rem !important; }
.placeholder-photo { min-height: 520px; background: linear-gradient(145deg,#e9ecef,#dfe5e9); }
.map-placeholder { min-height: 330px; background: #e9ecef; }
.service-card { transition: transform .15s ease, box-shadow .15s ease; border-color: rgba(0,0,0,.08); }
.service-card:hover { transform: translateY(-3px); box-shadow: 0 .75rem 2rem rgba(0,0,0,.08); }
.article-hero { height: min(62vh, 640px); min-height: 420px; }
.article-hero-overlay { background: linear-gradient(90deg,rgba(8,20,32,.78),rgba(8,20,32,.20)); }
.article-content { font-size: 1.075rem; line-height: 1.75; }
.article-content h2 { margin-top: 2.5rem; margin-bottom: 1rem; }
.article-content h3 { margin-top: 2rem; }
.article-content img { max-width: 100%; height: auto; border-radius: .75rem; }
.article-content table { width: 100%; margin: 1.5rem 0; }
.article-content th,.article-content td { padding: .65rem; border: 1px solid #dee2e6; }
.article-note { padding: 1rem 1.25rem; border-left: .25rem solid var(--bs-primary); background: var(--bs-light); margin: 1.5rem 0; }
@media (max-width: 991.98px) { .placeholder-photo { min-height: 380px; } .article-hero { min-height: 360px; } }
