.vsd-widget-container .e-frontend-copy .vsd-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.vsd-7681 .vsd-element.vsd-element-069c9c6{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;--z-index:2;}.vsd-widget-html .e-frontend-copy .vsd-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.vsd-7681 .vsd-element.vsd-element-4d1c31f{width:100%;max-width:100%;}.vsd-7681 .vsd-element.vsd-element-174669e{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--z-index:2;}.vsd-7681 .vsd-element.vsd-element-4c23ae3 > .vsd-widget-container{margin:0em 0em 0em 0em;padding:0px 0px 0px 0px;}.vsd-7681 .vsd-element.vsd-element-ce92e04{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:-4rem;--margin-bottom:0rem;--margin-left:0rem;--margin-right:0rem;--z-index:5;}@media(min-width:768px){.vsd-7681 .vsd-element.vsd-element-174669e{--width:100%;}.vsd-7681 .vsd-element.vsd-element-ce92e04{--width:100%;}}/* Start custom CSS for html, class: .vsd-element-4d1c31f */@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@200;300;400;500&display=swap');

.hero-wed,
.hero-wed *,
.hero-wed *::before,
.hero-wed *::after {
  box-sizing: border-box;
}

.hero-wed a,
.hero-wed a:hover,
.hero-wed a:focus {
  text-decoration: none !important;
  box-shadow: none !important;
}

html.hero-modal-open {
  overflow: hidden;
}

.hero-wed {
  --accent: #d79663;
  --accent-light: #efb98c;

  width: 100%;

  /*
   * Exact visual viewport.
   * vh = fallback, dvh = modern mobile browsers.
   */
  height: 100vh;
  height: 100dvh;
  min-height: 0;

  padding: clamp(.375rem,.8vw,.875rem);

  background: #f5f3ef;

  font-family: "Roboto", sans-serif;
}

.hero-wed__frame {
  position: relative;

  width: 100%;
  height: 100%;
  min-height: 0;

  overflow: hidden;

  border-radius:
    clamp(1.5rem,2.1vw,2.375rem);

  background: #171513;

  isolation: isolate;
}


/* PHOTO */

.hero-wed__bg {
  display: none;
}

.hero-wed__frame::before {
  content: "";

  position: absolute;
  z-index: 0;
  inset: 0;

  background-image:
    url('/wp-content/uploads/2023/06/dj-stoyan-stoyanov-diskovodesht-sofia.jpeg');

  background-size: cover;
  background-repeat: no-repeat;
  background-position: 49% 24%;

  filter:
    saturate(.88)
    contrast(1.01)
    brightness(1.04);

  pointer-events: none;
}

/*
 * Large-screen crop.
 * Same mechanism remains active even when browser zoom
 * changes the CSS viewport width.
 *
 * Bottom overscan guarantees that no subpixel seam / black
 * gap can ever appear.
 */
@media (min-width:160rem) {
  .hero-wed__frame::before {
    top: -22%;
    right: 0;
    bottom: -.5rem;
    left: 0;

    background-position: 52% top;
  }
}


/* BACKGROUND TREATMENT */

.hero-wed__shade,
.hero-wed__focus,
.hero-wed__readability {
  position: absolute;
  inset: 0;

  pointer-events: none;
}

.hero-wed__shade {
  z-index: 1;

  background:
    linear-gradient(
      90deg,
      rgba(8,7,6,.61) 0%,
      rgba(8,7,6,.29) 24%,
      rgba(8,7,6,.065) 49%,
      rgba(8,7,6,.025) 69%,
      rgba(8,7,6,.24) 100%
    ),
    linear-gradient(
      180deg,
      rgba(4,4,4,.025),
      transparent 47%,
      rgba(4,4,4,.51) 100%
    );
}

.hero-wed__focus {
  z-index: 2;

  background:
    radial-gradient(
      ellipse 50% 39% at 51% 24%,
      rgba(255,255,255,.25),
      rgba(255,255,255,.11) 35%,
      rgba(255,255,255,.02) 64%,
      transparent 80%
    ),
    radial-gradient(
      ellipse 31% 23% at 72% 18%,
      rgba(215,150,99,.12),
      transparent 73%
    );
}

.hero-wed__readability {
  z-index: 3;

  background:
    radial-gradient(
      ellipse 70% 40% at 50% 71%,
      rgba(4,4,4,.52),
      rgba(4,4,4,.29) 42%,
      rgba(4,4,4,.09) 68%,
      transparent 86%
    ),
    linear-gradient(
      to bottom,
      transparent 53%,
      rgba(3,3,3,.055) 65%,
      rgba(3,3,3,.58) 100%
    );
}


/* HEADER */

.hero-wed__header {
  position: absolute;
  z-index: 30;

  top: clamp(20px,2vw,30px);
  left: 50%;

  width: min(1030px,calc(100% - 100px));
  height: 86px;

  padding: 0 24px 0 20px;

  display: grid;
  grid-template-columns: 62px 1fr auto;
  align-items: center;

  gap: 20px;

  transform: translateX(-50%);

  border: 1px solid rgba(255,255,255,.21);
  border-radius: 21px;

  background:
    radial-gradient(
      ellipse 78% 210% at 68% -55%,
      rgba(215,150,99,.17),
      transparent 58%
    ),
    linear-gradient(
      112deg,
      rgba(40,39,37,.81),
      rgba(22,22,21,.76) 45%,
      rgba(48,40,35,.75) 72%,
      rgba(18,18,18,.78)
    );

  backdrop-filter:
    blur(26px)
    saturate(115%);

  -webkit-backdrop-filter:
    blur(26px)
    saturate(115%);

  box-shadow:
    inset 0 1px rgba(255,255,255,.14),
    0 18px 55px rgba(0,0,0,.19);

  transition:
    opacity .32s ease,
    transform .32s ease;
}

