/* Reyco visual refresh. Presentation only; original content and behavior retained. */
:root{--ry-space:clamp(72px,7vw,112px)}
.ry-section{padding-block:var(--ry-space)}
h2{font-weight:800;letter-spacing:-.6px;font-size:clamp(38px,4.1vw,60px)}
.ry-intro h2{font-size:clamp(36px,3.7vw,54px)}
.ry-center{max-width:950px}
.ry-center:after{content:"";display:block;width:76px;height:5px;margin:26px auto 0;background:linear-gradient(90deg,#0759b9 65%,#83b75a 65%);border-radius:8px}
.ry-header{background:#062c56;border-top:4px solid #83b75a;box-shadow:0 8px 30px #071d3226}
.ry-call,.ry-call span{color:#fff}
.ry-call b{color:#ffab45}
.ry-call:hover b{color:#fff}
.ry-brand{border-radius:0 0 45% 45%;box-shadow:0 8px 0 #83b75a;padding-bottom:18px}
.ry-header nav{border-color:#ffffff25;color:#fff}
.ry-header nav a[aria-current="page"],.ry-header nav details.ry-active>summary{color:#b5dc91}
.ry-header nav a:hover{color:#b5dc91}
.ry-menu{color:#fff;background:transparent;border:1px solid #ffffff55;border-radius:8px}
.ry-btn{display:inline-flex;min-height:54px;border-radius:4px 18px 4px 18px;border:1px solid #ffffff25;box-shadow:4px 5px 0 #062c56;transition:transform .2s,box-shadow .2s,background .2s}
.ry-btn:hover,.ry-btn:focus,.ry-btn:active{animation:none;transform:translate(2px,2px);box-shadow:2px 3px 0 #062c56}
.ry-headquote{box-shadow:3px 4px 0 #83b75a}
.ry-hero{min-height:730px;background-image:linear-gradient(90deg,#031e39ed 0%,#042849c9 48%,#02152b35 100%),var(--photo);text-align:left;border-bottom:0}
.ry-hero-content{width:min(1200px,calc(100% - 80px));max-width:none;display:flex;flex-direction:column;align-items:flex-start;margin:auto;padding:85px 0 165px}
.ry-hero:not(.ry-hero--inner) h1{order:0;font:800 clamp(26px,2.6vw,38px)/1.2 'Barlow Condensed',sans-serif;margin:30px 0 0;text-transform:uppercase;max-width:100%;color:#062c56;background:#b5dc91;padding:15px 38px 17px 20px;clip-path:polygon(0 0,100% 0,calc(100% - 18px) 100%,0 100%);text-shadow:none}
.ry-hero:not(.ry-hero--inner) h1 span{display:inline;width:auto;font-size:inherit;line-height:inherit;color:inherit;background:none;padding:0;margin:0;clip-path:none;text-shadow:none}
.ry-hero .ry-tagline{font-size:clamp(52px,5.8vw,82px);line-height:1.02;max-width:1050px;letter-spacing:-.5px}
.ry-hero .ry-tagline span{font-size:.8em;line-height:1.12;color:#fff}
.ry-hero .ry-ctas{justify-content:flex-start;margin-top:32px}
.ry-hero:after{content:"";position:absolute;width:760px;height:760px;border:2px solid #ffffff24;box-shadow:0 0 0 32px #ffffff07,0 0 0 66px #83b75a12;border-radius:50%;right:-260px;top:30px;pointer-events:none;z-index:0}
.ry-hero-water{width:680px;right:-90px;opacity:.85}
.ry-hero--inner{min-height:550px}
.ry-hero--inner .ry-hero-content{max-width:1200px;padding:80px 0 170px}
.ry-hero--inner h1{max-width:1000px;font-size:clamp(48px,6vw,82px);text-align:left}
.ry-hero--inner h1 span{color:#b5dc91;border-left:5px solid #83b75a;padding-left:20px}
.ry-intro{padding-top:80px;padding-bottom:120px}
.ry-photo-composition{isolation:isolate}
.ry-photo-composition:before{content:"";position:absolute;inset:22px 12px 32px 20px;border:3px solid #83b75a;border-radius:120px 18px 120px 18px;z-index:-1;transform:rotate(4deg)}
.ry-feature{border:7px solid white;border-radius:110px 18px 110px 18px;box-shadow:0 14px 35px #062c5622}
.ry-photo-small{transform:rotate(3deg);border-radius:12px;box-shadow:7px 7px 0 #0759b9}
.ry-roundel{box-shadow:0 0 0 3px #83b75a,0 14px 30px #062c5633}
.ry-services{background:#062c56;color:#e4eef6;border-radius:70px 0 0 0;padding-top:100px;padding-bottom:145px}
.ry-services h2,.ry-services h3{color:#fff}
.ry-services h2 span{color:#b5dc91}
.ry-services .ry-center:after{background:linear-gradient(90deg,#fff 65%,#83b75a 65%)}
.ry-services p a{color:#b5dc91}
.ry-services .ry-split{gap:60px}
.ry-services .ry-service-photo{border:6px solid #fff;border-radius:70px 8px 8px 8px;box-shadow:10px 10px 0 #83b75a}
.ry-services .ry-service-photo img{height:490px}
.ry-services .ry-reverse .ry-service-photo{border-radius:8px 70px 8px 8px;box-shadow:-10px 10px 0 #0759b9}
.ry-services .ry-detail-list li{border-color:#ffffff25}
.ry-services .ry-detail-list li strong{color:#fff}
.ry-services .ry-detail-list a{color:#b5dc91}
.ry-rescomm .ry-btn:not(.ry-phone){background:#b5dc91;color:var(--ry-navy);border-color:#b5dc91}
.ry-rescomm .ry-btn:not(.ry-phone):hover,.ry-rescomm .ry-btn:not(.ry-phone):focus-visible{background:#eef5f8;color:var(--ry-navy);border-color:#eef5f8}
.ry-services .ry-detail-list li:before{color:#b5dc91}
.ry-pill-list li{border-radius:3px 12px 3px 12px;padding:9px 15px}
.ry-why{background:#f0f6f9}
.home .ry-why{background:#fff}
.ry-why .ry-grid{gap:28px}
.ry-why .ry-reason{padding:30px;flex-basis:calc((100% - 28px)/2);border:1px solid #d5e3eb;border-top:5px solid var(--panel-color);border-radius:8px 36px 8px 8px;background:#fff;filter:none;box-shadow:0 10px 28px #062c560b;display:grid;grid-template-columns:74px 1fr;align-items:start;gap:22px}
.ry-why .ry-icon{position:static;width:74px;height:74px;border:4px solid #fff;box-shadow:0 0 0 1px #cbdde7,3px 4px 0 #dbe7ee}
.ry-why .ry-icon img{width:40px;height:40px}
.ry-why .ry-benefit-panel{clip-path:none;border-radius:0;overflow:visible;background:transparent}
.ry-why .ry-reason h3{padding:0;margin:0 0 16px;min-height:0;color:var(--ry-navy);background:transparent;font-size:28px;line-height:1.12;display:block}
.ry-why .ry-benefit-content{padding:0}
.ry-why .ry-reason p{padding:0;margin:0 0 12px;font-size:15px;line-height:1.8}
.ry-why .ry-reason p:last-child{margin-bottom:0}
.ry-mid{border-radius:0 90px 0 0;border-top:6px solid #83b75a;padding:100px 0 145px}
.ry-mid-photo{inset:0 0 0 35%}
.ry-mid:before{background:linear-gradient(90deg,#062c56 15%,#062c56df 48%,#062c5640)}
.ry-mid h2{font-size:clamp(44px,5.6vw,78px);max-width:780px}
.ry-mid-water{width:560px;opacity:.85}
.ry-process{background:#fff}
.ry-process .ry-grid{gap:32px;padding:0}
.ry-process .ry-step{padding:32px 28px;flex-basis:calc((100% - 64px)/3);border:1px solid #ccdfe9;border-bottom:5px solid var(--step-color);border-radius:8px 8px 36px 8px;box-shadow:6px 8px 0 #eaf1f5;background:#f8fbfd}
.ry-process .ry-step:nth-child(3n+2){background:#f5f9f1}
.ry-process .ry-step:before,.ry-process .ry-step:after,.ry-process .ry-step-num:before,.ry-process .ry-step-num:after{display:none}
.ry-process .ry-step-num{position:static;transform:none;max-width:none;width:auto;min-height:0;gap:10px;border-radius:4px;padding:8px 16px;margin:0 0 22px;box-shadow:none}
.ry-process .ry-step-num small{font-size:16px}
.ry-process .ry-step-num b{font-size:28px}
.ry-process-icon{margin:0 0 22px;width:76px;height:76px;border:5px solid #fff;box-shadow:0 0 0 1px #d4e2e9}
.ry-savings,.ry-pricing{background-color:#edf5e7;background-image:radial-gradient(ellipse at top left,#d4e8c4,transparent 65%);border-radius:70px 0 70px 0}
.ry-savings-copy{border:1px solid #b9d1a6;border-top:5px solid #568b35;box-shadow:8px 9px 0 #d2e4c5;border-radius:8px 30px 8px 8px}
.ry-type-card{border-radius:8px 36px 8px 8px;border:1px solid #cbdde8;border-bottom:5px solid #0759b9;box-shadow:6px 8px 0 #e9f1f5}
.ry-gallery{background:#062c56;color:#fff;border-top:6px solid #83b75a;border-radius:0 70px 0 0}
.ry-gallery h2{color:#fff}
.ry-gallery h2 span{color:#b5dc91}
.ry-gallery .ry-center:after{background:#83b75a}
.ry-gallery .ry-pair,.ry-gallery--single .ry-slide figure{border:5px solid #fff;border-radius:10px;overflow:hidden}
.ry-gallery .ry-btn:not(.ry-phone){background:white;color:#062c56}
.ry-gallery-controls>button{background:#fff;color:#062c56;border:1px solid #d6e3eb}
.ry-awards{border-top:1px solid #d2dfe7}
.ry-award-years{background:#f4f8fa;border-radius:18px;padding:26px 18px;border:1px solid #e0eaf0}
.ry-faq{background:#eaf3f9;border-radius:60px 0 60px 0}
.ry-faq details{background:#fff;border:1px solid #cedfe9;border-left:4px solid #0759b9;border-radius:4px 16px 4px 16px;margin-bottom:14px;padding:0 24px;box-shadow:0 5px 12px #062c5607}
.ry-faq details[open]{border-left-color:#568b35}
.ry-faq summary{padding-block:22px}
.ry-faq-answer{padding:0 0 22px;margin:0}
.ry-map{box-shadow:8px 10px 0 #dcebcf;border:5px solid white}
.ry-footer{border-radius:90px 0 0 0;background-image:linear-gradient(180deg,#062c56aa,#062c56e6 55%,#062c56 100%),var(--footer-bg);background-size:cover}
.ry-bottom-cta{padding-block:100px}
.ry-bottom-cta h2{font-size:clamp(40px,5vw,72px)}
.ry-footer-grid{border-top:1px solid #ffffff30}
.ry-contact-form{border:1px solid #ccdde7;border-top:6px solid #0759b9;box-shadow:8px 8px 0 #e4eef4;border-radius:8px 36px 8px 8px}
@media(min-width:1101px){.ry-header nav{height:52px}.ry-headtop{height:88px}}
@media(max-width:1100px){
.ry-header nav a[aria-current="page"],.ry-header nav details.ry-active>summary{color:#0759b9}
.ry-brand{box-shadow:none}
.ry-hero-content,.ry-hero--inner .ry-hero-content{width:calc(100% - 48px)}
.ry-why .ry-reason{padding:24px;gap:18px;grid-template-columns:60px 1fr}
.ry-why .ry-icon{width:60px;height:60px}.ry-why .ry-icon img{width:32px;height:32px}
.ry-process .ry-step{flex-basis:calc((100% - 32px)/2)}
}
@media(max-width:900px){
.ry-why .ry-reason{flex-basis:100%;max-width:760px}
.ry-services .ry-split{gap:38px}
.ry-services .ry-service-photo img{height:390px}
}
@media(max-width:600px){
.ry-wrap{width:calc(100% - 40px)}
.ry-section{padding-block:70px}
.ry-hero{min-height:0;background-position:center,65% center}
.ry-hero-content,.ry-hero--inner .ry-hero-content{width:calc(100% - 40px);padding:55px 0 145px}
.ry-hero:not(.ry-hero--inner) h1{font-size:26px;padding:12px 28px 14px 14px;margin-top:24px}
.ry-hero:not(.ry-hero--inner) h1 span{font-size:inherit;padding:0}
.ry-hero .ry-tagline{font-size:clamp(43px,9.5vw,56px)}
.ry-hero--inner h1{font-size:46px}
.ry-hero--inner h1 span{padding-left:12px}
.ry-hero-water{width:340px;right:-70px;opacity:.65}
.ry-hero .ry-ctas{width:100%;gap:14px}
.ry-hero .ry-ctas .ry-btn{flex:1 1 240px}
.ry-intro{padding-top:55px}
.ry-feature{border-radius:65px 14px 65px 14px}
.ry-services{border-radius:40px 0 0 0;padding-bottom:115px}
.ry-services .ry-service-photo img{height:340px}
.ry-services .ry-service-photo{border-width:4px;box-shadow:6px 6px 0 #83b75a}
.ry-why .ry-reason{display:block;padding:26px;border-radius:8px 28px 8px 8px}
.ry-why .ry-icon{margin-bottom:22px;width:68px;height:68px}
.ry-why .ry-reason h3{font-size:27px;min-height:0;padding:0;margin:0 0 16px}
.ry-why .ry-reason p{padding:0;font-size:15px}
.ry-process .ry-step{flex-basis:100%;max-width:480px}
.ry-mid{padding:75px 0 130px;border-radius:0 45px 0 0}
.ry-mid h2{font-size:44px}
.ry-mid-water{width:300px;right:-65px}
.ry-mid-photo{inset:0}
.ry-mid:before{background:#062c56db}
.ry-savings,.ry-pricing,.ry-faq{border-radius:40px 0 40px 0}
.ry-gallery{border-radius:0 40px 0 0}
.ry-faq details{padding-inline:18px}
.ry-faq summary h3{font-size:23px}
.ry-footer{border-radius:45px 0 0 0}
.ry-bottom-cta{padding-block:70px}
.ry-btn{padding-inline:20px}
}
@media(prefers-reduced-motion:reduce){.ry-btn,.ry-btn:hover,.ry-btn:focus{animation:none;transition:none;transform:none}}

/* Responsive refinements: header CTAs, content spacing and section transitions. */
.ry-header .ry-call b{color:#ffc078}
.ry-header .ry-call:hover b{color:#ffe0b8}
.ry-header .ry-headquote{background:#b5dc91;color:#062c56;border-color:#b5dc91;box-shadow:3px 4px 0 #568b35}
.ry-header .ry-headquote:hover,.ry-header .ry-headquote:focus-visible{background:#c7e7ab;color:#062c56}
.home .ry-savings-copy{padding:clamp(26px,3.5vw,48px)}
.home .ry-savings-copy .ry-saving-list{margin:0 0 24px}
.home .ry-savings-copy>p:last-child{margin-bottom:0}
.page-template-page-areas .ry-areas{background:#fff}
/* Only light galleries whose immediately preceding section is colored.
   When optional sections are absent and a white block precedes the gallery,
   the original navy gallery remains. Homepage gallery is unaffected. */
:is(.page-template-page-service,.page-template-page-location) :is(.ry-guarantee,.ry-pricing,.ry-extra--1)+.ry-gallery{
 background:#fff;color:var(--ry-text);border-top:1px solid #d6e3eb;border-radius:0
}
:is(.page-template-page-service,.page-template-page-location) :is(.ry-guarantee,.ry-pricing,.ry-extra--1)+.ry-gallery h2{color:var(--ry-navy)}
:is(.page-template-page-service,.page-template-page-location) :is(.ry-guarantee,.ry-pricing,.ry-extra--1)+.ry-gallery h2 span{color:var(--ry-blue)}
:is(.page-template-page-service,.page-template-page-location) :is(.ry-guarantee,.ry-pricing,.ry-extra--1)+.ry-gallery .ry-btn:not(.ry-phone){background:var(--ry-blue);color:#fff}
:is(.page-template-page-service,.page-template-page-location) :is(.ry-guarantee,.ry-pricing,.ry-extra--1)+.ry-gallery .ry-slide figure{border-color:#e2edf3}
@media(max-width:767px){
 main .ry-section,main .ry-mid,.ry-bottom-cta{text-align:center}
 main :is(h1,h2,h3,p,.ry-benefit-content,.ry-extra-copy,.ry-proud-copy,.ry-pill-list,.ry-detail-list),.ry-bottom-cta :is(h2,p){text-align:center}
 .ry-hero,.ry-hero--inner h1{text-align:center}
 .ry-hero-content,.ry-hero--inner .ry-hero-content{align-items:center}
 .ry-hero .ry-tagline{text-align:center}
 .ry-hero .ry-ctas,main .ry-ctas,.ry-bottom-cta .ry-ctas{justify-content:center}
 .ry-hero--inner h1 span{border-left:0;padding-left:0}
 .ry-mid-copy{margin-inline:auto}
 .ry-why .ry-reason{display:block}
 .ry-why .ry-icon{margin:0 auto 22px}
 .ry-pill-list ul,.ry-city-list{justify-content:center}
 .ry-extra-copy ul li,.ry-proud-copy li,.ry-detail-list li,.ry-saving-list li{text-align:center}
 .ry-image-label{text-align:center}
 .ry-faq summary h3{flex:1;text-align:center}
 .home .ry-savings-copy{padding:28px 22px}
 /* Keep data columns, form labels and map controls aligned for usability. */
 .ry-price-table th,.ry-price-table td,.ry-contact-form label{text-align:left}
}

