html {
  scroll-behavior: smooth;
  scrollbar-gutter: stable;
  max-width: 100%;
  overflow-x: clip;
}

.snapshot-site .ws-destination-guide-path {
  padding: clamp(72px, 8vw, 120px) clamp(20px, 4vw, 48px);
  background: #f2f0ec;
  color: #18131b;
}

.snapshot-site .ws-destination-guide-path h2 {
  max-width: 16ch;
  margin: 18px 0 0;
  font-size: clamp(38px, 5vw, 64px) !important;
  line-height: 1.02 !important;
}

.snapshot-site .ws-destination-guide-path p:not(.ws-eyebrow) {
  max-width: 48rem;
  margin: 24px 0 0;
  color: rgb(24 19 27 / 72%);
  font-size: 16px !important;
  line-height: 1.75 !important;
}

.snapshot-site .ws-destination-guide-path .ws-button {
  margin-top: 30px;
}

/* Villa San Vigilio blog pilot: restore visible editorial provenance that the
   Squarespace snapshot hid, and keep related-guide controls touch accessible. */
.ws-route-blog-villa-san-vigilio-wedding-photographer-cost-photo-ideas-and-timeline-tips .blog-item-meta-wrapper,
.ws-route-blog-villa-san-vigilio-wedding-photographer-cost-photo-ideas-and-timeline-tips .blog-item-author-date-wrapper {
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 14px;
}

.ws-route-blog-villa-san-vigilio-wedding-photographer-cost-photo-ideas-and-timeline-tips .blog-meta-item--categories,
.ws-route-blog-villa-san-vigilio-wedding-photographer-cost-photo-ideas-and-timeline-tips .blog-item-category,
.ws-route-blog-villa-san-vigilio-wedding-photographer-cost-photo-ideas-and-timeline-tips .blog-meta-item--date,
.ws-route-blog-villa-san-vigilio-wedding-photographer-cost-photo-ideas-and-timeline-tips .blog-meta-item--author {
  display: block !important;
  visibility: visible !important;
  height: auto !important;
  opacity: 1 !important;
}

.ws-route-blog-villa-san-vigilio-wedding-photographer-cost-photo-ideas-and-timeline-tips .blog-item-category,
.ws-route-blog-villa-san-vigilio-wedding-photographer-cost-photo-ideas-and-timeline-tips .blog-author-name {
  visibility: visible !important;
  height: auto !important;
  opacity: 1 !important;
}

.ws-route-blog-villa-san-vigilio-wedding-photographer-cost-photo-ideas-and-timeline-tips .blog-item-meta-wrapper {
  margin-top: 18px;
  color: #5f5550;
  font-size: 0.86rem;
  line-height: 1.5;
}

.ws-route-blog-villa-san-vigilio-wedding-photographer-cost-photo-ideas-and-timeline-tips .ws-blog-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  gap: 5px 9px;
  margin-bottom: 16px;
  color: #6a5e58;
  font-size: 0.78rem;
  line-height: 1.5;
}

.ws-route-blog-villa-san-vigilio-wedding-photographer-cost-photo-ideas-and-timeline-tips .ws-blog-breadcrumb a {
  color: inherit;
  text-underline-offset: 0.2em;
}

.ws-route-blog-villa-san-vigilio-wedding-photographer-cost-photo-ideas-and-timeline-tips .blog-item-category,
.ws-route-blog-villa-san-vigilio-wedding-photographer-cost-photo-ideas-and-timeline-tips .blog-author-name {
  color: inherit;
  text-underline-offset: 0.2em;
}

.ws-route-blog-villa-san-vigilio-wedding-photographer-cost-photo-ideas-and-timeline-tips .ws-blog-end-arrow {
  width: 44px !important;
  height: 44px !important;
  min-width: 44px;
  min-height: 44px;
}

.ws-route-blog-villa-san-vigilio-wedding-photographer-cost-photo-ideas-and-timeline-tips .blog-item-meta-wrapper {
  display: none !important;
}

.ws-route-blog-villa-san-vigilio-wedding-photographer-cost-photo-ideas-and-timeline-tips .ws-blog-provenance {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 5px 9px;
  margin: 0 auto 20px;
  color: #5f5550;
  font-size: 0.82rem;
  line-height: 1.5;
  text-align: center;
}

.ws-route-blog-villa-san-vigilio-wedding-photographer-cost-photo-ideas-and-timeline-tips .ws-blog-provenance a {
  color: inherit;
  text-underline-offset: 0.2em;
}

:root {
  --ws-font-display: "Newsreader", Georgia, serif;
  --ws-font-sans: "Manrope", system-ui, sans-serif;
--ws-aubergine: #241b2b;
--ws-copper: #9b5538;
--ws-copper-ink: #89462f;
--ws-paper: #fffdf8;
--ws-champagne-stone: #e4d8cb;
}

body {
  min-width: 320px;
  max-width: 100%;
  overflow-x: clip;
}

/*
 * The frozen page markup and media remain owned by the live-site snapshot.
 * This layer applies the approved custom-site typography and header without
 * rewriting page copy, media, section order, links, or metadata.
 */
.snapshot-site.snapshot-site {
  --heading-font-font-family: var(--ws-font-display);
  --heading-font-font-weight: 500;
  --heading-font-font-style: normal;
  --body-font-font-family: var(--ws-font-sans);
  --body-font-font-weight: 400;
  --body-font-font-style: normal;
  --meta-font-font-family: var(--ws-font-sans);
  --meta-font-font-weight: 600;
  --meta-font-font-style: normal;
  --site-navigation-font-font-family: var(--ws-font-sans);
  --site-navigation-font-font-size: 12px;
  --site-navigation-font-font-size-value: .75;
  --site-navigation-font-font-weight: 600;
  --site-navigation-font-line-height: 1.25;
  --site-navigation-font-letter-spacing: .1em;
  --site-navigation-font-text-transform: uppercase;
  --primary-button-font-font-family: var(--ws-font-sans);
  --primary-button-font-font-size: 12px;
  --primary-button-font-font-size-value: .75;
  --primary-button-font-font-weight: 700;
  --primary-button-font-line-height: 1.4;
  --primary-button-font-letter-spacing: .12em;
  --primary-button-font-text-transform: uppercase;
  --secondary-button-font-font-family: var(--ws-font-sans);
  --secondary-button-font-font-size: 12px;
  --secondary-button-font-font-size-value: .75;
  --secondary-button-font-font-weight: 700;
  --secondary-button-font-line-height: 1.4;
  --secondary-button-font-letter-spacing: .12em;
  --secondary-button-font-text-transform: uppercase;
  --tertiary-button-font-font-family: var(--ws-font-sans);
  --tertiary-button-font-font-size: 12px;
  --tertiary-button-font-font-size-value: .75;
  --tertiary-button-font-font-weight: 700;
  --tertiary-button-font-line-height: 1.4;
  --tertiary-button-font-letter-spacing: .12em;
  --tertiary-button-font-text-transform: uppercase;
  --quote-block-text-font-font-family: var(--ws-font-display);
  --quote-block-text-font-font-weight: 400;
  font-family: var(--ws-font-sans) !important;
  font-synthesis: none;
  text-rendering: optimizeLegibility;
}

.snapshot-site.snapshot-site :where(
  p,
  li,
  dt,
  dd,
  label,
  input,
  textarea,
  select,
  button,
  figcaption,
  caption,
  small,
  .sqsrte-small,
  .blog-meta-item,
  .summary-metadata-item,
  .header-nav-item,
  .header-menu-nav-item,
  .accordion-item__title
) {
  font-family: var(--ws-font-sans) !important;
}

.snapshot-site.snapshot-site #page :where(h1, h2, h3, blockquote, .quote-block) {
  font-family: var(--ws-font-display) !important;
  font-synthesis: none;
  text-wrap: balance;
}

.snapshot-site.snapshot-site #page h1 {
  font-size: clamp(43px, 7vw, 102px) !important;
  font-weight: 500 !important;
  line-height: .94 !important;
  letter-spacing: -.042em !important;
}

.snapshot-site.snapshot-site #page h1.ws-hero-title {
  font-size: clamp(43px, 7vw, 90px) !important;
}

.snapshot-site.snapshot-site.ws-route-home #page h1 {
  font-size: clamp(48px, 4vw, 72px) !important;
}

.snapshot-site.snapshot-site.ws-route-blog #page h1 {
  font-size: clamp(44px, 5.5vw, 80px) !important;
}

/* Destination heroes use intentional hard line breaks. Keep each authored
   line intact and scale it to the narrow split column at 768–1440px. */
.snapshot-site.snapshot-site:is(
  .ws-route-wedding-photographer-lake-garda,
  .ws-route-wedding-photographer-lake-como,
  .ws-route-wedding-photographer-trento,
  .ws-route-wedding-photographer-tuscany
) #page h1.ws-hero-title {
  hyphens: none !important;
  overflow-wrap: normal !important;
  white-space: nowrap !important;
  word-break: keep-all !important;
}

@media (min-width: 768px) {
  .snapshot-site.snapshot-site:is(
    .ws-route-wedding-photographer-lake-garda,
    .ws-route-wedding-photographer-lake-como,
    .ws-route-wedding-photographer-trento,
    .ws-route-wedding-photographer-tuscany
  ) #page h1.ws-hero-title {
    font-size: clamp(30px, 3.9vw, 58px) !important;
  }
}

.snapshot-site.snapshot-site #page h2:where(:not(.list-item-content__title):not(.blog-title):not(.summary-title):not(.item-pagination-title):not(.newsletter-block-title):not(.nested-category-title)) {
  font-size: clamp(38px, 5vw, 74px) !important;
  font-weight: 500 !important;
  line-height: .96 !important;
  letter-spacing: -.035em !important;
}

.snapshot-site.snapshot-site #page h3,
.snapshot-site.snapshot-site #page blockquote {
  font-size: clamp(28px, 3vw, 40px) !important;
  font-weight: 400 !important;
  line-height: 1.08 !important;
  letter-spacing: -.025em !important;
}

/* Card/archive titles retain editorial character without becoming section H2s. */
.snapshot-site.snapshot-site #page :where(
  h2.list-item-content__title,
  h2.blog-title,
  h2.summary-title,
  h2.item-pagination-title,
  h2.newsletter-block-title,
  h2.nested-category-title
) {
  font-size: clamp(28px, 3vw, 40px) !important;
  font-weight: 400 !important;
  line-height: 1.08 !important;
  letter-spacing: -.025em !important;
}

.snapshot-site.snapshot-site footer :where(h2, h3) {
  font-family: var(--ws-font-display) !important;
  font-size: clamp(28px, 3vw, 40px) !important;
  font-weight: 400 !important;
  line-height: 1.08 !important;
  letter-spacing: -.025em !important;
}

/* Long-form articles need a quieter reading hierarchy than commercial pages. */
.snapshot-site.snapshot-site.collection-type-blog-item #page h1 {
  font-size: clamp(43px, 6vw, 80px) !important;
}

.snapshot-site.snapshot-site.collection-type-blog-item #page h2 {
  font-size: clamp(32px, 4vw, 48px) !important;
  line-height: 1 !important;
  letter-spacing: -.025em !important;
}

.snapshot-site.snapshot-site.collection-type-blog-item #page h3 {
  font-size: 27px !important;
  line-height: 1.12 !important;
}

.snapshot-site.snapshot-site :where(
  .sqsrte-small,
  .blog-meta-item,
  .summary-metadata-item
) {
  font-size: 12px !important;
  font-weight: 600 !important;
  line-height: 1.5 !important;
  letter-spacing: .08em !important;
}

.snapshot-site.snapshot-site :where(
  .sqs-block-button-element,
  .sqs-button-element--primary,
  .sqs-button-element--secondary,
  .sqs-button-element--tertiary,
  .form-submit-button
) {
  min-height: 52px !important;
  border-radius: 0 !important;
  font-family: var(--ws-font-sans) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
}

/* Native Portfolio/Blog header geometry translated onto the frozen live markup. */
.snapshot-site.snapshot-site #header {
  box-sizing: border-box !important;
  height: 105.375px !important;
  min-height: 105.375px !important;
  color: #fff !important;
  font-family: var(--ws-font-sans) !important;
}

.snapshot-site.snapshot-site #header .header-inner {
  box-sizing: border-box !important;
  /* Match the native Portfolio/Blog `site-shell` at its 16px design root.
     The archived Squarespace document runs at 14px, so rem values would make
     this shell 208px narrower on wide screens. */
  width: min(calc(100% - clamp(32px, 7vw, 112px)), 1664px) !important;
  max-width: 1664px !important;
  min-height: 105.375px !important;
  height: 105.375px !important;
  margin-inline: auto !important;
  padding: 16px 0 !important;
}

.snapshot-site.snapshot-site #header :where(.header-background, .header-menu-bg) {
  background: var(--ws-aubergine) !important;
}

.snapshot-site.snapshot-site #header .header-announcement-bar-wrapper {
  box-sizing: border-box !important;
  height: 105.375px !important;
  min-height: 105.375px !important;
  padding: 0 !important;
}

.snapshot-site.snapshot-site.ws-route-home #header .header-background {
  background: rgb(36 27 43 / 78%) !important;
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}

.snapshot-site.snapshot-site #header :where(.header-title-nav-wrapper, .header-display-desktop, .header-display-mobile) {
  align-items: center !important;
}

.snapshot-site.snapshot-site #header .header-title-logo {
  display: flex !important;
  width: 256px !important;
  max-width: 256px !important;
  align-items: center !important;
}

.snapshot-site.snapshot-site #header .header-title-logo a {
  display: block !important;
  width: 100% !important;
}

.snapshot-site.snapshot-site #header .header-title-logo img {
  content: url("/weddingstudio-logo.webp") !important;
  width: 100% !important;
  max-width: none !important;
  /* Astro rounds the native Portfolio logo metadata to 300 × 86. Match the
     resulting rendered box so the mark cannot jump between page engines. */
  height: 73.375px !important;
  background: transparent !important;
  object-fit: contain;
}

.snapshot-site.snapshot-site #header :where(.header-nav, .header-nav-wrapper) {
  margin-left: auto !important;
}

.snapshot-site.snapshot-site #header .header-nav-list {
  display: flex !important;
  width: auto !important;
  align-items: center !important;
  gap: 28px !important;
}

.snapshot-site.snapshot-site #header .header-nav-item {
  margin: 0 !important;
}

.snapshot-site.snapshot-site #header .header-nav-item a {
  display: inline-flex !important;
  min-width: 44px !important;
  min-height: 44px !important;
  align-items: center !important;
  justify-content: center !important;
  border-bottom: 1px solid transparent;
  font-family: var(--ws-font-sans) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  line-height: 16px !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  white-space: nowrap;
}

.snapshot-site.snapshot-site #header :where(
  .header-nav-item a,
  .header-menu-nav-item a,
  .header-menu-nav-item-content,
  .header-burger-btn
) {
  color: #fff !important;
}

.snapshot-site.snapshot-site #header .header-burger-btn :where(.top-bun, .patty, .bottom-bun) {
  background-color: #fff !important;
}

.snapshot-site.snapshot-site #header .header-nav-item--active:not(:last-child) a,
.snapshot-site.snapshot-site #header .header-nav-item:not(:last-child) a:hover {
  border-bottom-color: currentColor;
}

.snapshot-site.snapshot-site #header .header-nav-item:last-child a {
  min-height: 44px !important;
  border: 1px solid currentColor !important;
  padding-inline: 16px !important;
  transition: background-color 180ms ease, color 180ms ease, border-color 180ms ease;
}

.snapshot-site.snapshot-site #header .header-nav-item:last-child a:hover {
  border-color: #fff !important;
  background: #fff !important;
  color: var(--ws-aubergine) !important;
}

.snapshot-site.snapshot-site #header .header-burger-btn {
  display: grid !important;
  width: 48px !important;
  height: 48px !important;
  place-items: center !important;
  border: 1px solid rgb(255 255 255 / 65%) !important;
  border-radius: 0 !important;
}

.snapshot-site.snapshot-site #header .header-menu-nav-item-content {
  font-family: var(--ws-font-sans) !important;
  font-size: clamp(20px, 5vw, 28px) !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
}

.snapshot-site.snapshot-site #header .header-menu-nav-item a {
  display: flex !important;
  min-width: 44px !important;
  min-height: 56px !important;
  align-items: center !important;
  padding-block: 10px !important;
}

.snapshot-site.snapshot-site #header .header-menu-nav-item--collection:last-child > a {
  border: 1px solid rgb(255 255 255 / 72%) !important;
  padding-inline: 16px !important;
}

html.header-menu-open .snapshot-site.snapshot-site #header .header-menu,
body.header-menu-open .snapshot-site.snapshot-site #header .header-menu {
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

@media (max-width: 1279px) {
  .snapshot-site.snapshot-site #header .header-title-logo {
    width: 256px !important;
    max-width: 256px !important;
  }

  .snapshot-site.snapshot-site #header .header-display-desktop {
    display: none !important;
  }

  .snapshot-site.snapshot-site #header .header-display-mobile {
    display: flex !important;
    width: 100% !important;
    align-items: center !important;
    justify-content: space-between !important;
  }

  /* The frozen mobile header contains a second copy of the desktop list.
     Keep only the burger at intermediate widths instead of exposing both. */
  .snapshot-site.snapshot-site #header .header-display-mobile .header-nav-list {
    display: none !important;
  }

  .snapshot-site.snapshot-site #header .header-burger {
    display: block !important;
    width: 48px !important;
    height: 48px !important;
    flex: 0 0 48px !important;
  }

  .snapshot-site.snapshot-site #header .header-menu {
    height: 100dvh !important;
    max-height: 100dvh !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
    padding-top: 105.375px !important;
  }
}

@media (min-width: 1360px) {
  .snapshot-site.snapshot-site #header .header-display-desktop .header-nav-item a {
    font-size: 13px !important;
    letter-spacing: .08em !important;
  }
}

@media (min-width: 1280px) {
  .snapshot-site.snapshot-site #header .header-display-desktop {
    display: flex !important;
    width: 100% !important;
    align-items: center !important;
    justify-content: space-between !important;
  }

  .snapshot-site.snapshot-site #header :where(.header-display-mobile, .header-burger) {
    display: none !important;
  }
}

@media (max-width: 639px) {
  .snapshot-site.snapshot-site #header .header-inner {
    width: min(100% - 40px, 1664px) !important;
  }

  .snapshot-site.snapshot-site #header .header-title-logo {
    width: 176px !important;
    max-width: 176px !important;
  }

  .snapshot-site.snapshot-site #page h1 {
    font-size: clamp(40px, 12vw, 52px) !important;
  }

  .snapshot-site.snapshot-site.ws-route-home #page h1 {
    font-size: clamp(38px, 11vw, 45px) !important;
  }

  .snapshot-site.snapshot-site.ws-route-blog #page h1 {
    font-size: clamp(36px, 10.5vw, 42px) !important;
  }

  .snapshot-site.snapshot-site.ws-route-packages #page #block-388ec4e3937da97b60e1 h2 {
    font-size: clamp(32px, 8.6vw, 36px) !important;
  }

  .snapshot-site.snapshot-site #page h2 {
    font-size: clamp(38px, 11vw, 52px) !important;
  }

  .snapshot-site.snapshot-site #page :where(
    h2.list-item-content__title,
    h2.blog-title,
    h2.summary-title,
    h2.item-pagination-title,
    h2.newsletter-block-title,
    h2.nested-category-title,
    h3,
    blockquote,
    footer h2,
    footer h3
  ) {
    font-size: clamp(28px, 8vw, 36px) !important;
  }
}

.snapshot-skip-link {
  position: fixed;
  top: 12px;
  left: 12px;
  z-index: 100000;
  transform: translateY(-160%);
  background: #fff;
  color: #111;
  padding: 12px 16px;
  font: 700 14px/1.2 system-ui, sans-serif;
}

.snapshot-skip-link:focus {
  transform: translateY(0);
}

.snapshot-visually-hidden {
  position: absolute !important;
  inset: 0 auto auto 0 !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

:is(a, button, input, textarea, select, summary, [role="button"]):focus-visible {
  outline: 3px solid #fff;
  outline-offset: 3px;
  box-shadow: 0 0 0 5px #241b2b;
}

img {
  height: auto;
}

img[width][height] {
  aspect-ratio: attr(width) / attr(height);
}

.snapshot-site [data-animation-role] {
  opacity: 1 !important;
  transform: none !important;
}

.snapshot-native-video {
  display: block;
  width: 100%;
  height: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  background: #000;
}

.snapshot-site .gallery-masonry-wrapper {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  align-items: start;
}

.snapshot-site .gallery-masonry-item {
  min-width: 0;
  margin: 0;
}

.snapshot-site .gallery-masonry-item-wrapper,
.snapshot-site .gallery-masonry-item img {
  width: 100%;
  height: 100%;
}

.snapshot-site .ws-collection-card-link:focus-visible {
  outline: 3px solid var(--ws-copper);
  outline-offset: -3px;
}

.snapshot-site .ws-collection-card {
  position: relative;
  cursor: pointer;
}

.snapshot-site .ws-collection-card-link {
  position: absolute;
  z-index: 2;
  inset: 0;
}

.snapshot-site #photography-coverage,
.snapshot-site #photo-highlights-film,
.snapshot-site #full-photo-film {
  scroll-margin-top: 96px;
}


.snapshot-site .slideshow-holder,
.snapshot-site .user-items-list-carousel__slides-revealer,
.snapshot-site .summary-item-list,
.snapshot-site .gallery-reel-wrapper {
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scrollbar-width: none;
  scroll-snap-type: x mandatory;
  overscroll-behavior-inline: contain;
}

.snapshot-site .slideshow-holder::-webkit-scrollbar,
.snapshot-site .user-items-list-carousel__slides-revealer::-webkit-scrollbar,
.snapshot-site .summary-item-list::-webkit-scrollbar,
.snapshot-site .gallery-reel-wrapper::-webkit-scrollbar {
  display: none;
}

.snapshot-site .user-items-list-banner-slideshow .slides {
  display: flex !important;
}

.snapshot-site .user-items-list-banner-slideshow .slide {
  flex: 0 0 100%;
  scroll-snap-align: start;
}

.snapshot-site .user-items-list-carousel__slides,
.snapshot-site .sqs-gallery-design-carousel .summary-item-list {
  display: flex !important;
  gap: var(--snapshot-carousel-gap, 0px) !important;
  transform: none !important;
}

.snapshot-site .user-items-list-carousel__slide,
.snapshot-site .sqs-gallery-design-carousel .summary-item {
  position: relative !important;
  inset: auto !important;
  transform: none !important;
  flex: 0 0 calc(var(--snapshot-carousel-basis, 100%) - var(--snapshot-carousel-adjustment, 0px));
  scroll-snap-align: start;
}

.snapshot-site .gallery-reel-list {
  display: flex !important;
}

.snapshot-site .gallery-reel-item {
  flex: 0 0 auto;
  scroll-snap-align: center;
}

@media (max-width: 767px) {
  .snapshot-site .gallery-masonry-wrapper {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .snapshot-site .user-items-list-carousel,
  .snapshot-site .sqs-gallery-design-carousel {
    --snapshot-carousel-basis: 100% !important;
    --snapshot-carousel-adjustment: 0px !important;
  }
}

/* Keep the longer Italian Home closing CTA inside its button at the
   intermediate Squarespace grid width without changing the shared action. */
@media (min-width: 768px) and (max-width: 1279px) {
  html[lang="it"] .snapshot-site.ws-route-home
  .fe-block-yui_3_17_2_1_1764968704470_36020
  .sqs-block-button-element {
    flex-shrink: 0 !important;
  }
}

form[data-form-disabled="true"] {
  position: relative;
}

form[data-form-disabled="true"] :is(input, textarea, select, button) {
  cursor: not-allowed;
}

.accordion-item:not(.accordion-item--open) .accordion-item__description {
  display: none;
}

.accordion-item--open .accordion-item__description {
  display: block;
}

/*
 * Editorial refinement pass — the public snapshot keeps the original copy and
 * photography, while these rules remove Squarespace runtime artefacts and
 * establish one consistent Newsreader / Manrope system.
 */
.snapshot-site.snapshot-site {
  color: #17131a;
  background: var(--ws-paper);
}

.snapshot-site.snapshot-site #header {
  background: var(--ws-aubergine) !important;
}

.snapshot-site.snapshot-site #header .header-background {
  background: transparent !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

.snapshot-site.snapshot-site.ws-route-home #header {
  background: linear-gradient(180deg, rgb(16 12 18 / 58%) 0%, rgb(16 12 18 / 20%) 62%, transparent 100%) !important;
}

.snapshot-site.snapshot-site.ws-route-home #header .header-background {
  background: transparent !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

.snapshot-site.snapshot-site.ws-route-home #header .header-inner {
  width: min(calc(100% - clamp(32px, 7vw, 112px)), 1664px) !important;
}

/* Keep Tailwind's generic `.container` utility from capping legacy page mains. */
.snapshot-site #page.container {
  width: 100% !important;
  max-width: none !important;
}

/* Home hero: keep the full-bleed photograph, but give the message a real editorial column. */
.snapshot-site.ws-route-home section[data-section-id="6932b47356e0fc00df2e1d71"] {
  min-height: clamp(720px, 100svh, 960px) !important;
}

.snapshot-site.ws-route-home section[data-section-id="6932b47356e0fc00df2e1d71"] :where(.content-wrapper, .content) {
  min-height: inherit !important;
  height: 100% !important;
}

