/* V3: photography first, retaining the existing typography and palette. */
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.hero-slideshow{isolation:isolate}
.hero-slideshow::after{display:none}
.hero-slide{position:absolute;inset:0;margin:0;opacity:0;visibility:hidden;transition:opacity .9s ease,visibility .9s;z-index:0}
.hero-slide.is-active{opacity:1;visibility:visible;z-index:1}
.hero-slide img{display:block;width:100%;height:100%;object-fit:cover}
.hero-slide::after{content:"";position:absolute;inset:50% 0 0;background:linear-gradient(transparent,rgba(14,12,17,.72));pointer-events:none}
.hero-slide .photo-caption{z-index:1;bottom:88px;line-height:1.6;max-width:calc(100% - 60px)}
.slideshow-controls{position:absolute;bottom:23px;left:24px;right:24px;z-index:2;display:flex;align-items:center;gap:6px;color:#fff}
.slideshow-controls[hidden]{display:none}
.slideshow-controls button{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0;border:1px solid rgba(255,255,255,.55);border-radius:50%;background:rgba(20,15,23,.5);color:#fff;cursor:pointer;font:inherit;line-height:1}
.slideshow-controls button:hover{background:rgba(20,15,23,.85)}
.slideshow-controls button:focus-visible{outline:3px solid #fff;outline-offset:3px}
.slideshow-controls button:disabled{opacity:.45;cursor:default}
.slideshow-dots{display:flex;align-items:center}
.slideshow-dots button{min-width:30px;min-height:44px;border:0;border-radius:0;background:transparent}
.slideshow-dots button:hover{background:transparent}
.slideshow-dots button span{height:7px;width:7px;border:1px solid #fff;border-radius:100%;transition:background .2s}
.slideshow-dots button[aria-current=true] span{background:#fff}
.slideshow-controls .slideshow-toggle{margin-left:auto;border-radius:30px;min-width:76px;font-size:.75rem;letter-spacing:.04em}
.testimonial-grid{gap:20px}
.testimonial-photo{position:relative;isolation:isolate;overflow:hidden;min-height:580px;border:0;padding:0;background:#29252b;color:#fff}
.testimonial-photo>img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover}
.testimonial-photo::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(12,9,15,.02) 12%,rgba(12,9,15,.12) 28%,rgba(12,9,15,.82) 60%,rgba(12,9,15,.94) 100%)}
.testimonial-words{margin-top:auto;padding:190px 30px 32px;display:flex;flex-direction:column;gap:26px}
.testimonial-photo blockquote{font-size:clamp(1.4rem,2vw,1.8rem);line-height:1.3;margin:0;text-wrap:pretty}
.testimonial-photo figcaption{font-size:.85rem;line-height:1.7}
.testimonial-photo figcaption strong{color:#fff;font-weight:500}
.testimonial-photo figcaption a{color:#fff;text-decoration:underline;text-underline-offset:5px;text-decoration-color:rgba(255,255,255,.55)}
.testimonial-photo figcaption a:hover{text-decoration-color:#fff}
.testimonial-photo a:focus-visible{outline:2px solid #fff;outline-offset:5px}
@media(min-width:801px) and (max-width:1050px){
  .testimonial-photo{min-height:620px}
  .testimonial-words{padding:190px 22px 28px}
  .slideshow-controls{left:16px;right:16px;gap:3px}
  .slideshow-dots button{min-width:25px}
}
@media(max-width:800px){
  .hero-slideshow{height:520px}
  .hero-slide .photo-caption{left:22px;right:22px;max-width:none;font-size:.65rem}
  .slideshow-controls{left:18px;right:18px}
  .testimonial-grid{gap:24px}
  .testimonial-photo{min-height:540px}
  .testimonial-words{padding:300px 28px 30px}
  .testimonial-photo blockquote{font-size:1.6rem}
}
@media(max-width:380px){
  .hero-slideshow{height:460px}
  .slideshow-controls{gap:2px;left:12px;right:12px}
  .slideshow-dots button{min-width:25px}
  .slideshow-controls .slideshow-toggle{min-width:65px}
  .testimonial-words{padding:270px 23px 28px}
  .testimonial-photo blockquote{font-size:1.5rem}
}
@media(prefers-reduced-motion:reduce){.hero-slide,.slideshow-dots button span{transition:none}}
