:root {
  --_colour---colour--text: #ead7b7;
  --_colour---colour--bg: #1a1412;
  --_colour---colour--surface: #2b0c0e;
  --_colour---colour--primary: #a93610;
  --_colour---colour--secondary: #4f1541;
  --_colour---colour--accent: #b0701f;
  --transparent: var(--_colour---colour--text);

  /* Spacing System - Enforced */
  --space-xs: 8px;
  --space-sm: 16px;
  --space-md: 24px;
  --space-lg: 32px;
  --space-xl: 48px; /** 3rem */
  --space-2xl: 64px; /** 4rem */
  --space-3xl: 96px; /** 6rem */
}

:focus-visible {
  outline: 2px solid var(--_colour---colour--accent);
  outline-offset: 4px;
}

.w-layout-blockcontainer {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  display: block;
  padding-left: var(--space-md);
  padding-right: var(--space-md);
}

.w-layout-grid {
  grid-row-gap: var(--space-md);
  grid-column-gap: var(--space-md);
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  display: grid;
}

.w-layout-hflex {
  flex-direction: row;
  align-items: flex-start;
  display: flex;
}

@media screen and (max-width: 991px) {
  .w-layout-blockcontainer {
    max-width: 728px;
  }
}

@media screen and (max-width: 767px) {
  .w-layout-blockcontainer {
    max-width: none;
  }
}

.div-block {
  background-color: #5f5f5f;
}

@media screen and (max-width: 991px) {
  :root {
    --space-xl: 32px;
    --space-2xl: 48px;
    --space-3xl: 64px;
  }
  
  .w-layout-blockcontainer {
    max-width: 728px;
  }
}

@media screen and (max-width: 767px) {
  :root {
    --space-md: 16px;
    --space-xl: 24px;
    --space-2xl: 32px;
    --space-3xl: 48px;
  }

  .w-layout-blockcontainer {
    max-width: none;
  }
}

.wrap {
  max-width: 1100px;
}

.label {
  color: var(--_colour---colour--text);
  text-align: center;
  min-width: 77px;
  margin-top: 0;
  padding-bottom: 4px;
  font-family:
    Cormorant Garamond,
    sans-serif;
  font-size: 20px;
  font-weight: 300;
  text-decoration: none;
}

.grid {
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
}

.bg {
  background-color: var(--_colour---colour--bg);
  color: #201315;
}

.surface {
  background-color: var(--_colour---colour--surface);
}

.primary {
  background-color: var(--_colour---colour--primary);
}

.secondary {
  background-color: var(--_colour---colour--secondary);
}

.accent {
  background-color: var(--_colour---colour--accent);
}

.text {
  background-color: var(--_colour---colour--text);
  color: var(--_colour---colour--text);
  font-family: Cormorant Garamond, sans-serif;
}

.grid-2 {
  grid-template-rows: auto;
}

.heading-xxl {
  color: var(--_colour---colour--primary);
  text-align: center;
  margin-bottom: -0.6em;
  font-family: Cinzel, sans-serif;
  font-size: 48px;
  font-weight: 700;
  line-height: 1.05em;
}

.heading-xl {
  margin-bottom: 0.5em;
  font-family: Gloock, sans-serif;
  font-size: 4vw;
  font-weight: 400;
  line-height: 1.15em;
}

.body-md {
  color: var(--_colour---colour--text);
  text-align: center;
  min-height: 112px;
  margin-bottom: -15px;
  padding-left: 16px;
  padding-right: 16px;
  font-family: 'Cormorant Garamond', sans-serif !important;
  font-size: 18px;
}

.heading-lg {
  margin-bottom: 0.5em;
  font-family: Gloock, sans-serif;
  font-size: 3vw;
  font-weight: 400;
  line-height: 1.2em;
}

.nav-label {
  margin-bottom: 0.5em;
  font-family: Cormorant Garamond, sans-serif;
  font-size: 12px;
  line-height: 1.2em;
}

.btn--primary {
  border: 1px solid var(--_colour---colour--accent);
  background-color: var(--_colour---colour--primary);
  color: #faf5e6;
  border-radius: 10px;
  flex-flow: column;
  justify-content: flex-start;
  align-items: center;
  max-width: 100%;
  max-height: 20%;
  margin-top: 20px;
  margin-bottom: 20px;
  padding: 14px 40px;
  font-family: 'Cormorant Garamond', sans-serif;
  font-weight: 600;
  display: flex;
  letter-spacing: 0.5px;
}

.btn--primary:hover {
  background-color: var(--_colour---colour--secondary);
}

.flex-block {
  grid-column-gap: 16px;
  grid-row-gap: 16px;
  flex-flow: column;
  justify-content: flex-start;
  align-items: flex-start;
}

.btn--secondary {
  background-color: var(--_colour---colour--secondary);
  color: #faf5e6;
  border-radius: 10px;
  padding: 12px 20px;
  font-family: Cormorant Garamond, sans-serif;
  font-weight: 400;
}

.btn--secondary:hover {
  background-color: var(--_colour---colour--accent);
  filter: brightness(105%);
  color: var(--_colour---colour--secondary);
}

.btn--ghost {
  background-color: var(--_colour---colour--secondary);
  color: #faf5e6;
  border-radius: 10px;
  padding: 12px 20px;
  font-family: Cormorant Garamond, sans-serif;
  font-weight: 400;
}

.btn--ghost:hover {
  background-color: var(--_colour---colour--accent);
  filter: brightness(105%);
  color: var(--_colour---colour--secondary);
}

.btn--ghost1 {
  color: var(--_colour---colour--text);
  background-color: #8c623900;
  border-radius: 10px;
  padding: 12px 20px;
  font-family: Cormorant Garamond, sans-serif;
}

.btn--ghost1:hover {
  opacity: 0.76;
}

.nav {
  border-bottom: 1px solid var(--_colour---colour--text);
  background-color: var(--_colour---colour--bg);
  opacity: 1;
  color: var(--_colour---colour--text);
  padding-top: 16px;
}

.container {
  justify-content: space-between;
  align-items: center;
  max-width: 1200px;
  padding-left: var(--space-md);
  padding-right: var(--space-md);
  display: flex;
}

.nav__row {
  grid-column-gap: 16px;
  grid-row-gap: 16px;
  flex-flow: row;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  justify-content: center;
  align-items: center;
  display: flex;
}

.nav__menu {
  grid-column-gap: 24px;
  grid-row-gap: 24px;
  display: flex;
}

.nav__link.label {
  color: var(--_colour---colour--text);
  justify-content: center;
  align-items: center;
  display: flex;
}

.nav__row {
  justify-content: space-between;
  min-height: 64px;
}

.menu-dropdown-link {
  background-color: var(--_colour---colour--bg);
  color: var(--_colour---colour--text);
  text-align: center;
  height: 44px;
  padding: 12px 8px;
  font-family: Cormorant Garamond, sans-serif;
  font-size: 16px;
  line-height: 44px;
}

.nav__book {
  justify-content: center;
  align-items: flex-start;
  padding: 8px 12px;
  display: flex;
}

.navbar-no-shadow {
  z-index: 1000;
  border-bottom: 2px solid var(--_colour---colour--accent);
  background-color: var(--_colour---colour--bg);
  position: fixed;
  inset: 0% 0% auto;
}

.navbar-no-shadow:hover {
  color: var(--_colour---colour--text);
}

.navbar-no-shadow-container {
  z-index: 1000;
  background-color: var(--_colour---colour--bg);
  color: var(--_colour---colour--text);
  width: 100%;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  padding: 10px 0;
}

.container-regular {
  width: 100%;
  max-width: 1260px;
  min-height: 30px;
  margin-left: auto;
  margin-right: auto;
}

