.resource-intro { padding: 42px 0 52px; }
.resource-intro h1 { max-width: 1000px; font-size: clamp(2.2rem, 4.3vw, 4.2rem); line-height: 1.09; letter-spacing: -.045em; margin: 20px 0 24px; }
.resource-intro .lead { max-width: 790px; font-size: 1.15rem; line-height: 1.75; color: #4d625b; }
.resource-section { padding: 16px 0 62px; }
.resource-section > h2 { font-size: 2rem; margin-bottom: 28px; }
.resource-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.resource-card { display: flex; flex-direction: column; padding: 28px; border: 1px solid #d5dfd8; border-radius: 15px; background: #fff; text-decoration: none; transition: border-color .2s; }
.resource-card:hover { border-color: #266747; }
.resource-card h3 { font-size: 1.4rem; margin: 16px 0; line-height: 1.25; }
.resource-card p { color: #4d625b; line-height: 1.7; margin-bottom: 28px; }
.resource-card .text-link { margin-top: auto; }
.resource-downloads { background: #edf3e9; padding: 38px; border-radius: 20px; margin-bottom: 70px; }
.resource-downloads h2 { font-size: 2rem; margin: 14px 0; }
.resource-downloads p { max-width: 720px; line-height: 1.7; }
.resource-links { display: grid; gap: 12px; margin-top: 22px; }
.resource-links a { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px 0; border-bottom: 1px solid #cbd6ce; font-weight: 650; text-decoration: none; }
.resource-links .icon { flex: 0 0 20px; }
.reading-layout { display: grid; grid-template-columns: minmax(0, 2.2fr) minmax(260px, 1fr); gap: 70px; align-items: start; padding-bottom: 60px; }
.reading-body { min-width: 0; }
.resource-date { color: #53645b; font-size: .85rem; margin-bottom: 24px; }
.article-toc { padding: 26px; background: #f0f3ed; border-radius: 12px; margin-bottom: 40px; }
.article-toc strong { display: block; margin-bottom: 12px; }
.article-toc ol { padding-left: 22px; display: grid; gap: 10px; }
.article-toc a { text-underline-offset: 4px; }
.reading-section { margin-bottom: 38px; scroll-margin-top: 130px; }
.reading-section h2, .article-checklist h2, .article-related h2, .calculator-method h2 { font-size: clamp(1.5rem, 2.5vw, 2rem); line-height: 1.25; margin: 0 0 20px; letter-spacing: -.03em; }
.reading-body p, .reading-section li { font-size: 1.025rem; line-height: 1.85; color: #334b40; margin-bottom: 18px; }
.reading-section ul { padding-left: 24px; }
.article-checklist { padding: 28px; background: #eef5e7; border-radius: 16px; margin: 42px 0; }
.article-checklist ul { padding: 0; list-style: none; display: grid; gap: 17px; }
.article-checklist li { display: flex; align-items: flex-start; gap: 12px; line-height: 1.65; }
.article-checklist .icon { flex: 0 0 20px; margin-top: 4px; }
.article-related { margin-top: 42px; }
.reading-aside { position: sticky; top: 115px; }
.reading-offer { border: 1px solid #cdd9cb; background: #edf4e7; border-radius: 18px; padding: 30px; }
.reading-price { font-size: 2.6rem; font-weight: 750; letter-spacing: -.05em; margin: 16px 0; }
.reading-price span { font-size: 1rem; font-weight: 500; letter-spacing: 0; margin-left: 8px; }
.reading-offer > p:not(.reading-price):not(.eyebrow) { line-height: 1.7; margin: 16px 0; }
.reading-promise { font-weight: 650; }
.reading-offer .button { width: 100%; margin: 12px 0 20px; }
.reading-local { padding: 30px 8px; }
.reading-local h2 { font-size: 1.25rem; margin-bottom: 14px; }
.reading-local p { line-height: 1.7; color: #4d625b; }
.reading-local a { display: block; margin-top: 18px; font-weight: 600; }
.calculator-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; align-items: start; margin-bottom: 52px; }
.cost-form { border: 1px solid #d1dbd1; border-radius: 18px; padding: 32px; }
.cost-form h2 { font-size: 1.6rem; margin-bottom: 26px; }
.cost-form label { display: block; font-weight: 600; margin-bottom: 9px; }
.cost-form input { display: block; width: 100%; padding: 14px 16px; border: 1px solid #899e90; border-radius: 8px; font: inherit; color: #173f31; background: #fff; margin-bottom: 24px; }
.cost-note { font-size: .85rem; line-height: 1.65; margin-top: 22px; color: #4d625b; }
.cost-results { border-radius: 18px; padding: 38px; background: #123e35; color: #fff; }
.cost-results .eyebrow { color: #c5e89c; }
.cost-total { font-size: clamp(2.5rem, 5vw, 4rem); font-weight: 750; letter-spacing: -.05em; margin: 18px 0; overflow-wrap: anywhere; }
.cost-results > p { line-height: 1.65; }
.cost-results dl { margin: 30px 0; }
.cost-results dl > div { border-top: 1px solid #5b7b67; padding: 22px 0; }
.cost-results dt { color: #d4e3d6; line-height: 1.6; }
.cost-results dd { margin: 10px 0 0; font-size: 1.5rem; font-weight: 600; }
.cost-results .button { margin-top: 28px; }
.calculator-method { max-width: 800px; padding-bottom: 50px; }
.footer-resources { padding-bottom: 34px; display: flex; flex-wrap: wrap; gap: 18px 30px; }
.footer-resources a { font-size: .85rem; text-decoration: underline; text-underline-offset: 5px; }
.service-guide-links { display: flex; flex-wrap: wrap; gap: 12px 24px; margin-top: 20px; }
.service-guide-links a { display: inline-flex; align-items: center; gap: 8px; font-size: .85rem; font-weight: 650; text-underline-offset: 5px; }
.service-guide-links .icon { width: 16px; height: 16px; flex: 0 0 16px; }
.feature-guides { padding-top: 55px; padding-bottom: 10px; }
.feature-guides h2 { font-size: 2rem; margin: 12px 0 26px; }
.guide-teasers { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; }
.guide-teasers article { border-top: 1px solid #cbd6ce; padding-top: 22px; }
.guide-teasers h3 { font-size: 1.2rem; line-height: 1.5; margin-bottom: 12px; }
.guide-teasers h3 a { display: flex; align-items: center; justify-content: space-between; gap: 20px; text-underline-offset: 5px; }
.guide-teasers .icon { width: 20px; height: 20px; flex: 0 0 20px; }
.guide-teasers p { color: #4d625b; line-height: 1.75; }
@media(max-width: 650px) { .guide-teasers { grid-template-columns: 1fr; gap: 24px; } }
@media(max-width: 1000px) { .resource-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .reading-layout { gap: 32px; } .reading-offer { padding: 22px; } }
@media(max-width: 760px) { .resource-grid, .reading-layout, .calculator-layout { grid-template-columns: 1fr; } .resource-intro { padding: 24px 0 32px; } .resource-intro .lead { font-size: 1.05rem; } .reading-aside { position: static; } .resource-card, .resource-downloads, .cost-form, .cost-results { padding: 24px; } .resource-section { padding-bottom: 38px; } .reading-layout { padding-bottom: 28px; } }
@media print { .header, .topbar, .footer, .mobile-contact, .cta-section, .reading-aside, .article-toc, .article-related { display: none; } .reading-layout { display: block; } .reading-section, .article-checklist { break-inside: avoid; } }
