/* Extend the existing typography, warm paper and brass accents without replacing the design. */
.priority-intro .opening-copy h1{font-size:clamp(35px,4.1vw,62px);line-height:1.08;max-width:17ch;text-wrap:balance}
.priority-intro .opening-copy>p{max-width:52ch}
.priority-intro .opening-photo figcaption{font-size:12px;color:var(--muted);padding-top:8px}
.service-explanation,.service-estimate{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:8%}
.service-explanation h2,.service-estimate h2,.roof-decisions h2,.service-faq h2{font-size:clamp(28px,3vw,40px);line-height:1.15;letter-spacing:-.035em}
.service-explanation h3,.roof-decisions h3,.project-context h3{font-size:21px;line-height:1.35;letter-spacing:-.02em}
.service-explanation p,.service-estimate p,.service-estimate li,.service-faq p,.roof-decisions p,.project-context p{font-size:16px;line-height:1.8;color:var(--muted);margin-top:14px}
.service-explanation article+article{margin-top:30px;padding-top:28px;border-top:1px solid var(--line)}
.service-explanation .material-note{font-size:14px;margin-top:25px;border-left:2px solid #b79b64;padding-left:18px}
.material-note a{text-decoration:underline;text-underline-offset:3px}
.service-estimate ul{padding-left:22px;margin:0}.service-estimate li{padding-left:8px}
.roof-decisions>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);margin-top:30px}
.roof-decisions a{display:block;background:var(--paper);padding:28px}.roof-decisions a:hover{background:#eee9df}
.service-faq{max-width:1000px}.service-faq h2{margin-bottom:28px}.service-faq details{border-top:1px solid var(--line)}.service-faq details:last-child{border-bottom:1px solid var(--line)}
.service-faq summary{cursor:pointer;font-size:18px;font-weight:700;line-height:1.5;padding:21px 28px 21px 0;min-height:48px}.service-faq details p{margin:0;padding:0 26px 24px 0;max-width:75ch}
.project-context{max-width:860px;padding:22px 0 32px}.project-context nav{display:flex;flex-wrap:wrap;gap:6px 24px;margin-top:12px}.project-context nav a{display:inline-flex;gap:16px;align-items:center;min-height:44px;font-size:14px;text-decoration:underline;text-underline-offset:4px}
.evidence-note{font-size:14px;line-height:1.7;margin-top:16px;color:var(--muted);max-width:85ch}
.reference-evidence{scroll-margin-top:110px}.reference-evidence+.reference-evidence{margin-top:28px}
.home-services .service-tiles{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.home-services .service-tile .picture{height:auto;aspect-ratio:1.7}
.home-services .tile-caption{min-height:76px;padding:18px 20px;gap:12px}
.home-services .tile-caption h3{flex:1;font-size:clamp(17px,2vw,20px);line-height:1.3}
.home-services .tile-arrow{position:static;transform:none;flex:none;margin:0;font-size:22px;line-height:1}
.secondary-services{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 28px;margin-top:24px}.secondary-services a{display:flex;align-items:center;gap:15px;min-height:44px;font-size:14px;border-bottom:1px solid var(--line)}
.hero-image-footer .concept-note{font-size:11px;color:#fff;background:#20231fe6;padding:5px 8px}
.embed-placeholder{min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px;padding:28px 24px;text-align:center;border:1px solid var(--line);background:#f0eee8}.embed-placeholder p{max-width:40ch;font-size:14px;color:var(--muted);line-height:1.7}
.embed-load{border:1px solid currentColor;padding:12px 18px;min-height:44px;background:transparent;cursor:pointer;font:inherit;font-weight:700;color:inherit}.embed-load:hover{background:#d8c49b33}
.facebook-placeholder .embed-load{font-size:14px}
.photo-guidance{font-size:13px;line-height:1.7;color:var(--muted);margin:0 0 22px}.photo-guidance a{text-decoration:underline;text-underline-offset:3px}
.enquiry-section .photo-guidance{color:#c9cec4}
/* Keep the added location and photo guidance inside the form's reading order. */
.enquiry-panel #inquiry-form{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"name name" "contact contact" "service location" "message message" "photos photos" "bottom bottom" "method method" "status status";grid-template-rows:none;align-content:start;flex:none}
.enquiry-panel #inquiry-form>.form-field:has(#name){grid-area:name}
.enquiry-panel #inquiry-form>.contact-fields{grid-area:contact}
.enquiry-panel #inquiry-form>.form-field:has(#service){grid-area:service}
.enquiry-panel #inquiry-form>.form-field:has(#location){grid-area:location}
.enquiry-panel #inquiry-form>.form-field:has(#message){grid-area:message}
.enquiry-panel #inquiry-form>.photo-guidance{grid-area:photos;margin:0;max-width:75ch}
.enquiry-panel #inquiry-form>.form-bottom{grid-area:bottom}
.enquiry-panel #inquiry-form>.email-method{grid-area:method}
.enquiry-panel #inquiry-form>#form-status{grid-area:status}
.enquiry-panel #inquiry-form>.form-field:has(#service),.enquiry-panel #inquiry-form>.form-field:has(#location){align-self:end}
.enquiry-section #form-status:not(:empty){background:#2c322b;color:#f6f3eb;border-left-color:#d4b77e}
.enquiry-section #form-status[data-state=invalid],.enquiry-section #form-status[data-state=error]{color:#ffb0a9;border-left-color:#ff8e87}
.enquiry-section #form-status[data-state=sent]{color:#c3e9bf;border-left-color:#94c48d}
.service-results .evidence-note{margin-top:20px;max-width:40ch;font-size:14px;line-height:1.75}
@media(min-width:1200px){.home-page .enquiry-compact #inquiry-form{grid-template-columns:repeat(4,minmax(0,1fr));grid-template-areas:"name contact contact service" "location message message message" "photos photos photos bottom" "method method method method" "status status status status"}.home-page .enquiry-compact #inquiry-form>.form-field:has(#location){align-self:start}}
@media(max-width:900px){.js .navigation{max-height:calc(100dvh - var(--header-height));overflow-y:auto;overscroll-behavior:contain}}
@media(max-width:650px){.enquiry-panel #inquiry-form{grid-template-columns:minmax(0,1fr);grid-template-areas:"name" "contact" "service" "location" "message" "photos" "bottom" "method" "status"}.service-results .evidence-note{flex-basis:100%;margin-top:0;max-width:60ch}}
@media(max-width:360px){.enquiry-panel .form-columns{grid-template-columns:1fr;gap:14px}.home-services .service-tile h3{font-size:17px}}
[hidden]{display:none!important}
@media(max-width:700px){.service-explanation,.service-estimate{grid-template-columns:1fr;gap:28px}.priority-intro .opening-copy h1{max-width:20ch}.roof-decisions>div{grid-template-columns:1fr}.roof-decisions a{padding:23px}.service-faq summary{font-size:16px}.home-services .service-tiles{gap:12px}.home-services .service-tile h3{font-size:16px}.home-services .tile-caption{padding:16px 12px}.home-services .tile-caption svg{display:none}.secondary-services{gap:3px 20px;justify-content:flex-start}}
/* Photos and titles share one compact row on phones. Scope the complete layout
   together so the older desktop caption/arrow rules cannot split it apart. */
@media(max-width:650px){
 .embed-placeholder{min-height:0;padding:24px 20px}
 .home-page .home-services .service-tiles{grid-template-columns:minmax(0,1fr);gap:12px}
 .home-page .home-services .service-tile{display:grid;grid-template-columns:96px minmax(0,1fr);align-items:stretch;min-height:100px}
 .home-page .home-services .service-tile>.picture{width:100%;height:100%;min-height:100px;aspect-ratio:auto}
 .home-page .home-services .tile-caption{display:flex;align-items:center;flex-wrap:nowrap;gap:10px;min-width:0;min-height:0;padding:16px;text-align:left}
 .home-page .home-services .tile-caption>svg{display:none}
 .home-page .home-services .tile-caption h3{flex:1;min-width:0;max-width:none;padding:0;font-size:19px;line-height:1.3}
 .home-page .home-services .tile-arrow{position:static;transform:none;flex:none;margin:0;font-size:22px;line-height:1}
 .home-services .secondary-services{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px;margin-top:22px}
 .home-services .secondary-services a{justify-content:space-between;gap:8px;padding-block:10px;font-size:14px;line-height:1.5}
}
@media(max-width:360px){
 .home-page .home-services .service-tile{grid-template-columns:88px minmax(0,1fr)}
 .home-page .home-services .tile-caption{padding:14px 12px;gap:8px}
 .home-page .home-services .tile-caption h3{font-size:18px}
 .home-services .secondary-services{grid-template-columns:minmax(0,1fr)}
}
