.buyer-content { padding-bottom: clamp(64px, 9vw, 128px); }
.buyer-content .eyebrow { font-size: 14px; color: var(--ink-soft); }
.buyer-hero { padding: clamp(52px, 8vw, 112px) 0 48px; max-width: 880px; }
.buyer-title { font-family: var(--font-brand); font-size: clamp(38px, 5.4vw, 76px); line-height: 1.04; letter-spacing: -.045em; font-weight: 570; text-wrap: balance; margin: 12px 0 24px; }
.buyer-lede { max-width: 680px; font-size: clamp(18px, 2vw, 22px); line-height: 1.6; color: var(--ink-soft); }
.buyer-content h2 { font-family: var(--font-brand); font-size: clamp(26px, 3vw, 38px); font-weight: 560; line-height: 1.15; letter-spacing: -.03em; margin: 0 0 20px; text-wrap: balance; }
.buyer-content p { line-height: 1.65; }
.buyer-calculator { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(24px, 6vw, 88px); align-items: start; }
.buyer-inputs > p { color: var(--ink-soft); max-width: 52ch; margin-bottom: 24px; }
.buyer-field { display: grid; gap: 8px; margin: 0 0 24px; }
.buyer-field label { font-weight: 550; }
.buyer-field input, .buyer-field select { width: 100%; min-width: 0; min-height: 48px; padding: 12px 14px; border: 1px solid var(--stone); border-radius: 8px; background: var(--paper); color: var(--ink); font: inherit; font-size: 18px; }
.buyer-field small { color: var(--ink-soft); font-size: 14px; line-height: 1.5; }
.buyer-error { color: #912f24; font-size: 14px; }
.buyer-field input[aria-invalid="true"] { border-color: #912f24; }
.buyer-content :is(input, select, textarea, button, a):focus-visible { outline: 3px solid var(--accent); outline-offset: 4px; }
.buyer-results { padding: clamp(24px, 4vw, 48px); background: var(--slate, #d3e0e6); border-radius: 16px; }
.buyer-results .eyebrow { margin-top: 0; }
.buyer-totals { margin: 32px 0; display: grid; gap: 30px; }
.buyer-totals dt { font-size: 15px; line-height: 1.5; color: var(--ink-soft); }
.buyer-totals dd { margin: 6px 0 0; font-family: var(--font-brand); font-size: clamp(26px, 3.5vw, 48px); line-height: 1.1; font-weight: 560; letter-spacing: -.03em; overflow-wrap: anywhere; font-variant-numeric: tabular-nums; }
.buyer-result-note { font-size: 14px; margin: 0; }
.buyer-explanation { max-width: 760px; margin: clamp(64px, 9vw, 120px) auto 0; }
.buyer-explanation section + section { margin-top: 48px; }
.buyer-jumps { display: flex; flex-wrap: wrap; gap: 12px 24px; margin: 0 0 64px; }
.buyer-jumps a { padding: 10px 0; }
.buyer-template { max-width: 860px; margin: 0 0 80px; scroll-margin-top: 110px; }
.buyer-template p { max-width: 72ch; }
.buyer-template label { display: block; margin: 24px 0 12px; font-weight: 550; }
.buyer-template textarea { display: block; width: 100%; min-width: 0; padding: clamp(18px, 3vw, 32px); background: var(--card); color: var(--ink); border: 1px solid var(--hairline); border-radius: 12px; resize: vertical; font: inherit; font-size: 16px; line-height: 1.7; }
.buyer-template-actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 20px 0 8px; }
.buyer-template [role="status"] { min-height: 1.6em; font-size: 14px; }
.buyer-print-text { display: none; }
.buyer-example { background: var(--sage); padding: 20px 24px; border-radius: 12px; margin: 24px 0; }
.buyer-example h3 { font-size: 16px; margin: 0 0 8px; }
.buyer-example p { margin: 0; }
.buyer-related li { margin: 12px 0; }
.buyer-discovery { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; padding: 32px; border-radius: 12px; background: var(--slate); }
.buyer-discovery a { display: block; font: 550 23px/1.25 var(--font-brand); text-decoration: underline; text-underline-offset: 4px; }
.buyer-discovery p { margin: 12px 0 0; font-size: 15px; line-height: 1.6; }
.buyer-content .btn { white-space: normal; line-height: 1.4; min-height: 44px; }
@media (max-width: 720px) {
  .buyer-calculator { grid-template-columns: 1fr; }
  .buyer-hero { padding-top: 40px; }
  .buyer-template { margin-bottom: 56px; }
  .buyer-discovery { grid-template-columns: 1fr; }
}
@media print {
  .page-buyer-templates { background: white; color: black; }
  .page-buyer-templates :is(.site-header, .site-footer, .skip-link, .fab, .cta-band, .buyer-hero, .buyer-related) { display: none !important; }
  .page-buyer-templates .shell { width: auto; max-width: none; padding: 0; margin: 0; }
  .page-buyer-templates .buyer-template { max-width: none; margin: 0; break-after: page; }
  .buyer-print-text { display: block; white-space: pre-wrap; overflow-wrap: anywhere; font: 10pt/1.45 sans-serif; color: black; }
  .page-buyer-templates .buyer-template > :not(.buyer-print-text), .is-printing-template .buyer-template:not(.is-printing) { display: none !important; }
}