.navbar-wrapper {
  grid-column-gap: 0px;
  grid-row-gap: 0px;
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.nav-menu-wrapper {
  align-self: auto;
  margin-left: auto;
  margin-right: auto;
  padding-left: 0;
}

.nav-menu {
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0;
  padding-bottom: 0;
  padding-left: 0;
  display: flex;
}

.nav-link {
  color: var(--_colour---colour--text);
  letter-spacing: 0.25px;
  margin-left: 5px;
  margin-right: 5px;
  padding: 5px 10px;
  font-family: 'Cinzel', serif;
  font-size: 16px; /* Reduced slightly to match standard */
  line-height: 20px;
  font-weight: 400;
  text-decoration: none;
}

.nav-link:hover {
  color: var(--_colour---colour--accent);
}

.nav-link:focus-visible,
.nav-link[data-wf-focus-visible] {
  outline-offset: 0px;
  color: #0050bd;
  border-radius: 4px;
  outline: 2px solid #0050bd;
}

.nav-link.navbartext {
  font-family: 'Cinzel', serif;
  font-size: 18px;
}

.nav-link.w--current {
  font-family: 'Cinzel', serif;
  font-weight: 400;
  color: var(--_colour---colour--accent);
}

.nav-link.w--current:hover {
  color: var(--_colour---colour--accent);
}

.nav-dropdown {
  margin-left: 5px;
  margin-right: 5px;
}

.nav-dropdown-toggle:hover {
  color: var(--_colour---colour--accent);
}

.nav-dropdown-toggle:focus-visible,
.nav-dropdown-toggle[data-wf-focus-visible] {
  outline-offset: 0px;
  color: #0050bd;
  border-radius: 5px;
  outline: 2px solid #0050bd;
}

.nav-dropdown-icon {
  color: var(--_colour---colour--text);
  margin-right: 10px;
  width: 1em;
  height: 1em;
}

.nav-dropdown-list {
  background-color: #fff;
  border-radius: 12px;
}

.nav-dropdown-list.w--open {
  padding-top: 10px;
  padding-bottom: 10px;
}

.nav-dropdown-list.shadow-three.mobile-shadow-hide.w--open {
  background-color: #1a1412;
}

.nav-dropdown-link {
  color: var(--_colour---colour--text);
  padding-top: 5px;
  padding-bottom: 5px;
  font-family: Cormorant Garamond, sans-serif;
  font-size: 14px;
}

.nav-dropdown-link:hover {
  background-color: var(--_colour---colour--accent);
}

.nav-dropdown-link:focus-visible,
.nav-dropdown-link[data-wf-focus-visible] {
  outline-offset: 0px;
  color: #0050bd;
  border-radius: 5px;
  outline: 2px solid #0050bd;
}

.nav-dropdown-link.w--current {
  background-color: var(--_colour---colour--accent);
  color: var(--transparent);
}

.nav-dropdown-link.w--current:hover {
  background-color: var(--_colour---colour--secondary);
}

.mobile-margin-top-10 {
  align-self: flex-start;
  margin-left: 140px;
  padding-left: 0;
}

.nav-button-wrapper {
  margin-left: auto;
  margin-right: auto;
  padding-left: 0;
}

.button-primary {
  color: #faf5e6;
  letter-spacing: 2px;
  text-transform: uppercase;
  background-color: var(--_colour---colour--primary);
  border: 1px solid var(--_colour---colour--accent);
  padding: 12px 25px;
  font-family: 'Cormorant Garamond', sans-serif;
  font-size: 12px;
  line-height: 20px;
  transition: all 0.2s;
  border-radius: 10px;
}

.button-primary:hover {
  background-color: var(--_colour---colour--secondary);
  color: #faf5e6;
}

.button-primary:active {
  background-color: var(--_colour---colour--accent);
}

.menu-button {
  margin-left: 6px;
}

.navbartext {
  color: var(--_colour---colour--text);
  font-family: 'Cormorant Garamond', sans-serif;
}

.navbartext:hover {
  color: var(--_colour---colour--accent);
}

.text-block-2 {
  color: var(--_colour---colour--text);
  font-family: 'Cormorant Garamond', sans-serif;
}

.footer-dark {
  background-color: #f5f7fa;
  border-bottom: 1px solid #e4ebf3;
  padding: var(--space-xl) var(--space-md) var(--space-sm);
  position: relative;
}

.text-field-3 {
  margin-bottom: 16px;
}
.container-2 {
  width: 100%;
  max-width: 940px;
  margin-left: auto;
  margin-right: auto;
}

.footer-wrapper {
  justify-content: space-between;
  align-items: flex-start;
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
  display: flex;
}

.footer-content {
  grid-column-gap: 70px;
  grid-row-gap: 40px;
  grid-template-rows: auto;
  grid-template-columns: auto auto 1fr;
  grid-auto-columns: 1fr;
  display: grid;
}

.footer-block {
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  display: flex;
}

.title-small {
  letter-spacing: 1px;
  text-transform: uppercase;
  margin-bottom: 12px;
  font-size: 14px;
  font-weight: 700;
  line-height: 16px;
}

.t_card__quote-person {
  margin-top: 16px;
  font-size: 16px;
}

.footer-link {
  color: #1a1b1f;
  margin-top: 12px;
  margin-bottom: 6px;
  font-size: 14px;
  line-height: 16px;
  text-decoration: none;
}

.footer-link:hover {
  color: #1a1b1fbf;
}

.footer-social-block {
  justify-content: flex-start;
  align-items: center;
  margin-top: 12px;
  margin-left: -12px;
  display: flex;
}

.footer-social-link {
  margin-left: 12px;
}

.footer-divider {
  background-color: #e4ebf3;
  width: 100%;
  height: 1px;
  margin-top: 70px;
  margin-bottom: 15px;
}

.footer-copyright-center {
  text-align: center;
  font-size: 14px;
  line-height: 16px;
}

.footer-light {
  border-bottom: 1px solid #e4ebf3;
  padding: var(--space-2xl) var(--space-lg) var(--space-xl);
  position: relative;
}

.container-3 {
  background-color: var(--_colour---colour--bg);
  color: var(--_colour---colour--text);
  width: 100%;
  max-width: 940px;
  margin-left: auto;
  margin-right: auto;
}

.footer-wrapper-three {
  justify-content: space-between;
  align-items: center;
  display: flex;
  padding: 40px 0;
  border-bottom: 2px solid var(--_colour---colour--accent);
}

.footer-wrapper-two {
  justify-content: space-between;
  align-items: flex-start;
  display: flex;
}

.footer-block-two {
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  display: flex;
}

.footer-title {
  font-size: 18px;
  font-weight: 500;
  line-height: 32px;
}

.footer-link-two {
  color: var(--_colour---colour--text);
  margin-top: 20px;
  text-decoration: none;
}

.footer-link-two:hover {
  color: #1a1b1fbf;
}

.footer-form {
  width: 315px;
  max-width: 100%;
  margin-bottom: 0;
}

.footer-form-block {
  justify-content: center;
  align-items: center;
  margin-top: 24px;
  display: flex;
}

.footer-form-field {
  border: 1px solid #a6b1bf;
  border-top-left-radius: 4px;
  border-bottom-left-radius: 4px;
  height: 48px;
  margin-bottom: 0;
  padding: 12px 16px;
  font-size: 14px;
  line-height: 22px;
  transition: all 0.2s;
}

.footer-form-field:hover,
.footer-form-field:focus {
  border-color: #76879d;
}

.footer-form-field::placeholder {
  color: #1a1b1fcc;
  font-size: 14px;
  line-height: 22px;
}

.footer-form-submit {
  background-color: #1a1b1f;
  background-image: url("../images/");
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: auto;
  border-top-right-radius: 4px;
  border-bottom-right-radius: 4px;
  width: 50px;
  height: 48px;
  transition: all 0.2s;
}

.footer-form-submit:hover {
  background-color: #3a4554;
}

.footer-divider-two {
  background-color: var(--_colour---colour--text);
  color: var(--_colour---colour--text);
  width: 100%;
  height: 1px;
  margin-top: 0;
  margin-bottom: 8px;
}

.footer-bottom {
  justify-content: space-between;
  align-items: center;
  width: 100%;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  padding: 24px 20px;
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}

.footer-branding-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 15px;
}

.footer-copyright {
  color: var(--_colour---colour--text);
  padding-left: 20px;
}

.footer-social-block-two {
  justify-content: flex-start;
  align-items: center;
  margin-top: 0;
  margin-left: -12px;
  display: flex;
}

.footer-social-link-2 {
  margin-left: 12px;
}

.mm-footer {
  border-top: 2px solid var(--_colour---colour--accent);
  background-color: #1a1412; /* Solid dark background */
  color: var(--_colour---colour--text);
  max-width: 100%;
  margin-top: var(--space-lg);
  margin-left: auto;
  margin-right: auto;
  padding-top: 40px;
  padding-bottom: 40px;
  font-family: system-ui, -apple-system, sans-serif;
  font-size: 14px;
  line-height: 20px;
}


/* =========================================
   GLOBAL HEADER STANDARDIZATION
   ========================================= */

:root {
  /* Colours */
  --_colour---colour--text: #fdf0d5;
  --_colour---colour--bg: #0d0d0d;
  --_colour---colour--accent: #b0701f;
  
  /* Spacing */
  --space-md: 2rem;
  --space-sm: 1rem;
  --space-xs: 0.5rem;

  /* --- GLOBAL HEADER TOKENS (Strict Consistency) --- */
  
  /* Header Dimensions & Layout */
  --header-height: 90px;
  --header-padding-x: 2rem; /* var(--space-md) */
  --header-border-color: rgba(176, 112, 31, 0.3); /* Subtle accent border */
  
  /* Navigation Typography & Spacing */
  --nav-font-family: 'Cormorant Garamond', serif;
  --nav-font-size: 15px;
  --nav-font-weight: 400;
  --nav-letter-spacing: 0.5px;
  --nav-text-transform: uppercase;
  --nav-gap: 32px; /* Consistent spacing between nav items */
  
  /* Navigation Colors */
  --nav-color: var(--_colour---colour--text);
  --nav-hover-color: var(--_colour---colour--accent);
  --nav-active-color: var(--_colour---colour--accent);

  /* Dropdown Styling */
  --dropdown-bg: #1a1412;
  --dropdown-text-color: var(--_colour---colour--text);
  --dropdown-hover-bg: var(--_colour---colour--accent);
  
  /* CTA Button (Enquire Now) */
  --cta-font-family: 'Cormorant Garamond', serif;
  --cta-font-size: 16px;
  --cta-font-weight: 600;
  --cta-letter-spacing: 1px;
  --cta-text-transform: uppercase;
  
  --cta-padding-x: 32px;
  --cta-padding-y: 14px;
  --cta-radius: 4px;
  
  --cta-border-color: var(--_colour---colour--accent);
  --cta-bg-color: transparent;
  --cta-text-color: var(--_colour---colour--text);
  
  --cta-hover-bg: var(--_colour---colour--accent);
  --cta-hover-text: #1a1412;
}

/* 1. Header Container */
.navbar-no-shadow {
  height: var(--header-height);
  background-color: var(--_colour---colour--bg);
  border-bottom: 1px solid var(--header-border-color);
  display: flex !important;
  align-items: center;
  justify-content: center;
  padding-left: var(--header-padding-x);
  padding-right: var(--header-padding-x);
}

.navbar-no-shadow-container {
  height: 100%;
  width: 100%;
  max-width: 1200px; /* Standardize max-width */
  margin: 0 auto;
  padding: 0;
  display: flex !important;
  align-items: center;
  justify-content: space-between;
}

.container-regular {
  height: 100%;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.navbar-wrapper {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

/* 2. Logo */
.navbar-brand {
  height: 100%;
  display: flex;
  align-items: center;
  padding: 0;
  margin-right: auto;
}

.navbar-brand img {
  max-width: 200px;
  height: auto;
  display: block;
}

/* Desktop-only: smaller logo */
@media screen and (min-width: 992px) {
  .navbar-brand img {
    max-width: 280px !important;
  }
}

.logo-text {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  font-weight: 400;
  font-size: 14px;
  text-transform: uppercase;
  color: #ead7b7;
  letter-spacing: 3px; /* Added spacing to match the "wide" look of the reference image */
  line-height: 1;
  white-space: nowrap;
}

/* 3. Navigation Links Container */
.nav-menu {
  display: flex;
  align-items: center;
  gap: var(--nav-gap);
  margin: 0;
  padding: 0;
  list-style: none; /* Ensure no bullets */
}

/* 4. Nav Links & Dropdown Toggles */
.nav-link, 
.nav-dropdown-toggle,
.navbartext {
  font-family: var(--nav-font-family);
  font-size: var(--nav-font-size);
  font-weight: var(--nav-font-weight);
  letter-spacing: var(--nav-letter-spacing);
  text-transform: var(--nav-text-transform);
  color: var(--nav-color);
  background-color: transparent;
  padding: 0; /* Remove padding to rely on flex gap */
  margin: 0;
  text-decoration: none;
  transition: color 0.2s ease;
  display: flex;
  align-items: center;
  line-height: 1.2;
  cursor: pointer;
}

.nav-link:hover,
.nav-dropdown-toggle:hover .navbartext,
.nav-link.w--current {
  color: var(--nav-hover-color);
}

/* Dropdown Alignment Fixes */
.nav-dropdown {
  display: flex;
  align-items: center;
  margin: 0;
  padding: 0;
  z-index: 900;
}

.nav-dropdown-toggle {
  display: flex;
  align-items: center;
  gap: 6px; /* Space between text and chevron */
  flex-direction: row-reverse; /* Chevron to the right of text */
  padding: 0;
}

.w-icon-dropdown-toggle {
  position: static !important;
  margin: 0 !important;
  font-size: 0.6em; /* Relative size */
  color: var(--nav-color);
  opacity: 0.7;
  transform: none !important;
  display: block;
}

/* Dropdown Menu List */
.nav-dropdown-list {
  background-color: var(--dropdown-bg);
  border: 1px solid var(--_colour---colour--accent);
  border-radius: 4px;
  padding: 10px 0;
  box-shadow: 0 10px 30px rgba(0,0,0,0.5);
  
  /* Positioning Logic */
  position: absolute !important;
  top: 100% !important;
  left: 0;
  margin-top: 15px !important; /* Visual offset */
  z-index: 1000;
  min-width: 180px;
}

.nav-dropdown-list.w--open {
  display: block !important;
}

.nav-dropdown-link {
  font-family: 'Cormorant Garamond', serif;
  font-size: 16px;
  color: var(--dropdown-text-color);
  padding: 10px 20px;
  display: block;
  transition: all 0.2s ease;
  text-decoration: none;
  border: none;
}


/* 5. CTA Button (The "Enquire Now" button) */
.btn--primary-collapsed,
.nav-cta-button {
  font-family: var(--cta-font-family);
  font-size: var(--cta-font-size);
  font-weight: var(--cta-font-weight);
  letter-spacing: var(--cta-letter-spacing);
  text-transform: var(--cta-text-transform);
  color: var(--cta-text-color);
  background-color: var(--cta-bg-color);
  border: 1px solid var(--cta-border-color);
  border-radius: var(--cta-radius);
  padding: var(--cta-padding-y) var(--cta-padding-x);
  transition: all 0.3s ease;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  white-space: nowrap;
  cursor: pointer;
}

.btn--primary-collapsed:hover,
.nav-cta-button:hover {
  background-color: var(--cta-hover-bg);
  color: var(--cta-hover-text);
  border-color: var(--cta-hover-bg);
}

/* Webflow Override for Button Wrapper */
.nav-button-wrapper {
  margin: 0;
  padding: 0;
  display: flex;
}
/* Mobile Alignment Fixes */
@media screen and (max-width: 991px) {
  .nav-menu {
    gap: 0;
  }
}


.w-input, .text-field {
  margin-bottom: var(--space-sm);
  font-family: 'Cormorant Garamond', sans-serif;
  border: 1px solid var(--_colour---colour--accent);
  background-color: var(--_colour---colour--text);
  color: var(--_colour---colour--bg);
  padding: 12px; /* Standardize padding */
  height: auto; /* Allow auto height */
  min-height: 48px; /* Touch target size */
}

.slide-wrap {
  display: flex;
  gap: 0; /* No gaps for seamless loop */
  overflow: hidden; /* Hide overflow for animation */
  width: max-content; /* Full width of all images for proper animation calculation */
  animation: scroll-infinite 150s linear infinite;
}

@keyframes scroll-infinite {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%); /* Scroll half the width for seamless loop */
  }
}

