/* Figma Destination composition: desktop 271:694 and compact 289:850 */
.template-destination,
.template-destination main {
  background: var(--color-bg);
}

.destination-hero {
  position: relative;
  width: 100vw;
  height: 100vh;
  margin-inline: calc(50% - 50vw);
  overflow: hidden;
  color: var(--color-text-inverse);
  background: var(--color-text);
}

.destination-hero__image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center center;
}

.destination-hero__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.destination-hero::after {
  position: absolute;
  z-index: 1;
  inset: 0;
  background: var(--hero-overlay);
  content: "";
  pointer-events: none;
}

.destination-hero__content {
  position: absolute;
  z-index: 2;
  inset: 0;
  padding-bottom: 120px;
  pointer-events: none;
}

.destination-hero__content > .row {
  height: 100%;
}

.destination-hero__title-column {
  height: auto;
}

.destination-hero h1 {
  width: 740px;
  max-width: 100%;
  margin: 0;
  color: inherit;
  font-family: var(--serif);
  font-size: 52px;
  font-weight: 300;
  letter-spacing: -0.015em;
  line-height: 1.15;
}

.destination-hero__title-column p {
  margin: 8px 0 0;
  color: inherit;
  font-family: var(--sans);
  font-size: 20px;
  font-weight: 500;
  letter-spacing: -0.04em;
  line-height: 30px;
}

.destination-hero__scroll {
  position: absolute;
  z-index: 2;
  bottom: 0;
  left: 50%;
  width: 119px;
  height: 80px;
  color: inherit;
  font-family: var(--sans);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: -0.04em;
  line-height: 16px;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  transform: translateX(-50%);
}

.destination-hero__scroll i {
  width: 1px;
  height: 40px;
  margin-top: 24px;
  background: currentColor;
}

.destination-details {
  color: var(--color-text);
  background: var(--color-bg);
}

.destination-details--rich {
  height: auto;
}

.destination-details__inner {
  height: 100%;
  padding-top: 80px;
  padding-bottom: 79px;
}

.destination-detail h2 {
  margin: 0;
  color: inherit;
  font-family: var(--sans);
  font-size: 20px;
  font-weight: 400;
  letter-spacing: -0.015em;
  line-height: 24px;
}

.destination-detail__description,
.destination-detail__list {
  margin: 0;
  color: inherit;
  font-family: var(--sans);
  font-size: 16px;
  font-weight: 400;
  letter-spacing: -0.015em;
  line-height: 24px;
}

.destination-detail__description {
  height: auto;
}

.destination-detail__description p {
  margin: 0;
}

.destination-detail__description p + p {
  margin-top: 16px;
}

.destination-detail__list {
  padding-left: 14px;
}

.destination-detail__list li {
  padding-left: 0;
}

.destination-detail__list li + li {
  margin-top: 12px;
}

.destination-detail--ceremony .destination-detail__list {
  height: auto;
}

.destination-detail--dinner .destination-detail__list,
.destination-detail--accommodation .destination-detail__list {
  height: auto;
}

.destination-detail__images {
  height: 273px;
  margin-top: 40px;
}

.destination-detail__image-column {
  height: 273px;
  overflow: hidden;
}

.destination-detail__image {
  display: block;
  width: 100%;
  height: 273px;
  object-fit: cover;
}

.destination-detail__image[data-figma-node-id] {
  position: relative;
  max-width: none;
}

.destination-detail__image[data-figma-node-id="276:1028"],
.destination-detail__image[data-figma-node-id="276:1030"] {
  left: -8.1731%;
  width: 116.5865%;
}

.destination-detail__image[data-figma-node-id="276:1012"] {
  top: -15.3846%;
  width: 100.9615%;
  height: 115.3846%;
}

.destination-detail__image[data-figma-node-id="276:1014"] {
  width: 100%;
  height: 101.4652%;
}

.destination-detail__image[data-figma-node-id="276:998"] {
  top: -16.4835%;
  left: -18.0288%;
  width: 135.8173%;
  height: 116.4835%;
}

.destination-detail__image[data-figma-node-id="274:944"] {
  left: -6.0096%;
  width: 117.0673%;
  height: 100.3663%;
}

