/*
Theme Name: launcellsbarton
Theme URI: https://launcellsbarton.co.uk/
Description: Lightweight custom theme for Launcells Barton. Built from scratch to reproduce the existing site without a page-builder dependency.
Author: MiHi Digital
Version: 2.8.26
Text Domain: launcellsbarton
WPVibe: yes
*/

:root {
  --lb-ink: #373C3F;
  --lb-text: #3F3F3F;
  --lb-white: #fff;
  --lb-line: rgba(55,60,63,.125);
  --lb-max: 1200px;
  --lb-header-h: 105px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--lb-text);
  background: #fff;
  font-family: "adobe-garamond-pro", Georgia, serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
body.lb-menu-open { overflow: hidden; }
img, video { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
p { margin: 0; }


.lb-container { width: min(100%, var(--lb-max)); margin-inline: auto; }
.lb-kicker {
  margin: 0 0 20px 8px;
  font-family: "Montserrat", Arial, sans-serif;
  font-size: .8em;
  font-style: normal;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 3px;
  text-align: center;
  text-transform: uppercase;
  color: var(--lb-ink);
}
.lb-display {
  margin: -2px 0 20px;
  font-synthesis: none;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 3em;
  font-style: normal;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 1.9px;
  text-align: center;
  text-transform: uppercase;
  color: var(--lb-ink);
}
.lb-body-copy {
  margin: 0;
  padding-inline: 15%;
  font-family: "adobe-garamond-pro", Georgia, serif;
  font-size: 19px;
  font-weight: 500;
  line-height: 1.5;
  text-align: center;
  color: var(--lb-text);
}
.lb-body-copy--create { padding-inline: 12%; }
.lb-body-copy--italic { font-style: italic; }

/* Header */
.lb-header-stack { position: sticky; top: 0; z-index: 9990; background: #fff; }
.lb-site-header { height: var(--lb-header-h); border-bottom: 1px solid #eee; background: #fff; }
.lb-site-header__inner {
  height: 100%;
  width: min(100%, var(--lb-max));
  margin: 0 auto;
  display: grid;
  grid-template-columns: 33.723% 60.829% 5.448%;
  align-items: stretch;
}
.lb-site-logo { display: flex; align-items: center; justify-content: flex-start; padding: 10px; }
.lb-site-logo img { width: 85px; height: auto; }
.lb-header-links {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  flex-wrap: nowrap;
  min-width: 0;
}
.lb-header-link {
  display: inline-block;
  padding: 5px 6px 5px 5px;
  border: 0;
  border-bottom: 2px solid var(--lb-ink);
  background: #fff;
  color: var(--lb-text);
  cursor: pointer;
  font-family: "adobe-garamond-pro", Georgia, serif;
  font-size: 19px;
  font-style: italic;
  font-weight: 500;
  line-height: 1;
  white-space: nowrap;
}
.lb-header-links .lb-header-link:first-child { margin: 0 10px 0 0; }
.lb-header-links .lb-header-link:last-child { margin: 0 0 0 10px; }
.lb-header-slash {
  margin-top: 0;
  color: rgba(63,63,63,.30);
  font-family: "adobe-garamond-pro", Georgia, serif;
  font-size: 22px;
  font-weight: 400;
  line-height: 1;
}
.lb-menu-toggle {
  position: relative;
  width: 19px;
  height: 19px;
  margin: auto;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}
.lb-menu-toggle span {
  position: absolute;
  left: 0;
  width: 19px;
  height: 2px;
  background: #111;
  transition: transform .25s ease, opacity .2s ease, top .25s ease;
}
.lb-menu-toggle span:nth-child(1) { top: 0; }
.lb-menu-toggle span:nth-child(2) { top: 8.5px; }
.lb-menu-toggle span:nth-child(3) { top: 17px; }
.lb-menu-open .lb-menu-toggle span:nth-child(1) { top: 8.5px; transform: rotate(45deg); }
.lb-menu-open .lb-menu-toggle span:nth-child(2) { opacity: 0; }
.lb-menu-open .lb-menu-toggle span:nth-child(3) { top: 8.5px; transform: rotate(-45deg); }
.lb-announcement {
  display: block;
  padding: 10px 15%;
  background: var(--lb-ink);
  color: #fff;
  text-align: center;
  font-family: "adobe-garamond-pro", Georgia, serif;
  font-size: 19px;
  font-style: italic;
  font-weight: 500;
  line-height: 1.5;
}

/* Full-screen menu */
.lb-menu-overlay {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: none;
  overflow: hidden;
  background: #fff;
}
.lb-menu-open .lb-menu-overlay { display: block; }
.lb-menu-overlay__top {
  height: var(--lb-header-h);
  border-bottom: 1px solid #eee;
  display: grid;
  grid-template-columns: 33.723% 60.829% 5.448%;
  align-items: stretch;
  width: min(100%, var(--lb-max));
  margin-inline: auto;
}
.lb-menu-overlay__logo { display:flex; align-items:center; padding:10px; }
.lb-menu-overlay__logo img { width: 85px; height: auto; }
.lb-menu-overlay__links { display: flex; justify-content: flex-end; align-items: center; flex-wrap: nowrap; }
.lb-menu-overlay__links .lb-header-link:first-child { margin: 0 10px 0 0; }
.lb-menu-overlay__links .lb-header-link:last-child { margin: 0 0 0 10px; }
.lb-menu-close {
  width: 19px;
  height: 19px;
  border: 0;
  background: transparent;
  position: relative;
  cursor: pointer;
  margin: auto;
}
.lb-menu-close::before, .lb-menu-close::after {
  content: "";
  position: absolute;
  left: 0;
  top: 8.5px;
  width: 19px;
  height: 2px;
  background: #111;
}
.lb-menu-close::before { transform: rotate(45deg); }
.lb-menu-close::after { transform: rotate(-45deg); }
.lb-menu-overlay__body {
  width: min(calc(100% - 40px), var(--lb-max));
  height: calc(100vh - var(--lb-header-h));
  margin: 0 auto;
  padding: 20px 0 32px;
}
.lb-overlay-nav {
  position: relative;
  height: 100%;
  overflow: hidden;
}
.lb-overlay-nav ul { margin: 0; padding: 0; list-style: none; }
.lb-menu-panel {
  position: absolute;
  inset: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  transform: translateX(100%);
  transition: transform .36s cubic-bezier(.4,0,.2,1);
  background: #fff;
  visibility: hidden;
  pointer-events: none;
  will-change: transform;
}
.lb-menu-panel.is-active {
  transform: translateX(0);
  visibility: visible;
  pointer-events: auto;
}
.lb-menu-panel.is-left {
  transform: translateX(-100%);
  visibility: visible;
  pointer-events: none;
}
.lb-menu-panel--root > .lb-overlay-menu {
  min-height: 100%;
  display: flex;
  flex-direction: column;
}
.lb-menu-panel--root > .lb-overlay-menu > li {
  flex: 1 1 0;
  min-height: 58px;
  display: flex;
  align-items: stretch;
  position: relative;
  border-bottom: 1px solid #ececec;
}
.lb-menu-panel--root > .lb-overlay-menu > li > a {
  flex: 1 1 auto;
  min-height: 100%;
}
.lb-overlay-nav a {
  display: flex;
  align-items: center;
  min-height: 58px;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 1.6em;
  font-weight: 400;
  line-height: 1.15;
  letter-spacing: .5px;
  color: #333;
}
.lb-overlay-nav .menu-item-has-children { position: relative; }
.lb-submenu-toggle {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  width: 58px;
  height: 58px;
  border: 0;
  background: transparent;
  cursor: pointer;
  z-index: 2;
}
.lb-submenu-toggle::after {
  content: "";
  position: absolute;
  left: 21px;
  top: 21px;
  width: 10px;
  height: 10px;
  border-right: 1px solid #333;
  border-bottom: 1px solid #333;
  transform: rotate(-45deg);
}
/* Submenus are moved into their own sliding panels by theme.js. */
.lb-overlay-nav .sub-menu { display: none; }
.lb-menu-panel > .sub-menu {
  display: block;
  width: 100%;
}
.lb-menu-back {
  width: 100%;
  min-height: 80px;
  display: flex;
  align-items: center;
  padding: 0;
  border: 0;
  border-bottom: 1px solid #ececec;
  background: #fff;
  color: #333;
  cursor: pointer;
  text-align: left;
  font-family: "adobe-garamond-pro", Georgia, serif;
  font-size: 25px;
  font-weight: 400;
  line-height: 1.2;
}
.lb-menu-panel > .sub-menu > li {
  position: relative;
  min-height: 80px;
  display: flex;
  align-items: stretch;
  margin: 0;
  padding: 0;
  border-bottom: 1px solid #ececec;
}
.lb-menu-panel > .sub-menu > li > a {
  width: 100%;
  min-height: 80px;
  margin: 0;
  padding: 0;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 24px;
  font-style: italic;
  font-weight: 400;
  line-height: 1.35;
  letter-spacing: 0;
}
.lb-menu-panel > .sub-menu > li > .lb-submenu-toggle {
  top: 50%;
}


/* Gentle media reveal: keeps the fast first paint but avoids lazy-loaded
 * photography snapping abruptly into view. JS only applies this to lazy images. */
.lb-media-fade {
  opacity: 0;
  transition: opacity .26s ease-out;
}
.lb-media-fade.is-loaded { opacity: 1; }

/* Homepage: video and centre-line rhythm */
.lb-home-hero { position:relative; width:100%; height:min(41.6667vw,800px); overflow:hidden; background:var(--lb-ink); }
.lb-home-hero__poster,
.lb-home-hero .hero-video { position:absolute; inset:0; width:100%; height:100%; max-width:none; object-fit:cover; }
.lb-home-hero__poster { z-index:0; }
.lb-home-hero .hero-video { z-index:1; opacity:0; transition:opacity .45s ease; }
.lb-home-hero .hero-video.is-ready { opacity:1; }
@media (max-width: 767px) { .lb-home-hero { height:auto; aspect-ratio:16/9; } }
.lb-axis-space { position: relative; width: 100%; }
.lb-axis-space::after { content:""; position:absolute; left:50%; top:0; width:1px; height:100%; transform:translateX(-.5px); }
.lb-axis-space--dark { background: var(--lb-ink); }
.lb-axis-space--dark::after { background: rgba(255,255,255,.28); }
.lb-axis-space--light { background:#fff; }
.lb-axis-space--light::after { background: rgba(55,60,63,.125); }
.lb-axis-space--35 { height:35px; }
.lb-axis-space--50 { height:50px; }
.lb-axis-space--55 { height:55px; }
.lb-axis-space--70 { height:70px; }
.lb-axis-space--75 { height:75px; }
.lb-axis-space--85 { height:85px; }
.lb-axis-space--90 { height:90px; }
.lb-axis-space--hero { height:70px; margin-top:-6px; margin-bottom:-6px; }
.lb-axis-space--line-start-20::after { top:20px; height:calc(100% - 20px); }
.lb-axis-space--margin-top-30 { margin-top:30px; }

.lb-home-logo-band { background:var(--lb-ink); padding:30px 10px 10px; text-align:center; }
.lb-home-logo-band img { width: 320px; max-width: 100%; height:auto; margin: 0 auto; }

.lb-standard-heading { width:100%; }
.lb-standard-heading > .lb-container { padding:10px; }
.lb-standard-heading--intro { margin-top:20px; }
.lb-standard-heading--create { margin-top:20px; }
.lb-standard-heading--gallery,
.lb-standard-heading--awards { margin-top:15px; }

/* Four route cards */
.lb-route-grid {
  width: min(100%, var(--lb-max));
  margin: 25px auto 0;
  padding-inline:0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 0;
}
.lb-route-card { margin: 3px; text-align: center; min-width:0; }
.lb-route-card__image { display:block; overflow: hidden; margin-bottom:24px; aspect-ratio:10/7; }
.lb-route-card__image img { width: 100%; height: 100%; object-fit: cover; object-position:center; transition: filter 1s ease; }
.lb-route-card:hover .lb-route-card__image img { filter: brightness(.84); }
.lb-route-card__title { display: flex; justify-content: center; align-items: baseline; gap:5px; }
.lb-route-card__script,
.lb-inline-title__script {
  font-synthesis: none;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 2.2em;
  font-weight: 500;
  font-style: italic;
  line-height: 1;
  letter-spacing: 1.5px;
  text-transform: lowercase;
  color: var(--lb-ink);
}
.lb-route-card__caps,
.lb-inline-title__caps {
  font-synthesis: none;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 2.4em;
  font-weight: 500;
  font-style: normal;
  line-height: 1;
  letter-spacing: 1.9px;
  text-transform: uppercase;
  color: var(--lb-ink);
}
.lb-route-card__rule { display:block; width:7%; height:1px; margin:20px auto; background:rgba(55,60,63,.188); }

/* Sunset split */
.lb-sunset { display:grid; grid-template-columns:1fr 1fr; margin-top:30px; }
.lb-sunset__image { position:relative; overflow:hidden; padding:10px; background-position:center; background-size:cover; }
.lb-cover-image { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; }
.lb-sunset__image-spacer { display:block; height:500px; }
.lb-sunset__content { background:var(--lb-ink); padding:50px 50px 50px 80px; color:#fff; }
.lb-sunset__top-space,
.lb-sunset__bottom-space { height:140px; }
.lb-inline-title { display:flex; align-items:baseline; flex-wrap:wrap; gap:5px; margin:0; }
.lb-inline-title--center { justify-content:center; }
.lb-inline-title--white .lb-inline-title__script,
.lb-inline-title--white .lb-inline-title__caps { color:#fff; }
.lb-inline-title__script--story { font-size:2em; }
.lb-inline-title__script--country { font-size:2em; letter-spacing:1.9px; }
.lb-sunset__copy {
  margin:20px 50px 20px 0;
  font-family:"adobe-garamond-pro", Georgia, serif;
  font-size:19px;
  font-weight:500;
  line-height:1.5;
  text-align:left;
  color:#fff;
}
.lb-underlined-link {
  display: table;
  border-bottom: 2px solid currentColor;
  padding: 0 0 8px;
  font-family: "adobe-garamond-pro", Georgia, serif;
  font-size: 20px;
  font-weight: 500;
  line-height: 1;
  letter-spacing:.5px;
  text-transform: capitalize;
}
.lb-underlined-link--left { margin: -15px 0 0; }

/* 40 / 60 editorial rows */
.lb-story-row {
  width:min(100%, var(--lb-max));
  margin:30px auto 0;
  display:grid;
  grid-template-columns:39.95% 60.05%;
  align-items:stretch;
}
.lb-story-row__copy { align-self:center; margin:0 40px 0 20px; padding:10px; }
.lb-story-row__text {
  margin-top:15px;
  font-family:"adobe-garamond-pro", Georgia, serif;
  font-size:19px;
  font-weight:500;
  line-height:1.5;
  text-align:left;
  color:var(--lb-ink);
}
.lb-story-row__image { position:relative; overflow:hidden; padding:10px; background-position:center; background-size:cover; }
.lb-story-row__image-spacer { display:block; height:520px; }
.lb-story-row--support { grid-template-columns:60.05% 39.95%; margin-top:50px; }
.lb-story-row--support .lb-story-row__copy { margin:0 30px; }

/* Coast & country */
.lb-country-pre-space { height:110px; }
.lb-country-image { position:relative; overflow:hidden; height:620px; background-position:center center; background-size:cover; }
.lb-country-copy { padding:30px 0 10px; background:var(--lb-ink); color:#fff; }
.lb-country-copy > .lb-container { padding-inline:10px; }
.lb-country-copy__text {
  margin-right:40px;
  padding-inline:8%;
  font-family:"adobe-garamond-pro", Georgia, serif;
  font-size:19px;
  font-weight:500;
  line-height:1.5;
  text-align:center;
  color:#fff;
}
.lb-country-copy .lb-inline-title { margin-bottom:10px; }

/* Gallery */
.lb-gallery-section { margin-top:10px; padding-block:10px; }
.lb-gallery-link {
  margin:0 auto 30px;
  padding:5px 6px 5px 5px;
  background:#fff;
  color:var(--lb-text);
  font-family:"adobe-garamond-pro", Georgia, serif;
  font-size:19px;
  font-style:italic;
  letter-spacing:0;
  text-transform:none;
}
.lb-gallery-grid {
  width:min(calc(100% - 16px), 1124px);
  aspect-ratio:4/3;
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  grid-template-rows:repeat(3, minmax(0,1fr));
  gap:0;
}
.lb-gallery-grid__item { overflow:hidden; padding:2px; background:#fff; }
.lb-gallery-grid__item:nth-child(1) { grid-column:1; grid-row:1; }
.lb-gallery-grid__item:nth-child(2) { grid-column:2; grid-row:1; }
.lb-gallery-grid__item:nth-child(3) { grid-column:3; grid-row:1; }
.lb-gallery-grid__item:nth-child(4) { grid-column:1; grid-row:2; }
.lb-gallery-grid__item:nth-child(5) { grid-column:2 / span 2; grid-row:2 / span 2; }
.lb-gallery-grid__item:nth-child(6) { grid-column:1; grid-row:3; }
.lb-gallery-grid img { width:100%; height:100%; object-fit:cover; object-position:center; transition:filter .3s linear; }
.lb-gallery-grid__item:hover img { filter:brightness(.9); }

/* Awards */
.lb-awards { padding-inline:0; }
.lb-awards__divider { width:100%; height:1px; background:rgba(55,60,63,.125); }
.lb-awards__grid {
  width:min(100%, var(--lb-max));
  margin:10px auto 0;
  display:grid;
  grid-template-columns:repeat(8, minmax(0,1fr));
  align-items:center;
}
.lb-award { display:flex; align-items:center; justify-content:center; min-width:0; }
.lb-award--local { padding:25px 35px; }
.lb-award--hitched { padding:0 10px; }
.lb-award img { display:block; width:auto; max-width:100%; max-height:125px; height:auto; object-fit:contain; }
.lb-award--wide img { width:150px; max-width:150px; }
.lb-award--boho img { width:90%; }
.lb-awards__divider--bottom { margin-top:10px; }
.lb-home-end-space { height:75px; }

/* Footer */
.lb-site-footer { margin-top:0; }
.lb-footer-main { background:var(--lb-ink); color:#fff; padding:20px 10px 75px; }
.lb-footer-main__inner { width:min(100%, calc(var(--lb-max) - 20px)); margin:0 auto; }
.lb-footer-logo { width: 90px; height:auto; margin:0 auto 25px; }
.lb-footer-rule { height:1px; background:rgba(255,255,255,.09); margin:0 0 15px; }
.lb-footer-columns { display:grid; grid-template-columns:repeat(3,1fr); gap:0; margin-bottom:15px; }
.lb-footer-column { padding:10px; }
.lb-footer-heading {
  margin:0 0 30px 8px;
  font-family: "Montserrat", Arial, sans-serif;
  font-size: .9em;
  font-weight: 600;
  line-height:1;
  letter-spacing: 3px;
  text-align: center;
  text-transform: uppercase;
}
.lb-footer-list { margin: 0; padding: 0; list-style: none; text-align: center; }
.lb-footer-list li + li { margin-top:20px; }
.lb-footer-list a { display:inline-block; padding:0; font-size:17px; line-height:1.5; }
.lb-footer-list a:hover { text-decoration: underline; text-underline-offset: 3px; }
.lb-footer-bottom { padding:0 10px; margin:20px 0; color:var(--lb-ink); }
.lb-footer-bottom__inner { width: min(100%, var(--lb-max)); margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; align-items: center; }
.lb-footer-copy { font-family: "adobe-garamond-pro", Georgia, serif; font-size: 16px; }
.lb-footer-legal { display: flex; justify-content: flex-end; gap: 0; margin: 0; padding: 0; list-style: none; font-size: 16px; }
.lb-footer-legal li + li::before { content: "|"; margin: 0 10px; color: rgba(55,60,63,.45); }

/* Some imported Elementor pages contain page-level `li` rules (Your Wedding
   sets list-style-type:circle). The legacy renderer intentionally preserves
   that content CSS, so keep the hand-built site footer insulated from it. */
.lb-footer-list,
.lb-footer-legal { list-style:none !important; }
.lb-footer-list li,
.lb-footer-legal li { list-style:none !important; margin-bottom:0 !important; }

/* General fallback templates */
.lb-content { width: min(calc(100% - 40px), 900px); margin: 60px auto; }
.lb-content h1, .lb-content h2, .lb-content h3 { font-family: "Cormorant Garamond", Georgia, serif; color: var(--lb-ink); }

@media (max-width: 1024px) {
  .lb-header-links { margin-right:30px; }
  .lb-header-links .lb-header-link:first-child { margin:0 10px 0 0; }
  .lb-header-links .lb-header-link:last-child { margin:0 0 0 10px; }
  .lb-header-link { font-size:18px; }
  .lb-header-slash { margin-top:0; line-height:1; }
  .lb-menu-toggle { margin-right:20px; }
  .lb-announcement { padding:10px 5%; font-size:17px; }

  .lb-home-logo-band img { width:270px; }
  .lb-route-grid { padding-inline:10px; }
  .lb-display { font-size:2.6em; }
  .lb-body-copy { padding-inline:5%; }
  .lb-body-copy--create { padding-inline:5%; }

  .lb-route-card__script,
  .lb-inline-title__script { font-size:1.7em; }
  .lb-route-card__caps,
  .lb-inline-title__caps { font-size:2em; }
  .lb-inline-title__script--story,
  .lb-inline-title__script--country { font-size:1.7em; }

  .lb-sunset { grid-template-columns:1fr; margin-top:10px; }
  .lb-sunset__image-spacer { height:450px; }
  .lb-sunset__top-space,
  .lb-sunset__bottom-space { height:10px; }
  .lb-sunset__copy { margin-right:0; text-align:center; }
  .lb-sunset__content .lb-inline-title { justify-content:center; }
  .lb-underlined-link--left { margin-left:auto; margin-right:auto; }

  .lb-story-row,
  .lb-story-row--support { grid-template-columns:1fr; width:100%; }
  .lb-story-row__image-spacer { height:460px; }
  .lb-story-row__copy,
  .lb-story-row--support .lb-story-row__copy { margin:40px 50px; padding:10px; }
  .lb-story-row--exclusive .lb-story-row__image { order:-1; }
  .lb-story-row--support { margin-top:0; }

  .lb-country-pre-space { display:none; }
  .lb-country-image { height:480px; }
  .lb-country-copy__text { margin-right:0; padding-inline:8%; }

  .lb-awards { padding-inline:20px; }
  .lb-awards__grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .lb-award--local { padding:25px 35px; }
  .lb-award--hitched { padding:10px; }
}

@media (max-width: 767px) {
  :root { --lb-header-h:90px; }
  .lb-site-header__inner,
  .lb-menu-overlay__top { grid-template-columns:26% 59% 15%; }
  .lb-site-logo,
  .lb-menu-overlay__logo { padding:10px; }
  .lb-site-logo img,
  .lb-menu-overlay__logo img { width:70px; }
  .lb-header-links,
  .lb-menu-overlay__links {
    margin:0;
    padding-right:14px;
    justify-content:flex-end;
  }
  .lb-header-links .lb-header-link:first-child,
  .lb-menu-overlay__links .lb-header-link:first-child { margin:0 6px 0 0; }
  .lb-header-links .lb-header-link:last-child,
  .lb-menu-overlay__links .lb-header-link:last-child { margin:0 0 0 5px; }
  .lb-header-link { padding:0 0 5px; font-size:16px; }
  .lb-desktop-word { display:none; }
  .lb-header-slash { margin-top:0; font-size:22px; line-height:1; }
  .lb-menu-toggle,
  .lb-menu-close { margin-left:10px; margin-right:20px; }
  .lb-announcement { padding:10px 5%; font-size:17px; }
  .lb-menu-overlay__body { width:calc(100% - 30px); height:calc(100vh - var(--lb-header-h)); padding:10px 0 22px; }
  .lb-overlay-nav a { min-height:46px; font-size:1.22em; }
  .lb-menu-panel--root > .lb-overlay-menu > li { min-height:46px; }
  .lb-menu-panel--root > .lb-overlay-menu > li > .lb-submenu-toggle { width:46px; height:46px; }
  .lb-menu-panel--root > .lb-overlay-menu > li > .lb-submenu-toggle::after { left:17px; top:17px; }
  .lb-menu-back { min-height:56px; font-size:20px; }
  .lb-menu-panel > .sub-menu > li { min-height:56px; }
  .lb-menu-panel > .sub-menu > li > a { min-height:56px; font-size:18px; line-height:1.3; }
  .lb-menu-panel > .sub-menu > li > .lb-submenu-toggle { width:46px; height:46px; }
  .lb-menu-panel > .sub-menu > li > .lb-submenu-toggle::after { left:17px; top:17px; }

  .lb-home-logo-band img { width:250px; }
  .lb-route-grid { grid-template-columns:1fr; }
  .lb-route-card { margin:3px; }

  .lb-sunset__image-spacer { height:250px; }
  .lb-sunset__content { padding:45px 30px; }
  .lb-sunset__top-space,
  .lb-sunset__bottom-space { height:0; }
  .lb-sunset__copy { margin:20px 0; }

  .lb-axis-space--pre-awards { margin-top:15px; }

  .lb-story-row { margin-top:30px; }
  .lb-story-row--support { margin-top:0; }
  .lb-story-row__copy,
  .lb-story-row--support .lb-story-row__copy { margin:45px 30px; padding:0; }
  .lb-story-row__image-spacer { height:250px; }

  .lb-country-image { height:270px; }
  .lb-country-copy > .lb-container { padding-inline:20px; }
  .lb-country-copy__text { padding-inline:0; }

  .lb-gallery-link { font-size:18px; }
  .lb-gallery-grid {
    width:calc(100% - 20px);
    aspect-ratio:auto;
    grid-template-columns:1fr;
    grid-template-rows:none;
  }
  .lb-gallery-grid__item,
  .lb-gallery-grid__item:nth-child(1),
  .lb-gallery-grid__item:nth-child(2),
  .lb-gallery-grid__item:nth-child(3),
  .lb-gallery-grid__item:nth-child(4),
  .lb-gallery-grid__item:nth-child(5),
  .lb-gallery-grid__item:nth-child(6) { grid-column:auto; grid-row:auto; aspect-ratio:4/3; padding:2px; }

  .lb-awards { padding-inline:15px; }
  .lb-awards__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .lb-award { min-height:150px; }
  .lb-award--local,
  .lb-award--hitched { padding:0 10px; }

  .lb-footer-logo { width:80px; }
  .lb-footer-columns { grid-template-columns:1fr; gap:15px; }
  .lb-footer-heading { font-size:.8em; }
  .lb-footer-list a { font-size:15px; }
  .lb-footer-main { padding-left:10px; padding-right:10px; }
  .lb-footer-heading { margin-left:8px; margin-bottom:30px; }
  .lb-footer-list li + li { margin-top:20px; }
  .lb-footer-bottom { padding:0; margin:15px 0; }
  .lb-footer-bottom__inner { grid-template-columns:1fr; text-align:center; }
  .lb-footer-copy { order:2; margin-top:12px; font-size:13px; }
  .lb-footer-legal { order:1; justify-content:center; flex-wrap:wrap; font-size:13px; }
}

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

/* ==========================================================
   Lightweight legacy-page renderer (v2.6.6)
   ========================================================== */
.lb-main,
.lb-legacy-page { width:100%; }
.lb-er-section { width:100%; position:relative; }
.lb-er-container {
  width:100%;
  max-width:1140px;
  margin-inline:auto;
  display:flex;
  flex-wrap:nowrap;
  align-items:stretch;
}
.lb-er-section--inner > .lb-er-container { max-width:100%; }
.lb-er-column {
  min-width:0;
  display:flex;
  flex:1 1 0;
  flex-direction:column;
  position:relative;
  background-position:center;
  background-size:cover;
}
.lb-er-column-inner {
  /* Elementor column margins sit outside the populated wrapper. Using an
     explicit 100% width made those margins overflow into neighbouring image
     columns, visually erasing the intended 3px/6px photo gutters. Auto width
     lets flexbox stretch the wrapper inside its margins, matching Elementor. */
  width:auto;
  min-height:1px;
  display:flex;
  flex:1 1 auto;
  flex-direction:row;
  flex-wrap:wrap;
  align-content:flex-start;
  align-items:flex-start;
  padding:10px;
}
.lb-er-widget { position:relative; width:100%; min-width:0; flex:0 1 100%; }
.lb-er-widget:not(:last-child) { margin-bottom:20px; }
.lb-er-widget--auto:not(:last-child) { margin-bottom:0; }
.lb-er-widget-inner { width:100%; }
.lb-er-heading {
  margin:0;
  color:var(--lb-ink);
  font-family:"Cormorant Garamond", Georgia, serif;
  font-weight:500;
  line-height:1;
}
.lb-er-heading a { color:inherit; }
.lb-er-text {
  color:var(--lb-text);
  font-family:"adobe-garamond-pro", Georgia, serif;
  font-size:19px;
  font-weight:500;
  line-height:1.5;
}
.lb-er-text p { margin:0 0 .9em; }
.lb-er-text p:last-child { margin-bottom:0; }
.lb-er-text ul,
.lb-er-text ol { margin:0 0 1em 1.25em; padding:0; }
.lb-er-text a { text-decoration:underline; text-underline-offset:3px; }
.lb-er-divider { display:flex; width:100%; align-items:center; justify-content:center; }
.lb-er-divider-line { display:block; width:100%; border-top:1px solid rgba(55,60,63,.125); }
.lb-er-spacer { height:50px; width:100%; }
.lb-er-image { margin:0; width:100%; overflow:hidden; }
.lb-er-image img { display:block; width:100%; height:auto; margin:0 auto; }
.lb-er-button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:10px 18px;
  border:1px solid var(--lb-ink);
  border-radius:0;
  background:#fff;
  color:var(--lb-ink);
  font-family:"adobe-garamond-pro", Georgia, serif;
  font-size:19px;
  font-style:italic;
  font-weight:500;
  line-height:1;
  transition:background .2s ease,color .2s ease;
}
.lb-er-button:hover { background:var(--lb-ink); color:#fff; }
.lb-er-icon-list { list-style:none; margin:0; padding:0; }
.lb-er-icon-list li { display:flex; align-items:flex-start; gap:10px; }
.lb-er-icon-list__icon { flex:0 0 auto; font-size:1.15em; line-height:1.15; }
.lb-er-icon-list__text { flex:1 1 auto; }
.lb-er-video { position:relative; width:100%; aspect-ratio:16/9; overflow:hidden; background:#000; }
.lb-er-video iframe { display:block; width:100%; height:100%; border:0; }
.lb-er-video__poster { display:block; width:100%; height:100%; object-fit:cover; }
.lb-er-video__play {
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  width:100%;
  height:100%;
  margin:0;
  padding:0;
  border:0;
  background:transparent;
  cursor:pointer;
}
.lb-er-video__play::before {
  content:"";
  width:72px;
  height:72px;
  border-radius:50%;
  background:rgba(255,255,255,.94);
  box-shadow:0 4px 24px rgba(0,0,0,.18);
  transition:transform .2s ease, background .2s ease;
}
.lb-er-video__play-icon {
  position:absolute;
  left:50%;
  top:50%;
  width:0;
  height:0;
  margin-left:4px;
  transform:translate(-50%,-50%);
  border-top:10px solid transparent;
  border-bottom:10px solid transparent;
  border-left:16px solid var(--lb-ink);
}
.lb-er-video__play:hover::before,
.lb-er-video__play:focus-visible::before { transform:scale(1.06); background:#fff; }
.lb-er-video__play:focus-visible { outline:2px solid #fff; outline-offset:-4px; }
.lb-er-widget--html video { width:100%; max-width:none; margin:0; }
.lb-er-gallery {
  --lb-gallery-cols:3;
  --lb-gallery-cols-tablet:var(--lb-gallery-cols);
  --lb-gallery-cols-mobile:2;
  --lb-gallery-gap:4px;
  display:grid;
  grid-template-columns:repeat(var(--lb-gallery-cols), minmax(0,1fr));
  gap:var(--lb-gallery-gap);
  width:100%;
}
.lb-er-gallery__item { display:block; overflow:hidden; min-width:0; }
.lb-er-gallery__item img { display:block; width:100%; height:100%; aspect-ratio:4/3; object-fit:cover; transition:filter .5s ease; }
.lb-er-gallery__item:hover img { filter:brightness(.9); }
/* Elementor Extras "mixed masonry" uses a 4:3 tile system. Every eighth
   isotope child (the seventh real image because of its hidden sizer) spans
   two columns and two rows. CSS Grid reproduces the same aligned bottom
   without loading the original gallery JavaScript. */
.lb-er-gallery--masonry {
  display:grid;
  grid-template-columns:repeat(var(--lb-gallery-cols), minmax(0,1fr));
  gap:var(--lb-gallery-gap);
  grid-auto-flow:dense;
  width:100%;
}
.lb-er-gallery--masonry .lb-er-gallery__item {
  display:block;
  min-width:0;
  margin:0;
  overflow:hidden;
  aspect-ratio:4 / 3;
}
.lb-er-gallery--masonry .lb-er-gallery__item img {
  display:block;
  width:100%;
  height:100%;
  aspect-ratio:auto;
  object-fit:cover;
}
.lb-er-gallery--mixed .lb-er-gallery__item:nth-child(8n + 7) {
  grid-column:span 2;
  grid-row:span 2;
}
.lb-er-accordion { width:100%; }
.lb-er-accordion__item { border-top:1px solid rgba(55,60,63,.13); margin-bottom:15px; }
.lb-er-accordion__button {
  width:100%;
  min-height:58px;
  padding:14px 46px 14px 10px;
  border:0;
  background:transparent;
  color:var(--lb-ink);
  cursor:pointer;
  text-align:left;
  position:relative;
  display:flex;
  align-items:center;
  font-family:"Cormorant Garamond", Georgia, serif;
  font-size:1.25em;
  font-weight:500;
}
.lb-er-accordion__plus,
.lb-er-accordion__plus::after {
  content:"";
  position:absolute;
  top:50%;
  right:16px;
  width:14px;
  height:1px;
  background:var(--lb-ink);
  transform:translateY(-50%);
}
.lb-er-accordion__plus::after { top:0; right:0; transform:rotate(90deg); }
.lb-er-accordion__item.is-open .lb-er-accordion__plus::after { transform:rotate(0); }
.lb-er-accordion__panel {
  padding:0 10px 22px;
  font-family:"adobe-garamond-pro", Georgia, serif;
  font-size:18px;
  line-height:1.5;
}
.lb-er-accordion__panel ul { margin:0 0 1em 1.25em; padding:0; }
.lb-blog-topics { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px 20px; }
.lb-blog-topics a { padding:9px 0; border-bottom:1px solid rgba(55,60,63,.14); }
.lb-er-icon {
  display:inline-flex;
  width:50px;
  height:50px;
  align-items:center;
  justify-content:center;
  border:1px solid var(--lb-ink);
  border-radius:50%;
  font-size:24px;
}
.lb-er-form-fallback { text-align:center; padding:40px 20px; }
.lb-er-form-fallback p + p { margin-top:20px; }

/* Saved HTML widgets include the site's hero videos. */
.lb-legacy-page .hero-video { display:block; width:100%; max-width:none; height:600px; object-fit:cover; }

/* Basic non-Elementor pages */
.lb-basic-page__inner { padding:80px 30px; }
.lb-basic-page__content { width:min(850px,100%); margin:35px auto 0; font-size:18px; line-height:1.65; }
.lb-basic-page__content > *:first-child { margin-top:0; }
.lb-basic-page__content img { height:auto; }

/* Blog archive/listing */
.lb-blog-list { display:grid; gap:55px; }
.lb-blog-card {
  display:grid;
  grid-template-columns:minmax(0,48%) minmax(0,52%);
  align-items:center;
  border-bottom:1px solid rgba(55,60,63,.13);
  padding-bottom:55px;
}
.lb-blog-card__image { display:block; aspect-ratio:4/3; overflow:hidden; }
.lb-blog-card__image img { width:100%; height:100%; object-fit:cover; }
.lb-blog-card__copy { padding:20px 6%; }
.lb-blog-card__meta {
  margin:0 0 14px;
  font-family:"Montserrat",Arial,sans-serif;
  font-size:12px;
  font-weight:600;
  letter-spacing:2px;
  text-transform:uppercase;
}
.lb-blog-card h2 { margin:0 0 15px; font-family:"Cormorant Garamond",Georgia,serif; font-size:2.25em; font-weight:500; line-height:1.05; }
.lb-blog-card__excerpt { font-size:18px; line-height:1.55; }
.lb-blog-card__excerpt p { margin:0; }
.lb-blog-card .lb-underlined-link { margin-top:20px; }
.lb-pagination { width:min(100%,var(--lb-max)); margin:45px auto 70px; text-align:center; }
.lb-pagination .page-numbers { list-style:none; margin:0; padding:0; display:flex; justify-content:center; gap:14px; }
.lb-pagination .page-numbers a,
.lb-pagination .page-numbers span { padding:7px 8px; font-size:18px; }
.lb-pagination .page-numbers.current { border-bottom:1px solid var(--lb-ink); }

/* Single posts */
.lb-post__head { padding:55px 20px 30px; text-align:center; }
.lb-post__rule { height:1px; background:rgba(55,60,63,.14); margin-bottom:30px; }
.lb-post__rule--bottom { margin:30px 0 0; }
.lb-post__meta { margin:0 0 14px; font-family:"Montserrat",Arial,sans-serif; font-size:12px; font-weight:600; letter-spacing:2px; text-transform:uppercase; }
.lb-post__head h1 { margin:0 auto 18px; max-width:1000px; font-family:"Cormorant Garamond",Georgia,serif; font-size:2.75em; font-weight:500; line-height:1.05; color:var(--lb-ink); }
.lb-post__intro { max-width:900px; margin:0 auto; font-size:19px; line-height:1.5; }
.lb-post__featured { padding:0 20px; }
.lb-post__featured img { width:100%; height:auto; }
.lb-post__content { width:min(900px,calc(100% - 40px)); margin:55px auto; font-size:19px; line-height:1.65; }
.lb-post__content h2,
.lb-post__content h3 { font-family:"Cormorant Garamond",Georgia,serif; color:var(--lb-ink); font-weight:500; line-height:1.1; }
.lb-post__content h2 { font-size:2.2em; }
.lb-post__content h3 { font-size:1.7em; }
.lb-post__content img { height:auto; }
.lb-post__content .wp-block-image { margin:35px 0; }
.lb-recent-posts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.lb-recent-posts .lb-blog-card { display:block; border:0; padding:0; }
.lb-recent-posts .lb-blog-card__copy { padding:22px 0; }
.lb-recent-posts .lb-blog-card h2 { font-size:1.65em; }
.lb-recent-posts .lb-blog-card__excerpt { display:none; }

/* 404 */
.lb-404 { min-height:65vh; display:flex; align-items:center; }
.lb-404__inner { padding:90px 20px; text-align:center; }
.lb-404__inner .lb-er-button { margin-top:30px; }

/* Lightbox used by converted legacy galleries. */
body.lb-lightbox-open { overflow:hidden; }
.lb-lightbox {
  position:fixed;
  inset:0;
  z-index:12000;
  display:none;
  align-items:center;
  justify-content:center;
  padding:55px 86px;
  background:rgba(0,0,0,.94);
}
.lb-lightbox.is-open { display:flex; }
.lb-lightbox__figure {
  margin:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  max-width:100%;
  max-height:100%;
}
.lb-lightbox__image {
  display:block;
  max-width:min(94vw, 1500px);
  max-height:86vh;
  width:auto;
  height:auto;
  object-fit:contain;
}
.lb-lightbox__counter {
  min-height:20px;
  margin-top:12px;
  color:#fff;
  font-family:Montserrat, Arial, sans-serif;
  font-size:12px;
  letter-spacing:.12em;
}
.lb-lightbox__close,
.lb-lightbox__nav {
  position:absolute;
  border:0;
  background:transparent;
  color:#fff;
  cursor:pointer;
  line-height:1;
  opacity:.9;
  transition:opacity .2s ease;
}
.lb-lightbox__close:hover,
.lb-lightbox__nav:hover { opacity:1; }
.lb-lightbox__close { top:15px; right:22px; font-size:40px; }
.lb-lightbox__nav {
  top:50%;
  transform:translateY(-50%);
  width:58px;
  height:80px;
  font-size:58px;
  font-family:Arial, sans-serif;
  font-weight:200;
}
.lb-lightbox__nav--prev { left:14px; }
.lb-lightbox__nav--next { right:14px; }

/* Standalone calculator integration */
.lb-legacy-page .lbc-estimator { margin:0 auto; }

@media (max-width:1023px) {
  .lb-er-container { max-width:100%; }
  .lb-legacy-page .hero-video { height:450px; }
  .lb-blog-card { grid-template-columns:48% 52%; }
  .lb-recent-posts { gap:12px; }
}

@media (max-width:767px) {
  .lb-er-container { flex-wrap:wrap; }
  .lb-er-column { flex:0 0 100%; max-width:100%; }
  .lb-er-column-inner { padding:10px; }
  .lb-er-widget:not(:last-child) { margin-bottom:15px; }
  .lb-legacy-page .hero-video { height:250px; }
  .lb-er-gallery { grid-template-columns:repeat(var(--lb-gallery-cols-mobile),minmax(0,1fr)); }
  .lb-er-gallery--masonry { grid-template-columns:repeat(var(--lb-gallery-cols-mobile),minmax(0,1fr)); }
  .lb-er-gallery--mixed .lb-er-gallery__item:nth-child(8n + 7) { grid-column:auto; grid-row:auto; }
  .lb-blog-topics { grid-template-columns:1fr; }
  .lb-blog-card { grid-template-columns:1fr; padding-bottom:35px; gap:0; }
  .lb-blog-card__copy { padding:25px 10px 0; }
  .lb-blog-card h2 { font-size:1.8em; }
  .lb-post__head { padding:35px 15px 20px; }
  .lb-post__head h1 { font-size:2.05em; }
  .lb-post__featured { padding:0 10px; }
  .lb-post__content { width:calc(100% - 30px); margin:35px auto; font-size:18px; }
  .lb-recent-posts { grid-template-columns:1fr; padding-inline:15px; }
  .lb-recent-posts .lb-blog-card__excerpt { display:block; }
  .lb-lightbox { padding:35px 46px; }
  .lb-lightbox__nav { width:40px; height:64px; font-size:46px; }
  .lb-lightbox__nav--prev { left:2px; }
  .lb-lightbox__nav--next { right:2px; }
  .lb-lightbox__close { top:8px; right:12px; }
}

/* Elementor layout compatibility used by the lightweight legacy renderer. */
.lb-legacy-page { --lb-widget-spacing:20px; --kit-widget-spacing:20px; }
.lb-er-widget--spacer .lb-er-spacer { height:var(--spacer-size, 50px); }


/* ==========================================================
   Whole-site finishing pass (v2.7.1)
   ========================================================== */
/* Imported third-party embeds should always stay inside the content area. */
.lb-er-widget--html iframe,
.lb-er-widget--shortcode iframe { display:block; max-width:100%; width:100%; border:0; }
.lb-er-widget--html iframe[data-height] { min-height:797px; }
.lb-er-widget--html .calendly-inline-widget { width:100%; max-width:100%; }

/* The contact page uses an uploaded WhatsApp SVG in Elementor. */
.lb-er-icon { border:0; border-radius:0; background:transparent; padding:0; }
.lb-er-icon-image { display:block; width:100%; height:100%; object-fit:contain; }

/* Lightweight HubSpot fallback used when the original WP plugin is absent. */
.lb-hubspot-form { width:min(900px,100%); margin:0 auto; }
.lb-hubspot-form iframe { width:100% !important; }

/* Large imported grids benefit from predictable paint/layout behaviour. */
.lb-er-gallery__item img,
.lb-blog-card__image img,
.lb-er-image img { content-visibility:auto; }

/* Keep long editorial/legal content pleasantly readable. */
.elementor-3 .lb-er-text,
.elementor-12985 .lb-er-text { line-height:1.6; }
.elementor-3 > .lb-er-section > .lb-er-container,
.elementor-12985 > .lb-er-section > .lb-er-container { padding-inline:20px; }

@media (max-width:767px) {
  .lb-er-widget--html iframe[data-height] { min-height:720px; }
  .lb-hubspot-form { width:100%; }
}

/* ==========================================================
   Blog + single-post calibration from the live site (v2.7.2)
   ========================================================== */

/* Blog landing page. */
.lb-blog-hero {
  height: 600px;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}
.lb-blog-axis {
  position: relative;
  width: 100%;
}
.lb-blog-axis::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 1px;
  transform: translateX(-.5px);
}
.lb-blog-axis--dark { background: var(--lb-ink); }
.lb-blog-axis--dark::after { background: rgba(255,255,255,.28); }
.lb-blog-axis--light { background:#fff; }
.lb-blog-axis--light::after { background: rgba(55,60,63,.125); }
.lb-blog-axis--70 { height:70px; }
.lb-blog-axis--75 { height:75px; }
.lb-blog-axis--55 { height:55px; }

.lb-blog-intro {
  padding: 30px 0 0;
  background: var(--lb-ink);
  color:#fff;
  text-align:center;
}
.lb-blog-intro .lb-kicker {
  margin: 0 0 0 8px;
  color:#fff;
}
.lb-blog-intro .lb-display {
  margin: -2px 0 0;
  color:#fff;
}
.lb-blog-intro .lb-body-copy {
  margin:0;
  padding-inline:15%;
  color:#fff;
}
.lb-blog-rule {
  height:1px;
  background:rgba(55,60,63,.125);
}
.lb-blog-topics-wrap { padding:0; }
.lb-blog-topics-accordion .lb-er-accordion__item {
  margin:0;
  border:1px solid rgba(55,60,63,.125);
  border-top:0;
}
.lb-blog-topics-accordion .lb-er-accordion__button {
  min-height:0;
  padding:35px 55px 35px 25px;
  color:#54595f;
  font-family:"Montserrat",Arial,sans-serif;
  font-size:14px;
  font-weight:500;
  line-height:1.2;
  letter-spacing:2px;
  text-transform:uppercase;
}
.lb-blog-topics-accordion .lb-er-accordion__plus,
.lb-blog-topics-accordion .lb-er-accordion__plus::after {
  right:25px;
  width:13px;
  background:#54595f;
}
.lb-blog-topics-accordion .lb-er-accordion__plus::after { right:0; }
.lb-blog-topics-accordion .lb-er-accordion__panel {
  padding:30px;
  border-top:1px solid rgba(55,60,63,.125);
}
.lb-blog-topics {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0;
}
.lb-blog-topics ul {
  margin:5px 0;
  padding:0;
  list-style:none;
}
.lb-blog-topics li + li { margin-top:20px; }
.lb-blog-topics a {
  display:inline;
  padding:0;
  border:0;
  color:var(--lb-ink);
  font-family:"Cormorant Garamond",Georgia,serif;
  font-size:1.3em;
  font-style:italic;
  font-weight:400;
  line-height:1.2;
  letter-spacing:.2px;
}
.lb-blog-feed { margin-top:20px; }
.lb-blog-list { display:grid; gap:15px; }
.lb-blog-card {
  display:block;
  margin:0;
  padding:0;
  border:0;
}
.lb-blog-card__main {
  display:grid;
  grid-template-columns:48% 51.95%;
  align-items:stretch;
}
.lb-blog-card__image {
  display:block;
  width:100%;
  aspect-ratio:1000 / 850;
  overflow:hidden;
}
.lb-blog-card__image img {
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.lb-blog-card__copy {
  display:flex;
  flex-direction:column;
  justify-content:center;
  margin:0 30px;
  padding:0 0 0 10px;
}
.lb-blog-card__meta {
  margin:0 0 18px;
  font-family:"Montserrat",Arial,sans-serif;
  font-size:.8em;
  font-weight:400;
  line-height:1.2;
  letter-spacing:2px;
  text-transform:uppercase;
}
.lb-blog-card h2 {
  width:auto;
  max-width:none;
  margin:0;
  font-family:"Cormorant Garamond",Georgia,serif;
  font-size:1.9em;
  font-style:normal;
  font-weight:500;
  line-height:1.2;
  color:#242728;
  text-transform:uppercase;
}
.lb-blog-card .lb-underlined-link {
  align-self:flex-start;
  margin:20px 0 0;
  padding:0 0 8px;
  font-family:"adobe-garamond-pro",Georgia,serif;
  font-size:20px;
  font-style:italic;
  font-weight:500;
  line-height:1;
  letter-spacing:0;
  text-transform:capitalize;
}
.lb-blog-card__divider {
  margin-top:10px;
  padding:15px 0;
}
.lb-blog-card__divider::before {
  content:"";
  display:block;
  width:100%;
  border-top:1px solid rgba(55,60,63,.125);
}
.lb-blog-load-more-wrap { text-align:center; }
.lb-blog-load-more {
  margin-top:20px;
  padding:12px 24px;
  border:0;
  border-radius:0;
  background:var(--lb-ink);
  color:#fff;
  cursor:pointer;
  font-family:"adobe-garamond-pro",Georgia,serif;
  font-size:14px;
  font-style:normal;
  font-weight:500;
  line-height:1.2;
  letter-spacing:2px;
  text-transform:uppercase;
}
.lb-blog-load-more[disabled] { opacity:.6; cursor:wait; }
.lb-blog-tail-space { height:50px; }

/* Single blog posts mirror the Elementor single-post template. */
.lb-single-axis {
  position:relative;
  width:100%;
  background:#fff;
}
.lb-single-axis::after,
.lb-single-split-space::after {
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  left:50%;
  width:1px;
  transform:translateX(-.5px);
  background:rgba(55,60,63,.125);
}
.lb-single-axis--75 { height:75px; }
.lb-post__head {
  padding:0 10px;
  text-align:center;
}
.lb-post__rule {
  height:1px;
  margin:-10px 0 20px;
  background:rgba(55,60,63,.125);
}
.lb-post__meta {
  margin:0 0 20px;
  font-family:"Montserrat",Arial,sans-serif;
  font-size:.8em;
  font-weight:400;
  line-height:1.2;
  letter-spacing:2px;
  text-transform:uppercase;
}
.lb-post__head h1 {
  width:90%;
  max-width:none;
  margin:0 auto 20px;
  color:#242728;
  font-family:"Cormorant Garamond",Georgia,serif;
  font-size:2.2em;
  font-style:normal;
  font-weight:500;
  line-height:1.15;
  letter-spacing:1.9px;
  text-transform:uppercase;
}
.lb-post__intro {
  width:90%;
  max-width:none;
  margin:0 auto 20px;
  color:#3f3f3f;
  font-family:"adobe-garamond-pro",Georgia,serif;
  font-size:19px;
  font-style:italic;
  font-weight:500;
  line-height:1.5;
}
.lb-post__rule--bottom {
  margin:5px 0 10px;
}
.lb-post__featured {
  margin:0 auto;
  padding:0 10px;
}
.lb-post__featured img {
  display:block;
  width:100%;
  aspect-ratio:1200 / 800;
  height:auto;
  object-fit:cover;
  object-position:center;
}
.lb-post__content {
  width:min(900px,calc(100% - 20px));
  margin:20px auto 0;
  color:var(--lb-ink);
  font-family:"adobe-garamond-pro",Georgia,serif;
  font-size:1.2em;
  font-weight:300;
  line-height:1.5;
}
.lb-post__content p { margin:0 0 1.2em; }
.lb-post__content ul,
.lb-post__content ol { margin:0 0 1.2em 1.2em; padding:0; }
.lb-post__content strong { font-weight:600; }
.lb-post__content h2,
.lb-post__content h3,
.lb-post__content h4 { margin:1.1em 0 .55em; }
.lb-post__content img { width:auto; max-width:100%; height:auto; }
.lb-post__content .wp-block-image { margin:30px 0; }

.lb-single-split-space {
  position:relative;
  height:100px;
  width:100%;
}
.lb-single-split-space--top {
  margin-top:30px;
  border-top:1px solid rgba(55,60,63,.125);
}
.lb-single-related-heading { padding-top:15px; }
.lb-single-related-heading .lb-kicker { margin:0 0 0 8px; }
.lb-single-related-heading .lb-display { margin:-2px 0 0; }
.lb-single-related-heading .lb-body-copy {
  margin:0;
  padding-inline:15%;
  font-style:italic;
}
.lb-single-split-space--bottom {
  border-bottom:1px solid rgba(55,60,63,.125);
}
.lb-recent-posts {
  display:block;
  margin-top:30px;
  margin-bottom:50px;
}
.lb-recent-posts .lb-blog-card {
  display:block;
  margin:0;
  padding:0;
  border:0;
}
.lb-recent-posts .lb-blog-card__copy { padding-left:10px; }
.lb-recent-posts .lb-blog-card h2 { font-size:1.9em; }
.lb-single-tail-space { height:0; }

@media (max-width:1024px) {
  .lb-blog-hero { height:460px; }
  .lb-blog-intro .lb-display { font-size:2.6em; }
  .lb-blog-intro .lb-body-copy { padding-inline:5%; }
  .lb-blog-topics-wrap,
  .lb-blog-feed { width:calc(100% - 40px); }
  .lb-blog-topics a { font-size:1.1em; }
  .lb-blog-card__main { grid-template-columns:1fr; }
  .lb-blog-card__copy {
    margin:0 30px;
    padding:40px 20px;
  }
  .lb-blog-card h2 { font-size:1.8em; }
  .lb-post__head h1 { font-size:2em; }
  .lb-single-related-heading .lb-display { font-size:2.6em; }
  .lb-single-related-heading .lb-body-copy { padding-inline:5%; }
  .lb-recent-posts { width:calc(100% - 20px); }
}

@media (max-width:767px) {
  .lb-blog-hero { height:250px; }
  .lb-blog-topics-wrap,
  .lb-blog-feed { width:calc(100% - 30px); }
  .lb-blog-topics-accordion .lb-er-accordion__button { padding:35px 50px 35px 25px; }
  .lb-blog-topics-accordion .lb-er-accordion__panel { padding:30px; }
  .lb-blog-topics { grid-template-columns:1fr; }
  .lb-blog-topics ul { margin:5px 0; }
  .lb-blog-topics ul + ul { margin-top:12px; }
  .lb-blog-card__copy {
    margin:25px 30px;
    padding:0;
  }
  .lb-blog-card__meta { font-size:.7em; }
  .lb-blog-card h2 { font-size:1.5em; }
  .lb-blog-card .lb-underlined-link { font-size:18px; }
  .lb-post__head h1 { font-size:1.6em; }
  .lb-post__intro { font-size:1.1em; }
  .lb-post__content {
    width:calc(100% - 30px);
    font-size:1.1em;
  }
  .lb-single-related-heading .lb-display { font-size:2.2em; }
  .lb-recent-posts { width:calc(100% - 20px); }
  .lb-recent-posts .lb-blog-card h2 { font-size:1.5em; }
}


/* Real Weddings — keep the separator rule optically equidistant between each story row. */
.elementor-13032 .elementor-element-37da1aa,
.elementor-13032 .elementor-element-706ff88,
.elementor-13032 .elementor-element-dd11736,
.elementor-13032 .elementor-element-786c6f9,
.elementor-13032 .elementor-element-c057e87,
.elementor-13032 .elementor-element-98e1af4,
.elementor-13032 .elementor-element-7eeff7b,
.elementor-13032 .elementor-element-3ffc97b,
.elementor-13032 .elementor-element-dd7eb12,
.elementor-13032 .elementor-element-01b5728,
.elementor-13032 .elementor-element-4a835a2,
.elementor-13032 .elementor-element-9118621,
.elementor-13032 .elementor-element-f3ade44,
.elementor-13032 .elementor-element-71d83ea,
.elementor-13032 .elementor-element-594b461,
.elementor-13032 .elementor-element-ba8b1c0,
.elementor-13032 .elementor-element-07d0efc,
.elementor-13032 .elementor-element-eee4a32,
.elementor-13032 .elementor-element-03b6744,
.elementor-13032 .elementor-element-123d1bc,
.elementor-13032 .elementor-element-770d8ac,
.elementor-13032 .elementor-element-b5e832f {
  margin-bottom:30px !important;
}


/* Real Weddings — the first batch of imported wedding rows was missing the
 * standalone Elementor divider sections used later on the page. Add the same
 * subtle rule after those rows so every wedding is separated consistently. */
.elementor-13032 .elementor-element-75eaefd::after,
.elementor-13032 .elementor-element-64e823b::after,
.elementor-13032 .elementor-element-9eac810::after,
.elementor-13032 .elementor-element-ec1c1a8::after,
.elementor-13032 .elementor-element-d1fc880::after,
.elementor-13032 .elementor-element-3970881::after,
.elementor-13032 .elementor-element-a4e4743::after,
.elementor-13032 .elementor-element-683bc17b::after,
.elementor-13032 .elementor-element-f5b0405::after,
.elementor-13032 .elementor-element-c647328::after,
.elementor-13032 .elementor-element-e27d136::after,
.elementor-13032 .elementor-element-81c1c5e::after,
.elementor-13032 .elementor-element-748f641::after {
  content:"";
  display:block;
  width:100%;
  max-width:1200px;
  height:1px;
  margin:10px auto 30px;
  background:rgba(55,60,63,.125);
}

@media (max-width:767px) {
  .elementor-13032 .elementor-element-75eaefd::after,
  .elementor-13032 .elementor-element-64e823b::after,
  .elementor-13032 .elementor-element-9eac810::after,
  .elementor-13032 .elementor-element-ec1c1a8::after,
  .elementor-13032 .elementor-element-d1fc880::after,
  .elementor-13032 .elementor-element-3970881::after,
  .elementor-13032 .elementor-element-a4e4743::after,
  .elementor-13032 .elementor-element-683bc17b::after,
  .elementor-13032 .elementor-element-f5b0405::after,
  .elementor-13032 .elementor-element-c647328::after,
  .elementor-13032 .elementor-element-e27d136::after,
  .elementor-13032 .elementor-element-81c1c5e::after,
  .elementor-13032 .elementor-element-748f641::after {
    width:calc(100% - 10px);
    margin-top:5px;
    margin-bottom:20px;
  }
}

/* ==========================================================
   FAQ optical centring refinement (v2.7.21)
   ========================================================== */
/* Target the FAQ page wrapper itself rather than relying only on a body
 * class. The saved Elementor section includes a legacy 15px inter-item gap;
 * with a top-border-only lightweight accordion that gap makes the label look
 * high between the two visible rules. Remove it and retain the original
 * 35px / 25px title spacing explicitly. */
.elementor-12580 .lb-er-accordion__item,
body.lb-page-faqs .lb-er-accordion__item {
  margin-bottom:0 !important;
}

.elementor-12580 .lb-er-accordion__button,
body.lb-page-faqs .lb-er-accordion__button {
  min-height:0 !important;
  padding:35px 25px !important;
  display:flex !important;
  align-items:center !important;
  line-height:1.2 !important;
}

/* Montserrat uppercase sits a touch high inside its line box. Correct the
 * optical baseline without moving the button, its borders or the plus icon. */
.elementor-12580 .lb-er-accordion__button > span:first-child,
body.lb-page-faqs .lb-er-accordion__button > span:first-child {
  position:relative;
  top:2px;
}

.elementor-12580 .lb-er-accordion__plus,
body.lb-page-faqs .lb-er-accordion__plus {
  top:50% !important;
}

@media (max-width:767px) {
  .elementor-12580 .lb-er-accordion__button,
  body.lb-page-faqs .lb-er-accordion__button {
    padding:28px 48px 28px 20px !important;
  }

  .elementor-12580 .lb-er-accordion__button > span:first-child,
  body.lb-page-faqs .lb-er-accordion__button > span:first-child {
    top:1px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .lb-media-fade { transition: none; opacity: 1; }
}


/* ==========================================================
   Your Wedding spacing calibration (v2.7.29)
   ========================================================== */
/* The imported Elementor layout carries -15px top margins on the page CTAs.
 * In Elementor those were compensating for builder widget spacing; in the
 * lightweight flex renderer they pull the links back into the paragraph above.
 * Let the copy widget provide the standard 20px breathing room instead, and
 * remove the redundant CTA bottom margin so spacing above/below is balanced. */
.elementor-12373 .lb-er-widget--text-editor + .lb-er-widget--button,
body.lb-page-your-wedding .lb-er-widget--text-editor + .lb-er-widget--button {
  margin-top:0 !important;
  margin-bottom:0 !important;
}

/* The first editorial panels use Elementor's old "auto width" button trick,
 * which can leave the CTA trying to share the paragraph's flex row. Keep those
 * CTAs on their own line and centred beneath the centred copy. */
.elementor-12373 .lb-e-69dde6b9,
.elementor-12373 .lb-e-564397e,
.elementor-12373 .lb-e-88d10e7,
.elementor-12373 .lb-e-768da84,
body.lb-page-your-wedding .lb-e-69dde6b9,
body.lb-page-your-wedding .lb-e-564397e,
body.lb-page-your-wedding .lb-e-88d10e7,
body.lb-page-your-wedding .lb-e-768da84 {
  width:100% !important;
  flex:0 0 100% !important;
}
.elementor-12373 .lb-e-69dde6b9 > .lb-er-widget-inner,
.elementor-12373 .lb-e-564397e > .lb-er-widget-inner,
.elementor-12373 .lb-e-88d10e7 > .lb-er-widget-inner,
.elementor-12373 .lb-e-768da84 > .lb-er-widget-inner,
body.lb-page-your-wedding .lb-e-69dde6b9 > .lb-er-widget-inner,
body.lb-page-your-wedding .lb-e-564397e > .lb-er-widget-inner,
body.lb-page-your-wedding .lb-e-88d10e7 > .lb-er-widget-inner,
body.lb-page-your-wedding .lb-e-768da84 > .lb-er-widget-inner {
  text-align:center !important;
}

/* The alternating Food & Drink feature rows arrived with a 30 / 50 / 30 / 50
 * desktop rhythm from the live Elementor page. Use one consistent gap on the
 * rebuild so the page no longer jumps between visibly different section gaps. */
@media (min-width:1024px) {
  .elementor-12373 .lb-e-431f6b31,
  .elementor-12373 .lb-e-9b7decc,
  .elementor-12373 .lb-e-1628ddc,
  .elementor-12373 .lb-e-1c23981b,
  .elementor-12373 .lb-e-963114b,
  body.lb-page-your-wedding .lb-e-431f6b31,
  body.lb-page-your-wedding .lb-e-9b7decc,
  body.lb-page-your-wedding .lb-e-1628ddc,
  body.lb-page-your-wedding .lb-e-1c23981b,
  body.lb-page-your-wedding .lb-e-963114b {
    margin-top:30px !important;
  }
}


/* ==========================================================
   Pricing accordion framing cleanup (v2.7.30)
   ========================================================== */
/* The imported Pricing layout contains dedicated divider widgets immediately
 * above and below the "What's Included" accordion. The lightweight accordion
 * also draws its own top rule, so retaining both creates a double horizontal
 * line and a loose band of whitespace around the control. Use the accordion
 * itself as the frame and remove only those two redundant divider sections. */
.elementor-15161 .lb-e-170e2556,
.elementor-15161 .lb-e-27e1c0f {
  display:none !important;
}

.elementor-15161 .lb-e-7fdb8d4d {
  margin-top:0 !important;
  margin-bottom:0 !important;
  padding-top:0 !important;
  padding-bottom:0 !important;
}
.elementor-15161 .lb-e-87bd209 {
  margin-top:0 !important;
  margin-bottom:0 !important;
}
.elementor-15161 .lb-e-87bd209 .lb-er-accordion__item {
  margin-bottom:0 !important;
  border-top:1px solid rgba(55,60,63,.13) !important;
  border-bottom:1px solid rgba(55,60,63,.13) !important;
}

/* The following decorative split row was pulled upward 10px on the Elementor
 * source page. With the redundant lower divider gone, let it begin naturally
 * at the accordion's bottom rule so the centre line meets it cleanly. */
.elementor-15161 .lb-e-e8af5fb {
  margin-top:0 !important;
}

@media (max-width:1023px) {
  .elementor-15161 .lb-e-7fdb8d4d {
    padding:0 20px !important;
  }
}
@media (max-width:767px) {
  .elementor-15161 .lb-e-7fdb8d4d {
    padding:0 15px !important;
  }
}

/* ==========================================================
   Pricing estimator transition spacing cleanup (v2.7.31)
   ========================================================== */
/* The legacy Pricing page leaves a full Elementor split-spacer row between
 * the 2027 offer and the cost estimator, while the estimator plugin adds its
 * own top breathing room. Together they create a large dead white band.
 * Keep the centre-line motif, but make the transition deliberately compact. */
.elementor-15161 .lb-e-2728bf8,
body.lb-page-pricing .lb-e-2728bf8 {
  margin-top:0 !important;
  margin-bottom:0 !important;
}
.elementor-15161 .lb-e-e66f1a6 .lb-er-spacer,
body.lb-page-pricing .lb-e-e66f1a6 .lb-er-spacer {
  height:32px !important;
}
.elementor-15161 .lb-e-53696519,
body.lb-page-pricing .lb-e-53696519 {
  margin-top:0 !important;
  padding-top:0 !important;
}
.elementor-15161 .lb-e-53696519 > .lb-er-container,
body.lb-page-pricing .lb-e-53696519 > .lb-er-container {
  padding-top:0 !important;
}
.elementor-15161 .lbc-estimator,
body.lb-page-pricing .lbc-estimator {
  margin-top:0 !important;
  padding-top:24px !important;
}
.elementor-15161 .lbc-form,
.elementor-15161 .lbc-layout,
body.lb-page-pricing .lbc-form,
body.lb-page-pricing .lbc-layout {
  margin-top:0 !important;
  padding-top:0 !important;
}

@media (max-width:767px) {
  .elementor-15161 .lb-e-e66f1a6 .lb-er-spacer,
  body.lb-page-pricing .lb-e-e66f1a6 .lb-er-spacer {
    height:24px !important;
  }
  .elementor-15161 .lbc-estimator,
  body.lb-page-pricing .lbc-estimator {
    padding-top:18px !important;
  }
}

/* Pricing Tool — focused calculator-only utility page */
.lb-pricing-tool-page {
  padding:72px 0 96px;
  background:#fff;
}
.lb-pricing-tool-page__inner {
  width:min(1200px, calc(100% - 40px));
  margin:0 auto;
}
.lb-pricing-tool-page .lbc-estimator {
  width:100%;
  margin:0 auto;
}
.lb-pricing-tool-page__fallback {
  max-width:720px;
  margin:0 auto;
  padding:50px 20px;
  text-align:center;
}
@media (max-width:767px) {
  .lb-pricing-tool-page { padding:34px 0 60px; }
  .lb-pricing-tool-page__inner { width:calc(100% - 20px); }
}



/* Flexible content page template */
.lb-flex-section{padding:70px 20px;}
.lb-flex-section--text .lb-container,.lb-flex-section--cta .lb-container{max-width:1000px;text-align:center;}
.lb-flex-section--cta{background:var(--lb-ink);color:#fff;}
.lb-flex-section--cta .lb-kicker,.lb-flex-section--cta .lb-display{color:#fff;}
.lb-flex-section .lb-underlined-link{display:inline-block;margin-top:26px;}
.lb-flex-split{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;gap:0;max-width:1200px;}
.lb-flex-split__image img{width:100%;height:100%;min-height:520px;object-fit:cover;}
.lb-flex-split__copy{display:flex;flex-direction:column;justify-content:center;padding:60px 70px;background:#f7f3eb;}
.lb-flex-split__copy .lb-kicker,.lb-flex-split__copy .lb-display{text-align:left;margin-left:0;}
.lb-flex-body{font-size:19px;line-height:1.55;}
.lb-flex-body p+p{margin-top:1em;}
.lb-flex-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-top:35px;}
.lb-flex-gallery a{aspect-ratio:4/3;overflow:hidden;}
.lb-flex-gallery img{width:100%;height:100%;object-fit:cover;}
@media(max-width:767px){.lb-flex-section{padding:45px 15px}.lb-flex-split{grid-template-columns:1fr}.lb-flex-split__image img{min-height:320px}.lb-flex-split__copy{padding:40px 25px}.lb-flex-gallery{grid-template-columns:1fr 1fr}}

/* Future page templates */
.lb-template-content{padding:30px 20px 80px}.lb-template-content__inner{max-width:920px;font-size:18px;line-height:1.65}.lb-template-content__inner>*+*{margin-top:1.1em}.lb-template-content__inner h2,.lb-template-content__inner h3{font-family:"adobe-garamond-pro",Georgia,serif;font-weight:400;color:var(--lb-ink)}.lb-template-hero{position:relative;min-height:58vh;display:grid;place-items:center;overflow:hidden}.lb-template-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.lb-template-hero:after{content:"";position:absolute;inset:0;background:rgba(25,28,29,.2)}.lb-template-hero__title{position:relative;z-index:1;padding:30px;text-align:center}.lb-template-hero__title .lb-display{color:#fff;text-shadow:0 1px 20px rgba(0,0,0,.18)}.lb-template-wide__content{width:100%;overflow:hidden}.lb-template-wide__content>.alignwide{max-width:1200px;margin-left:auto;margin-right:auto}.lb-template-wide__content>.alignfull{width:100%}@media(max-width:767px){.lb-template-content{padding:15px 20px 55px}.lb-template-hero{min-height:48vh}}

/* ==========================================================
   Client-managed standard page sections (v2.8.3)
   ========================================================== */
.lb-standard-managed{width:100%;}
.lb-standard-managed-section{padding:42px 20px 72px;background:#fff;}
.lb-standard-managed-section:nth-child(even){background:#faf8f4;}
.lb-standard-managed-section__inner{width:min(1200px,100%);margin:0 auto;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);align-items:stretch;}
.lb-standard-managed-section__media{min-height:480px;display:grid;gap:4px;grid-template-columns:1fr 1fr;grid-auto-rows:minmax(220px,1fr);overflow:hidden;}
.lb-standard-managed-section__media figure{margin:0;min-height:0;overflow:hidden;}
.lb-standard-managed-section__media img{display:block;width:100%;height:100%;object-fit:cover;}
.lb-standard-managed-section__media--1{display:block;}
.lb-standard-managed-section__media--1 figure,.lb-standard-managed-section__media--1 img{width:100%;height:100%;min-height:480px;}
.lb-standard-managed-section__media--3 figure:first-child{grid-row:span 2;}
.lb-standard-managed-section__media--5 figure:first-child,.lb-standard-managed-section__media--6 figure:first-child{grid-row:span 2;}
.lb-standard-managed-section__copy{display:flex;flex-direction:column;justify-content:center;padding:58px 64px;background:#f7f3eb;}
.lb-standard-managed-section__copy .lb-kicker{margin:0 0 6px;text-align:left;}
.lb-standard-managed-section__copy .lb-display{margin:0 0 24px;text-align:left;font-size:clamp(38px,4vw,62px);}
.lb-standard-managed-section__body{font-family:"adobe-garamond-pro",Georgia,serif;font-size:20px;line-height:1.55;}
.lb-standard-managed-section__body p{margin:0;}.lb-standard-managed-section__body p+p{margin-top:1em;}
.lb-standard-managed-section__copy .lb-underlined-link{align-self:flex-start;margin-top:28px;}
.lb-standard-managed-section--right .lb-standard-managed-section__media{order:2}.lb-standard-managed-section--right .lb-standard-managed-section__copy{order:1}
.lb-standard-managed-section--top .lb-standard-managed-section__inner{display:block}.lb-standard-managed-section--top .lb-standard-managed-section__media{min-height:0;grid-auto-rows:minmax(260px,38vw)}.lb-standard-managed-section--top .lb-standard-managed-section__media--1 figure,.lb-standard-managed-section--top .lb-standard-managed-section__media--1 img{min-height:0;height:min(620px,52vw)}.lb-standard-managed-section--top .lb-standard-managed-section__copy{max-width:900px;margin:0 auto;padding:50px 45px;text-align:center}.lb-standard-managed-section--top .lb-standard-managed-section__copy .lb-kicker,.lb-standard-managed-section--top .lb-standard-managed-section__copy .lb-display{text-align:center}.lb-standard-managed-section--top .lb-standard-managed-section__copy .lb-underlined-link{align-self:center}
.lb-standard-managed-section--text-only .lb-standard-managed-section__inner{display:block;max-width:920px}.lb-standard-managed-section--text-only .lb-standard-managed-section__copy{text-align:center}.lb-standard-managed-section--text-only .lb-standard-managed-section__copy .lb-kicker,.lb-standard-managed-section--text-only .lb-standard-managed-section__copy .lb-display{text-align:center}.lb-standard-managed-section--text-only .lb-standard-managed-section__copy .lb-underlined-link{align-self:center}
@media(max-width:767px){.lb-standard-managed-section{padding:24px 15px 48px}.lb-standard-managed-section__inner{grid-template-columns:1fr}.lb-standard-managed-section__media,.lb-standard-managed-section--right .lb-standard-managed-section__media{order:1;min-height:320px}.lb-standard-managed-section__copy,.lb-standard-managed-section--right .lb-standard-managed-section__copy{order:2;padding:38px 26px}.lb-standard-managed-section__media--1 figure,.lb-standard-managed-section__media--1 img{min-height:320px}.lb-standard-managed-section__media{grid-auto-rows:minmax(155px,1fr)}.lb-standard-managed-section__copy .lb-display{font-size:clamp(34px,11vw,50px)}.lb-standard-managed-section__body{font-size:18px}.lb-standard-managed-section--top .lb-standard-managed-section__copy{padding:36px 24px}}

/* Managed content added through the lightweight CMS. */
.lb-standard-managed-section--images-only .lb-standard-managed-section__inner{display:block}
.lb-standard-managed-section--images-only .lb-standard-managed-section__media{width:100%;max-width:1200px;margin:0 auto}
.lb-managed-team{max-width:1140px;margin:0 auto;padding:0 20px 70px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:55px 70px}
.lb-managed-team__member{min-width:0}
.lb-managed-team__image{margin:0 0 24px;overflow:hidden}
.lb-managed-team__image img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.lb-managed-team__member h5{margin:0 0 4px;font-family:"Montserrat",sans-serif;font-size:12px;line-height:1.4;letter-spacing:.14em;text-transform:uppercase;font-weight:500;color:var(--lb-ink)}
.lb-managed-team__member h2{margin:0 0 14px;font-family:"adobe-garamond-pro",Georgia,serif;font-size:32px;line-height:1.05;font-weight:400;color:var(--lb-ink)}
.lb-managed-team__bio{font-size:17px;line-height:1.55}
.lb-managed-team__bio p:last-child{margin-bottom:0}
@media(max-width:767px){.lb-managed-team{grid-template-columns:1fr;gap:40px;padding:0 25px 50px}.lb-managed-team__member h2{font-size:28px}}

/* v2.8.14 — crawl/launch tidy-up. */
/* v2.8.15 — branded MiHi Digital footer credit. */
.lb-pricing-tool-page__head{
  width:min(100%,1200px);
  margin:0 auto 34px;
  padding:0 20px;
  text-align:center;
}
.lb-pricing-tool-page__head .lb-kicker{margin-bottom:4px;}
.lb-pricing-tool-page__head .lb-display{margin:0;font-size:clamp(42px,5vw,68px);}
.lb-standard-managed:empty{display:none;}
@media (max-width:767px){
  .lb-pricing-tool-page__head{margin-bottom:24px;padding:0 15px;}
  .lb-pricing-tool-page__head .lb-display{font-size:clamp(38px,11vw,52px);}
}


/* v2.8.19 — Pricing Tool inclusions accordion. */
.lb-pricing-tool-included{
  margin:0 0 36px;
  border-top:1px solid rgba(55,60,63,.18);
  border-bottom:1px solid rgba(55,60,63,.18);
}
.lb-pricing-tool-included__summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:24px 0;
  cursor:pointer;
  list-style:none;
  font-family:"adobe-garamond-pro",Georgia,serif;
  font-size:1.2em;
  font-weight:500;
  text-transform:uppercase;
  color:#373C3F;
}
.lb-pricing-tool-included__summary::-webkit-details-marker{display:none;}
.lb-pricing-tool-included__plus{
  position:relative;
  flex:0 0 18px;
  width:18px;
  height:18px;
}
.lb-pricing-tool-included__plus::before,
.lb-pricing-tool-included__plus::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:18px;
  height:2px;
  background:#1f2325;
  transform:translate(-50%,-50%);
}
.lb-pricing-tool-included__plus::after{
  transform:translate(-50%,-50%) rotate(90deg);
  transition:transform .2s ease;
}
.lb-pricing-tool-included[open] .lb-pricing-tool-included__plus::after{
  transform:translate(-50%,-50%) rotate(0deg);
}
.lb-pricing-tool-included__content{
  padding:0 0 24px;
  color:#373C3F;
  font-family:"adobe-garamond-pro",Georgia,serif;
  font-size:18px;
  line-height:1.55;
}
.lb-pricing-tool-included__content ul{
  margin:0;
  padding:0;
  list-style-position:inside;
}
.lb-pricing-tool-included__content li{
  margin:0 0 10px;
}
.lb-pricing-tool-included__content p{
  margin:18px 0 0;
}

/* Legacy Elementor section background videos. Keep the hero neutral while the
   muted movie loads rather than flashing the old background image first. */
.lb-er-section--video-bg{
  position:relative;
  overflow:hidden;
  background-image:none!important;
  background-color:#373C3F;
}
.lb-er-background-video{
  position:absolute;
  inset:0;
  z-index:0;
  overflow:hidden;
  pointer-events:none;
}
.lb-er-background-video iframe{
  position:absolute;
  left:50%;
  top:50%;
  width:100%;
  height:100%;
  max-width:none;
  border:0;
  transform:translate(-50%,-50%);
}
.lb-er-section--video-bg > .lb-er-container{
  position:relative;
  z-index:1;
}
@media(max-width:767px){
  .lb-er-background-video--mobile-disabled{display:none;}
}
@media(prefers-reduced-motion:reduce){
  .lb-er-background-video{display:none!important;}
}
