/* Responsive and accessible refinements; retain the navy/gold brand. */
html{scroll-padding-top:24px}body{overflow-wrap:break-word}main:focus{outline:none}
.hero-grid>*,.planner>*,.footer-grid>*,.review-box>*,.fields>*{min-width:0}
img{max-width:100%}.brand-logo{height:auto}.contactbar a,.footer-contact a{overflow-wrap:anywhere}
.menu-links a[aria-current="page"]{background:#071d33;color:#fff;border-left:4px solid #ffc73c}
.breadcrumb a,.page-content p a,.form p a{ text-decoration:underline;text-underline-offset:3px}
summary{cursor:pointer;min-height:44px}button,a.btn{min-height:44px}
.choice input:focus-visible+span,.time-choice input:focus-visible+span{outline:3px solid #bf8500;outline-offset:3px}
.callback-planner{display:block;max-width:900px;margin:auto}.callback-planner .form{padding:32px}
.field input,.field select,.field textarea{font-size:16px;min-height:46px}.field input[type=checkbox]{width:20px;min-height:20px;vertical-align:middle}
.field small,.field-error{font-size:14px}.field-error{color:#a51d28;margin:0}.field [aria-invalid=true]{border:2px solid #a51d28}
#formErrors:not(:empty){padding:16px;border:2px solid #a51d28;margin-bottom:20px;color:#861923}
#success{margin-top:24px}#messageText{width:100%;min-height:300px;font:inherit}#copyStatus{min-height:1.5em}
.btn[disabled]{opacity:.6;cursor:not-allowed}.success:focus{outline:3px solid #bf8500}
@media(max-width:760px){.hero-grid,.review-box,.footer-grid,.photo-guide{grid-template-columns:1fr;gap:24px}.review-grid{grid-template-columns:1fr}.review-box{padding:24px}.hero-card{min-height:0}.review-list-head{display:block}.hero{padding-top:36px}.directory{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr))}}
@media(max-width:560px){.wrap{width:calc(100% - 32px)}.contactbar .wrap{justify-content:center;padding:6px 0}.contactbar a{font-size:14px}.fields{grid-template-columns:1fr}.callback-planner .form{padding:20px}.hero h1{font-size:clamp(34px,10vw,48px);letter-spacing:-.04em}.hero-card{padding:24px!important}.personal{position:static;margin-top:24px}.repair-grid{grid-template-columns:1fr}.repair-cta,.section-head{display:block}.project-photo-pair{grid-template-columns:1fr}.wide .project-photo{height:350px}.mobile-contact{padding:10px 8px calc(10px + env(safe-area-inset-bottom));gap:8px}.mobile-contact a{font-size:14px;min-height:44px}.mobile-contact a:last-child{max-width:48%}body{padding-bottom:calc(104px + env(safe-area-inset-bottom))}.legal-links{gap:14px}.review-actions .btn{max-width:100%;white-space:normal}.menu-links a{font-size:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
.mobile-contact{transition:transform .24s ease,opacity .2s ease,visibility 0s linear}.mobile-contact.at-footer{transform:translateY(105%);opacity:0;visibility:hidden;pointer-events:none;transition:transform .24s ease,opacity .2s ease,visibility 0s linear .24s}@media(prefers-reduced-motion:reduce){.mobile-contact,.mobile-contact.at-footer{transition:none}}
.callback-planner,.callback-planner .form,.callback-planner .fields,.callback-planner .field{min-width:0}.callback-planner .fields{grid-template-columns:repeat(2,minmax(0,1fr))}#callbackDate{display:block;box-sizing:border-box;width:100%;max-width:100%;min-width:0;min-inline-size:0;min-height:48px;padding:12px 14px;font:inherit;font-size:16px;text-align:left;border:1px solid #b7c3cc;border-radius:8px;background:#fff;color:#071d33;-webkit-appearance:none;appearance:none}#callbackDate::-webkit-date-and-time-value{text-align:left;min-height:1.4em}#callbackDate::-webkit-datetime-edit{padding:0}#dateHint{display:block;margin-top:7px;line-height:1.45}.project-photo-pair>img:only-child{grid-column:1/-1;width:100%}@media(max-width:560px){.callback-planner .fields{grid-template-columns:minmax(0,1fr)}}
/* The footer replaces the fixed contact bar: no spacer belongs after it. */
html{background:#071d33}body{padding-bottom:0}body>footer{margin-bottom:0;padding-bottom:calc(40px + env(safe-area-inset-bottom))}

.btn.google-review{background:#c5a45c;color:#071d33;border:1px solid #c5a45c;font-weight:700}.google-review-box{border-top:4px solid #c5a45c}.google-review-box h2{font-size:clamp(1.8rem,4vw,2.6rem);margin:8px 0 16px}.google-review-box p{line-height:1.6}.review-secondary{display:inline-flex;align-items:center;min-height:44px;font-size:.875rem;text-decoration:underline;text-underline-offset:4px;background:transparent}.review-alternative{font-size:.875rem;margin:16px 0 0}footer .review-secondary{color:#fff}a.google-review:focus-visible,.review-secondary:focus-visible{outline:3px solid #4285f4;outline-offset:4px}
