.buyer-guide { --guide-header: 66px; color: var(--ink); }
.guide-opening { background: var(--cream); padding: 1rem 0 1.25rem; }
.guide-opening nav { justify-content: flex-start; flex-wrap: wrap; gap: .35rem .55rem; margin: 0 0 .65rem; }
.guide-opening h1 { color: var(--navy); font-size: clamp(2rem, 4vw, 3.1rem); margin: 0 0 .5rem; max-width: 24ch; }
.guide-subtitle { margin: 0 0 .35rem; font-size: 1.04rem; }
.guide-byline { margin: 0; font-size: .9rem; }
.buyer-guide a:not(.btn) { text-decoration: underline; text-underline-offset: .17em; }
.guide-progress { position: sticky; top: var(--guide-header); z-index: 8; height: 2px; background: var(--cream); }
.guide-progress div { background: var(--gold); height: 100%; width: 100%; transform: scaleX(0); transform-origin: left; }
.guide-layout { display: grid; grid-template-columns: minmax(12rem, 15rem) minmax(0, 70ch); gap: clamp(1.5rem, 5vw, 4rem); align-items: start; padding-block: 1.35rem 3rem; }
.guide-contents { position: sticky; top: calc(var(--guide-header) + 1rem); padding: .65rem; background: #fff; border: 1px solid #e2d9c9; }
.guide-contents summary { cursor: pointer; font-weight: 700; color: var(--navy); }
.guide-current { display: none; }
.guide-contents nav { display: grid; gap: .2rem; margin: .5rem 0 0; }
.guide-contents nav a { display: block; padding: .45rem .55rem; border-inline-start: 2px solid transparent; text-decoration: none !important; color: var(--navy); }
.guide-contents nav a span { color: #435368; }
.guide-contents nav a[aria-current] { border-color: var(--gold); background: var(--cream); }
.guide-reading { min-width: 0; font-size: 1.04rem; line-height: 1.65; }
.guide-reading :is(h2,h3,h4) { color: var(--navy); line-height: 1.25; }
.guide-reading h2 { border-bottom: 1px solid var(--gold); margin: 0 0 1rem; padding-bottom: .35rem; }
.guide-reading h3 { font: 1.55rem/1.25 Georgia, serif; margin: 1.45rem 0 .55rem; }
.guide-reading h4 { font: 1.19rem/1.3 Georgia, serif; margin: 1rem 0 .45rem; }
.guide-number { color: #80602f; }
.guide-chapter { padding: 1.3rem 0 .5rem; scroll-margin-top: calc(var(--guide-header) + 1rem); }
.guide-intro p { margin-bottom: .65rem; }
.guide-term { margin-bottom: .4rem; }
.guide-definition { display: inline-block; position: relative; }
.guide-definition summary { list-style: none; cursor: pointer; color: var(--navy); text-decoration: underline dotted; }
.guide-definition summary::-webkit-details-marker { display: none; }
.guide-definition span { background: var(--navy); color: white; border-radius: 4px; padding: .45rem .65rem; position: absolute; z-index: 2; inset-inline-start: 0; inset-block-start: 100%; width: min(13rem, 55vw); font-size: .85rem; line-height: 1.4; }
.guide-definition:not([open]) span { display: none; }
.guide-callout,.guide-example,.guide-next { background: var(--cream); border-inline-start: 3px solid var(--gold); padding: .85rem 1rem; margin: 1rem 0; }
.guide-callout p,.guide-example p:last-child,.guide-next p:last-child { margin: .3rem 0 0; }
.guide-example h4 { margin-top: 0; }
.guide-example-inputs { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .5rem; margin: .6rem 0; }
.guide-example-inputs dt,.guide-example-note { font-size: .86rem; }
.guide-example-inputs dd { font-weight: 700; margin: 0; }
.guide-comparison { width: 100%; border-collapse: collapse; font-size: .9rem; table-layout: fixed; }
.guide-comparison caption { text-align: left; padding-bottom: .25rem; }
.guide-comparison :is(td,th) { text-align: left; padding: .35rem .3rem; border-bottom: 1px solid #d8c7a9; }
.guide-comparison thead { background: var(--navy); color: #fff; }
.guide-example-note { margin: .55rem 0; }
.guide-roles { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .65rem; }
.guide-roles > div { border: 1px solid #ded7ca; padding: .65rem .8rem; }
.guide-roles h4,.guide-roles p { margin: 0 0 .3rem; }
.guide-checklist { padding: 0; list-style: none; }
.guide-checklist label { display: flex; align-items: baseline; gap: .55rem; cursor: pointer; }
.guide-checklist input { accent-color: var(--navy); flex: 0 0 auto; }
.guide-next .btn { margin: 0 .55rem .35rem 0; }
.buyer-guide :focus-visible { outline: 2px solid var(--navy); outline-offset: 3px; }
@media (max-width: 760px) {
  .guide-layout { display: block; padding-top: 0; }
  .guide-contents { top: calc(var(--guide-header) + 2px); z-index: 7; margin: 0 0 1rem; }
  .guide-current { display: inline; font-weight: 400; margin-inline-start: .35rem; }
  .guide-reading { font-size: 1rem; }
  .guide-chapter { scroll-margin-top: calc(var(--guide-header) + 4.4rem); }
  .guide-roles { grid-template-columns: 1fr; }
  .guide-example { padding: .65rem; }
  .guide-comparison { font-size: .8rem; }
  .guide-definition span { position: static; display: block; }
}
@media print {
  .mi-header,.mi-footer,.mi-skip,.guide-contents,.guide-progress,.guide-opening nav,.guide-next { display: none !important; }
  .guide-layout { display: block; width: auto; padding: 0; }
  .guide-opening { background: transparent; }
  .guide-opening .wrap { width: auto; }
  .guide-reading { font-size: 11pt; color: black; }
  .guide-chapter { padding: .5rem 0; }
  .guide-reading :is(h2,h3,h4) { break-after: avoid; }
  .guide-example,.guide-callout,.guide-roles > div,.guide-checklist li { break-inside: avoid; }
  .guide-comparison thead { background: transparent; color: black; }
  .guide-definition span { display: none !important; }
  .guide-checklist input { appearance: none; border: 1px solid black; width: .9em; height: .9em; margin: 0; }
  .guide-checklist input:checked::after { content: '✓'; }
}
