/* Additions scoped to the new guides, calculator and replacement photographs. */
.la-photo-home { display:block; width:100%; height:auto; aspect-ratio:370/500; object-fit:cover; object-position:51% 50%; }
.la-photo-about { display:block; width:100%; height:auto; aspect-ratio:645/400; object-fit:cover; object-position:50% 58%; margin-top:15px; }
.la-photo-timeline { display:block; width:100%; height:auto; aspect-ratio:525/250; object-fit:contain; }
.la-photo-cta { display:block; width:100%; height:auto; aspect-ratio:860/600; object-fit:cover; object-position:50% 55%; border:10px solid #363636; }
.la-guide .blog-image img,.la-guide-list-image { display:block; width:100%; height:auto; aspect-ratio:855/500; object-fit:cover; }
.la-guide .banner-details h1 { font-size:clamp(30px,4.5vw,60px); overflow-wrap:anywhere; }
.la-guide .blog-data>h3 { margin-top:30px; }
.la-guide .blog-data p { margin-bottom:18px; }
.la-guide .blog-data ul { margin-bottom:22px; }
.la-guide .col-lg-8 { min-width:0; }
.la-guide-table-wrap { max-width:100%; overflow-x:auto; margin:24px 0; -webkit-overflow-scrolling:touch; }
.la-guide-table { width:100%; min-width:520px; border-collapse:collapse; color:#222; background:#fff; font-size:16px; line-height:1.6; }
.la-guide-table caption { caption-side:top; padding:10px 0; font-weight:700; color:inherit; text-align:left; }
.la-guide-table th,.la-guide-table td { padding:14px; border:1px solid #ddd; text-align:left; vertical-align:top; }
.la-guide-table thead { background:#881316; color:#fff; }
.la-guide-table tbody th { width:26%; background:#f4f4f4; font-weight:600; }
.la-guide-table tbody tr:nth-child(even) td { background:#fafafa; }
.la-guide-sources { margin-top:34px; padding-top:20px; border-top:1px solid #ccc; }
.la-guide-sources p,.la-guide-sources li { font-size:15px; }
.la-guide-sources ul { list-style:disc; padding-left:22px; }
.la-guide-sources a { text-decoration:underline; overflow-wrap:anywhere; }
.la-guide-cta { margin-top:32px; padding:24px; background:#f5f5f5; border-left:5px solid #881316; color:#222; }
.la-guide-cta h3 { color:inherit; }
.la-guide-cta p { color:#222; }
.la-guide-cta .theme-btn { display:inline-flex; max-width:100%; white-space:normal; }
.la-guide-series { margin-bottom:28px; padding:18px; background:#f5f5f5; border-left:4px solid #881316; }
.la-guide-series p { margin:0; color:#222; }
.la-guide-summary { margin-top:18px; }
.la-cost { padding:24px; margin:28px 0; border:1px solid #ccc; background:#fafafa; color:#222; border-radius:3px; }
.la-cost h4 { font-size:21px; margin:0 0 16px; color:inherit; }
.la-cost p { color:inherit; }
.la-cost fieldset { min-width:0; border:0; padding:0; margin:0 0 24px; }
.la-cost legend { float:none; width:auto; font-size:20px; font-weight:700; margin-bottom:14px; }
.la-cost-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.la-cost-field label { display:block; font-size:15px; font-weight:600; margin-bottom:6px; line-height:1.4; color:inherit; }
.la-cost-field input[type=number] { width:100%; height:44px; padding:8px 10px; border:1px solid #777; background:#fff; color:#222; font-size:17px; border-radius:3px; }
.la-cost-field input[type=range] { width:100%; margin:12px 0 2px; accent-color:#881316; }
.la-cost input:focus-visible,.la-cost button:focus-visible,.la-guide-table-wrap:focus-visible { outline:3px solid #1276b9; outline-offset:3px; }
.la-cost details { margin:18px 0; }
.la-cost summary { cursor:pointer; font-weight:700; margin-bottom:16px; }
.la-cost-actions { display:flex; gap:12px; flex-wrap:wrap; margin:20px 0; }
.la-cost button { padding:10px 16px; border:2px solid #881316; background:#881316; color:#fff; border-radius:3px; font:600 16px Arial,sans-serif; cursor:pointer; }
.la-cost button[data-la-reset] { background:#fff; color:#881316; }
.la-cost-results { border-top:2px solid #881316; padding-top:20px; }
.la-cost-totals { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:18px 0; }
.la-cost-totals>div { background:#fff; padding:14px 10px; border:1px solid #ccc; }
.la-cost-totals h5 { font-size:15px; line-height:1.4; margin:0 0 12px; color:#222; }
.la-cost-totals output { display:block; font-size:23px; line-height:1.3; font-weight:700; color:#881316; overflow-wrap:anywhere; }
.la-cost-note { font-size:14px; }
.la-cost-error { padding:12px; border-left:4px solid #a00000; background:#fff1f1; color:#7c0000!important; }
.la-cost [hidden] { display:none!important; }
@media(max-width:600px) {
 .la-cost { padding:16px; }
 .la-cost-grid,.la-cost-totals { grid-template-columns:1fr; }
 .la-guide-cta { padding:18px; }
 .la-photo-cta { border-width:7px; }
}
