/* A single edge-to-edge photograph, cropped proportionally behind the hero copy. */
.hero{display:block;padding:0;margin:0;width:100%}
.hero-scene{position:relative;isolation:isolate;overflow:hidden;background:#193f35}
.hero-home-photo{position:absolute;inset:0;margin:0;z-index:-2}
.hero-home-photo img{width:100%;height:100%;object-fit:cover;object-position:center 60%}
.hero-scene::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(12,39,31,.88) 0%,rgba(12,39,31,.78) 30%,rgba(12,39,31,.25) 65%,rgba(12,39,31,.03) 100%)}
.hero-copy{max-width:610px;padding:72px 0 68px;color:#fff}
.hero .eyebrow{color:#e0edce;margin-bottom:22px}
.hero h1{font-size:clamp(54px,5.3vw,76px);margin-bottom:24px;color:#fff}
.hero h1 em{color:#d0e3b5}
.hero-description{color:#fff;max-width:490px;font-size:18px;line-height:1.75}
.hero-actions{margin-top:28px;gap:26px;flex-direction:row;align-items:center}
.hero-actions .button{background:#fff;color:#193f35;border-color:#fff}
.hero-actions .button:hover{background:#e7f0dd;border-color:#e7f0dd}
.hero-actions .text-link{color:#fff}
.hero-promise{margin-top:28px;color:#fff;font-size:16px}
.hero-promise .promise-icon{background:#dceaca;color:#193f35}
.hero-booking{padding-block:48px 56px}
.hero-booking .booking-card{width:100%;max-width:820px;margin-inline:auto;padding:32px 38px}
@media(min-width:1550px){.hero h1{font-size:80px}.hero-copy{padding-block:85px}}
@media(max-width:980px){.hero-copy{max-width:550px;padding-block:60px}.hero h1{font-size:62px}}
@media(max-width:800px){.hero-copy{max-width:530px;padding-block:50px}.hero h1{font-size:60px}.hero-home-photo img{object-position:58% center}.hero-scene::before{background:linear-gradient(90deg,rgba(12,39,31,.9),rgba(12,39,31,.65) 60%,rgba(12,39,31,.2))}.hero-booking{padding-block:36px 44px}}
@media(max-width:580px){.hero-copy{padding:42px 0 38px}.hero h1{font-size:clamp(43px,11.8vw,62px);margin-bottom:22px}.hero .eyebrow{font-size:14px;margin-bottom:20px}.hero-description{font-size:17px;line-height:1.7}.hero-home-photo img{object-position:61% center}.hero-scene::before{background:rgba(12,39,31,.77)}.hero-actions{gap:18px 22px;margin-top:24px;flex-direction:row;align-items:center}.hero-promise{font-size:15px;margin-top:24px}.hero-booking .booking-card{padding:25px 20px}.hero-booking{padding-block:28px 35px}}
@media(max-width:380px){.hero h1{font-size:43px}.hero-actions{flex-direction:column;align-items:flex-start}.hero-booking .booking-card{padding:25px 18px}}

/* Booking remains alongside the copy over the same full-width photograph. */
.hero-scene>.wrap{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:center;padding-block:48px 54px}
.hero-copy{padding:0;max-width:590px}
.hero h1{font-size:clamp(49px,5.1vw,74px)}
.hero-scene::before{background:linear-gradient(90deg,rgba(12,39,31,.9),rgba(12,39,31,.7) 36%,rgba(12,39,31,.08) 75%)}
.hero-booking{padding:0;min-width:0}
.hero-booking .booking-card{background:rgba(255,255,255,.86);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);border-color:rgba(255,255,255,.75);padding:30px;box-shadow:0 12px 45px rgba(12,39,31,.12)}
.hero-booking .booking-card input,.hero-booking .booking-card select,.hero-booking .booking-card textarea{background-color:#fff}
.hero-booking .eyebrow{color:var(--green)}
@media(max-width:1150px){.hero-scene>.wrap{gap:5%}.hero h1{font-size:58px}.hero-booking .booking-card{padding:25px}}
@media(max-width:980px) and (min-width:801px){.hero-scene>.wrap{grid-template-columns:.9fr 1.1fr;gap:4%}.hero h1{font-size:50px}.hero-actions{flex-direction:column;align-items:flex-start}.hero-booking .booking-card{padding:24px 20px}}
@media(max-width:800px){.hero-scene>.wrap{grid-template-columns:1fr;gap:34px;padding-block:42px}.hero-copy{padding:0;max-width:590px}.hero h1{font-size:clamp(50px,8vw,68px)}.hero-booking .booking-card{max-width:620px;margin-inline:0;padding:30px}.hero-scene::before{background:linear-gradient(180deg,rgba(12,39,31,.84),rgba(12,39,31,.65) 48%,rgba(12,39,31,.25))}.hero-home-photo img{object-position:59% center}.hero-actions{flex-direction:row;align-items:center}}
@media(max-width:580px){.hero-scene>.wrap{padding-block:36px;gap:30px}.hero h1{font-size:clamp(43px,11.8vw,62px)}.hero-booking .booking-card{padding:25px 20px}}
@media(max-width:380px){.hero h1{font-size:43px}.hero-actions{flex-direction:column;align-items:flex-start}.hero-booking .booking-card{padding:25px 18px}}

/* Keep the booking panel focused on the fields and next action. */
#booking-entry>h2{margin-bottom:22px}


@media(min-width:381px) and (max-width:580px){.header .brand img{width:160px}.header-quote{font-size:13px;padding-inline:10px;white-space:nowrap}}

/* Compact desktop enquiry panel leaves the room visible between copy and form. */
@media(min-width:801px){
 .hero-scene>.wrap{grid-template-columns:minmax(0,1fr) 370px;gap:6%;min-height:620px;padding-block:50px}
 .hero-copy{max-width:550px}
 .hero-booking .booking-card{max-width:370px;padding:24px 22px;background:rgba(255,255,255,.86);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}
 .hero-booking .booking-card h2{font-size:30px;line-height:1.15;margin-bottom:20px}
 .hero-booking .booking-card label{margin-bottom:6px}
 .hero-booking .booking-card input,.hero-booking .booking-card select,.hero-booking .booking-card textarea{min-height:44px;padding-block:10px;margin-bottom:12px}
 .hero-booking .booking-row{gap:12px}
 .hero-booking .booking-submit{min-height:46px;padding:12px 10px}
 .hero-booking .booking-privacy{margin-top:12px}
 .hero-scene::before{background:linear-gradient(90deg,rgba(12,39,31,.88),rgba(12,39,31,.72) 34%,rgba(12,39,31,.1) 65%,rgba(12,39,31,.02))}
}
@media(min-width:801px) and (max-width:1150px){.hero-scene>.wrap{grid-template-columns:minmax(0,1fr) 350px;gap:5%}.hero-booking .booking-card{max-width:350px;padding:22px 18px}}

/* Frame the professional’s hands, mop and work shoes. */
@media(min-width:801px){.hero-home-photo img{object-position:50% 35%}}
@media(max-width:800px){.hero-home-photo img{object-position:55% center}}