.rotating-image {
  flex-shrink: 0;
  border-radius: 0; /* No border radius for seamless edges */
  margin: 0;
  padding: 0;
  display: block;
}

.footer__brand {
  margin-bottom: var(--space-xl);
}

.footer__brand.w--current {
  margin-bottom: 0;
  margin-left: auto;
  margin-right: auto;
}

.div-block-2 {
  flex-flow: column;
  display: flex;
}

.footer-div {
  flex-flow: column;
  width: 450px;
  margin-left: auto;
  margin-right: auto;
  padding-top: 0;
  display: flex;
}

.footer-subscribe {
  border-bottom: 1px solid #e4ebf3;
  padding: 50px 30px 40px;
  position: relative;
}

.container-4 {
  width: 100%;
  max-width: 940px;
  margin-left: auto;
  margin-right: auto;
}

.footer-form-two {
  background-color: #f5f7fa;
  margin-bottom: 40px;
  padding: 64px;
}

.footer-form-container-two {
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.footer-form-title {
  font-size: 24px;
  line-height: 32px;
}

.footer-form-block-two {
  justify-content: flex-end;
  align-items: center;
  display: flex;
  position: relative;
}

.footer-form-input {
  border: 1px #000;
  width: 460px;
  height: 48px;
  margin-bottom: 0;
  padding: 12px 180px 12px 20px;
}

.footer-form-input::placeholder {
  color: #1a1b1fcc;
}

.button-primary-2 {
  color: #fff;
  letter-spacing: 2px;
  text-transform: uppercase;
  background-color: #1a1b1f;
  padding: 12px 25px;
  font-size: 12px;
  line-height: 20px;
  transition: all 0.2s;
}

.button-primary-2:hover {
  color: #fff;
  background-color: #32343a;
}

.button-primary-2:active {
  background-color: #43464d;
}

.button-primary-2.footer-form-button {
  padding: 8px 18px;
  position: absolute;
  right: 8px;
}

.footer-wrapper-three {
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.footer-block-three {
  justify-content: flex-start;
  align-items: center;
  margin-left: -20px;
  margin-right: -20px;
  display: flex;
}

.footer-link-three {
  color: #1a1b1f;
  margin-left: 20px;
  margin-right: 20px;
  text-decoration: none;
}

.footer-link-three:hover {
  color: #1a1b1fbf;
}

.footer-social-block-three {
  background-color: #ead7b700;
  justify-content: center;
  align-items: center;
  margin-top: auto;
  margin-bottom: auto;
  margin-left: 0;
  display: flex;
}

.footer-social-link-three {
  margin-left: 32px;
}

.footer-legal-block {
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.footer-legal-link {
  color: var(--_colour---colour--text);
  margin-left: 24px;
}

.footer-legal-link:hover {
  color: #3a4554;
}

.section.section-hero {
  min-height: 90px;
  margin-bottom: var(--space-3xl);
}

.hero__overlay {
  background-image: url("../images/Blurb.txt");
  background-position: 0 0;
  background-size: cover;
}

.image {
  min-width: 100%;
  max-height: 20%;
}

.hero__content {
  grid-column-gap: 16px;
  grid-row-gap: 16px;
  background-image: url("../images/hero-1920-1080.svg");
  background-position: 50%;
  background-size: cover;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  width: 100vw;
  height: 100vh;
  margin: 20px auto;
  padding-bottom: 10px;
  display: flex;
}

.heading-lg {
  color: var(--_colour---colour--text);
  text-align: center;
  min-height: 108px;
  margin-top: 21px;
  margin-bottom: 0;
  padding-top: 20px;
  padding-bottom: 12px;
  font-family: 'Cinzel', serif;
  font-size: 30px;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 2px;
}

.container-copy {
  justify-content: space-between;
  align-items: center;
  max-width: 1200px;
  padding-left: 24px;
  padding-right: 24px;
  display: flex;
}

.container {
  grid-column-gap: 24px;
  grid-row-gap: 24px;
  border: 0px solid var(--_colour---colour--accent);
  background-color: #ead7b700;
  border-radius: 0;
  flex-flow: column;
  justify-content: flex-start;
  align-items: center;
  margin-top: 8px;
  padding-top: 10px;
  padding-bottom: 0;
  font-family: 'Cormorant Garamond', sans-serif;
}

.logo {
  max-height: 32px;
}

.media-row {
  grid-column-gap: 24px;
  grid-row-gap: 24px;
  border: 0px solid var(--_colour---colour--accent);
  background-color: #2b0c0e00;
  border-radius: 16px;
  justify-content: center;
  align-items: center;
  margin-top: 0;
  display: flex;
}

.section-section-proof {
  margin-top: 160px;
  margin-bottom: 0;
}

.section-section-proof.section-hero {
  min-height: 90px;
}

.section-section-pillars {
  justify-content: center;
  align-items: flex-start;
  display: block;
  padding-top: var(--space-2xl);
  padding-bottom: var(--space-2xl);
}

.section-section-pillars.section-hero {
  min-height: 90px;
}

.grid-4 {
  grid-template-columns: 1fr 1fr 1fr;
}

.grid-3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-column-gap: 12px;
  grid-row-gap: 12px;
  min-height: 400px;
  max-height: 100px;
  padding-bottom: 0;
}

.grid-3-div {
  min-height: 100px;
  font-family: 'Cormorant Garamond', sans-serif;
}

.section-section-event.section-hero {
  min-height: 90px;
}

.grid-4-events {
  grid-column-gap: 12px;
  grid-row-gap: 12px;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr;
  place-items: center;
  min-height: 100px;
}

.grid-4-service-div {
  border: 0px solid var(--_colour---colour--accent);
  border-radius: 0;
  flex-flow: column;
  min-height: 100px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 0;
  font-family: 'Cormorant Garamond', sans-serif;
  display: flex;
}

.card__media {
  border: 0px solid var(--_colour---colour--accent);
  opacity: 1;
  vertical-align: baseline;
  border-radius: 20px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 0;
  padding-right: 0;
}

.card__body {
  border: 0px solid var(--_colour---colour--accent);
  background-color: var(--_colour---colour--surface);
  text-align: center;
  border-radius: 20px;
  height: 340px;
  min-height: 80px;
  margin-bottom: 0;
}

.card__body_wedding {
  background-color: var(--_colour---colour--surface);
  border: 1px solid var(--_colour---colour--accent);
  border-radius: 20px;
  flex-flow: column;
  justify-content: space-between;
  height: 100%;
  padding: var(--space-xl);
  display: flex;
}

.premium-bordered-box {
  background-color: var(--_colour---colour--surface);
  border: 1px solid var(--_colour---colour--accent);
  border-radius: 20px;
  padding: var(--space-xl);
  margin-bottom: var(--space-xl);
}

.btn-btn--primary-shows {
  background-color: #a93610;
  color: #faf5e6;
  text-align: center;
  border-radius: 10px;
  justify-content: center;
  align-items: center;
  padding: 12px 24px;
  font-family: 'Cinzel', serif;
  font-weight: 400;
  text-decoration: none;
  display: flex;
  transition: background-color .2s;
}

.btn-btn--primary-shows:hover {
  background-color: #c74b21;
}

h1, h2, h3, h4, h5, h6 {
  font-family: 'Cinzel', sans-serif;
}

.section-section-show-tiles {
  border-bottom: 0px solid var(--_colour---colour--accent);
  max-height: 700px;
  padding-top: 0;
}

.section-section-show-tiles.section-hero {
  min-height: 90px;
}

.grid-3-card-services {
  grid-column-gap: 0px;
  grid-row-gap: 0px;
  border: 1px solid var(--_colour---colour--accent);
  background-color: var(--_colour---colour--surface);
  border-radius: 16px;
  flex-flow: column;
  align-items: center;
  height: 680px;
  min-height: 580px;
  margin-top: 4px;
  margin-bottom: 39px;
  font-family: 'Cormorant Garamond', sans-serif;
  display: flex;
}

.show-media {
  border-radius: 16px;
}

.body {
  background-color: var(--_colour---colour--bg);
  background-image: url("../images/damaskBG.jpg");
  background-position: 50%;
  background-repeat: repeat;
  background-size: auto;
  background-attachment: scroll;
}

.section-section-testimonials {
  border-top: 1px solid #000;
  border-radius: 16px;
  padding-top: 0;
  padding-bottom: 0;
}

.section-section-testimonials.section-hero {
  min-height: 90px;
}

.heading {
  color: var(--_colour---colour--text);
}

.t_slider {
  border-bottom: 2px solid var(--_colour---colour--accent);
  border-radius: 0;
  height: 240px;
}

/* Remove padding between carousel slides for seamless continuous loop */
.t_slider .w-slider-mask {
  padding: 0;
  margin: 0;
}

.t_slider .w-slide {
  padding: 0;
  margin: 0;
}

.t_card {
  text-align: center;
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
}

.t_card__mark {
  color: var(--_colour---colour--text);
  text-align: center;
  margin-bottom: 8px;
  font-size: 24px;
}

.t_card__quote {
  background-color: var(--_colour---colour--secondary);
  color: var(--_colour---colour--text);
  max-width: 100%;
  margin: 0;
  padding: 80px 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'Cormorant Garamond', sans-serif;
  font-size: 32px;
  line-height: 32px;
  overflow: hidden;
}

.t_card__avatar {
  border-radius: 56px;
}

.t_card__name {
  color: var(--_colour---colour--text);
  font-family:
    Cormorant Garamond,
    sans-serif;
}

.section-section--about-teaser {
  padding-top: var(--space-3xl);
  padding-bottom: var(--space-3xl);
}

.section-section--about-teaser.section-hero {
  min-height: 90px;
}

.media_frame-media_frame--portrait {
  border: 1px solid #000;
  border-radius: 16px;
}

.heading-heading--h2 {
  color: var(--_colour---colour--text);
  font-family: Gloock, sans-serif;
  font-size: 28px;
}

.checks {
  grid-column-gap: 12px;
  grid-row-gap: 12px;
  flex-flow: column;
  display: flex;
}

.btn_row {
  grid-column-gap: 16px;
  grid-row-gap: 16px;
  background-color: #0000;
  display: flex;
}

.btn-btn--primary {
  border: 1px solid var(--_colour---colour--accent);
  background-color: var(--_colour---colour--primary);
  text-align: center;
  border-radius: 16px;
  margin-right: 20px;
  display: block;
}

.btn-btn--primary:hover {
  background-color: var(--_colour---colour--accent);
}

.btn-btn--ghost {
  background-color: #0000;
}

.grid-5 {
  grid-column-gap: 40px;
  grid-row-gap: 40px;
  grid-template-columns: 1.1fr 1fr;
}

.section-section--primary-cta {
  text-align: left;
  margin: 40px auto 20px;
  padding-top: 0;
  padding-bottom: 0;
  padding-top: var(--space-3xl);
  padding-bottom: var(--space-3xl);
}

.section-section--primary-cta.section-hero {
  min-height: 90px;
}

.cta_strip {
  grid-column-gap: 16px;
  grid-row-gap: 16px;
  background-color: var(--_colour---colour--surface);
  border-radius: 16px;
  grid-template-rows: auto;
  grid-template-columns: 1.2fr;
  grid-auto-columns: 1fr;
  padding: 28px;
  display: grid;
}

.cta_strip__content {
  margin-left: auto;
  margin-right: auto;
}

.heading-heading--h3,
.text-text--muted {
  color: var(--_colour---colour--text);
}

.cta_strip__actions {
  justify-content: center;
  display: flex;
}

.btn-btn--secondary {
  background-color: var(--_colour---colour--secondary);
  border-radius: 16px;
  padding-right: 15px;
}

.btn-btn--secondary:hover {
  background-color: var(--_colour---colour--accent);
}

.section-section--hero {
  background-color: var(--_colour---colour--bg);
  background-image: url("https://d3e54v103j8qbb.cloudfront.net/img/background-image.svg");
  background-position: 0 0;
  background-size: cover;
  justify-content: center;
  align-items: center;
  height: 560px;
  display: flex;
}

.grid-6 {
  grid-column-gap: 40px;
  grid-row-gap: 40px;
  grid-template-rows: auto;
  grid-template-columns: 1.1fr 1fr;
  grid-auto-flow: column;
}

.hero__content {
  width: 52ch;
}

.section-section--quote {
  background-color: var(--_colour---colour--bg);
  padding-top: 72px;
  padding-bottom: 72px;
}

.section-section--narrative {
  background-color: #0000;
  padding-top: 0;
  padding-bottom: var(--space-2xl);
}

.section-section--what {
  background-color: #ead7b700;
  padding-top: var(--space-2xl);
  padding-bottom: var(--space-2xl);
}

.section-section--faqs {
  background-color: #ead7b700;
  padding-top: var(--space-3xl);
  padding-bottom: var(--space-3xl);
}

.section-section--planner {
  background-color: #1a141200;
  padding-top: var(--space-3xl);
  padding-bottom: var(--space-3xl);
}

.hero_sub_subtext {
  color: var(--_colour---colour--text);
  text-align: center;
  margin-bottom: 20px;
  padding-top: 0;
  font-family:
    Cormorant Garamond,
    sans-serif;
  font-size: 24px;
}

.hero_subpage_header {
  color: var(--_colour---colour--text);
  text-align: center;
  min-width: 100%;
  height: 100px;
  font-family: 'Cormorant Garamond', sans-serif;
  font-size: 56px;
  line-height: 52px;
}

.t_car {
  background-color: var(--_colour---colour--surface);
  border: 1px solid #faf5e603;
  border-radius: 12px;
  padding: 36px 28px;
}

.blockquote-t_card__quote {
  color: var(--_colour---colour--text);
  text-align: left;
  height: 1.6vh;
  margin-bottom: 20px;
  font-family:
    Cormorant Garamond,
    sans-serif;
}

.t_card__person {
  grid-column-gap: 12px;
  grid-row-gap: 12px;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  display: flex;
}

.t_card__name-copy {
  color: var(--_colour---colour--text);
  font-family:
    Cormorant Garamond,
    sans-serif;
}

.a-btn-btn--primary {
  background-color: var(--_colour---colour--primary);
  border-radius: 0;
  font-family: Gloock, sans-serif;
}

.a-btn-btn--secondary {
  background-color: var(--_colour---colour--accent);
  font-family: Gloock, sans-serif;
}

.heading--h3 {
  color: var(--_colour---colour--text);
  font-family: Gloock, sans-serif;
}

.text--muted {
  filter: brightness(80%);
  color: var(--_colour---colour--text);
}

.general-container {
  border-style: solid;
  border-width: 2px 0;
  border-color: var(--_colour---colour--accent);
  background-color: var(--_colour---colour--surface);
  border-radius: 0;
  max-width: 1200px;
  grid-column-gap: 24px;
  grid-row-gap: 24px;
  flex-flow: column;
  justify-content: center;
  margin-top: 0;
  margin-left: auto;
  margin-right: auto;
  padding: 24px var(--space-md); /* Further reduced for tighter spacing */
}

.narrative_grid {
  grid-template-rows: auto;
  grid-template-columns: 1.1fr 1fr;
}

.narrative-copy {
  color: var(--_colour---colour--text);
  font-family:
    Cormorant Garamond,
    sans-serif;
  font-size: 20px;
  padding-left: var(--space-xl); /* Prevent overlap with decorative borders */
  position: relative;
  z-index: 1;
}

.narrative-media-image {
  border-radius: 16px;
}

.heading-heading {
  color: var(--_colour---colour--text);
  margin-top: 0;
  margin-bottom: 24px;
  font-family: Gloock, sans-serif;
}

.general-c {
  background-color: var(--_colour---colour--surface);
}

.what_text {
  color: var(--_colour---colour--text);
  margin-bottom: 24px;
  font-family:
    Cormorant Garamond,
    sans-serif;
  font-size: 18px;
  font-style: normal;
}

.feature {
  grid-column-gap: 24px;
  grid-row-gap: 24px;
  display: flex;
}

.feature__icon,
.feature__copy {
  grid-column-gap: 12px;
  grid-row-gap: 12px;
  display: flex;
}

.faqs_grid {
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr 1fr;
}

.faq_1_h3-slot {
  color: var(--_colour---colour--text);
  font-family: Gloock, sans-serif;
}

.faq_1_body-slot {
  color: var(--_colour---colour--text);
  font-family:
    Cormorant Garamond,
    sans-serif;
}

.container-5 {
  background-color: var(--_colour---colour--surface);
  border-radius: 16px;
  padding: 24px;
}

.planner__note {
  background-color: var(--_colour---colour--surface);
  color: var(--_colour---colour--text);
  border-radius: 16px;
  padding: 20px;
  font-family:
    Cormorant Garamond,
    sans-serif;
}

.media-container {
  padding: var(--space-3xl) var(--space-md);
}

.quotes_grid {
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr;
}

.media-gallery-container {
  background-color: var(--_colour---colour--surface);
  color: var(--_colour---colour--text);
  border-radius: 16px;
  padding: var(--space-3xl) var(--space-md);
}

.gallery-grid {
  grid-template-rows: auto;
}

.gallery-description {
  color: var(--_colour---colour--text);
  text-align: center;
  font-family: Cinzel, sans-serif;
}

.media-text-quote {
  color: var(--_colour---colour--text);
}

.media-video-description {
  color: var(--_colour---colour--text);
  text-align: center;
  font-family: Cinzel, sans-serif;
}

.background-video {
  margin-bottom: 19px;
  padding-bottom: 0;
  padding-left: 0;
}

.btn-btn--primary-shows {
  background-color: #a93610;
  color: #faf5e6;
  text-align: center;
  border-radius: 10px;
  justify-content: center;
  align-items: center;
  padding: 12px 24px;
  font-family: 'Cinzel', serif;
  font-weight: 400;
  text-decoration: none;
  display: flex;
  transition: background-color .2s;
}

.btn-btn--primary-shows:hover {
  background-color: #c74b21;
}

h1, h2, h3, h4, h5, h6 {
  font-family: 'Cinzel', sans-serif;
}

.div-block-3 {
  flex-flow: column;
  display: flex;
}

.footer_center_nav_div {
  flex-flow: column;
  min-width: 120px;
  line-height: 24px;
  display: flex;
}

.div-block-5 {
  grid-column-gap: 24px;
  grid-row-gap: 24px;
  width: 500px;
  margin-left: auto;
  display: flex;
}

.logo-footer {
  margin-bottom: 20px;
}

.mask {
  background-color: var(--_colour---colour--secondary);
  border-radius: 0;
  height: 100%;
}

.container-6 {
  min-width: 940px;
}

.section-section--photo-scroll {
  aspect-ratio: auto;
  background-color: var(--_colour---colour--bg);
  object-fit: fill;
  width: 100%;
  padding-top: 24px;
  padding-bottom: 24px;
  padding-left: 0;
  overflow: hidden;
}

.marquee__row {
  grid-column-gap: 0px;
  grid-row-gap: 0px;
  background-color: var(--_colour---colour--surface);
  flex-flow: row;
  justify-content: center;
  align-items: flex-start;
  width: 100%;
  max-width: 100%;
  max-height: 100%;
  display: flex;
  overflow: hidden;
}

.marquee__track {
  justify-content: center;
  align-self: center;
  align-items: flex-start;
  width: 100%;
  height: 100%;
  display: flex;
  overflow: hidden;
}

.marque_tile {
  grid-column-gap: 0px;
  grid-row-gap: 0px;
  flex-flow: row;
  flex: 1;
  justify-content: center;
  align-items: flex-start;
  width: 100%;
  height: 500px;
  display: flex;
  overflow: hidden;
}

.tile_image-a {
  width: 100%;
  height: 500px;
  overflow: visible;
}

.tile_image-b {
  width: 100%;
  height: 100%;
  overflow: visible;
}

.section---rotating-images-1 {
  border-top: 2px solid var(--_colour---colour--accent);
  border-bottom: 2px solid var(--_colour---colour--accent);
  background-color: #ead7b700;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  width: 1200px;
  max-width: 100%;
  height: 520px;
  margin: 330px auto 40px;
  padding: 0;
  display: flex;
  position: relative;
  overflow: hidden;
}

.slide-wrap {
  border-top: 1px solid var(--_colour---colour--accent);
  border-bottom: 1px solid var(--_colour---colour--accent);
  justify-content: flex-start;
  align-items: flex-start;
  width: max-content;
  flex-shrink: 0;
  margin-left: 0;
  margin-right: 0;
  padding: 0;
  display: flex;
}

.logo-img._50-r-m {
  margin-right: 200px;
}

.rotating-image._50-r-m {
  margin-right: 0;
  overflow: hidden;
}

.hero_home {
  grid-column-gap: 16px;
  grid-row-gap: 16px;
  background-image: url("../images/hero-1920-1080-2.0.svg");
  background-position: 50% 40%;
  background-size: 100%;
  background-attachment: scroll;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  width: 100vw;
  height: 100vh;
  margin: auto auto 20px;
  padding-bottom: 10px;
  padding-left: 0;
  display: flex;
}

.header_home_div {
  text-align: center;
  background-color: #0000;
  border-radius: 19px;
  flex-flow: column;
  max-width: 550px;
  margin-top: 160px;
  margin-left: 0;
  margin-right: 240px;
  padding-top: 20px;
  padding-left: 28px;
  padding-right: 0;
  display: block;
}

.hero_container {
  grid-column-gap: 24px;
  grid-row-gap: 24px;
  border: 0px solid var(--_colour---colour--accent);
  background-color: var(--_colour---colour--surface);
  background-image: url("../images/bio-hero.jpg");
  background-position: 80% 0;
  background-size: cover;
  border-radius: 16px;
  flex-flow: column;
  justify-content: center;
  max-width: 1200px;
  min-height: 680px;
  margin-top: 0;
  padding-top: 8px;
  padding-bottom: 0;
  font-family: 'Cormorant Garamond', sans-serif;
}

.veil-backdrop {
  z-index: -1;
  background-color: #1a1412b3;
  flex-flow: row;
  justify-content: center;
  align-items: center;
  min-width: 1200px;
  max-width: 1200px;
  min-height: 400%;
  max-height: none;
  margin-bottom: 0;
  margin-left: auto;
  margin-right: auto;
  display: block;
  position: absolute;
  inset: 0% 0% auto;
  overflow: visible;
}

.container-quote {
  grid-column-gap: 24px;
  grid-row-gap: 24px;
  border-style: solid;
  border-width: 2px 0 0;
  border-color: var(--_colour---colour--accent) var(--_colour---colour--accent)
    var(--_colour---colour--bg);
  background-color: var(--_colour---colour--secondary);
  border-radius: 0;
  flex-flow: column;
  justify-content: center;
  max-width: 1200px;
  height: 240px;
  margin-top: 0;
  padding-top: 0;
  padding-bottom: 24px;
  font-family: 'Cormorant Garamond', sans-serif;
}

.body-2 {
  background-image: url("../images/Main-Backdrop.png");
  background-position: 50% 0;
  background-size: cover;
}

.body-3 {
  background-image: url("../images/Main-Backdrop.png");
  background-position: 0 0;
  background-size: cover;
}

.media_div_buttons {
  max-width: 50%;
  margin-left: auto;
  margin-right: auto;
}

.body-4,
.body-5,
.body-6,
.body-7 {
  background-image: url("../images/Main-Backdrop.png");
  background-position: 0 0;
  background-size: auto;
}

._0 {
  background-color: var(--_colour---colour--secondary);
  color: var(--_colour---colour--text);
  max-width: 80%;
  margin-top: var(--space-3xl);
  margin-left: auto;
  margin-right: auto;
  padding-left: 0;
  padding-right: 0;
  font-family: 'Cormorant Garamond', sans-serif;
  font-size: 32px;
  line-height: 32px;
  overflow: hidden;
}

.text-field-3 {
  height: 48px;
  border: 1px solid var(--_colour---colour--accent);
  background-color: var(--_colour---colour--bg);
  color: var(--_colour---colour--text);
  border-radius: 4px;
  margin-bottom: 0;
  padding-left: 16px;
  padding-right: 16px;
  font-family: 'Cormorant Garamond', sans-serif;
  max-width: 600px; /* Condensed field width */
}

.t_card__quote-person {
  background-color: var(--_colour---colour--secondary);
  color: var(--_colour---colour--text);
  max-width: 80%;
  margin: 20px auto 0;
  padding-left: 0;
  padding-right: 0;
  font-family: 'Cormorant Garamond', sans-serif;
  font-size: 16px;
  line-height: 32px;
  overflow: hidden;
}

.what_subheader {
  color: var(--_colour---colour--text);
  margin-top: 40px;
  margin-bottom: 12px;
  font-family: Gloock, sans-serif;
  font-size: 24px;
  font-weight: 400;
}

.bold-text {
  font-size: 16px;
}

/* Common Hero Container Styles */
.hero_container_homepage,
.hero_container_wedding,
.hero_container_magicnoir,
.hero_container_artisanal_hero,
.hero_container-corperate,
.hero_container_private,
.hero_container_festivals,
.hero_container_bio {
  grid-column-gap: 24px;
  grid-row-gap: 24px;
  /* Use overrides for specific borders if needed, setting universal default */
  border: 0px solid var(--_colour---colour--accent);
  background-color: var(--_colour---colour--surface);
  background-position: 80% 0;
  background-size: cover;
  border-radius: 16px;
  flex-flow: column;
  justify-content: center;
  max-width: 1200px;
  min-height: 680px;
  margin-top: 0;
  padding-top: 8px;
  padding-bottom: 0;
  font-family: 'Cormorant Garamond', sans-serif;
  display: flex; /* Ensure display flex is set */
}

/* Specific Hero Overrides */
.hero_container-corperate {
  background-image: url("../images/Corp-Hero-1092-1080.jpg");
  margin-top: var(--space-3xl);
}

.hero_container_wedding {
  border-style: solid;
  border-width: 0 0 2px;
  background-image: url("../images/parties_hero.jpg"); /* Updated to party group photo */
  background-size: cover;
  background-position: 50% 50%;
  border-radius: 0;
  margin-top: var(--space-2xl);
}

.hero_container_private {
  background-image: url("../images/parties_hero.jpg");
  margin-top: 70px;
}

.hero_container_festivals {
  background-image: url("../images/Festival-hero.jpg");
  margin-top: 70px;
}

.hero_container_bio {
  background-image: url("../images/bio-hero.jpg"); /* Updated to magician in overalls */
  background-size: cover;
  background-position: 50% 50%;
  margin-top: var(--space-2xl);
}

.hero_container_homepage {
  border-style: solid;
  border-width: 0 0 2px;
  background-color: #2b0c0e;
  background-image: url("../images/Header-Home.jpg");
  background-position: 50% 0;
  background-size: 100% 100%;
  border-radius: 0;
  margin-top: var(--space-2xl);
}

.hero_container_magicnoir {
  background-image: url("../images/Magic-Noir.jpg");
  background-position: 50%;
  margin-top: 66px;
}

.section-section--narrative_magicnoir-1 {
  background-color: #0000;
  padding-top: 0;
  padding-bottom: 0;
}

.container-cta {
  grid-column-gap: 24px;
  grid-row-gap: 24px;
  border-style: solid;
  border-width: 2px 0;
  border-color: var(--_colour---colour--accent);
  background-color: var(--_colour---colour--surface);
  border-radius: 0;
  flex-flow: column;
  justify-content: center;
  max-width: 1200px; /* Constrained width for better alignment */
  margin-top: 24px;
  margin-left: auto;
  margin-right: auto;
  padding: 48px var(--space-md);
  font-family: 'Cormorant Garamond', sans-serif;
}

.logo-text {
  font-family: 'Cinzel', sans-serif;
  color: var(--_colour---colour--text);
  font-size: 32px;
  line-height: normal;
  margin-bottom: 0;
  letter-spacing: 4px;
  text-transform: uppercase;
  font-weight: 300;
}

.container_laurals {
  grid-column-gap: 24px;
  grid-row-gap: 24px;
  border-style: solid;
  border-width: 2px 0;
  border-color: var(--_colour---colour--accent);
  background-color: var(--_colour---colour--secondary);
  text-align: center;
  border-radius: 0;
  flex-flow: column;
  justify-content: center;
  max-width: 1200px;
  margin-top: 24px;
  margin-bottom: 24px;
  padding-top: 0;
  padding-bottom: 0;
  font-family: 'Cormorant Garamond', sans-serif;
}

.social-media-icon-footer {
  background-color: var(--transparent);
  border-radius: 2px;
}

.header_home_magicnoir {
  text-align: center;
  background-color: #0000;
  border-radius: 19px;
  flex-flow: column;
  max-width: 550px;
  margin-top: 40px;
  margin-left: 0;
  margin-right: 240px;
  padding-top: 20px;
  padding-left: 28px;
  padding-right: 0;
  display: block;
}

.narrative_grid_magicnoir {
  grid-template-rows: auto;
  grid-template-columns: 1.1fr 1fr;
}

.narrative-copy_magicnoir {
  color: var(--_colour---colour--text);
  max-width: 80%;
  margin-left: auto;
  margin-right: auto;
  font-family:
    Cormorant Garamond,
    sans-serif;
  font-size: 20px;
}

.narrative-media-image_magicnoir {
  border-radius: 16px;
}

.general-container-promo-video {
  border-style: solid;
  border-width: 2px 0;
  border-color: var(--_colour---colour--accent);
  background-color: var(--_colour---colour--surface);
  border-radius: 0;
  max-width: 1200px;
  max-height: 1978.63px;
  padding: var(--space-3xl);
}

.promovideo_magicnoir {
  box-sizing: content-box;
  aspect-ratio: 16 / 9;
  width: 100%;
  height: 50px;
  max-height: 30%;
  padding-left: 0;
  overflow: hidden;
}

.div-block-6 {
  height: 500px;
}

.video-wrapper {
  width: 100%;
  max-width: 800px;
  height: 500px;
  margin-left: auto;
  margin-right: auto;
  padding-bottom: 56.5%;
}

.hero_container_artisanal_hero {
  background-image: url("../images/SmoulderCardless16x9-p-1080.jpg");
  background-size: cover;
  background-position: 50% 50%;
  border-radius: 0;
  margin-top: 60px;
}

/* Common Veil Styles */
.veil-backdrop-home,
.veil-backdrop-magic-noir,
.veil-backdrop-artisanal,
.veil-backdrop-fesitivals,
.veil-backdrop-private-parties,
.veil-backdrop-socials,
.veil-backdrop_corperate-magic,
.veil-backdrop_wedding,
.veil-backdrop {
  z-index: -1;
  background-color: #1a1412b3;
  flex-flow: row;
  justify-content: center;
  align-items: center;
  min-width: 1200px;
  max-width: 1200px;
  min-height: 100vh;
  /* Some original classes had different heights, keeping unique overrides below or accepting a standard if possible. 
     The original CSS had varying heights (460%, 330%, 600% etc). 
     I will keep the unique height in the specific classes for safety. */
  max-height: none;
  margin-bottom: 0;
  margin-left: auto;
  margin-right: auto;
  display: block;
  position: absolute;
  inset: 0% 0% auto;
  overflow: visible;
}

.veil-backdrop-magic-noir {
  min-height: 460%;
}

.veil-backdrop-artisanal {
  min-height: 330%;
}

.veil-backdrop-fesitivals {
  min-height: 600%;
}

.veil-backdrop-private-parties {
  min-height: 620%;
}

.veil-backdrop_corperate-magic {
  min-height: 640%;
}

.veil-backdrop_wedding {
  min-height: 630%;
}

.veil-backdrop-socials {
  min-height: 330%;
}

.header_home_div_social {
  text-align: center;
  background-color: #0000;
  border-radius: 19px;
  flex-flow: column;
  max-width: 550px;
  margin-top: 140px;
  margin-left: 600px;
  margin-right: auto;
  padding-top: 20px;
  padding-left: 28px;
  padding-right: 0;
  display: block;
}

.veil-backdrop-home {
  min-height: 350%;
  max-height: 300px;
}

.btn--primary-collapsed {
  border: 1px solid var(--_colour---colour--accent);
  background-color: var(--_colour---colour--bg);
  color: #faf5e6;
  border-radius: 10px;
  flex-flow: column;
  justify-content: flex-start;
  align-items: center;
  max-width: 100%;
  max-height: 20%;
  margin-top: 0;
  padding: 12px 20px;
  /* Match .nav-link typography strictly */
  font-family: 'Cinzel', serif;
  font-size: 16px; 
  font-weight: 400;
  letter-spacing: 0.25px;
  line-height: 20px;
  text-transform: none; /* Ensure no overrides */
  display: flex;
}

.btn--primary-collapsed:hover {
  background-color: var(--_colour---colour--accent);
}

.hero-book-now {
  max-width: 600px;
  margin-bottom: 30px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 0;
}

.section-section-wedding {
  justify-content: center;
  align-items: flex-start;
  display: block;
  padding-top: var(--space-xl);
  padding-bottom: var(--space-2xl);
}

.section-section-wedding.section-hero {
  min-height: 90px;
}

.section-section-wedding {
  justify-content: center;
  align-items: flex-start;
  display: block;
  padding-top: var(--space-xl);
  padding-bottom: var(--space-2xl);
  position: relative;
  z-index: 5; /* Ensure content sits above any potential overlap */
}

.grid-3-card-service-wedding {
  border: 1px solid var(--_colour---colour--accent);
  background-color: var(--_colour---colour--surface);
  border-radius: 16px;
  flex-flow: column;
  align-items: center;
  min-height: 300px;
  font-family: 'Cormorant Garamond', sans-serif;
  display: flex;
}

.card__media_wedding {
  border: 0px solid var(--_colour---colour--accent);
  opacity: 1;
  vertical-align: baseline;
  border-radius: 20px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 0;
  padding-right: 0;
}

.card__body_wedding {
  border: 0px solid var(--_colour---colour--accent);
  background-color: var(--_colour---colour--surface);
  text-align: center;
  border-radius: 20px;
  min-height: 100px;
  padding: var(--space-lg);
}

.hero_titles_div_block {
  border-top: 0 solid #000;
  width: 65%;
  margin-top: -100px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  z-index: 10;
  padding-bottom: var(--space-md);
}

.btn--primary-collapsed-chip {
  border: 1px solid var(--_colour---colour--accent);
  background-color: var(--_colour---colour--primary);
  color: #faf5e6;
  border-radius: 10px;
  flex-flow: column;
  justify-content: flex-start;
  align-items: center;
  max-width: 100%;
  max-height: 20%;
  margin: auto 40px 34px;
  padding: 9px 20px;
  font-family: 'Cormorant Garamond', sans-serif;
  font-weight: 400;
  display: flex;
}

.btn--primary-collapsed-chip:hover {
  background-color: var(--_colour---colour--accent);
}

.btn--primary-collapsed-book-now {
  border: 1px solid var(--_colour---colour--accent);
  background-color: var(--_colour---colour--bg);
  color: #faf5e6;
  border-radius: 10px;
  flex-flow: column;
  justify-content: flex-start;
  align-items: center;
  max-width: 30%;
  max-height: 20%;
  margin: 0 auto 16px;
  padding: 12px 20px;
  font-family: 'Cormorant Garamond', sans-serif;
  font-weight: 400;
  display: flex;
}

.btn--primary-collapsed-book-now:hover {
  background-color: var(--_colour---colour--accent);
}

.heading-lg--page-title {
  color: var(--_colour---colour--text);
  text-align: center;
  min-height: 60px;
  margin-top: 0px;
  margin-bottom: var(--space-sm);
  padding-bottom: 0;
  font-family: 'Cinzel', serif;
  font-size: 48px;
  font-weight: 400;
  line-height: 1.2;
}

.btn--primary-2 {
  border: 1px solid var(--_colour---colour--accent);
  background-color: var(--_colour---colour--primary);
  color: #faf5e6;
  border-radius: 10px;
  flex-flow: column;
  justify-content: flex-start;
  align-items: center;
  max-width: 70%;
  max-height: 20%;
  margin-top: 20px;
  margin-left: auto;
  margin-right: auto;
  padding: 12px 20px;
  font-family: 'Cormorant Garamond', sans-serif;
  font-weight: 400;
  display: flex;
}

.btn--primary-2:hover {
  background-color: var(--_colour---colour--secondary);
}

.magic-noir_book-now {
  max-width: 600px;
  margin-left: auto;
  margin-right: auto;
}

.footer_div {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}

.footer-div_center {
  flex-flow: row;
  justify-content: flex-start;
  align-items: flex-start;
  width: 450px;
  margin-left: auto;
  margin-right: auto;
  padding-top: 0;
  display: flex;
}

.tour-dates_h1 {
  text-align: center;
  max-height: 200px;
  margin-left: auto;
  margin-right: auto;
}

.tour-dates_-h1-text {
  color: var(--_colour---colour--text);
  text-align: center;
  margin-left: auto;
  margin-right: auto;
  font-family:
    Cormorant Garamond,
    sans-serif;
  font-size: 40px;
  font-weight: 400;
}

.tourdates_header {
  color: var(--_colour---colour--text);
  font-family:
    Cormorant Garamond,
    sans-serif;
}

.tour_dates_text {
  color: var(--_colour---colour--text);
  padding-left: 40px;
  padding-right: 40px;
  font-family:
    Cormorant Garamond,
    sans-serif;
}

.tourdates_button {
  border: 1px solid var(--_colour---colour--accent);
  background-color: var(--_colour---colour--primary);
  color: #faf5e6;
  border-radius: 10px;
  flex-flow: column;
  justify-content: flex-start;
  align-items: center;
  max-width: 70%;
  max-height: 40px;
  margin-top: 20px;
  margin-left: auto;
  margin-right: auto;
  padding: 12px 20px;
  font-family: 'Cormorant Garamond', sans-serif;
  font-weight: 400;
  display: flex;
}

.tourdates_button:hover {
  background-color: var(--_colour---colour--secondary);
}

.left-arrow,
.right-arrow {
  height: 180px;
  margin-top: 0;
}

.slide-nav {
  height: 40px;
  padding-top: 0;
}

.slide {
  height: 220px;
  margin-top: 0;
}

.grid-3---2 {
  grid-column-gap: 40px;
  grid-row-gap: 20px;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr;
  min-height: auto;
  margin-top: 0;
  margin-bottom: 24px;
  padding-top: 20px;
  padding-bottom: 20px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.form-block {
  width: 100%; /* Take full width of the constrained container */
  max-width: 100%;
  margin-top: 20px;
  margin-left: auto;
  margin-right: auto;
}

.field-label,
.field-label-2 {
  color: var(--transparent);
  margin-bottom: 8px;
  display: block;
}

.email-form-button {
  border: 1px solid var(--_colour---colour--accent);
  background-color: var(--_colour---colour--primary);
  border-radius: 15px;
}

.text-field {
  background-color: var(--transparent);
  color: #000;
  height: 60px;
  margin-bottom: 20px;
  padding-bottom: 0;
  font-size: 20px;
  width: 100%;
}

.text-field-2 {
  background-color: var(--_colour---colour--text);
}

.text-field-3 {
  background-color: var(--transparent);
  color: #000;
  width: 100%;
}

.div-block-7,
.form {
  display: block;
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}

.div-block-8 {
  display: block;
  margin-bottom: 16px;
}

.submit-div {
  justify-content: center;
  align-items: flex-start;
  margin-left: auto;
  margin-right: auto;
  display: flex;
}

@media screen and (max-width: 991px) {
  .navbar-wrapper {
    padding-left: 20px;
  }

  .nav-menu-wrapper {
    background-color: #0000;
  }

  .nav-menu {
    background-color: var(--_colour---colour--secondary);
    flex-wrap: wrap;
    justify-content: space-around;
    align-items: center;
    padding-left: 0;
    display: flex;
  }

  .nav-link {
    padding-left: 5px;
    padding-right: 5px;
  }

  .nav-dropdown-list.shadow-three.w--open {
    position: absolute;
  }

  .nav-button-wrapper {
    width: 100%;
    margin-left: 0;
  }

  .menu-button {
    padding: 12px;
  }

  .menu-button.w--open {
    color: #fff;
    background-color: #a6b1bf;
  }

  .container-2 {
    max-width: 728px;
  }
  
  .container-6 {
    min-width: 0;
  }

  .section---rotating-images-1 {
    width: 100%;
    margin-top: 60px;
    height: auto;
    position: static;
  }
  
  .slide-wrap {
    width: auto;
    flex-wrap: wrap;
  }

  .w-layout-grid {
    grid-template-columns: 1fr 1fr;
  }
  
  .footer-content {
    grid-column-gap: 60px;
  }

  .container-3 {
    max-width: 728px;
  }

  .footer-wrapper-two {
    flex-wrap: wrap;
    flex-direction: column;
  }

  .footer-form {
    width: 100%;
    margin-top: 40px;
  }

  .footer-form-container {
    max-width: 350px;
  }

  .grid-3 {
    grid-template-columns: 1fr 1fr;
  }

  .container-4 {
    max-width: 728px;
  }

  .footer-form-two {
    padding: 40px;
  }

  .footer-form-title {
    margin-right: 15px;
  }

  .footer-form-input {
    width: 400px;
    padding-right: 180px;
  }

  .footer-wrapper-three {
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
  }

  .footer-social-block-three {
    margin-top: 40px;
  }

  .planner__note {
    padding-left: 20px;
    padding-right: 20px;
  }

  .header_home_div {
    background-color: #0000;
    margin-top: 240px;
    margin-left: auto;
    margin-right: auto;
    padding: 20px;
  }

  .magicnoir_herologo {
    padding-right: 3px;
  }

  .narrative_grid_magicnoir {
    margin-top: 20px;
    margin-bottom: 20px;
  }

  .hero_container_artisanal_hero {
    filter: blur();
    background-position: 85% 0;
  }

  .header_home_div_social {
    margin-left: auto;
  }

  .btn--primary-collapsed,
  .btn--primary-collapsed-chip,
  .btn--primary-collapsed-book-now {
    margin-top: 4px;
    margin-bottom: 4px;
  }

  .grid-3---2 {
    grid-template-columns: 1fr 1fr;
  }
  
  .veil-backdrop,
  .veil-backdrop-magic-noir,
  .veil-backdrop-artisanal,
  .veil-backdrop-fesitivals,
  .veil-backdrop-private-parties,
  .veil-backdrop_corperate-magic,
  .veil-backdrop_wedding,
  .veil-backdrop-socials {
    min-width: 100%;
    width: 100%;
    overflow: hidden; 
  }

  .hero_container,
  .hero_container_homepage,
  .hero_container_magicnoir,
  .hero_container_artisanal_hero,
  .hero_container-corperate,
  .hero_container_wedding,
  .hero_container_private,
  .hero_container_festivals,
  .hero_container_bio {
     min-width: 0;
     max-width: 100%;
  }

  .heading-lg {
    font-size: 36px;
  }
  
  .heading-xxl {
    font-size: 42px;
  }
}

@media screen and (max-width: 767px) {
  .body-md,
  .nav-label {
    font-size: 16px;
    line-height: 1.65em;
  }

  .navbar-brand {
    padding-left: 0;
  }
  
  .heading-lg {
    font-size: 28px;
  }
  
  .heading-xxl {
    font-size: 32px;
  }

  .nav-menu {
    flex-direction: column;
    padding-bottom: 30px;
    padding-left: 0;
  }

  .nav-link {
    padding-top: 10px;
    padding-bottom: 10px;
    display: inline-block;
  }

  .nav-dropdown {
    flex-direction: column;
    align-items: center;
    display: flex;
  }

  .nav-dropdown-toggle {
    padding-top: 10px;
    padding-bottom: 10px;
  }

  .nav-dropdown-list.shadow-three {
    box-shadow: 0 8px 50px #0000000d;
  }

  .nav-dropdown-list.shadow-three.w--open {
    position: relative;
  }

  .nav-dropdown-list.shadow-three.mobile-shadow-hide {
    box-shadow: none;
  }

  .mobile-margin-top-10 {
    margin-top: 10px;
  }

  .footer-dark {
    padding-left: 15px;
    padding-right: 15px;
  }

  .footer-wrapper {
    flex-direction: column;
    align-items: center;
  }

  .footer-content {
    grid-template-columns: 1fr;
    margin-top: 40px;
  }

  .footer-block {
    align-items: center;
  }

  .footer-link:hover {
    color: #1a1b1fbf;
  }
  
  .footer-link {
    padding-top: 10px;
    padding-bottom: 10px;
    display: inline-block;
  }

  .footer-social-block {
    margin-top: 20px;
    margin-left: -20px;
  }

  .footer-social-link {
    margin-left: 20px;
  }

  /* 6. Footer Layout Fix */
  .footer_div {
    padding: 40px 20px !important;
  }
  
  .footer-div {
    width: 100% !important;
    text-align: center !important;
    margin-bottom: 24px !important;
  }

  /* Force the container of the links to stack vertical */
  .footer-div_center {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    width: 100% !important;
    gap: 24px !important;
  }

  /* Force the individual groups of links to stack vertical or center */
  .footer_center_nav_div {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    width: 100% !important;
    min-width: auto !important; /* Remove fixed min-width */
    margin: 0 !important;
  }
  
  /* Ensure individual links are block/centered */
  .label {
    display: block !important;
    text-align: center !important;
    padding: 8px 0 !important;
    width: 100% !important;
  }

  /* 7. Image Responsiveness & Overflow Safety */
  img {
    max-width: 100% !important;
    height: auto !important;
  }
  
  /* Final Overflow Safety */
  html, body {
    overflow-x: hidden !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .footer-divider {
    margin-top: 60px;
  }

  .footer-light {
    padding-left: 15px;
    padding-right: 15px;
  }

  .footer-bottom {
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
  }

  .footer-copyright {
    font-size: 14px;
    line-height: 20px;
  }

  .footer-social-block-two {
    margin-top: 20px;
  }

  .footer-social-link-2 {
    margin-left: 20px;
  }

  .grid-3 {
    grid-template-rows: auto;
    grid-template-columns: 1fr;
    padding-left: 20px;
    padding-right: 20px;
  }

  .w-layout-grid {
    grid-template-columns: 1fr;
  }

  .footer-subscribe {
    padding-left: 15px;
    padding-right: 15px;
  }

  .footer-form-container-two {
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
  }

  .footer-form-title {
    margin-right: 0;
  }

  .footer-form-block-two {
    width: 100%;
    margin-top: 20px;
  }

  .footer-form-input {
    width: 100%;
  }

  .footer-block-three {
    flex-flow: column wrap;
    justify-content: flex-start;
    align-items: flex-start;
  }

  .footer-link-three {
    margin-bottom: 10px;
  }

  .footer-social-block-three {
    margin-top: 10px;
  }

  .footer-legal-block {
    margin-top: 15px;
    margin-left: -24px;
  }

  .footer-legal-link {
    font-size: 14px;
    line-height: 20px;
  }

  .media-row {
    grid-column-gap: 23px;
    grid-row-gap: 23px;
    grid-template-rows: auto auto auto;
    grid-template-columns: 1fr;
    grid-auto-columns: 1fr;
    grid-auto-flow: column;
    justify-items: center;
    max-width: 100%;
    display: grid;
    overflow: hidden;
  }

  .grid-4-events {
    grid-template-columns: 1fr;
  }

  .t_card__quote {
    margin-top: 40px;
  }

  .cta_strip {
    padding-left: 20px;
    padding-right: 20px;
  }

  .narrative_grid {
    grid-template-columns: 1.1fr;
  }

  .header_home_div {
    margin-top: 320px;
  }

  .container_laurals {
    max-width: 100%;
  }

  .header_home_magicnoir {
    margin-top: 240px;
    margin-right: 0;
  }

  .narrative_grid_magicnoir {
    grid-template-rows: auto auto;
    grid-template-columns: 1.1fr;
    margin-bottom: 40px;
  }

  .hero_container_artisanal_hero {
    background-position: 100% 0;
  }

  .section---rotating-images-1 {
    margin-top: 30px;
    height: auto;
    width: 100%;
  }
  
  .rotating-image._50-r-m {
    width: 100%;
    height: auto;
    margin-bottom: 20px;
  }
  
  .logo-img._50-r-m {
    margin-right: 0;
    margin-bottom: 20px;
  }
  
  .slide-wrap {
    flex-direction: column;
    width: 100%;
    margin-left: 0;
    margin-right: 0;
  }

  .grid-4-events-wedding {
    grid-template-columns: 1fr;
  }

  .grid-3---2 {
    grid-template-rows: auto;
    grid-template-columns: 1fr 1fr;
    padding-left: 20px;
    padding-right: 20px;
  }
}

@media screen and (max-width: 479px) {
  .heading-xxl {
    font-size: 40px;
  }

  .btn--primary {
    text-align: center;
    margin-top: 40px;
    margin-left: 20px;
    margin-right: 20px;
  }

  .nav-menu {
    flex-direction: column;
  }

  .nav-button-wrapper {
    width: auto;
  }

  .container-2,
  .container-3 {
    max-width: none;
  }

  .footer-wrapper-two {
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
  }

  .footer-block-two {
    margin-top: 40px;
  }

  .footer-bottom {
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
  }

  .footer-social-block-two {
    margin-top: 20px;
  }

  .grid-3 {
    grid-template-columns: 1fr;
  }

  .container-4 {
    max-width: none;
  }

  .footer-form-two {
    padding: 20px;
  }

  .footer-form-block-two {
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
  }

  .footer-form-input {
    margin-bottom: 10px;
    padding-right: 20px;
  }

  .button-primary-2.footer-form-button {
    position: relative;
    right: 0;
  }

  .heading-lg {
    font-size: 24px;
  }

  .container {
    padding-left: 0;
    padding-right: 0;
  }

  .grid-3 {
    grid-column-gap: 23px;
    grid-row-gap: 23px;
    grid-template-rows: auto auto auto;
    grid-template-columns: 1fr;
    grid-auto-flow: column;
    width: 100%;
  }

  .grid-3-card-services {
    flex-flow: column;
    justify-content: flex-start;
    align-items: center;
    height: 800px;
    margin-left: auto;
    margin-right: auto;
  }

  .t_card__quote {
    font-size: 26px;
  }

  .cta_strip {
    grid-template-rows: auto auto;
    grid-template-columns: 1.2fr;
  }

  .hero_sub_subtext {
    font-size: 20px;
  }

  .hero_subpage_header {
    min-width: 90%;
    font-size: 36px;
  }

  .general-container {
    padding-top: 40px;
    padding-left: 0;
    padding-right: 0;
  }

  .narrative_grid {
    grid-template-rows: auto auto;
    grid-template-columns: 1.1fr;
    padding-left: 8px;
    padding-right: 8px;
  }

  .narrative-copy {
    text-align: center;
    width: 100%;
  }

  .narrative-media-image {
    margin-top: 20px;
  }

  .heading-heading {
    text-align: center;
    margin-top: 0;
    margin-left: auto;
    margin-right: auto;
    padding-left: 4px;
    padding-right: 4px;
    font-size: 24px;
  }

  .what_text {
    text-align: left;
    padding-left: 12px;
    padding-right: 12px;
  }

  .mask {
    height: 350px;
  }

  .header_home_div {
    max-width: 400px;
    margin-top: 240px;
    padding-left: 0;
    padding-right: 0;
  }

  .container-quote {
    height: 400px;
  }

  .hero_container_homepage {
    background-position: 50% 0;
  }

  .header_home_magicnoir {
    max-width: 100%;
    margin-top: 250px;
    margin-left: auto;
    margin-right: auto;
  }

  .hero_container_artisanal_hero {
    background-position: 95% 0;
  }

  .header_home_div_social {
    margin-top: 40px;
  }

  .icon {
    margin-left: 8px;
  }

  .icon-2 {
    margin-right: 8px;
  }

  .icon-3 {
    margin-left: 0;
    margin-right: 0;
  }

  .grid-3-card-service-wedding {
    flex-flow: column;
    justify-content: center;
    align-items: center;
    height: 800px;
    margin-left: auto;
    margin-right: auto;
  }

  .heading-lg--page-title {
    font-size: 24px;
  }

  .btn--primary-2 {
    text-align: center;
    margin-top: 40px;
    margin-left: 20px;
    margin-right: 20px;
  }

  .tour-dates_-h1-text {
    text-align: center;
    width: 100%;
  }

  .tourdates_button {
    text-align: center;
    margin-top: 40px;
    margin-left: 20px;
    margin-right: 20px;
  }

  .grid-3---2 {
    grid-template-columns: 1fr;
  }
}

#w-node-_0fd583c6-d169-5612-5cba-6a5623d46f3c-539c6180 {
  place-self: start;
}

#w-node-_5ae89b13-8097-84ce-b3e0-3928a87a3408-539c6180 {
  place-self: start;
}

#w-node-_2103a82c-4898-1871-928b-afb1ee25276e-539c6180 {
  place-self: start;
}

#w-node-_53b0501c-a6a3-dfed-f5e5-893fb543d898-b543d895 {
  place-self: center;
}

