/* NCL v2 — Cash-Pay Lab Billing content cluster. Scoped styles that build on
   main.css tokens; no overrides of shared components. */

/* Breadcrumbs (visible; schema is in JSON-LD) */
.crumbs{font-size:12.5px;color:var(--muted);line-height:1.5}
.crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center;gap:2px}
.crumbs li{display:inline-flex;align-items:center;gap:6px}
.crumbs a{color:var(--muted);text-decoration:none;border-bottom:1px solid transparent}
.crumbs a:hover{color:var(--ink);border-bottom-color:var(--rule)}
.crumbs [aria-current="page"]{color:var(--ink-soft)}
.crumb-sep{color:var(--faint);margin:0 4px}

/* Compliance / legal-review note callouts (rendered from markdown blockquotes).
   Deliberately restrained — tinted panel + hairline, no accent side-bar. */
.prose .cluster-note{
  margin:1.5em 0;padding:16px 18px;background:var(--paper-deep);
  border:1px solid var(--rule);border-radius:10px}
.prose .cluster-note p{margin:0 0 .55em;color:var(--ink-soft);font-size:14.5px}
.prose .cluster-note p:last-child{margin-bottom:0}
.prose .cluster-note strong{color:var(--ink)}

/* Calculator educational disclaimer */
.cluster-calc-disc{max-width:70ch;margin:22px auto 0;color:var(--muted);
  font-size:12.5px;line-height:1.6;text-align:center}

/* Internal-linking block */
.cluster-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:26px 40px;margin-top:22px}
.cluster-links-group h3{font-family:var(--mono);font-size:10.5px;font-weight:500;
  letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0 0 12px}
.cluster-links-group ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.cluster-links-group li{font-size:15px;line-height:1.4}

/* Calculator section sits full-width between prose runs; give it breathing room */
#calc-access{scroll-margin-top:80px}
#calc-access .c3-head{max-width:640px}

/* ---- Article rhythm: ONE 1080px content rail for every section (left edges
   align); prose reads at ~780px inside it; tighter vertical gaps ---- */
.cluster-prose-sec{padding-top:clamp(14px,2vw,24px);padding-bottom:clamp(14px,2vw,24px)}
#calc-access>.shell{max-width:1080px}
.prose{max-width:780px}
.prose h2{margin:1.7em 0 .5em;font-size:clamp(21px,2.4vw,25px);letter-spacing:-.01em}
.prose .tbl-wrap,.prose .faq{max-width:900px}
.prose h2:first-child,.prose > :first-child{margin-top:0}
.prose h3{margin:1.7em 0 .45em}
.prose p,.prose li{font-size:15.5px;line-height:1.72}
.prose ul,.prose ol{margin-bottom:1.15em}
.prose li{margin-bottom:.35em}

/* ---- Scannable tables (cluster prose only) ---- */
.prose table.tbl td,.prose table.tbl th{padding:14px 18px}
.prose table.tbl tbody tr:nth-child(even){background:color-mix(in srgb,var(--paper-deep) 55%,var(--paper))}
.prose table.tbl td:first-child{font-weight:500;color:var(--ink)}
.prose .tbl-wrap{border-radius:10px;margin:1.4em 0}

/* ---- The three-model visual centerpiece (an intentional product section) ---- */
.models-section{padding-top:clamp(16px,2.5vw,28px);padding-bottom:clamp(6px,1.5vw,14px)}
.models-section>.shell{max-width:1080px}
.models-h2{font-size:clamp(24px,3vw,32px);letter-spacing:-.02em;margin:6px 0 0}
.models-lede{margin-top:14px;max-width:60ch}
.model-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:26px}
.model-card{position:relative;background:var(--paper);border:1px solid var(--rule);
  border-radius:14px;padding:24px 22px 20px;display:flex;flex-direction:column}
.model-num{font-family:var(--mono);font-size:12px;font-weight:500;color:var(--orange-ink);
  letter-spacing:.08em}
.model-name{font-size:19px;letter-spacing:-.01em;margin:10px 0 8px}
.model-how{font-size:14.5px;color:var(--ink-soft);line-height:1.6;margin:0 0 16px}
.model-meta{display:grid;gap:4px 0;margin:auto 0 0;border-top:1px solid var(--rule);padding-top:14px}
.model-meta dt{font-family:var(--mono);font-size:10px;font-weight:500;letter-spacing:.09em;
  text-transform:uppercase;color:var(--muted);margin-top:8px}
.model-meta dt:first-child{margin-top:0}
.model-meta dd{margin:2px 0 0;font-size:13.5px;line-height:1.5;color:var(--ink-soft)}

/* ---- Calculator teaser (high on page; links to the full gated calculator) ---- */
.calc-teaser{display:flex;align-items:center;justify-content:space-between;gap:24px;
  flex-wrap:wrap;background:var(--paper-deep);border:1px solid var(--rule);
  border-radius:16px;padding:24px clamp(22px,3vw,32px)}