.snapshot-site.ws-route-home section[data-section-id="6932b47356e0fc00df2e1d71"] .section-background-overlay {
  opacity: 1 !important;
  background: linear-gradient(90deg, rgb(27 20 31 / 84%) 0%, rgb(27 20 31 / 61%) 35%, rgb(27 20 31 / 12%) 68%, rgb(27 20 31 / 10%) 100%);
}

.snapshot-site.ws-route-home .fe-6932b47356e0fc00df2e1d70 {
  min-height: clamp(720px, 100svh, 960px) !important;
  grid-template-rows: repeat(30, minmax(0, 1fr)) !important;
}

.snapshot-site.ws-route-home .fe-block-yui_3_17_2_1_1778704594182_17044 {
  align-self: center;
  grid-area: 7 / 3 / 26 / 15 !important;
  transform: translateY(-4vh);
}

.snapshot-site.ws-route-home .ws-hero-copy {
  max-width: 44rem;
}

.snapshot-site.ws-route-home .ws-hero-eyebrow {
  margin: 0 0 22px;
  color: rgb(255 255 255 / 76%);
  font-family: var(--ws-font-sans) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  letter-spacing: .15em !important;
  text-transform: uppercase;
}

.snapshot-site.ws-route-home .ws-hero-title {
  max-width: 13.5ch;
  margin: 0;
  font-family: var(--ws-font-display) !important;
  font-size: clamp(55px, 5.2vw, 80px) !important;
  font-weight: 500 !important;
  line-height: .92 !important;
  letter-spacing: -.045em !important;
  text-wrap: balance;
}

.snapshot-site.ws-route-home .ws-hero-subtitle {
  max-width: 38rem;
  margin: 28px 0 0;
  color: rgb(255 255 255 / 82%);
  font-size: clamp(16px, 1.25vw, 19px) !important;
  line-height: 1.65 !important;
}

.snapshot-site.ws-route-home .ws-hero-actions {
  display: flex;
  margin-top: 32px;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px 26px;
}

.snapshot-site .ws-button-ghost-light {
  height: 52px !important;
  padding: 0 4px !important;
  border: 0 !important;
  border-bottom: 1px solid rgb(255 255 255 / 70%) !important;
  background: transparent !important;
  color: #fff !important;
  transition: border-color 180ms ease, color 180ms ease;
}

.snapshot-site .ws-button-ghost-light:hover {
  border-bottom-color: #fff !important;
  color: #fff !important;
}

.snapshot-site.ws-route-home .fe-block-1bb848cbdf403d626acf {
  display: none !important;
}

.snapshot-site.ws-route-home .fe-block-1bb848cbdf403d626acf .sqs-block-button-container {
  justify-content: flex-start !important;
}

.snapshot-site.snapshot-site :where(
  .sqs-block-button-element,
  .sqs-button-element--primary,
  .sqs-button-element--secondary,
  .sqs-button-element--tertiary,
  .form-submit-button,
  .ws-button
) {
  box-sizing: border-box !important;
  display: inline-flex !important;
  width: auto !important;
  min-width: 0 !important;
  height: 52px !important;
  min-height: 52px !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 28px !important;
  border-radius: 0 !important;
  font-family: var(--ws-font-sans) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  letter-spacing: .12em !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
  white-space: nowrap;
}

.snapshot-site .ws-button-copper {
  border: 1px solid var(--ws-copper) !important;
  background: var(--ws-copper) !important;
  color: #fff !important;
  transition: background-color 180ms ease, border-color 180ms ease;
}

.snapshot-site .ws-button-copper:hover {
  border-color: #7f432e !important;
  background: #7f432e !important;
}

.snapshot-site.snapshot-site .sqs-button-element--primary,
.snapshot-site.snapshot-site .sqs-block-button-element.sqs-button-element--primary {
  border: 1px solid var(--ws-copper) !important;
  background: var(--ws-copper) !important;
  color: #fff !important;
}

.snapshot-site .ws-editorial-shell {
  box-sizing: border-box;
  width: min(100% - clamp(2.5rem, 8vw, 8rem), 78rem);
  margin-inline: auto;
}

.snapshot-site .ws-eyebrow {
  margin: 0 0 18px;
  color: var(--ws-copper);
  font-family: var(--ws-font-sans) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  letter-spacing: .15em !important;
  text-transform: uppercase;
}

.snapshot-site .ws-section-intro {
  max-width: 52rem;
  margin-bottom: clamp(42px, 6vw, 72px);
}

.snapshot-site .ws-section-intro h2,
.snapshot-site .ws-team-cta h2 {
  margin: 0;
  font-family: var(--ws-font-display) !important;
  font-size: clamp(44px, 5.4vw, 72px) !important;
  font-weight: 500 !important;
  line-height: .98 !important;
  letter-spacing: -.038em !important;
}

.snapshot-site .ws-section-intro > p:last-child,
.snapshot-site .ws-section-intro-split > p,
.snapshot-site .ws-team-cta .ws-editorial-shell > div:last-child > p {
  margin: 24px 0 0;
  color: rgb(23 19 26 / 72%);
  font-size: 16px !important;
  line-height: 1.75 !important;
}

.snapshot-site .ws-section-intro-split {
  display: grid;
  max-width: none;
  grid-template-columns: minmax(0, 1.2fr) minmax(18rem, .8fr);
  gap: clamp(40px, 7vw, 96px);
  align-items: end;
}

.snapshot-site .ws-section-intro-split > p {
  margin: 0;
}

/* The section singled out in review: one type family, one calm hierarchy. */
.snapshot-site .ws-memory-section {
  background: #302438;
  color: #fff;
  padding: clamp(80px, 10vw, 132px) 0;
  text-align: center;
}

.snapshot-site .ws-memory-inner {
  display: grid;
  max-width: 74rem;
  grid-template-columns: minmax(0, 1.05fr) minmax(20rem, .95fr);
  gap: clamp(46px, 8vw, 112px);
  align-items: start;
  text-align: left;
}

.snapshot-site .ws-memory-section h2 {
  max-width: 10ch;
  margin: 0;
  font-family: var(--ws-font-display) !important;
  font-size: clamp(46px, 5.2vw, 68px) !important;
  font-weight: 500 !important;
  line-height: .98 !important;
  letter-spacing: -.04em !important;
  color: #fff !important;
}

.snapshot-site .ws-memory-section h2 em {
  display: inline;
  color: #d7aa73;
  font-weight: 400;
}

.snapshot-site .ws-memory-section ul {
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
  text-align: left;
}

.snapshot-site .ws-memory-section li {
  position: relative;
  padding: 10px 0 10px 28px;
  border-bottom: 1px solid rgb(255 255 255 / 14%);
  color: rgb(255 255 255 / 82%);
  font-size: 16px !important;
  line-height: 1.55 !important;
}

.snapshot-site .ws-memory-section li::before {
  position: absolute;
  top: 11px;
  left: 0;
  color: #d7aa73;
  content: "—";
}

.snapshot-site .ws-memory-kicker {
  margin: 0;
  color: rgb(255 255 255 / 66%);
  font-family: var(--ws-font-display) !important;
  font-size: clamp(25px, 2.5vw, 34px) !important;
  font-weight: 400 !important;
  line-height: 1.05 !important;
  letter-spacing: -.025em !important;
}

.snapshot-site .ws-memory-kicker strong {
  display: inline-block;
  margin-top: 5px;
  color: #fff;
  font-size: clamp(34px, 3.5vw, 48px);
  font-weight: 500;
}

.snapshot-site .ws-memory-close {
  display: flex;
  grid-column: 1 / -1;
  margin-top: 4px;
  padding-top: 34px;
  border-top: 1px solid rgb(255 255 255 / 18%);
  align-items: flex-end;
  justify-content: space-between;
  gap: 32px;
}

/* A performant, semantic version of the original photographic scroll. */
.snapshot-site .ws-home-gallery {
  padding: clamp(64px, 7vw, 96px) 0 34px;
  background: var(--ws-paper);
}

.snapshot-site .ws-gallery-rail {
  display: flex;
  padding: 0 max(24px, 5vw) 16px;
  gap: clamp(12px, 1.5vw, 22px);
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  scrollbar-color: rgb(36 27 43 / 35%) transparent;
  scrollbar-width: thin;
}

.snapshot-site .ws-gallery-rail figure {
  min-width: min(29vw, 410px);
  flex: 0 0 min(29vw, 410px);
  margin: 0;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  background: #eee9e1;
  scroll-snap-align: start;
}

.snapshot-site .ws-gallery-rail figure:nth-child(3n + 2) {
  aspect-ratio: 1 / 1;
}

.snapshot-site .ws-gallery-rail img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
}

.snapshot-site .ws-gallery-hint {
  width: min(100% - max(48px, 10vw), 78rem);
  margin: 14px auto 0;
  color: rgb(23 19 26 / 58%);
  font-family: var(--ws-font-sans) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .14em !important;
  text-align: right;
  text-transform: uppercase;
}

.snapshot-site .ws-gallery-hint span {
  margin-left: 10px;
  color: var(--ws-copper);
  font-size: 16px;
}

.snapshot-site .ws-fixed-gallery {
  padding: clamp(48px, 5vw, 80px) max(20px, 4vw) clamp(72px, 8vw, 112px);
  background: var(--ws-paper);
}

.snapshot-site .ws-fixed-gallery-grid {
  display: grid;
  width: min(100%, 104rem);
  aspect-ratio: 2 / 1;
  margin-inline: auto;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-template-rows: repeat(2, minmax(0, 1fr));
  gap: clamp(10px, 1vw, 18px);
}

.snapshot-site .ws-fixed-gallery figure {
  margin: 0;
  overflow: hidden;
  background: #eee9e1;
}

.snapshot-site .ws-fixed-gallery figure:nth-child(1) {
  grid-column: 1;
  grid-row: 1 / 3;
}

.snapshot-site .ws-fixed-gallery figure:nth-child(2) {
  grid-column: 2;
  grid-row: 1 / 3;
}

.snapshot-site .ws-fixed-gallery figure:nth-child(3) {
  grid-column: 3;
  grid-row: 1;
}

.snapshot-site .ws-fixed-gallery figure:nth-child(4) {
  grid-column: 3;
  grid-row: 2;
}

.snapshot-site .ws-fixed-gallery img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
}

/* Institutional proof is intentionally distinct from the later testimonials. */
.snapshot-site .ws-proof-section {
  padding: clamp(78px, 9vw, 120px) 0;
  background: var(--ws-paper);
}

.snapshot-site .ws-proof-section > .ws-editorial-shell {
  display: grid;
  grid-template-columns: minmax(18rem, .78fr) minmax(0, 1.22fr);
  gap: clamp(48px, 8vw, 112px);
  align-items: start;
}

.snapshot-site .ws-proof-heading h2 {
  max-width: 11ch;
  margin: 18px 0 0;
  font-family: var(--ws-font-display) !important;
  font-size: clamp(44px, 5vw, 68px) !important;
  font-weight: 500 !important;
  line-height: .96 !important;
  letter-spacing: -.038em !important;
}

.snapshot-site .ws-proof-heading h2 em {
  color: var(--ws-copper);
  font-weight: 400;
}

.snapshot-site .ws-proof-list {
  border-top: 1px solid rgb(36 27 43 / 20%);
}

.snapshot-site .ws-proof-list article {
  display: grid;
  grid-template-columns: 36px 1fr;
  gap: 22px;
  padding: 28px 0 30px;
  border-bottom: 1px solid rgb(36 27 43 / 20%);
}

.snapshot-site .ws-proof-list article > span {
  padding-top: 4px;
  color: var(--ws-copper);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .12em;
}

.snapshot-site .ws-proof-list h3 {
  margin: 0;
  font-family: var(--ws-font-sans) !important;
  font-size: clamp(18px, 1.7vw, 23px) !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  letter-spacing: -.015em !important;
}

.snapshot-site .ws-proof-list p {
  max-width: 42rem;
  margin: 9px 0 0;
  color: rgb(23 19 26 / 62%);
  font-size: 14px !important;
  line-height: 1.7 !important;
}

.snapshot-site .ws-transition-statement {
  padding: clamp(62px, 7vw, 92px) max(24px, 6vw) clamp(24px, 3vw, 44px);
  background: var(--ws-paper);
  text-align: center;
}

.snapshot-site .ws-transition-statement p {
  max-width: 22ch;
  margin: 0 auto;
  font-family: var(--ws-font-display) !important;
  font-size: clamp(34px, 4vw, 52px) !important;
  font-weight: 400 !important;
  line-height: 1.04 !important;
  letter-spacing: -.035em !important;
}

.snapshot-site .ws-transition-statement em,
.snapshot-site .ws-transition-statement strong {
  color: var(--ws-copper);
  font-weight: 500;
}

/* Featured stories: real cards on desktop, a touch-friendly gallery rail on small screens. */
.snapshot-site .ws-stories-section {
  padding: clamp(84px, 10vw, 132px) 0;
  background: var(--ws-paper);
}

.snapshot-site .ws-story-rail {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(24px, 3vw, 40px);
}

.snapshot-site .ws-story-card {
  min-width: 0;
  border-top: 1px solid rgb(36 27 43 / 20%);
  padding-top: 18px;
}

@media (min-width: 901px) {
  .snapshot-site .ws-story-card {
    display: grid;
    grid-row: span 4;
    grid-template-rows: subgrid;
    align-content: start;
  }

  .snapshot-site .ws-story-copy {
    display: contents;
  }

  .snapshot-site .ws-story-copy h3 {
    margin-top: 24px;
  }
}

.snapshot-site .ws-story-image-link {
  display: block;
  overflow: hidden;
  aspect-ratio: 4 / 3;
  background: #ece9e2;
}

.snapshot-site .ws-story-image-link img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  transition: transform 450ms ease;
}

.snapshot-site .ws-story-image-link:hover img {
  transform: scale(1.018);
}

.snapshot-site .ws-story-copy {
  padding-top: 24px;
}

@media (min-width: 901px) {
  .snapshot-site .ws-story-copy {
    padding-top: 0;
  }
}

/* Reviews use a stable editorial grid instead of the missing infinite slider runtime. */
.snapshot-site .ws-testimonial-section {
  padding: clamp(58px, 7vw, 96px) 0 clamp(80px, 9vw, 120px);
  background: var(--ws-paper);
}

.snapshot-site .ws-testimonial-section .ws-section-intro h2 {
  font-size: clamp(46px, 5vw, 64px) !important;
}

.snapshot-site .ws-testimonial-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid rgb(36 27 43 / 20%);
  border-bottom: 1px solid rgb(36 27 43 / 20%);
}

.snapshot-site .ws-testimonial-grid figure {
  margin: 0;
  padding: clamp(32px, 5vw, 58px);
}

.snapshot-site .ws-testimonial-grid figure + figure {
  border-left: 1px solid rgb(36 27 43 / 20%);
}

.snapshot-site .ws-testimonial-grid blockquote {
  margin: 0;
  font-family: var(--ws-font-display) !important;
  font-size: clamp(27px, 2.8vw, 40px) !important;
  font-weight: 400 !important;
  line-height: 1.08 !important;
  letter-spacing: -.025em !important;
}

.snapshot-site .ws-testimonial-grid figcaption {
  margin-top: 30px;
  color: rgb(23 19 26 / 64%);
  font-size: 12px !important;
  font-weight: 600 !important;
  line-height: 1.5 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase;
}

.snapshot-site .ws-testimonial-grid figcaption span {
  display: block;
  margin-top: 8px;
  color: var(--ws-copper);
  letter-spacing: .18em;
}

.snapshot-site .ws-story-copy h3 {
  margin: 0;
  font-family: var(--ws-font-display) !important;
  font-size: clamp(28px, 2.5vw, 38px) !important;
  font-weight: 500 !important;
  line-height: 1.02 !important;
  letter-spacing: -.03em !important;
}

.snapshot-site .ws-story-copy p {
  margin: 18px 0 22px;
  color: rgb(23 19 26 / 68%);
  font-size: 14px !important;
  line-height: 1.7 !important;
}

.snapshot-site .ws-text-link {
  display: inline-block;
  border-bottom: 1px solid currentColor;
  padding-bottom: 6px;
  color: #17131a;
  font-family: var(--ws-font-sans) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .13em !important;
  text-decoration: none;
}

/* Team teaser and full team page. */
.snapshot-site .ws-home-team,
.snapshot-site .ws-team-roster {
  padding: clamp(84px, 10vw, 132px) 0;
  background: #f3efe7;
}

.snapshot-site .ws-home-team-grid {
  display: grid;
  margin-bottom: 42px;
  grid-template-columns: 1.15fr .9fr .9fr;
  gap: clamp(20px, 3vw, 38px);
  align-items: start;
}

.snapshot-site .ws-home-person {
  min-width: 0;
}

.snapshot-site .ws-home-person > img {
  display: block;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 4 / 5;
  background: var(--ws-aubergine);
  object-fit: cover;
}

.snapshot-site .ws-home-person:nth-child(2) > img {
  object-fit: contain;
}

.snapshot-site .ws-home-person > div {
  padding-top: 22px;
}

.snapshot-site .ws-home-person h3,
.snapshot-site .ws-team-person h3 {
  margin: 0;
  font-family: var(--ws-font-display) !important;
  font-size: clamp(34px, 3.2vw, 48px) !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  letter-spacing: -.03em !important;
}

.snapshot-site .ws-home-person > div > p:last-child {
  margin: 16px 0 0;
  color: rgb(23 19 26 / 68%);
  font-size: 14px !important;
  line-height: 1.7 !important;
}

.snapshot-site .ws-team-page {
  background: var(--ws-paper);
}

.snapshot-site .ws-team-hero {
  display: grid;
  min-height: 42rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  background: #fff;
}

.snapshot-site .ws-team-hero-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(80px, 9vw, 140px) clamp(40px, 8vw, 120px);
}

.snapshot-site .ws-team-hero h1 {
  max-width: 46rem;
  margin: 0;
  font-family: var(--ws-font-display) !important;
  font-size: clamp(54px, 5.8vw, 88px) !important;
  font-weight: 500 !important;
  line-height: .92 !important;
  letter-spacing: -.045em !important;
  overflow-wrap: normal;
  word-break: normal;
}

.snapshot-site .ws-team-hero-copy > p:last-child {
  max-width: 40rem;
  margin: 32px 0 0;
  color: rgb(23 19 26 / 70%);
  font-size: 17px !important;
  line-height: 1.75 !important;
}

.snapshot-site .ws-team-hero figure {
  position: relative;
  width: min(calc(100% - 48px), 48rem);
  aspect-ratio: 1;
  align-self: center;
  justify-self: start;
  margin: clamp(40px, 5vw, 72px) 24px;
  overflow: hidden;
  background: var(--ws-aubergine);
}

.snapshot-site .ws-team-hero figure img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  object-position: center;
}

.snapshot-site .ws-team-hero figcaption {
  position: absolute;
  right: 24px;
  bottom: 24px;
  background: rgb(36 27 43 / 90%);
  color: #fff;
  padding: 13px 16px;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase;
}

.snapshot-site .ws-team-list {
  border-top: 1px solid rgb(36 27 43 / 18%);
}

.snapshot-site .ws-team-person {
  display: grid;
  grid-template-columns: minmax(15rem, 28rem) minmax(0, 1fr);
  gap: clamp(38px, 7vw, 92px);
  align-items: center;
  padding: clamp(42px, 6vw, 76px) 0;
  border-bottom: 1px solid rgb(36 27 43 / 18%);
}

.snapshot-site .ws-team-person:nth-child(even) {
  grid-template-columns: minmax(0, 1fr) minmax(15rem, 28rem);
}

.snapshot-site .ws-team-person:nth-child(even) .ws-team-portrait {
  grid-column: 2;
}

.snapshot-site .ws-team-person:nth-child(even) .ws-team-person-copy {
  grid-column: 1;
  grid-row: 1;
}

.snapshot-site .ws-team-portrait {
  width: min(100%, 27rem);
  margin-inline: auto;
  overflow: hidden;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  background: var(--ws-aubergine);
}

.snapshot-site .ws-team-portrait img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
}

.snapshot-site .ws-team-person-hayza .ws-team-portrait img {
  object-fit: cover;
  object-position: center 48%;
  transform: scale(1.44);
  transform-origin: 52% 48%;
}

/* High-end footer: quiet hierarchy, precise navigation and no decorative underlines. */
.snapshot-site .ws-footer {
  background: var(--ws-aubergine);
  color: #fff;
  padding: clamp(72px, 9vw, 116px) max(24px, 6vw) 30px;
}

.snapshot-site .ws-footer-main,
.snapshot-site .ws-footer-bottom {
  width: min(100%, 86rem);
  margin-inline: auto;
}

.snapshot-site .ws-footer-main {
  display: grid;
  grid-template-columns: minmax(17rem, .8fr) minmax(0, 1.2fr);
  gap: clamp(56px, 9vw, 140px);
}

.snapshot-site .ws-footer-brand > p {
  max-width: 34rem;
  margin: 20px 0 0;
  color: rgb(255 255 255 / 67%);
  font-size: 14px !important;
  line-height: 1.75 !important;
}

.snapshot-site .ws-footer-brand .ws-footer-name {
  margin: 0;
  color: #fff;
  font-family: var(--ws-font-display) !important;
  font-size: clamp(36px, 4vw, 52px) !important;
  font-weight: 500 !important;
  line-height: .95 !important;
  letter-spacing: -.035em !important;
}

.snapshot-site .ws-footer-brand .ws-footer-location {
  color: #d7aa73;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase;
}

.snapshot-site .ws-footer-nav {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(30px, 5vw, 72px);
}

