/* A full-width photograph dissolves into the warm background behind the copy. */
.hero.hero-panorama{position:relative;isolation:isolate;overflow:hidden;background:#ffffff;padding:88px 0 84px;min-height:650px;display:flex;align-items:center}
.hero-panorama::before{content:"";position:absolute;inset:0;z-index:-2;background:url("home-banner-optimized.webp") 75% center/cover no-repeat}
.hero-panorama::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#ffffff 0%,#ffffff 24%,rgba(255,255,255,.98) 35%,rgba(255,255,255,.88) 45%,rgba(255,255,255,.40) 60%,rgba(255,255,255,.04) 76%,transparent 100%)}
.hero-panorama .hero-grid{display:block}.hero-panorama .hero-grid>div{max-width:610px}.hero-panorama h1{font-size:clamp(48px,5.4vw,76px)}.hero-panorama .intro{max-width:525px}.hero-panorama .hero-small{color:#56636c}.hero-panorama .hero-grid>div.reveal{transform:none}
@media(max-width:900px){.hero.hero-panorama{min-height:620px;padding:70px 0}.hero-panorama .hero-grid>div{max-width:520px}.hero-panorama::before{background-position:72% center}.hero-panorama::after{background:linear-gradient(90deg,#ffffff 0%,rgba(255,255,255,.98) 30%,rgba(255,255,255,.86) 48%,rgba(255,255,255,.3) 72%,rgba(255,255,255,.08) 100%)}.hero-panorama .intro{max-width:440px}}
@media(max-width:620px){.hero.hero-panorama{padding:42px 0 265px;min-height:0;align-items:start}.hero-panorama::before{background-position:76% bottom;background-size:auto 450px}.hero-panorama::after{background:linear-gradient(180deg,#ffffff 0%,#ffffff 43%,rgba(255,255,255,.95) 55%,rgba(255,255,255,.40) 74%,transparent 92%)}.hero-panorama h1{font-size:clamp(43px,10vw,60px)}.hero-panorama .intro{font-size:16px}.hero-panorama .hero-small{max-width:300px;font-size:11px}}

/* Larger couple, anchored toward the right and bottom so they remain in view. */
.hero-panorama::before{transform:scale(1.5);transform-origin:78% 100%}
.hero-panorama .hero-service-area{font-size:15px;line-height:1.65;letter-spacing:0;text-transform:none;color:#34566b;max-width:560px;margin:0 0 26px;font-weight:500}
.site-footer a[href^="mailto:"]{overflow-wrap:anywhere}
@media(max-width:620px){.hero.hero-panorama{padding-bottom:310px}.hero-panorama::before{transform:none;background-size:auto 620px;background-position:76% bottom}.hero-panorama .hero-service-area{font-size:13px;line-height:1.6;margin-bottom:24px}.hero-panorama::after{background:linear-gradient(180deg,#ffffff 0%,#ffffff 53%,rgba(255,255,255,.95) 63%,rgba(255,255,255,.4) 79%,transparent 94%)}}