.destination-detail__image[data-figma-node-id="274:947"] {
  left: -16.8269%;
  width: 116.8269%;
}

.destination-detail__image[data-figma-node-id="274:949"] {
  left: -8.1731%;
  width: 116.5865%;
}

.destination-detail--about {
  height: auto;
}

.destination-detail--ceremony {
  height: auto;
}

.destination-detail--dinner,
.destination-detail--accommodation {
  height: auto;
}

.destination-details__divider-row {
  height: 96px;
  padding-top: 48px;
  padding-bottom: 47px;
}

.destination-details__divider-row--last {
  height: 49px;
  padding-bottom: 0;
}

.destination-details__divider {
  display: block;
  width: 100%;
  height: 1px;
  background: var(--color-border);
}

.destination-details__tail {
  display: none;
}

.destination-related {
  width: 100vw;
  height: 764px;
  margin-inline: calc(50% - 50vw);
  color: var(--color-text);
  background: var(--color-highlight);
}

.destination-related__inner {
  height: 100%;
  padding-top: 80px;
  padding-bottom: 80px;
}

.destination-related h2 {
  height: 48px;
  margin: 0;
  color: inherit;
  font-family: var(--serif);
  font-size: 40px;
  font-weight: 400;
  letter-spacing: -0.04em;
  line-height: 48px;
}

.destination-related__list {
  height: 508px;
  margin-top: 48px;
}

.destination-related__column {
  height: 508px;
}

.destination-related-card {
  display: block;
  width: 100%;
  height: 508px;
  color: inherit;
  text-decoration: none;
}

.destination-related-card__image {
  display: block;
  width: 100%;
  height: 416px;
  overflow: hidden;
}

.destination-related-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.destination-related-card__copy {
  height: 68px;
  margin-top: 24px;
}

.destination-related-card h3 {
  min-height: 34px;
  margin: 0;
  color: inherit;
  font-family: var(--serif);
  font-size: 28px;
  font-weight: 400;
  letter-spacing: -0.04em;
  line-height: 33.6px;
}

.destination-related-card:is(:hover, :focus-visible) h3 {
  color: var(--color-primary-hover);
}

.destination-details--fallback {
  height: auto;
}

.destination-details--fallback .destination-details__inner,
.destination-details--fallback .destination-detail,
.destination-details--fallback .destination-detail__description {
  height: auto;
}

.destination-detail__description--markdown p {
  margin: 0 0 24px;
}

.destination-detail__description--markdown p:last-child {
  margin-bottom: 0;
}

.destination-detail__description a {
  color: var(--color-primary);
  text-underline-offset: 5px;
}

.destination-detail__heading-link {
  color: var(--color-primary);
  text-decoration: none;
}

.destination-detail__heading-link:hover,
.destination-detail__heading-link:focus-visible {
  color: var(--color-primary-hover);
  text-decoration: underline;
  text-underline-offset: 5px;
}

