/* Geometry and typography only. All colors inherit the previous white-and-orange palette. */
/* Visual restyle only: retain all existing layout dimensions, grids, order and breakpoints. */

body{}
/* Carry the hero's clean, rounded typography through content, without changing size. */
.rp-about h2,.rp-center h2,.section h2,.page-heading h1,.state-hero h1,.door-contact h2,.contact-band h2,.ref-trust h2{font-weight:600;letter-spacing:-1.25px}
.section h3,.rp-about h3,.rp-service-panel h3,.state-cards h3,.contact-panel h3{font-weight:600}
.eyebrow,.micro{border-radius:30px;letter-spacing:.07em}
.rp-about .eyebrow,.rp-services .eyebrow,.section.soft .eyebrow{}
/* Pill actions echo the hero request controls; orange remains the primary action color. */
.button{border-radius:30px;box-shadow:0 3px 10px #00000005}
.button.outline{}
.button.outline:hover{}
.text-link{gap:12px}
.text-link:hover{}
.section.soft,.rp-services{}
.rp-about-photo,.rp-service-panel>img,.rp-feature-grid .photo,.rp-gallery-preview .photo,.gallery-item .photo,.about-story .photo{border-radius:22px}
.rp-about-photo,.rp-service-panel>img,.gallery-item .photo,.about-story .photo{box-shadow:0 5px 18px #00000008}
/* Mission / FAQ cards retain their existing positions and native disclosure behavior. */
details{border-radius:19px;box-shadow:inset 0 0 0 1px #e8e8e8,0 6px 18px #00000003}
details[open]{box-shadow:0 8px 24px #00000012}
summary{font-weight:600}
summary:after{box-shadow:inset 0 0 0 1px #e8e8e8}
details[open] summary:after{box-shadow:none}
details[open] p{}
.area-destinations details[open] a{}
/* Keep the exact service-tab layout, with the hero panel's darker selected treatment. */
.rp-tabs button{border-radius:30px;box-shadow:inset 0 0 0 1px #e8e8e8;transition:background .18s,color .18s}
.rp-tabs button:hover{}
.rp-tabs button[aria-selected=true]{box-shadow:0 5px 16px #00000012}
.rp-icon{}
.rp-tabs button[aria-selected=true] .rp-icon{}
.rp-service-panel{border-radius:25px;box-shadow:inset 0 0 0 1px #e8e8e8,0 10px 30px #00000004}
.rp-service-panel li:before{font-weight:700}
.rp-service-panel .button{}
.rp-service-directory{}
.rp-guide-grid article,.value{border-radius:24px;box-shadow:inset 0 0 0 1px #e8e8e8,0 6px 25px #00000003}
.rp-process span{box-shadow:0 0 0 5px #e8e8e8}
.rp-process li h3{}
.state-cards article{border-radius:24px;}
.state-cards .micro{}
.state-phone{}
.ref-trust-card{box-shadow:0 5px 22px #00000003}
.ref-trust-card p{}
.ref-trust-icon{box-shadow:0 0 0 5px #e8e8e8}
.ref-card-arrow{}
.ref-brand-row{}
/* Interior pages receive the same calm surface and shaped navigation styling. */
.interior-page .door-header{border-radius:0 0 24px 24px;isolation:isolate}
.interior-page .door-header:before{content:'';position:absolute;right:0;top:0;width:38%;height:55%;clip-path:polygon(0 0,100% 0,100% 100%,9% 100%);z-index:-1}
.interior-page .header-estimate{border-radius:30px;}
.interior-page .breadcrumb{}
.interior-page .page-heading{}
.interior-page .page-heading .eyebrow{}
.page-image{border-radius:27px;box-shadow:0 8px 30px #00000007}
.state-hero{border-radius:0 0 28px 28px}
.detail-list li,.location-list a,.steps li,.area-links a{}
.detail-list h3,.location-list h3{}
.service-card{border-radius:23px;box-shadow:0 8px 25px #00000004}
.service-index{}
.service-action{}
.service-caption .service-action:after{content:' ↗';}
.num{}
.brandband{}
.brandband>p{}
.filter{border-radius:30px;box-shadow:inset 0 0 0 1px #e8e8e8}
.filter.active{box-shadow:none}
.caption span,.gallery-note{}
.lightbox{border-radius:26px;}
.lightbox button{}
.area-search input,.coverage-search input{border-radius:30px;}
.mobile-coverage{border-radius:27px;box-shadow:inset 0 0 0 1px #e8e8e8}
.map-region-tabs button{border-radius:25px;}
.map-region-tabs .active{}
.coverage-search button{border-radius:25px}
.coverage-stats{}
.map-caption{border-radius:20px}
/* Dark translucent-surface language from the hero estimate panel. */
.contact-panel{border-radius:26px;box-shadow:0 12px 35px #00000010}
.contact-panel p,.contact-panel small{}
.contact-panel .eyebrow{}
.contact-panel a,.contact-panel h3{}
.contact-panel .text-link{}
.estimate-form .estimate-state{border-radius:22px;}
.estimate-state select{border-radius:25px;}
.estimate-state p{}
.estimate-form input:not([type=radio]),.estimate-form select,.estimate-form textarea{border-radius:22px}
.estimate-form input[type=radio]{}
.service-option{border-radius:20px;}
.service-option:has(input:checked){box-shadow:inset 0 0 0 1px #e8e8e8}
.service-option:has(input:checked)>span{}
.form-progress span{border-radius:10px;}
.form-progress .active{}
.step-label{}
.review-row{}
.email-fallback{border-radius:24px;}
.emergency-note{border-radius:24px;}
.wide-feature{border-radius:27px}
.feature-content{border-radius:24px;backdrop-filter:blur(12px)}
.contact-band,.door-contact{}
.contact-band h2,.door-contact h2{}
.contact-band p,.door-contact p{}
.contact-band .button.outline{}
.door-footer{}
.footer-columns .micro{}
.footer-office>a:first-child{}
.footer-columns p{}
.footer-columns a:hover{}
.footer-motto{}
.footer-bottomline{}
.mobile-navigation{border-radius:0 0 23px 23px}
.rp-dropdown>div{border-radius:20px;backdrop-filter:blur(18px);}
.rp-dropdown a{border-radius:12px}
.rp-dropdown a:hover{}
@media(max-width:650px){.rp-service-panel,.contact-panel,.service-card,.mobile-coverage{border-radius:22px}.rp-about-photo,.gallery-item .photo{border-radius:20px}.rp-tabs button{border-radius:28px}.interior-page .door-header:before{width:44%}.region-mobile-call{}.region-mobile-call a:first-child{}.estimate-form input:not([type=radio]),.estimate-form select,.estimate-form textarea{font-size:16px}.ref-trust-card p{}}

/* Contact page on phones: the estimate form ("Let's make it personal") comes first; "Tell us about your door" sits below it. */
@media(max-width:900px){
main:has(.contact-layout){display:flex;flex-direction:column}
main:has(.contact-layout)>.contact-layout{order:1;grid-template-columns:1fr;gap:28px;padding-top:24px}
main:has(.contact-layout)>.page-heading{order:2}
main:has(.contact-layout)>:not(.contact-layout):not(.page-heading){order:3}
.contact-layout>.estimate-form{order:-1}
}
