/* Compact disclosures inherit the site's existing type and color system. */
.service-guide { margin: 0; padding: 40px max(176px, calc((100vw - 1224px) / 2)) 56px max(48px, calc((100vw - 1480px) / 2)); background: var(--paper); color: var(--ink); scroll-margin-top: 100px; }
.guide-group:first-child { border-top: 1px solid #aab29f; }
.guide-group { border-bottom: 1px solid #cdd3c5; scroll-margin-top: 100px; }
.guide-group > summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 64px; padding: 18px 4px; cursor: pointer; font-size: 17px; font-weight: 650; list-style: none; }
.guide-group > summary::-webkit-details-marker { display: none; }
.guide-group > summary:hover { color: #365516; }
.guide-toggle { position: relative; flex: 0 0 20px; width: 20px; height: 20px; }
.guide-toggle::before, .guide-toggle::after { content: ''; position: absolute; background: currentColor; }
.guide-toggle::before { width: 14px; height: 2px; left: 3px; top: 9px; }
.guide-toggle::after { height: 14px; width: 2px; left: 9px; top: 3px; }
.guide-group[open] > summary .guide-toggle::after { display: none; }
.guide-group[open] > summary { color: var(--ink); }
.guide-body { max-width: 900px; padding: 4px 4px 32px; font-size: 16px; line-height: 1.85; overflow-wrap: anywhere; }
.guide-body p { margin: 12px 0 20px; color: #4d5548; }
.guide-body ul { margin: 12px 0 24px; padding-left: 22px; }
.guide-body li { margin: 0 0 12px; }
.guide-pricing { scroll-margin-top: 100px; padding-bottom: 24px; }
.guide-pricing dl { margin: 24px 0; }
.guide-price-row { padding: 20px 0; border-top: 1px solid #cdd3c5; }
.guide-price-row dt { display: flex; justify-content: space-between; align-items: baseline; gap: 18px; font-weight: 650; }
.guide-price-row dt strong { color: #365516; white-space: nowrap; font-size: 23px; }
.guide-price-row dd { margin: 8px 0 0; }
.guide-price-row dd p { margin: 4px 0 0; font-size: 14px; }
.guide-body h3 { margin: 16px 0 12px; font-size: 23px; line-height: 1.45; letter-spacing: -.03em; }
.guide-body h4 { margin: 24px 0 0; font-size: 16px; }
.guide-service { padding: 16px 0 20px; scroll-margin-top: 100px; }
.guide-service + .guide-service { border-top: 1px solid #dce1d6; }
.guide-links { display: flex; flex-wrap: wrap; gap: 8px 24px; padding: 4px 0 16px; }
.guide-links a { display: inline-flex; align-items: center; min-height: 44px; text-decoration: underline; text-underline-offset: 5px; }
.guide-cta { display: inline-flex; align-items: center; gap: 24px; min-height: 48px; margin-top: 12px; padding: 10px 18px; background: var(--brand); color: var(--ink); font-weight: 650; }
.guide-question { border-bottom: 1px solid #dce1d6; scroll-margin-top: 100px; }
.guide-question > summary { padding: 18px 0; cursor: pointer; font-weight: 650; line-height: 1.6; }
.guide-question > summary::marker { color: #365516; }
.guide-question > p { padding-left: 18px; }
.guide-footer-link { text-decoration: underline; text-underline-offset: 4px; }
@media (max-width: 900px) {
  .service-guide { padding: 28px 22px 40px; }
}
@media (max-width: 600px) {
  .guide-group > summary { font-size: 16px; min-height: 60px; }
  .guide-body { font-size: 15px; padding-bottom: 24px; }
  .guide-body h3 { font-size: 21px; }
  .guide-links { gap: 4px 18px; }
}