.hero-wed__header::after {
  content: "";

  position: absolute;
  inset: -1px;

  padding: 1px;

  border-radius: inherit;

  background:
    linear-gradient(
      110deg,
      rgba(255,255,255,.09),
      rgba(255,255,255,.18) 25%,
      rgba(215,150,99,.43) 53%,
      rgba(239,185,140,.16) 73%,
      rgba(255,255,255,.07)
    );

  -webkit-mask:
    linear-gradient(#fff 0 0) content-box,
    linear-gradient(#fff 0 0);

  -webkit-mask-composite: xor;
  mask-composite: exclude;

  pointer-events: none;
}

.hero-wed__header.is-hidden {
  opacity: 0;

  transform:
    translateX(-50%)
    translateY(-12px);

  pointer-events: none;
}

.hero-wed__brand {
  width: 56px;
  height: 56px;

  display: grid;
  place-items: center;
}

.hero-wed__brand img {
  width: 44px;
  height: 44px;

  display: block;

  filter:
    brightness(0)
    invert(1);
}

.hero-wed__nav {
  height: 100%;

  display: flex;
  align-items: center;
  justify-content: center;

  gap: 30px;
}

.hero-wed__nav a {
  position: relative;

  height: 100%;

  display: inline-flex;
  align-items: center;

  color: rgba(255,255,255,.97) !important;

  font-size: 14px;
  font-weight: 400;

  letter-spacing: .025em;

  text-transform: uppercase;
  white-space: nowrap;

  text-shadow:
    0 2px 12px rgba(0,0,0,.32);
}

.hero-wed__nav a::after {
  content: "";

  position: absolute;

  left: 50%;
  bottom: 19px;

  width: 0;
  height: 1px;

  background: var(--accent);

  transform: translateX(-50%);

  transition: width .2s ease;
}

.hero-wed__nav a:hover::after,
.hero-wed__nav a.is-active::after {
  width: 100%;
}

.hero-wed__cta {
  min-height: 51px;

  padding: 0 27px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  border: 1px solid rgba(255,255,255,.34);
  border-radius: 999px;

  background: rgba(255,255,255,.08);

  color: #fff !important;

  font-size: 13px;
  font-weight: 400;

  letter-spacing: .025em;

  text-transform: uppercase;
  white-space: nowrap;

  transition:
    background .2s ease,
    border-color .2s ease;
}

.hero-wed__cta:hover {
  background: rgba(215,150,99,.18);
  border-color: rgba(215,150,99,.72);
}


/* MAIN */

.hero-wed__center {
  position: absolute;
  z-index: 10;

  inset: 0;
}

.hero-wed__copy {
  position: absolute;

  top: 66%;
  left: 50%;

  width: min(1180px,94%);

  transform:
    translate(-50%,-50%);

  text-align: center;
}

.hero-wed__title {
  position: relative;
  z-index: 12;

  width: fit-content;
  max-width: 100%;

  margin: 0 auto;
}

.hero-wed__eyebrow {
  position: relative;
  z-index: 20;

  color: #fff;

  font-size: clamp(3rem,4.8vw,4.8em);
  font-weight: 200;

  line-height: .98;
  letter-spacing: .015em;

  text-transform: uppercase;
  white-space: nowrap;

  cursor: pointer;

  outline: none;

  text-shadow:
    0 3px 25px rgba(0,0,0,.40),
    0 12px 45px rgba(0,0,0,.18);

  transition:
    letter-spacing .45s cubic-bezier(.2,.7,.2,1),
    text-shadow .45s ease;
}

.hero-wed__eyebrow:hover,
.hero-wed__eyebrow:focus-visible {
  letter-spacing: .023em;

  text-shadow:
    0 3px 26px rgba(0,0,0,.50),
    0 0 30px rgba(215,150,99,.13);
}

.hero-wed__eyebrow::after {
  content: "";

  position: absolute;

  left: 50%;
  bottom: -5px;

  width: 0;
  height: 1px;

  background:
    linear-gradient(
      90deg,
      transparent,
      var(--accent),
      transparent
    );

  transform: translateX(-50%);

  opacity: 0;

  transition:
    width .5s cubic-bezier(.2,.7,.2,1),
    opacity .35s ease;
}

.hero-wed__eyebrow:hover::after,
.hero-wed__eyebrow:focus-visible::after {
  width: 38%;
  opacity: .85;
}

.hero-wed__title h1 {
  position: relative;
  z-index: 20;

  margin: 14px 0 0;

  color: rgba(255,255,255,.97);

  font-size: clamp(1.2rem,1.5vw,1.6rem);
  font-weight: 300;

  line-height: 1;
  letter-spacing: .13em;

  text-transform: uppercase;

  text-shadow:
    0 3px 18px rgba(0,0,0,.55);
}


/* STORY BACKGROUND — NO HARD EDGES */

.hero-wed__story-shade {
  position: absolute;
  z-index: 16;

  left: 50%;
  bottom: calc(100% - 30px);

  width: min(1280px,96vw);
  height: 650px;

  transform:
    translateX(-50%)
    translateY(10%);

  pointer-events: none;

  opacity: 0;

  background:
    radial-gradient(
      ellipse at 50% 62%,
      rgba(4,4,4,.60) 0%,
      rgba(4,4,4,.47) 28%,
      rgba(4,4,4,.27) 48%,
      rgba(4,4,4,.10) 65%,
      rgba(4,4,4,.025) 76%,
      transparent 86%
    );

  filter: blur(32px);

  transition:
    opacity .75s ease;
}

.hero-wed__title.is-story-playing .hero-wed__story-shade {
  opacity: 1;
}


/* LARGE, READABLE CINEMATIC STORY */

.hero-wed__story {
  position: absolute;
  z-index: 19;

  left: 50%;
  bottom: calc(100% + 24px);

  width: min(1080px,86vw);
  height: 500px;

  overflow: hidden;

  transform:
    translateX(-50%);

  pointer-events: none;

  opacity: 0;

  perspective: 1400px;
  perspective-origin: 50% 100%;

  -webkit-mask-image:
    linear-gradient(
      to bottom,
      transparent 0%,
      rgba(0,0,0,.20) 5%,
      #000 15%,
      #000 82%,
      rgba(0,0,0,.42) 92%,
      transparent 100%
    );

  mask-image:
    linear-gradient(
      to bottom,
      transparent 0%,
      rgba(0,0,0,.20) 5%,
      #000 15%,
      #000 82%,
      rgba(0,0,0,.42) 92%,
      transparent 100%
    );

  transition:
    opacity .45s ease;
}

.hero-wed__story.is-playing {
  opacity: 1;
}

.hero-wed__story-track {
  position: absolute;

  left: 3%;
  right: 3%;
  top: 92%;

  opacity: 0;

  transform-origin: 50% 100%;

  will-change:
    transform,
    opacity,
    filter;
}

.hero-wed__story-track p {
  max-width: 980px;

  margin: 0 auto 52px;

  color: #fff !important;

  font-size: clamp(36px,2.7vw,52px);
  font-weight: 300;

  line-height: 1.34;
  letter-spacing: -.012em;

  text-align: center;
  text-wrap: balance;

  text-shadow:
    0 2px 5px rgba(0,0,0,.95),
    0 8px 25px rgba(0,0,0,.78),
    0 18px 55px rgba(0,0,0,.45);
}

.hero-wed__story.is-playing .hero-wed__story-track {
  animation:
    heroStoryReveal 26s
    cubic-bezier(.16,.04,.22,1)
    forwards;
}

@keyframes heroStoryReveal {

  0% {
    opacity: 0;

    transform:
      rotateX(4deg)
      translate3d(0,65px,0)
      scale(1.01);

    filter: blur(1.5px);
  }

  5% {
    opacity: 1;

    filter: blur(0);
  }

  15% {
    opacity: 1;

    transform:
      rotateX(4deg)
      translate3d(0,-80px,0)
      scale(1);
  }

  38% {
    opacity: 1;

    transform:
      rotateX(6deg)
      translate3d(0,-360px,0)
      scale(.98);
  }

  64% {
    opacity: 1;

    transform:
      rotateX(8deg)
      translate3d(0,-680px,0)
      scale(.94);
  }

  82% {
    opacity: .92;

    transform:
      rotateX(11deg)
      translate3d(0,-920px,0)
      scale(.89);
  }

  94% {
    opacity: .38;

    filter: blur(.45px);
  }

  100% {
    opacity: 0;

    filter: blur(2px);

    transform:
      rotateX(14deg)
      translate3d(0,-1120px,0)
      scale(.82);
  }
}


/* QUICK NAV */

.hero-wed__quick {
  position: relative;

  margin-top: 66px;

  display: flex;
  align-items: flex-start;
  justify-content: center;

  gap: clamp(48px,5.5vw,88px);
}

.hero-wed__quick a {
  min-width: 90px;

  display: flex;
  flex-direction: column;
  align-items: center;

  gap: 12px;

  color: rgba(255,255,255,.96) !important;

  font-size: 12px;
  font-weight: 400;

  letter-spacing: .055em;

  text-transform: uppercase;

  transition:
    transform .22s ease,
    color .22s ease;
}

.hero-wed__quick svg {
  width: 44px;
  height: 44px;

  overflow: visible;

  fill: none;

  stroke: rgba(255,255,255,.96);
  stroke-width: 1.3;

  stroke-linecap: round;
  stroke-linejoin: round;

  filter:
    drop-shadow(0 3px 9px rgba(0,0,0,.42));

  transition:
    stroke .22s ease,
    transform .22s ease,
    filter .22s ease;
}

.hero-wed__quick a:hover {
  color: var(--accent-light) !important;

  transform:
    translateY(-3px);
}

.hero-wed__quick a:hover svg {
  stroke: var(--accent);

  transform:
    translateY(-3px)
    scale(1.06);

  filter:
    drop-shadow(0 3px 10px rgba(0,0,0,.52))
    drop-shadow(0 0 9px rgba(215,150,99,.18));
}


/* MOUSE */

.hero-wed__scroll {
  position: absolute;
  z-index: 14;

  left: 50%;
  bottom: 32px;

  transform:
    translateX(-50%);

  opacity: 0;
  visibility: hidden;

  transition:
    opacity .75s ease,
    visibility .75s ease;
}

.hero-wed__scroll.is-visible {
  opacity: .55;
  visibility: visible;
}

.hero-wed__mouse {
  position: relative;

  width: 16px;
  height: 26px;

  display: block;

  border: 1px solid rgba(255,255,255,.40);
  border-radius: 999px;
}

.hero-wed__mouse i {
  position: absolute;

  top: 5px;
  left: 50%;

  width: 2px;
  height: 4px;

  border-radius: 99px;

  background: var(--accent-light);

  transform:
    translateX(-50%);

  animation:
    heroWheel 2.5s
    ease-in-out
    infinite;
}

@keyframes heroWheel {

  0%,
  100% {
    opacity: .18;

    transform:
      translate(-50%,0);
  }

  50% {
    opacity: .75;

    transform:
      translate(-50%,5px);
  }
}


/* FOOTER — REAL CENTER GAP */

.hero-wed__footer {
  position: absolute;
  z-index: 12;

  left: clamp(27px,3vw,50px);
  right: clamp(27px,3vw,50px);
  bottom: 21px;

  height: 18px;

  color: rgba(255,255,255,.43);

  font-size: 8px;
  font-weight: 400;

  letter-spacing: .15em;

  text-transform: uppercase;

  pointer-events: none;
}

.hero-wed__footer-left,
.hero-wed__footer-right {
  position: absolute;

  top: 50%;

  transform:
    translateY(-50%);
}

.hero-wed__footer-left {
  left: 0;
}

.hero-wed__footer-right {
  right: 0;
}

.hero-wed__footer-line {
  position: absolute;

  top: 50%;

  height: 1px;

  background:
    rgba(255,255,255,.13);
}

.hero-wed__footer-line--left {
  left: 110px;
  right: calc(50% + 65px);
}

.hero-wed__footer-line--right {
  left: calc(50% + 65px);
  right: 225px;
}


/* POPUP */

.hero-wed__modal {
  position: absolute;
  z-index: 100;

  inset: 0;

  display: grid;
  place-items: center;

  padding: 30px;

  opacity: 0;
  visibility: hidden;

  pointer-events: none;

  transition:
    opacity .35s ease,
    visibility .35s ease;
}

.hero-wed__modal.is-open {
  opacity: 1;
  visibility: visible;

  pointer-events: auto;
}

.hero-wed__modal-backdrop {
  position: absolute;

  inset: 0;

  background:
    rgba(8,7,6,.67);

  backdrop-filter:
    blur(16px)
    saturate(80%);

  -webkit-backdrop-filter:
    blur(16px)
    saturate(80%);
}

.hero-wed__modal-panel {
  position: relative;
  z-index: 1;

  width: min(920px,92vw);
  max-height: min(760px,88svh);

  padding:
    clamp(40px,5vw,72px);

  overflow-y: auto;

  border: 1px solid rgba(255,255,255,.18);
  border-radius: 28px;

  background:
    radial-gradient(
      ellipse 90% 100% at 80% 0%,
      rgba(215,150,99,.11),
      transparent 56%
    ),
    rgba(20,19,18,.91);

  box-shadow:
    inset 0 1px rgba(255,255,255,.09),
    0 30px 100px rgba(0,0,0,.45);

  backdrop-filter:
    blur(28px);

  -webkit-backdrop-filter:
    blur(28px);

  transform:
    translateY(18px)
    scale(.975);

  transition:
    transform .42s
    cubic-bezier(.2,.8,.2,1);
}

.hero-wed__modal.is-open .hero-wed__modal-panel {
  transform:
    translateY(0)
    scale(1);
}

.hero-wed__modal-label {
  margin-bottom: 17px;

  color: var(--accent-light);

  font-size: 11px;
  font-weight: 400;

  letter-spacing: .18em;

  text-transform: uppercase;
}

.hero-wed__modal-panel h2 {
  margin: 0 0 34px;

  color: #fff;

  font-size: clamp(38px,4vw,62px);
  font-weight: 200;

  line-height: 1;

  letter-spacing: -.02em;
}

.hero-wed__modal-copy {
  display: grid;

  gap: 28px;
}

.hero-wed__modal-copy p {
  max-width: 760px;

  margin: 0;

  color: rgba(255,255,255,.91);

  font-size: clamp(18px,1.4vw,22px);
  font-weight: 300;

  line-height: 1.72;

  letter-spacing: .005em;
}

.hero-wed__modal-close {
  position: absolute;

  top: 25px;
  right: 25px;

  width: 44px;
  height: 44px;

  padding: 0;

  border: 1px solid rgba(255,255,255,.17);
  border-radius: 50%;

  background:
    rgba(255,255,255,.045);

  cursor: pointer;

  transition:
    background .2s ease,
    border-color .2s ease,
    transform .2s ease;
}

.hero-wed__modal-close span {
  position: absolute;

  top: 50%;
  left: 50%;

  width: 17px;
  height: 1px;

  background: #fff;
}

.hero-wed__modal-close span:first-child {
  transform:
    translate(-50%,-50%)
    rotate(45deg);
}

.hero-wed__modal-close span:last-child {
  transform:
    translate(-50%,-50%)
    rotate(-45deg);
}

.hero-wed__modal-close:hover {
  background:
    rgba(215,150,99,.14);

  border-color:
    rgba(215,150,99,.46);

  transform:
    rotate(4deg);
}


/* HERO_QUICK_LARGE_START */
@media (min-width:120rem) {
  .hero-wed__quick {
    gap: clamp(4rem,4.5vw,6.5rem);
  }

  .hero-wed__quick a {
    min-width: 7rem;
    gap: .9rem;

    font-size:
      clamp(.875rem,.58vw,1rem);
  }

  .hero-wed__quick svg {
    width:
      clamp(3.25rem,2.35vw,3.75rem);

    height:
      clamp(3.25rem,2.35vw,3.75rem);
  }
}
/* HERO_QUICK_LARGE_END */

/* RESPONSIVE */

@media (max-width:1050px) {

  .hero-wed__header {
    width: calc(100% - 50px);
  }

  .hero-wed__nav {
    gap: 21px;
  }

  .hero-wed__nav a {
    font-size: 13px;
  }

  .hero-wed__story-track p {
    font-size:
      clamp(32px,3vw,42px);
  }
}

@media (max-width:850px) {

  .hero-wed {
    padding: 4px;
  }

  .hero-wed__frame {
    border-radius: 1.375rem;
  }

  

  

  .hero-wed__header {
    top: 12px;

    width: calc(100% - 24px);
    height: 70px;

    padding: 0 13px;

    grid-template-columns:
      auto 1fr;
  }

  .hero-wed__nav {
    display: none;
  }

  .hero-wed__brand img {
    width: 40px;
    height: 40px;
  }

  .hero-wed__cta {
    justify-self: end;

    min-height: 43px;

    padding: 0 18px;

    font-size: 11px;
  }

  .hero-wed__copy {
    top: 64%;

    width:
      calc(100% - 28px);
  }

  .hero-wed__eyebrow {
    font-size:
      clamp(2rem,9vw,3.15rem);

    white-space: normal;
  }

  .hero-wed__title h1 {
    font-size: .95rem;

    letter-spacing: .09em;
  }

  .hero-wed__story {
    bottom:
      calc(100% + 16px);

    width: 95vw;
    height: 350px;
  }

  .hero-wed__story-shade {
    width: 110vw;
    height: 480px;
  }

  .hero-wed__story-track p {
    margin-bottom: 36px;

    font-size:
      clamp(24px,6.2vw,32px);

    line-height: 1.32;
  }

  .hero-wed__quick {
    margin-top: 48px;

    gap: 22px;
  }

  .hero-wed__quick a {
    min-width: 58px;

    font-size: 10px;
  }

  .hero-wed__quick svg {
    width: 36px;
    height: 36px;
  }

  .hero-wed__footer {
    display: none;
  }

  .hero-wed__scroll {
    bottom: 22px;
  }

  .hero-wed__modal {
    padding: 12px;
  }

  .hero-wed__modal-panel {
    width: 100%;

    padding:
      54px 26px 34px;

    border-radius: 22px;
  }

  .hero-wed__modal-close {
    top: 15px;
    right: 15px;
  }
}

@media (prefers-reduced-motion:reduce) {

  .hero-wed__story.is-playing .hero-wed__story-track {
    animation: none;

    top: auto;
    bottom: 20px;

    opacity: 1;

    transform: none;
    filter: none;
  }

  .hero-wed__mouse i {
    animation: none;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .vsd-element-4c23ae3 */@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@200;300;400;500&display=swap');

.wed-reviews,
.wed-reviews *,
.wed-reviews *::before,
.wed-reviews *::after {
    box-sizing: border-box;
}

html.wed-video-open {
    overflow: hidden;
}

.hero-wed.is-review-stack-source {
    position: sticky;
    top: 0;
    z-index: 1;

    --review-stack-scale: 1;
    --review-stack-brightness: 1;
}

.hero-wed.is-review-stack-source .hero-wed__frame {
    transform: scale(var(--review-stack-scale));
    filter: brightness(var(--review-stack-brightness));
    transform-origin: 50% 50%;
    will-change: transform, filter;
}

.wed-reviews {
    --accent: #d79562;
    --accent-light: #ebb88e;
    --page: #f5f3ef;
    --edge: clamp(7px,.85vw,15px);
    --radius: clamp(26px,2.2vw,40px);

    position: relative;
    z-index: 5;

    width: 100%;
    min-height: 100svh;

    margin: 0;
    padding: var(--edge);

    background: var(--page);

    font-family: "Roboto", sans-serif;

    filter:
        drop-shadow(
            0 -22px 34px
            rgba(0,0,0,.08)
        );
}

.wed-reviews__frame {
    position: relative;

    width: 100%;

    min-height:
        calc(
            100svh -
            (var(--edge) * 2)
        );

    overflow: hidden;

    border-radius: var(--radius);

    background:
        linear-gradient(
            145deg,
            #1b1916 0%,
            #131210 49%,
            #0f0e0d 100%
        );

    color: #fff;

    box-shadow:
        inset 0 1px rgba(255,255,255,.055),
        0 32px 85px rgba(0,0,0,.10);

    isolation: isolate;
}

.wed-reviews__ambient {
    position: absolute;
    z-index: 0;
    inset: 0;

    pointer-events: none;

    background:
        radial-gradient(
            ellipse 58% 58% at 74% 18%,
            rgba(215,149,98,.085),
            rgba(215,149,98,.022) 46%,
            transparent 72%
        ),
        radial-gradient(
            ellipse 50% 65% at 4% 73%,
            rgba(255,255,255,.02),
            transparent 72%
        );
}

.wed-reviews__layout {
    position: relative;
    z-index: 2;

    width: min(1680px,100%);

    min-height:
        calc(
            100svh -
            (var(--edge) * 2)
        );

    margin: 0 auto;

    padding:
        clamp(46px,5.4vh,72px)
        clamp(34px,6.3vw,108px);

    display: grid;

    grid-template-columns:
        minmax(315px,.68fr)
        minmax(0,1.32fr);

    align-items: center;

    gap:
        clamp(62px,7.3vw,125px);
}

.wed-reviews__intro {
    max-width: 555px;
    align-self: center;
}

.wed-reviews__kicker {
    display: block;

    margin-bottom: 25px;

    color: var(--accent-light);

    font-size: 12px;
    font-weight: 400;
    line-height: 1;

    letter-spacing: .19em;
    text-transform: uppercase;
}

.wed-reviews__intro h2 {
    margin: 0;

    color: #fff;

    font-size:
        clamp(46px,4.35vw,76px);

    font-weight: 200;
    line-height: .98;

    letter-spacing: -.04em;
}

.wed-reviews__intro h2 span {
    display: block;

    color:
        rgba(255,255,255,.56);
}

.wed-reviews__lead {
    max-width: 455px;

    margin: 32px 0 0;

    color:
        rgba(255,255,255,.50);

    font-size: 15px;
    font-weight: 300;

    line-height: 1.68;
}

.wed-reviews__score {
    margin-top: 41px;

    display: flex;
    align-items: center;

    gap: 19px;
}

.wed-reviews__score > strong {
    color: #fff;

    font-size: 43px;
    font-weight: 200;
    line-height: 1;
}

.wed-reviews__score > div {
    display: grid;
    gap: 7px;
}

.wed-reviews__stars {
    color: var(--accent);

    font-size: 13px;
    letter-spacing: .15em;
}

.wed-reviews__score small {
    max-width: 275px;

    color:
        rgba(255,255,255,.38);

    font-size: 11px;
    font-weight: 300;

    line-height: 1.5;
}

.wed-reviews__all {
    width: fit-content;

    margin-top: 30px;
    padding: 8px 0;

    display: inline-flex;
    align-items: center;

    gap: 12px;

    color:
        rgba(255,255,255,.72);

    font-size: 11px;
    font-weight: 400;
    line-height: 1;

    letter-spacing: .13em;
    text-transform: uppercase;

    text-decoration: none;

    transition:
        color .25s ease,
        gap .3s cubic-bezier(.2,.8,.2,1);
}

.wed-reviews__all::before {
    content: "";

    width: 28px;
    height: 1px;

    flex: 0 0 auto;

    background: var(--accent);

    transition:
        width .3s cubic-bezier(.2,.8,.2,1);
}

.wed-reviews__all svg {
    width: 16px;
    height: 16px;

    flex: 0 0 auto;

    fill: none;
    stroke: currentColor;
    stroke-width: 1.4;

    stroke-linecap: round;
    stroke-linejoin: round;

    transition:
        transform .3s cubic-bezier(.2,.8,.2,1);
}

@media (hover:hover) and (pointer:fine) {
    .wed-reviews__all:hover {
        color: #fff;
        gap: 15px;
    }

    .wed-reviews__all:hover::before {
        width: 37px;
    }

    .wed-reviews__all:hover svg {
        transform: translateX(3px);
    }
}

.wed-reviews__stage {
    width: 100%;
    min-width: 0;

    align-self: center;
}

.wed-reviews__slides {
    position: relative;

    width: 100%;

    height:
        clamp(430px,52svh,520px);
}

.wed-review {
    position: absolute;
    inset: 0;

    display: grid;

    grid-template-columns:
        minmax(275px,.86fr)
        minmax(330px,1.14fr);

    overflow: hidden;

    border:
        1px solid
        rgba(255,255,255,.105);

    border-radius: 28px;

    background:
        linear-gradient(
            125deg,
            rgba(255,255,255,.063),
            rgba(255,255,255,.022)
        );

    box-shadow:
        0 32px 85px rgba(0,0,0,.25),
        inset 0 1px rgba(255,255,255,.05);

    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);

    opacity: 0;
    visibility: hidden;

    pointer-events: none;

    transform:
        translate3d(40px,0,0)
        scale(.982);

    transition:
        opacity .45s ease,
        visibility .45s ease,
        transform .62s cubic-bezier(.2,.8,.2,1);
}

.wed-review.is-before {
    transform:
        translate3d(-40px,0,0)
        scale(.982);
}

.wed-review.is-active {
    opacity: 1;
    visibility: visible;

    pointer-events: auto;

    transform: none;
}

.wed-review__media {
    position: relative;

    height: 100%;
    min-width: 0;

    overflow: hidden;

    background: #0b0a09;
}

.wed-review__media > img {
    position: absolute;
    inset: 0;

    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;

    filter:
        saturate(.84)
        contrast(1.03)
        brightness(.91);

    transform: scale(1.001);

    transition:
        transform .8s cubic-bezier(.2,.8,.2,1),
        filter .45s ease;
}

.wed-review__media-shade {
    position: absolute;
    z-index: 1;
    inset: 0;

    pointer-events: none;

    background:
        linear-gradient(
            to top,
            rgba(7,6,5,.70),
            rgba(7,6,5,.12) 48%,
            rgba(7,6,5,.02) 70%,
            rgba(7,6,5,.17)
        );
}

.wed-review__media-meta {
    position: absolute;
    z-index: 4;

    top: 23px;
    left: 24px;
    right: 24px;

    display: flex;
    align-items: center;
    justify-content: space-between;

    color:
        rgba(255,255,255,.70);

    font-size: 10px;

    letter-spacing: .12em;
    text-transform: uppercase;

    pointer-events: none;
}

.wed-review__media-action,
.wed-review__media-action:hover,
.wed-review__media-action:focus,
.wed-review__media-action:active {
    position: absolute;
    z-index: 5;
    inset: 0;

    width: 100%;
    height: 100%;

    display: block;

    margin: 0;
    padding: 0;

    border: 0 !important;
    outline: 0 !important;

    border-radius: 0;

    background:
        transparent !important;

    color:
        #fff !important;

    box-shadow:
        none !important;

    appearance: none;
    -webkit-appearance: none;

    cursor: pointer;

    -webkit-tap-highlight-color:
        transparent;
}

.wed-review__story-link {
    position: absolute;

    left: 27px;
    bottom: 27px;

    display: flex;
    align-items: center;

    gap: 11px;

    color:
        rgba(255,255,255,.94);

    font-size: 11px;
    font-weight: 400;

    letter-spacing: .13em;
    text-transform: uppercase;

    transition:
        opacity .28s ease,
        transform .35s cubic-bezier(.2,.8,.2,1);
}

.wed-review__story-link i {
    width: 26px;
    height: 1px;

    background: var(--accent);
}

.wed-review__play {
    position: absolute;

    left: 50%;
    top: 50%;

    display: grid;
    justify-items: center;

    gap: 16px;

    opacity: 0;

    transform:
        translate(-50%,-46%)
        scale(.88);

    transition:
        opacity .32s ease,
        transform .48s cubic-bezier(.18,.8,.2,1);
}

.wed-review__play-disc {
    width:
        clamp(96px,7.4vw,122px);

    height:
        clamp(96px,7.4vw,122px);

    display: grid;
    place-items: center;

    border-radius: 50%;

    background:
        rgba(17,15,13,.20);

    backdrop-filter:
        blur(15px)
        saturate(112%);

    -webkit-backdrop-filter:
        blur(15px)
        saturate(112%);

    box-shadow:
        0 20px 55px rgba(0,0,0,.22),
        inset 0 1px rgba(255,255,255,.08);
}

.wed-review__play-vector {
    width: 100%;
    height: 100%;

    display: block;
    overflow: visible;

    filter:
        drop-shadow(
            0 4px 14px
            rgba(0,0,0,.22)
        );
}

.wed-review__play-ring {
    fill:
        rgba(255,255,255,.025);

    stroke:
        rgba(255,255,255,.78);

    stroke-width: .9;
}

.wed-review__play-ring-inner {
    fill: none;

    stroke:
        rgba(215,149,98,.29);

    stroke-width: .75;

    transform-origin: 48px 48px;
}

.wed-review__play-mark {
    fill:
        rgba(255,255,255,.98);

    transform-origin: 48px 48px;

    transform:
        translateX(-2px);
}

.wed-review__play small {
    color:
        rgba(255,255,255,.86);

    font-size: 10px;
    font-weight: 400;

    letter-spacing: .16em;
    text-transform: uppercase;

    white-space: nowrap;
}

@media (hover:hover) and (pointer:fine) {
    .wed-review__media:hover > img {
        transform: scale(1.035);

        filter:
            saturate(.91)
            contrast(1.03)
            brightness(.76);
    }

    .wed-review__media:hover
    .wed-review__story-link {
        opacity: 0;

        transform:
            translateY(10px);
    }

    .wed-review__media:hover
    .wed-review__play {
        opacity: 1;

        transform:
            translate(-50%,-50%)
            scale(1);
    }

    .wed-review__media-action:hover
    .wed-review__play-disc {
        transform: scale(1.055);

        background:
            rgba(215,149,98,.105);
    }

    .wed-review__media-action:hover
    .wed-review__play-mark {
        transform:
            translateX(-2px)
            scale(1.08);
    }
}

@media (hover:none) {
    .wed-review__story-link {
        display: none;
    }

    .wed-review__play {
        opacity: 1;

        transform:
            translate(-50%,-50%)
            scale(.90);
    }
}

.wed-review__content {
    height: 100%;
    min-width: 0;

    padding:
        clamp(32px,3.2vw,47px);

    display: flex;
    flex-direction: column;

    justify-content: space-between;
}

.wed-review__top {
    display: flex;

    justify-content: space-between;
    align-items: flex-start;

    gap: 26px;
}

.wed-review__person {
    display: grid;
    gap: 7px;
}

.wed-review__person strong {
    color: #fff;

    font-size: 19px;
    font-weight: 400;

    line-height: 1.2;
}

.wed-review__person span {
    color:
        rgba(255,255,255,.42);

    font-size: 10px;
    font-weight: 300;

    letter-spacing: .10em;
    text-transform: uppercase;
}

.wed-review__rating {
    display: grid;
    justify-items: end;

    gap: 6px;
}

.wed-review__rating strong {
    color: #fff;

    font-size: 23px;
    font-weight: 300;

    line-height: 1;
}

.wed-review__rating span {
    color: var(--accent);

    font-size: 9px;
    letter-spacing: .12em;
}

.wed-review blockquote {
    max-width: 650px;

    margin:
        26px 0;

    color:
        rgba(255,255,255,.94);

    font-size:
        clamp(18px,1.45vw,24px);

    font-weight: 300;

    line-height: 1.5;

    letter-spacing: -.015em;

    text-wrap: balance;
}

.wed-review__bottom {
    display: flex;
    align-items: center;

    gap: 10px;

    color:
        rgba(255,255,255,.31);

    font-size: 9px;

    letter-spacing: .12em;
    text-transform: uppercase;
}

.wed-review__bottom i {
    width: 19px;
    height: 1px;

    background:
        rgba(255,255,255,.17);
}

.wed-reviews__navigation {
    margin-top: 23px;

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 32px;
}

.wed-reviews__counter {
    width:
        min(330px,47%);

    display: grid;

    grid-template-columns:
        auto 1fr auto;

    align-items: center;

    gap: 13px;

    color:
        rgba(255,255,255,.34);

    font-size: 10px;

    letter-spacing: .11em;
}

.wed-reviews__counter
span:first-child {
    color: #fff;
}

.wed-reviews__progress {
    position: relative;

    height: 1px;

    overflow: hidden;

    background:
        rgba(255,255,255,.11);
}

.wed-reviews__progress i {
    position: absolute;
    inset: 0;

    background: var(--accent);

    transform-origin:
        left center;

    transition:
        transform .5s
        cubic-bezier(.2,.8,.2,1);
}

.wed-reviews__arrows {
    display: flex;
    gap: 10px;
}

.wed-reviews__arrows button,
.wed-reviews__arrows button:hover,
.wed-reviews__arrows button:focus,
.wed-reviews__arrows button:active {
    width: 50px;
    height: 50px;

    padding: 0;

    display: grid;
    place-items: center;

    border:
        1px solid
        rgba(255,255,255,.14)
        !important;

    border-radius: 50%;

    background:
        rgba(255,255,255,.025)
        !important;

    color: #fff !important;

    outline: none !important;

    box-shadow:
        none !important;

    appearance: none;
    -webkit-appearance: none;

    cursor: pointer;

    transition:
        background .2s ease,
        border-color .2s ease,
        transform .2s ease;
}

.wed-reviews__arrows
button:hover {
    transform:
        translateY(-2px);

    background:
        rgba(215,149,98,.12)
        !important;

    border-color:
        rgba(215,149,98,.48)
        !important;
}

.wed-reviews__arrows svg {
    width: 20px;
    height: 20px;

    fill: none;
    stroke: currentColor;

    stroke-width: 1.4;

    stroke-linecap: round;
    stroke-linejoin: round;
}

.wed-video-modal {
    position: fixed;
    z-index: 99999;
    inset: 0;

    display: grid;
    place-items: center;

    padding:
        clamp(14px,3vw,38px);

    opacity: 0;
    visibility: hidden;

    pointer-events: none;

    transition:
        opacity .35s ease,
        visibility .35s ease;
}

.wed-video-modal.is-open {
    opacity: 1;
    visibility: visible;

    pointer-events: auto;
}

.wed-video-modal__backdrop {
    position: absolute;
    inset: 0;

    background:
        rgba(8,7,6,.80);

    backdrop-filter:
        blur(18px)
        saturate(80%);

    -webkit-backdrop-filter:
        blur(18px)
        saturate(80%);
}

.wed-video-modal__dialog {
    position: relative;
    z-index: 2;

    width:
        min(1180px,94vw);

    transform:
        translateY(18px)
        scale(.975);

    transition:
        transform .45s
        cubic-bezier(.2,.8,.2,1);
}

.wed-video-modal.is-open
.wed-video-modal__dialog {
    transform:
        translateY(0)
        scale(1);
}

.wed-video-modal__player {
    position: relative;

    width: 100%;

    aspect-ratio: 16 / 9;

    overflow: hidden;

    border:
        1px solid
        rgba(255,255,255,.16);

    border-radius:
        clamp(18px,2vw,28px);

    background: #000;

    box-shadow:
        0 35px 110px
        rgba(0,0,0,.50);
}

.wed-video-modal__player iframe,
.wed-video-modal__player video {
    position: absolute;
    inset: 0;

    width: 100%;
    height: 100%;

    display: block;

    border: 0;

    object-fit: contain;

    background: #000;
}

.wed-video-modal__close,
.wed-video-modal__close:hover,
.wed-video-modal__close:focus {
    position: absolute;
    z-index: 4;

    top: -20px;
    right: -20px;

    width: 48px;
    height: 48px;

    padding: 0;

    border:
        1px solid
        rgba(255,255,255,.23)
        !important;

    border-radius: 50%;

    background:
        rgba(20,18,16,.78)
        !important;

    outline: 0 !important;

    box-shadow:
        none !important;

    cursor: pointer;
}

.wed-video-modal__close span {
    position: absolute;

    left: 50%;
    top: 50%;

    width: 18px;
    height: 1px;

    background: #fff;
}

.wed-video-modal__close
span:first-child {
    transform:
        translate(-50%,-50%)
        rotate(45deg);
}

.wed-video-modal__close
span:last-child {
    transform:
        translate(-50%,-50%)
        rotate(-45deg);
}

/* LARGE DESKTOP — FINAL */

@media (min-width:96rem) {

    .wed-reviews {
        --edge:
            clamp(.45rem,.45vw,.75rem);

        --radius:
            clamp(2rem,1.65vw,2.65rem);
    }

    .wed-reviews__layout {
        width:
            min(
                144rem,
                calc(
                    100% -
                    clamp(2.5rem,4vw,6rem)
                )
            );

        padding:
            clamp(2.5rem,3.4vh,4rem)
            clamp(2.5rem,2.8vw,4.5rem);

        grid-template-columns:
            minmax(27rem,.72fr)
            minmax(0,1.28fr);

        gap:
            clamp(2.25rem,2.35vw,3.75rem);
    }

    .wed-reviews__intro {
        max-width: 40rem;
    }

    .wed-reviews__kicker {
        margin-bottom: 1.7rem;

        font-size:
            clamp(.8125rem,.58vw,.875rem);
    }

    .wed-reviews__intro h2 {
        font-size:
            clamp(4.35rem,4vw,5.15rem);
    }

    .wed-reviews__lead {
        max-width: 34rem;

        margin-top: 2.1rem;

        font-size:
            clamp(1.0625rem,.76vw,1.1875rem);

        line-height: 1.62;
    }

    .wed-reviews__score {
        margin-top: 2.6rem;

        gap: 1.35rem;
    }

    .wed-reviews__score > strong {
        font-size:
            clamp(3rem,2.3vw,3.55rem);
    }

    .wed-reviews__stars {
        font-size:
            clamp(1rem,.76vw,1.125rem);

        letter-spacing: .15em;
    }

    .wed-reviews__score small {
        max-width: 22rem;

        font-size:
            clamp(.8125rem,.57vw,.875rem);

        line-height: 1.5;
    }

    .wed-reviews__all {
        margin-top: 2.1rem;

        font-size:
            clamp(.75rem,.52vw,.8125rem);
    }

    .wed-reviews__slides {
        height:
            clamp(35rem,57svh,43rem);
    }

    .wed-review {
        grid-template-columns:
            minmax(25rem,.9fr)
            minmax(30rem,1.1fr);

        border-radius: 2rem;
    }

    .wed-review__content {
        padding:
            clamp(2.65rem,2.5vw,3.6rem);
    }

    .wed-review__person strong {
        font-size: 1.25rem;
    }

    .wed-review__person span {
        font-size: .6875rem;
    }

    .wed-review__rating strong {
        font-size: 1.625rem;
    }

    .wed-review__rating span {
        font-size: .6875rem;
        letter-spacing: .13em;
    }

    /*
     * Deliberately capped:
     * review text does not scale with the layout.
     */
    .wed-review blockquote {
        max-width: 44rem;

        font-size:
            clamp(1.375rem,1.1vw,1.5rem);

        line-height: 1.5;
    }

    .wed-review__bottom {
        font-size: .625rem;
    }

    .wed-review__media-meta {
        top: 1.7rem;
        left: 1.8rem;
        right: 1.8rem;

        font-size: .6875rem;
    }

    .wed-review__story-link {
        left: 1.8rem;
        bottom: 1.8rem;

        font-size: .6875rem;
    }

    .wed-reviews__navigation {
        margin-top:
            clamp(1.35rem,1.15vw,1.75rem);
    }

    .wed-reviews__counter {
        width:
            min(25rem,47%);

        font-size: .6875rem;
    }

    .wed-reviews__arrows button,
    .wed-reviews__arrows button:hover,
    .wed-reviews__arrows button:focus,
    .wed-reviews__arrows button:active {
        width: 3.5rem;
        height: 3.5rem;
    }

    .wed-reviews__arrows svg {
        width: 1.375rem;
        height: 1.375rem;
    }
}

/* SHORT DESKTOP */

@media (max-height:820px) and (min-width:981px) {

    .wed-reviews__layout {
        padding-top: 34px;
        padding-bottom: 34px;
    }

    .wed-reviews__slides {
        height:
            clamp(380px,48svh,450px);
    }

    .wed-reviews__intro h2 {
        font-size:
            clamp(40px,3.8vw,62px);
    }

    .wed-reviews__lead {
        margin-top: 23px;
    }

    .wed-reviews__score {
        margin-top: 27px;
    }

    .wed-reviews__all {
        margin-top: 21px;
    }

    .wed-review blockquote {
        font-size:
            clamp(17px,1.3vw,21px);

        line-height: 1.44;
    }
}

/* TABLET */

@media (max-width:980px) {

    .hero-wed.is-review-stack-source {
        position: relative;
    }

    .wed-reviews__layout {
        min-height: auto;

        padding:
            76px 32px;

        grid-template-columns: 1fr;

        gap: 48px;
    }

    .wed-reviews__intro {
        max-width: 760px;
    }

    .wed-reviews__slides {
        height: 520px;
    }
}

/* MOBILE */

@media (max-width:720px) {

    .wed-reviews {
        --edge: 4px;
        --radius: 22px;
    }

    .wed-reviews__layout {
        padding:
            60px 17px 66px;

        gap: 40px;
    }

    .wed-reviews__kicker {
        font-size: 10px;
    }

    .wed-reviews__intro h2 {
        font-size:
            clamp(42px,12vw,58px);
    }

    .wed-reviews__lead {
        font-size: 14px;
    }

    .wed-reviews__score > strong {
        font-size: 40px;
    }

    .wed-reviews__all {
        margin-top: 25px;

        padding: 10px 0;

        font-size: 10px;
    }

    .wed-reviews__slides {
        height: auto;
    }

    .wed-review {
        position: relative;

        display: none;

        grid-template-columns: 1fr;

        transform: none;

        border-radius: 24px;
    }

    .wed-review.is-active {
        display: grid;
    }

    .wed-review__media {
        height:
            clamp(310px,84vw,400px);
    }

    .wed-review__content {
        min-height: 330px;

        padding:
            29px 24px 31px;
    }

    .wed-review__person strong {
        font-size: 18px;
    }

    .wed-review blockquote {
        margin:
            32px 0;

        font-size: 19px;

        line-height: 1.5;

        text-wrap: pretty;
    }

    .wed-reviews__counter {
        width: 55%;
    }

    .wed-reviews__arrows button,
    .wed-reviews__arrows button:hover,
    .wed-reviews__arrows button:focus,
    .wed-reviews__arrows button:active {
        width: 47px;
        height: 47px;
    }

    .wed-video-modal {
        padding: 12px;
    }

    .wed-video-modal__dialog {
        width: 100%;
    }

    .wed-video-modal__close {
        top: -14px;
        right: -4px;

        width: 44px;
        height: 44px;
    }
}

@media (prefers-reduced-motion:reduce) {

    .hero-wed.is-review-stack-source
    .hero-wed__frame {
        transform: none !important;
        filter: none !important;
    }

    .wed-review,
    .wed-review__media > img,
    .wed-review__story-link,
    .wed-review__play,
    .wed-reviews__progress i,
    .wed-reviews__arrows button,
    .wed-video-modal,
    .wed-video-modal__dialog {
        transition: none !important;
    }
}

/* REVIEW_FIT_LAYOUT_PATCH_START */

.wed-review blockquote {
    --review-max-lines: 7;

    min-height: 0;
    overflow: hidden;
}

@media (
    max-height:51.25rem
) and (
    min-width:61.3125rem
) {
    .wed-review blockquote {
        --review-max-lines: 6;
    }
}

@media (min-width:120rem) {
    .wed-review blockquote {
        --review-max-lines: 8;
    }
}

@media (max-width:61.25rem) {
    .wed-review blockquote {
        --review-max-lines: 7;
    }
}

@media (max-width:45rem) {
    .wed-review blockquote {
        --review-max-lines: 8;
    }
}

/* REVIEW_FIT_LAYOUT_PATCH_END *//* End custom CSS */
/* Start custom CSS for html, class: .vsd-element-49dfe57 *//* =========================================================
   SECTION DOT NAV
   ========================================================= */

.dj-section-nav {
  --nav-accent: #d79562;
  --nav-accent-light: #ebb88e;

  position: fixed;
  z-index: 9995;

  top: 50%;

  /*
   * По-навътре от предишния вариант.
   */
  right:
    clamp(38px, 3.4vw, 62px);

  display: flex;
  flex-direction: column;
  align-items: center;

  gap: 11px;

  padding:
    14px 9px;

  border:
    1px solid
    rgba(255,255,255,.11);

  border-radius:
    999px;

  background:
    rgba(18,16,14,.34);

  backdrop-filter:
    blur(16px)
    saturate(112%);

  -webkit-backdrop-filter:
    blur(16px)
    saturate(112%);

  box-shadow:
    inset 0 1px
    rgba(255,255,255,.07),

    0 14px 38px
    rgba(0,0,0,.10);

  transform:
    translateY(-50%);

  opacity: .78;

  transition:
    opacity .28s ease,
    background .28s ease,
    border-color .28s ease;
}


/* subtle accent inside glass */

.dj-section-nav::before {
  content: "";

  position: absolute;

  inset: 5px;

  border:
    1px solid
    rgba(215,149,98,.07);

  border-radius:
    inherit;

  pointer-events: none;
}


@media (hover:hover) and (pointer:fine) {

  .dj-section-nav:hover {
    opacity: 1;

    background:
      rgba(18,16,14,.47);

    border-color:
      rgba(255,255,255,.15);
  }

}


/* =========================================================
   BUTTON RESET
   ========================================================= */

.dj-section-nav__dot,
.dj-section-nav__dot:hover,
.dj-section-nav__dot:focus,
.dj-section-nav__dot:active {
  position: relative;

  width: 18px;
  height: 18px;

  min-width: 18px;
  min-height: 18px;

  display: grid;
  place-items: center;

  margin: 0;
  padding: 0;

  border: 0 !important;

  border-radius:
    999px;

  outline:
    none !important;

  background:
    transparent !important;

  box-shadow:
    none !important;

  appearance:
    none;

  -webkit-appearance:
    none;

  cursor: pointer;

  -webkit-tap-highlight-color:
    transparent;
}


/* =========================================================
   ACTUAL DOT
   ========================================================= */

.dj-section-nav__dot span {
  width: 6px;
  height: 6px;

  display: block;

  border-radius:
    999px;

  background:
    rgba(255,255,255,.40);

  box-shadow:
    0 2px 7px
    rgba(0,0,0,.18);

  transition:
    width .36s
      cubic-bezier(.2,.8,.2,1),

    height .36s
      cubic-bezier(.2,.8,.2,1),

    background .28s ease,

    box-shadow .28s ease,

    transform .28s ease;
}


/* =========================================================
   HOVER
   ========================================================= */

@media (hover:hover) and (pointer:fine) {

  .dj-section-nav__dot:hover span {
    width: 8px;
    height: 8px;

    background:
      rgba(255,255,255,.82);

    transform:
      scale(1.05);
  }

}


/* =========================================================
   ACTIVE
   ========================================================= */

.dj-section-nav__dot.is-active span {
  width: 6px;
  height: 25px;

  background:
    var(--nav-accent);

  box-shadow:
    0 0 14px
    rgba(215,149,98,.20);
}


/*
 * Малък светъл highlight
 * в active индикатора.
 */

.dj-section-nav__dot.is-active span::after {
  content: "";

  position: absolute;

  left: 50%;
  top: 4px;

  width: 2px;
  height: 5px;

  border-radius:
    999px;

  background:
    rgba(255,255,255,.42);

  transform:
    translateX(-50%);
}


/* =========================================================
   KEYBOARD
   ========================================================= */

.dj-section-nav__dot:focus-visible {
  box-shadow:
    0 0 0 3px
    rgba(215,149,98,.14)
    !important;
}


/* =========================================================
   MOBILE
   Native scrolling stays untouched.
   ========================================================= */

@media (max-width:980px),
       (hover:none),
       (pointer:coarse) {

  .dj-section-nav {
    display: none;
  }

}


/* =========================================================
   REDUCED MOTION
   ========================================================= */

@media (prefers-reduced-motion:reduce) {

  .dj-section-nav,
  .dj-section-nav__dot span {
    transition:
      none !important;
  }

}/* End custom CSS */
/* Start custom CSS for html, class: .vsd-element-0413212 *//* =========================================================
   ASTRA SCROLL TO TOP — CLEAN REVAMP
   ========================================================= */

#ast-scroll-top {
  --st-accent: #d79562;
  --st-accent-light: #ebb88e;

  position: fixed !important;

  right: clamp(18px, 2.2vw, 34px) !important;
  bottom: clamp(18px, 2.2vw, 34px) !important;

  width: 54px !important;
  height: 54px !important;

  padding: 0 !important;
  margin: 0 !important;

  display: grid !important;
  place-items: center;

  border:
    1px solid rgba(255,255,255,.18) !important;

  border-radius: 50% !important;

  background:
    rgba(20,18,16,.68) !important;

  color: #fff !important;

  box-shadow:
    inset 0 1px rgba(255,255,255,.10),
    0 14px 38px rgba(0,0,0,.18) !important;

  backdrop-filter:
    blur(16px)
    saturate(115%);

  -webkit-backdrop-filter:
    blur(16px)
    saturate(115%);

  cursor: pointer;

  outline: none !important;

  -webkit-tap-highlight-color:
    transparent;

  transition:
    transform .32s cubic-bezier(.2,.8,.2,1),
    background .28s ease,
    border-color .28s ease,
    box-shadow .28s ease !important;
}


/* subtle inner accent ring */

#ast-scroll-top::before {
  content: "";

  position: absolute;

  inset: 6px;

  border:
    1px solid rgba(215,149,98,.18);

  border-radius: inherit;

  pointer-events: none;

  transition:
    inset .32s cubic-bezier(.2,.8,.2,1),
    border-color .28s ease,
    opacity .28s ease;
}


/* remove Astra default styling */

#ast-scroll-top,
#ast-scroll-top:hover,
#ast-scroll-top:focus,
#ast-scroll-top:active {
  text-decoration: none !important;

  background-color:
    rgba(20,18,16,.68) !important;

  color: #fff !important;

  outline: none !important;
}


