.cost-page .cost-hero{padding-top:32px;padding-bottom:30px;max-width:1050px}
.cost-page .cost-hero h1{font-size:clamp(2.3rem,5vw,4.2rem);line-height:1.12;margin:18px 0}
.cost-hero .lede{max-width:810px}.cost-page .prose{min-width:0}
.cost-page .toc nav{display:grid;gap:12px}.cost-page .toc nav a{margin:0}
.cost-page section,.cost-page details[id]{scroll-margin-top:110px}
.cost-page :is(a,button,input,select,summary):focus-visible{outline:3px solid #3454c6;outline-offset:4px}
.cost-page fieldset{min-width:0;border:0;padding:0;margin:0}
.cost-page legend{font-weight:700;font-size:20px;color:#20365c;margin-bottom:18px;padding:0}
.cost-page label{display:grid;gap:8px;color:#20365c;font-size:16px;line-height:1.5;font-weight:600;min-width:0}
.cost-page input,.cost-page select{width:100%;max-width:100%;min-width:0;min-height:46px;border:1px solid #bccce7;border-radius:8px;background:#fff;color:#20365c;padding:10px 12px;font:inherit;font-size:16px}
.cost-page [aria-invalid=true]{border-color:#a72b2b;box-shadow:0 0 0 1px #a72b2b}
.cost-inputs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.cost-page .cost-assumptions{margin:22px 0;padding:0;border-top:1px solid #d7e1f1;border-bottom:1px solid #d7e1f1}
.cost-assumptions summary,.inventory-row summary{cursor:pointer;font-weight:700;color:#20365c;line-height:1.5;padding:16px 8px}
.cost-assumptions .cost-inputs{grid-template-columns:repeat(2,minmax(0,1fr));margin:12px 0 22px}
.cost-assumptions li{font-size:16px;line-height:1.65;margin-bottom:10px}
.cost-result{padding:24px;border:1px solid #cddbf2;border-left:4px solid #3454c6;background:#edf2fc;border-radius:10px;margin:24px 0}
.cost-result>span{display:block;color:#304b83;font-weight:700;font-size:16px}
.cost-result>strong{display:block;font-size:44px;line-height:1.25;color:#294ac3;margin:8px 0}
.cost-page .cost-result p{font-size:16px;line-height:1.65;margin:0}
.cost-page .cost-table{margin:24px 0;min-width:0}
.cost-table table{width:100%;min-width:0;table-layout:fixed;border-collapse:collapse}
.cost-table caption{font-weight:700;text-align:left;padding:0 0 14px;color:#20365c;font-size:17px;line-height:1.5}
.cost-table :is(th,td){white-space:normal;overflow-wrap:anywhere;vertical-align:top;padding:15px 12px;font-size:15px;line-height:1.65;text-align:left}
.cost-table thead th{background:#eaf0fa}.cost-table tbody th{font-weight:700;color:#20365c}
.cost-page .cost-table th:first-child{width:25%}
.cost-page #section-1 .cost-table th:last-child{width:18%}
.cost-page .micro{font-size:14px;line-height:1.65}
.cost-page .inventory-row{border:1px solid #d2ddef;border-radius:9px;padding:0 16px;margin:12px 0;background:#fff}
.inventory-row[open]{padding-bottom:18px}.inventory-row label{margin-top:14px}.inventory-row p{font-size:16px;line-height:1.6}
.cost-review-date{max-width:280px;margin-bottom:20px}
.record-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.cost-page .record-actions .button{font:inherit;font-size:15px;font-weight:700;cursor:pointer;padding:14px 18px;white-space:normal}
.cost-reset{font:inherit;font-size:14px;padding:10px 0;color:#385486;border:0;background:none;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.cost-page .compact-closing{margin-top:44px}.cost-page .article-offer .button{white-space:normal;text-align:center}
.cost-page [hidden]{display:none!important}
@media(max-width:1000px){
 .cost-page .cost-table table{display:block}.cost-table thead{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
 .cost-page .cost-table :is(tbody,tr,th,td){display:block;width:auto!important}.cost-table tbody{display:grid;gap:16px}
 .cost-table tr{border:1px solid #d7e1f1;border-radius:10px;overflow:hidden}.cost-table tbody th{background:#eaf0fa;border:0;font-size:17px}
 .cost-table td{border:0;border-top:1px solid #edf2fb}.cost-table td:before{content:attr(data-label);display:block;font-weight:700;color:#20365c;margin-bottom:4px}
 .cost-table caption{display:block}.cost-page .closing{gap:24px}
}
@media(max-width:600px){
 .cost-page .cost-hero{padding-top:20px;padding-bottom:22px}.cost-page .cost-hero .lede{font-size:18px}
 .cost-hero .actions{gap:14px}.cost-page .cost-hero .button{padding:14px 16px;font-size:15px;white-space:normal}
 .cost-inputs,.cost-assumptions .cost-inputs{grid-template-columns:1fr;gap:15px}.cost-result{padding:18px}
 .cost-page .cost-table :is(th,td){padding:13px 15px}.cost-page .closing{padding:28px 18px}.cost-page .compact-closing h2{font-size:32px}
}
