/* HomeSource247: layout repairs; existing palette, content and media preserved. */
body h1{font-size:clamp(2rem,3.8vw,3.5rem)!important;line-height:1.12!important;letter-spacing:-.035em;overflow-wrap:break-word}
body h2{font-size:clamp(1.7rem,2.8vw,2.65rem)!important;line-height:1.2!important;overflow-wrap:break-word}
body h3{font-size:clamp(1.15rem,1.5vw,1.5rem);line-height:1.3}
body h4{font-size:clamp(1.1rem,1.4vw,1.35rem);line-height:1.35}
.hero-feature-box h2{font-size:clamp(1.15rem,1.6vw,1.55rem)!important;line-height:1.45!important;color:#c1eeeb;margin-bottom:18px}
.hero-feature-box p{font-size:15px;line-height:1.85;color:rgba(255,255,255,.85);margin-bottom:0}
.hero-content{min-width:0}
.hero-section>.container{position:relative;z-index:2}
body .hero-row{min-height:0;padding-block:clamp(45px,6vw,90px)}
body .hero-section{min-height:0}
.hero-content h1,.luxury-content h1{color:#fff}
.hero-content h1 b,.luxury-content h1 b{font-weight:inherit}
.hero-form h3{font-size:clamp(1.25rem,1.8vw,1.65rem)!important;line-height:1.35}
.hero-input{min-height:48px}
textarea.hero-input{min-height:110px}
.hero-form,.technology-wrapper,.remodel-card,.finance-content{min-width:0}
/* Missing inner-page sections. */
.video-feature-section{position:relative;padding:38px 0;background:linear-gradient(120deg,#07363d,#0b777c);color:#fff}
.video-feature-section .row{row-gap:20px}
.video-feature-section h2{margin:0;font-size:clamp(1.5rem,2.3vw,2.2rem)!important}
.estimate-btn,.finance-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:14px 23px;border-radius:10px;background:#13b7bb;color:#052e34;font-size:12px;font-weight:800;letter-spacing:.04em;text-align:center;box-shadow:0 8px 24px rgba(0,0,0,.08);transition:background .2s,transform .2s}
.estimate-btn:hover,.finance-btn:hover{background:#8fe1dc;color:#052e34;transform:translateY(-2px)}
.feature-box{height:100%;padding:22px;border:1px solid rgba(255,255,255,.18);border-radius:14px;background:rgba(255,255,255,.06)}
.feature-box h3{color:#fff;font-size:1.25rem;margin-bottom:8px}
.feature-box p{color:#c3dddc;font-size:12px;letter-spacing:.08em;margin:0}
.remodel-section{background:#f6faf9;padding-block:70px!important}
.remodel-card{height:100%;display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(7,54,61,.1);border-radius:18px;background:#fff;box-shadow:0 12px 30px rgba(7,54,61,.06);transition:transform .25s,box-shadow .25s}
.remodel-card:hover{transform:translateY(-5px);box-shadow:0 18px 38px rgba(7,54,61,.12)}
.remodel-card .card-img{aspect-ratio:4/3;overflow:hidden}
.remodel-card .card-img img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .4s}
.remodel-card:hover .card-img img{transform:scale(1.035)}
.remodel-card .card-content{padding:24px;display:flex;flex-direction:column;flex:1}
.remodel-card .card-content p{font-size:14px;line-height:1.75;color:#526b70}
.remodel-card .card-content a{margin-top:auto;color:#0b777c;font-weight:800;font-size:13px}
.gallery-section{padding:clamp(50px,6vw,85px) 0;background:#fff}
.gallerySwiper{padding:4px 0 12px}
.gallerySwiper .swiper-slide a{display:block;overflow:hidden;border-radius:16px;aspect-ratio:4/3;background:#e9f3f1}
.gallerySwiper .swiper-slide img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s}
.gallerySwiper .swiper-slide a:hover img{transform:scale(1.04)}
.gallery-bottom{display:flex;align-items:center;gap:30px;position:relative;margin-top:25px;min-height:46px}
.gallery-bottom .swiper-pagination{position:relative;flex:1;height:3px;max-width:calc(100% - 115px);background:#dce9e7}
.gallery-bottom .swiper-pagination-progressbar-fill{background:#0b777c}
.gallery-nav{display:flex;gap:10px;align-items:center;margin-left:auto}
.gallery-nav .swiper-button-prev,.gallery-nav .swiper-button-next{position:static;margin:0;width:42px;height:42px;border:1px solid #d9e7e5;border-radius:50%;color:#07363d;background:#f5faf9}
.gallery-nav .swiper-button-prev:after,.gallery-nav .swiper-button-next:after{font-size:15px}
.finance-section{background:#f2f7f5}
.finance-content{padding:clamp(35px,5vw,85px);max-width:780px;margin:auto}
.finance-content h3{color:#0b777c;margin-top:24px}
.finance-content p{font-size:15px;line-height:1.9;margin:20px 0 28px}
.finance-image{height:100%;min-height:420px;overflow:hidden}
.finance-image img{width:100%;height:100%;min-height:420px;object-fit:cover;display:block}
body .stat-box h3{font-size:clamp(2rem,4vw,3.5rem)!important;line-height:1.1}
body .stat-box p{font-size:clamp(.85rem,1.2vw,1rem)}
body .luxury-section,body .technology-section,body .partners-section,body .location-section{padding-block:clamp(55px,6vw,90px)}
.technology-video video{display:block;width:100%;height:100%;object-fit:cover}
.technology-video{background:#07363d}
:where(a,button,input,textarea,select):focus-visible{outline:3px solid #13b7bb;outline-offset:4px}
.service-card:focus-within{outline:3px solid #0b777c;outline-offset:3px}
button{touch-action:manipulation}
@media(max-width:991px){
 .hero-content{max-width:none;padding-right:0;margin-bottom:30px}
 .hero-form{max-width:600px;margin-inline:auto}
 .finance-image,.finance-image img{min-height:0;height:360px}
 .technology-video{min-height:300px}
 .video-feature-section{text-align:center}
 .video-feature-section h2{margin-bottom:8px}
 body .custom-container{padding-inline:22px}
}
@media(max-width:575px){
 body .custom-container{padding-inline:18px}
 body h1{font-size:2rem!important}
 body h2{font-size:1.65rem!important}
 .hero-feature-box h2{font-size:1.2rem!important}
 .hero-feature-box p{font-size:14px;line-height:1.8}
 .hero-content{margin-bottom:24px}
 body .hero-row{padding-block:35px}
 body .hero-form{padding:24px 20px}
 .hero-form h3{font-size:1.25rem!important}
 .step-btns{gap:10px}
 .step-btns button{min-width:0;white-space:normal}
 .finance-image,.finance-image img{height:280px}
 .finance-content{padding:35px 22px}
 .remodel-section{padding-block:45px!important}
 .remodel-card .card-content{padding:20px}
 .gallery-bottom{gap:16px}
 body .luxury-section,body .technology-section,body .partners-section,body .location-section{padding-block:45px}
 .estimate-btn,.finance-btn{max-width:100%;white-space:normal}
 .technology-video{min-height:240px}
 body{padding-bottom:70px}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
.tech-buttons{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.partners-eyebrow,.tech-subtitle{display:inline-block;font-size:11px;letter-spacing:.13em;font-weight:800;text-transform:uppercase;color:#0b777c;margin-bottom:14px}
.technology-content .tech-subtitle{color:#9fddd9}
.footer-section{padding:65px 0 0;background:#062c32;color:#d6e7e5}
.footer-section h4,.footer-section .footer-title{color:#fff}
.footer-section .footer-card{padding:28px;border:1px solid rgba(255,255,255,.12);border-radius:18px;background:rgba(255,255,255,.03)}
.footer-section .footer-menu ul{list-style:none;margin:18px 0 0;padding:0}
.footer-section .footer-menu li{margin-bottom:12px;font-size:13px}
.footer-section .footer-about p{font-size:14px;line-height:1.8}
.footer-section .footer-subtitle{font-size:11px;letter-spacing:.1em;color:#96ceca;margin:18px 0}
.footer-section .finance-box{padding:28px;border-radius:18px;background:#0b444b;height:100%}
.footer-section .mobile-toggle{display:none}
.footer-section .footer-bottom{margin-top:40px;padding:22px;border-top:1px solid rgba(255,255,255,.12);font-size:12px}
.footer-section .footer-bottom a{display:inline-block;margin:6px 12px}
@media(max-width:991px){.technology-video video{min-height:300px}.footer-section .finance-box{margin-top:24px}}
@media(max-width:575px){.technology-video video{min-height:240px}.hero-content .tech-buttons{justify-content:flex-start}}
.mobile-fixed-btns>a{min-height:50px;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px;border-radius:13px;box-shadow:0 8px 25px rgba(0,0,0,.18);font-size:12px;font-weight:800;text-align:center}
/* Anchor desktop menus to the navbar rather than individual menu items. */
@media(min-width:1200px){
 .hero-navbar .mega-dropdown,.hero-navbar .nav-item.mega-dropdown{position:static}
 .hero-navbar .navbar{position:relative;}
 .hero-navbar .mega-menu{left:50%;width:min(1120px,calc(100vw - 48px))}
}
.location-content .location-top,.location-content .location-top>span{color:#b8e9e6}
@media(prefers-reduced-motion:reduce){.reveal,.reveal-left,.reveal-right{opacity:1!important;transform:none!important}}
.open-now{color:#116637;background:#e5f2e8}
/* Service rows: portrait images must not dictate the entire row height. */
.service-showcase .service-info{height:100%;min-height:clamp(420px,38vw,560px);justify-content:center;padding:clamp(35px,5vw,70px) max(28px,6vw)}
.service-showcase .service-image{height:100%;min-height:420px}
.service-showcase .service-image img{position:absolute;inset:0;width:100%;height:100%;min-height:0;object-fit:cover}
/* Keep text visible even if a scroll observer or another script fails. */
.reveal,.reveal-left,.reveal-right{opacity:1!important;transform:none!important}
@media(max-width:991px){
 .service-showcase .service-image{height:clamp(260px,58vw,420px);min-height:0}
 .service-showcase .service-info{height:auto;min-height:0;padding:40px 28px}
}
@media(max-width:575px){
 .service-showcase .service-image{height:280px}
 .service-showcase .service-info{padding:32px 22px}
}
/* Customer-friendly enquiry and privacy controls. */
.hs-input-label{display:block;font-size:12px;font-weight:800;color:#294348;margin:10px 0 7px;letter-spacing:.01em}
.hs-lead-form input:not([type=radio]):not([type=checkbox]):not([type=hidden]),.hs-lead-form textarea,.hs-lead-form select{font:inherit;font-size:14px;max-width:100%}
.hs-lead-form .hero-input{border-radius:11px;border:1px solid #d9e7e5;background:#fff;padding:12px 14px;box-shadow:none}
.hs-lead-form .hero-input:focus{border-color:#0b8b8e;box-shadow:0 0 0 3px rgba(11,139,142,.12)}
.hs-security{margin:20px 0;padding:17px;border:1px solid #d1e3df;border-radius:15px;background:#f7fbfa;text-align:left;color:#183d42}
.hs-security-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px;font-size:13px}
.hs-refresh{background:#e4f2ef;border:0;border-radius:8px;color:#075861;font-weight:800;font-size:11px;padding:8px 10px;cursor:pointer}
.hs-captcha-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.hs-captcha-image{display:block;width:220px!important;height:76px!important;max-width:100%;border-radius:10px;border:1px solid #d8e5e1;background:#eff8f6;object-fit:contain}
.hs-captcha-row>div{flex:1;min-width:145px}
.hs-captcha-row label{font-size:11px;font-weight:700;display:block}
.hs-captcha-row input{width:100%;display:block;padding:10px;border:1px solid #c6dbd7;border-radius:9px;margin-top:7px;text-transform:uppercase;letter-spacing:.12em}
.hs-captcha-help{font-size:11px!important;line-height:1.6!important;color:#526b70!important;margin:10px 0 14px!important}
.hs-captcha-help a,.hs-privacy-check a{color:#076970;text-decoration:underline}
.hs-privacy-check{display:flex;align-items:flex-start;gap:9px;font-size:11px;line-height:1.7;margin:0}
.hs-privacy-check input{width:16px;height:16px;flex:0 0 16px;margin-top:2px;accent-color:#0b777c}
.hs-honeypot{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important}
.hs-field-error{display:block;color:#a72538;font-size:12px;line-height:1.5;margin:6px 0 10px}
[aria-invalid=true]{border-color:#b72b41!important;box-shadow:0 0 0 2px rgba(183,43,65,.08)}
.hs-form-status{font-size:13px!important;line-height:1.6;color:#0a6b62!important;padding:10px 0;margin:0!important}
.hs-form-status:empty{display:none}
.hs-form-status.hs-error{color:#a72538!important}
.hs-primary{display:inline-flex;align-items:center;justify-content:center;min-height:45px;padding:12px 18px;border-radius:10px;border:0;background:#0b777c;color:#fff;font-weight:800;font-size:13px;cursor:pointer;transition:background .2s,transform .2s}
.hs-primary:hover{background:#075b62;color:#fff;transform:translateY(-1px)}
.hs-primary:disabled{opacity:.65;cursor:wait;transform:none}
.hs-cookie-banner[hidden],.hs-chat-panel[hidden],.hs-chat-form-slot[hidden]{display:none!important}
.hs-cookie-banner{position:fixed;inset:auto 20px 20px;max-width:1100px;margin:auto;z-index:200010;display:flex;align-items:center;gap:24px;padding:22px 26px;background:#fff;border:1px solid #d6e7e2;border-radius:18px;box-shadow:0 18px 70px rgba(4,31,36,.22);color:#183d42}
.hs-cookie-banner strong{font-size:16px}.hs-cookie-banner p{font-size:12px;line-height:1.7;margin:6px 0 0;max-width:520px}.hs-cookie-banner a{color:#086e73;text-decoration:underline}
.hs-cookie-actions{display:flex;gap:8px;flex-wrap:wrap;flex-shrink:0}.hs-cookie-actions button{padding:11px 13px;border:1px solid #c8ded8;border-radius:9px;background:#f2f8f6;color:#183d42;font-size:11px;font-weight:800;cursor:pointer}.hs-cookie-actions .hs-primary{background:#0b777c;color:#fff}
.hs-cookie-settings{position:fixed;left:16px;bottom:12px;z-index:10010;background:#07363d;color:#fff;border:1px solid #568c8e;border-radius:20px;padding:6px 10px;font-size:10px;cursor:pointer}
.hs-cookie-dialog{border:0;border-radius:20px;padding:26px;max-width:520px;width:calc(100% - 32px);color:#183d42;box-shadow:0 25px 70px #041f2440;max-height:85dvh;overflow:auto}
.hs-cookie-dialog::backdrop{background:#041f24a8;backdrop-filter:blur(4px)}
.hs-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.hs-dialog-head h2{font-size:23px!important;margin:0}.hs-dialog-head button{font-size:28px;background:none;border:0;cursor:pointer;color:#07363d}
.hs-cookie-dialog p{font-size:13px;margin:15px 0}.hs-cookie-dialog label{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid #dfebe6;padding:16px 0;font-size:14px}.hs-cookie-dialog small{display:block;font-size:12px;color:#5f7579;font-weight:400;margin-top:5px}.hs-cookie-dialog input{width:19px;height:19px;accent-color:#0b777c}.hs-cookie-dialog .hs-primary{width:100%;margin-bottom:15px}.hs-cookie-dialog a{font-size:12px;color:#086e73;text-decoration:underline}
.hs-chat-launcher{position:fixed;right:22px;bottom:calc(22px + var(--hs-cookie-height,0px));z-index:10020;display:flex;align-items:center;gap:10px;padding:14px 19px;min-height:52px;border-radius:30px;background:#07363d;border:1px solid #2a6970;color:#fff;font-size:12px;font-weight:800;box-shadow:0 12px 35px #07363d35;cursor:pointer}.hs-chat-launcher>span{font-size:23px;color:#5be0d4}
.hs-chat-panel{position:fixed;right:22px;bottom:85px;z-index:200005;width:410px;max-width:calc(100% - 32px);max-height:calc(100dvh - 120px);display:flex;flex-direction:column;border-radius:22px;background:#fff;box-shadow:0 22px 75px #041f2440;border:1px solid #d6e5df;overflow:hidden}
.hs-chat-panel>header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:20px 22px;background:linear-gradient(120deg,#07363d,#0b777c);color:#fff}.hs-chat-panel header span{font-size:9px;font-weight:800;letter-spacing:.15em;color:#a5e5dd}.hs-chat-panel header h2{font-size:20px!important;color:#fff;margin:5px 0 0}.hs-chat-close{width:35px;height:35px;border:1px solid #ffffff45;border-radius:50%;background:#ffffff15;color:#fff;font-size:25px;cursor:pointer}
.hs-chat-body{padding:22px;overflow:auto;overscroll-behavior:contain}.hs-chat-greeting{font-size:14px;line-height:1.8;background:#eef8f5;border-radius:14px;padding:15px;color:#254c50}.hs-chat-options{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:16px 0}.hs-chat-options button{border:1px solid #cce2dc;border-radius:9px;padding:11px;background:#fff;font-size:12px;font-weight:800;color:#095d64;cursor:pointer}.hs-chat-answer{font-size:13px;margin:12px 0}.hs-chat-answer a{color:#086e73;font-weight:800}.hs-chat-estimate{width:100%}.hs-chat-call{font-size:12px;line-height:1.9;margin:20px 0 0;color:#5b7175}.hs-chat-call a{color:#086e73}
.hs-chat-form input:not([type=checkbox]):not([type=hidden]),.hs-chat-form textarea,.hs-chat-form select{width:100%;padding:11px;border:1px solid #ccded8;border-radius:9px;color:#183d42;background:#fff}.hs-chat-form .hs-security{padding:13px}.hs-chat-form button[type=submit]{width:100%}
.map-box{position:relative}.hs-map-consent{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:22px;text-align:center;background:linear-gradient(135deg,#e8f5f0,#f6faf8);color:#31565b}.hs-map-consent p{font-size:13px;max-width:260px;margin:0}.hs-map-consent button{padding:10px 16px;border:0;border-radius:9px;background:#0b777c;color:#fff;font-size:12px;font-weight:800;cursor:pointer}
/* Polished sections without replacing their content or images. */
.service-showcase{border-top:1px solid #d9e9e45c}.service-info .premium-btn{align-self:flex-start;min-width:190px;font-size:12px}.service-info h2{max-width:540px}.hero-form{box-shadow:0 25px 65px #041f2429!important}.gallerySwiper .swiper-slide a{box-shadow:0 8px 24px #07363d0f}.technology-wrapper{box-shadow:0 24px 60px #07363d14}.service-card{border-radius:13px!important}.service-card.active{box-shadow:0 8px 20px #0b777c18}.hs-lead-form button[type=submit]{min-height:48px;font-size:13px}
.hs-policy{padding:70px 0;background:linear-gradient(145deg,#f5faf7,#fff)}.hs-policy-title{padding:55px 0;background:linear-gradient(115deg,#07363d,#0b777c);color:#fff}.hs-policy-title h1{color:#fff}.hs-policy-title p{color:#cce9e4}.hs-policy-card{max-width:900px;margin:auto;padding:clamp(25px,5vw,55px);border:1px solid #dce9e2;border-radius:22px;background:#fff;box-shadow:0 18px 50px #07363d08}.hs-policy-card h2{font-size:23px!important;margin:32px 0 13px}.hs-policy-card h2:first-child{margin-top:0}.hs-policy-card p,.hs-policy-card li{font-size:15px;line-height:1.9}.hs-policy-card a{color:#086e73;text-decoration:underline}
@media(max-width:991px){.hs-cookie-banner{flex-direction:column;align-items:flex-start;gap:16px}.hs-cookie-actions{width:100%}.hs-cookie-actions button{flex:1}.hs-security{padding:15px}}
@media(max-width:575px){
 .hs-cookie-banner{inset:auto 10px 78px;padding:17px;border-radius:16px}.hs-cookie-banner strong{font-size:14px}.hs-cookie-banner p{font-size:11px}.hs-cookie-actions{gap:6px}.hs-cookie-actions button{padding:9px 8px;font-size:10px;white-space:normal}
 .hs-chat-launcher{right:14px;bottom:calc(80px + var(--hs-cookie-height,0px));min-height:44px;padding:10px 13px;font-size:11px}.hs-cookie-settings{bottom:72px;font-size:9px;left:10px}
 .hs-chat-panel{right:12px;bottom:78px;max-height:calc(100dvh - 105px);width:calc(100% - 24px);max-width:none}.hs-chat-body{padding:18px}.hs-chat-panel>header{padding:16px 18px}.hs-security{padding:13px}.hs-captcha-row{gap:10px}.hs-captcha-row>div{width:100%}.hs-policy{padding:35px 0}.hs-policy-title{padding:35px 0}
}
.hs-read-more{display:none}
@media(max-width:991px){.hs-long-copy.hs-collapsed{display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}.hs-read-more{display:inline-flex;margin-top:10px;border:0;border-bottom:1px solid #8ed9d1;padding:3px 0;background:none;color:#b6f3e9;font-size:12px;font-weight:800;cursor:pointer}}
.hs-lead-form .premium-input-wrap>i{display:none}