#w-node-_53b0501c-a6a3-dfed-f5e5-893fb543d89d-b543d895 {
  place-self: center start;
}

#w-node-_53b0501c-a6a3-dfed-f5e5-893fb543d8ac-b543d895 {
  justify-self: start;
}

#w-node-_36a408b7-aff0-a602-0482-b1e7319194a7-319194a4 {
  place-self: center start;
}

#w-node-_257d6fef-3524-66d9-384e-3b0a10191d43-732e1e8c {
  place-self: start;
}

#w-node-d15c70d9-e0a8-7edf-d1ed-98009c23c404-732e1e8c,
#w-node-_23f06900-2d5c-3fe5-fc14-c141eb5f35f3-6c041304 {
  justify-self: center;
}

#w-node-c70d9d26-5a4b-a063-84ef-52741dfb25f9-6c041304 {
  place-self: start;
}

#w-node-_9f6e7765-fe02-1bae-4dec-31a2eff35b07-6762f7a5 {
  justify-self: center;
}

#w-node-_5f357881-a959-ceb0-3afc-fa3d234c9788-6762f7a5 {
  place-self: start;
}

#w-node-b9fea07d-3d34-d51d-4e00-a28b86fc477b-f8627536,
#w-node-_21246c9c-9824-0c41-57cc-a108a5394ce4-6387f655,
#w-node-_2ec146c3-11b9-7c80-1b92-42188b3de43c-6387f655 {
  justify-self: center;
}

