/* Targeted homepage desktop overflow correction.
   Preserve the animated wedding hero and all existing enquiry/data behavior. */
@media (min-width: 1121px) {
  html body .site-header,
  html body .site-header .header-inner {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  html body .site-header .header-inner {
    padding-left: 14px !important;
    padding-right: 14px !important;
    gap: 10px !important;
  }

  html body .site-header .brand {
    flex: 0 1 clamp(220px, 19vw, 270px) !important;
    width: clamp(220px, 19vw, 270px) !important;
    min-width: 0 !important;
    max-width: clamp(220px, 19vw, 270px) !important;
  }

  html body .site-header .brand img,
  html body .site-header .main-logo {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: 64px !important;
  }

  html body .site-header #mainNav {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    gap: clamp(5px, .55vw, 9px) !important;
  }

  html body .site-header #mainNav a {
    font-size: clamp(9px, .68vw, 10px) !important;
    padding-left: 3px !important;
    padding-right: 3px !important;
  }

  html body .site-header #mainNav .nav-cta,
  html body .site-header .header-contact {
    flex: 0 1 auto !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
    white-space: nowrap !important;
  }

  /* Keep the animated hero, but explicitly clip its transformed image slides. */
  html body .hero {
    position: relative;
    overflow: hidden !important;
    contain: paint;
  }

  html body .hero-slides {
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
    contain: paint;
  }

  html body .hero-slide {
    max-width: 100%;
  }

  /* Keep trust content inside its section if its track is wider than the viewport. */
  html body .trust-strip {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }
}


/* The contact CTA must not be constrained to 142px: its phone and Contact label
   are generated by pseudo-elements and need their full intrinsic width. */
@media (min-width: 1121px) {
  html body .site-header .header-contact {
    flex: 0 0 auto !important;
    width: max-content !important;
    min-width: 205px !important;
    max-width: none !important;
    white-space: nowrap !important;
    overflow: visible !important;
  }
}
