/* Topic-specific guides, shared readable components and accessible comparison blocks. */
.heritage-guide .heritage-hero { margin-bottom: 1.5rem; }
.heritage-guide .guide-columns { grid-template-columns: minmax(0,2.6fr) minmax(14rem,1fr); }
.heritage-guide #center .guide-content { border-radius: 1rem; padding: clamp(1.15rem,3vw,2rem) !important; line-height: 1.8; }
.heritage-guide #center .guide-content .service-guide-intro { margin: 0; padding: .15rem 0 1.2rem; color: #284462; font: 400 clamp(1.03rem,1.6vw,1.16rem)/1.7 var(--heritage-body); }
.guide-jump-nav { display: flex; flex-wrap: wrap; gap: .25rem .85rem; padding: .65rem 0; border-block: 1px solid var(--heritage-line); margin: .3rem 0 1.6rem; }
.guide-jump-nav a { display: inline-flex; align-items: center; min-height: 44px; max-width: 100%; padding: .25rem 0; font: 650 .82rem/1.45 var(--heritage-body); }
.guide-route-map { margin: 0 0 2rem; padding: 1.2rem; border: 1px solid #d5dfed; border-radius: .7rem; background: #edf2f8; }
.heritage-guide #center .guide-content .guide-map-title { margin: 0 0 1rem; padding: 0; color: var(--heritage-navy); font-weight: 750; line-height: 1.45; }
.guide-route-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; }
.heritage-guide #center .guide-route { display: flex; flex-direction: column; align-items: flex-start; gap: .35rem; min-width: 0; color: var(--heritage-navy); text-decoration: none; }
.guide-route svg { display: block; width: 38px; height: 38px; margin-bottom: .45rem; color: var(--heritage-red); }
.guide-route strong { font-size: .88rem; line-height: 1.4; }
.guide-route span { color: #425b76; font-size: .82rem; line-height: 1.55; }
.guide-route:hover strong { text-decoration: underline; text-underline-offset: .2rem; }
.heritage-guide #center .guide-content > section { padding-top: 1.5rem; margin-top: 1.8rem; border-top: 1px solid var(--heritage-line); scroll-margin-top: 1.2rem; }
.heritage-guide #center .guide-content h2 { padding: 0; margin: 0 0 .8rem; font: 750 clamp(1.4rem,2.3vw,1.85rem)/1.2 var(--heritage-display); letter-spacing: -.025em; border: 0; }
.heritage-guide #center .guide-content h3 { margin-top: 1rem; font: 700 1.05rem/1.4 var(--heritage-display); }
.heritage-guide #center .guide-content p { padding: .4rem 0; }
.guide-table-wrap { width: 100%; margin: 1.2rem 0; overflow-x: auto; border: 1px solid #c8d5e5; border-radius: .55rem; background: white; }
.guide-table-wrap:focus-visible { outline: 3px solid var(--heritage-red); outline-offset: 3px; }
.guide-content table { width: 100%; border-collapse: collapse; table-layout: auto; color: var(--heritage-ink); font: .9rem/1.65 var(--heritage-body); }
.guide-content caption { padding: .85rem 1rem; background: #eaf0f7; color: var(--heritage-navy); font-weight: 750; text-align: left; }
.guide-content th, .guide-content td { vertical-align: top; padding: .85rem .9rem; border-top: 1px solid var(--heritage-line); text-align: left; overflow-wrap: normal; }
.guide-content thead th { background: #f5f7fa; color: var(--heritage-navy); font-size: .83rem; line-height: 1.5; }
.guide-content tbody th { width: 24%; font-size: .86rem; color: var(--heritage-navy); }
.guide-content tbody tr:nth-child(even) { background: #f8fafd; }
.guide-choices { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; margin: 1rem 0; }
.guide-choices > div, .guide-choices > article { min-width: 0; padding: 1.1rem; border: 1px solid var(--heritage-line); border-radius: .6rem; background: #f4f7fb; }
.heritage-guide #center .guide-choices h3 { margin: 0 0 .35rem; }
.guide-callout { margin: 1.15rem 0; padding: 1.1rem 1.25rem; border-left: 3px solid var(--heritage-red); border-radius: 0 .5rem .5rem 0; background: #edf2f8; }
.heritage-guide #center .guide-callout h3 { margin-top: 0; }
.guide-content .guide-steps { counter-reset: guide-step; padding: 0 !important; margin: 1.3rem 0 !important; list-style: none; }
.guide-steps > li { position: relative; min-height: 3rem; padding: .1rem 0 1rem 3rem !important; border-left: 1px solid #c7d4e5; margin-left: 1rem; counter-increment: guide-step; }
.guide-steps > li:last-child { border-left-color: transparent; }
.guide-steps > li::before { content: counter(guide-step,decimal-leading-zero); position: absolute; left: -1rem; top: 0; display: grid; place-items: center; width: 2rem; height: 2rem; border: 1px solid #aebed3; border-radius: 50%; color: var(--heritage-red); background: white; font-size: .7rem; font-weight: 750; }
.guide-steps strong { color: var(--heritage-navy); }
.guide-content .guide-checklist li { padding: .4rem 0 .4rem .15rem; }
.guide-content details { margin: 0; border-bottom: 1px solid #cfdae7; }
.guide-content summary { line-height: 1.6; }
.guide-content details[open] { padding-bottom: .7rem; }
.guide-content .guide-related { display: flex; gap: .6rem 1rem; flex-wrap: wrap; padding-top: .8rem; }
.guide-cost-graphic { margin: 1.3rem auto; max-width: 38rem; }
.guide-cost-graphic picture, .guide-cost-graphic img { display: block; width: 100%; height: auto; }
.guide-cost-graphic figcaption { padding-top: .65rem; color: var(--heritage-muted); font-size: .82rem; }
.guide-sidebar { min-width: 0; position: sticky; top: 1rem; }
.guide-sidebar-card { padding: 1.2rem; border: 1px solid var(--heritage-line); border-radius: .8rem; background: white; margin-bottom: 1rem; }
.heritage-guide #center .guide-sidebar h2 { font: 700 1.1rem/1.35 var(--heritage-display); margin: 0 0 .5rem; padding: 0; border: 0; color: var(--heritage-navy); }
.guide-related-link { display: flex; flex-direction: column; gap: .25rem; padding: .9rem 0; border-bottom: 1px solid var(--heritage-line); text-decoration: none; }
.guide-related-link:last-child { border-bottom: 0; padding-bottom: 0; }
.guide-related-link strong { font-size: .88rem; line-height: 1.4; }
.guide-related-link span { font-size: .82rem; line-height: 1.6; color: var(--heritage-muted); }
.guide-related-link:hover strong { text-decoration: underline; }
.guide-help-card { background: var(--heritage-navy); color: #fff; }
.guide-help-card > svg { width: 40px; height: 40px; margin-bottom: 1rem; color: white; }
.heritage-guide #center .guide-help-card h2 { color: white; }
.guide-help-card p { font-size: .88rem; line-height: 1.7; margin: .7rem 0 1rem; }
.heritage-guide #center .guide-help-link:link, .heritage-guide #center .guide-help-link:visited { display: block; padding: .6rem 0; color: white; font-size: .87rem; text-decoration: underline; }
.guide-help-card .contact-form-link { margin-top: .65rem; }
.guide-video-link { margin-top: 1.5rem; padding-top: 1rem !important; border-top: 1px solid var(--heritage-line); font-size: .88rem; }
.guide-video-link a { display: inline-flex; align-items: center; min-height: 44px; }
@media (max-width: 1000px) {
  .heritage-guide .guide-columns { grid-template-columns: minmax(0,2fr) minmax(12.5rem,1fr); }
  .guide-route-grid { gap: .8rem; }
}
@media (max-width: 1000px) {
  .heritage-guide .guide-columns { grid-template-columns: minmax(0,1fr); }
  .guide-sidebar { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; align-items: start; position: static; }
}
@media (max-width: 480px) {
  .guide-route-grid { grid-template-columns: minmax(0,1fr); gap: 1rem; }
  .heritage-guide #center .guide-route { display: grid; grid-template-columns: 38px minmax(0,1fr); column-gap: .75rem; }
  .guide-route svg { grid-row: 1 / span 2; }
  .guide-route strong, .guide-route span { grid-column: 2; }
  .guide-choices, .guide-sidebar { grid-template-columns: minmax(0,1fr); }
  .guide-content table { min-width: 32rem; }
  .guide-content th, .guide-content td { padding: .7rem .8rem; }
  .guide-jump-nav a { font-size: .8rem; }
  .guide-route-map { padding: 1rem; }
  .guide-cost-graphic { max-width: 21rem; }
}
.guide-infographic { margin: 1.7rem 0 2rem; padding: clamp(.75rem, 2vw, 1.3rem); background: #f5f7fa; border: 1px solid var(--heritage-line); border-radius: 16px; }
.guide-infographic picture, .guide-infographic img { display: block; width: 100%; height: auto; }
.guide-infographic figcaption { font-size: .86rem; line-height: 1.6; margin-top: .8rem; color: #40566f; }
@media (max-width: 640px) { .guide-infographic { width: calc(100% + 1.2rem); max-width: none; margin-inline: -.6rem; padding: .5rem; } .guide-infographic figcaption { padding-inline: .2rem; } }
@media print { .guide-sidebar, .guide-jump-nav { display: none; } .guide-columns { display: block !important; } .guide-table-wrap { overflow: visible; } }
