/* Full-width photographic hero, using the existing Hopp Hopp palette. */
.hh-photo-hero.hh-photo-hero{position:relative;isolation:isolate;display:flex!important;align-items:center;min-height:650px;min-height:clamp(650px,77svh,850px);padding:76px 5vw 145px!important;margin:0!important;width:100%;max-width:none!important;overflow:hidden;background:#253b4c!important;border-radius:0!important;gap:0!important}
.hh-photo-hero.hh-photo-hero:before,.hh-photo-hero.hh-photo-hero:after{display:none!important}
.hh-photo-hero>.hero-copy{position:relative;z-index:3;max-width:650px;width:55%;padding:0!important;background:none!important;pointer-events:none}
.hh-photo-hero>.hero-copy a{pointer-events:auto}
.hh-photo-hero.hh-photo-hero h1{color:#fff!important;font-size:clamp(44px,5.3vw,76px)!important;line-height:1.06!important;letter-spacing:-.045em;margin:0 0 24px!important;text-wrap:balance;text-shadow:0 2px 24px #0003}
.hh-photo-hero.hh-photo-hero .eyebrow{color:#fff!important;font-size:13px;letter-spacing:.1em;margin-bottom:26px;max-width:38em}
.hh-photo-hero.hh-photo-hero p{color:#fff!important;font-size:18px;line-height:1.6;max-width:35em;margin:0 0 28px}
.hh-photo-hero.hh-photo-hero .hero-subline{color:#ffad69!important;font-size:23px;line-height:1.4;font-weight:700;margin-bottom:14px}
.hh-photo-hero .actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin:32px 0 0!important}
.hh-photo-hero.hh-photo-hero .button{background:#ff7c06!important;color:#fff!important;border:1px solid #ff7c06!important;padding:17px 25px;min-height:56px;border-radius:999px;box-shadow:none}
.hh-photo-hero.hh-photo-hero .button.secondary{background:#142b3a55!important;border-color:#ffffffb3!important;color:#fff!important;backdrop-filter:blur(4px)}
.hh-photo-hero.hh-photo-hero .button:hover{background:#dd6200!important;border-color:#dd6200!important}
.hh-photo-hero .hero-visual.hero-slideshow{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;align-self:auto!important;z-index:0;transform:none!important;margin:0!important}
.hh-photo-hero .hero-visual.hero-slideshow:after{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(15,31,43,.93) 0%,rgba(15,31,43,.81) 27%,rgba(15,31,43,.43) 53%,rgba(15,31,43,.09) 78%),linear-gradient(0deg,rgba(15,31,43,.52),transparent 50%)}
.hh-photo-hero .hero-slideshow .hero-slide-media{position:absolute!important;inset:0!important;height:100%!important;width:100%!important;aspect-ratio:auto!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:#253b4c!important}
.hh-photo-hero .hero-slideshow .hero-slide-media>img{width:100%!important;height:100%!important;aspect-ratio:auto!important;object-fit:cover!important;object-position:65% 50%!important;border-radius:0!important;transform:none!important;filter:none!important}
.hh-photo-hero .hero-slideshow .hero-slide-caption{position:absolute!important;inset:auto 5vw 28px auto!important;z-index:4;margin:0!important;width:min(360px,40vw);min-height:76px!important;padding:15px 20px!important;background:rgba(255,253,248,.95)!important;border-radius:18px!important;box-shadow:0 8px 28px #0002;backdrop-filter:blur(10px)}
.hh-photo-hero .hero-slide-caption .hero-slide-name{font-size:20px!important}.hh-photo-hero .hero-slide-caption:after{content:'↗';font-size:26px;color:#e56600;flex:none}
.hh-photo-hero .hero-slide-controls{position:absolute;left:5vw;bottom:36px;z-index:4;justify-content:flex-start;margin:0!important;color:#fff;pointer-events:auto}
.hh-photo-hero .hero-slide-controls button{background:#142b3a66;color:#fff;border:1px solid #ffffff80;backdrop-filter:blur(5px)}
.hh-photo-hero .hero-slide-controls button:hover,.hh-photo-hero .hero-slide-controls button:focus-visible{background:#ff7c06;color:#fff;border-color:#ff7c06}
.hh-hero-service{padding:22px 5vw;background:#e5f4ff;border-bottom:1px solid #c9dfed}.hh-hero-service .city-location-note{max-width:1100px;margin:0;background:none;border:0;padding:0}.hh-hero-service .city-location-note strong{display:inline;margin-right:7px}.hh-hero-service .city-location-note small{margin-top:5px}
@media(min-width:1600px){.hh-photo-hero>.hero-copy{max-width:760px}.hh-photo-hero .hero-slideshow .hero-slide-media>img{object-position:70% 50%!important}}
@media(max-width:760px){.hh-photo-hero.hh-photo-hero{min-height:760px;min-height:clamp(700px,90svh,880px);padding:56px 6vw 190px!important;align-items:center}.hh-photo-hero>.hero-copy{width:100%;max-width:560px}.hh-photo-hero.hh-photo-hero h1{font-size:clamp(38px,9.5vw,58px)!important;max-width:13ch}.hh-photo-hero.hh-photo-hero p{font-size:16px;max-width:31em}.hh-photo-hero.hh-photo-hero .hero-subline{font-size:20px}.hh-photo-hero.hh-photo-hero .eyebrow{font-size:11px;margin-bottom:22px;max-width:27em}.hh-photo-hero .hero-visual.hero-slideshow:after{background:linear-gradient(90deg,#0f1f2be8,#0f1f2b85),linear-gradient(0deg,#0f1f2bcc,transparent 65%)}.hh-photo-hero .hero-slideshow .hero-slide-media>img{object-position:60% 50%!important}.hh-photo-hero .actions{margin-top:25px!important;gap:10px}.hh-photo-hero.hh-photo-hero .button{min-height:50px;padding:14px 18px;font-size:13px}.hh-photo-hero .hero-slideshow .hero-slide-caption{inset:auto 6vw 26px 6vw!important;width:auto;min-height:72px!important;padding:13px 17px!important}.hh-photo-hero .hero-slide-caption .hero-slide-description{font-size:11px!important}.hh-photo-hero .hero-slide-caption .hero-slide-name{font-size:18px!important}.hh-photo-hero .hero-slide-controls{bottom:122px;left:6vw;gap:8px}.hh-photo-hero .hero-slide-controls button{min-height:40px;min-width:40px;padding:6px 12px}.hh-hero-service{padding:20px 6vw}.hh-hero-service .city-location-note{font-size:14px}.hh-hero-service .city-location-note strong{display:block}}
@media(prefers-reduced-motion:reduce){.hh-photo-hero *{animation:none!important;transition:none!important}}

.hh-photo-hero.hh-photo-hero .hero-visual.hero-slideshow,.hh-photo-hero.hh-photo-hero .hero-slideshow .hero-slide-media,.hh-photo-hero.hh-photo-hero .hero-slideshow .hero-slide-media:has(img.natural-photo){border-radius:0!important}
