/*
 * ═══════════════════════════════════════════════════════════
 * RUTANGOV COMPONENTS CSS — v3.1.0
 * Semua class UI terpisah dari main.css agar mudah maintenance
 * ═══════════════════════════════════════════════════════════
 */

/* ─────────────────────────────────────────
   1. SHARED PAGE STRUCTURE
   ───────────────────────────────────────── */

/* Archive / page wrapper */
.rg-page           { background:#f8f9fb; padding:40px 0 64px; }
.rg-page--white    { background:#fff; padding:40px 0 64px; }

/* Section divider label */
.rg-section-label {
  display:flex; align-items:center; gap:10px;
  font-size:.76rem; font-weight:800;
  letter-spacing:.12em; text-transform:uppercase;
  color:#0d1b2e; margin:32px 0 16px;
}
.rg-section-label::before {
  content:''; width:3px; height:18px;
  background:#f5a623; border-radius:2px; flex-shrink:0;
}
.rg-section-label i { color:#f5a623; }

/* CTA Hubungi section bawah halaman */
.rg-cta {
  background:linear-gradient(135deg,#0d1b2e 0%,#1a2d4a 100%);
  border-radius:16px; padding:32px;
  display:flex; align-items:center;
  justify-content:space-between; gap:20px;
  flex-wrap:wrap; margin-top:48px;
}
.rg-cta__text h3 {
  font-family:var(--font-heading);
  font-size:1.1rem; font-weight:800;
  color:#fff; margin-bottom:4px;
}
.rg-cta__text p { font-size:.84rem; color:rgba(255,255,255,.6); margin:0; }
.rg-cta__actions { display:flex; gap:10px; flex-wrap:wrap; }
.rg-cta__btn {
  display:inline-flex; align-items:center; gap:7px;
  padding:11px 20px; border-radius:9px;
  font-size:.84rem; font-weight:700; text-decoration:none;
  transition:all .2s;
}
.rg-cta__btn--primary {
  background:#f5a623; color:#fff;
  box-shadow:0 2px 8px rgba(245,166,35,.35);
}
.rg-cta__btn--primary:hover { background:#e8950d; transform:translateY(-1px); }
.rg-cta__btn--outline {
  background:transparent; color:rgba(255,255,255,.85);
  border:1.5px solid rgba(255,255,255,.3);
}
.rg-cta__btn--outline:hover { border-color:#fff; color:#fff; }
.rg-cta__btn--wa {
  background:linear-gradient(135deg,#25d366,#128c7e); color:#fff;
}

/* Related content grid */
.rg-related { margin-top:48px; padding-top:32px; border-top:1px solid #edf0f5; }
.rg-related__grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:16px; }

/* ─────────────────────────────────────────
   2. STAT BOXES (profil, transparansi, dll)
   ───────────────────────────────────────── */
.rg-stats { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin:24px 0; }
.rg-stat {
  border-radius:14px; padding:20px 16px;
  text-align:center; position:relative; overflow:hidden;
}
.rg-stat--blue   { background:linear-gradient(135deg,#ebf4ff,#dbeafe); border:1px solid #bfdbfe; }
.rg-stat--gold   { background:linear-gradient(135deg,#fffbeb,#fef3c7); border:1px solid #fde68a; }
.rg-stat--green  { background:linear-gradient(135deg,#ecfdf5,#d1fae5); border:1px solid #a7f3d0; }
.rg-stat--purple { background:linear-gradient(135deg,#eef2ff,#e0e7ff); border:1px solid #c7d2fe; }
/* Dark variants for transparansi */
.rg-stat--d-navy   { background:linear-gradient(135deg,#0d1b2e,#1a3a6b); }
.rg-stat--d-gold   { background:linear-gradient(135deg,#92400e,#d97706); }
.rg-stat--d-green  { background:linear-gradient(135deg,#064e3b,#059669); }
.rg-stat--d-purple { background:linear-gradient(135deg,#312e81,#6366f1); }
.rg-stat--d-navy .rg-stat__num,
.rg-stat--d-gold .rg-stat__num,
.rg-stat--d-green .rg-stat__num,
.rg-stat--d-purple .rg-stat__num  { color:#fff; }
.rg-stat--d-navy .rg-stat__lbl,
.rg-stat--d-gold .rg-stat__lbl,
.rg-stat--d-green .rg-stat__lbl,
.rg-stat--d-purple .rg-stat__lbl { color:rgba(255,255,255,.85); }
.rg-stat--d-navy .rg-stat__sub,
.rg-stat--d-gold .rg-stat__sub,
.rg-stat--d-green .rg-stat__sub,
.rg-stat--d-purple .rg-stat__sub { color:rgba(255,255,255,.55); }

.rg-stat__icon {
  width:40px; height:40px; border-radius:10px;
  display:flex; align-items:center; justify-content:center;
  font-size:1.1rem; margin:0 auto 10px;
}
.rg-stat--blue   .rg-stat__icon { background:#3b82f6; color:#fff; }
.rg-stat--gold   .rg-stat__icon { background:#f5a623; color:#fff; }
.rg-stat--green  .rg-stat__icon { background:#10b981; color:#fff; }
.rg-stat--purple .rg-stat__icon { background:#6366f1; color:#fff; }
.rg-stat--d-navy .rg-stat__icon,
.rg-stat--d-gold .rg-stat__icon,
.rg-stat--d-green .rg-stat__icon,
.rg-stat--d-purple .rg-stat__icon { background:rgba(255,255,255,.15); color:#fff; }

.rg-stat__num { font-size:1.9rem; font-weight:900; line-height:1; margin-bottom:5px; color:#0d1b2e; }
.rg-stat__lbl { font-size:.8rem; font-weight:700; color:#374151; }
.rg-stat__sub { font-size:.72rem; color:#64748b; margin-top:3px; }

/* ─────────────────────────────────────────
   3. INFO CARD GRID (profil highlights)
   ───────────────────────────────────────── */
.rg-info-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:12px; margin:24px 0; }
.rg-info-card {
  display:flex; align-items:center; gap:14px;
  padding:16px 18px;
  background:linear-gradient(135deg,#fff,#f8fafd);
  border:1.5px solid #edf0f5; border-radius:14px;
  text-decoration:none; transition:all .22s;
}
.rg-info-card:hover {
  border-color:#f5a623;
  background:linear-gradient(135deg,#fffbeb,#fef9f0);
  transform:translateY(-2px);
  box-shadow:0 4px 16px rgba(245,166,35,.12);
}
.rg-info-card__icon {
  width:44px; height:44px;
  background:linear-gradient(135deg,#0d1b2e,#1a2d4a);
  border-radius:11px; display:flex; align-items:center;
  justify-content:center; color:#f5a623;
  font-size:1.1rem; flex-shrink:0;
}
.rg-info-card__body { flex:1; display:flex; flex-direction:column; gap:2px; }
.rg-info-card__body strong { font-size:.86rem; font-weight:700; color:#0d1b2e; }
.rg-info-card__body small  { font-size:.74rem; color:#64748b; }
.rg-info-card__arrow { color:#cbd5e0; font-size:.8rem; transition:all .2s; }
.rg-info-card:hover .rg-info-card__arrow { color:#f5a623; transform:translateX(3px); }

/* ─────────────────────────────────────────
   4. VISI MISI BOXES
   ───────────────────────────────────────── */
.rg-vm { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:24px; }
.rg-vm__box { border-radius:16px; padding:24px; }
.rg-vm__box--visi {
  grid-column:span 2;
  background:linear-gradient(135deg,#0d1b2e,#1a2d4a);
}
.rg-vm__box--misi {
  background:linear-gradient(135deg,#ecfdf5,#d1fae5);
  border:1px solid #a7f3d0;
}
.rg-vm__box--nilai {
  background:linear-gradient(135deg,#fffbeb,#fef3c7);
  border:1px solid #fde68a;
}
.rg-vm__head {
  font-size:.72rem; font-weight:800; letter-spacing:.12em;
  text-transform:uppercase; display:flex; align-items:center;
  gap:8px; margin-bottom:14px;
}
.rg-vm__box--visi  .rg-vm__head { color:#f5a623; }
.rg-vm__box--misi  .rg-vm__head { color:#065f46; }
.rg-vm__box--nilai .rg-vm__head { color:#92400e; }
.rg-vm__box--visi .rg-vm__text {
  font-size:1.05rem; font-style:italic;
  color:rgba(255,255,255,.88); line-height:1.7;
}
.rg-vm__misi-list { padding-left:18px; margin:0; }
.rg-vm__misi-list li { font-size:.85rem; color:#064e3b; line-height:1.65; margin-bottom:6px; }
.rg-vm__nilai-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.rg-vm__nilai-item {
  display:flex; flex-direction:column; align-items:center;
  text-align:center; gap:4px; padding:12px 8px;
  background:rgba(255,255,255,.6); border-radius:10px;
}
.rg-vm__nilai-item i      { color:#f5a623; font-size:1.2rem; }
.rg-vm__nilai-item strong { font-size:.82rem; color:#0d1b2e; }
.rg-vm__nilai-item small  { font-size:.72rem; color:#64748b; }

/* ─────────────────────────────────────────
   5. DOC CARD GRID (transparansi)
   ───────────────────────────────────────── */
.rg-doc-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.rg-doc-card {
  display:flex; align-items:center; gap:12px;
  padding:14px 16px;
  background:linear-gradient(135deg,#fff,#f8fafd);
  border:1.5px solid #edf0f5; border-radius:12px;
  text-decoration:none; transition:all .22s;
}
.rg-doc-card:hover {
  border-color:#f5a623;
  background:linear-gradient(135deg,#fffbeb,#fef9f0);
  transform:translateY(-2px);
  box-shadow:0 4px 16px rgba(245,166,35,.1);
}
.rg-doc-card__icon {
  width:38px; height:38px; border-radius:9px;
  background:linear-gradient(135deg,#0d1b2e,#1a2d4a);
  display:flex; align-items:center; justify-content:center;
  color:#f5a623; font-size:.95rem; flex-shrink:0;
}
.rg-doc-card__body { flex:1; display:flex; flex-direction:column; gap:2px; }
.rg-doc-card__body strong { font-size:.82rem; font-weight:700; color:#0d1b2e; }
.rg-doc-card__body span   { font-size:.7rem; color:#94a3b8; font-weight:600; letter-spacing:.04em; }
.rg-doc-card i.rg-doc-card__dl { color:#cbd5e0; font-size:.82rem; }
.rg-doc-card:hover .rg-doc-card__dl { color:#f5a623; }

/* ─────────────────────────────────────────
   6. SERVICE CARDS (layanan)
   ───────────────────────────────────────── */
.rg-service-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.rg-service-card {
  background:linear-gradient(160deg,#fff 0%,#f8fafd 100%);
  border:1.5px solid #edf0f5; border-radius:16px;
  overflow:hidden; display:flex; flex-direction:column;
  box-shadow:0 2px 12px rgba(0,0,0,.06);
  transition:transform .25s,box-shadow .25s;
}
.rg-service-card:hover { transform:translateY(-4px); box-shadow:0 10px 32px rgba(0,0,0,.11); }
.rg-service-card__head {
  background:linear-gradient(135deg,#0d1b2e,#1a2d4a);
  padding:24px; display:flex; align-items:center; justify-content:center;
}
.rg-service-card__icon-box {
  width:56px; height:56px; background:rgba(245,166,35,.15);
  border-radius:14px; display:flex; align-items:center;
  justify-content:center;
}
.rg-service-card__icon-box i { font-size:1.5rem; color:#f5a623; }
.rg-service-card__icon-box img { width:56px; height:56px; object-fit:cover; border-radius:12px; }
.rg-service-card__body { padding:18px 20px; flex:1; display:flex; flex-direction:column; gap:8px; }
.rg-service-card__title { font-family:var(--font-heading); font-size:.96rem; font-weight:700; color:#0d1b2e; margin:0; letter-spacing:-.01em; }
.rg-service-card__title a { color:inherit; text-decoration:none; }
.rg-service-card__title a:hover { color:#f5a623; }
.rg-service-card__desc { font-size:.82rem; color:#64748b; line-height:1.65; flex:1; }
.rg-service-card__meta { display:flex; flex-wrap:wrap; gap:6px; }
.rg-service-card__meta span {
  font-size:.74rem; color:#475569;
  background:#f0f4f8; padding:3px 10px;
  border-radius:99px; display:flex; align-items:center; gap:4px;
}
.rg-service-card__meta i { color:#f5a623; }
.rg-service-card__cta {
  display:flex; align-items:center; justify-content:space-between;
  padding:13px 20px; background:#f8fafd; border-top:1px solid #edf0f5;
  font-size:.82rem; font-weight:700; color:#f5a623;
  text-decoration:none; transition:background .2s;
}
.rg-service-card__cta:hover { background:#f5a623; color:#fff; }

/* ─────────────────────────────────────────
   7. PROGRAM CARDS
   ───────────────────────────────────────── */
.rg-program-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.rg-program-card {
  background:linear-gradient(160deg,#fff,#f8fafd);
  border:1.5px solid #edf0f5; border-radius:16px;
  overflow:hidden; display:flex; flex-direction:column;
  box-shadow:0 2px 12px rgba(0,0,0,.06);
  transition:transform .25s,box-shadow .25s;
}
.rg-program-card:hover { transform:translateY(-4px); box-shadow:0 10px 32px rgba(0,0,0,.11); }
.rg-program-card__img { display:block; overflow:hidden; aspect-ratio:16/9; }
.rg-program-card__img img { width:100%; height:100%; object-fit:cover; transition:transform .4s; }
.rg-program-card:hover .rg-program-card__img img { transform:scale(1.04); }
.rg-program-card__placeholder {
  aspect-ratio:16/9; background:linear-gradient(135deg,#0d1b2e,#1a2d4a);
  display:flex; align-items:center; justify-content:center;
}
.rg-program-card__placeholder i { font-size:2rem; color:rgba(245,166,35,.5); }
.rg-program-card__body { padding:16px 18px; flex:1; display:flex; flex-direction:column; gap:6px; }
.rg-program-card__cat { font-size:.68rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:#f5a623; }
.rg-program-card__title { font-family:var(--font-heading); font-size:.93rem; font-weight:700; color:#0d1b2e; margin:0; }
.rg-program-card__title a { color:inherit; text-decoration:none; }
.rg-program-card__title a:hover { color:#f5a623; }
.rg-program-card__desc { font-size:.81rem; color:#64748b; line-height:1.6; flex:1; }
.rg-program-card__cta {
  display:flex; align-items:center; justify-content:space-between;
  padding:12px 18px; background:#f8fafd; border-top:1px solid #edf0f5;
  font-size:.8rem; font-weight:700; color:#f5a623;
  text-decoration:none; transition:background .2s;
}
.rg-program-card__cta:hover { background:#f5a623; color:#fff; }

/* ─────────────────────────────────────────
   8. CONTACT WAYS
   ───────────────────────────────────────── */
.rg-contact-ways { display:grid; grid-template-columns:1fr; gap:12px; }
.rg-contact-way {
  display:flex; align-items:center; gap:16px;
  padding:16px 20px; border-radius:14px;
  text-decoration:none; transition:all .22s;
  border:1.5px solid transparent;
}
.rg-contact-way--blue  { background:linear-gradient(135deg,#ebf4ff,#dbeafe); border-color:#bfdbfe; }
.rg-contact-way--gold  { background:linear-gradient(135deg,#fffbeb,#fef3c7); border-color:#fde68a; }
.rg-contact-way--green { background:linear-gradient(135deg,#ecfdf5,#d1fae5); border-color:#a7f3d0; }
.rg-contact-way--red   { background:linear-gradient(135deg,#fff5f5,#fed7d7); border-color:#feb2b2; }
.rg-contact-way:hover  { transform:translateX(4px); box-shadow:0 4px 16px rgba(0,0,0,.08); }
.rg-contact-way__icon {
  width:44px; height:44px; border-radius:12px;
  display:flex; align-items:center; justify-content:center;
  font-size:1.1rem; flex-shrink:0;
}
.rg-contact-way--blue  .rg-contact-way__icon { background:#3b82f6; color:#fff; }
.rg-contact-way--gold  .rg-contact-way__icon { background:#f5a623; color:#fff; }
.rg-contact-way--green .rg-contact-way__icon { background:#10b981; color:#fff; }
.rg-contact-way--red   .rg-contact-way__icon { background:#e53e3e; color:#fff; }
.rg-contact-way__body { flex:1; display:flex; flex-direction:column; gap:2px; }
.rg-contact-way__body strong { font-size:.88rem; font-weight:700; color:#0d1b2e; }
.rg-contact-way__body span   { font-size:.8rem; color:#475569; }
.rg-contact-way__arrow { color:#cbd5e0; font-size:.8rem; transition:all .2s; }
.rg-contact-way:hover .rg-contact-way__arrow { color:#f5a623; transform:translateX(3px); }

/* ─────────────────────────────────────────
   9. SEARCH PAGE
   ───────────────────────────────────────── */
.rg-search-form {
  display:flex; gap:0; max-width:540px;
  background:#fff; border:2px solid #edf0f5;
  border-radius:10px; overflow:hidden;
  margin:20px 0;
}
.rg-search-form input[type="search"] {
  flex:1; border:none; outline:none;
  padding:12px 16px; font-size:.9rem;
  color:#0d1b2e; font-family:var(--font-body);
  background:transparent;
}
.rg-search-form button {
  background:#f5a623; border:none; color:#fff;
  padding:0 20px; cursor:pointer; font-size:1rem;
  transition:background .2s;
}
.rg-search-form button:hover { background:#e8950d; }
.rg-search-stat {
  font-size:.84rem; color:#64748b;
  padding:12px 16px; background:#f8f9fb;
  border-radius:8px; margin-bottom:24px;
  display:flex; align-items:center; gap:8px;
  border:1px solid #edf0f5;
}
.rg-search-stat i { color:#f5a623; }
.rg-search-empty {
  text-align:center; padding:72px 24px;
  background:#fff; border-radius:16px;
  border:2px dashed #e2e8f0;
}
.rg-search-empty i { font-size:3.5rem; color:#cbd5e0; display:block; margin-bottom:16px; }
.rg-search-empty h3 { font-family:var(--font-heading); color:#0d1b2e; margin-bottom:8px; font-size:1.2rem; }
.rg-search-empty p { color:#718096; margin-bottom:24px; font-size:.88rem; }

/* ─────────────────────────────────────────
   10. 404 PAGE
   ───────────────────────────────────────── */
.rg-404 {
  text-align:center; padding:80px 24px;
  max-width:560px; margin:0 auto;
}
.rg-404__num {
  font-family:var(--font-heading); font-size:8rem;
  font-weight:900; color:#f5a623; line-height:1;
  margin-bottom:8px;
  text-shadow:0 4px 24px rgba(245,166,35,.25);
}
.rg-404__title { font-size:1.5rem; font-weight:800; color:#0d1b2e; margin-bottom:8px; }
.rg-404__desc  { font-size:.9rem; color:#64748b; margin-bottom:28px; line-height:1.7; }
.rg-404__links { display:flex; justify-content:center; gap:10px; flex-wrap:wrap; margin-top:28px; }

/* ─────────────────────────────────────────
   11. STRUKTUR ORGANISASI (org chart)
   ───────────────────────────────────────── */
.rg-org { margin:32px 0; }
.rg-org__level { display:flex; justify-content:center; gap:20px; position:relative; }
.rg-org__connector {
  display:flex; justify-content:center;
  height:30px; position:relative;
}
.rg-org__connector::before {
  content:''; position:absolute;
  top:0; left:50%; transform:translateX(-50%);
  width:2px; height:100%; background:#f5a623;
}
.rg-org__hline {
  height:2px; background:#f5a623;
  margin:0 auto; max-width:780px;
}
.rg-org__box {
  background:#fff; border:1.5px solid #edf0f5;
  border-radius:14px; padding:20px;
  min-width:200px; max-width:230px;
  box-shadow:0 2px 12px rgba(0,0,0,.06);
  text-align:center; transition:all .25s;
  position:relative;
}
.rg-org__box:hover { transform:translateY(-2px); box-shadow:0 6px 24px rgba(0,0,0,.1); }
.rg-org__box--kepala { border-color:#f5a623; border-width:2px; }
.rg-org__box-photo {
  width:64px; height:64px; border-radius:50%;
  background:#f0f4f8; display:flex; align-items:center;
  justify-content:center; font-size:1.8rem; color:#f5a623;
  margin:0 auto 12px; overflow:hidden;
}
.rg-org__box-photo img { width:100%; height:100%; object-fit:cover; }
.rg-org__box strong { display:block; font-size:.86rem; font-weight:700; color:#0d1b2e; margin-bottom:3px; }
.rg-org__box span   { display:block; font-size:.76rem; color:#64748b; line-height:1.45; }
.rg-org__box small  { display:block; font-size:.7rem; color:#f5a623; margin-top:6px; }
.rg-org__branch-line {
  position:absolute; top:-20px; left:50%;
  transform:translateX(-50%);
  width:2px; height:20px; background:#f5a623;
}

.rg-staff-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:14px; margin-top:16px; }
.rg-staff-card {
  display:flex; align-items:center; gap:14px;
  padding:14px 16px;
  background:linear-gradient(135deg,#fff,#f8fafd);
  border:1px solid #edf0f5; border-radius:12px;
  transition:all .2s;
}
.rg-staff-card:hover { border-color:#f5a623; transform:translateY(-1px); }
.rg-staff-card__icon {
  width:44px; height:44px;
  background:rgba(245,166,35,.1); border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  color:#f5a623; flex-shrink:0; font-size:1rem;
}
.rg-staff-card strong { display:block; font-size:.86rem; font-weight:700; color:#0d1b2e; }
.rg-staff-card span   { display:block; font-size:.76rem; color:#64748b; }

/* ─────────────────────────────────────────
   12. FOOTER RINGKAS MOBILE
   ───────────────────────────────────────── */
@media (max-width: 768px) {
  .site-footer__container {
    grid-template-columns:1fr !important;
    gap:28px !important;
  }
  .footer-col--contact .footer-info li { font-size:.8rem; }
  .site-footer__top { padding:40px 0 32px !important; }
}
@media (max-width: 480px) {
  .footer-copy, .footer-gov-tag { font-size:.72rem !important; }
  .site-footer__bottom-inner { flex-direction:column !important; text-align:center !important; gap:4px !important; }
}

/* ─────────────────────────────────────────
   13. RESPONSIVE ALL GRIDS
   ───────────────────────────────────────── */
@media (max-width: 900px) {
  .rg-stats              { grid-template-columns:1fr 1fr; }
  .rg-info-grid          { grid-template-columns:1fr; }
  .rg-vm                 { grid-template-columns:1fr; }
  .rg-vm__box--visi      { grid-column:span 1; }
  .rg-doc-grid           { grid-template-columns:1fr 1fr; }
  .rg-service-grid       { grid-template-columns:1fr 1fr; }
  .rg-program-grid       { grid-template-columns:1fr 1fr; }
  .rg-related__grid      { grid-template-columns:1fr 1fr; }
  .rg-org__level         { flex-direction:column; align-items:center; }
  .rg-org__hline         { display:none; }
  .rg-org__box           { min-width:unset; width:100%; max-width:280px; }
}
@media (max-width: 600px) {
  .rg-stats              { grid-template-columns:1fr 1fr; }
  .rg-doc-grid           { grid-template-columns:1fr; }
  .rg-service-grid       { grid-template-columns:1fr; }
  .rg-program-grid       { grid-template-columns:1fr; }
  .rg-related__grid      { grid-template-columns:1fr; }
  .rg-vm__nilai-grid     { grid-template-columns:1fr 1fr; }
  .rg-cta                { flex-direction:column; text-align:center; }
  .rg-cta__actions       { justify-content:center; }
}
@media (max-width: 480px) {
  .rg-stats              { grid-template-columns:1fr 1fr; gap:10px; }
  .rg-staff-grid         { grid-template-columns:1fr; }
}

/* ─────────────────────────────────────────
   14. MISC UTILITIES (replaces last inline styles)
   ───────────────────────────────────────── */
.rg-mt-28 { margin-top: 28px; }
.rg-contact-map { margin-top: 28px; }
.rg-contact-map__directions {
  margin-top: 10px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.rg-page-prose-gap { margin-top: 28px; }

/* Org chart level gap override */
.rg-org__level + .rg-org__level { margin-top: 40px; }

/* Service stats bar on archive */
.service-stats-bar--archive { margin-bottom: 28px; }

/* rg-program-card image responsive */
.rg-program-card__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
