.carousel{--carousel-h: clamp(190px, 20.35vw, 391px);--carousel-gap: clamp(10px, 1.1vw, 16px);position:relative;display:flex;align-items:center;gap:var(--sp-4)}.carousel__track{flex:1;display:flex;gap:var(--carousel-gap);overflow-x:auto;min-width:0;--fade: clamp(24px, 4vw, 72px);-webkit-mask-image:linear-gradient(to right,transparent 0,#000 var(--fade),#000 calc(100% - var(--fade)),transparent 100%);mask-image:linear-gradient(to right,transparent 0,#000 var(--fade),#000 calc(100% - var(--fade)),transparent 100%);scroll-snap-type:x mandatory;scroll-padding-inline:var(--gutter);scrollbar-width:none;-ms-overflow-style:none;padding-block:var(--sp-2)}.carousel__track::-webkit-scrollbar{display:none}.carousel__tile{position:relative;flex:0 0 auto;height:var(--carousel-h);width:calc(var(--carousel-h) * var(--tile-ar, 1.7778));margin:0;overflow:hidden;border:var(--stroke);border-radius:var(--radius);background:var(--c-grey-warm);scroll-snap-align:start;transform:none}.carousel__media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform var(--d-slow) var(--ease-out);will-change:transform}@media (hover: hover){.carousel__tile:hover .carousel__media{transform:scale(1.04)}}.carousel__media--video{opacity:0;transition:opacity var(--d-fast) linear}.carousel__tile[data-playing=true] .carousel__media--video{opacity:1}.carousel__cap{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.15em;padding:var(--sp-4);text-align:center;color:var(--c-cream);background:color-mix(in srgb,var(--c-ink) 75%,transparent);border-radius:inherit;opacity:0;transition:opacity .3s var(--ease-tint)}.carousel__cap-title{font-family:var(--font-body);font-weight:600;font-size:var(--cap-title, clamp(.9375rem, 1.02vw, 1.0625rem));line-height:1.2}.carousel__cap-line{font-weight:300;font-size:var(--cap-line, clamp(.75rem, .82vw, .875rem));line-height:1.35;max-width:26ch;text-wrap:balance}.carousel__tile:hover .carousel__cap,.carousel__tile:focus-visible .carousel__cap{opacity:1}.carousel__arrow{position:relative;flex:0 0 auto;width:clamp(46px,4.3vw,62px);aspect-ratio:1;display:grid;place-items:center;border:0;background:none;padding:0;transition:opacity var(--d-fast) linear}.carousel__arrow:disabled{opacity:.25}.carousel__arrow-anim{position:absolute;left:50%;top:50%;width:173.5%;aspect-ratio:102 / 70;transform:translate(-60.1%,-50.6%);opacity:1;pointer-events:none}@media (max-width: 767px){.carousel__arrow{display:none}.carousel__track{scroll-padding-inline:0}}@media (prefers-reduced-motion: reduce){.carousel__track{scroll-behavior:auto}.carousel__media,.carousel__cap{transition:none}.carousel__tile:hover .carousel__media{transform:none}}.showreel{position:fixed;inset:0;z-index:calc(var(--z-menu) + 110);--reel-w: min(76vw, 1180px, calc((76svh - 4rem) * 16 / 9));--reel-gap-x: calc((100vw - var(--reel-w)) / 2);--reel-gap-y: calc((100svh - var(--reel-w) * 9 / 16) / 2)}.showreel[hidden]{display:none}.showreel__veil{position:absolute;inset:0;background:#f1f0e980}.showreel__stage{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none;z-index:0}.showreel__stage>.hero__reel,.showreel__stage>[class*=reel]{pointer-events:auto;position:relative;left:auto;top:auto;width:var(--reel-w);aspect-ratio:16 / 9;animation:none;transform:none}.showreel__stage video,.showreel__stage img{width:100%;height:100%;object-fit:cover;border-radius:var(--radius)}.showreel__slot{visibility:hidden}.hero__reel.is-returning{animation:none}.showreel__close{position:absolute;z-index:1;top:calc(var(--reel-gap-y) + var(--sp-3));right:calc(var(--reel-gap-x) + var(--sp-3));width:clamp(38px,3.2vw,46px);aspect-ratio:1;border:var(--stroke);border-radius:var(--radius-pill);background:var(--c-cream);padding:0;cursor:none}.showreel__close:before,.showreel__close:after{content:"";position:absolute;left:50%;top:50%;width:42%;height:var(--stroke-w);background:var(--c-ink)}.showreel__close:before{transform:translate(-50%,-50%) rotate(45deg)}.showreel__close:after{transform:translate(-50%,-50%) rotate(-45deg)}html.showreel-open,html.showreel-open body{overflow:hidden}@media (max-width: 767px){.showreel{--reel-w: min(92vw, calc(70svh * 16 / 9))}}@media (prefers-reduced-motion: reduce){.showreel__veil{transition:none}}