#w-node-_2ec146c3-11b9-7c80-1b92-42188b3de428-6387f655,
#w-node-abc245c3-3ac4-9488-74cd-1db80849ea2d-6387f655 {
  align-self: center;
}

#w-node-abc245c3-3ac4-9488-74cd-1db80849ea2b-6387f655,
#w-node-_08bc9b77-96fd-00f3-85e9-c402ac6846c4-6387f655 {
  justify-self: center;
}

#w-node-_08bc9b77-96fd-00f3-85e9-c402ac6846c6-6387f655 {
  align-self: center;
}

#w-node-_5f9a0e3c-4f33-9298-d211-73bb918136bf-0deb9fb2,
#w-node-_60dc9343-3ac5-f7b2-20a6-d15d6d437fa2-0deb9fb2,
#w-node-_9d7c8c6d-fc5f-34b2-4c84-57544025ebec-a42ec940 {
  justify-self: center;
}

@media screen and (max-width: 991px) {
  #w-node-_53b0501c-a6a3-dfed-f5e5-893fb543d8ac-b543d895 {
    justify-self: center;
  }
}

@media screen and (max-width: 479px) {
  #w-node-_564adb62-38f3-3657-f86c-4f732f3eccee-539c6180 {
    grid-area: span 1 / span 1 / span 1 / span 1;
    justify-self: auto;
  }

  #w-node-_5f357881-a959-ceb0-3afc-fa3d234c9788-6762f7a5 {
    align-self: start;
  }
}
/* Trigger deployment */