/* =========================================================
   ICON
   ========================================================= */

#ast-scroll-top .ast-icon {
  width: 22px;
  height: 22px;

  display: grid;
  place-items: center;

  line-height: 0;
}


#ast-scroll-top .ast-arrow-svg {
  width: 20px !important;
  height: 20px !important;

  display: block;

  overflow: visible;

  /*
   * Astra SVG сочи надолу.
   * Обръщаме го нагоре.
   */
  transform:
    rotate(180deg)
    translateY(-1px);

  transform-origin: center;

  transition:
    transform .32s cubic-bezier(.2,.8,.2,1);

  filter:
    drop-shadow(
      0 2px 5px rgba(0,0,0,.25)
    );
}


#ast-scroll-top .ast-arrow-svg path {
  fill:
    rgba(255,255,255,.92) !important;

  transition:
    fill .28s ease;
}


/* =========================================================
   HOVER
   ========================================================= */

@media (hover:hover) and (pointer:fine) {

  #ast-scroll-top:hover {
    transform:
      translateY(-4px);

    background:
      rgba(28,24,21,.78) !important;

    border-color:
      rgba(215,149,98,.52) !important;

    box-shadow:
      inset 0 1px rgba(255,255,255,.13),
      0 18px 46px rgba(0,0,0,.25),
      0 0 0 1px rgba(215,149,98,.04)
      !important;
  }


  #ast-scroll-top:hover::before {
    inset: 4px;

    border-color:
      rgba(215,149,98,.42);
  }


  #ast-scroll-top:hover
  .ast-arrow-svg {
    transform:
      rotate(180deg)
      translateY(3px);
  }


  #ast-scroll-top:hover
  .ast-arrow-svg path {
    fill:
      var(--st-accent-light) !important;
  }

}


