/* Coastal image with a readable translucent panel. */
.hero.immersive-hero{position:relative;isolation:isolate;display:flex;flex-direction:row;align-items:center;min-height:800px;height:auto;padding:48px 5%;overflow:hidden;box-sizing:border-box}
.immersive-hero .hero-photo{position:absolute;inset:0;order:0;aspect-ratio:auto;min-height:0;height:100%;width:100%;z-index:-2;border-radius:0}
.immersive-hero .hero-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:62% center}
.immersive-hero .hero-photo:after{position:absolute;inset:0;background:linear-gradient(90deg,#101b1545,transparent 85%)}
.immersive-hero .hero-copy{order:0;display:flex;align-items:flex-start;flex-direction:column;width:100%;max-width:720px;height:auto;padding:36px 38px;margin:0;background:rgba(20,29,25,.73);border:1px solid #ffffff38;border-radius:22px;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);box-shadow:0 18px 50px #00000024;box-sizing:border-box}
.immersive-hero .hero-service-title{font-size:clamp(20px,1.6vw,25px);line-height:1.45;max-width:620px;margin:24px 0 0}
.immersive-hero .hero-statement{font-size:clamp(56px,5.6vw,82px);line-height:1.03;letter-spacing:-3.5px;margin:24px 0;max-width:650px}
.immersive-hero .hero-statement em{letter-spacing:-3px}
.immersive-hero .lead{font-size:18px;line-height:1.6;color:#f5f5ef;margin:0;max-width:610px}
.immersive-hero .hero-call{width:100%;margin:28px 0 0}
.immersive-hero .hero-call a.call-now{display:flex;width:100%;box-sizing:border-box;min-height:60px;border-radius:8px;background:#abef38;border:1px solid #abef38;color:#202623;font-size:21px;font-weight:600;padding:16px 22px;box-shadow:0 5px 20px #00000016}
.immersive-hero .hero-call a.call-now:hover{background:#c1fa70;border-color:#c1fa70;color:#202623;transform:translateY(-1px)}
.google-rating{display:inline-flex;align-items:center;flex-wrap:wrap;gap:10px;padding:10px 15px;min-height:44px;border-radius:40px;background:#f5f5ef;color:#202623;font-size:19px;line-height:1.3;box-sizing:border-box}
.google-rating svg{flex:none}.rating-stars{position:relative;color:#cbd0c5;font-size:23px;letter-spacing:1px;line-height:1;white-space:nowrap}.rating-stars>span:first-child{display:block}.rating-fill{position:absolute;top:0;left:0;width:86%;overflow:hidden;color:#e79820;white-space:nowrap}.rating-out-of{font-size:15px;font-weight:400}.rating-source{font-size:15px}
@media(max-width:740px){.hero.immersive-hero{margin:0 10px;padding:22px 16px;min-height:0;align-items:stretch}.immersive-hero .hero-photo{position:absolute;inset:0;aspect-ratio:auto;height:100%}.immersive-hero .hero-photo img{object-fit:cover;object-position:66% center}.immersive-hero .hero-copy{max-width:none;padding:26px 22px;border-radius:18px;background:rgba(20,29,25,.76)}.immersive-hero .hero-service-title{font-size:20px;margin-top:22px}.immersive-hero .hero-statement{font-size:clamp(40px,10.5vw,65px);letter-spacing:-2px;line-height:1.07;margin:24px 0}.immersive-hero .hero-statement em{letter-spacing:-2px}.immersive-hero .lead{font-size:18px;line-height:1.6}.immersive-hero .hero-call{margin-top:26px}.google-rating{gap:8px;padding:10px 13px}.rating-source{display:none}}
@media(prefers-reduced-motion:reduce){.immersive-hero .hero-call a.call-now:hover{transform:none}}
/* Let the architecture remain the focal point. */
.hero.immersive-hero{min-height:780px;padding:38px 4%}
.immersive-hero .hero-photo img{object-position:center center}
.immersive-hero .hero-photo:after{background:none}
.immersive-hero .hero-copy{max-width:650px;padding:30px 32px;background:rgba(245,245,239,.76);color:#202623;border-color:#ffffff70;backdrop-filter:blur(1px);-webkit-backdrop-filter:blur(1px);box-shadow:0 10px 30px #00000012}
.immersive-hero .hero-service-title,.immersive-hero .lead{color:#202623}
.immersive-hero .hero-statement{color:#202623;font-size:clamp(56px,5.1vw,76px)}
.immersive-hero .hero-statement em{color:inherit}
@media(max-width:740px){
.hero.immersive-hero{display:flex;flex-direction:column;min-height:0;padding:0 0 20px;background:#f5f5ef;overflow:hidden}
.immersive-hero .hero-photo{position:relative;inset:auto;order:0;width:100%;height:auto;aspect-ratio:1672/941;z-index:0;flex-shrink:0}
.immersive-hero .hero-photo img{position:absolute;inset:0;object-fit:contain;object-position:center;width:100%;height:100%}
.immersive-hero .hero-copy{order:1;z-index:1;align-self:center;width:calc(100% - 28px);max-width:none;height:auto;margin:-22px 14px 0;padding:26px 22px;background:rgba(245,245,239,.86);color:#202623;border-color:#ffffffcc;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}
.immersive-hero .hero-statement{font-size:clamp(40px,10.5vw,65px)}
}