/* =========================================
   Header Typography Refactor (Global Fix & Sharpening)
   ========================================= */

/* 1. Unify All Nav Links & Dropdowns */
.nav-link,
.nav-dropdown-toggle,
.nav-dropdown-link,
.w-nav-link,
.w-dropdown-toggle,
.w-dropdown-link,
.navbartext,
.navbar-brand,
.logo-text,
.btn--primary-collapsed {
  font-family: 'Cinzel', serif !important;
  font-weight: 400 !important;
  font-size: 16px !important;
  letter-spacing: 0.25px !important;
  text-transform: uppercase !important;
  color: var(--_colour---colour--text);
  line-height: 20px !important;
  
  /* Font Sharpening */
  -webkit-font-smoothing: antialiased !important;
  -moz-osx-font-smoothing: grayscale !important;
  text-rendering: optimizeLegibility !important;
  transform: translateZ(0); /* Promotes to own layer to avoid repaints but can help/hurt depending on context. Testing shows it helps here */
}

/* 2. Fix Dropdown Toggle Specifics */
.nav-dropdown-toggle {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 5px 10px !important;
}

/* 3. Ensure Mobile Menu Inherits */
.w-nav-menu .nav-link, 
.w-nav-menu .nav-dropdown-toggle,
.w-nav-menu .nav-dropdown-link {
  font-size: 18px !important; /* Keep mobile size larger for tap targets */
}