.snapshot-site .ws-footer-nav > div {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.snapshot-site .ws-footer-nav p {
  margin: 0 0 22px;
  color: #d7aa73;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase;
}

.snapshot-site .ws-footer-nav a {
  position: relative;
  margin: 0;
  padding: 7px 0;
  color: rgb(255 255 255 / 78%);
  font-family: var(--ws-font-sans) !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
  text-decoration: none !important;
  transition: color 180ms ease, transform 180ms ease;
}

.snapshot-site .ws-footer-nav a:hover {
  color: #fff;
  transform: translateX(3px);
}

.snapshot-site .ws-footer-bottom {
  display: flex;
  margin-top: clamp(64px, 9vw, 108px);
  padding-top: 24px;
  border-top: 1px solid rgb(255 255 255 / 14%);
  justify-content: space-between;
  gap: 24px;
}

.snapshot-site .ws-footer-bottom p {
  margin: 0;
  color: rgb(255 255 255 / 48%);
  font-size: 12px !important;
  line-height: 1.5 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase;
}

.snapshot-site .ws-team-person-copy > p {
  max-width: 44rem;
  margin: 20px 0 0;
  color: rgb(23 19 26 / 70%);
  font-size: 15px !important;
  line-height: 1.75 !important;
}

.snapshot-site .ws-team-person-copy h4 {
  margin: 32px 0 0;
  color: var(--ws-copper);
  font-family: var(--ws-font-sans) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase;
}

.snapshot-site .ws-team-cta {
  padding: clamp(72px, 9vw, 112px) 0;
  border-top: 1px solid rgb(36 27 43 / 12%);
  background: var(--ws-champagne-stone);
  color: var(--ws-aubergine);
}

.snapshot-site .ws-team-cta .ws-editorial-shell {
  display: grid;
  grid-template-columns: 1.2fr .8fr;
  gap: clamp(40px, 8vw, 112px);
  align-items: end;
}

.snapshot-site .ws-team-cta .ws-editorial-shell > div:last-child > p {
  margin: 0 0 28px;
  color: rgb(36 27 43 / 72%);
}

.snapshot-site.snapshot-site .ws-team-cta h2 {
  color: var(--ws-aubergine) !important;
}

.snapshot-site.snapshot-site .ws-team-cta .ws-eyebrow {
  color: var(--ws-copper-ink) !important;
}

.snapshot-site.snapshot-site.ws-route-italy-weddings .ws-destination-match-name span {
  color: var(--ws-aubergine) !important;
  font-family: var(--ws-font-display) !important;
  font-size: clamp(24px, 2vw, 30px) !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  letter-spacing: -.025em !important;
}

/* Packages trust block — rebuilds a fragile fluid-engine composition. */
.snapshot-site .ws-trust-section {
  padding: clamp(80px, 10vw, 128px) 0;
  background: var(--ws-paper);
  color: #17131a;
}

.snapshot-site .ws-trust-section > .ws-editorial-shell > h2 {
  max-width: 54rem;
  margin: 0;
  font-family: var(--ws-font-display) !important;
  font-size: clamp(48px, 6vw, 78px) !important;
  font-weight: 500 !important;
  line-height: .96 !important;
  letter-spacing: -.04em !important;
}

.snapshot-site .ws-trust-section h2 em {
  color: var(--ws-copper);
  font-weight: 400;
}

.snapshot-site .ws-trust-grid {
  display: grid;
  margin-top: clamp(48px, 7vw, 82px);
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid rgb(36 27 43 / 22%);
  border-bottom: 1px solid rgb(36 27 43 / 22%);
}

.snapshot-site .ws-trust-grid article {
  padding: 34px clamp(22px, 3vw, 38px) 38px;
}

.snapshot-site .ws-trust-grid article + article {
  border-left: 1px solid rgb(36 27 43 / 22%);
}

.snapshot-site .ws-trust-grid span {
  color: var(--ws-copper);
  font-family: var(--ws-font-sans);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .14em;
}

.snapshot-site .ws-trust-grid h3 {
  margin: 24px 0 0;
  font-family: var(--ws-font-display) !important;
  font-size: clamp(28px, 2.6vw, 38px) !important;
  font-weight: 500 !important;
  line-height: 1 !important;
}

.snapshot-site .ws-trust-grid p {
  margin: 16px 0 0;
  color: rgb(23 19 26 / 68%);
  font-size: 14px !important;
  line-height: 1.65 !important;
}

.snapshot-site .ws-featured-by {
  padding: clamp(72px, 8vw, 104px) 0;
  background: var(--ws-paper);
  text-align: center;
}

.snapshot-site .ws-featured-by h2 {
  margin: 0;
  font-family: var(--ws-font-display) !important;
  font-size: clamp(44px, 5vw, 64px) !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  letter-spacing: -.035em !important;
}

.snapshot-site .ws-featured-logos {
  display: grid;
  max-width: 704px;
  margin: clamp(40px, 6vw, 64px) auto 0;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid rgb(36 27 43 / 20%);
  border-bottom: 1px solid rgb(36 27 43 / 20%);
}

.snapshot-site .ws-featured-logos figure {
  display: grid;
  min-height: 112px;
  margin: 0;
  place-items: center;
  padding: 22px 32px;
  background: transparent;
}

.snapshot-site .ws-featured-logos figure + figure {
  border-left: 1px solid rgb(36 27 43 / 20%);
}

.snapshot-site .ws-featured-logos img {
  display: block;
  width: min(100%, 180px) !important;
  height: 52px !important;
  background: transparent !important;
  mix-blend-mode: multiply;
  object-fit: contain;
}

/* Italy destinations: the global snapshot image placeholder was showing
   through the square media frames, and the archived buttons lost their
   previous visual weight after action normalization. */
.snapshot-site.ws-route-italy-weddings section[data-section-id="6a02205e90a76c6a9a0bc9a1"] :where(
  .fluid-image-component-root,
  .fluid-image-container,
  .js-content-mode-element,
  img
) {
  border: 0 !important;
  background: transparent !important;
}

.snapshot-site.ws-route-italy-weddings section[data-section-id="6a02205e90a76c6a9a0bc9a1"] .fluid-image-component-root {
  --image-component-object-fit: cover !important;
  overflow: hidden !important;
}

.snapshot-site.ws-route-italy-weddings section[data-section-id="6a02205e90a76c6a9a0bc9a1"] :where(
  .fluid-image-animation-wrapper,
  .sqs-image-content,
  .js-content-mode-element-wrapper,
  .content-fit
) {
  width: 100% !important;
  height: 100% !important;
}

.snapshot-site.ws-route-italy-weddings section[data-section-id="6a02205e90a76c6a9a0bc9a1"] .content-fit {
  position: absolute !important;
  inset: 0 !important;
}

.snapshot-site.ws-route-italy-weddings section[data-section-id="6a02205e90a76c6a9a0bc9a1"] .fluid-image-container img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

.snapshot-site.snapshot-site.ws-route-italy-weddings section[data-section-id="6a02205e90a76c6a9a0bc9a1"] .sqs-block-button-element {
  min-width: 188px !important;
  height: 56px !important;
  min-height: 56px !important;
  padding-inline: 34px !important;
}

.snapshot-site.ws-route-italy-weddings section[data-section-id="6a02205e90a76c6a9a0bc9a1"] .fe-block:has(> .button-block) {
  transform: none !important;
}

/* Home collection cards: broader cards, quieter type and a consistent CTA. */
.snapshot-site.ws-route-home section[data-section-id="69368ac46d6d11238d1f0a16"] .user-items-list {
  padding-block: clamp(84px, 9vw, 116px) !important;
}

.snapshot-site.ws-route-home section[data-section-id="69368ac46d6d11238d1f0a16"] .list-section-title {
  padding-bottom: clamp(42px, 5vw, 64px) !important;
}

.snapshot-site.ws-route-home section[data-section-id="69368ac46d6d11238d1f0a16"] .list-section-title p {
  font-family: var(--ws-font-display) !important;
  font-size: clamp(44px, 5vw, 68px) !important;
  font-weight: 500 !important;
  line-height: .98 !important;
  letter-spacing: -.04em !important;
}

.snapshot-site.ws-route-home section[data-section-id="69368ac46d6d11238d1f0a16"] .user-items-list-simple {
  /* Canonical 76rem content container translated to pixels because the frozen
     Squarespace root uses 14px instead of the design system's 16px base. */
  width: min(calc(100% - clamp(40px, 7vw, 112px)), 1216px) !important;
  margin-inline: auto !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: clamp(20px, 2vw, 32px) !important;
  counter-reset: ws-collection;
}

@media (min-width: 901px) and (max-width: 1199px) {
  .snapshot-site.ws-route-home section[data-section-id="69368ac46d6d11238d1f0a16"] .user-items-list-simple {
    max-width: 928px !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .snapshot-site.ws-route-home section[data-section-id="69368ac46d6d11238d1f0a16"] .list-item:last-child {
    width: calc(50% - clamp(10px, 1vw, 16px));
    grid-column: 1 / -1;
    justify-self: center;
  }
}

.snapshot-site.ws-route-home section[data-section-id="69368ac46d6d11238d1f0a16"] .list-item {
  position: relative;
  display: flex !important;
  min-height: 330px;
  flex-direction: column;
  border: 1px solid rgb(36 27 43 / 16%);
  border-top: 2px solid var(--ws-copper);
  padding: 34px 30px 36px !important;
  background: var(--ws-paper);
  box-shadow: 0 24px 54px -48px rgb(36 27 43 / 55%);
  counter-increment: ws-collection;
  transition: transform 220ms ease, box-shadow 220ms ease;
}

.snapshot-site.ws-route-home section[data-section-id="69368ac46d6d11238d1f0a16"] .list-item::before {
  display: block;
  margin-bottom: auto;
  color: var(--ws-copper);
  content: "Collection 0" counter(ws-collection);
  font-family: var(--ws-font-sans);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.snapshot-site.ws-route-home section[data-section-id="69368ac46d6d11238d1f0a16"] .list-item:hover {
  box-shadow: 0 30px 70px -48px rgb(36 27 43 / 65%);
  transform: translateY(-4px);
}

.snapshot-site.ws-route-home section[data-section-id="69368ac46d6d11238d1f0a16"] .list-item-media {
  margin-bottom: 22px !important;
}

.snapshot-site.ws-route-home section[data-section-id="69368ac46d6d11238d1f0a16"] .list-item-content__title {
  min-height: 0 !important;
  font-family: var(--ws-font-display) !important;
  font-size: clamp(30px, 2.2vw, 38px) !important;
  font-weight: 500 !important;
  line-height: .98 !important;
  letter-spacing: -.025em !important;
  overflow-wrap: normal;
  text-wrap: balance;
  word-break: normal;
}

.snapshot-site.ws-route-home section[data-section-id="69368ac46d6d11238d1f0a16"] .list-item-content__description p {
  margin-top: 18px !important;
  color: rgb(23 19 26 / 68%);
  font-size: 14px !important;
  line-height: 1.7 !important;
}

.snapshot-site.ws-route-home section[data-section-id="69368ac46d6d11238d1f0a16"] .list-section-button-container {
  display: flex !important;
  margin-top: 46px !important;
  justify-content: center !important;
}

/* Rehydrate snapshot scrollers and keep their first item in the visible range. */
.snapshot-site .user-items-list-banner-slideshow .slides {
  position: relative !important;
  left: auto !important;
  display: flex !important;
  transform: none !important;
}

.snapshot-site .user-items-list-banner-slideshow .slide {
  position: relative !important;
  inset: auto !important;
  transform: none !important;
}

.snapshot-site.ws-route-home section[data-section-id="6932b47356e0fc00df2e1d77"] .user-items-list-banner-slideshow,
.snapshot-site.ws-route-home section[data-section-id="6932b47356e0fc00df2e1d77"] .slideshow-holder,
.snapshot-site.ws-route-home section[data-section-id="6932b47356e0fc00df2e1d77"] .slide {
  min-height: 34rem !important;
  height: 34rem !important;
}

.snapshot-site.ws-route-home section[data-section-id="6932b47356e0fc00df2e1d77"] .list-item-content {
  max-width: 52rem !important;
  margin-inline: auto !important;
}

.snapshot-site.ws-route-home section[data-section-id="6932b47356e0fc00df2e1d77"] .list-item-content__description {
  font-family: var(--ws-font-display) !important;
  font-size: clamp(27px, 3vw, 40px) !important;
  font-weight: 400 !important;
  line-height: 1.08 !important;
  letter-spacing: -.025em !important;
}

/* Original photo montage becomes a true horizontal gallery rail. */
.snapshot-site.ws-route-home section[data-section-id="69333c5116eb1867728f27d0"] {
  height: auto !important;
  min-height: 0 !important;
  padding: clamp(70px, 8vw, 108px) 0 !important;
  background: var(--ws-paper);
}

.snapshot-site.ws-route-home section[data-section-id="69333c5116eb1867728f27d0"] :where(.content-wrapper, .content) {
  height: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
}

.snapshot-site.ws-route-home section[data-section-id="69333c5116eb1867728f27d0"] .fluid-engine {
  box-sizing: border-box;
  display: flex !important;
  width: min(100% - clamp(2rem, 6vw, 6rem), 86rem) !important;
  height: auto !important;
  min-height: 0 !important;
  margin-inline: auto;
  padding: 0 0 16px !important;
  gap: 16px;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  scrollbar-width: thin;
}

.snapshot-site.ws-route-home section[data-section-id="69333c5116eb1867728f27d0"] .fe-block {
  position: relative !important;
  inset: auto !important;
  width: auto !important;
  height: auto !important;
  min-width: min(72vw, 360px);
  flex: 0 0 min(72vw, 360px);
  scroll-snap-align: start;
}

.snapshot-site.ws-route-home section[data-section-id="69333c5116eb1867728f27d0"] .image-block,
.snapshot-site.ws-route-home section[data-section-id="69333c5116eb1867728f27d0"] .sqs-block-content,
.snapshot-site.ws-route-home section[data-section-id="69333c5116eb1867728f27d0"] .fluid-image-component-root,
.snapshot-site.ws-route-home section[data-section-id="69333c5116eb1867728f27d0"] .fluid-image-animation-wrapper,
.snapshot-site.ws-route-home section[data-section-id="69333c5116eb1867728f27d0"] .fluid-image-container,
.snapshot-site.ws-route-home section[data-section-id="69333c5116eb1867728f27d0"] .js-content-mode-element-wrapper,
.snapshot-site.ws-route-home section[data-section-id="69333c5116eb1867728f27d0"] .js-content-mode-element {
  width: 100% !important;
  height: 100% !important;
}

.snapshot-site.ws-route-home section[data-section-id="69333c5116eb1867728f27d0"] .image-block {
  aspect-ratio: 4 / 3;
}

.snapshot-site.ws-route-home section[data-section-id="69333c5116eb1867728f27d0"] img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
}

.snapshot-site.ws-route-home section[data-section-id="69333c5116eb1867728f27d0"] .html-block {
  display: grid;
  min-height: 270px;
  place-items: center;
  border: 1px solid rgb(36 27 43 / 18%);
  padding: 28px;
  background: #f3efe7;
  text-align: center;
}

.snapshot-site.ws-route-home section[data-section-id="69333c5116eb1867728f27d0"] .html-block p {
  font-family: var(--ws-font-display) !important;
  font-size: 30px !important;
  line-height: 1.05 !important;
  letter-spacing: -.02em !important;
}

/* Instagram: a stable square grid, independent from the archived carousel runtime. */
.snapshot-site .ws-instagram-section {
  padding: clamp(76px, 9vw, 118px) 0;
  background: #fff;
  color: var(--ws-aubergine);
  text-align: center;
}

.snapshot-site .ws-instagram-section h2 {
  margin: 0 0 clamp(40px, 6vw, 64px);
  color: var(--ws-aubergine) !important;
  font-family: var(--ws-font-display) !important;
  font-size: clamp(44px, 5vw, 64px) !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  letter-spacing: -.035em !important;
}

.snapshot-site .ws-instagram-section h2 strong {
  font-weight: 500;
}

.snapshot-site .ws-instagram-section h2 em {
  color: var(--ws-copper);
  font-weight: 400;
}

.snapshot-site .ws-instagram-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(8px, 1.2vw, 16px);
}

.snapshot-site .ws-instagram-grid a {
  display: block;
  overflow: hidden;
  aspect-ratio: 1 / 1;
  border: 1px solid rgb(36 27 43 / 12%);
  background: #e8e3db;
}

.snapshot-site .ws-instagram-grid img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  transition: transform 400ms ease;
}

.snapshot-site .ws-instagram-grid a:hover img {
  transform: scale(1.025);
}

.snapshot-site .ws-instagram-handle {
  display: inline-flex;
  width: min(100%, 336px);
  min-height: 52px;
  margin-top: 30px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  border-top: 1px solid rgb(36 27 43 / 24%);
  border-bottom: 1px solid rgb(36 27 43 / 24%);
  padding: 8px 2px;
  color: var(--ws-aubergine);
  text-align: center;
  text-decoration: none;
  transition: border-color 180ms ease, color 180ms ease;
}

.snapshot-site .ws-instagram-handle-label {
  color: var(--ws-copper-ink);
  font-family: var(--ws-font-sans) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.snapshot-site .ws-instagram-handle-name {
  font-family: var(--ws-font-sans) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
  letter-spacing: .01em;
}

.snapshot-site .ws-instagram-handle-arrow {
  color: var(--ws-copper-ink);
  font-family: var(--ws-font-sans) !important;
  font-size: 16px !important;
  transition: transform 180ms ease;
}

.snapshot-site .ws-instagram-handle:hover,
.snapshot-site .ws-instagram-handle:focus-visible {
  border-color: var(--ws-aubergine);
  color: var(--ws-aubergine);
}

.snapshot-site .ws-instagram-handle:hover .ws-instagram-handle-arrow,
.snapshot-site .ws-instagram-handle:focus-visible .ws-instagram-handle-arrow {
  transform: translate(3px, -3px);
}

/* Legacy selector retained for other snapshot pages that still use the gallery component. */
.snapshot-site.ws-route-home section[data-section-id="6932b47356e0fc00df2e1d7e"] .sqs-gallery-container {
  background: #f3efe7;
}

.snapshot-site.ws-route-home section[data-section-id="6932b47356e0fc00df2e1d7e"] .image-slide-anchor {
  box-sizing: border-box;
  aspect-ratio: 1 / 1;
  height: auto !important;
  padding: 0 !important;
  background: #e8e3db;
}

.snapshot-site.ws-route-home section[data-section-id="6932b47356e0fc00df2e1d7e"] .image-slide-anchor img {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

/* Featured-by carousel: remove the off-canvas infinite-loop transform and give logos a real canvas. */
.snapshot-site.ws-route-home section[data-section-id="6932b47356e0fc00df2e1d78"] {
  min-height: 340px !important;
}

.snapshot-site.ws-route-home section[data-section-id="6932b47356e0fc00df2e1d78"] .list-section-title p {
  font-family: var(--ws-font-display) !important;
  font-size: clamp(42px, 5vw, 64px) !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  letter-spacing: -.035em !important;
}

.snapshot-site.ws-route-home section[data-section-id="6932b47356e0fc00df2e1d78"] .user-items-list-carousel__slides {
  justify-content: center;
  transform: none !important;
}

.snapshot-site.ws-route-home section[data-section-id="6932b47356e0fc00df2e1d78"] .user-items-list-carousel__slide {
  flex: 0 0 min(38vw, 320px) !important;
}

.snapshot-site.ws-route-home section[data-section-id="6932b47356e0fc00df2e1d78"] :where(
  .user-items-list-carousel__media-container,
  .user-items-list-carousel__media-inner
) {
  min-height: 96px !important;
  height: 96px !important;
}

.snapshot-site.ws-route-home section[data-section-id="6932b47356e0fc00df2e1d78"] img {
  display: block !important;
  width: 100% !important;
  height: 96px !important;
  object-fit: contain !important;
}

@media (max-width: 900px) {
  .snapshot-site .ws-section-intro-split,
  .snapshot-site .ws-team-cta .ws-editorial-shell {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .snapshot-site .ws-story-rail,
  .snapshot-site .ws-home-team-grid {
    display: flex;
    margin-right: calc((100vw - 100%) / -2);
    padding-right: max(24px, calc((100vw - 100%) / 2));
    gap: 18px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
  }

  .snapshot-site .ws-story-card,
  .snapshot-site .ws-home-person {
    min-width: min(78vw, 390px);
    flex: 0 0 min(78vw, 390px);
    scroll-snap-align: start;
  }

  .snapshot-site .ws-story-card {
    display: flex;
    flex-direction: column;
  }

  .snapshot-site .ws-story-copy {
    display: flex;
    flex: 1;
    flex-direction: column;
  }

  .snapshot-site .ws-story-copy .ws-text-link {
    align-self: flex-start;
    margin-top: auto;
  }

  .snapshot-site .ws-memory-inner {
    grid-template-columns: 1fr;
    gap: 42px;
  }

  .snapshot-site .ws-memory-section h2 {
    max-width: 13ch;
  }

  .snapshot-site .ws-memory-close {
    grid-column: auto;
  }

  .snapshot-site .ws-team-hero {
    min-height: 0;
    grid-template-columns: 1fr;
  }

  .snapshot-site .ws-team-hero-copy {
    padding: 80px max(24px, 7vw) 64px;
  }

  .snapshot-site .ws-team-hero figure {
    width: min(calc(100% - 48px), 32rem);
    min-height: 0;
    margin: 0 auto 64px;
  }

  .snapshot-site .ws-team-person,
  .snapshot-site .ws-team-person:nth-child(even) {
    grid-template-columns: minmax(13rem, 17rem) minmax(0, 1fr);
    gap: 32px;
  }

  .snapshot-site .ws-team-person:nth-child(even) .ws-team-portrait,
  .snapshot-site .ws-team-person:nth-child(even) .ws-team-person-copy {
    grid-column: auto;
    grid-row: auto;
  }

  .snapshot-site .ws-trust-grid {
    grid-template-columns: 1fr;
  }

  .snapshot-site .ws-testimonial-grid {
    grid-template-columns: 1fr;
  }

  .snapshot-site .ws-footer-main {
    grid-template-columns: 1fr;
    gap: 52px;
  }

  .snapshot-site .ws-proof-section > .ws-editorial-shell {
    grid-template-columns: 1fr;
    gap: 42px;
  }

  .snapshot-site .ws-proof-heading h2 {
    max-width: 13ch;
  }

  .snapshot-site .ws-testimonial-grid figure + figure {
    border-top: 1px solid rgb(36 27 43 / 20%);
    border-left: 0;
  }

  .snapshot-site .ws-trust-grid article + article {
    border-top: 1px solid rgb(36 27 43 / 22%);
    border-left: 0;
  }

  .snapshot-site.ws-route-home section[data-section-id="69368ac46d6d11238d1f0a16"] .user-items-list-simple {
    max-width: 44rem !important;
    grid-template-columns: 1fr !important;
    gap: 22px !important;
  }
}

@media (max-width: 639px) {
  .snapshot-site.snapshot-site #header,
  .snapshot-site.snapshot-site #header .header-inner,
  .snapshot-site.snapshot-site #header .header-announcement-bar-wrapper {
    height: 96px !important;
    min-height: 96px !important;
  }

  .snapshot-site.snapshot-site #header .header-menu {
    padding-top: 96px !important;
  }

  .snapshot-site.snapshot-site #header .header-inner,
  .snapshot-site.snapshot-site.ws-route-home #header .header-inner {
    width: min(100% - 40px, 1664px) !important;
  }

  .snapshot-site.snapshot-site #header .header-title-logo {
    width: 176px !important;
    max-width: 176px !important;
  }

  .snapshot-site.snapshot-site #header .header-title-logo img {
    height: 50.453px !important;
  }

  .snapshot-site.snapshot-site #header .header-burger-btn {
    width: 48px !important;
    height: 48px !important;
  }

  .snapshot-site.snapshot-site #header .header-burger {
    width: 48px !important;
    height: 48px !important;
    flex: 0 0 48px !important;
  }

  .snapshot-site .ws-editorial-shell {
    width: min(100% - 40px, 78rem);
  }

  .snapshot-site.ws-route-home section[data-section-id="6932b47356e0fc00df2e1d71"],
  .snapshot-site.ws-route-home .fe-6932b47356e0fc00df2e1d70 {
    min-height: max(700px, 92svh) !important;
  }

  .snapshot-site.ws-route-home section[data-section-id="6932b47356e0fc00df2e1d71"] .section-background-overlay {
    background: linear-gradient(180deg, rgb(27 20 31 / 18%) 0%, rgb(27 20 31 / 14%) 36%, rgb(27 20 31 / 82%) 75%, rgb(27 20 31 / 92%) 100%);
  }

  .snapshot-site.ws-route-home .fe-6932b47356e0fc00df2e1d70 {
    grid-template-rows: repeat(28, minmax(0, 1fr)) !important;
  }

  .snapshot-site.ws-route-home .fe-block-yui_3_17_2_1_1778704594182_17044 {
    grid-area: 10 / 2 / 27 / 11 !important;
    transform: none;
  }

  .snapshot-site.ws-route-home .ws-hero-eyebrow {
    margin-bottom: 14px;
    font-size: 12px !important;
  }

  .snapshot-site.ws-route-home .ws-hero-title {
    max-width: 12.5ch;
    font-size: clamp(40px, 11.2vw, 54px) !important;
    line-height: .94 !important;
  }

  .snapshot-site.ws-route-home .ws-hero-subtitle {
    max-width: 32rem;
    margin-top: 18px;
    font-size: 15px !important;
    line-height: 1.5 !important;
  }

  .snapshot-site.ws-route-home .ws-hero-actions {
    margin-top: 26px;
    align-items: flex-start;
    flex-direction: column;
    gap: 8px;
  }

  .snapshot-site.ws-route-home .fe-block-1bb848cbdf403d626acf {
    grid-area: 23 / 2 / 27 / 9 !important;
    transform: translateY(-10px);
  }

  .snapshot-site .ws-memory-section {
    padding: 72px 0;
  }

  .snapshot-site .ws-memory-section h2 {
    font-size: clamp(42px, 12vw, 54px) !important;
  }

  .snapshot-site .ws-memory-section ul {
    margin-top: 0;
  }

  .snapshot-site .ws-memory-section li {
    font-size: 15px !important;
  }

  .snapshot-site .ws-memory-close {
    margin-top: 2px;
    padding-top: 28px;
    flex-direction: column;
    align-items: flex-start;
    gap: 26px;
  }

  .snapshot-site .ws-memory-kicker {
    font-size: 25px !important;
  }

  .snapshot-site .ws-memory-kicker strong {
    font-size: 35px;
  }

  .snapshot-site .ws-gallery-rail {
    padding-inline: 20px;
  }

  .snapshot-site .ws-gallery-rail figure {
    min-width: 76vw;
    flex-basis: 76vw;
  }

  .snapshot-site .ws-instagram-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }

  .snapshot-site .ws-fixed-gallery-grid {
    aspect-ratio: auto;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: auto;
    gap: 10px;
  }

  .snapshot-site .ws-fixed-gallery figure:nth-child(1),
  .snapshot-site .ws-fixed-gallery figure:nth-child(2) {
    aspect-ratio: 2 / 3;
    grid-column: auto;
    grid-row: 1;
  }

  .snapshot-site .ws-fixed-gallery figure:nth-child(3),
  .snapshot-site .ws-fixed-gallery figure:nth-child(4) {
    aspect-ratio: 3 / 2;
    grid-column: 1 / -1;
    grid-row: auto;
  }

  .snapshot-site .ws-footer-nav {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    row-gap: 42px;
  }

  .snapshot-site .ws-footer-bottom {
    flex-direction: column;
  }

  .snapshot-site .ws-transition-statement p {
    font-size: clamp(32px, 9.5vw, 42px) !important;
  }

  .snapshot-site .ws-section-intro h2,
  .snapshot-site .ws-team-cta h2,
  .snapshot-site .ws-trust-section > .ws-editorial-shell > h2 {
    font-size: clamp(40px, 11vw, 52px) !important;
  }

  .snapshot-site .ws-team-person,
  .snapshot-site .ws-team-person:nth-child(even) {
    grid-template-columns: 1fr;
  }

  .snapshot-site .ws-team-portrait {
    width: min(100%, 22rem);
    max-height: none;
  }

  .snapshot-site .ws-team-hero h1 {
    font-size: clamp(48px, 14vw, 66px) !important;
  }

  .snapshot-site .ws-team-hero figcaption {
    right: 14px;
    bottom: 14px;
  }

  .snapshot-site .ws-featured-logos figure {
    min-height: 88px;
    padding: 18px;
  }

  .snapshot-site .ws-featured-logos img {
    width: min(100%, 118px) !important;
    height: 38px !important;
  }

  .snapshot-site.ws-route-home section[data-section-id="6932b47356e0fc00df2e1d77"] .user-items-list-banner-slideshow,
  .snapshot-site.ws-route-home section[data-section-id="6932b47356e0fc00df2e1d77"] .slideshow-holder,
  .snapshot-site.ws-route-home section[data-section-id="6932b47356e0fc00df2e1d77"] .slide {
    min-height: 29rem !important;
    height: 29rem !important;
  }

  .snapshot-site.ws-route-home section[data-section-id="6932b47356e0fc00df2e1d7e"] .gallery-grid-wrapper,
  .snapshot-site.ws-route-home section[data-section-id="6932b47356e0fc00df2e1d7e"] .sqs-gallery-container {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* Packages: editorial decision page. Coverage is the primary comparison;
 * film follows as a coordinated service rather than an equal tier. */
.snapshot-site.ws-route-packages .ws-packages-page {
  --ws-packages-ink: #18131b;
  --ws-packages-muted: rgb(24 19 27 / 68%);
  background: var(--ws-paper);
  color: var(--ws-packages-ink);
}

.snapshot-site.ws-route-packages .ws-packages-page *,
.snapshot-site.ws-route-packages .ws-packages-page *::before,
.snapshot-site.ws-route-packages .ws-packages-page *::after {
  box-sizing: border-box;
}

.snapshot-site.ws-route-packages .ws-packages-page :where(p, ul, figure) {
  margin-top: 0;
}

.snapshot-site.ws-route-packages .ws-packages-hero {
  display: grid;
  min-height: clamp(620px, 48vw, 680px);
  grid-template-columns: minmax(0, 42fr) minmax(0, 58fr);
  background: var(--ws-aubergine);
  color: #fff;
}

.snapshot-site.ws-route-packages .ws-packages-hero-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: max(clamp(72px, 8vw, 124px), calc(var(--header-height, 96px) + 32px)) clamp(38px, 4.5vw, 80px);
}

