.guide-hero h1 { max-width: 900px; font-size: clamp(2rem, 4vw, 3.6rem); line-height: 1.12; letter-spacing: -.04em; }
.guide-hero .kicker { max-width: 760px; line-height: 1.6; }
.guide-layout .rich-content { overflow-wrap: anywhere; }
.guide-layout h2[id] { scroll-margin-top: 110px; }
.guide-contents { margin: 0 0 40px; padding: 0 24px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.guide-contents summary, .guide-faq summary { display: flex; justify-content: space-between; gap: 20px; padding: 22px 0; color: var(--ink); font-weight: 750; line-height: 1.5; cursor: pointer; list-style: none; }
.guide-contents summary::-webkit-details-marker, .guide-faq summary::-webkit-details-marker { display: none; }
.guide-contents summary::after, .guide-faq summary::after { content: "+"; flex: 0 0 24px; text-align: center; color: var(--accent-dark); }
.guide-contents details[open] > summary::after, .guide-faq details[open] > summary::after { content: "−"; }
.guide-contents summary:focus-visible, .guide-faq summary:focus-visible { outline: 3px solid var(--accent-dark); outline-offset: 4px; border-radius: 4px; }
.guide-contents ul { display: grid; gap: 12px; margin: 0; padding: 0 0 24px; list-style: none; }
.guide-contents li + li { margin: 0; }
.guide-contents a { display: inline-block; padding: 5px 0; line-height: 1.5; }
.guide-faq details { border-bottom: 1px solid var(--line); }
.guide-faq-answer { padding: 0 0 22px; }
.guide-faq-answer p { margin: 0 0 12px; }
.guide-faq-answer > :last-child { margin-bottom: 0; }
.guide-service .button { white-space: normal; text-align: center; }
.guide-diagnostics { margin: 40px 0; }
.guide-diagnostics h2 { font-size: 1.65rem; }
.guide-diagnostics table { width: 100%; border-collapse: collapse; table-layout: fixed; font-size: .88rem; line-height: 1.65; }
.guide-diagnostics th, .guide-diagnostics td { padding: 16px 12px; border: 1px solid var(--line); text-align: left; vertical-align: top; }
.guide-diagnostics thead th { background: var(--surface-soft); color: var(--ink); font-weight: 750; }
.guide-diagnostics tbody th { color: var(--ink); font-weight: 750; }
.guide-diagnostics td { color: var(--muted); }
.guide-author { margin: 48px 0 0; padding: 24px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.guide-author h2 { margin: 0 0 16px; font-size: 1.35rem; }
.guide-author-name { font-weight: 750; color: var(--ink)!important; }
.guide-author p:last-child { margin-bottom: 0; }
@media (max-width: 760px) {
  .guide-diagnostics table, .guide-diagnostics tbody { display: block; }
  .guide-diagnostics thead { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
  .guide-diagnostics tr { display: block; margin-bottom: 14px; padding: 18px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--surface); }
  .guide-diagnostics tbody th, .guide-diagnostics td { display: block; padding: 0; border: 0; }
  .guide-diagnostics tbody th { margin-bottom: 14px; font-size: 1rem; }
  .guide-diagnostics td + td { margin-top: 14px; }
  .guide-diagnostics td::before { content: attr(data-label); display: block; margin-bottom: 4px; color: var(--ink); font-size: .78rem; font-weight: 750; }
}
@media (max-width: 620px) {
  .guide-contents { padding: 0 20px; }
  .guide-layout .rich-content > h2 { font-size: 1.55rem; line-height: 1.3; }
  .guide-breadcrumb { flex-wrap: wrap; }
  .guide-service .button { width: 100%; }
}

/* Keep long explanations readable without compressing the diagnostic table. */
.guide-layout .rich-content > p,
.guide-layout .rich-content > ul,
.guide-layout .rich-content > ol,
.guide-faq-answer { max-width: 72ch; }
.guide-layout .rich-content > p,
.guide-layout .rich-content > ul,
.guide-layout .rich-content > ol { line-height: 1.8; }

.guide-legacy-anchor { display: block; scroll-margin-top: 110px; }