.calc-teaser-txt{max-width:64ch}
.calc-teaser-h{font-family:var(--serif);font-weight:600;color:var(--ink);
  font-size:clamp(20px,2.4vw,24px);letter-spacing:-.01em;margin:0 0 6px;line-height:1.2}
.calc-teaser-txt p:last-child{margin:0;color:var(--ink-soft);font-size:14.5px;line-height:1.6}
.calc-teaser-btn{white-space:nowrap;flex:none}

/* ---- Callouts (recommended start / Medicare / counsel) ---- */
.callout{border:1px solid var(--rule);border-radius:12px;padding:18px 20px;margin:1.6em 0;background:var(--paper-deep);max-width:900px}
.callout p{margin:0 0 .5em;font-size:14.5px;line-height:1.62;color:var(--ink-soft)}
.callout p:last-child{margin-bottom:0}
.callout-label{font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.08em;
  text-transform:uppercase;color:var(--orange-ink);margin-bottom:8px !important}
.callout--reco{background:color-mix(in srgb,var(--orange) 5%,var(--paper));border-color:color-mix(in srgb,var(--orange) 22%,var(--rule))}
.callout--reco p:not(.callout-label){color:var(--ink);font-size:15.5px}
.callout--strong{background:color-mix(in srgb,var(--orange) 4%,var(--paper));border-color:color-mix(in srgb,var(--orange) 18%,var(--rule))}
.callout--counsel{background:var(--paper);border-style:dashed}
.callout--counsel p{font-size:13px;color:var(--muted)}

/* ---- Model-card flags (Direct Pay reads as the default starting point) ---- */
.model-flag{display:inline-block;margin-left:10px;font-family:var(--mono);font-size:9.5px;
  font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);
  border:1px solid var(--rule);border-radius:999px;padding:3px 9px;vertical-align:2px}
.model-card:first-child .model-flag{color:var(--orange-ink);border-color:color-mix(in srgb,var(--orange) 30%,var(--rule))}

/* ---- Above-the-fold "we support all three" strip in the hero ---- */
.hero-supports{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:18px;
  font-size:14px;color:var(--ink-soft)}
.hero-supports strong{font-weight:600;color:var(--ink)}

/* ---- Who-pays-whom chain, embedded in each model card ---- */
.model-flow{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin:0 0 16px}
.flow-node{font-family:var(--mono);font-size:11.5px;background:var(--paper-deep);
  border:1px solid var(--rule);border-radius:8px;padding:5px 9px;color:var(--ink-soft);
  white-space:nowrap}
.flow-arrow{color:var(--orange-ink);font-size:13px}

/* ---- Quiet practical disclaimer (top) + about-this-guide block (bottom) ---- */
.cluster-disc{font-size:12.5px;line-height:1.6;color:var(--muted);max-width:78ch}
.about-guide{border-top:1px solid var(--rule);padding-top:18px;margin-top:6px}
.about-guide p{font-size:12.5px;line-height:1.6;color:var(--muted);margin:0 0 6px;max-width:78ch}

/* ---- Feature cards (resources hub + by-state index) ---- */
.feature-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}
.feature-card{display:flex;flex-direction:column;gap:8px;background:var(--paper);
  border:1px solid var(--rule);border-radius:14px;padding:22px 20px;text-decoration:none;
  transition:border-color .2s ease,transform .2s var(--ease-out-strong)}
.feature-card:hover{border-color:var(--ink);transform:translateY(-2px)}
.feature-kicker{font-family:var(--mono);font-size:10px;font-weight:500;letter-spacing:.1em;
  text-transform:uppercase;color:var(--orange-ink)}
.feature-title{font-family:var(--serif);font-weight:600;font-size:18px;letter-spacing:-.01em;
  color:var(--ink);line-height:1.25}
.feature-desc{font-size:13.5px;line-height:1.55;color:var(--ink-soft)}

/* ---- Medicare acknowledgement (gates calculator interactivity only) ---- */
.ack-row{display:flex;gap:12px;align-items:flex-start;cursor:pointer;max-width:64ch}
.ack-row input{margin-top:4px;width:16px;height:16px;flex:none;accent-color:var(--orange-ink)}
.ack-row span{font-size:14px;line-height:1.6;color:var(--ink-soft)}
#medicare-ack-continue[disabled]{opacity:.45;cursor:not-allowed}

/* ---- Responsive ---- */
@media (max-width:820px){
  .model-cards{grid-template-columns:1fr;gap:14px}
  .calc-teaser{flex-direction:column;align-items:flex-start}
  .calc-teaser-btn{width:100%;text-align:center}
}
@media (min-width:821px) and (max-width:1000px){
  .model-cards{grid-template-columns:1fr 1fr}
}