.snapshot-site.ws-route-packages .ws-packages-hero .ws-eyebrow {
  margin-bottom: 26px;
  color: #d1ad87;
}

.snapshot-site.ws-route-packages .ws-packages-hero h1 {
  max-width: 14ch;
  margin: 0;
  color: #fff;
  font-size: clamp(50px, 3.9vw, 68px) !important;
  line-height: .96 !important;
  letter-spacing: -.04em !important;
  hyphens: none;
  overflow-wrap: normal;
  word-break: normal;
}

.snapshot-site.ws-route-packages .ws-packages-hero-copy > p:not(.ws-eyebrow) {
  max-width: 38rem;
  margin: 30px 0 0;
  color: rgb(255 255 255 / 76%);
  font-size: 16px !important;
  line-height: 1.75 !important;
}

.snapshot-site.ws-route-packages .ws-packages-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 18px 26px;
  align-items: center;
  margin-top: 36px;
}

.snapshot-site.ws-route-packages .ws-packages-hero-media {
  min-width: 0;
  min-height: 100%;
  margin: 0;
  overflow: hidden;
}

.snapshot-site.ws-route-packages .ws-packages-hero-media img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  object-position: 52% 50%;
}

.snapshot-site.ws-route-packages .ws-button-outline-light {
  border: 1px solid rgb(255 255 255 / 58%) !important;
  background: transparent !important;
  color: #fff !important;
  transition: border-color 180ms ease, background-color 180ms ease;
}

.snapshot-site.ws-route-packages .ws-button-outline-light:hover {
  border-color: #fff !important;
  background: rgb(255 255 255 / 8%) !important;
}

.snapshot-site.ws-route-packages .ws-packages-intro,
.snapshot-site.ws-route-packages .ws-packages-coverage,
.snapshot-site.ws-route-packages .ws-packages-included,
.snapshot-site.ws-route-packages .ws-packages-recognition,
.snapshot-site.ws-route-packages .ws-packages-film,
.snapshot-site.ws-route-packages .ws-packages-faq,
.snapshot-site.ws-route-packages .ws-packages-final {
  padding-block: clamp(88px, 10vw, 150px);
}

.snapshot-site.ws-route-packages .ws-packages-intro {
  background: #fff;
}

.snapshot-site.ws-route-packages .ws-packages-intro-grid,
.snapshot-site.ws-route-packages .ws-packages-included-grid,
.snapshot-site.ws-route-packages .ws-packages-faq-grid,
.snapshot-site.ws-route-packages .ws-packages-final-grid {
  display: grid;
  grid-template-columns: minmax(0, .82fr) minmax(22rem, 1.18fr);
  gap: clamp(48px, 9vw, 132px);
  align-items: start;
}

.snapshot-site.ws-route-packages .ws-packages-page h2 {
  max-width: 15ch;
  margin: 0;
  color: var(--ws-packages-ink);
  font-size: clamp(44px, 5vw, 68px) !important;
  line-height: .98 !important;
  letter-spacing: -.038em !important;
}

.snapshot-site.ws-route-packages .ws-packages-reading-copy > p,
.snapshot-site.ws-route-packages .ws-packages-section-heading > p:last-child,
.snapshot-site.ws-route-packages .ws-packages-film-intro > p:last-child,
.snapshot-site.ws-route-packages .ws-packages-final-grid > div:last-child > p {
  max-width: 68ch;
  margin-bottom: 0;
  color: var(--ws-packages-muted);
  font-size: 17px !important;
  line-height: 1.75 !important;
}

.snapshot-site.ws-route-packages .ws-packages-text-link,
.snapshot-site.ws-route-packages .ws-packages-chapter-link {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  gap: 14px;
  border-bottom: 1px solid rgb(24 19 27 / 42%);
  color: var(--ws-packages-ink) !important;
  font-family: var(--ws-font-sans) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .12em !important;
  text-decoration: none !important;
  text-transform: uppercase;
  transition: border-color 180ms ease, color 180ms ease;
}

.snapshot-site.ws-route-packages .ws-packages-text-link {
  margin-top: 28px;
}

.snapshot-site.ws-route-packages .ws-packages-text-link:hover,
.snapshot-site.ws-route-packages .ws-packages-chapter-link:hover {
  border-bottom-color: var(--ws-copper);
  color: var(--ws-copper) !important;
}

.snapshot-site.ws-route-packages .ws-packages-coverage {
  scroll-margin-top: var(--header-height, 90px);
  background: #f2f0ec;
}

.snapshot-site.ws-route-packages .ws-packages-section-heading {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(18rem, .72fr);
  gap: 28px clamp(48px, 9vw, 132px);
  align-items: end;
  margin-bottom: clamp(62px, 7vw, 94px);
}

.snapshot-site.ws-route-packages .ws-packages-section-heading .ws-eyebrow {
  grid-column: 1 / -1;
  margin-bottom: -4px;
}

.snapshot-site.ws-route-packages .ws-packages-section-heading h2 {
  max-width: 13ch;
}

.snapshot-site.ws-route-packages .ws-coverage-chapters {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid rgb(24 19 27 / 24%);
  border-bottom: 1px solid rgb(24 19 27 / 24%);
}

.snapshot-site.ws-route-packages .ws-coverage-chapter {
  display: flex;
  min-width: 0;
  flex-direction: column;
  padding: clamp(34px, 3.6vw, 52px);
}

.snapshot-site.ws-route-packages .ws-coverage-chapter + .ws-coverage-chapter {
  border-left: 1px solid rgb(24 19 27 / 18%);
}

.snapshot-site.ws-route-packages .ws-coverage-chapter > header {
  min-height: 21rem;
}

.snapshot-site.ws-route-packages .ws-coverage-label,
.snapshot-site.ws-route-packages .ws-film-label {
  margin-bottom: 22px;
  color: var(--ws-copper);
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  letter-spacing: .15em !important;
  text-transform: uppercase;
}

.snapshot-site.ws-route-packages .ws-coverage-chapter h3 {
  margin: 0;
  font-size: clamp(30px, 2.6vw, 40px) !important;
  line-height: 1.04 !important;
}

.snapshot-site.ws-route-packages .ws-coverage-chapter header > p:last-child {
  margin: 22px 0 0;
  color: var(--ws-packages-muted);
  font-size: 15px !important;
  line-height: 1.7 !important;
}

.snapshot-site.ws-route-packages .ws-coverage-options {
  margin-bottom: 28px;
  border-top: 1px solid rgb(24 19 27 / 24%);
}

.snapshot-site.ws-route-packages .ws-coverage-option {
  display: grid;
  min-height: 15.5rem;
  grid-template-rows: 1fr auto;
  gap: 28px;
  padding-block: 30px;
  border-bottom: 1px solid rgb(24 19 27 / 16%);
}

.snapshot-site.ws-route-packages .ws-coverage-duration {
  margin-bottom: 10px;
  color: var(--ws-copper);
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase;
}

.snapshot-site.ws-route-packages .ws-coverage-option h4 {
  margin: 0;
  color: var(--ws-packages-ink);
  font-family: var(--ws-font-sans) !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
}

.snapshot-site.ws-route-packages .ws-coverage-option div > p:last-child {
  margin: 12px 0 0;
  color: var(--ws-packages-muted);
  font-size: 14px !important;
  line-height: 1.65 !important;
}

.snapshot-site.ws-route-packages .ws-coverage-price {
  margin: 0;
  color: var(--ws-packages-ink);
  font-size: 15px !important;
  font-weight: 700 !important;
}

.snapshot-site.ws-route-packages .ws-packages-chapter-link {
  align-self: flex-start;
  margin-top: auto;
}

.snapshot-site.ws-route-packages .ws-packages-starting-note {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 28px clamp(48px, 8vw, 112px);
  padding-top: 38px;
}

.snapshot-site.ws-route-packages .ws-packages-starting-note p {
  margin: 0;
  color: var(--ws-packages-muted);
  font-size: 14px !important;
  line-height: 1.7 !important;
}

.snapshot-site.ws-route-packages .ws-packages-starting-note p:first-child {
  color: var(--ws-packages-ink);
  font-weight: 600 !important;
}

.snapshot-site.ws-route-packages .ws-packages-included {
  background: var(--ws-aubergine);
  color: #fff;
}

.snapshot-site.ws-route-packages .ws-packages-included h2,
.snapshot-site.ws-route-packages .ws-packages-film h2,
.snapshot-site.ws-route-packages .ws-packages-film h3 {
  color: #fff;
}

.snapshot-site.ws-route-packages .ws-packages-included .ws-eyebrow,
.snapshot-site.ws-route-packages .ws-packages-film .ws-eyebrow,
.snapshot-site.ws-route-packages .ws-packages-film .ws-film-label {
  color: #d1ad87;
}

.snapshot-site.ws-route-packages .ws-packages-included ul {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 42px;
  margin-bottom: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid rgb(255 255 255 / 24%);
}

.snapshot-site.ws-route-packages .ws-packages-included li {
  position: relative;
  padding: 22px 0 22px 22px;
  border-bottom: 1px solid rgb(255 255 255 / 18%);
  color: rgb(255 255 255 / 82%);
  font-size: 14px !important;
  line-height: 1.55 !important;
}

.snapshot-site.ws-route-packages .ws-packages-included li::before {
  position: absolute;
  top: 30px;
  left: 0;
  width: 6px;
  height: 6px;
  background: #d1ad87;
  content: "";
}

.snapshot-site.ws-route-packages .ws-packages-recognition {
  background: #fff;
}

.snapshot-site.ws-route-packages .ws-packages-recognition .ws-packages-section-heading {
  display: block;
  max-width: 49rem;
}

.snapshot-site.ws-route-packages .ws-packages-recognition .ws-packages-section-heading .ws-eyebrow {
  margin-bottom: 18px;
}

.snapshot-site.ws-route-packages .ws-recognition-list {
  border-top: 1px solid rgb(24 19 27 / 28%);
}

.snapshot-site.ws-route-packages .ws-recognition-list article {
  display: grid;
  grid-template-columns: 5rem minmax(0, .8fr) minmax(20rem, 1.2fr);
  gap: 24px clamp(32px, 6vw, 84px);
  align-items: baseline;
  padding-block: 38px;
  border-bottom: 1px solid rgb(24 19 27 / 22%);
}

.snapshot-site.ws-route-packages .ws-recognition-list article > span {
  color: var(--ws-copper);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .14em;
}

.snapshot-site.ws-route-packages .ws-recognition-list article > div {
  display: contents;
}

.snapshot-site.ws-route-packages .ws-recognition-list h3 {
  margin: 0;
  color: var(--ws-packages-ink);
  font-size: clamp(30px, 3vw, 42px) !important;
  line-height: 1.04 !important;
}

.snapshot-site.ws-route-packages .ws-recognition-list p {
  margin: 0;
  color: var(--ws-packages-muted);
  font-size: 16px !important;
  line-height: 1.7 !important;
}

.snapshot-site.ws-route-packages .ws-inclusion-note {
  margin: 42px 0 0;
  padding-left: 20px;
  border-left: 2px solid var(--ws-copper);
  color: var(--ws-packages-ink);
  font-size: 16px !important;
  line-height: 1.65 !important;
}

.snapshot-site.ws-route-packages .ws-packages-film {
  background: var(--ws-aubergine);
  color: #fff;
}

.snapshot-site.ws-route-packages .ws-packages-film-intro {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(20rem, .72fr);
  gap: 28px clamp(48px, 9vw, 132px);
  align-items: end;
  margin-bottom: clamp(62px, 7vw, 94px);
}

.snapshot-site.ws-route-packages .ws-packages-film-intro .ws-eyebrow {
  grid-column: 1 / -1;
  margin-bottom: -4px;
}

.snapshot-site.ws-route-packages .ws-packages-film-intro > p:last-child {
  color: rgb(255 255 255 / 72%);
}

.snapshot-site.ws-route-packages .ws-packages-film .ws-packages-text-link {
  border-bottom-color: rgb(255 255 255 / 42%);
  color: #fff !important;
}

.snapshot-site.ws-route-packages .ws-film-options {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid rgb(255 255 255 / 28%);
  border-bottom: 1px solid rgb(255 255 255 / 28%);
}

.snapshot-site.ws-route-packages .ws-film-options article {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  padding: clamp(38px, 5vw, 68px);
}

.snapshot-site.ws-route-packages .ws-film-options article + article {
  border-left: 1px solid rgb(255 255 255 / 22%);
}

.snapshot-site.ws-route-packages .ws-film-options h3 {
  max-width: 13ch;
  margin: 0 0 26px;
  font-size: clamp(32px, 3.4vw, 46px) !important;
  line-height: 1.02 !important;
}

.snapshot-site.ws-route-packages .ws-film-options article > p:not(.ws-film-label) {
  max-width: 59ch;
  margin: 0 0 18px;
  color: rgb(255 255 255 / 72%);
  font-size: 15px !important;
  line-height: 1.75 !important;
}

.snapshot-site.ws-route-packages .ws-film-options .ws-button {
  margin-top: auto;
}

.snapshot-site.ws-route-packages .ws-film-options article > p + .ws-button,
.snapshot-site.ws-route-packages .ws-film-options article > p + p + .ws-button {
  margin-top: 24px;
}

.snapshot-site.ws-route-packages .ws-packages-faq {
  background: #fff;
}

.snapshot-site.ws-route-packages .ws-packages-faq-heading {
  position: sticky;
  top: calc(var(--header-height, 90px) + 38px);
}

.snapshot-site.ws-route-packages .ws-packages-faq-heading h2 {
  font-size: clamp(42px, 4.6vw, 62px) !important;
}

.snapshot-site.ws-route-packages .ws-packages-faq-list {
  border-top: 1px solid rgb(24 19 27 / 28%);
}

.snapshot-site.ws-route-packages .ws-packages-faq-list details {
  border-bottom: 1px solid rgb(24 19 27 / 22%);
}

.snapshot-site.ws-route-packages .ws-packages-faq-list summary {
  position: relative;
  display: flex;
  min-height: 78px;
  align-items: center;
  padding: 20px 54px 20px 0;
  color: var(--ws-packages-ink);
  cursor: pointer;
  font-family: var(--ws-font-sans) !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1.45 !important;
  list-style: none;
}

.snapshot-site.ws-route-packages .ws-packages-faq-list summary::-webkit-details-marker {
  display: none;
}

.snapshot-site.ws-route-packages .ws-packages-faq-list summary::after {
  position: absolute;
  top: 50%;
  right: 8px;
  width: 28px;
  color: var(--ws-copper);
  content: "+";
  font-family: var(--ws-font-sans);
  font-size: 23px;
  font-weight: 400;
  line-height: 1;
  text-align: center;
  transform: translateY(-50%);
}

.snapshot-site.ws-route-packages .ws-packages-faq-list details[open] summary::after {
  content: "−";
}

.snapshot-site.ws-route-packages .ws-packages-faq-list details > p {
  max-width: 60ch;
  margin: -4px 54px 26px 0;
  color: var(--ws-packages-muted);
  font-size: 15px !important;
  line-height: 1.75 !important;
}

.snapshot-site.ws-route-packages .ws-packages-final {
  border-top: 1px solid rgb(24 19 27 / 14%);
  background: #f2f0ec;
}

.snapshot-site.ws-route-packages .ws-packages-final .ws-packages-actions {
  margin-top: 30px;
}

.snapshot-site.ws-route-packages .ws-packages-final .ws-packages-text-link {
  margin-top: 0;
}

@media (min-width: 1200px) and (max-width: 1599px) {
  .snapshot-site.ws-route-packages .ws-packages-hero {
    grid-template-columns: minmax(0, 45fr) minmax(0, 55fr);
  }

}

@media (max-width: 1199px) {
  .snapshot-site.ws-route-packages .ws-packages-hero {
    min-height: 0;
    grid-template-columns: 1fr;
  }

  .snapshot-site.ws-route-packages .ws-packages-hero-copy {
    min-height: 34rem;
    padding: calc(var(--header-height, 96px) + 40px) clamp(24px, 7vw, 72px) 58px;
  }

  .snapshot-site.ws-route-packages .ws-packages-hero h1 {
    max-width: 14ch;
  }

  .snapshot-site.ws-route-packages .ws-packages-hero-media {
    height: 52svh;
    min-height: 25rem;
    max-height: 38rem;
  }

  .snapshot-site.ws-route-packages .ws-coverage-chapters {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .snapshot-site.ws-route-packages .ws-coverage-chapter:first-child {
    grid-column: 1 / -1;
    border-left: 0;
  }

  .snapshot-site.ws-route-packages .ws-coverage-chapter:first-child > header {
    min-height: auto;
    max-width: 42rem;
    margin-bottom: 34px;
  }

  .snapshot-site.ws-route-packages .ws-coverage-chapter:first-child .ws-coverage-options {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .snapshot-site.ws-route-packages .ws-coverage-chapter:nth-child(2) {
    border-top: 1px solid rgb(24 19 27 / 18%);
    border-left: 0;
  }

  .snapshot-site.ws-route-packages .ws-coverage-chapter:nth-child(3) {
    border-top: 1px solid rgb(24 19 27 / 18%);
  }

  .snapshot-site.ws-route-packages .ws-coverage-chapter:nth-child(3) .ws-coverage-option + .ws-coverage-option {
    padding-left: 34px;
    border-left: 1px solid rgb(24 19 27 / 16%);
  }
}

@media (max-width: 899px) {
  .snapshot-site.ws-route-packages .ws-packages-intro-grid,
  .snapshot-site.ws-route-packages .ws-packages-included-grid,
  .snapshot-site.ws-route-packages .ws-packages-faq-grid,
  .snapshot-site.ws-route-packages .ws-packages-final-grid,
  .snapshot-site.ws-route-packages .ws-packages-section-heading,
  .snapshot-site.ws-route-packages .ws-packages-film-intro {
    grid-template-columns: 1fr;
    gap: 34px;
  }

  .snapshot-site.ws-route-packages .ws-packages-section-heading .ws-eyebrow,
  .snapshot-site.ws-route-packages .ws-packages-film-intro .ws-eyebrow {
    grid-column: auto;
    margin-bottom: -14px;
  }

  .snapshot-site.ws-route-packages .ws-packages-faq-heading {
    position: static;
  }

  .snapshot-site.ws-route-packages .ws-recognition-list article {
    grid-template-columns: 3.5rem minmax(0, 1fr);
    align-items: start;
  }

  .snapshot-site.ws-route-packages .ws-recognition-list article > div {
    display: block;
  }

  .snapshot-site.ws-route-packages .ws-recognition-list p {
    margin-top: 16px;
  }
}

@media (max-width: 719px) {
  .snapshot-site.ws-route-packages .ws-packages-page h2 {
    font-size: clamp(38px, 11vw, 48px) !important;
  }

  .snapshot-site.ws-route-packages .ws-coverage-chapters,
  .snapshot-site.ws-route-packages .ws-film-options {
    grid-template-columns: 1fr;
  }

  .snapshot-site.ws-route-packages .ws-coverage-chapter + .ws-coverage-chapter,
  .snapshot-site.ws-route-packages .ws-film-options article + article {
    border-top: 1px solid rgb(24 19 27 / 18%);
    border-left: 0;
  }

  .snapshot-site.ws-route-packages .ws-film-options article + article {
    border-top-color: rgb(255 255 255 / 22%);
  }

  .snapshot-site.ws-route-packages .ws-coverage-chapter:first-child {
    grid-column: auto;
  }

  .snapshot-site.ws-route-packages .ws-coverage-chapter:first-child .ws-coverage-options {
    grid-template-columns: 1fr;
  }

  .snapshot-site.ws-route-packages .ws-coverage-chapter > header,
  .snapshot-site.ws-route-packages .ws-coverage-chapter:nth-child(3) > header {
    min-height: 0;
    margin-bottom: 34px;
  }

  .snapshot-site.ws-route-packages .ws-coverage-chapter:nth-child(3) .ws-coverage-options {
    display: block;
  }

  .snapshot-site.ws-route-packages .ws-coverage-chapter:nth-child(3) .ws-coverage-option + .ws-coverage-option {
    padding-left: 0;
    border-left: 0;
  }

  .snapshot-site.ws-route-packages .ws-coverage-option {
    min-height: 0;
  }

  .snapshot-site.ws-route-packages .ws-packages-starting-note,
  .snapshot-site.ws-route-packages .ws-packages-included ul,
  .snapshot-site.ws-route-packages .ws-film-options {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 639px) {
  .snapshot-site.ws-route-packages .ws-packages-hero-copy {
    min-height: 0;
    padding: calc(var(--header-height, 96px) + 32px) 24px 50px;
  }

  .snapshot-site.snapshot-site.ws-route-packages .ws-packages-hero h1 {
    font-size: clamp(42px, 12vw, 50px) !important;
  }

  .snapshot-site.ws-route-packages .ws-packages-hero-copy > p:not(.ws-eyebrow) {
    margin-top: 24px;
    font-size: 15px !important;
    line-height: 1.7 !important;
  }

  .snapshot-site.ws-route-packages .ws-packages-actions {
    align-items: flex-start;
    flex-direction: column;
    margin-top: 30px;
  }

  .snapshot-site.ws-route-packages .ws-packages-actions .ws-button {
    width: 100% !important;
  }

  .snapshot-site.ws-route-packages .ws-packages-hero-media {
    height: 50svh;
    min-height: 22rem;
  }

  .snapshot-site.ws-route-packages .ws-packages-intro,
  .snapshot-site.ws-route-packages .ws-packages-coverage,
  .snapshot-site.ws-route-packages .ws-packages-included,
  .snapshot-site.ws-route-packages .ws-packages-recognition,
  .snapshot-site.ws-route-packages .ws-packages-film,
  .snapshot-site.ws-route-packages .ws-packages-faq,
  .snapshot-site.ws-route-packages .ws-packages-final {
    padding-block: 76px;
  }

  .snapshot-site.ws-route-packages .ws-coverage-chapter,
  .snapshot-site.ws-route-packages .ws-film-options article {
    padding: 34px 0;
  }

  .snapshot-site.ws-route-packages .ws-film-options article + article {
    padding-top: 44px;
  }

  .snapshot-site.ws-route-packages .ws-film-options .ws-button {
    width: 100% !important;
    padding-inline: 18px !important;
    white-space: normal;
    text-align: center;
  }

  .snapshot-site.ws-route-packages .ws-recognition-list article {
    grid-template-columns: 2.25rem minmax(0, 1fr);
    gap: 18px;
  }

  .snapshot-site.ws-route-packages .ws-packages-faq-list summary {
    min-height: 72px;
    padding-right: 42px;
    font-size: 15px !important;
  }

  .snapshot-site.ws-route-packages .ws-packages-faq-list details > p {
    margin-right: 0;
  }

  .snapshot-site.ws-route-packages .ws-packages-final .ws-packages-text-link {
    width: auto;
  }
}

/* Contact — an editorial inquiry desk with one clear job: begin a conversation. */
.snapshot-site.ws-route-contact .ws-contact-page {
  --ws-contact-ink: #18131b;
  --ws-contact-muted: #615b62;
  --ws-contact-paper: #f7f5f1;
  --ws-contact-mineral: #efede8;
  overflow: clip;
  background: var(--ws-contact-paper);
  color: var(--ws-contact-ink);
}

.snapshot-site.ws-route-contact .ws-contact-page *,
.snapshot-site.ws-route-contact .ws-contact-page *::before,
.snapshot-site.ws-route-contact .ws-contact-page *::after {
  box-sizing: border-box;
}

.snapshot-site.ws-route-contact .ws-contact-page :where(p, figure, fieldset) {
  margin-top: 0;
}

@media (max-width: 1199px) {
  /* On the contact journey WhatsApp becomes an inline secondary action. It
     remains visible without floating across form fields while the user types. */
  .snapshot-site .ws-whatsapp-float.ws-whatsapp-inline {
    position: static !important;
    z-index: auto !important;
    display: inline-flex !important;
    width: auto !important;
    min-width: 148px !important;
    height: 48px !important;
    margin: 22px 0 0 auto !important;
    padding: 0 18px !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    border-radius: 0 !important;
    background: #087f5b !important;
    box-shadow: none !important;
    font-family: var(--ws-font-sans) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: .1em !important;
    text-transform: uppercase !important;
    transform: none !important;
  }

  .snapshot-site .ws-whatsapp-float.ws-whatsapp-inline::after {
    content: "WhatsApp";
  }

  .snapshot-site .ws-whatsapp-float.ws-whatsapp-inline .ws-whatsapp-icon {
    width: 22px !important;
    height: 22px !important;
  }
}

.snapshot-site.ws-route-contact .ws-contact-inquiry {
  display: grid;
  grid-template-columns: minmax(0, 42fr) minmax(0, 58fr);
  align-items: start;
  background: var(--ws-contact-paper);
}

.snapshot-site.ws-route-contact .ws-contact-media {
  min-width: 0;
  height: 100%;
  margin: 0;
  background: #312934;
}

.snapshot-site.ws-route-contact .ws-contact-media-inner {
  position: relative;
  height: 100svh;
  min-height: 46rem;
  overflow: hidden;
}

.snapshot-site.ws-route-contact .ws-contact-media img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  object-position: 52% center;
}

.snapshot-site.ws-route-contact .ws-contact-media figcaption {
  position: absolute;
  right: 30px;
  bottom: 30px;
  left: 30px;
  width: fit-content;
  max-width: calc(100% - 60px);
  padding: 12px 16px;
  background: rgb(35 25 38 / 88%);
  color: #fff;
  font-family: var(--ws-font-sans) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  letter-spacing: .13em !important;
  text-transform: uppercase;
}

.snapshot-site.ws-route-contact .ws-contact-panel {
  min-width: 0;
  padding: calc(var(--header-height, 96px) + clamp(56px, 6vw, 92px)) clamp(34px, 6.4vw, 104px) clamp(88px, 9vw, 138px);
}

.snapshot-site.ws-route-contact .ws-contact-intro,
.snapshot-site.ws-route-contact .ws-contact-form,
.snapshot-site.ws-route-contact .ws-contact-direct {
  width: min(100%, 48rem);
  margin-inline: auto;
}

.snapshot-site.ws-route-contact .ws-contact-intro h1 {
  max-width: 11ch;
  margin: 20px 0 0;
  color: var(--ws-contact-ink);
  font-family: var(--ws-font-serif) !important;
  font-size: clamp(54px, 5.4vw, 82px) !important;
  font-weight: 400 !important;
  line-height: .96 !important;
  letter-spacing: -.045em !important;
  overflow-wrap: normal;
  word-break: normal;
}

.snapshot-site.ws-route-contact .ws-contact-intro > p:not(.ws-eyebrow, .ws-contact-reply-note) {
  max-width: 42rem;
  margin: 32px 0 0;
  color: var(--ws-contact-muted);
  font-size: 17px !important;
  line-height: 1.76 !important;
}

.snapshot-site.ws-route-contact .ws-contact-reply-note {
  max-width: 39rem;
  margin: 26px 0 0;
  padding-left: 19px;
  border-left: 2px solid var(--ws-copper);
  color: var(--ws-contact-ink);
  font-size: 14px !important;
  font-weight: 650 !important;
  line-height: 1.65 !important;
}

.snapshot-site.ws-route-contact .ws-contact-context {
  display: grid;
  width: min(100%, 48rem);
  grid-template-columns: auto minmax(0, 1fr);
  gap: 18px;
  margin: 46px auto 0;
  padding: 22px 0;
  border-top: 1px solid rgb(24 19 27 / 28%);
  border-bottom: 1px solid rgb(24 19 27 / 28%);
}

.snapshot-site.ws-route-contact .ws-contact-context[hidden] {
  display: none;
}

.snapshot-site.ws-route-contact .ws-contact-context > span {
  color: var(--ws-copper);
  font-size: 22px;
  line-height: 1.2;
}

.snapshot-site.ws-route-contact .ws-contact-context p {
  margin: 0;
  color: var(--ws-contact-ink);
  font-size: 14px !important;
  font-weight: 650 !important;
  line-height: 1.55 !important;
}

.snapshot-site.ws-route-contact .ws-contact-context p + p {
  margin-top: 4px;
  color: var(--ws-contact-muted);
  font-size: 12px !important;
  font-weight: 500 !important;
}

.snapshot-site.ws-route-contact .ws-contact-form {
  margin-top: 62px;
}

.snapshot-site.ws-route-contact .ws-contact-form-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(15rem, .85fr);
  gap: 24px 48px;
  align-items: end;
  padding-bottom: 28px;
  border-bottom: 1px solid rgb(24 19 27 / 30%);
}

.snapshot-site.ws-route-contact .ws-contact-form-heading h2,
.snapshot-site.ws-route-contact .ws-contact-direct h2,
.snapshot-site.ws-route-contact .ws-contact-next h2,
.snapshot-site.ws-route-contact .ws-contact-proof h2 {
  margin: 0;
  color: var(--ws-contact-ink);
  font-family: var(--ws-font-serif) !important;
  font-weight: 400 !important;
  letter-spacing: -.035em !important;
}

.snapshot-site.ws-route-contact .ws-contact-form-heading h2 {
  font-size: clamp(34px, 3.4vw, 48px) !important;
  line-height: 1.03 !important;
}

.snapshot-site.ws-route-contact .ws-contact-form-heading p {
  margin: 0;
  color: var(--ws-contact-muted);
  font-size: 12px !important;
  line-height: 1.65 !important;
}

.snapshot-site.ws-route-contact .ws-contact-delivery-notice {
  margin-top: 26px;
  padding: 18px 20px;
  border-left: 2px solid var(--ws-copper);
  background: #fff;
  color: var(--ws-contact-ink);
  font-family: var(--ws-font-sans) !important;
  font-size: 13px !important;
  line-height: 1.6 !important;
}

.snapshot-site.ws-route-contact .ws-contact-delivery-notice p {
  margin: 5px 0 0;
  color: var(--ws-contact-muted);
  font-size: inherit !important;
  line-height: inherit !important;
}

.snapshot-site.ws-route-contact .ws-contact-field-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 32px 28px;
  margin-top: 38px;
}