/* 4. Button Typography Inheritance */
.btn--primary-collapsed,
a.btn--primary-collapsed {
  font-family: 'Cinzel', serif !important;
  font-weight: 400 !important;
  font-size: 16px !important; /* Match links */
  letter-spacing: 0.25px !important;
  text-transform: uppercase !important; /* CTA specific style */
}

/* =========================================
   Global Body Font Refactor (Cormorant Garamond)
   ========================================= */

/* 1. Global Body Font */
body, 
.body,
.body-md,
.paragraph,
p,
li,
a,
span,
div {
  font-family: 'Cormorant Garamond', sans-serif !important;
}

/* 2. Global Styling for Form Inputs (Text) */
input, 
select, 
textarea,
label,
.text-field,
.field-label {
  font-family: 'Cormorant Garamond', sans-serif !important;
}

/* 3. Exceptions (Headings, Nav & Buttons - Keep Cinzel) */
h1, h2, h3, h4, h5, h6,
.heading,
.heading-jumbo,
.heading-jumbo-small,
.heading-jumbo-tiny,
.heading-xxl,
.heading-xl,
.heading-lg,
.heading-md,
.heading-sm,
.nav-link,
.navbartext,
.btn--primary,
.button-primary,
.email-form-button,
.submit-button,
.w-button,
.btn-btn--primary-shows,
[class*="btn-"],
[class*="button-"] {
  font-family: 'Cinzel', serif !important;
}

