:root {
  --guide-ink: #0c0d0b;
  --guide-ink-raised: #141510;
  --guide-paper: #f3eee3;
  --guide-paper-2: #e5ddcf;
  --guide-gold: #c6a45d;
  --guide-gold-light: #dfc37d;
  --guide-copy: #f4efe5;
  --guide-muted: #aaa295;
  --guide-dark-copy: #191914;
  --guide-dark-muted: #5f5a51;
  --guide-line: rgba(223, 195, 125, .25);
  --guide-line-soft: rgba(244, 239, 229, .14);
}

html { scroll-padding-top: 110px; }
.buying-guide-page { background: var(--guide-ink); color: var(--guide-copy); }
.buying-guide-page main { overflow: clip; }
.guide-skip-link { position: fixed; z-index: 200; top: -90px; left: 16px; padding: 12px 16px; background: var(--guide-gold-light); color: var(--guide-ink); font: 600 10px/1 var(--psc-font-mono); text-decoration: none; text-transform: uppercase; transition: top .2s ease; }
.guide-skip-link:focus { top: 14px; }
.guide-nav .header-cta { min-width: 112px; text-align: center; }
.guide-text-link { color: var(--guide-gold-light); font: 600 11px/1.5 var(--psc-font-mono); text-decoration-color: rgba(223, 195, 125, .55); text-underline-offset: 6px; }
.guide-text-link:hover { color: #f1db9e; }

/* Intro: one strong editorial field and one operational field. */
.guide-hero { min-height: 690px; display: grid; grid-template-columns: minmax(0, .94fr) minmax(490px, 1.06fr); border-inline: 1px solid var(--guide-line); }
.guide-hero-copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(58px, 7vw, 96px); border-right: 1px solid var(--guide-line); }
.guide-hero h1 { max-width: 760px; margin: 25px 0 27px; font: 700 clamp(58px, 6.8vw, 98px)/.86 var(--psc-font-display); letter-spacing: -.075em; text-wrap: balance; }
.guide-hero h1 em { display: inline-block; color: var(--guide-gold-light); font: 500 italic .79em/1 var(--psc-font-editorial); letter-spacing: -.045em; }
.guide-lede { max-width: 650px; margin: 0; color: var(--guide-muted); font-size: 15px; line-height: 1.82; }
.guide-hero-actions { display: flex; align-items: center; gap: 25px; margin-top: 38px; }
.guide-hero-facts { display: grid; grid-template-columns: repeat(3, 1fr); margin: 72px 0 0; border-block: 1px solid var(--guide-line-soft); }
.guide-hero-facts div { display: block; padding: 18px 18px 18px 0; border: 0; }
.guide-hero-facts div + div { padding-left: 18px; border-left: 1px solid var(--guide-line-soft); }
.guide-hero-facts dt { color: #938b7d; font: 500 7px/1.4 var(--psc-font-mono); letter-spacing: .12em; text-transform: uppercase; }
.guide-hero-facts dd { margin: 8px 0 0; color: #ded4c1; font: 650 12px/1.3 var(--psc-font-ui); }
.guide-hero-system { position: relative; display: grid; grid-template-rows: minmax(380px, 1fr) auto auto; min-width: 0; background: #10110e; }
.guide-hero-system figure { position: relative; min-height: 440px; margin: 0; overflow: hidden; }
.guide-hero-system img { width: 100%; height: 100%; display: block; object-fit: cover; filter: saturate(.72) contrast(1.08) brightness(.74); }
.guide-hero-system figcaption { position: absolute; right: 0; bottom: 0; left: 0; display: flex; justify-content: space-between; gap: 20px; align-items: end; padding: 24px 28px; background: rgba(9, 9, 7, .91); border-top: 1px solid var(--guide-line); }
.guide-hero-system figcaption span { color: var(--guide-gold); font: 500 7px/1.4 var(--psc-font-mono); letter-spacing: .12em; }
.guide-hero-system figcaption strong { max-width: 290px; color: #eee4d1; font: 600 15px/1.25 var(--psc-font-display); text-align: right; }
.guide-hero-system ol { display: grid; grid-template-columns: repeat(3, 1fr); margin: 0; padding: 0; border-top: 1px solid var(--guide-line); list-style: none; }
.guide-hero-system li { min-height: 90px; display: flex; align-items: center; gap: 13px; padding: 21px; border-right: 1px solid var(--guide-line-soft); }
.guide-hero-system li:last-child { border-right: 0; }
.guide-hero-system li b { color: var(--guide-gold); font: 500 8px/1 var(--psc-font-mono); }
.guide-hero-system li span { color: #dbd1bf; font: 600 11px/1.35 var(--psc-font-ui); }
.guide-hero-system > p { margin: 0; padding: 20px 28px; border-top: 1px solid var(--guide-line-soft); color: #8e877a; font: 400 9px/1.7 var(--psc-font-mono); }
.guide-hero-system > p strong { color: #d5bb7f; }

.guide-route { position: relative; z-index: 4; display: grid; grid-template-columns: repeat(6, 1fr); gap: 0; margin-top: 28px; border: 1px solid var(--guide-line); background: #0f100d; }
.guide-route a { min-height: 64px; display: flex; align-items: center; justify-content: center; gap: 11px; padding: 14px; border-right: 1px solid var(--guide-line-soft); color: #c2baad; font: 600 11px/1 var(--psc-font-ui); text-decoration: none; }
.guide-route a:last-child { border-right: 0; }
.guide-route a:hover { background: var(--guide-gold); color: var(--guide-ink); }
.guide-route b { color: var(--guide-gold); font: 500 7px/1 var(--psc-font-mono); }
.guide-route a:hover b { color: inherit; }

.guide-steps, .guide-payment, .guide-paths, .guide-faq { padding-block: 118px; }
.guide-section-head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, 540px); gap: clamp(40px, 8vw, 130px); align-items: end; margin-bottom: 52px; }
.guide-section-head h2, .guide-money h2, .guide-faq h2, .guide-closing h2 { margin: 18px 0 0; font: 700 clamp(44px, 5.4vw, 76px)/.93 var(--psc-font-display); letter-spacing: -.065em; text-wrap: balance; }
.guide-section-head > p { margin: 0 0 5px; color: var(--guide-muted); font-size: 13px; line-height: 1.75; }
.guide-step-list { margin: 0; padding: 0; border-top: 1px solid var(--guide-line); list-style: none; }
.guide-step-list > li { display: grid; grid-template-columns: 78px minmax(0, 1fr) minmax(180px, 260px); gap: 35px; align-items: center; min-height: 208px; padding: 36px 0; border-bottom: 1px solid var(--guide-line-soft); scroll-margin-top: 120px; }
.guide-step-number { align-self: start; display: grid; place-items: center; width: 56px; height: 56px; border: 1px solid var(--guide-line); color: var(--guide-gold-light); font: 600 10px/1 var(--psc-font-mono); }
.guide-step-list small { color: #847a67; font: 500 8px/1.4 var(--psc-font-mono); letter-spacing: .12em; }
.guide-step-list h3 { margin: 15px 0 13px; color: var(--guide-copy); font: 650 clamp(25px, 3vw, 38px)/1 var(--psc-font-display); letter-spacing: -.045em; }
.guide-step-list div > p { max-width: 760px; margin: 0; color: var(--guide-muted); font-size: 13px; line-height: 1.78; }
.guide-step-list div > p a { color: #d7bd82; text-underline-offset: 4px; }
.guide-step-list div > p strong { color: #e4d8c1; }
.guide-step-check { margin: 0; padding: 20px; border-left: 2px solid var(--guide-gold); background: rgba(198, 164, 93, .055); color: #b8ad99; font: 500 9px/1.65 var(--psc-font-mono); }

/* Money section deliberately switches to paper: a receipt, not another card. */
.guide-money { padding-block: 110px; background: var(--guide-paper); color: var(--guide-dark-copy); }
.guide-money-grid { display: grid; grid-template-columns: minmax(320px, .85fr) minmax(520px, 1.15fr); gap: clamp(60px, 10vw, 150px); }
.guide-money .eyebrow { color: #72551e; }
.guide-money .eyebrow span { background: #816329; }
.guide-money h2 em { color: #8b6829; font: 500 italic .78em/1 var(--psc-font-editorial); letter-spacing: -.035em; }
.guide-money-copy > p:not(.eyebrow) { max-width: 600px; margin: 28px 0; color: var(--guide-dark-muted); font-size: 14px; line-height: 1.85; }
.guide-money .guide-text-link { color: #6d511b; }
.guide-ledger { border-top: 2px solid #27261f; }
.guide-ledger > div { min-height: 76px; display: grid; grid-template-columns: .72fr 1.28fr; gap: 30px; align-items: center; padding: 17px 0; border-bottom: 1px solid rgba(25, 25, 20, .18); }
.guide-ledger span { color: #6a655d; font: 500 9px/1.4 var(--psc-font-mono); letter-spacing: .06em; text-transform: uppercase; }
.guide-ledger strong { color: var(--guide-dark-copy); font: 650 16px/1.35 var(--psc-font-ui); text-align: right; }
.guide-ledger .guide-ledger-total { min-height: 92px; border-bottom: 2px solid #27261f; }
.guide-ledger-total strong { font-size: 20px; }
.guide-ledger > p { margin: 19px 0 30px; color: #716c63; font: 400 9px/1.7 var(--psc-font-mono); }
.guide-ledger aside { padding: 24px; border: 1px solid #a48a52; background: #ece4d5; }
.guide-ledger aside b { color: #75581f; font: 600 8px/1.4 var(--psc-font-mono); letter-spacing: .1em; }
.guide-ledger aside p { margin: 11px 0 0; color: #5f5b52; font-size: 11px; line-height: 1.7; }

.guide-payment { padding-bottom: 55px; }
.guide-payment-checks { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; border: 1px solid var(--guide-line); background: var(--guide-line); }
.guide-payment-checks article { min-height: 300px; display: flex; flex-direction: column; padding: clamp(28px, 4vw, 46px); background: var(--guide-ink-raised); }
.guide-payment-checks span { color: var(--guide-gold); font: 500 9px/1 var(--psc-font-mono); }
.guide-payment-checks h3 { margin: auto 0 12px; color: #858073; font: 500 9px/1.4 var(--psc-font-mono); letter-spacing: .12em; text-transform: uppercase; }
.guide-payment-checks strong { color: var(--guide-copy); font: 650 clamp(23px, 2.5vw, 34px)/1 var(--psc-font-display); letter-spacing: -.04em; }
.guide-payment-checks p { margin: 15px 0 0; color: var(--guide-muted); font-size: 11px; line-height: 1.7; }
.guide-payment-note { display: grid; grid-template-columns: 210px 1fr; gap: 30px; margin-top: 1px; padding: 28px 32px; border: 1px solid var(--guide-line); border-left: 4px solid var(--guide-gold); }
.guide-payment-note b { color: var(--guide-gold-light); font: 600 11px/1.4 var(--psc-font-ui); }
.guide-payment-note p { margin: 0; color: var(--guide-muted); font-size: 11px; line-height: 1.75; }

.guide-platforms { padding-block: 115px; background: var(--guide-paper-2); color: var(--guide-dark-copy); }
.guide-section-head-light .eyebrow { color: #765b24; }
.guide-section-head-light .eyebrow span { background: #8b6b2c; }
.guide-section-head-light > p { color: #625e55; }
.guide-platform-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; border: 1px solid rgba(25, 25, 20, .22); background: rgba(25, 25, 20, .22); }
.guide-platform-grid article { min-height: 390px; display: flex; flex-direction: column; padding: clamp(25px, 3vw, 38px); background: var(--guide-paper); }
.guide-platform-grid article > span { color: #806227; font: 600 9px/1 var(--psc-font-mono); }
.guide-platform-grid small { margin-top: 48px; color: #686158; font: 500 8px/1.4 var(--psc-font-mono); letter-spacing: .1em; }
.guide-platform-grid h3 { margin: 10px 0 14px; font: 700 30px/1 var(--psc-font-display); letter-spacing: -.045em; }
.guide-platform-grid p { margin: 0; color: #645f56; font-size: 11px; line-height: 1.72; }
.guide-platform-grid article > div { display: grid; gap: 9px; margin-top: auto; padding-top: 28px; border-top: 1px solid rgba(25, 25, 20, .16); }
.guide-platform-grid a { color: #5f491e; font: 650 10px/1.4 var(--psc-font-ui); text-decoration-color: rgba(95, 73, 30, .4); text-underline-offset: 4px; }
.guide-provider-disclaimer { margin: 0; padding: 23px 25px; border: 1px solid rgba(25, 25, 20, .22); border-top: 0; color: #625d54; font: 400 9px/1.7 var(--psc-font-mono); }

.guide-paths { padding-bottom: 110px; }
.guide-path-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; border: 1px solid var(--guide-line); background: var(--guide-line); }
.guide-path-grid article { min-height: 410px; display: flex; flex-direction: column; padding: clamp(32px, 5vw, 58px); background: #11120e; }
.guide-path-grid article:nth-child(2) { background: #17140e; }
.guide-path-grid > article > span { color: var(--guide-gold); font: 500 8px/1.4 var(--psc-font-mono); letter-spacing: .13em; }
.guide-path-grid h3 { max-width: 600px; margin: 38px 0 25px; font: 650 clamp(28px, 3.4vw, 45px)/1 var(--psc-font-display); letter-spacing: -.05em; }
.guide-path-grid ol { display: grid; gap: 0; margin: 0; padding: 0; border-top: 1px solid var(--guide-line-soft); list-style: none; counter-reset: path; }
.guide-path-grid li { counter-increment: path; padding: 13px 0; border-bottom: 1px solid var(--guide-line-soft); color: var(--guide-muted); font-size: 11px; }
.guide-path-grid li::before { content: "0" counter(path); margin-right: 15px; color: #8c7545; font: 500 7px var(--psc-font-mono); }
.guide-path-grid a { align-self: flex-start; margin-top: auto; padding-top: 28px; color: var(--guide-gold-light); font: 600 10px var(--psc-font-ui); text-decoration-color: rgba(223, 195, 125, .45); text-underline-offset: 5px; }

.guide-faq { display: grid; grid-template-columns: minmax(300px, .72fr) minmax(520px, 1.28fr); gap: clamp(60px, 9vw, 130px); border-top: 1px solid var(--guide-line-soft); }
.guide-faq-heading { align-self: start; position: sticky; top: 120px; }
.guide-faq-heading > p:last-child { max-width: 480px; margin-top: 25px; color: var(--guide-muted); font-size: 12px; line-height: 1.75; }
.guide-faq-list { border-top: 1px solid var(--guide-line); }
.guide-faq-list details { border-bottom: 1px solid var(--guide-line-soft); }
.guide-faq-list summary { position: relative; padding: 27px 48px 27px 0; color: #e8dfcf; font: 650 17px/1.35 var(--psc-font-ui); cursor: pointer; list-style: none; }
.guide-faq-list summary::-webkit-details-marker { display: none; }
.guide-faq-list summary::after { content: "+"; position: absolute; right: 4px; top: 25px; color: var(--guide-gold); font: 400 21px/1 var(--psc-font-mono); }
.guide-faq-list details[open] summary::after { content: "−"; }
.guide-faq-list p { max-width: 700px; margin: -2px 45px 27px 0; color: var(--guide-muted); font-size: 12px; line-height: 1.78; }

.guide-closing { display: grid; grid-template-columns: 1fr auto; gap: 60px; align-items: end; margin-bottom: 105px; padding: clamp(42px, 6vw, 72px); border: 1px solid var(--guide-line); background: var(--guide-ink-raised); }
.guide-closing h2 em { color: var(--guide-gold-light); font: 500 italic .8em/1 var(--psc-font-editorial); letter-spacing: -.04em; }
.guide-closing > div:first-child > p:last-child { max-width: 610px; color: var(--guide-muted); line-height: 1.75; }
.guide-closing > div:last-child { min-width: 270px; display: grid; gap: 10px; }
.guide-outline-link { min-height: 48px; display: flex; align-items: center; justify-content: center; padding: 12px 18px; border: 1px solid var(--guide-line); color: #d6cbb8; font: 600 11px/1 var(--psc-font-ui); text-decoration: none; }
.guide-outline-link:hover { border-color: var(--guide-gold); color: var(--guide-gold-light); }

.buying-guide-page footer { border-color: var(--guide-line-soft); }
.buying-guide-page .footer-grid a:hover { color: var(--guide-gold-light); }
.buying-guide-page .footer-bottom { color: #888174; }

@media (max-width: 1080px) {
  .guide-hero { grid-template-columns: 1fr; }
  .guide-hero-copy { border-right: 0; border-bottom: 1px solid var(--guide-line); }
  .guide-hero-system { grid-template-rows: minmax(500px, 62vw) auto auto; }
  .guide-section-head { grid-template-columns: 1fr; gap: 24px; }
  .guide-money-grid { grid-template-columns: 1fr; }
  .guide-platform-grid { grid-template-columns: repeat(2, 1fr); }
  .guide-faq { grid-template-columns: 1fr; }
  .guide-faq-heading { position: static; }
}

@media (max-width: 780px) {
  html { scroll-padding-top: 86px; }
  .guide-hero { width: 100%; border-inline: 0; }
  .guide-hero-copy { padding: 64px 24px 54px; }
  .guide-hero h1 { font-size: clamp(52px, 15vw, 76px); }
  .guide-lede { font-size: 14px; }
  .guide-hero-actions { align-items: stretch; flex-direction: column; }
  .guide-hero-actions .primary { width: 100%; }
  .guide-hero-facts { margin-top: 48px; }
  .guide-hero-system { grid-template-rows: minmax(340px, 80vw) auto auto; }
  .guide-hero-system figcaption { align-items: start; flex-direction: column; }
  .guide-hero-system figcaption strong { text-align: left; }
  .guide-hero-system ol { grid-template-columns: 1fr; }
  .guide-hero-system li { min-height: 62px; border-right: 0; border-bottom: 1px solid var(--guide-line-soft); }
  .guide-route { width: 100%; grid-template-columns: repeat(3, 1fr); border-inline: 0; }
  .guide-route a:nth-child(3) { border-right: 0; }
  .guide-route a:nth-child(-n+3) { border-bottom: 1px solid var(--guide-line-soft); }
  .guide-steps, .guide-payment, .guide-paths, .guide-faq { padding-block: 82px; }
  .guide-step-list > li { grid-template-columns: 52px 1fr; gap: 20px; }
  .guide-step-number { width: 46px; height: 46px; }
  .guide-step-check { grid-column: 2; }
  .guide-money { padding-block: 82px; }
  .guide-money-grid { gap: 52px; }
  .guide-payment-checks, .guide-path-grid { grid-template-columns: 1fr; }
  .guide-payment-checks article { min-height: 245px; }
  .guide-payment-note { grid-template-columns: 1fr; gap: 12px; }
  .guide-platforms { padding-block: 82px; }
  .guide-platform-grid { grid-template-columns: 1fr; }
  .guide-platform-grid article { min-height: 320px; }
  .guide-closing { grid-template-columns: 1fr; }
}

@media (max-width: 520px) {
  .guide-nav .header-cta { min-width: 82px; padding-inline: 7px; font-size: 7px; }
  .guide-hero-facts { grid-template-columns: 1fr; }
  .guide-hero-facts div + div { padding-left: 0; border-top: 1px solid var(--guide-line-soft); border-left: 0; }
  .guide-route a { gap: 7px; font-size: 9px; }
  .guide-step-list > li { grid-template-columns: 1fr; }
  .guide-step-check { grid-column: 1; }
  .guide-ledger > div { grid-template-columns: 1fr; gap: 8px; }
  .guide-ledger strong { text-align: left; }
  .guide-closing { width: 100%; margin-bottom: 70px; border-inline: 0; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .guide-skip-link, .guide-route a, .guide-outline-link { transition: none; }
}

@media print {
  .research-notice, .guide-nav, .guide-route, footer, .guide-hero-actions, .guide-closing { display: none !important; }
  .buying-guide-page, .guide-money, .guide-platforms { background: #fff; color: #111; }
  .guide-hero, .guide-steps, .guide-payment, .guide-paths, .guide-faq { width: 100%; padding: 30px 0; border: 0; }
  .guide-hero-system { display: none; }
  .guide-hero-copy { padding: 0; border: 0; }
  .guide-hero h1, .guide-section-head h2, .guide-faq h2, .guide-money h2, .guide-step-list h3, .guide-payment-checks strong { color: #111; }
  .guide-step-list > li, .guide-faq, .guide-payment-checks, .guide-path-grid { break-inside: avoid; }
}
