.cost-page { --cost-cream:#f5f5ed; --cost-border:#dce3d8; }
.cost-page :is(section,div)[id] { scroll-margin-top:100px; }
.cost-page .eyebrow { color:#4e651d; }
.cost-hero { background:var(--cost-cream); border-block:1px solid var(--cost-border); padding:44px 0 48px; }
.cost-hero-grid { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr); gap:55px; align-items:center; }
.cost-hero h1 { font-size:clamp(2.2rem,3.7vw,3.4rem); line-height:1.1; margin:16px 0 22px; }
.cost-hero h1 em,.cost-ai h2 em { font-family:Georgia,serif; font-weight:400; }
.cost-hero p { color:#52636b; max-width:610px; }
.cost-hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:16px 24px; margin-top:25px; font-size:.87rem; font-weight:700; }
.cost-hero .cost-updated { font-size:.73rem; margin:23px 0 0; }
.cost-hero-answer { border-left:3px solid var(--lime); padding:6px 0 6px 30px; }
.cost-hero-answer h2 { font-size:1.5rem; margin:14px 0; line-height:1.25; }
.cost-hero-answer .cost-answer-range { font-size:clamp(1.65rem,2.7vw,2.4rem); }
.cost-hero-answer>.cost-text-link { display:inline-block; margin-top:15px; font-size:.78rem; }
.cost-hero-answer p { font-size:.9rem; }
.cost-hero-answer ul { list-style:none; padding:0; margin:18px 0 0; font-size:.83rem; font-weight:650; }
.cost-hero-answer li { border-top:1px solid var(--cost-border); padding-top:9px; }
.cost-layout { display:grid; grid-template-columns:210px minmax(0,1fr); gap:52px; align-items:start; padding-block:55px 15px; }
.cost-toc { position:sticky; top:105px; font-size:.8rem; }
.cost-toc nav { display:grid; }
.cost-toc strong { font-size:.91rem; padding-bottom:15px; }
.cost-toc a { display:flex; gap:10px; padding:10px 0; text-decoration:none; border-top:1px solid var(--cost-border); color:#4d6470; }
.cost-toc a:hover { color:var(--ink); text-decoration:underline; }
.cost-toc a span { color:#6a8335; font-size:.69rem; padding-top:2px; min-width:18px; }
.cost-content { min-width:0; }
.cost-section { padding-bottom:52px; margin-bottom:48px; border-bottom:1px solid var(--cost-border); }
.cost-heading { max-width:720px; }
.cost-heading h2 { margin:12px 0 20px; font-size:clamp(1.8rem,2.9vw,2.35rem); }
.cost-content p { color:#52636b; }
.cost-content :is(p,li,dd) { font-size:.97rem; }
.cost-content strong { color:var(--ink); }
.cost-content .cost-small { font-size:.78rem; line-height:1.65; }
.cost-price-table { border-radius:5px; margin-block:28px 16px; }
.cost-price-table caption { font-size:.76rem; background:var(--cost-cream); }
.cost-price-table th,.cost-price-table td { padding:18px 16px; font-size:.83rem; min-width:155px; }
.cost-price-table th[scope="row"] { background:#fff; width:24%; font-weight:700; }
.cost-price-table thead th { background:var(--ink); color:white; }
.cost-price-table td:nth-child(2) { width:28%; }
.cost-price-table td strong { display:block; font-size:.95rem; }
.cost-price-table td span { display:block; font-size:.69rem; margin-top:6px; }
.cost-takeaway { border-left:4px solid var(--lime); background:var(--cost-cream); padding:22px 24px; margin-top:28px; }
.cost-takeaway p { margin:8px 0 0; font-size:.91rem; }
.cost-routes { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:25px; margin-top:30px; }
.cost-routes article { border-top:3px solid var(--lime); padding-top:22px; }
.cost-route-number { display:block; font-family:Georgia,serif; font-size:2rem; margin-bottom:17px; }
.cost-routes h3 { font-size:1.13rem; min-height:2.8em; }
.cost-routes :is(p,dd) { font-size:.85rem; }
.cost-routes dt { font-size:.81rem; font-weight:750; margin:18px 0 6px; }
.cost-routes dd { margin:0; color:#52636b; }
.cost-content .cost-inline-note { font-size:.88rem; margin:23px 0 0; border-top:1px solid var(--cost-border); padding-top:20px; }
.cost-ai { background:var(--cost-cream); padding:32px 30px; border:0; border-radius:6px; }
.cost-ai-columns,.cost-outlook { display:grid; grid-template-columns:1fr 1fr; gap:30px; margin-top:30px; }
.cost-ai h3 { font-size:1.07rem; }
.cost-ai-columns p,.cost-outlook p { font-size:.9rem; }
.cost-quote { padding:22px 0; margin:5px 0 20px; border-block:1px solid #cdd6bd; }
.cost-quote p { font-size:1.25rem; font-weight:650; color:var(--ink); line-height:1.5; margin:0 0 10px; }
.cost-quote span { font-size:.76rem; color:#53636a; }
.cost-ai>.cost-small { margin-bottom:0; }
.cost-scenarios article { display:grid; grid-template-columns:200px 1fr; gap:0 28px; padding:25px 0; border-top:1px solid var(--cost-border); }
.cost-scenarios h3 { grid-row:span 2; line-height:1.4; font-size:1.1rem; }
.cost-scenarios p { font-size:.92rem; }
.cost-scenarios p:last-child { margin-bottom:0; }
.cost-expenses { display:grid; grid-template-columns:1fr 1fr; gap:28px; margin-block:30px; }
.cost-expenses>div { padding-top:20px; border-top:2px solid var(--cost-border); }
.cost-expenses p { font-size:.9rem; margin:0; }
.cost-expenses h3 { font-size:1.1rem; margin-bottom:15px; }
.cost-calculator { display:grid; grid-template-columns:1fr 1fr; border:1px solid var(--cost-border); border-radius:8px; overflow:hidden; margin-block:28px 18px; }
.cost-fields { padding:28px; background:var(--cost-cream); }
.cost-fields label { display:block; font-size:.8rem; font-weight:750; line-height:1.5; margin:20px 0 8px; }
.cost-input { display:flex; align-items:center; background:white; border:1px solid #a8b5bc; border-radius:5px; }
.cost-input>span { padding-left:15px; }
.cost-input input { min-width:0; width:100%; font-family:inherit; font-size:1.05rem; font-weight:600; line-height:1.5; padding:11px; border:0; background:transparent; color:var(--ink); }
.cost-input:focus-within { outline:2px solid var(--ink); outline-offset:2px; }
.cost-input input:focus { outline:none; }
.cost-input:has([aria-invalid="true"]) { border-color:#ae2933; }
.cost-fields .cost-error { color:#a01f2b; font-size:.8rem; margin:16px 0 0; }
.cost-results { background:var(--ink); color:white; padding:30px; display:flex; flex-direction:column; justify-content:center; }
.cost-results-label { color:var(--lime); text-transform:uppercase; letter-spacing:.09em; font-size:.71rem; font-weight:750; margin-bottom:20px; }
.cost-results>div { border-bottom:1px solid #496272; padding:12px 0 20px; margin-bottom:16px; }
.cost-results>div>span { font-size:.82rem; }
.cost-results>div output { display:block; font-size:clamp(1.5rem,3vw,2.5rem); font-weight:700; letter-spacing:-.045em; line-height:1.3; margin-top:7px; overflow-wrap:anywhere; }
.cost-results p { color:#e2e9ee; font-size:.83rem; }
.cost-results p output { font-weight:750; color:var(--lime); }
.cost-results .cost-formula { color:#cad7df; font-size:.72rem; margin:0; }
.cost-checklist { list-style:none; padding:0; counter-reset:checks; }
.cost-checklist li { position:relative; counter-increment:checks; padding:18px 0 18px 44px; border-top:1px solid var(--cost-border); margin:0; }
.cost-checklist li:before { content:counter(checks,decimal-leading-zero); position:absolute; left:0; top:17px; font-family:Georgia,serif; font-size:1.3rem; color:#5b772b; }
.cost-checklist p { font-size:.9rem; margin:9px 0 0; }
.cost-text-link { font-weight:700; font-size:.9rem; }
.cost-next-step { margin:24px 0 0; }
.cost-mid-cta { display:flex; align-items:center; justify-content:space-between; gap:25px; background:var(--cost-cream); padding:27px; margin-top:35px; }
.cost-mid-cta h3 { font-size:1.15rem; }
.cost-mid-cta p { font-size:.86rem; margin:0; }
.cost-mid-cta .button { flex-shrink:0; font-size:.8rem; }
.cost-faq .faq summary { font-size:.97rem; }
.cost-faq .faq p { font-size:.91rem; }
.cost-faq.cost-section { padding-bottom:0; margin-bottom:24px; border-bottom:0; }
.cost-sources { border:0; padding:0; margin:0 0 40px; }
.cost-source-details { border-bottom:1px solid var(--cost-border); }
.cost-source-details summary { padding:18px 0; font-size:.84rem; font-weight:700; cursor:pointer; }
.cost-source-body { padding:4px 0 12px; }
.cost-source-body p:last-child { margin-bottom:0; }
.cost-sources :is(p,li) { font-size:.78rem; }
.cost-sources ul { padding:0; list-style:none; }
.cost-sources li { display:grid; grid-template-columns:130px 1fr; gap:20px; padding:10px 0; border-top:1px solid var(--cost-border); }
.cost-sources li a { font-weight:700; }
.cost-sources li span { color:#52636b; }
.cost-sources .source-new-tab { display:block; font-size:.65rem; font-weight:400; }
.cost-more { padding:50px 0; background:var(--cost-cream); border-block:1px solid var(--cost-border); }
.cost-more h2 { margin:14px 0 32px; }
.cost-more .wrap>div { display:grid; grid-template-columns:repeat(3,1fr); gap:32px; }
.cost-more .wrap>div>a { display:block; text-decoration:none; padding-top:18px; border-top:2px solid #bbca9f; }
.cost-more a>span { font-family:Georgia,serif; font-size:1.4rem; }
.cost-more h3 { margin:15px 0; font-size:1.13rem; }
.cost-more a:hover h3 { text-decoration:underline; }
.cost-more p { font-size:.86rem; color:#52636b; margin:0; }
@media(max-width:1080px){.cost-layout{grid-template-columns:180px minmax(0,1fr);gap:28px}.cost-routes{gap:18px}.cost-routes h3{min-height:4em}.cost-hero-grid{gap:30px}.cost-scenarios article{grid-template-columns:160px 1fr}.cost-mid-cta{display:block}.cost-mid-cta .button{margin-top:20px}.cost-results,.cost-fields{padding:22px}}
@media(max-width:850px){.cost-layout{grid-template-columns:1fr;gap:38px}.cost-toc{position:static}.cost-toc nav{grid-template-columns:1fr 1fr;gap:0 25px}.cost-toc strong{grid-column:1/-1}.cost-hero-grid{grid-template-columns:1fr}.cost-hero-answer{padding:4px 0 4px 22px}.cost-hero-answer ul{display:none}.cost-hero-answer p{margin-bottom:0}.cost-hero h1{font-size:clamp(2.2rem,6vw,3.3rem)}.cost-routes h3{min-height:2.8em}}
@media(max-width:600px){.cost-hero{padding:25px 0 32px}.cost-hero-actions{align-items:flex-start;flex-direction:column;gap:17px}.cost-hero p{font-size:.93rem}.cost-hero .cost-updated{font-size:.7rem}.cost-layout{padding-top:30px}.cost-toc nav{gap:0 15px}.cost-toc a{font-size:.72rem}.cost-section{margin-bottom:34px;padding-bottom:34px}.cost-routes,.cost-ai-columns,.cost-expenses,.cost-outlook,.cost-calculator{grid-template-columns:1fr}.cost-routes article{position:relative;padding-left:35px;padding-top:18px}.cost-route-number{position:absolute;left:0;top:14px;font-size:1.5rem}.cost-routes h3{min-height:0}.cost-routes dl{margin-bottom:0}.cost-ai{padding:24px 20px}.cost-ai h2{font-size:1.7rem}.cost-ai-columns{gap:14px;margin-top:22px}.cost-scenarios article{display:block}.cost-scenarios h3{margin-bottom:15px}.cost-expenses{gap:23px}.cost-sources li{grid-template-columns:1fr;gap:6px}.cost-more .wrap>div{grid-template-columns:1fr;gap:26px}.cost-price-table table{min-width:620px}.cost-price-table th,.cost-price-table td{padding:14px;font-size:.79rem}.cost-results>div output{font-size:2.3rem}.cost-outlook{gap:10px}}