/* =========================================
   Scrolling Banner Refactor (Seamless Loop)
   ========================================= */

/* 1. Update Container */
.section---rotating-images-1 {
  display: flex !important;
  flex-direction: row !important; /* Ensure horizontal flow */
  align-items: center !important;
  justify-content: flex-start !important;
  overflow: hidden !important;
  position: relative !important;
  /* Keep size and border from original */
}

/* 2. Marquee Track (Moves content) */
.marquee-track {
  display: flex !important;
  width: max-content !important;
  animation: marquee-scroll 40s linear infinite !important; /* Adjust speed as needed */
  will-change: transform;
}

/* 3. Marquee Content (Holds images) */
.marquee-content {
  display: flex !important;
  flex-shrink: 0 !important;
  gap: 0 !important; /* Seamless joining */
}

/* 4. Pattern Images */
.marquee-pattern {
  height: 480px !important; /* Match container height */
  width: auto !important; /* Maintain aspect ratio (approx 480px) */
  display: block !important;
  max-width: none !important; /* Prevent responsive shrinking */
}

/* 5. Animation Keyframes */
@keyframes marquee-scroll {
  from {
    transform: translate3d(0, 0, 0);
  }
  to {
    transform: translate3d(-50%, 0, 0);
  }
}

/* 6. Reduced Motion */
@media (prefers-reduced-motion: reduce) {
  .marquee-track {
    animation-play-state: paused !important;
  }
}

/* =========================================
   SERVICES HERO SECTION
   ========================================= */
.section-services-hero {
  background-image: url('../images/damaskBG.jpg');
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  padding: var(--space-3xl) 0;
  text-align: center;
  border-top: 1px solid var(--_colour---colour--accent);
  border-bottom: 1px solid var(--_colour---colour--accent);
  position: relative;
  margin: var(--space-xl) auto;
  max-width: 1200px; /* Match header max-width */
  width: calc(100% - 80px); /* Add side padding on desktop */
}

/* Dark overlay to ensure text readability */
.section-services-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background-color: rgba(26, 20, 18, 0.85); /* #1a1412 with opacity */
  z-index: 0;
}

.services-hero-content {
  position: relative;
  z-index: 1; /* Place content above overlay */
  max-width: 900px;
  margin: 0 auto;
  padding: 0 var(--space-md);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-lg);
}

.heading-services-hero {
  color: #ead7b7;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  font-size: 2.2rem;
  line-height: 1.4;
  text-transform: uppercase;
  font-weight: 400;
  letter-spacing: 2px;
  margin: 0;
}

/* Tablet/Mobile Adjustments */
@media screen and (max-width: 991px) {
  .section-services-hero {
    width: calc(100% - 40px); /* Less side padding on mobile */
    padding: var(--space-2xl) 0;
  }
  .heading-services-hero {
    font-size: 1.8rem;
  }
}

@media screen and (max-width: 767px) {
  .section-services-hero {
    padding: var(--space-xl) var(--space-md);
    margin-top: var(--space-lg);
    margin-bottom: var(--space-lg);
  }
  .heading-services-hero {
    font-size: 1.3rem; /* Scaled down for mobile */
    letter-spacing: 1px;
    line-height: 1.5;
  }
}

/* ============================================================
   Mobile hero images (portrait crops for ≤ 767px)
   Added 2026-05-18 — replaces landscape hero crops on phones
   ============================================================ */
@media screen and (max-width: 767px) {
  .hero_container_homepage {
    background-image: url("../images/Home-Hero-mobile.jpg");
    background-size: cover;
    background-position: 50% 50%;
  }
  .hero_container_wedding {
    background-image: url("../images/Weddings-Hero-mobile.jpg");
    background-size: cover;
    background-position: 50% 50%;
  }
  .hero_container-corperate {
    background-image: url("../images/Corp-Hero-mobile.jpg");
    background-size: cover;
    background-position: 50% 50%;
  }
  .hero_container_private {
    background-image: url("../images/Private-Hero-mobile.jpg");
    background-size: cover;
    background-position: 50% 50%;
  }
  .hero_container_magicnoir {
    background-image: url("../images/Magic-Noir-mobile.jpg");
    background-size: cover;
    background-position: 50% 50%;
  }
  .hero_container_artisanal_hero {
    background-image: url("../images/Artisanal-Hero-mobile.jpg");
    background-size: cover;
    background-position: 50% 50%;
  }
}