@media (min-width: 821px) and (max-width: 1399px) {
  .destination-details--rich,
  .destination-related {
    height: auto;
  }
  .destination-details__inner {
    height: auto;
    padding-bottom: 80px;
  }
  .destination-detail,
  .destination-detail__description,
  .destination-detail__list {
    height: auto;
  }
  .destination-detail__images {
    margin-top: 40px;
  }
  .destination-details__divider-row--last {
    height: 49px;
  }
  .destination-related__inner,
  .destination-related__list,
  .destination-related__column,
  .destination-related-card {
    height: auto;
  }
}
@media (max-width: 820px) {
  .template-destination .home-site-header__inner {
    height: 72px;
    padding: 16px;
  }
  .template-destination .home-primary-nav {
    inset: 72px 0 auto;
  }
  .destination-hero__image {
    inset: 0;
    width: 100%;
    height: 100%;
    transform: none;
  }
  .destination-hero__content {
    padding: 0 16px 112px;
  }
  .destination-hero__title-column {
    height: auto;
  }
  .destination-hero h1 {
    width: 343px;
    font-size: 36px;
    line-height: 43.2px;
  }
  .destination-hero__title-column p {
    width: 343px;
    font-size: 16px;
    line-height: 24px;
  }
  .destination-hero__scroll {
    height: 64px;
  }
  .destination-hero__scroll i {
    height: 24px;
  }
  .destination-details--rich {
    height: auto;
  }
  .destination-details__inner {
    padding: 48px 16px;
  }
  .destination-detail__content-column {
    margin-top: 24px;
  }
  .destination-detail__description {
    height: auto;
  }
  .destination-detail--ceremony .destination-detail__list {
    height: auto;
  }
  .destination-detail--dinner .destination-detail__list {
    height: auto;
  }
  .destination-detail__images {
    height: 466px;
    margin-top: 16px;
  }
  .destination-detail__image {
    width: 100%;
    height: 225px;
  }
  .destination-detail__image[data-figma-node-id="276:1028"],
  .destination-detail__image[data-figma-node-id="276:1030"] {
    left: -8.2134%;
    width: 116.6667%;
    height: 100.0417%;
  }
  .destination-detail__image[data-figma-node-id="276:1012"] {
    top: -15.3906%;
    width: 100.9615%;
    height: 115.4327%;
  }
  .destination-detail__image[data-figma-node-id="276:1014"] {
    width: 99.9188%;
    height: 101.5075%;
  }
  .destination-detail__image[data-figma-node-id="276:998"] {
    top: -16.4904%;
    left: -18.069%;
    width: 135.8974%;
    height: 116.5321%;
  }
  .destination-detail__image[data-figma-node-id="274:944"] {
    left: -6.0228%;
    width: 117.094%;
    height: 100.4081%;
  }
  .destination-detail--about {
    height: auto;
  }
  .destination-detail--ceremony {
    height: auto;
  }
  .destination-detail--dinner {
    height: auto;
  }
  .destination-detail--accommodation {
    height: auto;
  }
  .destination-details__divider-row {
    height: 48px;
    padding-top: 24px;
    padding-bottom: 23px;
  }
  .destination-details__tail {
    display: none;
  }
  .destination-related {
    height: 1487px;
  }
  .destination-related__inner {
    padding: 48px 16px;
  }
  .destination-related h2 {
    height: 38px;
    font-size: 32px;
    line-height: 38.4px;
  }
  .destination-related__list {
    width: 100%;
    max-width: 343px;
    height: 1305px;
    margin-top: 48px;
  }
  .destination-related__column {
    width: 100%;
    height: 419px;
  }
  .destination-related-card {
    width: 100%;
    max-width: 343px;
    height: 419px;
  }
  .destination-related-card__image {
    width: 100%;
    max-width: 343px;
    height: 343px;
  }
  .destination-related-card__copy {
    height: 60px;
    margin-top: 16px;
  }
  .destination-related-card h3 {
    height: 29px;
    font-size: 24px;
    line-height: 28.8px;
  }
  .destination-details--fallback .destination-details__inner {
    padding-bottom: 48px;
  }
  .destination-details--fallback .destination-detail__description {
    height: auto;
  }
}
/* Figma Destination catalog/listing families: 268:444, 297:1020, 276:1103, 297:1163 */
.template-destination-catalog,
.template-destination-catalog main {
  color: var(--color-text);
  background: var(--color-bg-secondary);
}

.template-destination-region,
.template-destination-region main {
  color: var(--color-text);
  background: var(--color-bg-secondary);
}

.destination-catalog-heading {
  padding-top: 80px;
}

.destination-catalog {
  padding-top: 56px;
  padding-bottom: 80px;
}

.destination-region {
  padding-top: 80px;
  padding-bottom: 80px;
}

.destination-region__intro {
  margin-bottom: 56px;
}

.destination-catalog-heading h1 {
  height: auto;
}

.destination-region__title-block {
  height: auto;
}

.destination-region__count {
  margin: 16px 0 0;
  font-family: var(--sans);
  font-size: 16px;
  font-weight: 400;
  letter-spacing: -0.015em;
  line-height: 24px;
  text-align: center;
  color: var(--color-text-secondary);
}

.destination-catalog-heading h1,
.destination-region h1 {
  margin: 0;
  font-family: var(--serif);
  font-size: 40px;
  font-style: italic;
  font-weight: 300;
  letter-spacing: -0.015em;
  line-height: 48px;
  text-align: center;
}

.destination-catalog__row + .destination-catalog__row,
.destination-region__row + .destination-region__row {
  margin-top: 48px;
}

