:root{--ink:#20221f;--muted:#70736c;--paper:#f7f6f2;--white:#fff;--green:#344d3b;--line:#e6e4dc;--sand:#e8dfcf;--serif:"Playfair Display",Georgia,serif;--sans:"DM Sans",Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.6}a{color:inherit;text-decoration:none}.topline{background:var(--green);color:#f5f4ef;text-align:center;padding:7px 16px;font-size:11px;letter-spacing:.12em;text-transform:uppercase}.header{height:82px;padding:0 clamp(22px,6vw,96px);display:flex;align-items:center;justify-content:space-between;gap:28px;background:rgba(255,255,255,.94);position:sticky;top:0;z-index:10;border-bottom:1px solid rgba(0,0,0,.04)}.brand{display:flex;align-items:center;gap:10px;min-width:max-content}.brand-logo{display:block;width:132px;height:72px;object-fit:contain;border-radius:0;background:transparent;flex:0 0 auto}.brand-tagline{display:block;max-width:150px;font-size:11px;font-weight:600;line-height:1.35;letter-spacing:.04em;color:#415a6c;border-left:1px solid #d6e6f1;padding-left:12px}.admin-brand-logo{display:block;width:92px;height:54px;object-fit:contain;flex:0 0 auto}
.brand-mark{font-size:32px;color:var(--green);line-height:1}.brand-name{font:600 20px var(--serif);letter-spacing:-.04em;line-height:1.1}.brand-name small{display:block;font:600 7px var(--sans);letter-spacing:.22em;margin-top:4px}.nav{display:flex;align-items:center;gap:clamp(14px,2.2vw,32px)}.nav a{font-size:12px;color:#454741;transition:color .2s}.nav a:hover,.text-link:hover,.card-link:hover{color:var(--green)}.header-actions{display:flex;align-items:center;gap:14px}.language{display:flex;align-items:center;gap:5px;border:1px solid var(--line);border-radius:30px;padding:7px 10px;background:white}.language select{border:0;background:transparent;font:500 12px var(--sans);outline:none;cursor:pointer;color:var(--ink)}.button{display:inline-flex;align-items:center;justify-content:center;gap:20px;padding:14px 21px;border-radius:5px;font:600 12px var(--sans);border:1px solid transparent;transition:transform .2s,background .2s;cursor:pointer}.button:hover{transform:translateY(-2px)}.button-dark{background:var(--ink);color:white}.button-dark:hover{background:var(--green)}.button-small{padding:12px 16px;gap:12px}.button-outline{border-color:var(--ink);background:transparent}.button-outline:hover{background:var(--ink);color:white}.menu-toggle{display:none;background:none;border:0;font-size:25px}.hero{position:relative;min-height:600px;display:flex;align-items:center;overflow:hidden;background:#efede6}.hero-photo{position:absolute;inset:0 0 0 36%;background:linear-gradient(90deg,#efede6 0%,rgba(239,237,230,.2) 28%,rgba(239,237,230,0) 55%),url("https://images.unsplash.com/photo-1600210492486-724fe5c67fb0?auto=format&fit=crop&w=2000&q=85") center/cover no-repeat}.hero-content{position:relative;z-index:1;width:min(560px,54%);padding:80px 0 80px clamp(22px,9vw,140px)}.eyebrow{font-size:10px;letter-spacing:.19em;font-weight:700;color:var(--green);margin:0 0 18px;text-transform:uppercase}.eyebrow-dot{display:inline-block;width:7px;height:7px;background:#84977b;border-radius:50%;margin:0 9px 1px 0}h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--serif);font-weight:500;letter-spacing:-.045em;line-height:1.08}h1{font-size:clamp(48px,5.6vw,78px);margin-bottom:22px}h1 em,h2 em{font-weight:500;color:var(--green)}.hero-copy{max-width:385px;color:#555850;font-size:15px;line-height:1.8;margin-bottom:28px}.hero-buttons{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.text-link{font-size:12px;font-weight:700}.text-link span{margin-left:8px}.trust-row{display:flex;gap:25px;margin-top:52px;flex-wrap:wrap}.trust-item{display:flex;align-items:center;gap:10px}.trust-icon{width:32px;height:32px;border:1px solid #c6cabe;border-radius:50%;display:grid;place-items:center;color:var(--green);font-size:18px}.trust-item b,.trust-item small{display:block}.trust-item b{font-size:10px}.trust-item small{font-size:10px;color:var(--muted)}.floating-note{position:absolute;right:clamp(22px,6vw,90px);bottom:35px;background:rgba(255,255,255,.92);padding:15px 20px;display:flex;align-items:center;gap:12px;box-shadow:0 8px 28px #00000010;border-radius:5px}.note-icon{font-size:27px;color:var(--green)}.floating-note b,.floating-note small{display:block}.floating-note b{font:600 13px var(--serif)}.floating-note small{font-size:10px;color:var(--muted)}.section-wrap{padding:92px clamp(22px,7vw,105px)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:32px}.section-heading h2,.promise h2,.faq h2,.contact-copy h2{font-size:clamp(34px,3.6vw,48px);margin-bottom:0}.section-heading>p{max-width:390px;color:var(--muted);font-size:13px;margin-bottom:4px}.services{background:#fff}.service-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:17px}.service-card{grid-column:span 2}.service-grid:has(.service-card:nth-child(5)):not(:has(.service-card:nth-child(6))) .service-card:nth-child(4){grid-column:2 / span 2}.service-grid:has(.service-card:nth-child(5)):not(:has(.service-card:nth-child(6))) .service-card:nth-child(5){grid-column:4 / span 2}.service-card{border:1px solid var(--line);background:#fff;transition:transform .25s,box-shadow .25s}.service-card:hover{transform:translateY(-4px);box-shadow:0 12px 30px #0000000b}.service-image{height:190px;background-size:cover;background-position:center}.image-home{background-image:url("https://images.unsplash.com/photo-1616486338812-3dadae4b4ace?auto=format&fit=crop&w=800&q=80")}.image-apartment{background-image:url("https://images.unsplash.com/photo-1600607687939-ce8a6c25118c?auto=format&fit=crop&w=800&q=80")}.image-office{background-image:url("https://images.unsplash.com/photo-1497366754035-f200968a6e72?auto=format&fit=crop&w=800&q=80")}.image-deep{background-image:url("https://images.unsplash.com/photo-1600566753086-00f18fb6b3ea?auto=format&fit=crop&w=800&q=80")}.service-body{padding:21px 21px 23px}.service-number{font-size:10px;color:#8a9184;letter-spacing:.1em}.service-body h3{font:600 20px var(--serif);margin:9px 0}.service-body p{font-size:12px;color:var(--muted);min-height:42px;margin-bottom:19px}.card-link{font-size:11px;font-weight:700;display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:13px}.promise{display:grid;grid-template-columns:1fr 1fr;background:#efeee8;min-height:500px}.promise-image{background:url("https://images.unsplash.com/photo-1600607687920-4e2a09cf159d?auto=format&fit=crop&w=1200&q=85") center/cover}.promise-content{padding:80px clamp(28px,7vw,105px);align-self:center}.promise-content>p:not(.eyebrow){font-size:13px;color:var(--muted);max-width:430px;margin:24px 0}.promise-points{margin:25px 0 30px;display:grid;gap:12px}.promise-points div{display:flex;gap:15px;align-items:center;font-size:12px}.promise-points span{font-size:10px;color:var(--green);letter-spacing:.08em}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;text-align:center}.stats div{display:flex;flex-direction:column;gap:7px;align-items:center;border-right:1px solid var(--line)}.stats div:last-child{border:0}.stats strong{font:500 34px var(--serif);color:var(--green)}.stats span{font-size:11px;color:var(--muted)}.reviews{background:#fff}.review-carousel{max-width:900px;margin:0 auto;touch-action:pan-y;user-select:none;-webkit-user-select:none;cursor:grab;outline:none}.review-carousel.is-paused{cursor:grabbing}.review-carousel{width:100%;min-width:0}.review-carousel-track{position:relative;display:flex;gap:20px;min-height:250px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;padding:6px 2px 24px;touch-action:pan-x;overscroll-behavior-x:contain}.review-carousel-track::-webkit-scrollbar{display:none}.review-slide{display:block;flex:0 0 calc((100% - 40px)/3);min-width:0;min-height:230px;margin:0;padding:clamp(22px,2.4vw,34px);border:1px solid var(--line);border-radius:24px;background:#fff;text-align:left;box-shadow:0 16px 45px #20221f08;scroll-snap-align:start;box-sizing:border-box}.review-slide.is-active{animation:reviewFade .45s ease}.review-client-name{margin:0 0 14px;font:600 clamp(22px,2vw,30px)/1.2 var(--sans);color:var(--ink);overflow-wrap:anywhere}.review-slide .stars{font-size:17px;letter-spacing:1px;color:#ffad32;margin:0 0 14px}.review-slide .review-card-text{font:400 15px/1.65 var(--sans);margin:0;color:var(--muted);overflow-wrap:anywhere}.review-carousel.is-paused .review-carousel-track{scroll-behavior:auto}.review-slide .stars{font-size:16px}.review-slide blockquote,.review-slide p{font:500 clamp(20px,2.5vw,29px)/1.5 var(--serif);margin:20px auto 24px;max-width:720px}.review-slide footer{font-size:12px;color:var(--muted)}.review-carousel-controls{display:flex;align-items:center;justify-content:center;gap:22px;margin-top:22px}.review-arrow{width:38px;height:38px;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--green);font-size:20px;cursor:pointer;transition:background .2s,color .2s}.review-arrow:hover{background:var(--green);color:white}.review-dots{display:flex;align-items:center;justify-content:center;gap:8px}.review-dot{width:7px;height:7px;border:0;border-radius:50%;padding:0;background:#d3d4cc;cursor:pointer}.review-dot.is-active{width:22px;border-radius:10px;background:var(--green)}.review-carousel-hint{text-align:center;font-size:10px;color:#8a8b83;margin:13px 0 0}@media(max-width:900px){.review-slide{flex-basis:calc((100% - 20px)/2)}}@media(max-width:600px){.review-carousel-track{gap:14px}.review-slide{flex-basis:88%;min-height:210px;border-radius:20px}.review-carousel-controls{margin-top:14px}}
@keyframes reviewFade{from{opacity:.3;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.stars{letter-spacing:.15em;color:#9a7b4f;font-size:13px}.review-grid blockquote p{font:500 19px/1.55 var(--serif);margin:17px 0 20px}.review-grid footer{font-size:11px;color:var(--muted)}.demo-note{font-size:10px;color:#8a8b83;margin:16px 0 0}.faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}.faq-intro>p:not(.eyebrow){color:var(--muted);font-size:13px;margin:22px 0}.faq-list details{border-bottom:1px solid #dcdcd4;padding:19px 0}.faq-list summary{font-size:13px;font-weight:600;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:15px}.faq-list summary:after{content:"+";font-size:20px;font-weight:400;color:var(--green)}.faq-list details[open] summary:after{content:"−"}.faq-list details p{font-size:12px;color:var(--muted);max-width:550px;margin:14px 0 0}.contact-section{background:#e8e6dc;padding:85px clamp(22px,7vw,105px)}.contact-inner{max-width:1200px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:clamp(35px,8vw,110px);align-items:center}.contact-copy>p:not(.eyebrow){color:#64675f;font-size:13px;max-width:390px;margin:23px 0 32px}.contact-detail{display:flex;gap:13px;align-items:center;margin:18px 0}.contact-detail>span:first-child{width:37px;height:37px;border:1px solid #c9c9bd;border-radius:50%;display:grid;place-items:center;color:var(--green)}.contact-detail b,.contact-detail small{display:block}.contact-detail b{font-size:11px}.contact-detail small{font-size:11px;color:var(--muted)}.quote-form{background:#fff;padding:34px;border:1px solid #e5e3da;box-shadow:0 15px 45px #22222208}.quote-form h3{font:600 28px var(--serif);margin-bottom:5px}.quote-form>p{font-size:12px;color:var(--muted);margin-bottom:24px}.quote-form label{display:block;font-size:10px;font-weight:700;color:#555850;margin-bottom:14px}.quote-form input,.quote-form select,.quote-form textarea{display:block;width:100%;border:1px solid #e2e2da;border-radius:3px;padding:12px;margin-top:7px;font:12px var(--sans);background:#fdfdfb;color:var(--ink);outline:none}.quote-form input:focus,.quote-form select:focus,.quote-form textarea:focus{border-color:#81917d;box-shadow:0 0 0 3px #81917d1c}.quote-form textarea{resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-submit{width:100%;justify-content:space-between;margin-top:3px}.form-privacy{font-size:9px!important;text-align:center;margin:12px 0 0!important}.form-status{font-size:12px;color:var(--green);margin-top:10px}.footer{padding:38px clamp(22px,7vw,105px) 20px;background:#fff}.brand-footer{display:inline-flex}.footer>p{font-size:11px;color:var(--muted);margin:14px 0 30px}.footer-bottom{border-top:1px solid var(--line);padding-top:17px;display:grid;grid-template-columns:minmax(180px,1fr) auto minmax(100px,1fr);align-items:center;gap:24px;font-size:10px;color:var(--muted)}.footer-copyright{justify-self:start}.footer-back-top{justify-self:end}.footer-bottom .social-links{display:flex;align-items:center;justify-content:center;gap:clamp(8px,1.5vw,22px);flex-wrap:wrap;margin:0;min-width:0}.footer-bottom .social-links[hidden]{display:none}.footer-bottom .social-link{padding:4px 8px;border:0;border-radius:8px;background:transparent;box-shadow:none;gap:6px}.footer-bottom .social-link:hover{transform:translateY(-2px);background:#eff8ff}.footer-bottom .social-link span{width:25px;height:25px}.footer-bottom .social-link small{font-size:10px}.footer-bottom .social-link small{display:none}.footer-bottom a{color:var(--ink)}@media(max-width:1050px){.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-card{grid-column:auto}.service-grid .service-card:nth-child(4),.service-grid .service-card:nth-child(5){grid-column:auto}.header{padding:0 25px;gap:16px}.nav{gap:14px}.nav a{font-size:11px}.brand-name{font-size:20px}.header-actions{gap:8px}.hero-content{padding-left:6vw}.service-grid{grid-template-columns:repeat(2,1fr)}.service-image{height:220px}.faq{gap:45px}}@media(max-width:760px){.topline{font-size:9px}.header{height:70px;padding:0 20px}.brand-name{font-size:20px}.brand-mark{font-size:27px}.menu-toggle{display:block;margin-left:auto;order:3}.header-actions{order:2}.header-actions .button{display:none}.language{padding:6px 7px}.nav{display:none;position:absolute;left:0;right:0;top:70px;background:white;padding:18px 22px 24px;border-bottom:1px solid var(--line);box-shadow:0 15px 20px #00000008;flex-direction:column;align-items:stretch;gap:0}.nav.open{display:flex}.nav a{padding:11px 0;border-bottom:1px solid #f0efe9;font-size:13px}.hero{min-height:720px;align-items:flex-start}.hero-photo{inset:300px 0 0;background-image:linear-gradient(180deg,#efede6 0%,rgba(239,237,230,0) 30%),url("https://images.unsplash.com/photo-1600210492486-724fe5c67fb0?auto=format&fit=crop&w=1200&q=85");background-position:center;background-size:cover}.hero-content{width:100%;padding:53px 23px 320px}.hero h1{font-size:clamp(45px,12vw,64px)}.hero-copy{font-size:14px;max-width:340px}.trust-row{margin-top:30px;gap:15px}.trust-item{gap:7px}.trust-item small{font-size:9px}.floating-note{right:18px;bottom:17px;padding:12px 15px}.section-wrap{padding:65px 22px}.section-heading{display:block;margin-bottom:25px}.section-heading>p{margin-top:16px}.section-heading h2,.promise h2,.faq h2,.contact-copy h2{font-size:38px}.service-grid{gap:12px}.service-image{height:150px}.service-body{padding:15px}.service-body h3{font-size:17px}.service-body p{font-size:11px;min-height:65px}.promise{grid-template-columns:1fr}.promise-image{min-height:280px}.promise-content{padding:55px 24px}.stats{grid-template-columns:repeat(2,1fr);gap:25px}.stats div:nth-child(2){border:0}.review-carousel-track{min-height:250px}.review-slide{padding:25px 20px}.review-carousel-controls{gap:15px}.faq{grid-template-columns:1fr;gap:25px}.contact-section{padding:60px 20px}.contact-inner{grid-template-columns:1fr;gap:28px}.quote-form{padding:25px 20px}.form-row{grid-template-columns:1fr;gap:0}.footer{padding:32px 22px 18px}.footer-bottom{font-size:9px;grid-template-columns:1fr;justify-items:center;gap:14px}.footer-copyright,.footer-back-top{justify-self:center}.footer-bottom .social-links{order:0;gap:8px}.footer-bottom .social-link{padding:3px 5px}.footer-bottom .social-link span{width:28px;height:28px}}@media(max-width:380px){.service-grid{grid-template-columns:1fr}.service-card{grid-column:auto}.brand-name{font-size:18px}.brand-name small{font-size:7px}.language select{max-width:65px}.hero-buttons{gap:16px}.button{padding:13px 15px}.service-grid{grid-template-columns:1fr}.service-image{height:190px}.service-body p{min-height:0}.trust-row{flex-direction:column}.hero{min-height:760px}.hero-content{padding-bottom:340px}}
/* Booking and live service pricing */
.availability-note{display:flex;gap:9px;align-items:flex-start;background:#f0f3ed;padding:11px 12px;margin:0 0 15px;font-size:10px;color:#4e604b;border-radius:3px}.availability-dot{width:7px;height:7px;background:#6c8b61;border-radius:50%;margin-top:5px;flex:none}.availability-status{font-size:10px;color:#777;margin:-6px 0 13px}.availability-status.available{color:#315c3a}.availability-status.unavailable{color:#9b3329}.public-price{font-size:13px;font-weight:700;color:var(--green);padding:0 0 13px}.service-body .card-link{margin-top:0}

.form-status.success{color:#315c3a;background:#eef4ea;padding:10px;border-radius:4px}.form-status.error{color:#9b3329;background:#fbefed;padding:10px;border-radius:4px}

/* Clean Wizards sunshine palette: warm cream, butter yellow and tangerine */
:root{--ink:#25231f;--muted:#716d64;--paper:#fffaf0;--white:#fff;--green:#c85b2a;--line:#eee3cf;--sand:#ffe4a3}
body{background:#fffaf0}
.topline{background:#f6c744;color:#28251e}
.header{background:rgba(255,255,255,.96);border-bottom-color:#f2e8d5}
.brand-mark{color:#c85b2a}
.nav a:hover,.text-link:hover,.card-link:hover{color:#c85b2a}
.button-dark{background:#28251f;color:#fff}
.button-dark:hover{background:#c85b2a}
.hero{background:#fff4cf}
.hero-photo{background-image:linear-gradient(90deg,#fff4cf 0%,rgba(255,244,207,.3) 28%,rgba(255,244,207,0) 55%),url("https://images.unsplash.com/photo-1600210492486-724fe5c67fb0?auto=format&fit=crop&w=2000&q=85")}
.eyebrow{color:#b95124}
.eyebrow-dot{background:#f6c744}
.trust-icon{border-color:#e9cf8d;color:#b95124}
.note-icon{color:#c85b2a}
.services,.reviews{background:#fff}
.service-card{border-color:#f0e6d5}
.service-card:hover{box-shadow:0 12px 30px #a65a1b12}
.service-number{color:#c85b2a}
.card-link{border-top-color:#f0e6d5}
.promise{background:#fff0c2}
.promise-points span{color:#c85b2a}
.stats strong{color:#c85b2a}
.stars{color:#d88b22}
.contact-section{background:#ffdf79}
.contact-detail>span:first-child{border-color:#dfbc55;color:#a54a25}
.quote-form{border-color:#f0dfb8;box-shadow:0 15px 45px #7a4a1010}
.quote-form input:focus,.quote-form select:focus,.quote-form textarea:focus{border-color:#d77b3f;box-shadow:0 0 0 3px #d77b3f22}
.form-submit{background:#c85b2a}
.form-submit:hover{background:#a7461d}
.availability-note{background:#fff4d6;color:#805027}
.availability-dot{background:#d58a20}
.availability-status.available{color:#427044}
.public-price{color:#b95124}
.footer{background:#fff}
@media(max-width:760px){.hero{background:#fff4cf}.hero-photo{background-image:linear-gradient(180deg,#fff4cf 0%,rgba(255,244,207,0) 30%),url("https://images.unsplash.com/photo-1600210492486-724fe5c67fb0?auto=format&fit=crop&w=1200&q=85")}}

/* Clean Wizards: crisp sky-blue and white theme */
:root{--ink:#172b3b;--muted:#667b8a;--paper:#f4faff;--white:#fff;--green:#2387c8;--line:#dceaf4;--sand:#d8efff}
body{background:#f4faff;color:#172b3b}
.topline{background:#cfeeff;color:#16374d}
.header{background:rgba(255,255,255,.97);border-bottom-color:#e0edf5}
.brand-mark{color:#2387c8}
.nav a{color:#415a6c}
.nav a:hover,.text-link:hover,.card-link:hover{color:#1685c5}
.button-dark{background:#17384f;color:#fff}
.button-dark:hover{background:#1685c5}
.hero{background:#eaf7ff}
.hero-photo{background-image:linear-gradient(90deg,#eaf7ff 0%,rgba(234,247,255,.35) 28%,rgba(234,247,255,0) 55%),url("https://images.unsplash.com/photo-1600210492486-724fe5c67fb0?auto=format&fit=crop&w=2000&q=85")}
.eyebrow{color:#2387c8}
.eyebrow-dot{background:#55b9ed}
.trust-icon{border-color:#b8dff4;color:#2387c8}
.note-icon{color:#2387c8}
.services,.reviews{background:#fff}
.service-card{border-color:#e0edf5}
.service-card:hover{box-shadow:0 12px 30px #1b709b12}
.service-number{color:#2387c8}
.card-link{border-top-color:#e0edf5}
.promise{background:#e5f4ff}
.promise-points span{color:#2387c8}
.stats strong{color:#2387c8}
.stars{color:#e0a52d}
.contact-section{background:#d7efff}
.contact-detail>span:first-child{border-color:#b7dff4;color:#2387c8}
.quote-form{border-color:#dceaf4;box-shadow:0 15px 45px #1d67900b}
.quote-form input:focus,.quote-form select:focus,.quote-form textarea:focus{border-color:#65b7e4;box-shadow:0 0 0 3px #65b7e422}
.form-submit{background:#2387c8}
.form-submit:hover{background:#176da5}
.availability-note{background:#edf8ff;color:#365c74}
.availability-dot{background:#42a9df}
.availability-status.available{color:#267345}
.public-price{color:#2387c8}
.footer{background:#fff}
.language{border-color:#dceaf4}
@media(max-width:760px){.hero{background:#eaf7ff}.hero-photo{background-image:linear-gradient(180deg,#eaf7ff 0%,rgba(234,247,255,0) 30%),url("https://images.unsplash.com/photo-1600210492486-724fe5c67fb0?auto=format&fit=crop&w=1200&q=85")}}

/* Holographic glass accents + Sacramento service-area banner */
.hero{isolation:isolate}
.hero:after{content:"";position:absolute;z-index:0;right:7%;top:8%;width:clamp(130px,20vw,260px);aspect-ratio:1;border-radius:50%;pointer-events:none;opacity:.52;background:conic-gradient(from 20deg,#9be7ff,#d6c5ff,#ffc8e8,#fff0ad,#9be7ff);filter:blur(1px);mix-blend-mode:screen;animation:holoFloat 11s ease-in-out infinite}
.hero-content,.floating-note{z-index:2}
@keyframes holoFloat{0%,100%{transform:translate3d(0,0,0) rotate(0deg) scale(1)}50%{transform:translate3d(-16px,14px,0) rotate(22deg) scale(1.06)}}
.service-card{position:relative;overflow:hidden}
.service-card:after{content:"";position:absolute;inset:-60% -80%;pointer-events:none;opacity:0;background:linear-gradient(115deg,transparent 35%,rgba(125,211,252,.2) 43%,rgba(196,181,253,.22) 49%,rgba(255,255,255,.45) 53%,transparent 61%);transform:translateX(-35%) rotate(8deg);transition:opacity .35s,transform .65s}
.service-card:hover:after{opacity:1;transform:translateX(35%) rotate(8deg)}
.service-area{position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:24px;padding:52px clamp(22px,7vw,105px);background:linear-gradient(110deg,#eaf7ff 0%,#fff 45%,#f2edff 100%);border-top:1px solid #dceaf4;border-bottom:1px solid #dceaf4}
.area-glow{position:absolute;z-index:-1;right:14%;top:-80px;width:260px;height:260px;border-radius:50%;background:conic-gradient(#b8f0ff,#d7c7ff,#ffc9e8,#fff1b9,#b8f0ff);filter:blur(35px);opacity:.35;animation:holoFloat 13s ease-in-out infinite}
.area-icon{width:62px;height:62px;border-radius:20px;display:grid;place-items:center;font-size:34px;color:#1685c5;background:rgba(255,255,255,.7);border:1px solid rgba(100,180,225,.35);box-shadow:0 8px 25px #2c8cc41c}
.area-copy .eyebrow{margin-bottom:9px}.area-copy h2{font:500 clamp(25px,3vw,38px)/1.15 var(--serif);letter-spacing:-.035em;margin:0 0 9px;color:#172b3b}.area-copy h2 em{color:#2387c8}.area-copy>p:last-child{font-size:12px;color:#667b8a;max-width:650px;margin:0}.area-chip{display:flex;align-items:center;gap:9px;border:1px solid #cce6f5;background:rgba(255,255,255,.7);padding:12px 15px;border-radius:30px;font-size:10px;font-weight:600;color:#31566d;white-space:nowrap;backdrop-filter:blur(12px)}.area-chip-dot{width:7px;height:7px;background:#35a6d8;border-radius:50%;box-shadow:0 0 0 4px #35a6d820}
@media(max-width:800px){.service-area{grid-template-columns:auto 1fr;padding:40px 22px;gap:16px}.area-chip{grid-column:2;justify-self:start;white-space:normal}.area-icon{width:48px;height:48px;font-size:27px}.hero:after{right:-30px;top:35%;width:140px;opacity:.35}}
@media(prefers-reduced-motion:reduce){.hero:after,.area-glow{animation:none}.service-card:after{transition:none}}


/* Clean Wizards original holographic intro: light rays, iridescent glass orbs, staged entrance */
.hero{isolation:isolate;isolation:isolate;background:#eaf7ff}
.hero-photo{z-index:0}
.hero-holo-rays{position:absolute;z-index:1;pointer-events:none;inset:-28% -8% -18% 22%;opacity:0;background:repeating-conic-gradient(from 8deg at 56% 47%,rgba(255,255,255,.22) 0deg 7deg,rgba(111,199,255,.06) 7deg 15deg,transparent 15deg 22deg);mix-blend-mode:screen;mask-image:radial-gradient(ellipse at 56% 47%,#000 0%,rgba(0,0,0,.78) 43%,transparent 73%);transform:scale(.8) rotate(-9deg);transition:opacity 1.1s ease,transform 1.5s cubic-bezier(.2,.75,.2,1)}
.hero-holo-orb{position:absolute;z-index:1;pointer-events:none;display:block;border-radius:50%;border:1px solid rgba(255,255,255,.75);background:radial-gradient(circle at 30% 24%,rgba(255,255,255,.9),rgba(255,255,255,.32) 12%,rgba(141,219,255,.28) 35%,rgba(198,173,255,.18) 57%,rgba(255,255,255,.04) 72%);box-shadow:inset -10px -13px 28px rgba(100,173,255,.12),inset 5px 5px 16px rgba(255,255,255,.8),0 18px 50px rgba(91,166,219,.1);backdrop-filter:blur(1px);opacity:0;transform:translateY(28px) scale(.65);transition:opacity 1s ease,transform 1.5s cubic-bezier(.16,1,.3,1)}
.hero-holo-orb:before,.hero-holo-orb:after{content:"";position:absolute;border-radius:50%;pointer-events:none}
.hero-holo-orb:before{inset:8% 15% 52% 9%;border-top:1px solid rgba(255,255,255,.9);transform:rotate(-28deg);filter:blur(.3px)}
.hero-holo-orb:after{width:17%;height:17%;top:17%;left:23%;background:rgba(255,255,255,.78);filter:blur(4px)}
.hero-holo-orb span{position:absolute;inset:13%;border-radius:50%;border:1px solid rgba(255,255,255,.22);transform:rotate(30deg) scaleX(.75)}
.orb-one{width:clamp(105px,14vw,205px);aspect-ratio:1;right:12%;top:13%;animation:orbDrift 9s ease-in-out 1.5s infinite}
.orb-two{width:clamp(58px,7vw,100px);aspect-ratio:1;right:35%;bottom:14%;animation:orbDrift 7s ease-in-out 2s infinite reverse}
.orb-three{width:clamp(38px,4.5vw,66px);aspect-ratio:1;right:7%;bottom:24%;animation:orbDrift 8s ease-in-out 2.2s infinite}
.hero-holo-spark{position:absolute;z-index:1;color:rgba(255,255,255,.95);font-size:clamp(24px,3vw,42px);line-height:1;pointer-events:none;opacity:0;text-shadow:0 0 20px rgba(126,202,255,.8);transform:scale(.2) rotate(-35deg);transition:opacity .7s ease,transform 1s cubic-bezier(.2,.8,.2,1)}
.spark-one{right:31%;top:18%}.spark-two{right:9%;top:54%;font-size:clamp(30px,4vw,56px)}
.cw-page-ready .hero-holo-rays{opacity:1;transform:scale(1) rotate(0deg)}
.cw-page-ready .hero-holo-orb{opacity:1;transform:translateY(0) scale(1)}
.cw-page-ready .hero-holo-spark{opacity:1;transform:scale(1) rotate(0deg)}
.cw-page-ready .hero-content .eyebrow{animation:cwRise .75s .08s both}
.cw-page-ready .hero-content h1{animation:cwRise .9s .2s both}
.cw-page-ready .hero-content .hero-copy{animation:cwRise .85s .34s both}
.cw-page-ready .hero-content .hero-buttons{animation:cwRise .85s .46s both}
.cw-page-ready .hero-content .trust-row{animation:cwRise .9s .6s both}
.cw-page-ready .floating-note{animation:cwRise .9s .75s both}
@keyframes cwRise{from{opacity:0;transform:translateY(24px);filter:blur(5px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}
@keyframes orbDrift{0%,100%{translate:0 0;rotate:0deg}50%{translate:0 -15px;rotate:7deg}}
.cw-reveal{opacity:0;transform:translateY(26px);transition:opacity .75s ease,transform .8s cubic-bezier(.2,.75,.2,1);transition-delay:var(--reveal-delay,0ms)}
.cw-reveal.cw-visible{opacity:1;transform:translateY(0)}
@media(max-width:760px){.hero-holo-rays{inset:18% -38% -12% 0;opacity:.55}.orb-one{right:4%;top:37%;width:112px}.orb-two{right:34%;bottom:8%;width:60px}.orb-three{right:5%;bottom:18%;width:42px}.spark-one{right:31%;top:33%}.spark-two{right:5%;top:61%}.hero-holo-orb{opacity:.7}}
@media(prefers-reduced-motion:reduce){.hero-holo-rays,.hero-holo-orb,.hero-holo-spark,.cw-reveal,.cw-page-ready .hero-content .eyebrow,.cw-page-ready .hero-content h1,.cw-page-ready .hero-content .hero-copy,.cw-page-ready .hero-content .hero-buttons,.cw-page-ready .hero-content .trust-row,.cw-page-ready .floating-note{animation:none!important;transition:none!important;opacity:1!important;transform:none!important;filter:none!important}.hero-holo-orb{opacity:.55!important}}


/* Social links configured in the admin panel */
.social-links{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;margin:20px auto 24px}.social-links[hidden]{display:none}.social-link{display:inline-flex;align-items:center;gap:8px;padding:9px 13px;border:1px solid #d4eafa;border-radius:999px;background:linear-gradient(120deg,rgba(255,255,255,.92),rgba(235,247,255,.88),rgba(246,239,255,.88));color:#205d85;text-decoration:none;box-shadow:0 6px 18px #2387c80b;transition:transform .2s,border-color .2s,box-shadow .2s}.social-link:hover{transform:translateY(-3px);border-color:#9ed6f3;box-shadow:0 10px 24px #2387c81c}.social-link span{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:linear-gradient(135deg,#d8f4ff,#e8ddff);color:#237cb2;font-size:14px;font-weight:800}.social-link small{font-size:11px;font-weight:650}.footer .footer-bottom{margin-top:12px}


/* Compact, interactive before-and-after project carousel */
.work-section{background:linear-gradient(145deg,#f3faff,#fff 55%,#f5f2ff);padding-top:72px;padding-bottom:76px}.work-heading h2 em{color:#2387c8}.work-filters{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 22px}.work-filter{border:1px solid #d5e8f6;border-radius:999px;padding:8px 15px;background:#fff;color:#315b79;font:600 11px var(--sans);cursor:pointer;transition:.2s}.work-filter.active,.work-filter:hover{background:linear-gradient(110deg,#2188c9,#7882e8);border-color:transparent;color:#fff;box-shadow:0 6px 16px #328cc51c}.work-projects{display:flex;gap:20px;align-items:stretch;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;overscroll-behavior-x:contain;scroll-behavior:auto;padding:2px 2px 18px;touch-action:pan-y;cursor:grab}.work-projects::-webkit-scrollbar{display:none}.work-project{flex:0 0 clamp(300px,36vw,430px);width:clamp(300px,36vw,430px);scroll-snap-align:start}.work-project-clone{pointer-events:none;user-select:none}.work-project{min-width:0;overflow:hidden;border:1px solid #d8eaf7;border-radius:22px;background:rgba(255,255,255,.93);box-shadow:0 12px 36px #2e82b30b;transition:transform .25s,box-shadow .25s}.work-project:hover{transform:translateY(-3px);box-shadow:0 18px 40px #2e82b318}.work-project-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 19px 12px}.work-project-top h3{font:600 21px var(--serif);margin:4px 0 0;color:#1d3d5a}.work-category{font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:#2387c8;font-weight:800}.work-count{font-size:10px;color:#7190a7;white-space:nowrap}.work-compare{position:relative;aspect-ratio:1.55/1;max-height:340px;overflow:hidden;background:#eaf5fb;isolation:isolate}.work-compare>img,.work-after-layer,.work-after-layer img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.work-after-layer{width:var(--compare,50%);overflow:hidden;border-right:2px solid white;z-index:2}.work-after-layer img{width:calc(100% * 100 / max(1, var(--compare-number, 50)));max-width:none;inset:0 auto 0 0;object-fit:cover}.work-after-layer img{width:calc(100vw);width:calc(100% * (100 / 50));}/* JS sizes overlay image to the full comparison viewport */
.work-after-layer img{width:var(--image-width,100%);height:100%;max-width:none}.work-tag{position:absolute;z-index:3;top:12px;padding:6px 10px;border-radius:999px;background:#102b42cc;color:#fff;font-size:9px;letter-spacing:.1em;text-transform:uppercase;backdrop-filter:blur(8px)}.before-tag{left:12px}.after-tag{right:12px}.work-divider{position:absolute;z-index:4;left:var(--compare,50%);top:0;bottom:0;width:0;pointer-events:none}.work-divider span{position:absolute;top:50%;left:0;transform:translate(-50%,-50%);display:grid;place-items:center;width:34px;height:34px;border:2px solid white;border-radius:50%;background:linear-gradient(130deg,#2188c9,#7882e8);color:white;box-shadow:0 4px 14px #163b5533}.work-range{position:absolute;inset:0;width:100%;height:100%;opacity:0;z-index:5;cursor:ew-resize;margin:0}.work-project-controls{display:flex;align-items:center;justify-content:space-between;padding:10px 14px 13px}.work-arrow{width:34px;height:34px;border:1px solid #d6eaf7;border-radius:50%;background:#f5fbff;color:#276e9a;font-size:18px;cursor:pointer;transition:.2s}.work-arrow:hover{background:#2387c8;color:#fff}.work-dots{display:flex;align-items:center;gap:6px}.work-dot{width:6px;height:6px;border:0;border-radius:99px;background:#c8dce9;padding:0;cursor:pointer}.work-dot.active{width:20px;background:linear-gradient(90deg,#2387c8,#7c7fe8)}.work-empty{grid-column:1/-1;padding:35px 22px;border:1px dashed #bfdff2;border-radius:18px;background:#ffffffa8;color:#64849a;text-align:center;font-size:13px}@media(max-width:760px){.work-section{padding-top:55px;padding-bottom:55px}.work-projects{grid-template-columns:1fr;gap:15px}.work-project-top{padding:14px 15px 10px}.work-project-top h3{font-size:19px}.work-compare{aspect-ratio:1.45/1;max-height:300px}.work-project{border-radius:17px}}

/* Project gallery: one compact, navigable carousel card at a time */
.work-carousel-shell{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:14px;max-width:1120px;margin:0 auto}.work-projects{display:block;min-width:0;width:100%;max-width:100%;}.work-project{width:100%;max-width:100%;animation:workCardIn .38s ease both}.work-compare{aspect-ratio:1.9/1;max-height:430px;min-height:220px}.work-project-nav{display:grid;place-items:center;width:42px;height:42px;border:1px solid #cfe5f5;border-radius:50%;background:rgba(255,255,255,.92);color:#237fbb;font-size:27px;line-height:1;cursor:pointer;box-shadow:0 8px 24px #247db414;transition:transform .2s,background .2s,color .2s}.work-project-nav:hover{background:linear-gradient(130deg,#2188c9,#7882e8);color:#fff;transform:scale(1.06)}.work-project-nav[hidden]{display:none}.work-collection-status{margin:12px auto 0;text-align:center;color:#7590a6;font-size:11px;letter-spacing:.08em}.work-collection-status:empty{display:none}.work-projects .work-empty{width:100%}.work-after-layer{width:var(--compare,50%)}.work-after-layer img{object-fit:cover;max-width:none}.work-compare>img{object-fit:cover}.work-project-controls{min-height:55px}@keyframes workCardIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(max-width:760px){.work-carousel-shell{grid-template-columns:32px minmax(0,1fr) 32px;gap:7px}.work-project-nav{width:31px;height:31px;font-size:22px}.work-compare{aspect-ratio:1.35/1;min-height:190px;max-height:300px}.work-section{overflow:hidden}}@media(prefers-reduced-motion:reduce){.work-project{animation:none}}
/* One continuous before/after showcase: no category filters, auto-rotating homes */
.work-filters{display:none!important}
.work-carousel-shell{max-width:900px;grid-template-columns:40px minmax(0,1fr) 40px;gap:12px}
.work-projects{max-width:100%;}
.work-project{max-width:100%;}
.work-compare{aspect-ratio:1.75/1;max-height:390px;}
.work-project-top h3{font-family:var(--serif);font-size:clamp(18px,2vw,25px)}
@media(max-width:760px){.work-carousel-shell{grid-template-columns:30px minmax(0,1fr) 30px;gap:6px}.work-compare{aspect-ratio:1.25/1;max-height:290px}}

/* Grab-and-swipe interaction for browsing one home's before/after card at a time */
.work-project{user-select:none;touch-action:pan-y;transition:transform .25s,opacity .22s,box-shadow .25s}.work-project.is-grabbing{cursor:grabbing;transform:scale(.995);box-shadow:0 16px 38px #2387c81c}.work-project-top,.work-project-controls{touch-action:pan-y}.work-compare{touch-action:pan-y}.work-range{touch-action:pan-y;user-select:none}

/* Our Work: horizontal grab-and-drag carousel, with one compact comparison card per home. */
.work-carousel-shell{position:relative;display:flex;align-items:center;gap:10px;max-width:100%;}
.work-projects{display:flex!important;flex:1 1 auto;min-width:0;grid-template-columns:none!important;gap:18px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-behavior:smooth;overscroll-behavior-x:contain;padding:8px 3px 20px;scrollbar-width:none;cursor:grab;user-select:none;-webkit-user-select:none;}
.work-projects::-webkit-scrollbar{display:none}
.work-projects.is-dragging{cursor:grabbing;scroll-behavior:auto;scroll-snap-type:none}
.work-project{flex:0 0 clamp(280px,42vw,490px);width:clamp(280px,42vw,490px);max-width:calc(100vw - 105px);scroll-snap-align:start;}
.work-project.is-grabbing{cursor:grabbing}
.work-project img{ -webkit-user-drag:none;user-select:none;}
.work-compare{aspect-ratio:1.55/1;max-height:280px;}
.work-project-nav{flex:0 0 38px;z-index:2;position:static;transform:none;}
.work-collection-status{text-align:center;font-size:11px;color:#7190a7;margin-top:2px;}
@media(max-width:680px){.work-carousel-shell{gap:5px}.work-project{flex-basis:calc(100vw - 92px);width:calc(100vw - 92px);max-width:none}.work-project-nav{flex-basis:30px;width:30px;height:30px}.work-project-top{padding:13px 14px 10px}.work-project-top h3{font-size:18px}.work-compare{max-height:240px}}
@media(prefers-reduced-motion:reduce){.work-projects{scroll-behavior:auto!important}}

/* Instant booking estimate */
.estimate-fields{border:1px solid #d7e8f7;border-radius:16px;padding:16px;margin:4px 0 18px;background:linear-gradient(135deg,rgba(232,247,255,.72),rgba(255,255,255,.92))}.estimate-fields legend{font-weight:700;padding:0 7px;color:#174a78}.estimate-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.estimate-grid label{margin:0}.estimate-grid input{width:100%;box-sizing:border-box}.estimate-summary{display:flex;flex-direction:column;gap:5px;margin-top:14px;padding:14px;border-radius:12px;background:#fff;border:1px solid #d5e9fb;color:#183b5c}.estimate-summary strong{font-size:20px}.estimate-summary span{font-size:13px}.estimate-disclaimer{font-size:12px;color:#55718a;margin:10px 0 0;line-height:1.5}@media(max-width:520px){.estimate-grid{grid-template-columns:1fr 1fr}}

/* Interactive booking estimator */
.booking-estimator{margin:22px 0 20px;padding:22px;border:1px solid #d9eaf8;border-radius:18px;background:linear-gradient(145deg,#f5fbff 0%,#fff 58%,#f7f4ff 100%);box-shadow:0 14px 36px rgba(38,126,187,.08);}
.estimate-heading-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:6px}
.estimate-heading-row .eyebrow{font-size:9px;color:#2787c6;margin:0 0 5px;letter-spacing:.16em}
.estimate-heading-row h4{font:600 23px var(--serif);margin:0;color:#1b3855;letter-spacing:-.025em}
.estimate-sparkle{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:linear-gradient(135deg,#d8f3ff,#e7e0ff 58%,#fff);color:#2787c6;font-size:23px;box-shadow:inset 0 0 0 1px #fff}
.estimate-intro{font-size:11px!important;line-height:1.6;color:#6b8093!important;margin:0 0 17px!important}
.estimate-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.estimate-stepper{display:flex;align-items:center;justify-content:space-between;gap:9px;padding:11px 10px 11px 13px;border:1px solid #e0edf8;border-radius:12px;background:rgba(255,255,255,.88);min-width:0}
.estimate-stepper>span,.estimate-extra>span{font-size:11px;font-weight:600;color:#38536b;line-height:1.3}
.stepper-buttons{display:flex;align-items:center;gap:8px;flex-shrink:0}
.stepper-buttons button{width:29px;height:29px;border:1px solid #cce5f7;border-radius:9px;background:#f1f9ff;color:#207fbd;font-size:19px;line-height:1;cursor:pointer;transition:background .15s,transform .15s}
.stepper-buttons button:hover{background:#dff2ff;transform:translateY(-1px)}
.stepper-buttons output{min-width:14px;text-align:center;font-size:13px;font-weight:700;color:#183b59;font-variant-numeric:tabular-nums}
.estimate-extra{grid-column:1/-1;display:flex!important;align-items:center;justify-content:space-between;gap:15px;padding:11px 13px;border:1px solid #e0edf8;border-radius:12px;background:rgba(255,255,255,.88);margin:0!important}
.estimate-extra select{width:45%;max-width:180px;margin:0!important;border-radius:9px!important;background:#f7fbff!important;border-color:#d7e8f6!important;padding:10px!important}
.estimate-summary{display:grid;gap:5px;margin-top:14px;padding:15px 16px;border-radius:13px;background:linear-gradient(110deg,#e6f7ff,#f0f1ff);border:1px solid #d4e8f8;color:#204665}
.estimate-summary strong{font-size:17px;letter-spacing:-.02em;color:#187fc0}
.estimate-summary span{font-size:12px;font-weight:600}
.estimate-summary small{font-size:10px;line-height:1.55;color:#637e94;margin-top:3px}
.quote-form .form-status.success{padding:13px 15px;border:1px solid #b9e5d1;border-radius:12px;background:#f0fff7;color:#176a4b;line-height:1.6}
@media(max-width:480px){.booking-estimator{padding:15px;border-radius:15px}.estimate-heading-row h4{font-size:20px}.estimate-controls{grid-template-columns:1fr}.estimate-extra{grid-column:auto}.estimate-summary strong{font-size:16px}.quote-form{padding:23px}}

/* Review carousel empty state: never leave a blank reviews section. */
.review-empty{min-height:230px;display:flex;align-items:center;justify-content:center;text-align:center;padding:32px 24px;color:#65778a;font-size:15px;line-height:1.7;background:#f8fbff;border:1px solid #dceaf5;border-radius:18px;}
.review-carousel-track:empty{min-height:230px}
.review-carousel button:disabled{opacity:.35;cursor:not-allowed}


/* Customer review cards: horizontal multi-card carousel inspired by the supplied reference */
#publicReviews{max-width:none;width:100%;overflow:hidden;cursor:grab;}
#publicReviews.is-paused{cursor:grabbing;}
#reviewCarouselTrack.review-carousel-track{display:flex;gap:20px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:none;scroll-behavior:auto;scrollbar-width:none;min-height:0;padding:12px 6px 24px;touch-action:pan-y;}
#reviewCarouselTrack::-webkit-scrollbar{display:none;}
#reviewCarouselTrack .review-slide{display:flex!important;visibility:visible!important;flex:0 0 calc((100% - 40px)/3);min-width:250px;min-height:250px;box-sizing:border-box;flex-direction:column;align-items:flex-start;gap:15px;text-align:left;margin:0;padding:28px;border:1px solid rgba(22,40,90,.06);border-radius:24px;background:#fff;box-shadow:0 18px 48px rgba(22,40,90,.09);scroll-snap-align:none;animation:none;}
#reviewCarouselTrack .review-client-name{font-family:var(--sans,Arial,sans-serif);font-size:clamp(23px,2vw,31px);font-weight:600;line-height:1.15;letter-spacing:-.035em;color:#171747;margin:0;overflow-wrap:anywhere;}
#reviewCarouselTrack .stars{font-size:19px;letter-spacing:2px;color:#ffb52e;line-height:1;}
#reviewCarouselTrack .stars .empty-stars{color:#e1e3eb;}
#reviewCarouselTrack .review-card-text{font-family:var(--sans,Arial,sans-serif);font-size:15px;line-height:1.7;font-weight:400;color:#4e5870;margin:0;max-width:none;white-space:normal;overflow-wrap:anywhere;user-select:text;-webkit-user-select:text;}
#reviewDots{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;}
#reviewDots .review-dot{width:7px;height:7px;border-radius:99px;border:0;padding:0;background:#cbd9e9;cursor:pointer;}
#reviewDots .review-dot.is-active{width:22px;background:#2687e8;}
#publicReviews .review-carousel-controls{margin-top:8px;}
#publicReviews .review-carousel-hint{font-size:12px;color:#78849a;text-align:center;margin:12px 0 0;}
#publicReviews .review-empty{width:100%;padding:32px;text-align:center;color:#667085;}
@media(max-width:1100px){#reviewCarouselTrack .review-slide{flex-basis:calc((100% - 40px)/3);}}
@media(max-width:760px){#reviewCarouselTrack .review-slide{flex-basis:calc((100% - 20px)/2);min-width:230px;padding:23px;}}
@media(max-width:480px){#reviewCarouselTrack .review-slide{flex-basis:86%;min-width:0;padding:23px;}}

/* Continuous before/after work marquee */
.work-projects{display:flex!important;grid-template-columns:none!important;overflow-x:auto!important;overflow-y:hidden!important;scrollbar-width:none!important}
.work-project{flex:0 0 clamp(280px,36vw,430px);}
.work-project-clone{pointer-events:none!important}
@media(max-width:680px){.work-project{flex-basis:min(84vw,360px);width:min(84vw,360px)}}

/* Continuous Our Work marquee: avoid CSS smooth-scroll and mandatory snap fighting RAF updates. */
.work-projects.is-auto-moving{scroll-behavior:auto!important;scroll-snap-type:none!important;overflow-x:auto!important;}
.work-projects.is-auto-moving .work-project{scroll-snap-align:none!important;}

@media(max-width:760px){.brand-logo{width:84px;height:58px}.brand{gap:7px;min-width:0}.brand-tagline{max-width:112px;font-size:9px;padding-left:8px;letter-spacing:0}.brand-name{font-size:17px}.brand-name small{font-size:6px;letter-spacing:.18em;margin-top:3px}}@media(max-width:380px){.brand-logo{width:70px;height:52px}.brand-tagline{max-width:95px;font-size:8px;padding-left:6px}}

/* Booking availability mini-calendar */
.mini-calendar{background:#fff;border:1px solid #dce8f3;border-radius:16px;padding:12px;margin:-3px 0 14px;box-shadow:0 8px 24px rgba(22,61,92,.05)}
.calendar-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;color:#18374d;text-transform:capitalize}
.calendar-head strong{font-size:13px;font-weight:700}
.calendar-head button{width:30px;height:30px;border:1px solid #d5e4f1;border-radius:50%;background:#f7fbff;color:#1768a7;font-size:20px;cursor:pointer;line-height:1}
.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;text-align:center}
.calendar-weekday{font-size:10px;color:#7b8fa0;padding:4px 0}
.calendar-day{position:relative;min-height:31px;border:1px solid transparent;border-radius:9px;background:#eff9f1;color:#245b3b;font-size:11px;cursor:pointer}
.calendar-day:hover:not(:disabled){border-color:#6aa5dc;background:#e8f4ff}
.calendar-day.selected{background:#1f6ca7;color:#fff;border-color:#1f6ca7}
.calendar-day.has-booking:not(.selected){background:#fff1ef;color:#a43f35}
.calendar-day.has-booking i{position:absolute;width:4px;height:4px;background:#d65e51;border-radius:50%;bottom:3px;left:calc(50% - 2px)}
.calendar-day.fully-booked,.calendar-day.past{opacity:.4;cursor:not-allowed;background:#edf0f2;color:#75818b}
.calendar-empty{min-height:31px}
.calendar-legend{display:flex;align-items:center;gap:6px;font-size:10px;color:#7b8fa0;margin:10px 0 0}
.legend-free,.legend-booked{display:inline-block;width:7px;height:7px;border-radius:50%;background:#68a77a;margin-left:5px}.legend-booked{background:#d65e51}
@media(max-width:520px){.mini-calendar{padding:9px}.calendar-day{min-height:29px}.calendar-grid{gap:3px}}

.booking-time-range{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}.booking-time-range label{min-width:0}.booking-time-range select{width:100%;min-width:0}@media(max-width:520px){.booking-time-range{grid-template-columns:1fr}}

.booking-start-only{grid-template-columns:minmax(220px,1fr)!important;max-width:420px}

/* Compact step-by-step booking modal */
.booking-modal{position:fixed;inset:0;z-index:9999;display:none;align-items:center;justify-content:center;padding:18px}.booking-modal.is-open{display:flex}.booking-modal-backdrop{position:absolute;inset:0;background:rgba(9,27,45,.62);backdrop-filter:blur(5px)}.booking-modal-panel{position:relative;z-index:1;width:min(760px,100%);max-height:min(92vh,900px);overflow:auto;background:#fff;border:1px solid #d9e9f4;border-radius:22px;padding:28px;box-shadow:0 24px 90px rgba(10,40,70,.25)}.booking-modal-close{position:absolute;right:16px;top:10px;width:38px;height:38px;border:0;background:#f1f7fb;border-radius:50%;font-size:27px;color:#1a3b54;cursor:pointer}.wizard-progress{display:flex;align-items:center;gap:14px;padding-right:42px;color:#3478a7;font-size:12px;font-weight:700;letter-spacing:.04em}.wizard-progress-track{height:5px;flex:1;background:#e7f0f7;border-radius:8px;overflow:hidden}.wizard-progress-track span{display:block;height:100%;width:20%;background:linear-gradient(90deg,#36b8e8,#2670d8);transition:width .25s}.booking-modal-panel h2{font-size:clamp(25px,4vw,34px);margin:18px 0 5px;color:#173a55}.wizard-subtitle{margin:0 0 20px;color:#627889;font-size:14px}.wizard-form-host .quote-form{box-shadow:none;border:0;padding:0;margin:0;background:transparent}.wizard-form-host .quote-form>h3,.wizard-form-host .quote-form>p[data-i18n="formIntro"]{display:none}.wizard-step{display:none}.wizard-step.is-active{display:block}.wizard-step label{margin-bottom:14px}.wizard-step textarea{min-height:115px}.wizard-actions{display:flex;justify-content:space-between;gap:12px;margin-top:22px;padding-top:18px;border-top:1px solid #e7eef4}.wizard-actions .button{min-width:125px;justify-content:center}.wizard-actions .button:disabled{opacity:.4;cursor:not-allowed}.wizard-description-count{font-size:12px;color:#60788a;text-align:right;margin-top:-8px;margin-bottom:14px}.wizard-description-count.is-valid{color:#24784a}.wizard-review{padding:14px 16px;background:#f4f9fc;border:1px solid #dcecf5;border-radius:14px;color:#27465d;font-size:14px;line-height:1.7}.wizard-review strong{color:#143a57}.booking-modal-panel .form-status{margin-top:12px}.booking-modal-panel .mini-calendar{max-width:100%}@media(max-width:600px){.booking-modal{padding:8px}.booking-modal-panel{padding:22px 16px 16px;border-radius:18px;max-height:95vh}.wizard-actions .button{min-width:0;flex:1}.wizard-progress{font-size:11px}}

/* Deposit and payment details shown in the booking wizard */
.booking-policy-note{margin:12px 0 18px;padding:14px 16px;border:1.5px solid #dc2626;border-left:5px solid #dc2626;border-radius:12px;background:linear-gradient(120deg,#fff1f2,#fff7f7);color:#991b1b;font-size:12px;line-height:1.6;box-shadow:0 5px 18px rgba(220,38,38,.10)}.booking-policy-note p{margin:0}.booking-policy-note p+p{margin-top:7px;padding-top:7px;border-top:1px solid rgba(220,38,38,.18)}.booking-policy-note strong{font-weight:800;color:#b91c1c}

/* Footer booking CTA */
.footer-booking-button{display:inline-flex;align-items:center;gap:12px;margin:8px 0 16px;text-decoration:none}
.footer-booking-button span{font-size:1.1em}


/* Booking CTA in the contact/booking intro area */
.contact-booking-button { display: inline-flex; align-items: center; gap: 1rem; margin-top: 1.4rem; width: fit-content; text-decoration: none; }
@media (max-width: 640px) { .contact-booking-button { width: 100%; justify-content: center; } }

/* Official platform marks for footer social links */
.social-link .social-icon{display:grid;place-items:center;width:30px;height:30px;flex:0 0 30px;border-radius:0;background:transparent;color:inherit;font-size:20px;font-weight:700}.social-link .social-icon img{display:block;width:22px;height:22px;object-fit:contain}.social-link .social-icon.social-icon-fallback{font-size:18px}.footer-bottom .social-link .social-icon{width:25px;height:25px;flex-basis:25px}.footer-bottom .social-link .social-icon img{width:21px;height:21px}
