/* Page-specific layout; shared branding and navigation remain in styles.css. */
.renovation-page .content-page { max-width: 1300px; }
.renovation-page h1 { font-size: clamp(2.5rem, 4.5vw, 4.3rem); line-height: 1.05; }
.renovation-page h2 { margin-top: 0; font-size: clamp(2rem, 3.6vw, 3.2rem); max-width: 850px; }
.renovation-page h3 { font-family: Georgia, "Times New Roman", serif; font-weight: 400; line-height: 1.2; }
.renovation-page [id] { scroll-margin-top: 105px; }
.renovation-hero { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: clamp(1.8rem, 4vw, 4rem); }
.renovation-hero > div, .renovation-hero figure { min-width: 0; }
.renovation-hero .renovation-lead { font-size: 1.16rem; color: var(--ink); }
.renovation-hero figure { margin: 0; border: 1px solid var(--line); background: white; }
.renovation-hero img { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; }
.renovation-hero figcaption { padding: .9rem 1.1rem; font-size: .78rem; color: var(--muted); }
.renovation-hero figcaption a { display: block; font-weight: 750; color: var(--ink); text-underline-offset: .2em; }
.renovation-page .button { display: inline-flex; justify-content: center; align-items: center; min-height: 48px; }
.renovation-page .button-outline { border: 1px solid var(--ink); }
.renovation-trust { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); padding: 0; margin: 3rem 0 0; list-style: none; border-block: 1px solid var(--line); }
.renovation-trust li { display: grid; align-content: start; padding: 1.2rem 1rem; gap: .25rem; }
.renovation-trust li + li { border-left: 1px solid var(--line); }
.renovation-trust strong { color: var(--ink); font-size: .88rem; }
.renovation-trust span { font-size: .8rem; }
.renovation-toc { display: flex; flex-wrap: wrap; justify-content: flex-start; gap: .5rem 1.5rem; padding-block: 1.3rem; border-bottom: 1px solid var(--line); }
.renovation-toc a { display: inline-block; padding: .4rem 0; font-size: .85rem; font-weight: 750; text-underline-offset: .3em; }
.renovation-section { margin-top: clamp(3.5rem, 6vw, 6rem); }
.renovation-section-intro { max-width: 800px; margin-bottom: 2rem; }
.renovation-services { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; background: var(--line); border: 1px solid var(--line); }
.renovation-services article { min-width: 0; padding: 1.6rem; background: var(--paper); display: flex; flex-direction: column; align-items: flex-start; }
.renovation-services h3 { font-size: 1.5rem; margin: 1.2rem 0 .8rem; }
.renovation-services p { font-size: .95rem; }
.renovation-services a { font-weight: 750; font-size: .85rem; text-underline-offset: .25em; padding: .35rem 0; }
.renovation-services p + a { margin-top: auto; }
.renovation-proof { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.renovation-proof figure { margin: 0; background: white; border: 1px solid var(--line); min-width: 0; }
.renovation-proof img { width: 100%; height: auto; max-height: 540px; object-fit: contain; background: var(--paper-2); }
.renovation-proof figcaption { padding: .9rem 1rem; color: var(--muted); font-size: .83rem; }
.renovation-proof strong { color: var(--ink); }
.renovation-project-links { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 2rem; gap: 1rem; }
.renovation-project-links a { display: grid; gap: .75rem; padding: 1.4rem; background: white; border-top: 2px solid var(--gold); text-decoration: none; }
.renovation-project-links span { font-size: .75rem; color: var(--gold-text); font-weight: 750; }
.renovation-project-links strong { font-family: Georgia, serif; font-size: 1.3rem; font-weight: 400; line-height: 1.25; }
.renovation-project-links small { align-self: end; color: var(--muted); }
.renovation-project-links a:hover small { text-decoration: underline; text-underline-offset: .2em; }
.renovation-budget { display: grid; grid-template-columns: 1.15fr .85fr; gap: clamp(2rem, 4vw, 4rem); align-items: start; padding-top: 3rem; border-top: 1px solid var(--line); }
.renovation-budget ul { padding-left: 1.2rem; }
.renovation-budget li { padding-bottom: .65rem; font-size: .95rem; }
.renovation-estimate { background: var(--ink); color: white; padding: clamp(1.5rem, 3vw, 2.5rem); }
.renovation-estimate h3 { font-size: 2rem; }
.renovation-estimate .section-kicker { color: var(--gold-light); }
.renovation-estimate p, .renovation-estimate li { color: rgba(255,255,255,.8); }
.renovation-estimate .button { margin-block: .5rem 1rem; width: 100%; }
.renovation-estimate .renovation-small { font-size: .8rem; margin-bottom: 0; }
.renovation-page .process-list li { grid-template-columns: 130px minmax(0, 1fr); }
.renovation-page .process-list h3 { font-size: 1.5rem; }
.renovation-local { display: grid; grid-template-columns: 1.4fr .6fr; gap: 2.5rem; padding-top: 3rem; border-top: 1px solid var(--line); }
.renovation-local aside { padding: 1.5rem; align-self: start; background: var(--paper-2); }
.renovation-local h3 { font-size: 1.65rem; }
.renovation-local aside p:not(.section-kicker) { font-size: .92rem; }
.renovation-page .page-cta h2 { color: white; }
.renovation-page .renovation-contact-email { margin: 1.5rem 0 0; font-size: .9rem; overflow-wrap: anywhere; }
.renovation-page .footer-links { flex-wrap: wrap; }
@media (max-width: 1000px) { .renovation-services { grid-template-columns: 1fr 1fr; } }
@media (max-width: 800px) {
 .renovation-hero, .renovation-budget, .renovation-local { grid-template-columns: 1fr; }
 .renovation-project-links { grid-template-columns: 1fr; }
 .renovation-hero { gap: 2rem; }
 .renovation-hero .actions { margin-top: 1.5rem; }
 .renovation-trust { grid-template-columns: 1fr; margin-top: 2rem; }
 .renovation-trust li { padding: 1rem 0; }
 .renovation-trust li + li { border-left: 0; border-top: 1px solid var(--line); }
}
@media (max-width: 540px) {
 .renovation-services, .renovation-proof { grid-template-columns: 1fr; }
 .renovation-page .process-list li { grid-template-columns: 1fr; gap: .5rem; }
 .renovation-proof img { max-height: none; }
 .renovation-page .actions { display: grid; }
 .renovation-page .button { width: 100%; }
 .renovation-page .content-page { padding-top: 2rem; }
 .renovation-toc { gap: .25rem 1rem; }
}
@media (prefers-reduced-motion: reduce) {
 .renovation-page { scroll-behavior: auto; }
 html:has(.renovation-page) { scroll-behavior: auto; }
 .renovation-page .button:hover { transform: none; }
}