.snapshot-site.ws-route-contact .ws-contact-field,
.snapshot-site.ws-route-contact .ws-contact-choice-group {
  min-width: 0;
  font-family: var(--ws-font-sans) !important;
}

.snapshot-site.ws-route-contact .ws-contact-field {
  display: grid;
  align-content: start;
  gap: 9px;
}

.snapshot-site.ws-route-contact .ws-contact-field > span,
.snapshot-site.ws-route-contact .ws-contact-choice-group legend {
  color: var(--ws-contact-ink);
  font-size: 12px !important;
  font-weight: 750 !important;
  line-height: 1.5 !important;
  letter-spacing: .09em !important;
  text-transform: uppercase;
}

.snapshot-site.ws-route-contact .ws-contact-field > span em,
.snapshot-site.ws-route-contact .ws-contact-choice-group legend em {
  margin-left: 6px;
  color: #777077;
  font-size: 12px;
  font-style: normal;
  font-weight: 600;
  letter-spacing: .08em;
}

.snapshot-site.ws-route-contact .ws-contact-field :is(input, select, textarea) {
  width: 100%;
  min-width: 0;
  min-height: 52px;
  margin: 0;
  border: 1px solid rgb(24 19 27 / 32%);
  border-radius: 0;
  background: #fff;
  color: var(--ws-contact-ink);
  box-shadow: none;
  font-family: var(--ws-font-sans) !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  line-height: 1.5 !important;
}

.snapshot-site.ws-route-contact .ws-contact-field :is(input, select) {
  padding: 13px 15px;
}

.snapshot-site.ws-route-contact .ws-contact-field textarea {
  min-height: 10.5rem;
  padding: 16px;
  resize: vertical;
}

.snapshot-site.ws-route-contact .ws-contact-field :is(input, textarea)::placeholder {
  color: #817a80;
  opacity: 1;
}

.snapshot-site.ws-route-contact .ws-contact-field :is(input, select, textarea):focus,
.snapshot-site.ws-route-contact .ws-contact-choice-list input:focus-visible + span {
  border-color: var(--ws-copper);
  outline: 2px solid var(--ws-copper);
  outline-offset: 3px;
}

.snapshot-site.ws-route-contact .ws-contact-field :is(input, select, textarea)[aria-invalid="true"] {
  border-color: #9f332f;
}

.snapshot-site.ws-route-contact .ws-field-help,
.snapshot-site.ws-route-contact .ws-field-error {
  display: block;
  margin: 0;
  font-family: var(--ws-font-sans) !important;
  font-size: 12px !important;
  font-style: normal;
  line-height: 1.55 !important;
}

.snapshot-site.ws-route-contact .ws-field-help {
  color: var(--ws-contact-muted);
}

.snapshot-site.ws-route-contact .ws-field-error {
  min-height: 0;
  color: #8b2925;
  font-weight: 650 !important;
}

.snapshot-site.ws-route-contact .ws-field-error:empty {
  display: none;
}

.snapshot-site.ws-route-contact .ws-contact-choice-group {
  margin: 44px 0 0;
  padding: 0;
  border: 0;
}

.snapshot-site.ws-route-contact .ws-contact-choice-group legend {
  width: 100%;
  padding: 0 0 12px;
}

.snapshot-site.ws-route-contact .ws-contact-choice-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid rgb(24 19 27 / 30%);
  border-left: 1px solid rgb(24 19 27 / 30%);
}

.snapshot-site.ws-route-contact .ws-contact-choice-list label {
  position: relative;
  min-width: 0;
  cursor: pointer;
}

.snapshot-site.ws-route-contact .ws-contact-choice-list input {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  opacity: .001;
}

.snapshot-site.ws-route-contact .ws-contact-choice-list span {
  display: flex;
  min-height: 58px;
  align-items: center;
  padding: 14px 16px 14px 44px;
  border-right: 1px solid rgb(24 19 27 / 30%);
  border-bottom: 1px solid rgb(24 19 27 / 30%);
  background: transparent;
  color: var(--ws-contact-ink);
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
}

.snapshot-site.ws-route-contact .ws-contact-choice-list span::before {
  position: absolute;
  top: 50%;
  left: 17px;
  width: 14px;
  height: 14px;
  border: 1px solid rgb(24 19 27 / 55%);
  border-radius: 50%;
  content: "";
  transform: translateY(-50%);
}

.snapshot-site.ws-route-contact .ws-contact-choice-list input:checked + span {
  background: var(--ws-aubergine);
  color: #fff;
}

.snapshot-site.ws-route-contact .ws-contact-choice-list input:checked + span::before {
  border-color: #fff;
  background: #fff;
  box-shadow: inset 0 0 0 4px var(--ws-aubergine);
}

.snapshot-site.ws-route-contact .ws-contact-choice-group > .ws-field-error {
  margin-top: 9px;
}

.snapshot-site.ws-route-contact .ws-contact-story-field,
.snapshot-site.ws-route-contact .ws-contact-source-field {
  margin-top: 42px;
}

.snapshot-site.ws-route-contact .ws-contact-source-field {
  width: min(100%, 25rem);
}

.snapshot-site.ws-route-contact .ws-contact-honeypot {
  position: absolute !important;
  left: -10000px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}

.snapshot-site.ws-route-contact .ws-contact-submit-row {
  margin-top: 46px;
  padding-top: 32px;
  border-top: 1px solid rgb(24 19 27 / 30%);
}

.snapshot-site.ws-route-contact .ws-contact-submit-row .ws-button {
  min-width: 13rem;
  min-height: 52px;
  border: 0;
}

.snapshot-site.ws-route-contact .ws-contact-submit-row .ws-button:disabled {
  cursor: not-allowed;
  opacity: .48;
}

.snapshot-site.ws-route-contact .ws-contact-status {
  max-width: 42rem;
  margin: 16px 0 0;
  color: var(--ws-contact-muted);
  font-size: 12px !important;
  line-height: 1.6 !important;
}

.snapshot-site.ws-route-contact .ws-contact-status.is-error {
  color: #8b2925;
  font-weight: 650 !important;
}

.snapshot-site.ws-route-contact .ws-contact-privacy {
  max-width: 44rem;
  margin: 24px 0 0;
  color: var(--ws-contact-muted);
  font-size: 12px !important;
  line-height: 1.7 !important;
}

.snapshot-site.ws-route-contact .ws-contact-privacy a,
.snapshot-site.ws-route-contact .ws-contact-direct-link {
  color: currentColor !important;
  text-decoration: none !important;
  border-bottom: 1px solid currentColor;
}

.snapshot-site.ws-route-contact .ws-contact-privacy a:focus-visible,
.snapshot-site.ws-route-contact .ws-contact-direct-link:focus-visible {
  outline: 2px solid var(--ws-copper);
  outline-offset: 4px;
}

.snapshot-site.ws-route-contact .ws-contact-direct {
  margin-top: 58px;
  padding-top: 32px;
  border-top: 1px solid rgb(24 19 27 / 30%);
}

.snapshot-site.ws-route-contact .ws-contact-direct h2 {
  font-size: 34px !important;
  line-height: 1.05 !important;
}

.snapshot-site.ws-route-contact .ws-contact-direct > p {
  margin: 13px 0 0;
  color: var(--ws-contact-muted);
  font-size: 13px !important;
  line-height: 1.65 !important;
}

.snapshot-site.ws-route-contact .ws-contact-direct > div {
  display: flex;
  flex-wrap: wrap;
  gap: 16px 26px;
  align-items: center;
  margin-top: 24px;
}

.snapshot-site.ws-route-contact .ws-button-outline-dark {
  min-height: 52px;
  border: 1px solid rgb(24 19 27 / 55%) !important;
  background: transparent !important;
  color: var(--ws-contact-ink) !important;
}

.snapshot-site.ws-route-contact .ws-button-outline-dark:hover {
  border-color: var(--ws-contact-ink) !important;
  background: rgb(24 19 27 / 5%) !important;
}

.snapshot-site.ws-route-contact .ws-contact-direct-link {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  color: var(--ws-contact-ink) !important;
  font-size: 12px !important;
  font-weight: 750 !important;
  letter-spacing: .1em !important;
}

.snapshot-site.ws-route-contact .ws-contact-next,
.snapshot-site.ws-route-contact .ws-contact-proof {
  padding-block: clamp(88px, 10vw, 148px);
}

.snapshot-site.ws-route-contact .ws-contact-next {
  background: #fff;
}

.snapshot-site.ws-route-contact .ws-contact-next h2 {
  max-width: 14ch;
  margin-top: 18px;
  font-size: clamp(48px, 5.6vw, 76px) !important;
  line-height: .98 !important;
}

.snapshot-site.ws-route-contact .ws-contact-next-list {
  margin-top: clamp(56px, 7vw, 88px);
  border-top: 1px solid rgb(24 19 27 / 30%);
}

.snapshot-site.ws-route-contact .ws-contact-next-list article {
  display: grid;
  grid-template-columns: 5rem minmax(16rem, .8fr) minmax(20rem, 1.2fr);
  gap: 24px clamp(34px, 6vw, 86px);
  align-items: baseline;
  padding-block: 36px;
  border-bottom: 1px solid rgb(24 19 27 / 24%);
}

.snapshot-site.ws-route-contact .ws-contact-next-list article > span {
  color: var(--ws-copper);
  font-size: 12px;
  font-weight: 750;
  letter-spacing: .13em;
}

.snapshot-site.ws-route-contact .ws-contact-next-list article > div {
  display: contents;
}

.snapshot-site.ws-route-contact .ws-contact-next-list h3 {
  margin: 0;
  color: var(--ws-contact-ink);
  font-family: var(--ws-font-serif) !important;
  font-size: clamp(30px, 3vw, 42px) !important;
  font-weight: 400 !important;
  line-height: 1.04 !important;
  letter-spacing: -.025em !important;
}

.snapshot-site.ws-route-contact .ws-contact-next-list p {
  margin: 0;
  color: var(--ws-contact-muted);
  font-size: 15px !important;
  line-height: 1.72 !important;
}

.snapshot-site.ws-route-contact .ws-contact-proof {
  border-top: 1px solid rgb(36 27 43 / 12%);
  background: var(--ws-champagne-stone);
  color: var(--ws-contact-ink);
}

.snapshot-site.ws-route-contact .ws-contact-proof > .ws-editorial-shell {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(18rem, .7fr);
  gap: 48px clamp(58px, 9vw, 136px);
  align-items: end;
}

.snapshot-site.ws-route-contact .ws-contact-proof .ws-eyebrow {
  color: var(--ws-copper-ink);
}

.snapshot-site.ws-route-contact .ws-contact-proof h2 {
  max-width: 13ch;
  margin-top: 18px;
  color: var(--ws-contact-ink);
  font-size: clamp(44px, 5vw, 68px) !important;
  line-height: .99 !important;
}

.snapshot-site.ws-route-contact .ws-contact-proof-list {
  border-top: 1px solid rgb(36 27 43 / 30%);
}

.snapshot-site.ws-route-contact .ws-contact-proof-list p {
  margin: 0;
  padding-block: 22px;
  border-bottom: 1px solid rgb(36 27 43 / 22%);
  color: var(--ws-contact-ink);
  font-size: 15px !important;
  font-weight: 650 !important;
  line-height: 1.5 !important;
}

.snapshot-site.ws-route-contact .ws-contact-inclusion {
  grid-column: 1 / -1;
  max-width: 52rem;
  margin: 8px 0 0;
  padding-left: 20px;
  border-left: 2px solid var(--ws-copper);
  color: rgb(36 27 43 / 72%);
  font-size: 15px !important;
  line-height: 1.7 !important;
}

@media (min-width: 1200px) {
  .snapshot-site.ws-route-contact .ws-contact-media-inner {
    position: sticky;
    top: 0;
  }
}

@media (max-width: 1199px) {
  .snapshot-site.ws-route-contact .ws-contact-inquiry {
    grid-template-columns: 1fr;
  }

  .snapshot-site.ws-route-contact .ws-contact-media {
    display: none;
  }

  .snapshot-site.ws-route-contact .ws-contact-panel {
    order: 1;
    padding-top: calc(var(--header-height, 96px) + 56px);
  }
}

@media (max-width: 899px) {
  .snapshot-site.ws-route-contact .ws-contact-panel {
    padding-inline: clamp(24px, 7vw, 56px);
  }

  .snapshot-site.ws-route-contact .ws-contact-intro h1 {
    max-width: 13ch;
  }

  .snapshot-site.ws-route-contact .ws-contact-form-heading,
  .snapshot-site.ws-route-contact .ws-contact-proof > .ws-editorial-shell {
    grid-template-columns: 1fr;
  }

  .snapshot-site.ws-route-contact .ws-contact-next-list article {
    grid-template-columns: 3rem minmax(0, 1fr);
    align-items: start;
  }

  .snapshot-site.ws-route-contact .ws-contact-next-list article > div {
    display: block;
  }

  .snapshot-site.ws-route-contact .ws-contact-next-list p {
    margin-top: 14px;
  }

  .snapshot-site.ws-route-contact .ws-contact-inclusion {
    grid-column: auto;
  }
}

@media (max-width: 639px) {
  .snapshot-site.ws-route-contact .ws-contact-panel {
    padding: calc(var(--header-height, 82px) + 42px) 22px 76px;
  }

  .snapshot-site.ws-route-contact .ws-contact-intro h1 {
    max-width: 12ch;
    font-size: clamp(44px, 13vw, 54px) !important;
    line-height: .98 !important;
  }

  .snapshot-site.ws-route-contact .ws-contact-intro > p:not(.ws-eyebrow, .ws-contact-reply-note) {
    margin-top: 25px;
    font-size: 15px !important;
  }

  .snapshot-site.ws-route-contact .ws-contact-context {
    margin-top: 36px;
  }

  .snapshot-site.ws-route-contact .ws-contact-form {
    margin-top: 50px;
  }

  .snapshot-site.ws-route-contact .ws-contact-field-grid,
  .snapshot-site.ws-route-contact .ws-contact-choice-list {
    grid-template-columns: 1fr;
  }

  .snapshot-site.ws-route-contact .ws-contact-field-grid {
    gap: 26px;
  }

  .snapshot-site.ws-route-contact .ws-contact-choice-list {
    border-left: 0;
  }

  .snapshot-site.ws-route-contact .ws-contact-choice-list span {
    border-left: 1px solid rgb(24 19 27 / 30%);
  }

  .snapshot-site.ws-route-contact .ws-contact-story-field,
  .snapshot-site.ws-route-contact .ws-contact-source-field {
    margin-top: 36px;
  }

  .snapshot-site.ws-route-contact .ws-contact-submit-row .ws-button,
  .snapshot-site.ws-route-contact .ws-contact-direct .ws-button {
    width: 100% !important;
  }

  .snapshot-site.ws-route-contact .ws-contact-direct > div {
    align-items: flex-start;
    flex-direction: column;
  }

  .snapshot-site.ws-route-contact .ws-contact-next,
  .snapshot-site.ws-route-contact .ws-contact-proof {
    padding-block: 76px;
  }

  .snapshot-site.ws-route-contact .ws-contact-next h2,
  .snapshot-site.ws-route-contact .ws-contact-proof h2 {
    font-size: clamp(40px, 12vw, 50px) !important;
  }

  .snapshot-site.ws-route-contact .ws-contact-next-list article {
    grid-template-columns: 2.25rem minmax(0, 1fr);
    gap: 18px;
  }

  .snapshot-site.ws-route-contact .ws-contact-media-inner {
    height: 48svh;
    min-height: 22rem;
  }

  .snapshot-site.ws-route-contact .ws-contact-media figcaption {
    right: 20px;
    bottom: 20px;
    left: 20px;
    max-width: calc(100% - 40px);
  }
}

/* Packages and Contact use the same editorial type ladder as the Home.
 * The #page hook intentionally matches the global heading specificity so
 * local roles — hero, section, subsection — keep their intended scale. */

/* Shared native footer — Snapshot pages use the exact Footer component from
 * Portfolio. These explicit pixel values neutralize the archived 14px root
 * scale so it keeps the same dimensions as native 16px pages. */
.snapshot-site > footer.focus-dark {
  display: block !important;
  visibility: visible !important;
  width: auto !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  box-sizing: border-box;
  padding: 64px 16px !important;
  background: var(--ws-aubergine) !important;
  color: #fff;
  font-family: var(--ws-font-sans) !important;
  font-size: 16px !important;
  line-height: 24px !important;
}

.snapshot-site > footer.focus-dark .shell {
  width: min(calc(100% - 32px), 1216px);
  margin-inline: auto;
}

.snapshot-site > footer.focus-dark > .shell:first-child {
  display: grid;
  gap: 48px;
  padding-bottom: 56px;
  border-bottom: 1px solid rgb(255 255 255 / 15%);
}

.snapshot-site > footer.focus-dark img {
  display: block;
  width: 256px !important;
  height: auto !important;
  background: transparent !important;
}

.snapshot-site > footer.focus-dark > .shell:first-child > div:first-child p {
  max-width: 384px;
  margin: 20px 0 0;
  color: rgb(255 255 255 / 70%);
  font-size: 14px !important;
  line-height: 28px !important;
}

.snapshot-site > footer.focus-dark nav,
.snapshot-site > footer.focus-dark > .shell:first-child > div:last-child {
  font-size: 14px !important;
  line-height: 32px !important;
}

.snapshot-site > footer.focus-dark .kicker {
  margin: 0 0 12px;
  color: rgb(255 255 255 / 55%);
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 32px !important;
  letter-spacing: 1.92px !important;
  font-family: var(--ws-font-sans) !important;
  text-transform: uppercase;
}

.snapshot-site > footer.focus-dark > .shell:first-child nav a:not(.button-primary),
.snapshot-site > footer.focus-dark > .shell:first-child > div:last-child > a:not(.button-primary) {
  display: flex;
  min-height: 44px;
  align-items: center;
  color: inherit;
  text-decoration: none;
}

.snapshot-site > footer.focus-dark nav a.mt-2 {
  margin-top: 8px;
  color: rgb(255 255 255 / 65%);
}

.snapshot-site > footer.focus-dark .button-primary {
  display: inline-flex;
  min-height: 52px;
  margin-top: 20px;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--ws-copper);
  border-radius: 0;
  background: var(--ws-copper);
  padding: 14.4px 24px;
  color: #fff;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 32px !important;
  letter-spacing: 1.44px !important;
  text-decoration: none;
  text-transform: uppercase;
}

.snapshot-site > footer.focus-dark > .shell:last-child {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-top: 28px;
  color: rgb(255 255 255 / 55%);
  font-size: 12px !important;
  line-height: 16px !important;
}

.snapshot-site > footer.focus-dark > .shell:last-child p {
  margin: 0;
  line-height: 16px !important;
}

.snapshot-site > footer.focus-dark > .shell:last-child nav {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  font-size: 12px !important;
  line-height: 16px !important;
}

.snapshot-site > footer.focus-dark > .shell:last-child a {
  line-height: 16px !important;
}

@media (min-width: 640px) {
  .snapshot-site > footer.focus-dark {
    padding-inline: 24px !important;
  }

  .snapshot-site > footer.focus-dark > .shell:last-child {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
  }
}

@media (min-width: 768px) {
  .snapshot-site > footer.focus-dark > .shell:first-child {
    grid-template-columns: 1.25fr 1fr 1fr;
  }
}

@media (min-width: 1024px) {
  .snapshot-site > footer.focus-dark {
    padding-block: 80px !important;
  }
}

@media (max-width: 639px) {
  .snapshot-site > footer.focus-dark .shell {
    width: min(calc(100% - 24px), 1216px);
  }
}

/* Home FAQ — keep the editorial split balanced while the accordion remains
 * independent. Opening an answer must never resize or recrop the photograph. */
