
/* Launch preparation: fade the image itself at both edges, including WebKit. */
.hero.hero-overlay{background:#000;isolation:isolate}
.hero.hero-overlay>img{display:block;width:100%;max-width:none;height:100%;object-fit:contain;left:0;transform:none;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 18%,#000 82%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0%,#000 18%,#000 82%,transparent 100%)}
.hero.hero-overlay:after{pointer-events:none;background:linear-gradient(90deg,rgba(0,0,0,.55),rgba(0,0,0,.12) 75%,rgba(0,0,0,.35))}
@media(max-width:650px){.hero.hero-overlay>img{height:auto;position:relative}}
.hero.hero-overlay>img{width:auto;max-width:100%;left:50%;transform:translateX(-50%)}@media(max-width:650px){.hero.hero-overlay>img{width:100%;left:0;transform:none}}

/* Homepage photography: a restrained horizontal carousel inside the existing hero. */
.hero-carousel{background:#000;isolation:isolate}
.hero-carousel .hero-slides{position:absolute;inset:0;overflow:hidden}
.hero-carousel .hero-slide{position:absolute;inset:0;display:block;opacity:0;transform:translateX(7%);transition:transform 1.1s cubic-bezier(.22,.61,.36,1),opacity .85s ease}
.hero-carousel .hero-slide img{position:absolute;top:50%;left:50%;display:block;width:100%;height:100%;object-fit:contain;transform:translate(-50%,-50%);-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 14%,#000 86%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0%,#000 14%,#000 86%,transparent 100%)}
.hero-carousel .hero-slide.is-active{opacity:1;transform:translateX(0);z-index:1}
.hero-carousel .hero-slide.is-leaving{opacity:0;transform:translateX(-7%);z-index:0}
.hero-carousel .hero-slide-hpu img{transform:translate(-50%,-50%) rotate(1.15deg) scale(1.035)}
.hero-carousel:after{z-index:2}
.hero-carousel .hero-copy{z-index:3}
.hero-carousel .hero-meta{position:absolute;right:5%;bottom:18px;z-index:3;display:flex;align-items:center;gap:14px;color:#fff}
.hero-carousel .hero-meta .photo-credit{position:static;padding:0;margin:0;color:inherit}
.hero-carousel .hero-toggle{appearance:none;border:1px solid rgba(255,255,255,.55);background:rgba(0,0,0,.24);color:#fff;padding:6px 9px;font:inherit;font-size:9px;letter-spacing:.15em;cursor:pointer}
.hero-carousel .hero-toggle:hover,.hero-carousel .hero-toggle:focus-visible{background:rgba(0,0,0,.62);border-color:#fff}
@media(max-width:650px){.hero-carousel{height:58vw;min-height:250px;padding:0}.hero-carousel .hero-slides{position:absolute}.hero-carousel .hero-slide{height:100%;position:absolute}.hero-carousel .hero-meta{right:5%;bottom:7px;gap:8px}.hero-carousel .hero-toggle{font-size:8px;padding:5px 7px}.hero-carousel .hero-meta .photo-credit{font-size:8px}}
@media(prefers-reduced-motion:reduce){.hero-carousel .hero-slide{transition:none}.hero-carousel .hero-slide:not(.is-active){display:none}.hero-carousel .hero-toggle{display:none}}
