.home-hero {
  --heading-title-size: var(--fs-primary);
  --heading-title-weight: var(--fw-medium);
  position: relative;
  display: flex;
  align-items: center;
  min-height: 722px;  
  overflow: hidden;
  border-bottom: var(--rule-gold);
  background-color: var(--c-primary);
}
.home-hero picture, .home-hero__image, .home-hero__video { position: absolute; inset: 0; display: block; width: 100%; height: 100%; }
.home-hero__image, .home-hero__video { object-fit: cover; }
.home-hero__video { opacity: 0; transition: opacity .6s; }  
.home-hero__video.is-playing { opacity: 1; }
.home-hero__content {
  position: relative;
  background: radial-gradient(closest-side, rgba(0, 0, 0, .45), rgba(0, 0, 0, .25) 70%, transparent);
  text-shadow: 0 0 12px rgba(0, 0, 0, .75), 0 1px 3px rgba(0, 0, 0, .6);
}
.home-hero .heading-group__eyebrow, .home-hero .heading-group__subtitle { text-shadow: 0 0 8px rgba(0, 0, 0, .95), 0 0 3px rgba(0, 0, 0, .9), 0 1px 2px rgba(0, 0, 0, .9); }
.home-hero__motion {
  position: absolute;
  z-index: 1;
  right: max(96px, calc((100% - var(--container)) / 2 + var(--gutter)));
  bottom: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border: var(--border-gold);
  border-radius: 50%;
  background-color: var(--c-burgundy);
  color: var(--c-gold);
  transition: background-color var(--t-fast), color var(--t-fast);
}
.home-hero__motion svg { display: block; width: 16px; height: 16px; fill: currentColor; }
.home-hero__motion svg.home-hero__motion-play, .home-hero__motion.is-paused svg.home-hero__motion-pause { display: none; }
.home-hero__motion.is-paused svg.home-hero__motion-play { display: block; }
@media (max-width: 1024px) and (min-height: 620px) { .home-hero__motion { right: 16px; } }
.home-hero__motion:focus-visible { background-color: var(--c-gold); color: var(--c-burgundy); }
@media (hover: hover) { .home-hero__motion:hover { background-color: var(--c-gold); color: var(--c-burgundy); } }
.home-events {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  min-height: 800px;
}
.home-stats { --stats-mt: -200px; }
.home-stats .stats-band__row { padding-top: 229px; }
.home-offerings { display: flex; align-items: center; min-height: 750px; }
.home-offerings__inner { margin-top: var(--section-gap); }
.home-offerings__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; padding: var(--gutter); }
.home-offerings .divider, .home-about .divider { margin-top: 70px; }  
.home-about { position: relative; overflow: hidden; }
.home-about::before, .home-about__media::before {
  border-radius: var(--radius-panel) 0 0 var(--radius-panel);
  background-color: var(--c-burgundy);
}
.home-about::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: max(496px, 50% - 470px);  
  height: 369px;
}
.home-about > .container { position: relative; }
.home-about__row { display: flex; }
.home-about__text, .home-about__media { width: 50%; }
.home-about__text { padding: var(--gutter); }
.home-about__media { padding-top: var(--section-gap-sm); }
.home-about__media img { display: block; width: 524px; max-width: 100%; height: auto; margin-inline: auto; }
.home-about__action { display: flex; margin-top: -10px; }
.home-ent { margin-block: var(--section-gap-sm); }
.home-ent__row { display: flex; align-items: center; }
.home-ent__intro { width: 35.224%; padding: var(--gutter); }
.home-ent__carousel { margin-bottom: 26px; }
.home-ent__carousel a { display: block; }
.home-ent__carousel a:focus-visible { outline-offset: -3px; }  
.home-ent__carousel img {
  display: block;
  width: 452px;
  max-width: 100%;
  height: auto;
  aspect-ratio: 452 / 252;
  margin-inline: auto;
  object-fit: cover;
  border: var(--border-gold);
  border-radius: var(--radius-card);
}
.home-ent__list { display: flex; flex-direction: column; gap: 20px; width: 64.776%; padding: 30px 50px; }
.home-booking {
  display: flex;
  align-items: center;
  min-height: 802px;  
  margin-top: var(--section-gap);
  border-bottom: var(--rule-gold);
  background-image: var(--gradient-wine);
}
.home-reviews { margin-top: var(--section-gap); }
.home-reviews__action { text-align: center; }
.reviews { position: relative; margin-bottom: 24.4px; font-family: var(--font-system); }
.reviews__track {
  --per: 4;
  display: flex;
  gap: 16px;
  margin: 0;
  padding: 52px 16px 0;  
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-padding-inline: 16px;
  scrollbar-width: none;
  list-style: none;
}
.reviews__track::-webkit-scrollbar { display: none; }
.reviews__track:focus-visible { outline-offset: -2px; }
.review {
  position: relative;
  flex: 0 0 calc((100% - (var(--per) - 1) * 16px) / var(--per));
  min-width: 0;
  min-height: 213px;
  padding: 47px 20px 20px;
  border-radius: var(--radius-card);
  background-color: #191919;
  text-align: center;
  scroll-snap-align: start;
}
.review__avatar { position: absolute; top: -32px; left: 50%; width: 64px; height: 64px; margin-left: -32px; }
.review__avatar img { display: block; width: 100%; height: 100%; border-radius: 50%; }
.review__avatar .review__badge { position: absolute; right: 2px; bottom: 2px; width: 24px; height: 24px; border-radius: 0; }
.review__name { margin: 0; font-size: 15px; font-weight: var(--fw-semibold); line-height: 21.75px; overflow-wrap: anywhere; }
.review__rating { display: flex; align-items: center; justify-content: center; gap: 8px; height: 18px; margin: 10px 0 9px; }
.review__stars {
  width: calc(var(--stars, 5) * 19px);
  height: 18px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 19 18'%3E%3Cpath fill='%23F6BB06' d='M9.5 0l2.7 5.9 6.3.7-4.7 4.4 1.3 6.5-5.6-3.3-5.6 3.3L5.2 11 .5 6.6l6.3-.7z'/%3E%3C/svg%3E") 0 0 / 19px 18px repeat-x;
}
.review__tick {
  width: 15px;
  height: 15px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='8' fill='%234285F4'/%3E%3Cpath fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' d='M4.8 8.2l2.2 2.2 4.2-4.6'/%3E%3C/svg%3E") center / contain no-repeat;
}
.review__text { margin: 0; font-size: 15px; line-height: 21.75px; white-space: pre-line; }
.reviews__summary { margin: 23px 0 0; font-size: 14px; line-height: 20.3px; text-align: center; }
.reviews__arrow {
  position: absolute;
  top: 159px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background-color: var(--c-secondary);
  color: var(--c-text);
  transition: color var(--t-fast);
}
.reviews__arrow::before { content: ""; position: absolute; inset: -4px; }  
.reviews__arrow:focus-visible { color: var(--c-gold); }
@media (hover: hover) { .reviews__arrow:hover { color: var(--c-gold); } }
.reviews__arrow svg { display: block; width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
.reviews__arrow--prev { left: -2px; }
.reviews__arrow--next { right: -2px; }
.home-gallery { margin-block: var(--section-gap); }
@media (max-width: 1024px) {
  .home-hero { min-height: 430px; }
  .home-stats .stats-band__row { padding-top: 215px; }
  .home-offerings { min-height: 557px; }
  .home-about::before { top: 374px; left: 275px; width: auto; }  
  .home-about__row, .home-ent__row { flex-wrap: wrap; }
  .home-about__text, .home-about__media, .home-ent__intro, .home-ent__list { width: 100%; }
  .reviews__track { --per: 3; }
}
@media (max-width: 900px) { .reviews__track { --per: 2; } }
@media (max-width: 767px) {
  .home-hero { --heading-title-size: var(--fs-title); }
  .home-stats { --stats-mt: -80px; }
  .home-stats .stats-band__row { padding-top: var(--gutter); }
  .home-offerings { min-height: 1190px; margin-top: 40px; }
  .home-offerings__grid { grid-template-columns: minmax(0, 1fr); }
  .home-about::before { content: none; }
  .home-about__media { position: relative; z-index: 0; }
  .home-about__media::before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 17px;
    right: calc(var(--gutter) * -1);
    bottom: -65px;
    left: 119px;
  }
  .home-ent__list { padding: 20px 10px; }
}
@media (max-width: 600px) { .reviews__track { --per: 1; } }
