/* Client-supplied project photographs and accessible carousel controls. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.hero-carousel .carousel-slide{position:absolute;inset:0;z-index:-2}.hero-carousel .hero-background{z-index:auto;object-position:center 60%}.hero-carousel .hero-project-label{z-index:1}.hero-carousel .carousel-slide{z-index:auto}.hero-carousel .hero-background{z-index:-2}.hero-carousel .cinematic-copy{position:relative;pointer-events:none}.hero-carousel .cinematic-copy a{pointer-events:auto}
.carousel-controls{display:flex;align-items:center;gap:12px}.carousel-controls button{font:inherit;cursor:pointer;border:1px solid var(--line);background:transparent;color:var(--wine);min-width:42px;min-height:42px;border-radius:50%;transition:background .2s}.carousel-controls button:hover{background:#760c2410}.carousel-controls button:focus-visible{outline:3px solid #b9738b;outline-offset:4px}.carousel-dots{display:flex;gap:8px;align-items:center}.carousel-controls .carousel-dot{min-width:24px;min-height:36px;border:0;border-radius:0;position:relative}.carousel-dot::after{content:'';display:block;width:7px;height:7px;border-radius:50%;background:currentColor;opacity:.3;margin:auto}.carousel-dot[aria-pressed=true]::after{opacity:1;box-shadow:0 0 0 3px #760c2420}.carousel-status{font-size:11px;white-space:nowrap;letter-spacing:.12em}.carousel-controls .carousel-rotation{border-radius:0;border:0;min-width:45px;font-size:11px}.hero-carousel>.carousel-controls{position:absolute;left:max(40px,calc((100vw - 1160px)/2));bottom:34px;color:#fff;gap:10px}.hero-carousel .carousel-controls button{color:#fff;border-color:#ffffff50}.hero-carousel .carousel-controls button:hover{background:#ffffff20}.hero-carousel .carousel-dot[aria-pressed=true]::after{box-shadow:0 0 0 3px #ffffff30}
.project-carousel{border:1px solid var(--line);background:#fff;margin-top:35px;box-shadow:0 14px 40px #23091409}.project-carousel>.carousel-slide{display:grid;grid-template-columns:1.65fr 1fr}.project-carousel .gallery-link{position:relative;display:block;min-width:0;overflow:hidden}.project-carousel .gallery-link img{width:100%;height:430px;object-fit:cover;display:block}.view-photo{position:absolute;bottom:20px;left:20px;padding:10px 15px;background:#21121bd9;color:#fff;font-size:11px}.carousel-project-copy{padding:44px 35px;display:flex;flex-direction:column;justify-content:center}.carousel-project-copy h3{font-size:32px;line-height:1.2}.carousel-project-copy p:not(.eyebrow){color:var(--muted);font-size:15px;line-height:1.8}.carousel-project-copy .eyebrow{font-size:9px}.carousel-project-copy .text-link{font-size:12px;margin-top:12px}.project-carousel>.carousel-controls{padding:18px 25px;border-top:1px solid var(--line)}.project-carousel .carousel-status{margin-left:auto}.hospitality-feature .story-image>img{object-position:center}
@media(max-width:960px){.hero-carousel>.carousel-controls{left:24px;bottom:28px}.hero-carousel .hero-project-label{max-width:300px}.project-carousel>.carousel-slide{grid-template-columns:1.2fr 1fr}.carousel-project-copy{padding:30px 25px}.carousel-project-copy h3{font-size:27px}}
@media(max-width:700px){.hero-carousel .cinematic-copy{padding-bottom:230px}.hero-carousel .hero-project-label{bottom:94px;left:24px;right:24px;max-width:none}.hero-carousel>.carousel-controls{bottom:26px}.project-carousel>.carousel-slide{grid-template-columns:1fr}.project-carousel .gallery-link img{height:280px}.carousel-project-copy{padding:28px}.project-carousel>.carousel-controls{padding:16px;gap:8px}.project-carousel .carousel-dots{gap:2px}.project-carousel .carousel-controls .carousel-dot{min-width:22px}.project-carousel .carousel-status{font-size:10px}}
@media(max-width:380px){.hero-carousel .hero-project-label{left:18px;right:18px}.hero-carousel>.carousel-controls{left:18px;gap:7px}.project-carousel .gallery-link img{height:230px}.project-carousel>.carousel-controls{gap:5px;padding:12px}.project-carousel .carousel-controls button{min-width:36px;min-height:36px}.project-carousel .carousel-controls .carousel-dot{min-width:20px}.carousel-project-copy{padding:24px}}
