/* The photograph layers never change the content's position. */
.hero{min-height:740px;height:100svh;max-height:1100px;isolation:isolate}
.hero-slides{position:absolute;inset:0;overflow:hidden;z-index:-2;background:#202723}
.hero-slide{position:absolute;inset:0;background-position:center;background-size:cover;opacity:0;transition:opacity 1.5s ease-in-out;transform:scale(1.035)}
.hero-slide.is-active{opacity:1;animation:heroDrift 7s ease-out both}
.hero-motion-paused .hero-slide{animation-play-state:paused}
.hero-shade{z-index:-1;background:linear-gradient(90deg,rgba(20,32,30,.9),rgba(20,32,30,.62) 60%,rgba(20,32,30,.25)),linear-gradient(0deg,rgba(20,32,30,.5),transparent 50%)}
.hero-content{animation:none;padding:140px 7% 130px}
.hero-content h1{font-size:clamp(46px,5.7vw,82px);line-height:1.08;margin-bottom:26px;max-width:1000px}
.hero-line{display:block;animation:heroReveal .85s cubic-bezier(.2,.7,.2,1) both}
.hero-line:nth-child(2){animation-delay:.12s}.hero-line:nth-child(3){animation-delay:.24s}
.hero-content .eyebrow{animation:heroReveal .75s both}
.hero-content>p{max-width:550px;font-size:16px;line-height:1.7;margin-bottom:28px;animation:heroReveal .8s .36s both}
.hero-actions{animation:heroReveal .8s .48s both}
.hero-carousel-controls{display:flex;align-items:center;gap:4px;letter-spacing:0}
.hero-dot{width:44px;height:44px;border:0;padding:0;display:grid;place-items:center;background:transparent;color:white}
.hero-dot span{width:7px;height:7px;border-radius:50%;background:currentColor;opacity:.45;transition:opacity .25s,transform .25s}
.hero-dot.is-active span{opacity:1;transform:scale(1.35);background:var(--gold)}
#hero-photo-label{font-size:11px;margin-left:10px;letter-spacing:.04em}
@keyframes heroReveal{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@keyframes heroDrift{from{transform:scale(1.035)}to{transform:scale(1.07)}}
@media(max-width:650px){
 .hero{height:auto;min-height:0;max-height:none;flex-direction:column;align-items:stretch}
 .hero-content{padding:132px 6% 24px}
 .hero-content h1{font-size:clamp(38px,9.2vw,56px);line-height:1.08;letter-spacing:-.04em;margin-bottom:23px}
 .hero-content>p{font-size:14px;line-height:1.65;margin-bottom:22px}
 .hero-slide{background-position:62% center}
 .hero-shade{background:linear-gradient(90deg,rgba(20,32,30,.86),rgba(20,32,30,.58)),linear-gradient(0deg,rgba(20,32,30,.42),transparent)}
 .hero-bottom{position:relative;inset:auto;margin:0 6%;padding:8px 0 16px;gap:0;justify-content:flex-start}
 .hero-bottom>a,.hero-index{display:none}
 #hero-photo-label{font-size:10px;margin-left:5px}
}
@media(prefers-reduced-motion:reduce){
 .hero-slide,.hero-slide.is-active,.hero-line,.hero-content .eyebrow,.hero-content>p,.hero-actions{animation:none;transition:none;transform:none;opacity:1}
 .hero-slide{opacity:0}.hero-slide.is-active{opacity:1}
 .hero-dot span{transition:none}
}

/* Responsive supplied video, with a poster as the permanent fallback. */
.hero-video-background{position:absolute;inset:0;z-index:-2;overflow:hidden;background:#202723 url(assets/renovatio-hero-poster.jpg) center/cover}.hero-video-background video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;opacity:0;transition:opacity .6s ease}.hero-video-background video.is-playing{opacity:1}
@media(max-width:650px){.hero-video-background,.hero-video-background video{background-position:center;object-position:center}.hero-bottom{padding-top:20px;padding-bottom:24px}}
@media(prefers-reduced-motion:reduce){.hero-video-background video{display:none;transition:none}}

