/* Scoped to the proposed cost page; shared site tokens remain authoritative. */
.page-cost .cost-section { padding: var(--section-pad) 0; scroll-margin-top: 110px; }
.page-cost .cost-section:nth-child(even) { background: #fff; }
.page-cost .cost-section-1 { background: var(--clr-teal); padding: 90px 0; }
.page-cost .cost-hero-copy { max-width: 920px; }
.page-cost .cost-hero-copy h1 { color: #fff; font-family: var(--font-display); font-size: clamp(2.6rem, 5vw, 4.2rem); max-width: 21ch; margin-bottom: 22px; }
.page-cost .cost-hero-copy p { color: var(--clr-sand); }
.page-cost .cost-subtitle { color: var(--clr-seaglass) !important; font-size: clamp(1.1rem, 2.2vw, 1.5rem); margin-bottom: 24px; }
.page-cost .cost-section-head { max-width: 850px; margin-bottom: 32px; }
.page-cost h2 { font-family: var(--font-display); font-size: clamp(2rem, 3.2vw, 2.7rem); margin-bottom: 20px; }
.page-cost .cost-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.page-cost .cost-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.page-cost .cost-card { min-width: 0; padding: 30px; background: var(--clr-sand); border: 1px solid var(--clr-limestone); border-top: 4px solid var(--clr-eucalyptus); border-radius: var(--radius-card); box-shadow: var(--shadow-card); }
.page-cost .cost-section:nth-child(odd) .cost-card { background: #fff; }
.page-cost .cost-card h3 { font-size: 1.4rem; margin-bottom: 18px; line-height: 1.3; }
.page-cost .cost-card p { font-size: 1rem; }
.page-cost .cost-card .btn-primary { margin-top: 24px; }
.page-cost .cost-section-2 .cost-card p:first-of-type { font-family: var(--font-display); font-size: 2rem; color: var(--clr-eucalyptus); line-height: 1.2; margin-bottom: 16px; }
.page-cost .cost-note { padding: 24px 0; }
.page-cost .cost-actions { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 28px; }
.page-cost .cost-actions a, .page-cost .cost-card a { white-space: normal; text-align: center; max-width: 100%; }
.page-cost .cost-section-1 .btn-secondary { color: #fff; border-color: var(--clr-seaglass); }
.page-cost .cost-highlight { background: var(--clr-teal); color: #fff; padding: 32px; border-radius: var(--radius-card); margin-top: 30px; }
.page-cost .cost-highlight h3 { color: #fff; margin-bottom: 16px; }
.page-cost .cost-step-number { display: inline-flex; width: 44px; height: 44px; justify-content: center; align-items: center; background: var(--clr-eucalyptus); color: #fff; border-radius: 50%; margin-bottom: 20px; }
.page-cost table { width: 100%; border-collapse: collapse; table-layout: fixed; background: var(--clr-white); font-size: 1rem; }
.page-cost th, .page-cost td { padding: 20px; border: 1px solid var(--clr-limestone); text-align: left; vertical-align: top; overflow-wrap: anywhere; }
.page-cost thead th { background: var(--clr-teal); color: #fff; }
.page-cost th:first-child { width: 34%; }
.page-cost tbody tr:nth-child(even) { background: var(--clr-sand); }
.page-cost .cost-form-card { max-width: 850px; padding: 36px; }
.page-cost .cost-form-card .form-heading { font-size: 2rem; margin-bottom: 28px; }
.page-cost .cost-form-grid { display: grid; gap: 22px; }
.page-cost .field-label { font-size: .95rem; letter-spacing: normal; text-transform: none; }
.page-cost .field-input { font-size: 1rem; min-height: 48px; }
.page-cost .cost-help { font-size: .85rem; margin-top: 12px; }
.page-cost .form-consent { font-size: .9rem; color: var(--clr-espresso); margin-top: 18px; }
.page-cost #cost-form-status { margin-top: 20px; border-left: 4px solid var(--clr-eucalyptus); padding: 16px; background: var(--clr-sand); }
.page-cost .cost-sources { list-style: disc; padding-left: 24px; margin: 20px 0; }
.page-cost .cost-sources li { margin: 12px 0; }
.page-cost .faq-list { margin-top: 28px; }
.page-cost .faq-question { line-height: 1.5; text-align: left; }
.page-cost .faq-answer p { max-width: 78ch; }
.page-cost [hidden] { display: none !important; }
@media (max-width: 900px) {
 .page-cost .cost-grid-3 { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
 .page-cost .cost-section { padding: 56px 0; }
 .page-cost .cost-grid { grid-template-columns: 1fr; gap: 18px; }
 .page-cost .cost-card, .page-cost .cost-form-card, .page-cost .cost-highlight { padding: 24px; }
 .page-cost th, .page-cost td { padding: 12px; font-size: .88rem; }
 .page-cost .cost-actions { flex-direction: column; align-items: stretch; }
 .page-cost input[type=file] { max-width: 100%; padding: 10px 6px; }
}

/* 2026-10-31 price + timeline lines on existing cost cards (page-scoped) */
.page-cost .cost-card .cost-price { display: flex; flex-direction: column; gap: 4px; margin: 0 0 12px; }
.page-cost .cost-card .cost-price-label { font-size: .82rem; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: #5B6770; }
.page-cost .cost-card .cost-price-value { font-family: var(--font-display); font-size: clamp(1.7rem, 2.6vw, 2.1rem); font-weight: 700; line-height: 1.15; color: var(--clr-teal); overflow-wrap: anywhere; }
.page-cost .cost-card .cost-price--local .cost-price-value { font-size: clamp(1.25rem, 2vw, 1.5rem); }
.page-cost .cost-card .cost-timeline { margin: 0 0 18px; }
.page-cost .cost-card .cost-timeline-chip { display: inline-block; padding: 6px 14px; border-radius: 999px; background: rgba(47, 93, 115, .1); border: 1px solid rgba(47, 93, 115, .25); color: var(--clr-eucalyptus); font-size: .85rem; font-weight: 600; line-height: 1.3; }
.page-cost .cost-card h3 .cost-card-title-link { color: inherit; text-decoration: none; }
.page-cost .cost-card h3 .cost-card-title-link:hover, .page-cost .cost-card h3 .cost-card-title-link:focus-visible { color: var(--clr-teal); text-decoration: underline; }
