/* Shared package detail modal: centered, full-content, responsive on home and services pages. */
#pkgDetailModal.modal-overlay.active {
  align-items: center;
  justify-content: center;
  padding: 16px;
  overflow: hidden;
}
#pkgDetailModal .modal-sheet {
  display: flex;
  flex-direction: column;
  width: min(100%, 520px);
  max-width: 520px;
  max-height: min(88vh, 760px);
  min-height: 0;
  margin: auto;
  padding: 22px 22px 18px;
  overflow: hidden;
  border: 1px solid rgba(36, 30, 53, .1);
  border-radius: 20px;
  background: #fffefa;
  box-shadow: 0 24px 70px rgba(20, 16, 34, .24);
  box-sizing: border-box;
}
#pkgDetailModal .modal-header {
  flex: 0 0 auto;
  align-items: center;
  gap: 14px;
  margin: 0;
  padding: 0 0 14px;
}
#pkgDetailModal .modal-header h3 {
  flex: 1 1 auto;
  min-width: 0;
  color: #241e35;
  font: 700 clamp(20px, 4vw, 25px)/1.2 Manrope, Arial, sans-serif;
  letter-spacing: -.025em;
  overflow-wrap: anywhere;
}
#pkgDetailModal .modal-close {
  flex: 0 0 36px;
  width: 36px;
  height: 36px;
}
#pkgDetailModal #modalPkgContent {
  flex: 1 1 auto;
  min-height: 0;
  margin: 14px 0;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
}
#pkgDetailModal .pkg-detail-price {
  margin: 0 0 14px !important;
  padding: 13px 15px;
  border: 1px solid rgba(84, 69, 112, .1);
  border-radius: 12px;
  background: #ebe7f3;
  color: #342a4b !important;
  font-size: clamp(21px, 5vw, 25px) !important;
  line-height: 1.2;
}
#pkgDetailModal .pkg-detail-list {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin: 0;
  padding: 0 !important;
  color: #5f5a6b !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
  list-style: none;
}
#pkgDetailModal .pkg-detail-list li {
  position: relative;
  padding: 9px 4px 9px 27px;
  border-bottom: 1px solid #eeebf0;
  overflow-wrap: anywhere;
}
#pkgDetailModal .pkg-detail-list li::before {
  position: absolute;
  top: 9px;
  left: 3px;
  color: #6f7847;
  font-size: 14px;
  font-weight: 800;
  content: '✓';
}
#pkgDetailModal .modal-sheet > .btn-gold {
  flex: 0 0 auto;
  width: 100%;
  min-height: 48px;
  margin: 0;
  padding: 12px 16px;
  border-radius: 12px;
  font-size: 14px;
  line-height: 1.35;
  white-space: normal;
}
@media (max-width: 600px) {
  #pkgDetailModal.modal-overlay.active { padding: 10px; }
  #pkgDetailModal .modal-sheet {
    width: 100%;
    max-width: 520px;
    max-height: min(88dvh, 760px);
    padding: 19px 16px calc(15px + env(safe-area-inset-bottom, 0px));
    border-radius: 18px;
  }
  #pkgDetailModal .modal-header { padding-bottom: 12px; }
  #pkgDetailModal #modalPkgContent { margin: 12px 0; }
  #pkgDetailModal .pkg-detail-list { font-size: 13px !important; }
}
@media (max-width: 360px) {
  #pkgDetailModal.modal-overlay.active { padding: 8px; }
  #pkgDetailModal .modal-sheet { padding-right: 13px; padding-left: 13px; }
  #pkgDetailModal .pkg-detail-list li { padding-top: 8px; padding-bottom: 8px; }
  #pkgDetailModal .pkg-detail-list li::before { top: 8px; }
}

/* Quick-win SEO content blocks */
.site-area-links{margin:28px 20px;padding:22px 20px;border:1px solid var(--line,#e5e1d8);border-radius:16px;background:#fffefa;box-shadow:0 5px 18px rgba(36,30,53,.045)}
.site-area-links h2{margin:5px 0 8px;color:var(--green-950,#12344a);font-size:clamp(22px,3vw,30px);line-height:1.15}
.site-area-links p{margin:0 0 15px;color:var(--muted,#617180);font-size:13px;line-height:1.6}
.site-area-links__list{display:flex;flex-wrap:wrap;gap:8px}
.site-area-links__list a{display:inline-flex;padding:9px 12px;border:1px solid rgba(84,69,112,.18);border-radius:999px;background:#f6f4fa;color:var(--green-800,#0c563e);font-size:12px;font-weight:700;text-decoration:none}
.site-area-links__list a:hover{border-color:var(--gold,#d4af37);background:#fff8dc}
.service-faq{margin-top:0}
@media(max-width:600px){.site-area-links{margin:22px 14px;padding:18px 15px}.site-area-links h2{font-size:22px}.site-area-links p{font-size:12px}.site-area-links__list a{font-size:11px;padding:8px 10px}}
