/* Size tracks and their children to available space, without clipping content. */
body {overflow-wrap:break-word}
.wrap,main,section,article,aside,form,fieldset,nav {min-width:0;max-width:100%}
.hero-grid {grid-template-columns:minmax(0,1fr) minmax(0,1.05fr)}
.field-grid,.resources {grid-template-columns:repeat(2,minmax(0,1fr))}
.product-split {grid-template-columns:minmax(0,2fr) minmax(0,1fr)}
.foot-grid {grid-template-columns:minmax(0,2fr) repeat(2,minmax(0,1fr))}
.filters {grid-template-columns:minmax(0,2fr) repeat(2,minmax(0,1fr))}
.industry-grid {grid-template-columns:repeat(5,minmax(0,1fr))}
.hero-grid>*,.field-grid>*,.product-split>*,.resources>*,.article-layout>*,.foot-grid>*,.filters>*,.grid>*,.section-head>*,.result-summary>*,.band>*,.button-row>* {min-width:0}
input,select,textarea {min-width:0;max-width:100%;font-size:16px}
a,p,li,dt,dd,h1,h2,h3,.tag,.notice-inline {overflow-wrap:anywhere}
.brand {overflow-wrap:normal;flex-shrink:0}
.btn {max-width:100%;white-space:normal;text-align:center;overflow-wrap:anywhere}
.tag {max-width:100%}
.table-wrap {min-width:0;max-width:100%}
.table-wrap table {table-layout:fixed}
.scroll-table th,.scroll-table td {overflow-wrap:anywhere;min-width:0!important}
.check-row input {flex:0 0 22px}
.cost-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.cost-card h2 {font-size:1.6rem;margin-bottom:12px}
.cost-amount {font-size:2.25rem;font-weight:800;line-height:1.25;color:var(--ink)!important}
.cost-amount span {display:block;font-size:.875rem;font-weight:500;color:var(--muted);margin-top:6px}
.cost-breakdown {margin:8px 0 24px}
.cost-breakdown>div {display:grid;grid-template-columns:minmax(0,1fr) auto;gap:15px;border-bottom:1px solid var(--line);padding:12px 0}
.cost-breakdown dt {color:var(--muted)}
.cost-breakdown dd {margin:0;font-variant-numeric:tabular-nums;font-weight:700;text-align:right}
.cost-total {font-size:1.05rem;background:var(--blue-light)}
.space-top {margin-top:40px}
nav a {padding:10px 0}
@media(max-width:1000px){
 .industry-grid {grid-template-columns:repeat(3,minmax(0,1fr))}
 nav {gap:13px}
 .head-inner {gap:16px}
 .brand {font-size:1.2rem}
}
@media(max-width:760px){
 .hero-grid,.product-split,.resources,.article-layout,.filters,.cost-grid {grid-template-columns:minmax(0,1fr)}
 .foot-grid,.industry-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
 .head-inner {gap:0}
 .brand {font-size:1.25rem}
 .menu-btn {flex-shrink:0;min-height:44px}
 nav {gap:3px}
 nav a {padding:12px;border-radius:7px}
 nav a.active {background:var(--blue-light)}
 .hero h1 {font-size:clamp(2rem,8vw,2.6rem)}
 .aside {grid-row:auto}
 .article-layout>.aside {order:2}
 /* Comparisons become labelled vertical records. No sideways reading. */
 .table-wrap {overflow:visible;border:0;background:transparent;border-radius:0}
 .table-wrap table,.table-wrap tbody,.table-wrap tr,.table-wrap td,.table-wrap th {display:block;width:100%;min-width:0!important;max-width:100%;position:static!important}
 .table-wrap thead {position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
 .table-wrap tbody tr {margin-bottom:16px;border:1px solid var(--line);border-radius:10px;background:white}
 .table-wrap tbody th {border-radius:9px 9px 0 0;background:#e9eff7;padding:13px 15px}
 .table-wrap tbody td {padding:14px 15px;border-bottom:1px solid var(--line)}
 .table-wrap tbody tr td:last-child {border-bottom:0}
 .table-wrap td[data-label]::before {content:attr(data-label);display:block;font-weight:750;font-size:.8rem;color:var(--blue);margin-bottom:6px}
 .scroll-table td:first-child,.scroll-table th:first-child {min-width:0;background:#e9eff7}
 .button-row {align-items:stretch}
 .button-row>.btn {flex:1 1 220px}
 .band>.btn {width:100%}
 .comparison-selection {display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
 .comparison-selection label {min-width:0;overflow-wrap:anywhere}
}
@media(max-width:560px){
 .field-grid {grid-template-columns:minmax(0,1fr);gap:0}
 .quiz,.card,.article {padding:20px}
 .callout,.result-summary {padding:18px}
 .article .callout {padding:16px}
 .cost-breakdown>div {grid-template-columns:minmax(0,1fr);gap:4px}
 .cost-breakdown dd {text-align:left}
 .compare-tray {position:static}
 .compare-tray .btn {width:100%}
}
@media(max-width:380px){
 .wrap {padding-left:14px;padding-right:14px}
 .brand {font-size:1.1rem;gap:7px}
 .brand-mark {font-size:.875rem;padding:7px}
 .menu-btn {padding:8px 10px}
 .foot-grid {grid-template-columns:minmax(0,1fr)}
 .quiz,.card,.article {padding:17px}
 .comparison-selection {grid-template-columns:minmax(0,1fr)}
 .band {padding:20px}
}
@media print{
 #cost-form,#cost-download {display:none}
 .cost-grid {display:block}
 .cost-card {break-inside:avoid}
 .table-wrap table {table-layout:auto}
}
/* Brand marks retain their original proportions, with reserved space to avoid layout shifts. */
.logo-tile{width:100%;height:120px;min-height:120px;padding:24px 0;background:transparent;border-radius:0;display:flex;align-items:center;justify-content:flex-start;margin:0 0 18px;color:var(--ink)}
.provider-logo{display:block;width:180px;max-width:100%;height:72px;object-fit:contain;object-position:left center}
.logo-fallback{font-size:1.5rem;font-weight:800;overflow-wrap:anywhere}
@media(max-width:380px){.provider-logo{width:160px}.logo-tile{height:112px;min-height:112px;padding:20px 0}}