/* =========================================================
   KEYBOARD FOCUS
   ========================================================= */

#ast-scroll-top:focus-visible {
  border-color:
    rgba(235,184,142,.72) !important;

  box-shadow:
    0 0 0 4px rgba(215,149,98,.12),
    0 16px 42px rgba(0,0,0,.20)
    !important;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width:720px) {

  #ast-scroll-top {
    right: 14px !important;
    bottom: 14px !important;

    width: 48px !important;
    height: 48px !important;
  }


  #ast-scroll-top::before {
    inset: 5px;
  }


  #ast-scroll-top .ast-arrow-svg {
    width: 18px !important;
    height: 18px !important;
  }

}


/* =========================================================
   REDUCED MOTION
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

  #ast-scroll-top,
  #ast-scroll-top::before,
  #ast-scroll-top .ast-arrow-svg,
  #ast-scroll-top .ast-arrow-svg path {
    transition: none !important;
  }

}/* End custom CSS */
/* Start custom CSS for html, class: .vsd-element-9d085bb */.hero-wed__frame,
.wed-reviews__frame,
.site-footer {
  position: relative;
  overflow: hidden;
  isolation: isolate;
}

.hero-wed__frame > .atmo-canvas {
  z-index: 4;
}

.wed-reviews__frame > .atmo-canvas {
  z-index: 1;
}

.site-footer > .atmo-canvas {
  z-index: 0;
}

.site-footer > *:not(.atmo-canvas) {
  position: relative;
  z-index: 1;
}

.atmo-canvas {
  position: absolute;
  inset: 0;

  width: 100%;
  height: 100%;

  pointer-events: none;

  opacity: .84;
  mix-blend-mode: screen;
}

@media (prefers-reduced-motion: reduce) {
  .atmo-canvas {
    display: none;
  }
}/* End custom CSS */