:root{--blue:#125dcc;--navy:#103265;--pale:#eff6ff}html{scroll-behavior:smooth;scroll-padding-top:100px}body{color:var(--navy);background:white}a,button{touch-action:manipulation}a:focus-visible,button:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid #3283f4;outline-offset:5px}header nav a{padding:8px 4px}header{border-bottom:1px solid #dbeafe}section{scroll-margin-top:100px}.page-wrap{max-width:1180px;margin:auto;padding:56px 24px}.eyebrow{font:700 12px Inter,Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--blue)}.detail-hero{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}.detail-hero h1{font:500 clamp(36px,5vw,60px)/1.1 'Playfair Display',Georgia,serif;margin:22px 0}.detail-hero p,.detail-copy{font:400 17px/1.8 Inter,Arial,sans-serif;color:#425b7b}.detail-title{font:500 32px/1.25 'Playfair Display',Georgia,serif;margin:0 0 24px}.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.detail-card{display:block;padding:28px;border:1px solid #dbeafe;border-radius:16px;background:white;color:var(--navy);text-decoration:none}.detail-card h3{font:600 21px/1.3 Georgia,serif;margin:0 0 12px}.detail-card p{font:400 14px/1.8 Inter,Arial,sans-serif;color:#425b7b}.detail-card:hover{border-color:var(--blue)}.blue-section{background:var(--pale)}.action-link{display:inline-flex;align-items:center;justify-content:center;padding:16px 24px;border-radius:8px;background:var(--blue);color:white;font:600 14px Inter,Arial,sans-serif;text-decoration:none;margin:16px 8px 8px 0}.breadcrumb{font:400 13px Inter,Arial,sans-serif;margin-bottom:30px}.breadcrumb a{color:var(--blue)}.slideshow{position:relative;overflow:hidden;border-radius:18px;background:#dbeafe;isolation:isolate;min-height:340px}.slideshow img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .7s}.slideshow img.is-active{opacity:1}.slide-controls{position:absolute;bottom:16px;left:16px;right:16px;display:flex;gap:8px;align-items:center;z-index:2}.slide-controls button,.slide-count{background:#103265;color:white;border:1px solid #bdd9ff;border-radius:7px;padding:10px 14px;font:600 12px Inter,Arial,sans-serif}.slide-controls button{cursor:pointer;min-height:44px}.slide-count{margin-left:auto}.home-gallery{max-width:1180px;margin:0 auto 60px;padding:0 24px}.home-gallery .slideshow{height:440px}.floating-contact{position:fixed;right:22px;bottom:max(22px,env(safe-area-inset-bottom));z-index:60;display:flex;flex-direction:column;gap:14px}.floating-contact a{display:flex;align-items:center;gap:10px;min-height:54px;padding:0 20px;background:var(--blue);color:white;border-radius:30px;box-shadow:0 7px 24px #125dcc40;border:2px solid white;font:600 14px Inter,Arial,sans-serif;text-decoration:none;animation:heartbeat 2.8s infinite}.floating-contact a:last-child{background:white;color:var(--blue);border-color:var(--blue);animation-delay:.35s}.floating-contact svg{width:25px;height:25px;fill:currentColor}.floating-contact a:hover,.floating-contact a:focus{animation-play-state:paused}.contact-notice{position:fixed;inset:auto 20px 170px auto;max-width:320px;z-index:100;background:white;border:2px solid var(--blue);border-radius:12px;padding:24px;box-shadow:0 8px 35px #10326530;font:15px/1.6 Inter,Arial,sans-serif}.contact-notice button{color:var(--blue);font-weight:bold;padding:8px}.mobile-menu{display:none}.page-footer{padding-bottom:140px!important}@keyframes heartbeat{0%,35%,100%{transform:scale(1)}10%,25%{transform:scale(1.07)}18%{transform:scale(1)}}@media(max-width:1279px){.mobile-menu{display:block;padding:10px 14px;border:1px solid #bcd6fa;border-radius:7px;color:var(--navy)}header nav.menu-open{display:flex!important;position:absolute;top:80px;left:0;right:0;max-height:75vh;overflow:auto;background:white;padding:24px;flex-direction:column;align-items:flex-start;box-shadow:0 14px 20px #10326515}}@media(max-width:700px){.detail-hero,.detail-grid{grid-template-columns:1fr}.page-wrap{padding:38px 22px}.detail-hero{gap:24px}.home-gallery .slideshow{height:320px}.floating-contact{right:14px;bottom:14px}.floating-contact a{padding:0 14px;min-height:50px}.slide-controls{gap:5px;left:10px;right:10px}.slide-controls button{padding:8px 10px}header>div{padding-left:16px!important;padding-right:16px!important}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
:where(*){box-sizing:border-box}body{margin:0;font-family:Inter,Arial,sans-serif}button,input,select{font:inherit}button{cursor:pointer}header{position:fixed;top:0;left:0;right:0;z-index:50;background:#ffffffed;backdrop-filter:blur(16px)}.nav-shell{max-width:1380px;height:80px;margin:auto;padding:0 30px;display:flex;gap:24px;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:10px;position:relative;font:600 23px Georgia,serif;letter-spacing:.08em;color:#103265;text-decoration:none}.brand-icon{display:grid;place-items:center;width:38px;height:38px;border:1px solid #125dcc;border-radius:50%;color:#125dcc}.brand-caption{position:absolute;left:49px;top:28px;font:8px Inter,sans-serif;letter-spacing:.19em}.nav-shell nav{display:flex;gap:18px;align-items:center}.nav-shell nav a{font:500 12px Inter,sans-serif;text-decoration:none;color:#425b7b}.nav-shell nav a[aria-current]{color:#125dcc;border-bottom:2px solid #125dcc}.nav-book{padding:13px 17px;background:#125dcc;color:white;border-radius:7px;text-decoration:none;font-size:12px;white-space:nowrap}.home-hero{padding-top:70px;padding-bottom:70px}.home-hero h1{font-size:clamp(44px,5vw,66px)}.home-hero h1 em{color:#125dcc;font-weight:400}.hero-image .slideshow{height:450px;border-radius:100px 18px 18px 18px}.image-caption{padding:20px 5px;display:flex;flex-direction:column;gap:9px}.image-caption span{font-size:9px;letter-spacing:.12em;color:#125dcc}.image-caption strong{font:400 19px Georgia,serif}.hero-regions{font-size:10px;letter-spacing:.11em;margin-top:30px;color:#425b7b}.text-link{display:inline-block;font:600 13px/1.6 Inter,sans-serif;color:#125dcc;text-decoration:none;padding:15px 0}.section-heading{margin-top:18px;margin-bottom:30px}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.service-grid .detail-card{padding:25px 22px;display:flex;flex-direction:column}.service-number{display:block;font-size:10px;font-weight:700;letter-spacing:.13em;color:#125dcc;margin-bottom:28px}.card-arrow{font-size:12px;font-weight:600;color:#125dcc;display:block;margin-top:auto;padding-top:20px}.booking-panel{padding:40px;border:1px solid #c3d8f4;border-radius:18px;display:grid;grid-template-columns:1fr 1.4fr;gap:45px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}label{display:block;font-size:12px;font-weight:600;margin-bottom:9px}select,input{width:100%;min-width:0;border:1px solid #c3d8f4;background:#eff6ff;color:#103265;border-radius:7px;padding:13px;font-size:13px}form .action-link{border:0}.form-note{font-size:11px;line-height:1.7;color:#425b7b}details.detail-card{margin:12px 0}summary{cursor:pointer;font-size:15px;font-weight:500}footer{background:#103265;color:white}.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:36px}footer .brand{color:white}footer h3{font-size:12px;margin:0 0 20px}footer a:not(.brand){display:block;color:#dbeafe;font-size:12px;text-decoration:none;margin:12px 0}footer p{font-size:12px;color:#dbeafe;line-height:1.9}.copyright{max-width:1132px;margin:auto;border-top:1px solid #ffffff30;padding:25px 0;font-size:11px;color:#c4dcff}@media(max-width:1279px){.nav-shell nav{display:none}.nav-shell{gap:14px}.nav-book{margin-left:auto}}@media(max-width:850px){.service-grid{grid-template-columns:1fr 1fr}.booking-panel{grid-template-columns:1fr;padding:24px;gap:20px}.footer-grid{grid-template-columns:1fr 1fr}}@media(max-width:700px){.hero-image .slideshow{height:340px;border-top-left-radius:65px}.home-hero{padding-top:35px}.form-grid{grid-template-columns:1fr}.service-grid{grid-template-columns:1fr}.nav-book{display:none}.brand{font-size:20px}.copyright{padding-left:22px}.detail-hero h1{overflow-wrap:anywhere}}

.brand-icon{width:44px;height:44px;flex-shrink:0;font:700 12px Inter,Arial,sans-serif;letter-spacing:.02em}.brand-name{font:600 13px/1.4 Inter,Arial,sans-serif;letter-spacing:0;white-space:nowrap}

@media(min-width:1280px) and (max-width:1550px){.nav-shell nav{display:none}.mobile-menu{display:block;padding:10px 14px;border:1px solid #bcd6fa;border-radius:7px;color:var(--navy)}header nav.menu-open{display:flex!important;position:absolute;top:80px;left:0;right:0;max-height:75vh;overflow:auto;background:white;padding:24px;flex-direction:column;align-items:flex-start;box-shadow:0 14px 20px #10326515}.nav-book{margin-left:auto}}

.onsite-gallery{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:28px}.onsite-gallery figure,.cleaning-comparison{margin:0;overflow:hidden;border-radius:16px;background:white;border:1px solid #c3d8f4}.onsite-gallery img,.cleaning-comparison img{display:block;width:100%;height:auto}.onsite-gallery figcaption,.cleaning-comparison figcaption{padding:16px 20px;font:500 13px/1.6 Inter,Arial,sans-serif;color:#425b7b}.comparison-heading{margin-top:50px}.comparison-labels{display:grid;grid-template-columns:1fr 1fr;background:#103265;color:white;text-align:center;font:600 13px Inter,Arial,sans-serif}.comparison-labels span{padding:15px}.comparison-labels span+span{background:#125dcc}@media(max-width:700px){.onsite-gallery{grid-template-columns:1fr}}

/* Display the supplied logo, cropping only its surrounding white margin. */
.logo-frame{position:relative;display:block;overflow:hidden;width:132px;height:116px;flex-shrink:0;background:white;border-radius:4px}.logo-frame .company-logo{position:absolute;display:block;width:280px;height:280px;max-width:none;left:-77px;top:-80px;object-fit:contain}.nav-shell{height:132px}.nav-shell .brand{flex-shrink:0}main{padding-top:132px!important}html{scroll-padding-top:152px}section{scroll-margin-top:152px}header nav.menu-open{top:132px!important}footer .logo-frame{width:200px;height:180px}footer .logo-frame .company-logo{width:416px;height:416px;left:-112px;top:-118px}

.package-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}.package-card{min-width:0}.package-prices{margin:22px 0;font-size:14px;line-height:1.6}.package-prices>div{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 16px;padding:12px 0;border-bottom:1px solid #dbeafe}.package-prices dt{color:#425b7b}.package-prices dd{margin:0;font-weight:700;color:var(--navy)}
