.directions{padding:105px 8vw 0;background:#292f24;color:#fff;overflow:hidden}
.directions-head{display:grid;grid-template-columns:minmax(0,1fr);gap:22px;margin-bottom:44px}
.directions-head .section-no{color:#ded1b8;margin:0}
.directions h2{font-size:clamp(38px,4.5vw,66px);font-weight:500;letter-spacing:-.045em;line-height:1.08;margin:0}
.directions h2 em{font-style:normal;color:#ded1b8}
.carousel-stage{position:relative}
.directions-carousel{overflow:hidden;outline:none}
.directions-carousel:focus-visible{outline:3px solid #d5bda0;outline-offset:-3px}
.carousel-track{display:flex;transition:transform .7s cubic-bezier(.22,.61,.36,1);will-change:transform}
.direction-slide{position:relative;min-width:100%;max-width:100%;flex:0 0 100%;height:min(58vw,620px);display:flex;align-items:flex-end;padding:55px;text-decoration:none;color:#fff;background:linear-gradient(0deg,rgba(8,16,13,.83),rgba(8,16,13,.08) 70%),var(--photo) var(--photo-position,center)/cover;isolation:isolate}
.direction-slide::after{content:"";position:absolute;inset:0;border:1px solid rgba(255,255,255,.14);z-index:-1}
.direction-slide>span{position:absolute;top:34px;left:38px;font-size:11px;letter-spacing:.15em}
.direction-slide>div{max-width:900px}
.direction-slide p{font-size:11px;letter-spacing:.17em;text-transform:uppercase;margin:0 0 18px;color:#d5ddd8}
.direction-slide h3{font-size:clamp(38px,5vw,76px);line-height:1.04;letter-spacing:-.045em;font-weight:500;margin:0}
.carousel-arrow{position:absolute;z-index:2;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:48px;height:56px;padding:0;border:1px solid rgba(255,255,255,.28);border-radius:2px;background:rgba(24,31,26,.55);color:#fff;cursor:pointer;touch-action:manipulation;transition:background-color .2s,border-color .2s}
.carousel-arrow.prev{left:16px}
.carousel-arrow.next{right:16px}
.carousel-arrow svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.carousel-arrow:hover{background:rgba(41,47,36,.88);border-color:rgba(255,255,255,.7)}
.directions .carousel-arrow:focus-visible,.directions .direction-slide:focus-visible{outline:3px solid #d5bda0;outline-offset:-4px}
.carousel-progress{height:3px;background:rgba(255,255,255,.16)}
.carousel-progress i{display:block;height:100%;background:#d5bda0;animation:carouselProgress 3s linear infinite}
.is-paused .carousel-progress i{animation-play-state:paused}
.carousel-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@keyframes carouselProgress{from{width:0}to{width:100%}}
@media(max-width:900px){
  .directions{padding:85px 6vw 0}
  .direction-slide{height:62vw;min-height:460px}
}
@media(max-width:760px){
  .directions{padding:72px 0 0}
  .directions-head{padding:0 6vw;margin-bottom:32px;gap:20px}
  .directions-head h2{font-size:clamp(34px,9.5vw,44px)}
  .direction-slide{height:72vh;min-height:520px;padding:42px 6vw;background-position:var(--photo-position-mobile,var(--photo-position,center))}
  .direction-slide>span{left:6vw;top:25px}
  .direction-slide>div{max-width:100%}
  .direction-slide h3{font-size:clamp(32px,9.5vw,44px);line-height:1.03;overflow-wrap:anywhere}
  .direction-slide p{font-size:13px}
  .carousel-arrow{width:44px;height:48px}
  .carousel-arrow.prev{left:8px}
  .carousel-arrow.next{right:8px}
  .carousel-arrow svg{width:24px;height:24px}
  .carousel-progress{margin:0 6vw}
}
@media(max-width:390px){.direction-slide{min-height:480px}.direction-slide h3{font-size:31px}}
@media(prefers-reduced-motion:reduce){.carousel-track{transition:none}.carousel-progress i{animation:none;width:100%}}