@media (min-width: 768px) {
  .snapshot-site.ws-route-home section[data-section-id="6932b47356e0fc00df2e1d7b"] .fe-block-b1f6571144ce9b48a2df {
    grid-area: 1 / 3 / 21 / 14 !important;
    align-self: start;
    block-size: clamp(855px, calc(1172px - 22vw), 1004px);
  }

  .snapshot-site.ws-route-home section[data-section-id="6932b47356e0fc00df2e1d7b"] .fe-block-b1f6571144ce9b48a2df :is(
    .sqs-block,
    .sqs-block-content,
    .fluid-image-component-root,
    .fluid-image-animation-wrapper,
    .fluid-image-container
  ) {
    height: 100% !important;
  }
}

/* Home guides — one editorial crop for every card, independent of each
 * source image's native aspect ratio. */
.snapshot-site.ws-route-home section[data-section-id="6a077484eed0720f9ee300a5"] .summary-thumbnail-outer-container,
.snapshot-site.ws-route-home section[data-section-id="6a077484eed0720f9ee300a5"] .summary-thumbnail-container {
  width: 100% !important;
  aspect-ratio: 3 / 2 !important;
  overflow: hidden !important;
}

.snapshot-site.ws-route-home section[data-section-id="6a077484eed0720f9ee300a5"] .summary-thumbnail {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  overflow: hidden !important;
}

.snapshot-site.ws-route-home section[data-section-id="6a077484eed0720f9ee300a5"] .summary-thumbnail-image {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  background: transparent !important;
  object-fit: cover !important;
  opacity: 1 !important;
}

.snapshot-site.ws-route-home section[data-section-id="6a077484eed0720f9ee300a5"] .summary-content {
  box-sizing: border-box !important;
  padding-top: 16px !important;
}

.snapshot-site.ws-route-home section[data-section-id="6a077484eed0720f9ee300a5"] .summary-metadata-container--below-content {
  margin-top: 8px !important;
}

@media (max-width: 767px) {
  .snapshot-site.ws-route-home section[data-section-id="6a077484eed0720f9ee300a5"] .summary-content {
    padding-top: 12px !important;
  }
}

/* Destinations — bring the legacy fluid-engine content onto the same
 * Newsreader/Manrope type ladder and action sizing used by Portfolio. */
.snapshot-site.snapshot-site.ws-route-italy-weddings #page section[data-section-id="6a02205e90a76c6a9a0bc9a1"] h1 {
  font-family: var(--ws-font-display) !important;
  font-size: clamp(52px, 6vw, 86px) !important;
  font-weight: 500 !important;
  line-height: .94 !important;
  letter-spacing: -.045em !important;
}

.snapshot-site.ws-route-italy-weddings #block-yui_3_17_2_1_1778524140033_5618 .sqsrte-large {
  font-family: var(--ws-font-sans) !important;
  font-size: 18px !important;
  line-height: 1.65 !important;
  letter-spacing: -.01em !important;
}

.snapshot-site.ws-route-italy-weddings :is(
  #block-yui_3_17_2_1_1778524140033_3371,
  #block-40314667fb4da37a0020,
  #block-18c6cbac77948d119cfe,
  #block-00383fb9e1f69c061114
) .sqsrte-large {
  font-family: var(--ws-font-display) !important;
  font-size: clamp(25px, 2vw, 30px) !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  letter-spacing: -.025em !important;
}

.snapshot-site.ws-route-italy-weddings section[data-section-id="6a02205e90a76c6a9a0bc9a1"] .sqs-html-content p em {
  color: rgb(23 19 26 / 68%) !important;
  font-family: var(--ws-font-sans) !important;
  font-size: 14px !important;
  font-style: normal !important;
  line-height: 1.65 !important;
}

.snapshot-site.snapshot-site.ws-route-italy-weddings section[data-section-id="6a02205e90a76c6a9a0bc9a1"] .sqs-block-button-element {
  display: inline-flex !important;
  box-sizing: border-box !important;
  width: auto !important;
  min-width: 188px !important;
  height: 52px !important;
  min-height: 52px !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid var(--ws-copper) !important;
  border-radius: 0 !important;
  background: var(--ws-copper) !important;
  padding: 14px 24px !important;
  color: #fff !important;
  font-family: var(--ws-font-sans) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
}

.snapshot-site.ws-route-italy-weddings .ws-destination-match-heading h2 {
  font-family: var(--ws-font-display) !important;
  font-size: clamp(42px, 4vw, 58px) !important;
  font-weight: 500 !important;
  line-height: .98 !important;
  letter-spacing: -.035em !important;
}

.snapshot-site.ws-route-italy-weddings .ws-destination-match :where(
  .ws-destination-match-heading p,
  .ws-destination-match-copy p,
  .ws-destination-match-cta p
) {
  font-family: var(--ws-font-sans) !important;
}

.snapshot-site.ws-route-italy-weddings .ws-destination-match-cta a {
  min-height: 52px !important;
  border: 1px solid var(--ws-copper) !important;
  border-radius: 0 !important;
  background: var(--ws-copper) !important;
  padding: 14px 24px !important;
  color: #fff !important;
  font-family: var(--ws-font-sans) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  letter-spacing: .12em !important;
}

/* Destinations cards — replace fluid-engine offsets with an explicit
 * editorial card grid. This keeps every image, title, description and action
 * in one consistent rhythm at 4 / 2 / 1 columns. */
.snapshot-site.ws-route-italy-weddings section[data-section-id="6a02205e90a76c6a9a0bc9a1"] :is(
  #block-yui_3_17_2_1_1778524140033_3371,
  #block-40314667fb4da37a0020,
  #block-18c6cbac77948d119cfe,
  #block-00383fb9e1f69c061114
) .sqsrte-large,
.snapshot-site.ws-route-italy-weddings section[data-section-id="6a02205e90a76c6a9a0bc9a1"] .sqs-html-content p em,
.snapshot-site.ws-route-italy-weddings section[data-section-id="6a02205e90a76c6a9a0bc9a1"] .fe-block:has(> .button-block) {
  translate: none !important;
}

.snapshot-site.ws-route-italy-weddings section[data-section-id="6a02205e90a76c6a9a0bc9a1"] .sqs-html-content p em {
  display: block;
}

.snapshot-site.ws-route-italy-weddings section[data-section-id="6a02205e90a76c6a9a0bc9a1"] :is(
  .fe-block-yui_3_17_2_1_1778524140033_2190,
  .fe-block-116b7474b53e4b0aa83f,
  .fe-block-3b25e00222167529aa16,
  .fe-block-a17578164ce460c8e9b6
) {
  aspect-ratio: 1 / 1.03;
  min-height: 0 !important;
  overflow: hidden;
}

.snapshot-site.ws-route-italy-weddings section[data-section-id="6a02205e90a76c6a9a0bc9a1"] :is(
  .fe-block-yui_3_17_2_1_1778524140033_2190,
  .fe-block-116b7474b53e4b0aa83f,
  .fe-block-3b25e00222167529aa16,
  .fe-block-a17578164ce460c8e9b6
) :is(.sqs-block, .sqs-block-content, .fluid-image-component-root, .fluid-image-animation-wrapper, .fluid-image-container) {
  height: 100% !important;
}

.snapshot-site.ws-route-italy-weddings section[data-section-id="6a02205e90a76c6a9a0bc9a1"] :is(
  .fe-block-yui_3_17_2_1_1778524140033_2190,
  .fe-block-116b7474b53e4b0aa83f,
  .fe-block-3b25e00222167529aa16,
  .fe-block-a17578164ce460c8e9b6
) img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

@media (min-width: 1280px) {
  .snapshot-site.ws-route-italy-weddings section[data-section-id="6a02205e90a76c6a9a0bc9a1"] .fe-6a02205ebdf3d141df1b8a53 {
    box-sizing: border-box;
    width: min(100%, 1500px);
    margin-inline: auto;
    padding-inline: clamp(48px, 4vw, 64px);
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    grid-template-rows: repeat(7, auto) !important;
    column-gap: clamp(32px, 3.2vw, 48px) !important;
    row-gap: 0 !important;
  }

  .snapshot-site.ws-route-italy-weddings section[data-section-id="6a02205e90a76c6a9a0bc9a1"] .fe-block-yui_3_17_2_1_1778524140033_4990 {
    grid-area: 1 / 1 / 2 / -1 !important;
    justify-self: center;
    width: min(100%, 900px);
  }

  .snapshot-site.ws-route-italy-weddings section[data-section-id="6a02205e90a76c6a9a0bc9a1"] .fe-block-yui_3_17_2_1_1778524140033_5618 {
    grid-area: 2 / 1 / 3 / -1 !important;
    justify-self: center;
    width: min(100%, 920px);
    margin-top: 24px;
  }

  .snapshot-site.ws-route-italy-weddings section[data-section-id="6a02205e90a76c6a9a0bc9a1"] :is(
    .fe-block-yui_3_17_2_1_1778524140033_2190,
    .fe-block-116b7474b53e4b0aa83f,
    .fe-block-3b25e00222167529aa16,
    .fe-block-a17578164ce460c8e9b6
  ) {
    grid-row: 3 / 4 !important;
    margin-top: 64px;
  }

  .snapshot-site.ws-route-italy-weddings section[data-section-id="6a02205e90a76c6a9a0bc9a1"] :is(
    .fe-block-yui_3_17_2_1_1778524140033_3371,
    .fe-block-40314667fb4da37a0020,
    .fe-block-18c6cbac77948d119cfe,
    .fe-block-00383fb9e1f69c061114
  ) {
    grid-row: 4 / 5 !important;
    margin-top: 16px;
  }

  .snapshot-site.ws-route-italy-weddings section[data-section-id="6a02205e90a76c6a9a0bc9a1"] :is(
    .fe-block-98061302919d013d46d0,
    .fe-block-94f600b498cd5a8996c8,
    .fe-block-9d2fde51a413aacf5301,
    .fe-block-7e24c5a482f6c10362a5
  ) {
    grid-row: 5 / 6 !important;
    margin-top: 12px;
  }

  .snapshot-site.ws-route-italy-weddings section[data-section-id="6a02205e90a76c6a9a0bc9a1"] :is(
    .fe-block-yui_3_17_2_1_1778524140033_11653,
    .fe-block-904580d1b8063d9380d1,
    .fe-block-2c207f8a9557da2e8c86,
    .fe-block-2e40e528bd8fa75ce333
  ) {
    grid-row: 6 / 7 !important;
    margin-top: 24px;
  }

  .snapshot-site.ws-route-italy-weddings section[data-section-id="6a02205e90a76c6a9a0bc9a1"] :is(
    .fe-block-yui_3_17_2_1_1778524140033_2190,
    .fe-block-yui_3_17_2_1_1778524140033_3371,
    .fe-block-98061302919d013d46d0,
    .fe-block-yui_3_17_2_1_1778524140033_11653
  ) { grid-column: 1 / 2 !important; }

  .snapshot-site.ws-route-italy-weddings section[data-section-id="6a02205e90a76c6a9a0bc9a1"] :is(
    .fe-block-116b7474b53e4b0aa83f,
    .fe-block-40314667fb4da37a0020,
    .fe-block-94f600b498cd5a8996c8,
    .fe-block-904580d1b8063d9380d1
  ) { grid-column: 2 / 3 !important; }

  .snapshot-site.ws-route-italy-weddings section[data-section-id="6a02205e90a76c6a9a0bc9a1"] :is(
    .fe-block-3b25e00222167529aa16,
    .fe-block-18c6cbac77948d119cfe,
    .fe-block-9d2fde51a413aacf5301,
    .fe-block-2c207f8a9557da2e8c86
  ) { grid-column: 3 / 4 !important; }

  .snapshot-site.ws-route-italy-weddings section[data-section-id="6a02205e90a76c6a9a0bc9a1"] :is(
    .fe-block-a17578164ce460c8e9b6,
    .fe-block-00383fb9e1f69c061114,
    .fe-block-7e24c5a482f6c10362a5,
    .fe-block-2e40e528bd8fa75ce333
  ) { grid-column: 4 / 5 !important; }

  .snapshot-site.ws-route-italy-weddings section[data-section-id="6a02205e90a76c6a9a0bc9a1"] .fe-block-yui_3_17_2_1_1778933662199_3661 {
    grid-area: 7 / 1 / 8 / -1 !important;
    margin-top: 96px;
  }
}

@media (min-width: 768px) and (max-width: 1279px) {
  .snapshot-site.ws-route-italy-weddings section[data-section-id="6a02205e90a76c6a9a0bc9a1"] .fe-6a02205ebdf3d141df1b8a53 {
    box-sizing: border-box;
    padding-inline: clamp(24px, 6vw, 64px);
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-template-rows: repeat(11, auto) !important;
    column-gap: clamp(32px, 5vw, 56px) !important;
    row-gap: 0 !important;
  }

  .snapshot-site.ws-route-italy-weddings section[data-section-id="6a02205e90a76c6a9a0bc9a1"] .fe-block-yui_3_17_2_1_1778524140033_4990 {
    grid-area: 1 / 1 / 2 / -1 !important;
    justify-self: center;
    width: min(100%, 820px);
  }

  .snapshot-site.ws-route-italy-weddings section[data-section-id="6a02205e90a76c6a9a0bc9a1"] .fe-block-yui_3_17_2_1_1778524140033_5618 {
    grid-area: 2 / 1 / 3 / -1 !important;
    justify-self: center;
    width: min(100%, 760px);
    margin-top: 24px;
  }

  .snapshot-site.ws-route-italy-weddings section[data-section-id="6a02205e90a76c6a9a0bc9a1"] :is(
    .fe-block-yui_3_17_2_1_1778524140033_2190,
    .fe-block-116b7474b53e4b0aa83f
  ) { grid-row: 3 / 4 !important; margin-top: 64px; }

  .snapshot-site.ws-route-italy-weddings section[data-section-id="6a02205e90a76c6a9a0bc9a1"] :is(
    .fe-block-yui_3_17_2_1_1778524140033_3371,
    .fe-block-40314667fb4da37a0020
  ) { grid-row: 4 / 5 !important; margin-top: 16px; }

  .snapshot-site.ws-route-italy-weddings section[data-section-id="6a02205e90a76c6a9a0bc9a1"] :is(
    .fe-block-98061302919d013d46d0,
    .fe-block-94f600b498cd5a8996c8
  ) { grid-row: 5 / 6 !important; margin-top: 12px; }

  .snapshot-site.ws-route-italy-weddings section[data-section-id="6a02205e90a76c6a9a0bc9a1"] :is(
    .fe-block-yui_3_17_2_1_1778524140033_11653,
    .fe-block-904580d1b8063d9380d1
  ) { grid-row: 6 / 7 !important; margin-top: 24px; }

  .snapshot-site.ws-route-italy-weddings section[data-section-id="6a02205e90a76c6a9a0bc9a1"] :is(
    .fe-block-3b25e00222167529aa16,
    .fe-block-a17578164ce460c8e9b6
  ) { grid-row: 7 / 8 !important; margin-top: 72px; }

  .snapshot-site.ws-route-italy-weddings section[data-section-id="6a02205e90a76c6a9a0bc9a1"] :is(
    .fe-block-18c6cbac77948d119cfe,
    .fe-block-00383fb9e1f69c061114
  ) { grid-row: 8 / 9 !important; margin-top: 16px; }

  .snapshot-site.ws-route-italy-weddings section[data-section-id="6a02205e90a76c6a9a0bc9a1"] :is(
    .fe-block-9d2fde51a413aacf5301,
    .fe-block-7e24c5a482f6c10362a5
  ) { grid-row: 9 / 10 !important; margin-top: 12px; }

  .snapshot-site.ws-route-italy-weddings section[data-section-id="6a02205e90a76c6a9a0bc9a1"] :is(
    .fe-block-2c207f8a9557da2e8c86,
    .fe-block-2e40e528bd8fa75ce333
  ) { grid-row: 10 / 11 !important; margin-top: 24px; }

  .snapshot-site.ws-route-italy-weddings section[data-section-id="6a02205e90a76c6a9a0bc9a1"] :is(
    .fe-block-yui_3_17_2_1_1778524140033_2190,
    .fe-block-yui_3_17_2_1_1778524140033_3371,
    .fe-block-98061302919d013d46d0,
    .fe-block-yui_3_17_2_1_1778524140033_11653,
    .fe-block-3b25e00222167529aa16,
    .fe-block-18c6cbac77948d119cfe,
    .fe-block-9d2fde51a413aacf5301,
    .fe-block-2c207f8a9557da2e8c86
  ) { grid-column: 1 / 2 !important; }

  .snapshot-site.ws-route-italy-weddings section[data-section-id="6a02205e90a76c6a9a0bc9a1"] :is(
    .fe-block-116b7474b53e4b0aa83f,
    .fe-block-40314667fb4da37a0020,
    .fe-block-94f600b498cd5a8996c8,
    .fe-block-904580d1b8063d9380d1,
    .fe-block-a17578164ce460c8e9b6,
    .fe-block-00383fb9e1f69c061114,
    .fe-block-7e24c5a482f6c10362a5,
    .fe-block-2e40e528bd8fa75ce333
  ) { grid-column: 2 / 3 !important; }

  .snapshot-site.ws-route-italy-weddings section[data-section-id="6a02205e90a76c6a9a0bc9a1"] .fe-block-yui_3_17_2_1_1778933662199_3661 {
    grid-area: 11 / 1 / 12 / -1 !important;
    margin-top: 96px;
  }
}

@media (min-width: 768px) and (max-width: 899px) {
  .snapshot-site.ws-route-italy-weddings section[data-section-id="6a02205e90a76c6a9a0bc9a1"] :is(
    .fe-block-98061302919d013d46d0,
    .fe-block-94f600b498cd5a8996c8,
    .fe-block-9d2fde51a413aacf5301,
    .fe-block-7e24c5a482f6c10362a5
  ) .sqs-html-content {
    width: min(100%, 280px);
    margin-inline: auto;
  }
}

@media (max-width: 767px) {
  .snapshot-site.ws-route-italy-weddings section[data-section-id="6a02205e90a76c6a9a0bc9a1"] .fe-6a02205ebdf3d141df1b8a53 {
    display: flex !important;
    flex-direction: column;
    padding-bottom: 0;
  }

  .snapshot-site.ws-route-italy-weddings section[data-section-id="6a02205e90a76c6a9a0bc9a1"] .fe-6a02205ebdf3d141df1b8a53 > .fe-block {
    box-sizing: border-box;
    flex: 0 0 auto;
    min-height: 0 !important;
  }

  .snapshot-site.ws-route-italy-weddings section[data-section-id="6a02205e90a76c6a9a0bc9a1"] :is(
    .fe-block-yui_3_17_2_1_1778524140033_4990,
    .fe-block-yui_3_17_2_1_1778524140033_5618,
    .fe-block-yui_3_17_2_1_1778524140033_3371,
    .fe-block-98061302919d013d46d0,
    .fe-block-yui_3_17_2_1_1778524140033_11653,
    .fe-block-40314667fb4da37a0020,
    .fe-block-94f600b498cd5a8996c8,
    .fe-block-904580d1b8063d9380d1,
    .fe-block-18c6cbac77948d119cfe,
    .fe-block-9d2fde51a413aacf5301,
    .fe-block-2c207f8a9557da2e8c86,
    .fe-block-00383fb9e1f69c061114,
    .fe-block-7e24c5a482f6c10362a5,
    .fe-block-2e40e528bd8fa75ce333,
    .fe-block-yui_3_17_2_1_1778933662199_3661
  ) {
    width: calc(100% - 40px);
    margin-inline: 20px;
  }

  .snapshot-site.ws-route-italy-weddings section[data-section-id="6a02205e90a76c6a9a0bc9a1"] :is(
    .fe-block-yui_3_17_2_1_1778524140033_2190,
    .fe-block-116b7474b53e4b0aa83f,
    .fe-block-3b25e00222167529aa16,
    .fe-block-a17578164ce460c8e9b6
  ) {
    width: 100%;
    margin-inline: 0;
    aspect-ratio: 25 / 24;
  }

  .snapshot-site.ws-route-italy-weddings section[data-section-id="6a02205e90a76c6a9a0bc9a1"] .fe-block-yui_3_17_2_1_1778524140033_4990 { order: 1; }
  .snapshot-site.ws-route-italy-weddings section[data-section-id="6a02205e90a76c6a9a0bc9a1"] .fe-block-yui_3_17_2_1_1778524140033_5618 { order: 2; margin-top: 24px; }

  .snapshot-site.ws-route-italy-weddings section[data-section-id="6a02205e90a76c6a9a0bc9a1"] .fe-block-yui_3_17_2_1_1778524140033_2190 { order: 3; margin-top: 56px; }
  .snapshot-site.ws-route-italy-weddings section[data-section-id="6a02205e90a76c6a9a0bc9a1"] .fe-block-yui_3_17_2_1_1778524140033_3371 { order: 4; margin-top: 16px; }
  .snapshot-site.ws-route-italy-weddings section[data-section-id="6a02205e90a76c6a9a0bc9a1"] .fe-block-98061302919d013d46d0 { order: 5; margin-top: 12px; }
  .snapshot-site.ws-route-italy-weddings section[data-section-id="6a02205e90a76c6a9a0bc9a1"] .fe-block-yui_3_17_2_1_1778524140033_11653 { order: 6; margin-top: 24px; }

  .snapshot-site.ws-route-italy-weddings section[data-section-id="6a02205e90a76c6a9a0bc9a1"] .fe-block-116b7474b53e4b0aa83f { order: 7; margin-top: 64px; }
  .snapshot-site.ws-route-italy-weddings section[data-section-id="6a02205e90a76c6a9a0bc9a1"] .fe-block-40314667fb4da37a0020 { order: 8; margin-top: 16px; }
  .snapshot-site.ws-route-italy-weddings section[data-section-id="6a02205e90a76c6a9a0bc9a1"] .fe-block-94f600b498cd5a8996c8 { order: 9; margin-top: 12px; }
  .snapshot-site.ws-route-italy-weddings section[data-section-id="6a02205e90a76c6a9a0bc9a1"] .fe-block-904580d1b8063d9380d1 { order: 10; margin-top: 24px; }

  .snapshot-site.ws-route-italy-weddings section[data-section-id="6a02205e90a76c6a9a0bc9a1"] .fe-block-3b25e00222167529aa16 { order: 11; margin-top: 64px; }
  .snapshot-site.ws-route-italy-weddings section[data-section-id="6a02205e90a76c6a9a0bc9a1"] .fe-block-18c6cbac77948d119cfe { order: 12; margin-top: 16px; }
  .snapshot-site.ws-route-italy-weddings section[data-section-id="6a02205e90a76c6a9a0bc9a1"] .fe-block-9d2fde51a413aacf5301 { order: 13; margin-top: 12px; }
  .snapshot-site.ws-route-italy-weddings section[data-section-id="6a02205e90a76c6a9a0bc9a1"] .fe-block-2c207f8a9557da2e8c86 { order: 14; margin-top: 24px; }

  .snapshot-site.ws-route-italy-weddings section[data-section-id="6a02205e90a76c6a9a0bc9a1"] .fe-block-a17578164ce460c8e9b6 { order: 15; margin-top: 64px; }
  .snapshot-site.ws-route-italy-weddings section[data-section-id="6a02205e90a76c6a9a0bc9a1"] .fe-block-00383fb9e1f69c061114 { order: 16; margin-top: 16px; }
  .snapshot-site.ws-route-italy-weddings section[data-section-id="6a02205e90a76c6a9a0bc9a1"] .fe-block-7e24c5a482f6c10362a5 { order: 17; margin-top: 12px; }
  .snapshot-site.ws-route-italy-weddings section[data-section-id="6a02205e90a76c6a9a0bc9a1"] .fe-block-2e40e528bd8fa75ce333 { order: 18; margin-top: 24px; }

  .snapshot-site.ws-route-italy-weddings section[data-section-id="6a02205e90a76c6a9a0bc9a1"] .fe-block-yui_3_17_2_1_1778933662199_3661 { order: 19; margin-top: 88px; }
}

@media (max-width: 639px) {
  .snapshot-site.snapshot-site.ws-route-italy-weddings #page section[data-section-id="6a02205e90a76c6a9a0bc9a1"] h1 {
    font-size: clamp(44px, 13vw, 56px) !important;
    line-height: .96 !important;
  }
}

.snapshot-site.snapshot-site.ws-route-packages #page .ws-packages-hero h1 {
  font-size: clamp(48px, 3.7vw, 68px) !important;
  line-height: .96 !important;
  letter-spacing: -.04em !important;
}

.snapshot-site.snapshot-site.ws-route-packages #page.ws-packages-page h2 {
  font-size: clamp(40px, 4vw, 62px) !important;
  line-height: 1 !important;
  letter-spacing: -.034em !important;
}

.snapshot-site.snapshot-site.ws-route-packages #page .ws-packages-faq-heading h2 {
  font-size: clamp(38px, 3.6vw, 54px) !important;
}

.snapshot-site.snapshot-site.ws-route-packages #page .ws-coverage-chapter h3 {
  font-size: clamp(28px, 2.2vw, 36px) !important;
  line-height: 1.06 !important;
}

.snapshot-site.snapshot-site.ws-route-packages #page .ws-recognition-list h3 {
  font-size: clamp(28px, 2.4vw, 38px) !important;
  line-height: 1.06 !important;
}

.snapshot-site.snapshot-site.ws-route-packages #page .ws-film-options h3 {
  font-size: clamp(30px, 2.8vw, 40px) !important;
  line-height: 1.04 !important;
}

