/* Recovery calibration only: loaded by exactly the eight authorized pages. */
.b .recovery-table-wrap{max-width:100%;overflow-x:auto;margin:24px 0 34px;border:1px solid var(--line);background:#fff}
.b .recovery-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:15px;line-height:1.5;margin:0}
.b .recovery-table caption{text-align:left;font-size:15px;font-weight:800;padding:16px;background:var(--sage);color:var(--forest)}
.b .recovery-table th,.b .recovery-table td{padding:16px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line);overflow-wrap:anywhere}
.b .recovery-table thead{background:var(--forest);color:#fff}
.b .recovery-table tbody th{background:#f1f3ed;width:30%}
.b .recovery-list{padding-left:24px;margin:20px 0 32px}
.b .recovery-list li{padding:7px 0 7px 6px}
.b .prose h2{text-transform:none}
.b .takeaway-grid strong{text-transform:none;font-size:20px;line-height:1.22}
.b .takeaway-grid p,.b .access-grid p,.b .decision-grid p,.b .quote-input-grid p{font-size:15px;line-height:1.55}
.b .takeaway-grid small{font-size:11px}
.b .access-grid b,.b .decision-grid b,.b .quote-input-grid b{font-size:22px;line-height:1.2}
@media(max-width:900px){.b .recovery-table{font-size:14px}.b .recovery-table th,.b .recovery-table td{padding:12px 10px}}
@media(max-width:500px){.b .recovery-table{font-size:13px}.b .recovery-table th,.b .recovery-table td{padding:11px 8px}}

/* HUMAN composition comparison: review-only variants, same copy and photo. */
.b{--hero-font:48px;--hero-columns:1.1fr 1fr;--hero-ratio:4 / 3;--hero-mobile-font:34px}
.b[data-hero-layout="2"]{--hero-font:54px;--hero-columns:1fr 1.1fr;--hero-ratio:1 / 1;--hero-mobile-font:38px}
.b[data-hero-layout="3"]{--hero-font:60px;--hero-columns:1fr 1.15fr;--hero-ratio:1 / 1;--hero-mobile-font:42px}
.b .page-hero{grid-template-columns:var(--hero-columns);align-items:center}
.b .page-hero h1{font-size:var(--hero-font)!important;line-height:.98;letter-spacing:-.035em;overflow-wrap:anywhere}
.b .page-copy{min-width:0;padding:20px 0}
.b .page-img{position:relative;min-height:unset;height:auto;aspect-ratio:var(--hero-ratio);align-self:center}
.b .page-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%}
@media(min-width:901px) and (max-width:1100px){.b .page-hero h1{font-size:calc(var(--hero-font) - 6px)!important}}
@media(max-width:900px){.b .page-hero{grid-template-columns:1fr;gap:24px}.b .page-img{aspect-ratio:3 / 2}.b .page-copy{padding:12px 0}}
@media(max-width:560px){.b .page-hero h1{font-size:var(--hero-mobile-font)!important}.b .page-hero{gap:20px;padding-bottom:32px}}

/* Sibling cards share their own grid row's intrinsic maximum height.
   No global row height, no min-height and no content truncation. */
.b .prose :is(.takeaway-grid,.local-fact-grid,.decision-grid,.access-grid,.quote-input-grid,.split-cards,.checklist-columns,.cost-factor-grid,.pilot-check-grid,.resource-grid,.process-flow){align-items:stretch;grid-auto-rows:auto}
.b .prose :is(.takeaway-grid,.local-fact-grid,.decision-grid,.access-grid,.quote-input-grid,.split-cards,.checklist-columns,.cost-factor-grid,.pilot-check-grid,.resource-grid,.process-flow)>*{align-self:stretch;box-sizing:border-box;height:auto;min-height:0;margin-block:0}
.b .prose :is(.permit-matrix,.compare-table)>div{align-items:stretch}
.b .prose :is(.permit-matrix,.compare-table)>div>*{align-self:stretch;box-sizing:border-box;height:auto;min-height:0;margin-block:0}

#card-review,#diagram-review{scroll-margin-top:96px}

/* Long locality names were absent from the short-title gold examples.
   Preserve the pilot font size; permit line wrapping inside the stacked column. */
@media(max-width:560px){.b .page-hero .page-copy{min-width:0}.b .page-hero h1{overflow-wrap:anywhere}}

/* CONTROL-authorized legacy recovery tables only. Desktop remains semantic table.
   Mobile labels are visual duplicates of retained column headers. */
.b .recovery-table .table-label{display:none}
@media(max-width:700px){
 .b .recovery-table-wrap{overflow:visible;border:0;background:transparent}
 .b .recovery-table{display:block;table-layout:auto;border-collapse:separate;font-size:15px;line-height:1.5}
 .b .recovery-table caption{display:block;box-sizing:border-box;width:100%}
 .b .recovery-table thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
 .b .recovery-table tbody{display:grid;gap:16px;width:100%}
 .b .recovery-table tbody tr{display:block;box-sizing:border-box;min-width:0;width:100%;border:1px solid var(--line);background:#fff}
 .b .recovery-table tbody :is(th,td){display:block;box-sizing:border-box;width:100%;padding:14px 16px;border-bottom:1px solid var(--line)}
 .b .recovery-table tbody th{font-weight:800;background:#f1f3ed}
 .b .recovery-table tbody tr>:last-child{border-bottom:0}
 .b .recovery-table .table-label{display:block;margin:0 0 5px;font-size:13px;font-weight:800;line-height:1.4;color:var(--forest)}
}
