/* input(327,15): run-time error CSS1019: Unexpected token, found 'selector('
input(327,43): run-time error CSS1025: Expected comma or open brace, found ')' */
.dv-image img {
  display: block;
  aspect-ratio: var(--xsratio, var(--ratio, unset));
  width: 100%;
}
@media only screen and (min-width: 992px) {
  .dv-image img {
    aspect-ratio: var(--ratio, unset);
  }
}
.hero-carousel picture,
.hero-carousel img {
  display: block;
  width: 100%;
  height: 100%;
}
.hero-carousel img {
  object-fit: cover;
  object-position: center;
  transform-origin: center;
  will-change: transform;
}
.hero-carousel__viewport {
  position: relative;
  width: 100%;
  aspect-ratio: 750 / 920;
  overflow: hidden;
  isolation: isolate;
}
@media only screen and (min-width: 992px) {
  .hero-carousel__viewport {
    aspect-ratio: 1800 / 525;
  }
}
.hero-carousel__viewport > a:first-child,
.hero-carousel__viewport > picture:first-child {
  position: absolute;
  inset: 0;
  z-index: 1;
}
.hero-carousel__slides {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  width: 100%;
  height: 100%;
}
.hero-carousel__slides > a,
.hero-carousel__slides > picture {
  position: absolute;
  inset: 0;
  display: block;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  will-change: opacity;
}
.hero-carousel__viewport > a,
.hero-carousel__slides > a {
  width: 100%;
  height: 100%;
}
.media-gallery {
  color: #FFF;
}
.media-gallery .gallery-viewport {
  aspect-ratio: 402 / 700;
  overflow: hidden;
  isolation: isolate;
  position: relative;
}
.media-gallery .gallery-item {
  position: absolute;
  inset: 0;
  opacity: 0;
  visibility: hidden;
  z-index: 1;
  will-change: opacity;
}
.media-gallery .gallery-item .max-w {
  position: relative;
  height: 100%;
}
.media-gallery .gallery-item.is-active {
  visibility: visible;
  opacity: 1;
}
.media-gallery .gallery-item:after {
  position: absolute;
  inset: 0;
  content: "";
  z-index: 2;
  background: var(--filter, transparent);
}
.media-gallery .video-wrap,
.media-gallery .image-wrap {
  position: absolute;
  inset: 0;
  z-index: 0;
  background: #f5f5f5;
  overflow: hidden;
}
.media-gallery .video-wrap {
  container-type: size;
}
.media-gallery .video-wrap iframe {
  position: absolute;
  top: 50%;
  left: 50%;
  width: max(100cqw, 177.78cqh);
  height: max(100cqh, 56.25cqw);
  transform: translate(-50%, -50%);
  border: 0;
}
.media-gallery .image-wrap picture,
.media-gallery .image-wrap img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.media-gallery .gallery-content {
  position: absolute;
  inset: 0;
  z-index: 3;
  display: grid;
  gap: 1rem;
  grid-template-rows: 1fr 40%;
  padding: 1.5rem;
}
.media-gallery .gallery-controls {
  position: absolute;
  bottom: 1.5rem;
  left: 0.5rem;
  right: 0;
  z-index: 3;
  padding-right: 1.5rem;
  height: calc(40% - 1rem);
  scrollbar-width: none;
}
.media-gallery .gallery-controls::-webkit-scrollbar {
  display: none;
}
.media-gallery .gallery-controls > div {
  display: grid;
  grid-template-rows: 3rem 1fr;
  gap: 0.25rem;
}
.media-gallery .gallery-controls > div .flex-col {
  contain: inline-size;
  min-width: 0;
  overflow: hidden;
  opacity: 0;
  transition: all 0.27s cubic-bezier(0, 0, 0.58, 1);
}
.media-gallery .gallery-controls > div .flex-col strong,
.media-gallery .gallery-controls > div .flex-col span {
  display: block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.media-gallery .gallery-controls > div.clicked .flex-col,
.media-gallery .gallery-controls > div.is-active .flex-col,
.media-gallery .gallery-controls > div:hover .flex-col {
  opacity: 1;
}
.media-gallery .gallery-controls > div.clicked button,
.media-gallery .gallery-controls > div.is-active button,
.media-gallery .gallery-controls > div:hover button,
.media-gallery .gallery-controls > div.clicked a,
.media-gallery .gallery-controls > div.is-active a,
.media-gallery .gallery-controls > div:hover a {
  border: 1px solid #FFF;
  height: 100%;
}
.media-gallery .gallery-controls button,
.media-gallery .gallery-controls a {
  aspect-ratio: 3 / 4;
  height: 90%;
  overflow: hidden;
  position: relative;
  align-self: end;
  transition: all 0.27s cubic-bezier(0, 0, 0.58, 1);
  cursor: pointer;
}
.media-gallery .gallery-controls button img,
.media-gallery .gallery-controls a img {
  position: absolute;
  inset: 0;
  width: 101%;
  height: 101%;
  object-fit: cover;
}
@media only screen and (max-width: 991px) {
  .media-gallery .gallery-controls > div.auto {
    flex: 0 0 150px;
    min-width: 0;
  }
  .media-gallery .gallery-controls button,
  .media-gallery .gallery-controls a {
    width: 100%;
    min-width: 0;
  }
}
@media only screen and (min-width: 992px) {
  .media-gallery .gallery-viewport {
    aspect-ratio: 16 / 9;
    max-height: 900px;
    width: 100%;
  }
  .media-gallery .gallery-content {
    padding: 3rem;
  }
  .media-gallery .gallery-content .copy {
    max-width: 60%;
  }
  .media-gallery .gallery-controls {
    left: 0;
    bottom: 3rem;
    display: flex;
    padding-inline: 3rem;
  }
  .media-gallery .gallery-controls > div {
    flex: 0 0 auto;
  }
  .media-gallery.signature p.subtitle {
    font-size: var(--font-h2);
  }
}
@media only screen and (min-width: 1400px) {
  .media-gallery .gallery-content .copy {
    max-width: 45%;
  }
  .media-gallery.signature p.subtitle {
    font-size: var(--font-h1);
  }
}
.feature-carousel .carousel {
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
}
.feature-carousel .carousel .flex {
  flex-wrap: nowrap;
  align-items: center;
  gap: 1rem;
  padding-inline: 1rem;
}
.feature-carousel .carousel .flex > div,
.feature-carousel .carousel .flex > a {
  cursor: pointer;
  flex: 0 0 33.3%;
  scroll-snap-align: center;
  transition: all 0.3s ease;
}
.feature-carousel .carousel .flex img {
  display: block;
  aspect-ratio: 3 / 4;
  pointer-events: none;
  width: 100%;
  object-fit: cover;
  object-position: center;
}
.feature-carousel .carousel .flex .copy {
  margin-top: 1rem;
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  pointer-events: none;
  text-align: center;
  padding-bottom: 0.3rem;
}
.feature-carousel .carousel .flex .copy strong {
  font-size: 1.0625rem;
}
.feature-carousel .carousel .flex .copy span {
  font-size: 0.875rem;
  opacity: 0.7;
}
.feature-carousel .carousel .flex .is-active {
  flex: 0 0 40%;
}
@media only screen and (max-width: 991px) {
  .feature-carousel .carousel {
    padding-bottom: 1.5rem;
  }
}
.feature-carousel .carousel::-webkit-scrollbar {
  height: 6px;
}
.feature-carousel .carousel::-webkit-scrollbar-track {
  background: #CCC;
  border-radius: 1rem;
  margin-inline: 3rem;
}
.feature-carousel .carousel::-webkit-scrollbar-thumb {
  background: #1b1b1b;
  border-radius: 1rem;
}
@media only screen and (min-width: 992px) {
  .feature-carousel .carousel .flex {
    gap: 2rem;
    padding-inline: 0;
  }
  .feature-carousel .carousel .flex > a,
  .feature-carousel .carousel .flex > div {
    flex: 1 1 0;
    min-width: 0;
  }
  .feature-carousel .carousel .flex > a.is-active,
  .feature-carousel .carousel .flex > div.is-active {
    flex: 1.2 1 0 !important;
  }
  .feature-carousel .carousel .flex.justify-center > a,
  .feature-carousel .carousel .flex.justify-center > div {
    flex: 0 0 18%;
  }
  .feature-carousel .carousel .flex.justify-center > a.is-active,
  .feature-carousel .carousel .flex.justify-center > div.is-active {
    flex: 0 0 22% !important;
  }
}
@supports not selector(::-webkit-scrollbar) {
  .feature-carousel .carousel {
    scrollbar-width: thin;
    scrollbar-color: #1b1b1b #ccc;
  }
}
.article-carousel header {
  display: grid;
  grid-template-columns: 1fr auto;
  padding-bottom: 1rem;
  align-items: center;
}
.article-carousel .article {
  display: grid;
  gap: 0.75rem;
  min-width: 0;
  align-content: start;
}
.article-carousel .article p {
  margin-bottom: 0;
}
.article-carousel .article p:not(.h2) {
  opacity: 0.7;
}
.article-carousel .article .tag {
  padding-inline: 0;
  background: #FFF;
}
.article-carousel .article .image-viewport {
  aspect-ratio: 16 / 9;
  display: block;
  background: #f2eeeb;
  position: relative;
  width: 100%;
  align-self: start;
}
.article-carousel .article .image-viewport .tag {
  display: none;
}
.article-carousel .article .image-viewport img {
  position: absolute;
  inset: 0;
  object-fit: cover;
  object-position: center;
  width: 100%;
  height: 100%;
}
@media only screen and (min-width: 992px) {
  .article-carousel {
    --story-small-column: 30%;
    --story-gap: 2rem;
  }
  .article-carousel .wrapper {
    overflow: visible;
  }
  .article-carousel .scroll-grid {
    position: relative;
    display: grid;
    grid-template-columns: var(--story-small-column) minmax(0, 1fr);
    grid-template-rows: auto;
    width: 100%;
    min-height: 50rem;
    border-top: 1px solid #d9d9d9;
    overflow: hidden;
    gap: 0;
  }
  .article-carousel .scroll-grid > .article.is-primary,
  .article-carousel .scroll-grid > .article.is-secondary {
    position: relative;
    grid-row: 1;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }
  .article-carousel .article {
    position: absolute;
    width: 100%;
    min-width: 0;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    gap: 1rem;
  }
  .article-carousel .article .image-viewport {
    aspect-ratio: 1228 / 488;
  }
  .article-carousel .article.is-secondary {
    grid-column: 1;
    padding-top: 2rem;
    padding-right: 2rem;
    border-right: 1px solid rgba(0, 0, 0, 0.15);
    display: flex;
    flex-direction: column;
    /*.arrow {
                      display:    inline-flex;
                      margin-top: @size-1;
                  }*/
  
  }
  .article-carousel .article.is-secondary .image-viewport {
    position: relative;
    width: 100%;
    height: 13.875rem;
    overflow: hidden;
  }
  .article-carousel .article.is-secondary .image-viewport .tag {
    display: none;
  }
  .article-carousel .article.is-secondary .image-viewport .primary {
    display: none;
  }
  .article-carousel .article.is-secondary .image-viewport .secondary {
    display: block;
  }
  .article-carousel .article.is-secondary .tag {
    display: block;
    position: static;
    padding: 0;
    background: transparent;
  }
  .article-carousel .article.is-secondary .h2 {
    font-size: 2.5rem;
    line-height: 1.1;
  }
  .article-carousel .article.is-secondary .h2 + p {
    opacity: 0.6;
  }
  .article-carousel .article.is-primary {
    grid-column: 2;
    padding-top: 2rem;
    padding-left: var(--story-gap);
    display: grid;
    grid-template-columns: minmax(0, 31.25rem) minmax(13.75rem, 1fr);
    column-gap: 2rem;
    align-content: start;
  }
  .article-carousel .article.is-primary .image-viewport {
    position: relative;
    grid-column: 1 / -1;
    width: 100%;
    height: 30.5rem;
    overflow: hidden;
    margin-bottom: 1rem;
  }
  .article-carousel .article.is-primary .image-viewport .tag {
    display: block;
  }
  .article-carousel .article.is-primary .image-viewport .primary {
    display: block;
  }
  .article-carousel .article.is-primary .image-viewport .secondary {
    display: none;
  }
  .article-carousel .article.is-primary .tag {
    position: absolute;
    z-index: 2;
    left: 0;
    bottom: 0;
    margin: 0;
    padding-top: 1rem;
    padding-right: 1rem;
    background: #FFF;
  }
  .article-carousel .article.is-primary .h2 {
    grid-column: 1;
    margin-bottom: 0;
    font-size: 3.75rem;
    line-height: 1.1;
  }
  .article-carousel .article.is-primary .h2 + p {
    grid-column: 2;
  }
  .article-carousel .article.is-primary .arrow {
    grid-column: 1 / -1;
    display: inline-flex;
    justify-self: start;
  }
  .article-carousel .article.is-primary .image-viewport + .tag {
    display: none;
  }
  .article-carousel .article-carousel__progress {
    position: absolute;
    z-index: 5;
    top: -1px;
    left: var(--story-small-column);
    right: 0;
    height: 2px;
    background: #000;
    transform: scaleX(0);
    transform-origin: left center;
    pointer-events: none;
  }
  .article-carousel .image-viewport {
    background: #f2eeeb;
  }
  .article-carousel .image-viewport img {
    will-change: transform;
    transition: transform 700ms cubic-bezier(0.16, 1, 0.3, 1);
  }
  .article-carousel .image-viewport:hover img {
    transform: scale(1.05);
  }
}