.snapshot-site.snapshot-site.ws-route-contact #page .ws-contact-intro h1 {
  font-size: clamp(48px, 4vw, 72px) !important;
  line-height: .96 !important;
  letter-spacing: -.04em !important;
}

.snapshot-site.snapshot-site.ws-route-contact #page .ws-contact-form-heading h2 {
  font-size: clamp(32px, 2.6vw, 44px) !important;
  line-height: 1.04 !important;
}

.snapshot-site.snapshot-site.ws-route-contact #page .ws-contact-direct h2 {
  font-size: 32px !important;
  line-height: 1.06 !important;
}

.snapshot-site.snapshot-site.ws-route-contact #page .ws-contact-next h2 {
  font-size: clamp(44px, 4.2vw, 64px) !important;
  line-height: 1 !important;
}

.snapshot-site.snapshot-site.ws-route-contact #page .ws-contact-proof h2 {
  font-size: clamp(42px, 4vw, 60px) !important;
  line-height: 1.01 !important;
}

.snapshot-site.snapshot-site.ws-route-contact #page .ws-contact-next-list h3 {
  font-size: clamp(28px, 2.4vw, 36px) !important;
  line-height: 1.06 !important;
}

@media (max-width: 639px) {
  .snapshot-site.snapshot-site.ws-route-packages #page .ws-packages-hero h1,
  .snapshot-site.snapshot-site.ws-route-contact #page .ws-contact-intro h1 {
    font-size: clamp(40px, 10.8vw, 48px) !important;
    line-height: .98 !important;
  }

  .snapshot-site.snapshot-site.ws-route-packages #page.ws-packages-page h2 {
    font-size: clamp(34px, 9.5vw, 44px) !important;
    line-height: 1.02 !important;
  }

  .snapshot-site.snapshot-site.ws-route-packages #page .ws-packages-faq-heading h2 {
    font-size: clamp(34px, 9vw, 42px) !important;
  }

  .snapshot-site.snapshot-site.ws-route-packages #page .ws-coverage-chapter h3,
  .snapshot-site.snapshot-site.ws-route-packages #page .ws-recognition-list h3,
  .snapshot-site.snapshot-site.ws-route-packages #page .ws-film-options h3,
  .snapshot-site.snapshot-site.ws-route-contact #page .ws-contact-next-list h3 {
    font-size: clamp(27px, 7.8vw, 33px) !important;
  }

  .snapshot-site.snapshot-site.ws-route-contact #page .ws-contact-form-heading h2 {
    font-size: clamp(30px, 8.5vw, 38px) !important;
  }

  .snapshot-site.snapshot-site.ws-route-contact #page .ws-contact-direct h2 {
    font-size: 30px !important;
  }

  .snapshot-site.snapshot-site.ws-route-contact #page .ws-contact-next h2,
  .snapshot-site.snapshot-site.ws-route-contact #page .ws-contact-proof h2 {
    font-size: clamp(36px, 10vw, 46px) !important;
    line-height: 1.02 !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}

/* Guide hubs are rebuilt into a small editorial introduction and a distinct
   catalogue surface at runtime. This deliberately overrides only the legacy
   page chrome/styles injected by the archived Squarespace snapshots. */
.snapshot-site.ws-guide-hub :is(#header .header-nav-item a, #header .header-menu-nav-item a, footer a) {
  color: inherit !important;
  font-weight: inherit !important;
  text-decoration: none !important;
}

.snapshot-site.ws-guide-hub #header .header-nav-item a[aria-current="page"] {
  color: var(--ws-copper, #a85d39) !important;
}

.snapshot-site.ws-guide-hub .ws-guide-hub-section,
.snapshot-site.ws-guide-hub .ws-guide-hub-section :where(.content-wrapper, .content) {
  min-height: 0 !important;
  height: auto !important;
  padding: 0 !important;
}

.snapshot-site.ws-guide-hub .ws-guide-hub-section .fluid-engine {
  display: block !important;
  width: 100% !important;
  min-height: 0 !important;
  height: auto !important;
}

.snapshot-site.ws-guide-hub .ws-guide-hub-section .section-background,
.snapshot-site.ws-guide-hub .ws-guide-hub-section .section-border,
.snapshot-site.ws-guide-hub .ws-guide-hub-section .section-background-overlay {
  background: var(--ws-paper, #fdfbf7) !important;
}

.snapshot-site.ws-guide-hub :is(.ws-guide-intro, .ws-guide-catalog) {
  position: relative;
  z-index: 1;
  width: 100%;
}

.snapshot-site.ws-guide-hub .ws-guide-intro {
  background: var(--ws-mineral, #f3efe7);
  padding: clamp(6.5rem, 10vw, 9rem) clamp(1.5rem, 6vw, 7rem) clamp(5.5rem, 9vw, 8rem);
}

.snapshot-site.ws-guide-hub .ws-guide-catalog {
  background: var(--ws-paper, #fdfbf7);
  padding: clamp(5rem, 9vw, 8rem) clamp(1.5rem, 6vw, 7rem) clamp(6rem, 10vw, 9rem);
}

.snapshot-site.ws-guide-hub :is(.ws-guide-intro-inner, .ws-guide-catalog-inner) {
  width: min(100%, 78rem);
  margin-inline: auto;
}

.snapshot-site.ws-guide-hub :is(.ws-guide-intro-inner, .ws-guide-catalog-inner) > .fe-block {
  position: static !important;
  z-index: auto !important;
  width: auto !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: none !important;
}

.snapshot-site.ws-guide-hub .ws-guide-intro h1 {
  max-width: 15ch !important;
  margin: 0 auto !important;
  color: var(--ws-night, #181519) !important;
  font-family: var(--ws-font-display, "Newsreader", Georgia, serif) !important;
  font-size: clamp(4rem, 6.2vw, 5.5rem) !important;
  font-weight: 500 !important;
  letter-spacing: -.052em !important;
  line-height: .92 !important;
  text-align: center !important;
}

.snapshot-site.ws-guide-hub .ws-guide-intro p {
  max-width: 46rem !important;
  margin: 1.5rem auto 0 !important;
  color: color-mix(in srgb, var(--ws-night, #181519) 72%, transparent) !important;
  font-family: var(--ws-font-sans, "Manrope", Arial, sans-serif) !important;
  font-size: clamp(1.0625rem, 1.45vw, 1.25rem) !important;
  font-weight: 400 !important;
  letter-spacing: -.018em !important;
  line-height: 1.68 !important;
  text-align: center !important;
}

.snapshot-site.ws-guide-hub .ws-guide-catalog h2 {
  max-width: 15ch !important;
  margin: 0 auto !important;
  color: var(--ws-night, #181519) !important;
  font-family: var(--ws-font-display, "Newsreader", Georgia, serif) !important;
  font-size: clamp(3rem, 4.4vw, 3.75rem) !important;
  font-weight: 500 !important;
  letter-spacing: -.045em !important;
  line-height: .98 !important;
  text-align: center !important;
}

.snapshot-site.ws-guide-hub .ws-guide-catalog h2 + p {
  max-width: 44rem !important;
  margin: 1.15rem auto 3.5rem !important;
  color: color-mix(in srgb, var(--ws-night, #181519) 68%, transparent) !important;
  font-family: var(--ws-font-sans, "Manrope", Arial, sans-serif) !important;
  font-size: clamp(1rem, 1.3vw, 1.125rem) !important;
  line-height: 1.7 !important;
  text-align: center !important;
}

.snapshot-site.ws-guide-hub .summary-block {
  width: 100% !important;
  margin: 0 !important;
}

.snapshot-site.ws-guide-hub .summary-item-list {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: clamp(3.25rem, 6vw, 5rem) clamp(1.5rem, 4vw, 3.5rem) !important;
}

.snapshot-site.ws-guide-hub .summary-item {
  display: flex !important;
  min-width: 0;
  flex-direction: column;
}

.snapshot-site.ws-guide-hub .summary-thumbnail-outer-container,
.snapshot-site.ws-guide-hub .summary-thumbnail-container {
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
}

.snapshot-site.ws-guide-hub .summary-thumbnail {
  display: block !important;
  width: 100% !important;
  aspect-ratio: 4 / 3;
  overflow: hidden;
}

.snapshot-site.ws-guide-hub .summary-thumbnail img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

.snapshot-site.ws-guide-hub .summary-content {
  display: flex !important;
  flex: 1;
  flex-direction: column;
  align-items: flex-start;
  width: 100% !important;
  margin: 1.35rem 0 0 !important;
  padding: 0 !important;
}

.snapshot-site.ws-guide-hub .summary-title-link {
  color: var(--ws-night, #181519) !important;
  font-family: var(--ws-font-display, "Newsreader", Georgia, serif) !important;
  font-size: clamp(1.8rem, 2.5vw, 2.25rem) !important;
  font-weight: 500 !important;
  letter-spacing: -.035em !important;
  line-height: 1.08 !important;
  text-decoration: none !important;
}

.snapshot-site.ws-guide-hub .summary-excerpt {
  margin: .9rem 0 0 !important;
  color: color-mix(in srgb, var(--ws-night, #181519) 68%, transparent) !important;
  font-family: var(--ws-font-sans, "Manrope", Arial, sans-serif) !important;
  font-size: 1rem !important;
  line-height: 1.7 !important;
}

.snapshot-site.ws-guide-hub .summary-read-more-link {
  display: inline-flex !important;
  min-height: 44px !important;
  align-items: center !important;
  margin-top: auto !important;
  padding-top: 1.25rem !important;
  color: var(--ws-night, #181519) !important;
  font-family: var(--ws-font-sans, "Manrope", Arial, sans-serif) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .12em !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
}

.snapshot-site.ws-guide-hub :is(.summary-thumbnail, .summary-title-link, .summary-read-more-link):hover,
.snapshot-site.ws-guide-hub :is(.summary-thumbnail, .summary-title-link, .summary-read-more-link):focus-visible {
  color: var(--ws-copper, #a85d39) !important;
}

@media (min-width: 1024px) {
  .snapshot-site.ws-guide-hub .summary-item-list {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 767px) {
  .snapshot-site.ws-guide-hub .ws-guide-intro {
    padding: 5.75rem 1.5rem 4.75rem;
  }

  .snapshot-site.ws-guide-hub .ws-guide-catalog {
    padding: 4.5rem 1.5rem 5.5rem;
  }

  .snapshot-site.ws-guide-hub .ws-guide-intro h1,
  .snapshot-site.ws-guide-hub .ws-guide-catalog h2,
  .snapshot-site.ws-guide-hub .ws-guide-intro p,
  .snapshot-site.ws-guide-hub .ws-guide-catalog h2 + p {
    max-width: none !important;
    margin-inline: 0 !important;
    text-align: left !important;
  }

  .snapshot-site.ws-guide-hub .ws-guide-intro h1 {
    font-size: clamp(2.7rem, 11vw, 3.25rem) !important;
  }

  .snapshot-site.ws-guide-hub .ws-guide-catalog h2 + p {
    margin-bottom: 2.75rem !important;
  }
}

/* Correct the responsive hierarchy without changing the approved Home or
   Packages compositions. Destination titles keep whole words at every width. */
.snapshot-site.snapshot-site:is(
  .ws-route-wedding-photographer-lake-garda,
  .ws-route-wedding-photographer-lake-como,
  .ws-route-wedding-photographer-trento,
  .ws-route-wedding-photographer-tuscany,
  .ws-route-wedding-photographer-dolomites,
  .ws-route-wedding-photographer-stockholm
) #page h1.ws-hero-title {
  hyphens: none !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}

@media (min-width: 768px) and (max-width: 1279px) {
  .snapshot-site.snapshot-site:is(
    .ws-route-wedding-photographer-lake-garda,
    .ws-route-wedding-photographer-lake-como,
    .ws-route-wedding-photographer-trento,
    .ws-route-wedding-photographer-tuscany,
    .ws-route-wedding-photographer-dolomites,
    .ws-route-wedding-photographer-stockholm
  ) #page h1.ws-hero-title {
    font-size: clamp(2.5rem, 4.8vw, 3.125rem) !important;
    line-height: .96 !important;
    white-space: normal !important;
  }

  .snapshot-site.snapshot-site:is(
    .ws-route-wedding-photographer-lake-garda,
    .ws-route-wedding-photographer-lake-como,
    .ws-route-wedding-photographer-trento,
    .ws-route-wedding-photographer-tuscany,
    .ws-route-wedding-photographer-dolomites,
    .ws-route-wedding-photographer-stockholm
  ) #page h1.ws-hero-title br { display: none; }
}

@media (min-width: 1280px) {
  .snapshot-site.snapshot-site:is(
    .ws-route-wedding-photographer-lake-garda,
    .ws-route-wedding-photographer-lake-como,
    .ws-route-wedding-photographer-trento,
    .ws-route-wedding-photographer-tuscany,
    .ws-route-wedding-photographer-dolomites,
    .ws-route-wedding-photographer-stockholm
  ) #page h1.ws-hero-title {
    font-size: clamp(3.375rem, 4.2vw, 3.75rem) !important;
    line-height: .94 !important;
  }
}

@media (min-width: 768px) {
  .snapshot-site.snapshot-site.ws-route-our-team #page h1 {
    font-size: clamp(4rem, 5.3vw, 5rem) !important;
    line-height: .94 !important;
  }
}

/* The original snapshot adds the fixed-header offset on top of a full-height
   grid. Keep the Home opening scene within one viewport instead. */
@media (min-width: 640px) {
  .snapshot-site.ws-route-home section[data-section-id="6932b47356e0fc00df2e1d71"] {
    height: max(720px, 100svh, 56.25vw) !important;
  }

  .snapshot-site.ws-route-home section[data-section-id="6932b47356e0fc00df2e1d71"] :where(.content-wrapper, .content) {
    min-height: calc(max(720px, 100svh, 56.25vw) - var(--header-height, 0px)) !important;
    height: calc(max(720px, 100svh, 56.25vw) - var(--header-height, 0px)) !important;
  }

  .snapshot-site.ws-route-home .fe-6932b47356e0fc00df2e1d70 {
    min-height: calc(max(720px, 100svh, 56.25vw) - var(--header-height, 0px) - 6rem) !important;
    height: calc(max(720px, 100svh, 56.25vw) - var(--header-height, 0px) - 6rem) !important;
  }
}

.snapshot-site .ws-destination-match-label,
.snapshot-site.ws-guide-hub .ws-cluster-cta-kicker {
  font-size: .75rem !important;
}

/* Home hero — one continuous full-bleed image at every desktop width. The
   previous ambient + sharp-image treatment created a visible vertical seam on
   ultrawide screens and changed the apparent crop as the viewport widened. */
@media (min-width: 768px) {
  .snapshot-site.ws-route-home section[data-section-id="6932b47356e0fc00df2e1d71"] .section-background {
    overflow: hidden;
    background: #241b2b !important;
  }

  .snapshot-site.ws-route-home section[data-section-id="6932b47356e0fc00df2e1d71"] .section-background::before {
    content: none !important;
  }

  .snapshot-site.ws-route-home section[data-section-id="6932b47356e0fc00df2e1d71"] .section-background img {
    position: absolute !important;
    z-index: 1;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    object-fit: cover !important;
    object-position: 50% 18% !important;
    -webkit-mask-image: none !important;
    mask-image: none !important;
  }

  .snapshot-site.ws-route-home section[data-section-id="6932b47356e0fc00df2e1d71"] .section-background-overlay {
    z-index: 2;
  }
}

/* Home FAQ → Guides — remove the double dose of archived section whitespace
   while keeping enough air to separate the two editorial chapters. */
@media (min-width: 1200px) {
  .snapshot-site.ws-route-home section[data-section-id="6932b47356e0fc00df2e1d7b"] .content-wrapper,
  .snapshot-site.ws-route-home section[data-section-id="6a077484eed0720f9ee300a5"] .content-wrapper {
    padding-top: 64px !important;
    padding-bottom: 64px !important;
  }

  .snapshot-site.ws-route-home section[data-section-id="6932b47356e0fc00df2e1d7b"] .content,
  .snapshot-site.ws-route-home section[data-section-id="6a077484eed0720f9ee300a5"] .content {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  .snapshot-site.ws-route-home section[data-section-id="6932b47356e0fc00df2e1d7b"] .fluid-engine {
    height: 860px !important;
    min-height: 860px !important;
  }

  .snapshot-site.ws-route-home section[data-section-id="6932b47356e0fc00df2e1d7b"] .fe-block-b1f6571144ce9b48a2df {
    block-size: 860px !important;
  }
}

/* Guide hubs — retain the approved Mineral/Paper chapter change, but restore
   a left-aligned editorial hierarchy and one predictable card system. */
.snapshot-site.snapshot-site.ws-guide-hub .ws-guide-intro {
  padding: 120px clamp(28px, 7vw, 112px) 92px !important;
}

.snapshot-site.snapshot-site.ws-guide-hub .ws-guide-catalog {
  padding: 96px clamp(28px, 7vw, 112px) 120px !important;
}

.snapshot-site.snapshot-site.ws-guide-hub :is(.ws-guide-intro-inner, .ws-guide-catalog-inner) {
  width: min(100%, 1216px) !important;
  margin-inline: auto !important;
}

.snapshot-site.snapshot-site.ws-guide-hub .ws-guide-intro h1 {
  max-width: 16ch !important;
  margin: 0 auto !important;
  font-family: var(--ws-font-display) !important;
  font-size: clamp(56px, 5.2vw, 76px) !important;
  font-weight: 500 !important;
  line-height: .94 !important;
  letter-spacing: -.048em !important;
  text-align: center !important;
  text-wrap: balance;
}

/* The archived page carries ID-scoped heading declarations with !important.
   Match that scope so the hub hierarchy remains intentional and consistent. */
body.snapshot-site.ws-guide-hub #siteWrapper #page .ws-guide-intro .ws-guide-intro-inner h1 {
  font-size: clamp(56px, 5.2vw, 76px) !important;
  line-height: .94 !important;
}

.snapshot-site.snapshot-site.ws-guide-hub .ws-guide-intro p {
  max-width: 760px !important;
  margin: 24px auto 0 !important;
  font-family: var(--ws-font-sans) !important;
  font-size: 18px !important;
  line-height: 1.68 !important;
  text-align: center !important;
}

.snapshot-site.snapshot-site.ws-guide-hub .ws-guide-catalog h2 {
  max-width: 20ch !important;
  margin: 0 !important;
  font-family: var(--ws-font-display) !important;
  font-size: clamp(46px, 4vw, 58px) !important;
  font-weight: 500 !important;
  line-height: .98 !important;
  letter-spacing: -.042em !important;
  text-align: left !important;
  text-wrap: balance;
}

body.snapshot-site.ws-guide-hub #siteWrapper #page .ws-guide-catalog .ws-guide-catalog-inner h2 {
  font-size: clamp(46px, 4vw, 58px) !important;
  line-height: .98 !important;
}

.snapshot-site.snapshot-site.ws-guide-hub .ws-guide-catalog h2 + p {
  max-width: 760px !important;
  margin: 18px 0 56px !important;
  font-family: var(--ws-font-sans) !important;
  font-size: 17px !important;
  line-height: 1.7 !important;
  text-align: left !important;
}

/* The archived Fluid Engine stores the catalog heading and introduction in
   adjacent blocks, so they are not literal h2 + p siblings. */
body.snapshot-site.ws-guide-hub #siteWrapper #page .ws-guide-catalog-inner > .fe-block:nth-child(2) p {
  max-width: 760px !important;
  margin: 18px 0 56px !important;
  color: rgb(36 27 43 / 68%) !important;
  font-family: var(--ws-font-sans) !important;
  font-size: 17px !important;
  line-height: 1.7 !important;
  text-align: left !important;
}

.snapshot-site.snapshot-site.ws-guide-hub .summary-item-list {
  display: grid !important;
  grid-template-columns: 1fr !important;
  align-items: stretch !important;
  gap: 72px 44px !important;
}

.snapshot-site.snapshot-site.ws-guide-hub .summary-item {
  display: flex !important;
  min-width: 0 !important;
  height: auto !important;
  flex-direction: column !important;
  align-items: stretch !important;
  text-align: left !important;
}

.snapshot-site.snapshot-site.ws-guide-hub .summary-thumbnail-outer-container {
  position: relative !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: 3 / 2 !important;
  overflow: hidden !important;
}

.snapshot-site.snapshot-site.ws-guide-hub .summary-thumbnail-container,
.snapshot-site.snapshot-site.ws-guide-hub .summary-thumbnail {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  aspect-ratio: auto !important;
  overflow: hidden !important;
}

.snapshot-site.snapshot-site.ws-guide-hub .summary-thumbnail-image {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
  object-position: 50% 50% !important;
}

.snapshot-site.snapshot-site.ws-guide-hub .summary-content {
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  width: 100% !important;
  margin: 22px 0 0 !important;
  padding: 0 !important;
  text-align: left !important;
}

.snapshot-site.snapshot-site.ws-guide-hub .summary-title,
.snapshot-site.snapshot-site.ws-guide-hub .summary-title-link {
  width: 100% !important;
  margin: 0 !important;
  color: var(--ws-aubergine) !important;
  font-family: var(--ws-font-display) !important;
  font-size: clamp(29px, 2.4vw, 35px) !important;
  font-weight: 500 !important;
  line-height: 1.06 !important;
  letter-spacing: -.034em !important;
  text-align: left !important;
  text-decoration: none !important;
  text-wrap: balance;
}

.snapshot-site.snapshot-site.ws-guide-hub .summary-excerpt {
  width: 100% !important;
  margin: 14px 0 0 !important;
  color: rgb(36 27 43 / 68%) !important;
  font-family: var(--ws-font-sans) !important;
  font-size: 15px !important;
  line-height: 1.68 !important;
  text-align: left !important;
}

.snapshot-site.snapshot-site.ws-guide-hub .summary-read-more-link {
  align-self: flex-start !important;
  justify-content: flex-start !important;
  margin: auto 0 0 !important;
  padding-top: 22px !important;
  text-align: left !important;
}

.snapshot-site.snapshot-site.ws-guide-hub > footer.focus-dark :is(h2, h3, p, a) {
  text-align: left !important;
}

body.snapshot-site.ws-guide-hub > footer.focus-dark :is(h2, h3) {
  margin: 0 !important;
  color: rgb(255 255 255 / 55%) !important;
  font-family: var(--ws-font-sans) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.5 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
}

body.snapshot-site.ws-guide-hub > footer.focus-dark p {
  color: rgb(255 255 255 / 70%) !important;
  font-family: var(--ws-font-sans) !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
}

body.snapshot-site.ws-guide-hub > footer.focus-dark a {
  color: #fff !important;
  font-family: var(--ws-font-sans) !important;
  font-size: 14px !important;
}

body.snapshot-site.ws-guide-hub > footer.focus-dark .border-t p {
  margin: 0 !important;
  font-size: 12px !important;
}

@media (min-width: 900px) {
  .snapshot-site.snapshot-site.ws-guide-hub .summary-item-list {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 767px) {
  .snapshot-site.snapshot-site.ws-guide-hub .ws-guide-intro {
    padding: 92px 24px 68px !important;
  }

  .snapshot-site.snapshot-site.ws-guide-hub .ws-guide-catalog {
    padding: 68px 24px 88px !important;
  }

  .snapshot-site.snapshot-site.ws-guide-hub .ws-guide-intro h1 {
    font-size: clamp(43px, 11vw, 52px) !important;
  }

  body.snapshot-site.ws-guide-hub #siteWrapper #page .ws-guide-intro .ws-guide-intro-inner h1 {
    font-size: clamp(43px, 11vw, 52px) !important;
  }

  .snapshot-site.snapshot-site.ws-guide-hub .ws-guide-intro p,
  .snapshot-site.snapshot-site.ws-guide-hub .ws-guide-catalog h2 + p {
    font-size: 16px !important;
  }

  .snapshot-site.snapshot-site.ws-guide-hub .summary-item-list {
    gap: 56px !important;
  }
}

@media (min-width: 768px) and (max-width: 1199px) {
  .snapshot-site.ws-route-home section[data-section-id="6932b47356e0fc00df2e1d7b"] .content-wrapper,
  .snapshot-site.ws-route-home section[data-section-id="6a077484eed0720f9ee300a5"] .content-wrapper {
    padding-top: 56px !important;
    padding-bottom: 56px !important;
  }
}

@media (max-width: 767px) {
  .snapshot-site.ws-route-home section[data-section-id="6932b47356e0fc00df2e1d7b"] .content-wrapper,
  .snapshot-site.ws-route-home section[data-section-id="6a077484eed0720f9ee300a5"] .content-wrapper {
    padding-top: 44px !important;
    padding-bottom: 44px !important;
  }
}

/* Lake Garda pilot — an intentionally route-scoped destination experience.
   The other destination pages retain their existing implementation until the
   pilot has been reviewed and approved. */
.snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lake-garda-page {
  --ws-lg-ink: #241b2b;
  --ws-lg-muted: rgb(36 27 43 / 68%);
  --ws-lg-paper: #fffdf8;
  --ws-lg-mineral: #f2eee6;
  --ws-lg-line: rgb(36 27 43 / 18%);
  overflow: clip;
  background: var(--ws-lg-paper);
  color: var(--ws-lg-ink);
  font-family: var(--ws-font-sans);
}

/* The Lake Garda pilot uses the same transparent navigation language as Home,
   so the photograph begins at the very top instead of below a solid bar. */
.snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda #header {
  position: absolute !important;
  z-index: 20 !important;
  top: 0 !important;
  right: 0 !important;
  left: 0 !important;
  background: linear-gradient(180deg, rgb(16 12 18 / 68%) 0%, rgb(16 12 18 / 25%) 64%, transparent 100%) !important;
  box-shadow: none !important;
}

.snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda #header :where(.header-background, .header-menu-bg) {
  background: transparent !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

.snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-shell {
  width: min(calc(100% - 56px), 1216px);
  margin-inline: auto;
}

.snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lake-garda-page :is(h1, h2, h3, p, figure, blockquote) {
  margin-block: 0;
}

.snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lake-garda-page :is(h1, h2, h3) {
  color: inherit;
  font-family: var(--ws-font-display);
  font-weight: 500;
  text-wrap: balance;
}

.snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lake-garda-page h2 {
  font-size: clamp(44px, 3.7vw, 60px) !important;
  line-height: .98 !important;
  letter-spacing: -.045em;
}

.snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lake-garda-page h3 {
  font-size: clamp(26px, 2.2vw, 30px) !important;
  line-height: 1.05;
  letter-spacing: -.03em;
}

.snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lake-garda-page p {
  color: var(--ws-lg-muted);
  font-size: 17px;
  line-height: 1.72;
}

.snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lake-garda-page a {
  color: inherit;
}

.snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lake-garda-page img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
}

.snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lake-garda-page .ws-lg-eyebrow {
  margin-bottom: 22px;
  color: var(--ws-copper);
  font-family: var(--ws-font-sans);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-hero {
  position: relative;
  min-height: max(760px, 100svh);
  overflow: hidden;
  background: var(--ws-aubergine);
  color: #fff;
}

.snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-hero-image,
.snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-hero-overlay {
  position: absolute;
  inset: 0;
}

.snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-hero-image {
  object-position: 58% 50%;
}

.snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-hero-overlay {
  background: linear-gradient(90deg, rgb(28 20 32 / 82%) 0, rgb(28 20 32 / 58%) 38%, rgb(28 20 32 / 13%) 68%, rgb(28 20 32 / 8%) 100%);
}

.snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-hero-inner {
  position: relative;
  z-index: 1;
  display: flex;
  min-height: max(760px, 100svh);
  align-items: flex-end;
  padding-top: calc(var(--header-height, 105px) + 72px);
  padding-bottom: clamp(64px, 6vw, 88px);
}

.snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-hero-copy {
  width: min(680px, 59%);
}

.snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda #page .ws-lg-hero h1 {
  max-width: 11ch;
  color: #fff;
  font-size: clamp(58px, 5vw, 82px) !important;
  line-height: .92 !important;
  letter-spacing: -.055em;
}

.snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-hero-copy > p:not(.ws-lg-eyebrow) {
  max-width: 620px;
  margin-top: 30px;
  color: rgb(255 255 255 / 82%);
  font-size: 18px;
  line-height: 1.65;
}

.snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 18px 28px;
  margin-top: 36px;
}

.snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-button {
  display: inline-flex;
  box-sizing: border-box;
  min-height: 52px;
  align-items: center;
  justify-content: center;
  padding: 15px 24px;
  border: 1px solid transparent;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: .12em;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
}

.snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-button-copper {
  background: var(--ws-copper);
  color: #fff;
}

.snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-button-ghost-light {
  border-color: rgb(255 255 255 / 58%);
  color: #fff;
}

.snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-trust {
  border-bottom: 1px solid var(--ws-lg-line);
  background: var(--ws-lg-mineral);
}

.snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-trust-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}

.snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-trust-grid > p {
  display: grid;
  grid-template-columns: 32px 1fr;
  padding: 30px 32px;
  border-left: 1px solid var(--ws-lg-line);
}

.snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-trust-grid > p:last-child {
  border-right: 1px solid var(--ws-lg-line);
}

.snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-trust-grid span {
  grid-row: span 2;
  color: var(--ws-copper);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .1em;
}

.snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-trust-grid strong {
  color: var(--ws-lg-ink);
  font-size: 14px;
  font-weight: 700;
}

.snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-trust-grid strong a {
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

.snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-trust-grid small {
  margin-top: 5px;
  color: var(--ws-lg-muted);
  font-size: 12px;
  line-height: 1.55;
}

.snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-intro {
  padding: 96px 0;
}

.snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-intro-grid {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, .78fr);
  gap: clamp(64px, 7vw, 104px);
  align-items: start;
  margin-bottom: 64px;
}

.snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-heading-block h2 {
  max-width: 11.5ch;
}

.snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-prose {
  padding-top: 32px;
}

.snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-prose p + p {
  margin-top: 24px;
}

.snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-feature-image {
  width: min(calc(100% - 56px), 1440px);
  height: min(66vw, 840px);
  margin: 0 auto;
}

.snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-feature-image img {
  object-position: center 48%;
}

.snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda.ws-route-wedding-photographer-dolomites .ws-lg-feature-image img {
  object-position: 55% 50%;
}

.snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-gallery-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, .42fr);
  gap: 64px;
  align-items: end;
  margin-top: 96px;
}

.snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-gallery-heading .ws-lg-eyebrow {
  grid-column: 1 / -1;
  margin-bottom: -42px;
}

.snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-gallery-heading h2 {
  max-width: 13ch;
}

.snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-gallery-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  width: min(calc(100% - 56px), 1216px);
  margin: 56px auto 0;
}

.snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-gallery-grid figure {
  aspect-ratio: 3 / 2;
  overflow: hidden;
}

.snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-gallery-grid .ws-lg-gallery-wide {
  grid-column: 1 / -1;
  aspect-ratio: 16 / 9;
}

.snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-gallery-grid .ws-lg-gallery-tall {
  grid-row: auto;
}

.snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-coverage,
.snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-reviews {
  background: var(--ws-aubergine);
  color: #fff;
}

.snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-coverage {
  padding: 96px 0;
}

.snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-section-intro {
  max-width: 800px;
}

.snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-coverage .ws-lg-section-intro h2,
.snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-reviews .ws-lg-section-intro h2 {
  max-width: 16ch;
}

.snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-section-intro > p:last-child {
  max-width: 660px;
  margin-top: 26px;
}

.snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-section-intro-light :is(h2, p) {
  color: #fff;
}

.snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-section-intro-light > p:last-child {
  color: rgb(255 255 255 / 72%);
}

.snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-coverage-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin-top: 72px;
  border-block: 1px solid rgb(255 255 255 / 22%);
}

.snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-coverage-grid article {
  display: flex;
  min-height: 334px;
  flex-direction: column;
  padding: 38px;
  border-left: 1px solid rgb(255 255 255 / 22%);
}

.snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-coverage-grid article:last-child {
  border-right: 1px solid rgb(255 255 255 / 22%);
}

.snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-coverage-grid .ws-lg-number {
  color: var(--ws-copper);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .12em;
}

.snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-coverage-grid h3 {
  margin-top: 46px;
  color: #fff;
}

.snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-coverage-grid h3 + p {
  margin-top: 18px;
  color: rgb(255 255 255 / 68%);
  font-size: 15px;
}

.snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-coverage-grid strong {
  margin-top: auto;
  padding-top: 28px;
  color: #fff;
  font-size: 13px;
}

.snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-coverage-note {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 48px;
  margin-top: 36px;
}

.snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-coverage-note > p {
  max-width: 620px;
  color: rgb(255 255 255 / 68%);
  font-size: 14px;
}

.snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-coverage-note .ws-lg-actions {
  flex: 0 0 auto;
  margin-top: 0;
}

.snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-text-link,
.snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-all-guides {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  gap: 12px;
  border-bottom: 1px solid currentcolor;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .11em;
  text-decoration: none;
  text-transform: uppercase;
}

.snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-coverage .ws-lg-text-link {
  color: #fff;
}

.snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-planning {
  padding: 96px 0;
  background: var(--ws-lg-mineral);
}

.snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-planning-grid {
  display: grid;
  grid-template-columns: minmax(0, .7fr) minmax(0, 1fr);
  gap: 104px;
}

.snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-planning-list article {
  display: grid;
  grid-template-columns: 42px 1fr;
  gap: 14px;
  padding: 30px 0;
  border-top: 1px solid var(--ws-lg-line);
}

.snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-planning-list article:last-child {
  border-bottom: 1px solid var(--ws-lg-line);
}

.snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-planning-list > article > span {
  padding-top: 7px;
  color: var(--ws-copper);
  font-size: 11px;
  font-weight: 700;
}

.snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-planning-list p {
  margin-top: 12px;
  font-size: 15px;
}

.snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-team {
  padding: 96px 0;
}

.snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-team-grid {
  display: grid;
  grid-template-columns: minmax(320px, .78fr) minmax(0, 1fr);
  gap: clamp(64px, 7vw, 100px);
  align-items: center;
}

.snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-team figure {
  height: min(68vw, 720px);
}

.snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-team-copy h2 {
  display: flex;
  width: 100%;
  max-width: 18ch;
  align-items: flex-start;
  flex-direction: column;
  text-align: left;
  text-wrap: initial;
}

.snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-team-copy h2 span {
  display: block;
  width: 100%;
}

.snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-team-copy h2 span:last-child {
  white-space: nowrap;
}

.snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-team-copy > p:not(.ws-lg-eyebrow) {
  max-width: 600px;
  margin-top: 24px;
}

.snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-team-copy .ws-lg-text-link {
  margin-top: 34px;
}

.snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-reviews {
  padding: 96px 0;
}

.snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-reviews .ws-lg-section-intro h2 {
  color: #fff;
}

.snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-review-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1px;
  margin-top: 72px;
  background: rgb(255 255 255 / 22%);
  border: 1px solid rgb(255 255 255 / 22%);
}

.snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-review-grid figure {
  display: flex;
  min-height: 390px;
  flex-direction: column;
  padding: 48px;
  background: var(--ws-aubergine);
}

.snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-review-grid figure:first-child {
  background: rgb(255 255 255 / 4%);
}

.snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda #page .ws-lg-review-grid blockquote {
  color: #fff;
  font-family: var(--ws-font-display);
  font-size: clamp(27px, 1.9vw, 30px) !important;
  font-weight: 400;
  line-height: 1.25 !important;
  letter-spacing: -.025em;
}

.snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-review-grid figcaption {
  margin-top: auto;
  padding-top: 32px;
  color: rgb(255 255 255 / 68%);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-faq {
  padding: 96px 0;
  background: var(--ws-lg-mineral);
}

.snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-faq-grid {
  display: grid;
  grid-template-columns: minmax(300px, .78fr) minmax(0, 1.22fr);
  gap: clamp(56px, 6vw, 84px);
  align-items: start;
}

.snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-faq-heading {
  max-width: 820px;
  margin-bottom: 56px;
}

.snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-faq-grid > figure {
  width: 100%;
  max-width: 560px;
  aspect-ratio: 4 / 5;
  overflow: hidden;
}

.snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda.ws-route-wedding-photographer-dolomites .ws-lg-faq-grid > figure img {
  object-position: 50% 100%;
}

.snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-faq-list {
  border-top: 1px solid var(--ws-lg-line);
}

.snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-faq-list details {
  border-bottom: 1px solid var(--ws-lg-line);
}

.snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-faq-list summary {
  position: relative;
  display: flex;
  min-height: 68px;
  align-items: center;
  padding: 18px 52px 18px 0;
  color: var(--ws-lg-ink);
  cursor: pointer;
  font-size: 16px;
  font-weight: 600;
  list-style: none;
}

.snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-faq-list summary::-webkit-details-marker {
  display: none;
}

.snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-faq-list summary::after {
  position: absolute;
  right: 4px;
  content: "+";
  color: var(--ws-copper);
  font-size: 24px;
  font-weight: 400;
}

.snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-faq-list details[open] summary::after {
  content: "−";
}

.snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-faq-list details p {
  padding: 0 52px 26px 0;
  font-size: 15px;
}

.snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-guides {
  padding: 96px 0;
}

.snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-europe-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, .56fr);
  gap: 80px;
  align-items: end;
}

.snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-europe-heading h2 {
  max-width: 14ch;
}

.snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-guide-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 36px;
  margin-top: 72px;
}

.snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-guide-grid article {
  display: flex;
  min-width: 0;
  flex-direction: column;
}

.snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-guide-grid article > a {
  display: block;
  height: auto;
  aspect-ratio: 3 / 2;
  overflow: hidden;
}

.snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-guide-grid article > div {
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: flex-start;
  padding-top: 26px;
}

.snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-guide-grid h3 a {
  text-decoration: none;
}

.snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-guide-grid h3 + p {
  margin-top: 16px;
  font-size: 15px;
}

.snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-guide-grid .ws-lg-text-link {
  margin-top: auto;
  padding-top: 24px;
}

.snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-all-guides {
  margin-top: 64px;
}

.snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-final {
  padding: 96px 0;
  border-top: 1px solid var(--ws-lg-line);
  background: var(--ws-lg-mineral);
  color: var(--ws-lg-ink);
}

.snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-final-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, .58fr);
  gap: 80px;
  align-items: end;
}

.snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-final h2 {
  max-width: 12ch;
  color: var(--ws-lg-ink);
}

.snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-final-grid > div:last-child p {
  color: var(--ws-lg-muted);
}

.snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-final .ws-button {
  margin-top: 32px;
}

.snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lake-garda-page :is(a, summary):focus-visible {
  outline: 3px solid #d99270;
  outline-offset: 4px;
}

@media (hover: hover) {
  .snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lake-garda-page a {
    transition: color .2s ease, background-color .2s ease, border-color .2s ease;
  }

  .snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-button-copper:hover {
    background: var(--ws-copper-ink);
  }

  .snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-button-ghost-light:hover {
    border-color: #fff;
  }
}

@media (min-width: 768px) and (max-width: 1099px) {
  .snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-intro,
  .snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda :is(.ws-lg-coverage, .ws-lg-planning, .ws-lg-team, .ws-lg-reviews, .ws-lg-faq, .ws-lg-guides, .ws-lg-final) {
    padding-block: 80px;
  }

  .snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lake-garda-page h2 {
    font-size: clamp(40px, 4.7vw, 48px) !important;
  }

  .snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-hero-copy {
    width: min(620px, 72%);
  }

  .snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-intro-grid,
  .snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-planning-grid,
  .snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-team-grid,
  .snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-faq-grid {
    gap: 56px;
  }

  .snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-coverage-grid article {
    padding: 28px;
  }

  .snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-gallery-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-guide-grid {
    gap: 24px;
  }
}

@media (max-width: 767px) {
  .snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-shell {
    width: min(calc(100% - 40px), 620px);
  }

  .snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lake-garda-page h2 {
    font-size: clamp(34px, 10vw, 42px) !important;
  }

  .snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lake-garda-page h3 {
    font-size: 26px !important;
  }

  .snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lake-garda-page p {
    font-size: 16px;
  }

  .snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-hero {
    display: grid;
    min-height: 0;
    grid-template-rows: clamp(360px, 48svh, 460px) auto;
  }

  .snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-hero-image,
  .snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-hero-overlay {
    position: relative;
    grid-area: 1 / 1;
  }

  .snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-hero-image {
    object-position: 61% center;
  }

  .snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-hero-overlay {
    background: linear-gradient(180deg, rgb(28 20 32 / 18%), rgb(28 20 32 / 45%));
  }

  .snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-hero-inner {
    display: block;
    min-height: 0;
    grid-area: 2 / 1;
    padding: 54px 0 64px;
  }

  .snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-hero-copy {
    width: 100%;
  }

  .snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda #page .ws-lg-hero h1 {
    max-width: 10ch;
    font-size: clamp(42px, 12vw, 48px) !important;
    line-height: .94 !important;
  }

  .snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-hero-copy > p:not(.ws-lg-eyebrow) {
    margin-top: 24px;
    font-size: 16px;
  }

  .snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-hero .ws-lg-actions .ws-button,
  .snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-final .ws-button {
    width: 100%;
    max-width: calc(100% - 72px);
  }

  .snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-actions .ws-button {
    width: 100%;
  }

  .snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-trust-grid,
  .snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda :is(.ws-lg-intro-grid, .ws-lg-gallery-heading, .ws-lg-planning-grid, .ws-lg-team-grid, .ws-lg-faq-grid, .ws-lg-europe-heading, .ws-lg-final-grid),
  .snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-coverage-grid,
  .snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-review-grid,
  .snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-guide-grid {
    grid-template-columns: 1fr;
  }

  .snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-trust-grid > p {
    border-right: 1px solid var(--ws-lg-line);
    border-bottom: 1px solid var(--ws-lg-line);
  }

  .snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-trust-grid > p:last-child {
    border-bottom: 0;
  }

  .snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-intro,
  .snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda :is(.ws-lg-coverage, .ws-lg-planning, .ws-lg-team, .ws-lg-reviews, .ws-lg-faq, .ws-lg-guides, .ws-lg-final) {
    padding-block: 64px;
  }

  .snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-prose {
    padding-top: 0;
  }

  .snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-intro-grid,
  .snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda :is(.ws-lg-gallery-heading, .ws-lg-planning-grid, .ws-lg-team-grid, .ws-lg-faq-grid, .ws-lg-europe-heading, .ws-lg-final-grid) {
    gap: 36px;
  }

  .snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-feature-image {
    width: 100%;
    height: 68svh;
    max-height: 620px;
    margin-top: 0;
  }

  .snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda.ws-route-wedding-photographer-dolomites .ws-lg-feature-image img {
    object-position: 56% 52%;
  }

  .snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-gallery-heading {
    margin-top: 72px;
  }

  .snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-gallery-heading .ws-lg-eyebrow {
    grid-column: auto;
    margin-bottom: -14px;
  }

  .snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-gallery-grid {
    grid-template-columns: 1fr;
    gap: 12px;
    width: min(calc(100% - 40px), 620px);
    margin-top: 44px;
  }

  .snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-gallery-grid .ws-lg-gallery-wide {
    grid-column: auto;
  }

  .snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-coverage-grid {
    margin-top: 50px;
  }

  .snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-coverage-grid article {
    min-height: 288px;
    padding: 30px 0;
    border-right: 0;
    border-left: 0;
    border-bottom: 1px solid rgb(255 255 255 / 22%);
  }

  .snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-coverage-grid article:last-child {
    border-right: 0;
    border-bottom: 0;
  }

  .snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-coverage-note {
    align-items: stretch;
    flex-direction: column;
  }

  .snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-coverage-note .ws-lg-actions {
    align-items: flex-start;
  }

  .snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-team figure {
    height: min(128vw, 620px);
  }

  .snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-team-copy h2 span:last-child {
    white-space: normal;
  }

  .snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-faq-heading {
    margin-bottom: 36px;
  }

  .snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-faq-grid > figure {
    max-width: none;
  }

  .snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-review-grid {
    margin-top: 48px;
  }

  .snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-review-grid figure {
    min-height: 330px;
    padding: 34px 28px;
  }

  .snapshot-site.snapshot-site.ws-route-wedding-photographer-lake-garda .ws-lg-guide-grid {
    gap: 56px;
    margin-top: 52px;
  }
}

/* Keep the open mobile navigation readable over hero content. The closed
   header can remain transparent, but the expanded panel needs an opaque
   surface so page text never shows through it. */
@media (max-width: 1279px) {
  html.header-menu-open .snapshot-site.snapshot-site #header .header-menu,
  body.header-menu-open .snapshot-site.snapshot-site #header .header-menu,
  html.header-menu-open .snapshot-site.snapshot-site #header :where(.header-background, .header-menu-bg),
  body.header-menu-open .snapshot-site.snapshot-site #header :where(.header-background, .header-menu-bg) {
    background: var(--ws-aubergine) !important;
    background-color: var(--ws-aubergine) !important;
    opacity: 1 !important;
  }
}

/* Center destination CTAs on mobile without changing desktop alignment. */
@media (max-width: 767px) {
  .snapshot-site.snapshot-site:is(
    .ws-route-wedding-photographer-dolomites,
    .ws-route-wedding-photographer-lake-como,
    .ws-route-wedding-photographer-lake-garda,
    .ws-route-stockholm-wedding-photographer,
    .ws-route-wedding-photographer-trento
  ) .ws-lg-actions {
    align-items: center;
  }

  .snapshot-site.snapshot-site:is(
    .ws-route-wedding-photographer-dolomites,
    .ws-route-wedding-photographer-lake-como,
    .ws-route-wedding-photographer-lake-garda,
    .ws-route-stockholm-wedding-photographer,
    .ws-route-wedding-photographer-trento
  ) .ws-lg-coverage-note .ws-lg-actions {
    align-items: center;
  }

  .snapshot-site.snapshot-site:is(
    .ws-route-wedding-photographer-dolomites,
    .ws-route-wedding-photographer-lake-como,
    .ws-route-wedding-photographer-lake-garda,
    .ws-route-stockholm-wedding-photographer,
    .ws-route-wedding-photographer-trento
  ) .ws-lg-actions .ws-button {
    width: auto;
    max-width: 100%;
    white-space: normal;
  }

  .snapshot-site.snapshot-site:is(
    .ws-route-wedding-photographer-dolomites,
    .ws-route-wedding-photographer-lake-como,
    .ws-route-wedding-photographer-lake-garda,
    .ws-route-stockholm-wedding-photographer,
    .ws-route-wedding-photographer-trento
  ) .ws-lg-final-grid > :last-child {
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .snapshot-site.snapshot-site:is(
    .ws-route-wedding-photographer-dolomites,
    .ws-route-wedding-photographer-lake-como,
    .ws-route-wedding-photographer-lake-garda,
    .ws-route-stockholm-wedding-photographer,
    .ws-route-wedding-photographer-trento
  ) .ws-lg-final-grid > :last-child .ws-button {
    width: auto;
    max-width: 100%;
    white-space: normal;
  }
}
/* Quiet contextual language utility after the primary Contact action. */
.snapshot-site #header :is(.header-actions, .ws-language-switcher, .ws-language-switcher *) {
  pointer-events: auto !important;
}

.snapshot-site #header .header-actions {
  margin-left: 20px !important;
}

.snapshot-site #header .ws-language-switcher {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  z-index: 80;
  color: #fff;
  font-family: var(--ws-font-sans);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .1em;
  line-height: 1;
  white-space: nowrap;
}

.snapshot-site #header .ws-language-current {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
}

.snapshot-site #header .ws-language-separator {
  margin-inline: 7px 4px;
  opacity: .42;
}

.snapshot-site #header .ws-language-switcher a {
  display: inline-flex;
  min-width: 44px;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  color: inherit;
  opacity: .7;
  text-decoration: none;
  transition: opacity 180ms ease, text-decoration-color 180ms ease;
}

.snapshot-site #header .ws-language-switcher a:hover { opacity: 1; text-decoration: underline; text-underline-offset: 6px; }
.snapshot-site #header .ws-language-switcher a:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; opacity: 1; }

@media (max-width: 1279px) {
  body.header-menu-open.snapshot-site .ws-whatsapp-float {
    visibility: hidden !important;
    pointer-events: none !important;
  }

  .snapshot-site #header .ws-language-switcher-item {
    margin-top: 20px !important;
    margin-bottom: 28px !important;
    border-top: 1px solid rgb(255 255 255 / 18%);
    padding-top: 18px !important;
    padding-bottom: env(safe-area-inset-bottom) !important;
  }
}

@media (max-width: 1279px) and (max-height: 820px) {
  .snapshot-site.snapshot-site #header .header-menu-nav-item a {
    min-height: 48px !important;
    margin-block: 6px !important;
    padding-block: 6px !important;
  }
}

@media (max-width: 359px) {
  .snapshot-site.ws-route-packages .ws-packages-film .ws-button {
    height: auto;
    white-space: normal;
    text-align: center;
  }
}

@media (prefers-reduced-motion: reduce) {
  .snapshot-site #header .ws-language-switcher * { transition: none !important; }
}

/* Localized editorial headings keep complete words and the intended rhythm. */
html[lang="it"] body.snapshot-site.snapshot-site.ws-route-home #page .ws-proof-heading h2 {
  font-size: clamp(44px, 4.4vw, 64px) !important;
  hyphens: none !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}

html[lang="sv"] body.snapshot-site.snapshot-site.ws-route-stockholm-wedding-photographer #page .ws-lg-hero h1 {
  max-width: 13ch;
  font-size: clamp(54px, 4.6vw, 76px) !important;
  hyphens: none !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}

@media (max-width: 639px) {
  html[lang="sv"] body.snapshot-site.snapshot-site.ws-route-stockholm-wedding-photographer #page .ws-lg-hero h1 {
    font-size: clamp(48px, 13vw, 52px) !important;
  }
}

@media (min-width: 640px) and (max-width: 1100px) {
  .snapshot-site.snapshot-site.ws-route-home #page a.sqs-block-button-element[href$="/contact"],
  html[lang="it"] body.snapshot-site.snapshot-site.ws-route-home #page a.sqs-block-button-element[href$="/it/contatti"] {
    max-width: 100% !important;
    height: auto !important;
    min-height: 52px !important;
    padding-block: 14px !important;
    white-space: normal !important;
    text-align: center !important;
  }
}

html[lang="en"] body.snapshot-site.snapshot-site.ws-route-stockholm-wedding-photographer #page .ws-lg-heading-block h2 {
  max-width: 13.5ch;
  hyphens: none !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}