.destination-catalog-card a,
.destination-venue-card a {
  display: block;
  color: inherit;
  text-decoration: none;
}

.destination-catalog-card__image,
.destination-venue-card__image {
  display: block;
  width: 100%;
  height: 416px;
  overflow: hidden;
  background: var(--color-bg-secondary);
}

.destination-catalog-card__image img,
.destination-venue-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.destination-venue-card__image > picture {
  display: block;
  width: 100%;
  height: 100%;
}

.destination-catalog-card--presentation-cover[data-catalog-index="0"] .destination-catalog-card__image img {
  position: relative;
  top: -4.5673%;
  left: -38.9423%;
  width: 194.2308%;
  max-width: none;
  height: 109.1346%;
  object-fit: fill;
}

.destination-catalog-card__copy {
  min-height: 142px;
  padding-top: 24px;
}

.destination-catalog-card[data-catalog-index="0"] .destination-catalog-card__copy {
  min-height: 150px;
}

.destination-venue-card__copy {
  min-height: 92px;
  padding-top: 24px;
}

.destination-catalog-card h2,
.destination-venue-card h2 {
  margin: 0;
  font-family: var(--serif);
  font-size: 28px;
  font-weight: 400;
  letter-spacing: -0.04em;
  line-height: 33.6px;
}

.destination-catalog-card p,
.destination-catalog-card span,
.destination-venue-card span {
  font-family: var(--sans);
  font-size: 14px;
  font-weight: 500;
  letter-spacing: -0.015em;
  line-height: 21px;
}

.destination-catalog-card p {
  margin: 8px 0 0;
  font-size: 16px;
  font-weight: 400;
  line-height: 24px;
  color: var(--color-text-secondary);
}

.destination-catalog-card span,
.destination-venue-card span {
  display: inline-block;
  min-height: 36px;
  margin-top: 16px;
  padding-top: 8px;
  text-decoration: underline;
  text-underline-offset: 6px;
  color: var(--color-primary);
}

.destination-catalog-card a:is(:hover, :focus-visible) h2,
.destination-venue-card a:is(:hover, :focus-visible) h2 {
  color: var(--color-primary-hover);
}

.destination-catalog-card[data-catalog-index="0"] .destination-catalog-card__copy span {
  margin-top: 24px;
}

.destination-catalog__action {
  margin-top: 48px;
}

.destination-catalog__action button {
  min-width: 96px;
  min-height: 44px;
  color: var(--color-primary);
}

.destination-catalog__action button:hover,
.destination-catalog__action button:focus-visible {
  color: var(--color-primary-hover);
}

@media (max-width: 820px) {
  .destination-catalog-heading {
    padding-top: 48px;
    padding-inline: 16px;
  }
  .destination-catalog {
    padding-top: 40px;
    padding-inline: 16px;
    padding-bottom: 40px;
  }
  .destination-region {
    padding-top: 48px;
    padding-inline: 16px;
    padding-bottom: 48px;
  }
  .destination-catalog-heading h1 {
    height: auto;
  }
  .destination-region {
    padding-bottom: 124px;
  }
  .destination-region__intro {
    margin-bottom: 12px;
  }
  .destination-region__title-block {
    height: auto;
  }
  .destination-catalog-heading h1,
  .destination-region h1 {
    font-size: 30px;
    line-height: 38px;
  }
  .destination-region__count {
    margin-top: 8px;
    font-size: 14px;
    line-height: 20px;
  }
  .destination-catalog__row + .destination-catalog__row,
  .destination-region__row + .destination-region__row {
    margin-top: 0;
  }
  .destination-catalog-card__image,
  .destination-venue-card__image {
    height: 343px;
  }
  .destination-catalog-card__copy {
    min-height: 137px;
    padding-top: 24px;
  }
  .destination-catalog-card[data-catalog-index="0"] .destination-catalog-card__copy {
    min-height: 145px;
  }
  .destination-venue-card__copy {
    min-height: 87px;
    padding-top: 24px;
  }
  .destination-catalog-card h2,
  .destination-venue-card h2 {
    font-size: 24px;
    line-height: 28.8px;
  }
  .destination-catalog__action {
    margin-top: 40px;
  }
}
