.elementor-kit-5{--e-global-color-primary:#BE9A4E;--e-global-color-secondary:#2F4A3C;--e-global-color-text:#2E2A24;--e-global-color-accent:#9C7C36;--e-global-color-30864216:#E4D2A6;--e-global-color-95836a8a:#F7EFDD;--e-global-color-9cf61299:#FBF8F3;--e-global-color-f3012c7a:#FFFFFF;--e-global-color-49cd92ad:#F1EADE;--e-global-color-f6422c05:#EDE4D6;--e-global-color-80c54644:#6B6358;--e-global-color-79b47af9:#A89A86;--e-global-color-b3a6db25:#4A443B;--e-global-typography-primary-font-family:"Cormorant Garamond";--e-global-typography-primary-font-weight:500;--e-global-typography-primary-line-height:1.15em;--e-global-typography-primary-letter-spacing:-0.5px;--e-global-typography-secondary-font-family:"Cormorant Garamond";--e-global-typography-secondary-font-weight:600;--e-global-typography-secondary-line-height:1.25em;--e-global-typography-text-font-family:"Jost";--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.7em;--e-global-typography-text-letter-spacing:0.2px;--e-global-typography-accent-font-family:"Jost";--e-global-typography-accent-font-weight:500;--e-global-typography-accent-text-transform:uppercase;--e-global-typography-accent-letter-spacing:3px;--e-global-typography-88b2ed6b-font-family:"Great Vibes";--e-global-typography-88b2ed6b-font-weight:400;--e-global-typography-88b2ed6b-line-height:1em;--e-global-typography-48c4aff7-font-family:"Cormorant Garamond";--e-global-typography-48c4aff7-font-size:76px;--e-global-typography-48c4aff7-font-weight:500;--e-global-typography-48c4aff7-line-height:1.05em;--e-global-typography-48c4aff7-letter-spacing:-1.4px;--e-global-typography-5ab3c4d9-font-family:"Jost";--e-global-typography-5ab3c4d9-font-size:20px;--e-global-typography-5ab3c4d9-font-weight:300;--e-global-typography-5ab3c4d9-line-height:1.6em;color:#2E2A24;font-family:"Jost", Sans-serif;font-size:17px;font-weight:400;line-height:1.7em;letter-spacing:0.2px;}.elementor-kit-5 button,.elementor-kit-5 input[type="button"],.elementor-kit-5 input[type="submit"],.elementor-kit-5 .elementor-button{background-color:#2E2A24;font-family:"Jost", Sans-serif;font-size:13px;font-weight:500;text-transform:uppercase;letter-spacing:1.5px;color:#FFFFFF;border-radius:2px 2px 2px 2px;padding:16px 30px 16px 30px;}.elementor-kit-5 button:hover,.elementor-kit-5 button:focus,.elementor-kit-5 input[type="button"]:hover,.elementor-kit-5 input[type="button"]:focus,.elementor-kit-5 input[type="submit"]:hover,.elementor-kit-5 input[type="submit"]:focus,.elementor-kit-5 .elementor-button:hover,.elementor-kit-5 .elementor-button:focus{background-color:#BE9A4E;color:#FFFFFF;}.elementor-kit-5 e-page-transition{background-color:#FFBC7D;}.elementor-kit-5 a{color:#9C7C36;}.elementor-kit-5 a:hover{color:#BE9A4E;}.elementor-kit-5 h1{color:#2E2A24;font-family:"Cormorant Garamond", Sans-serif;font-size:64px;font-weight:500;line-height:1.15em;letter-spacing:-0.4px;}.elementor-kit-5 h2{color:#2E2A24;font-family:"Cormorant Garamond", Sans-serif;font-size:48px;font-weight:500;line-height:1.15em;letter-spacing:-0.4px;}.elementor-kit-5 h3{color:#2E2A24;font-family:"Cormorant Garamond", Sans-serif;font-size:30px;font-weight:500;line-height:1.15em;letter-spacing:-0.4px;}.elementor-kit-5 h4{color:#2E2A24;font-family:"Cormorant Garamond", Sans-serif;font-size:22px;font-weight:500;line-height:1.15em;letter-spacing:-0.4px;}.elementor-kit-5 h5{color:#2E2A24;font-family:"Cormorant Garamond", Sans-serif;font-size:20px;font-weight:500;line-height:1.15em;letter-spacing:-0.4px;}.elementor-kit-5 h6{color:#2E2A24;font-family:"Cormorant Garamond", Sans-serif;font-size:18px;font-weight:500;line-height:1.15em;letter-spacing:-0.4px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1200px;}.e-con{--container-max-width:1200px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* Gold Standard Events — site-wide */
body { background: #FBF8F3; color: #2E2A24; }
.gse-eyebrow { font-family: 'Jost',sans-serif; font-weight: 500; text-transform: uppercase; letter-spacing: 3px; font-size: 12px; color: #9C7C36; }
.gse-script { font-family: 'Great Vibes', cursive; color: #9C7C36; line-height: 1; }
.gse-script-light { font-family: 'Great Vibes', cursive; color: #E4D2A6; line-height: 1; }
.gse-somali { font-style: italic; }
.gse-mediaframe img { display:block; width:100%; border-radius: 4px; box-shadow: 0 30px 70px rgba(46,42,36,.18); }
.gse-mediaframe { position: relative; }
.gse-mediaframe::after { content:''; position:absolute; inset: 18px -18px -18px 18px; border: 1px solid #BE9A4E; border-radius: 4px; z-index:-1; }
.gse-divider-icon svg { width: 28px; height: 28px; color: #BE9A4E; }
.gse-checklist .elementor-icon-list-icon i, .gse-checklist .elementor-icon-list-icon svg { color: #BE9A4E; }
.gse-checklist .elementor-icon-list-text { color: #4A443B; }
.gse-card { background: #FFFFFF; border: 1px solid #EDE4D6; border-radius: 4px; padding: clamp(1.6rem, 2.5vw, 2.4rem); transition: transform .4s ease, box-shadow .4s ease; }
.gse-card:hover { transform: translateY(-4px); box-shadow: 0 30px 70px rgba(46,42,36,.10); }
.gse-card .tier-label { font-family: 'Jost',sans-serif; font-size: 11px; letter-spacing: 3px; text-transform: uppercase; color: #9C7C36; display: inline-block; margin-bottom: .8rem; }
.gse-quote { background: #FFFFFF; border: 1px solid #EDE4D6; border-radius: 4px; padding: clamp(1.8rem,2.6vw,2.4rem); position: relative; }
.gse-quote::before { content:'“'; font-family: 'Cormorant Garamond', serif; font-size: 110px; color: #E4D2A6; position: absolute; top: -10px; left: 18px; line-height: 1; }
.gse-quote blockquote { font-family: 'Cormorant Garamond', serif; font-style: italic; font-size: 19px; color: #2E2A24; margin: 1.4rem 0; line-height: 1.55; }
.gse-quote .stars { color: #BE9A4E; letter-spacing: 2px; font-size: 14px; }
.gse-quote cite { font-style: normal; font-weight: 600; color: #2E2A24; display:block; }
.gse-stat__num { font-family: 'Cormorant Garamond', serif; font-size: clamp(2.6rem, 4vw, 3.6rem); color: #BE9A4E; line-height:1; }
.gse-stat__label { font-family: 'Jost',sans-serif; font-size: 12px; letter-spacing: 2.5px; text-transform: uppercase; color: #6B6358; margin-top: .6rem; }
.gse-step__num { font-family: 'Cormorant Garamond', serif; font-size: 64px; color: #E4D2A6; line-height:1; display:block; }
.gse-info-card { display:flex; align-items:flex-start; gap:1rem; padding:1.2rem 1.4rem; background:#FFFFFF; border:1px solid #EDE4D6; border-radius:4px; margin-bottom:1rem; }
.gse-info-card svg { color:#BE9A4E; width:22px; height:22px; flex:0 0 22px; margin-top:2px; }
.gse-info-card h4 { font-family:'Cormorant Garamond',serif; font-weight:600; font-size:18px; margin:0 0 .2rem; }
.gse-info-card p { margin:0; color:#4A443B; font-size:15px; }
.gse-faq { background:#FFFFFF; border:1px solid #EDE4D6; border-radius:4px; }
button.gse-faq__q { background:none; border:0; width:100%; text-align:left; padding:1.2rem 1.4rem; font-family:'Cormorant Garamond',serif; font-size:20px; color:#2E2A24; cursor:pointer; display:flex; justify-content:space-between; align-items:center; }
.gse-mega { padding: 30px; }
.gse-mega .mega-blurb { padding: 14px; border-radius: 4px; transition: background .25s ease; }
.gse-mega .mega-blurb:hover { background: #F7EFDD; }
.gse-mega .mega-blurb h5 { font-family:'Cormorant Garamond',serif; font-weight:600; font-size:18px; margin:0 0 .3rem; color:#2E2A24; }
.gse-mega .mega-blurb p { margin:0; color:#6B6358; font-size:13px; }
.gse-cta-band { color: #FFFFFF; background: #2F4A3C; position: relative; overflow: hidden; }
.gse-cta-band h2, .gse-cta-band p, .gse-cta-band span { color:#FFFFFF; }
.gse-cta-band p.lead { color: #E4D2A6 !important; }
.gse-cta-band .gse-eyebrow { color: #E4D2A6; }
.elementor-button.btn-gold { background:#BE9A4E !important; color:#FFFFFF !important; }
.elementor-button.btn-gold:hover { background:#9C7C36 !important; }
.elementor-button.btn-ghost { background: transparent !important; border:1px solid #2E2A24 !important; color:#2E2A24 !important; }
.elementor-button.btn-ghost.on-dark { border-color: rgba(255,255,255,.5) !important; color:#FFFFFF !important; }
.elementor-widget-heading h1 em, .elementor-widget-heading h2 em, .elementor-widget-text-editor em { color: #9C7C36; font-style: italic; }
.gse-hero { position: relative; min-height: 92vh; display:flex; align-items:center; overflow:hidden; color:#fff; }
.gse-hero h1, .gse-hero p { color:#fff; }
.gse-hero p.lead { color:rgba(255,255,255,.85); }
.gse-hero .gse-eyebrow { color:#E4D2A6; }
.gse-page-hero { background: linear-gradient(180deg,#F1EADE,#FBF8F3); padding: clamp(120px,18vh,200px) 0 clamp(50px,8vh,90px); }
.gse-page-hero .breadcrumb a { color:#6B6358; }
.gse-feature-list .elementor-icon-box-icon { background:#F7EFDD; border-radius:50%; width:44px; height:44px; display:flex; align-items:center; justify-content:center; }
.gse-price { display:flex; align-items:flex-end; gap:1rem; margin:1.6rem 0 0; padding-top:1.4rem; border-top:1px solid #EDE4D6; }
.gse-price .price__from { display:block; font-size:12px; letter-spacing:2px; text-transform:uppercase; color:#6B6358; }
.gse-price .price__amount { display:block; font-family:'Cormorant Garamond',serif; font-size:38px; line-height:1; color:#2E2A24; }
.gse-price .price__meta { font-size:13px; color:#6B6358; align-self:end; }
.gse-touch-icon { width:46px; height:46px; color:#BE9A4E; }

/* ===== Gold Standard — layout helpers (CSS Grid + Flex fixes) ===== */
/* For boxed containers, the flex parent is .e-con-inner. For full containers, it's the .e-con itself.
   We target both, but only one ends up applying per element. */

.gse-grid-2 > .e-con-inner, .gse-grid-2.e-con-full,
.gse-grid-3 > .e-con-inner, .gse-grid-3.e-con-full,
.gse-grid-4 > .e-con-inner, .gse-grid-4.e-con-full,
.gse-split > .e-con-inner, .gse-split.e-con-full,
.gse-split-rev > .e-con-inner, .gse-split-rev.e-con-full { display: grid !important; align-items: stretch; }

.gse-grid-2 > .e-con-inner, .gse-grid-2.e-con-full { grid-template-columns: repeat(2, minmax(0,1fr)) !important; gap: 28px !important; }
.gse-grid-3 > .e-con-inner, .gse-grid-3.e-con-full { grid-template-columns: repeat(3, minmax(0,1fr)) !important; gap: 28px !important; }
.gse-grid-4 > .e-con-inner, .gse-grid-4.e-con-full { grid-template-columns: repeat(4, minmax(0,1fr)) !important; gap: 30px !important; }
.gse-split > .e-con-inner, .gse-split.e-con-full { grid-template-columns: 45fr 55fr !important; gap: clamp(2rem,5vw,4rem) !important; align-items: center !important; }
.gse-split-rev > .e-con-inner, .gse-split-rev.e-con-full { grid-template-columns: 55fr 45fr !important; gap: clamp(2rem,5vw,4rem) !important; align-items: center !important; }

/* Grid children: ignore Elementor's forced 100% width */
.gse-grid-2 > .e-con-inner > .e-con,
.gse-grid-3 > .e-con-inner > .e-con,
.gse-grid-4 > .e-con-inner > .e-con,
.gse-split > .e-con-inner > .e-con,
.gse-split-rev > .e-con-inner > .e-con,
.gse-grid-2.e-con-full > .e-con,
.gse-grid-3.e-con-full > .e-con,
.gse-grid-4.e-con-full > .e-con,
.gse-split.e-con-full > .e-con,
.gse-split-rev.e-con-full > .e-con {
  width: 100% !important; max-width: 100% !important; min-width: 0 !important;
  --container-widget-width: 100% !important;
  flex: 0 1 auto !important;
  height: 100%;
}

.gse-split .gse-mediaframe, .gse-split-rev .gse-mediaframe { height: 100%; }
.gse-split .gse-mediaframe img, .gse-split-rev .gse-mediaframe img { width: 100%; height: auto; display: block; }

/* Header bar */
.gse-header-bar > .e-con-inner {
  display: flex !important; flex-direction: row !important; align-items: center !important;
  justify-content: space-between !important; gap: 32px !important; flex-wrap: nowrap !important;
}
.gse-header-bar > .e-con-inner > .e-con {
  width: auto !important; flex: 0 0 auto !important; max-width: none !important;
  --container-widget-width: auto !important;
}
.gse-header-right { display: flex !important; align-items: center !important; gap: 28px !important; flex-wrap: nowrap; }
.gse-header-right > .elementor-widget { width: auto !important; }

/* Trust strip */
.gse-trust > .e-con-inner {
  display: flex !important; flex-direction: row !important; flex-wrap: wrap !important;
  gap: 36px !important; justify-content: space-between !important; align-items: center;
}
.gse-trust > .e-con-inner > .e-con {
  width: auto !important; flex: 0 1 auto !important; --container-widget-width: auto !important;
}

/* Mobile */
@media (max-width: 767px) {
  .gse-grid-2 > .e-con-inner, .gse-grid-2.e-con-full,
  .gse-grid-3 > .e-con-inner, .gse-grid-3.e-con-full,
  .gse-grid-4 > .e-con-inner, .gse-grid-4.e-con-full,
  .gse-split > .e-con-inner, .gse-split.e-con-full,
  .gse-split-rev > .e-con-inner, .gse-split-rev.e-con-full { grid-template-columns: 1fr !important; gap: 24px !important; }
  .gse-header-right { gap: 14px !important; }
  .gse-trust > .e-con-inner { gap: 18px !important; justify-content: center !important; }
}
@media (min-width: 768px) and (max-width: 1024px) {
  .gse-grid-3 > .e-con-inner, .gse-grid-3.e-con-full,
  .gse-grid-4 > .e-con-inner, .gse-grid-4.e-con-full { grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
}

/* ===== Gold Standard — audit fixes ===== */
/* Split: align image to top, make image fill grid cell as cover */
.gse-split > .e-con-inner, .gse-split.e-con-full,
.gse-split-rev > .e-con-inner, .gse-split-rev.e-con-full {
  align-items: start !important;
}
.gse-split .gse-mediaframe, .gse-split-rev .gse-mediaframe {
  position: static; height: auto;
}
@media (max-width: 1024px) { .gse-split .gse-mediaframe, .gse-split-rev .gse-mediaframe { position: static; } }

/* Trust strip icons size */
.gse-trust .elementor-icon i, .gse-trust .elementor-icon svg { font-size: 20px; width: 20px; height: 20px; }

/* Footer social icon glyphs (use Elementor's e-font-icon-svg if FA failing) */
.gse-cta-band .elementor-button { background:#BE9A4E !important; color:#FFFFFF !important; }
.gse-cta-band .elementor-button:hover { background:#FFFFFF !important; color:#2F4A3C !important; }

/* Page hero breadcrumb spacing under sticky header */
.gse-page-hero { padding-top: clamp(160px, 22vh, 220px) !important; }

/* Sticky header on light sections: subtle bottom border on scroll */
body.scrolled .gse-site-header { background: rgba(251,248,243,1) !important; box-shadow: 0 1px 0 rgba(190,154,78,.2); }

/* Section eyebrow not hidden behind sticky header on scrollIntoView */
[data-elementor-type="wp-page"] > .e-con { scroll-margin-top: 120px; }

/* Better mobile burger toggle */
.gse-site-header .elementor-menu-toggle { color: #2E2A24 !important; }


/* ===== Gold Standard — hero full-width ===== */
body.home .ast-container, body.home #content > .ast-container { max-width: 100% !important; padding-left: 0 !important; padding-right: 0 !important; }
body.home #content, body.home #primary, body.home .site-content { padding: 0 !important; }
body.home main, body.home main > * { width: 100%; max-width: 100%; }
.gse-hero { width: 100%; margin: 0 !important; }
.gse-hero > .e-con-inner { max-width: 1200px; margin-left: auto !important; margin-right: auto !important; box-sizing: border-box; }
body.admin-bar .gse-hero { min-height: calc(100vh - 32px); }
@media (max-width: 782px) { body.admin-bar .gse-hero { min-height: calc(100vh - 46px); } }

/* ===== Gold Standard — hero left-anchor ===== */
/* Compact, left-pinned hero content column */
.gse-hero > .e-con-boxed > .e-con-inner,
.elementor-element-3e73c4e > .e-con-inner {
  margin-left: 0 !important;
  margin-right: auto !important;
  padding-left: clamp(24px, 5vw, 96px) !important;
  padding-right: 24px !important;
  max-width: 760px !important;
  align-items: flex-start !important;
}
/* Force every hero element (heading, text, button row) to the compact width */
.gse-hero > .e-con-boxed > .e-con-inner > *,
.elementor-element-3e73c4e > .e-con-inner > * {
  max-width: 600px !important;
  width: 100% !important;
  align-self: flex-start !important;
  text-align: left !important;
}

/* ===== Gold Standard — hero vgap ===== */
/* Tighten vertical spacing between hero text elements */
.gse-hero > .e-con-boxed > .e-con-inner { row-gap: 6px !important; gap: 6px !important; }
.gse-hero > .e-con-boxed > .e-con-inner > .elementor-widget { margin-bottom: 0 !important; }
.gse-hero > .e-con-boxed > .e-con-inner > .elementor-widget-heading .elementor-heading-title { margin: 0 !important; }
.gse-hero > .e-con-boxed > .e-con-inner > .elementor-widget:not(:last-child) { margin-bottom: 2px !important; }

/* ===== Gold Standard — hero video position ===== */
.gse-hero { min-height:100svh !important; background-image:none !important; background-color:#15110c !important; }
.gse-hero .elementor-background-video-container { top:0 !important; left:0 !important; width:100% !important; height:100% !important; background:#15110c !important; overflow:hidden !important; }
.gse-hero .elementor-background-video-container::before { content:'' !important; position:absolute !important; top:56px !important; left:0 !important; width:100% !important; height:calc(100% - 56px) !important; background:url('https://gold-standard.brancomedia.com/wp-content/uploads/sites/65/2026/06/hero-poster-v2.jpg') 70% 0%/cover no-repeat !important; z-index:0 !important; }
/* Take direct control of the video element (overrides Elementor's inline JS
   sizing/centering). Pin it to start just below the header, full width,
   top-anchored, so the bride's head + its source headroom always show. */
.gse-hero .elementor-background-video-container video,
.gse-hero .elementor-background-video-container iframe {
  position:absolute !important; top:56px !important; left:0 !important;
  width:100% !important; height:calc(100% - 56px) !important;
  min-width:100% !important; min-height:calc(100% - 56px) !important;
  max-width:none !important; transform:none !important; margin:0 !important;
  background:#15110c url('https://gold-standard.brancomedia.com/wp-content/uploads/sites/65/2026/06/hero-poster-v2.jpg') 70% 0%/cover no-repeat !important; object-fit:cover !important; object-position:70% 0% !important; z-index:1 !important;
}

/* ===== Gold Standard — featured card (Most Chosen) ===== */
/* Card border + shadow like the original .service-card.featured */
.elementor-element-9073626 { position:relative !important; border:1px solid #BE9A4E !important; box-shadow:0 14px 40px rgba(46,42,36,.09) !important; overflow:visible !important; }
.elementor-element-9073626 > .e-con-inner { overflow:visible !important; }
.elementor-element-774afd2, .elementor-element-774afd2 > .e-con-inner { overflow:visible !important; }
/* Badge: Elementor uses the container ::before as a full-size overlay, so we
   MUST reset inset/size or the gold fills the whole card. */
.elementor-element-9073626::before {
  content:'Most Chosen' !important; display:inline-block !important;
  position:absolute !important; inset:auto !important;
  top:-13px !important; left:50% !important; transform:translateX(-50%) !important;
  width:auto !important; height:auto !important; max-width:none !important;
  background:#BE9A4E !important; background-image:none !important; color:#2E2A24 !important;
  font-size:.62rem !important; font-weight:600 !important; letter-spacing:.2em !important;
  text-transform:uppercase !important; padding:.4rem 1rem !important; border-radius:100px !important;
  white-space:nowrap !important; line-height:1 !important; z-index:6 !important;
  pointer-events:none !important; box-shadow:0 6px 16px rgba(46,42,36,.12) !important;
  opacity:1 !important;
}
.elementor-element-9073626::after { content:none !important; }


/* ===== Gold Standard — signature touches cards ===== */
.elementor-element-45897e9,
.elementor-element-98e9cbc,
.elementor-element-e36659f {
  background: #FFFFFF !important;
  border: 1px solid #EDE4D6 !important;
  border-radius: 4px !important;
  transition: border-color .4s, transform .4s, box-shadow .4s !important;
}
.elementor-element-45897e9:hover,
.elementor-element-98e9cbc:hover,
.elementor-element-e36659f:hover {
  border-color: #E4D2A6 !important;
  transform: translateY(-5px) !important;
  box-shadow: 0 2px 10px rgba(46,42,36,.05) !important;
}

/* ===== Gold Standard — signature touches cards ===== */
.elementor-element-45897e9,
.elementor-element-98e9cbc,
.elementor-element-e36659f {
  background: #FFFFFF !important;
  border: 1px solid #EDE4D6 !important;
  border-radius: 4px !important;
  transition: border-color .4s, transform .4s, box-shadow .4s !important;
}
.elementor-element-45897e9:hover,
.elementor-element-98e9cbc:hover,
.elementor-element-e36659f:hover {
  border-color: #E4D2A6 !important;
  transform: translateY(-5px) !important;
  box-shadow: 0 2px 10px rgba(46,42,36,.05) !important;
}

/* ===== Gold Standard — Why Gold Standard icon circles ===== */
.elementor-element-a091679 .elementor-icon-box-icon {
  width: 46px !important; height: 46px !important;
  border-radius: 50% !important;
  border: 1px solid #E4D2A6 !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  flex-shrink: 0 !important;
}
.elementor-element-a091679 .elementor-icon-box-icon .elementor-icon {
  width: 22px !important; height: 22px !important;
  font-size: 22px !important; line-height: 1 !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
}
.elementor-element-a091679 .elementor-icon-box-icon .elementor-icon svg {
  width: 22px !important; height: 22px !important;
}

/* ===== Gold Standard — CTA band button centred ===== */
.elementor-element-ebf412a { text-align: center !important; }
.elementor-element-3c3ea10 { justify-content: center !important; }

/* ===== Gold Standard — footer social icon circles ===== */
.elementor-element-d6dcf59 .elementor-social-icon {
  width: 42px !important; height: 42px !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  border-radius: 50% !important;
  color: #EDE4D6 !important;
  transition: all .3s ease !important;
}
.elementor-element-d6dcf59 .elementor-social-icon:hover {
  border-color: #E4D2A6 !important;
  color: #E4D2A6 !important;
  transform: translateY(-3px) !important;
}
.elementor-element-d6dcf59 .elementor-social-icon svg,
.elementor-element-d6dcf59 .elementor-social-icon i {
  width: 18px !important; height: 18px !important; font-size: 18px !important;
}

/* ===== Gold Standard — scroll reveal ===== */
.gse-rev {
  opacity: 0;
  transform: translateY(22px);
  filter: blur(5px);
  transition: opacity .78s cubic-bezier(0.22,1,0.36,1),
              transform .78s cubic-bezier(0.22,1,0.36,1),
              filter .78s cubic-bezier(0.22,1,0.36,1);
  will-change: opacity, transform, filter;
}
.gse-rev.gse-in { opacity: 1; transform: none; filter: none; }

/* ===== Gold Standard — cursor glow ===== */
.gse-cursor-glow {
  position: fixed;
  width: 280px; height: 280px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(190,154,78,.08) 0%, transparent 65%);
  pointer-events: none;
  transform: translate(-50%, -50%);
  z-index: 99998;
  mix-blend-mode: screen;
  will-change: left, top;
}

/* ===== Gold Standard — card warm spotlight ===== */
.elementor-element-45897e9,
.elementor-element-98e9cbc,
.elementor-element-e36659f { position: relative !important; }
.elementor-element-45897e9::before,
.elementor-element-98e9cbc::before,
.elementor-element-e36659f::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 4px;
  background: radial-gradient(circle at var(--gse-mx, 50%) var(--gse-my, 50%), rgba(190,154,78,.1) 0%, transparent 60%);
  opacity: 0;
  transition: opacity .35s ease;
  pointer-events: none;
  z-index: 0;
}
.elementor-element-45897e9:hover::before,
.elementor-element-98e9cbc:hover::before,
.elementor-element-e36659f:hover::before { opacity: 1; }

/* ===== Gold Standard — Barakallahu script ===== */
.gse-barakallahu {
  display: block;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-style: italic;
  font-weight: 400;
  font-size: clamp(2rem, 5vw, 3rem);
  color: #E4D2A6;
  line-height: 1;
  letter-spacing: .02em;
}

/* ===== Gold Standard — CTA motifs ===== */
.gse-cta-motif {
  position: absolute;
  pointer-events: none;
  opacity: .12;
  color: #E4D2A6;
}
.gse-cta-motif--left  { top: -20%;    left: -8%;  width: 380px; }
.gse-cta-motif--right { bottom: -25%; right: -6%; width: 420px; }

/* ===== Gold Standard — CTA Barakallahu heading (existing widget bab50a2) ===== */
.elementor-element-bab50a2 .elementor-heading-title {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-style: italic !important;
  font-weight: 400 !important;
  font-size: clamp(2rem, 5vw, 3rem) !important;
  color: #E4D2A6 !important;
  line-height: 1 !important;
  letter-spacing: .02em !important;
}

/* ===== Gold Standard — CTA button hover (fix invisible text) ===== */
.elementor-element-ebf412a .elementor-button:hover,
.elementor-element-ebf412a .elementor-button:focus {
  background-color: #9C7C36 !important;
  color: #FFFFFF !important;
}

/* ===== Why Gold Standard — image zoom on hover ===== */
.gse-mediaframe .elementor-widget-image { overflow: hidden; border-radius: 4px; box-shadow: 0 30px 70px rgba(46,42,36,.18); }
.gse-mediaframe img { box-shadow: none; transition: transform .7s cubic-bezier(.25,.46,.45,.94); will-change: transform; }
.gse-mediaframe:hover img { transform: scale(1.07); }

/* ===== Services page — design alignment & micro-interactions ===== */

/* Hero script “Adeegyadeena” */
.elementor-element-846d526 .elementor-heading-title {
  font-family: 'Great Vibes', cursive !important;
  font-size: clamp(2rem,5vw,3rem) !important;
  color: #9C7C36 !important; font-weight: 400 !important;
  line-height: 1 !important; letter-spacing: .02em !important;
}

/* Page hero — warm radial gradient (matches reference) */
.gse-page-hero {
  background: radial-gradient(120% 100% at 50% 0%, #F7EFDD, #FBF8F3 60%) !important;
}

/* Service eyebrow headings (01 · Full Planning, etc.) */
.elementor-element-5703e36 .elementor-heading-title,
.elementor-element-0b8828c .elementor-heading-title,
.elementor-element-2e7571b .elementor-heading-title {
  font-family: 'Jost',sans-serif !important;
  font-size: .72rem !important; font-weight: 500 !important;
  letter-spacing: .35em !important; text-transform: uppercase !important;
  color: #9C7C36 !important; margin-bottom: .5rem !important;
}

/* Subgroup headings (Design & Planning, What's included, etc.) */
.elementor-element-3dd1943 .elementor-heading-title,
.elementor-element-e6671db .elementor-heading-title,
.elementor-element-8984825 .elementor-heading-title,
.elementor-element-c57927d .elementor-heading-title,
.elementor-element-5c1ea2a .elementor-heading-title {
  font-family: 'Jost',sans-serif !important;
  font-size: .74rem !important; font-weight: 500 !important;
  letter-spacing: .2em !important; text-transform: uppercase !important;
  color: #9C7C36 !important; padding-top: 1.2rem !important; margin-bottom: .5rem !important;
}

/* Feature icon-lists in service sections — gold icons */
.elementor-element-050ab6b .elementor-icon-list-icon i,
.elementor-element-050ab6b .elementor-icon-list-icon svg,
.elementor-element-47e9391 .elementor-icon-list-icon i,
.elementor-element-47e9391 .elementor-icon-list-icon svg,
.elementor-element-c3e2695 .elementor-icon-list-icon i,
.elementor-element-c3e2695 .elementor-icon-list-icon svg,
.elementor-element-464218a .elementor-icon-list-icon i,
.elementor-element-464218a .elementor-icon-list-icon svg,
.elementor-element-563ab66 .elementor-icon-list-icon i,
.elementor-element-563ab66 .elementor-icon-list-icon svg { color: #BE9A4E !important; }
.elementor-element-050ab6b .elementor-icon-list-text,
.elementor-element-47e9391 .elementor-icon-list-text,
.elementor-element-c3e2695 .elementor-icon-list-text,
.elementor-element-464218a .elementor-icon-list-text,
.elementor-element-563ab66 .elementor-icon-list-text { color: #4A443B !important; font-size: 1rem !important; }

/* Service section CTA buttons — dark ink with gold hover + sweep shimmer */
.elementor-element-a862cca .elementor-button,
.elementor-element-1837bba .elementor-button,
.elementor-element-fb49eb4 .elementor-button {
  background: #2E2A24 !important; color: #FBF8F3 !important;
  position: relative !important; overflow: hidden !important;
  transition: background .35s ease, box-shadow .4s ease !important;
}
.elementor-element-a862cca .elementor-button::before,
.elementor-element-1837bba .elementor-button::before,
.elementor-element-fb49eb4 .elementor-button::before {
  content: '' !important; position: absolute !important; inset: 0 !important;
  background: linear-gradient(110deg,transparent 32%,rgba(255,255,255,.38) 50%,transparent 68%) !important;
  transform: translateX(-130%) !important;
  transition: transform .8s cubic-bezier(.16,1,.3,1) !important; pointer-events: none !important;
}
.elementor-element-a862cca .elementor-button:hover::before,
.elementor-element-1837bba .elementor-button:hover::before,
.elementor-element-fb49eb4 .elementor-button:hover::before { transform: translateX(130%) !important; }
.elementor-element-a862cca .elementor-button:hover,
.elementor-element-1837bba .elementor-button:hover,
.elementor-element-fb49eb4 .elementor-button:hover {
  background: #9C7C36 !important; color: #FFFFFF !important;
  box-shadow: 0 14px 40px rgba(46,42,36,.09) !important;
}

/* Service section images: warm tint lifts on hover */
.gse-split .gse-mediaframe img,
.gse-split-rev .gse-mediaframe img {
  filter: saturate(.9) contrast(1.02) !important;
  transition: transform .8s cubic-bezier(.25,.46,.45,.94), filter .7s ease !important;
}
.gse-split .gse-mediaframe:hover img,
.gse-split-rev .gse-mediaframe:hover img {
  filter: saturate(1) contrast(1) !important;
  transform: scale(1.05) !important;
}

/* Add-on cards — white card with border, lift + gold border on hover */
.elementor-element-8037594,
.elementor-element-1107038 {
  background: #FFFFFF !important;
  border: 1px solid #EDE4D6 !important;
  border-radius: 4px !important;
  padding: clamp(1.8rem,3vw,2.6rem) !important;
  position: relative !important;
  transition: transform .4s ease, box-shadow .4s ease, border-color .4s ease !important;
  overflow: hidden !important;
}
.elementor-element-8037594:hover,
.elementor-element-1107038:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 14px 40px rgba(46,42,36,.09) !important;
  border-color: #E4D2A6 !important;
}

/* Add-on card warm spotlight (mouse-tracking via JS) */
.elementor-element-8037594::before,
.elementor-element-1107038::before {
  content: '' !important; position: absolute !important; inset: 0 !important;
  border-radius: 4px !important;
  background: radial-gradient(circle at var(--gse-mx,50%) var(--gse-my,50%),rgba(190,154,78,.09) 0%,transparent 60%) !important;
  opacity: 0 !important; transition: opacity .35s ease !important;
  pointer-events: none !important; z-index: 0 !important;
}
.elementor-element-8037594:hover::before,
.elementor-element-1107038:hover::before { opacity: 1 !important; }

/* Add-on card feature icon-lists */
.elementor-element-8037594 .elementor-icon-list-icon i,
.elementor-element-8037594 .elementor-icon-list-icon svg,
.elementor-element-1107038 .elementor-icon-list-icon i,
.elementor-element-1107038 .elementor-icon-list-icon svg { color: #BE9A4E !important; }
.elementor-element-8037594 .elementor-icon-list-text,
.elementor-element-1107038 .elementor-icon-list-text { color: #4A443B !important; }

/* Add-on card “Add to your enquiry” — link-arrow style */
.elementor-element-8037594 .elementor-button,
.elementor-element-1107038 .elementor-button {
  background: transparent !important;
  border: none !important; box-shadow: none !important;
  padding: .5rem 0 !important; border-radius: 0 !important; min-height: auto !important;
  font-size: .8rem !important; font-weight: 500 !important;
  letter-spacing: .14em !important; text-transform: uppercase !important;
  color: #9C7C36 !important;
  display: inline-flex !important; align-items: center !important;
  position: relative !important;
  transition: color .3s ease !important;
}
.elementor-element-8037594 .elementor-button::before,
.elementor-element-1107038 .elementor-button::before {
  content: '' !important; position: absolute !important;
  left: 0 !important; bottom: 0 !important;
  height: 1px !important; width: 0 !important;
  background: currentColor !important;
  transition: width .45s cubic-bezier(.16,1,.3,1) !important;
}
.elementor-element-8037594 .elementor-button:hover,
.elementor-element-1107038 .elementor-button:hover { color: #2E2A24 !important; box-shadow: none !important; }
.elementor-element-8037594 .elementor-button:hover::before,
.elementor-element-1107038 .elementor-button:hover::before { width: 100% !important; }

/* “Not sure” section — star divider with flanking lines */
.elementor-element-d062b49 .elementor-widget-container {
  display: flex !important; align-items: center !important;
  justify-content: center !important; gap: 1rem !important;
  color: #BE9A4E !important; margin-bottom: .6rem !important;
}
.elementor-element-d062b49 .elementor-widget-container::before {
  content: '' !important; height: 1px !important; width: clamp(36px,8vw,90px) !important;
  background: linear-gradient(90deg,transparent,#BE9A4E) !important;
}
.elementor-element-d062b49 .elementor-widget-container::after {
  content: '' !important; height: 1px !important; width: clamp(36px,8vw,90px) !important;
  background: linear-gradient(90deg,#BE9A4E,transparent) !important;
}

/* ===== Services — divider fix (icon widget uses .elementor-icon-wrapper) ===== */
.elementor-element-d062b49 .elementor-icon-wrapper {
  display: flex !important; align-items: center !important;
  justify-content: center !important; gap: 1rem !important;
  color: #BE9A4E !important; margin: 0 auto 1.2rem !important;
}
.elementor-element-d062b49 .elementor-icon-wrapper::before {
  content: "" !important; height: 1px !important; width: clamp(36px,8vw,90px) !important;
  background: linear-gradient(90deg, transparent, #BE9A4E) !important;
}
.elementor-element-d062b49 .elementor-icon-wrapper::after {
  content: "" !important; height: 1px !important; width: clamp(36px,8vw,90px) !important;
  background: linear-gradient(90deg, #BE9A4E, transparent) !important;
}
.elementor-element-d062b49 .elementor-icon { width: 22px !important; height: 22px !important; }
.elementor-element-d062b49 .elementor-icon svg { width: 22px !important; height: 22px !important; color: #BE9A4E !important; }

/* ===== Global — remove Astra container width constraint on all Elementor full-width pages ===== */
body.elementor-template-full-width #content .ast-container {
  max-width: 100% !important; padding-left: 0 !important; padding-right: 0 !important;
}
body.elementor-template-full-width #content,
body.elementor-template-full-width #primary { padding: 0 !important; }

/* ===== Services — fix image column: aspect-ratio + cover, remove stretch ===== */
/* Override align-items:start (set earlier) — center is correct for split sections */
.gse-split > .e-con-inner, .gse-split.e-con-full,
.gse-split-rev > .e-con-inner, .gse-split-rev.e-con-full { align-items: center !important; }
/* Remove column height:100% so image col does not stretch to text col height */
.gse-split > .e-con-inner > .e-con,
.gse-split-rev > .e-con-inner > .e-con { height: auto !important; }
/* Remove sticky (parent col no longer tall enough to scroll through) */
.gse-split .gse-mediaframe, .gse-split-rev .gse-mediaframe { position: relative !important; }
/* Fixed 4:5 aspect ratio frame, image fills cover */
.gse-split .gse-mediaframe .elementor-widget-image,
.gse-split-rev .gse-mediaframe .elementor-widget-image { aspect-ratio: auto !important; }
.gse-split .gse-mediaframe img,
.gse-split-rev .gse-mediaframe img { height: auto !important; object-fit: initial !important; }

/* ===== Services — “Book a free consultation” centred ===== */
.elementor-element-827bcb8 {
  width: 100% !important;
  display: flex !important;
  justify-content: center !important;
  text-align: center !important;
}
.elementor-element-827bcb8 .elementor-button { display: inline-flex !important; margin: 0 auto !important; }

/* ===== Services — gold offset accent frame on images ===== */
/* Give image columns a stacking context so ::after{z-index:-1} is trapped inside,
   not lost behind section backgrounds (Elementor default: z-index:auto = no stacking context) */
.gse-split .gse-mediaframe, .gse-split-rev .gse-mediaframe { z-index: 0 !important; }
/* Override global ::after with reference-style 70×70% bottom-right partial accent */
.gse-split .gse-mediaframe::after, .gse-split-rev .gse-mediaframe::after {
  inset: auto -16px -16px auto !important;
  width: 70% !important; height: 70% !important;
  border-width: 1.5px !important;
}

/* ===== Services — center hero section ===== */
.elementor-element-6ba7483 { --align-items: center !important; text-align: center !important; }
.elementor-element-6ba7483 > .e-con-inner { align-items: center !important; }
.elementor-element-6ba7483 .elementor-heading-title { text-align: center !important; }
.elementor-element-6ba7483 .elementor-widget-text-editor,
.elementor-element-6ba7483 .elementor-widget-text-editor p {
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* ===== About — center hero section ===== */
.elementor-element-246bbbf { --align-items: center !important; text-align: center !important; }
.elementor-element-246bbbf > .e-con-inner { align-items: center !important; }
.elementor-element-246bbbf .elementor-heading-title { text-align: center !important; }
.elementor-element-246bbbf .elementor-widget-text-editor,
.elementor-element-246bbbf .elementor-widget-text-editor p {
  text-align: center !important; margin-left: auto !important; margin-right: auto !important;
}

/* ===== About — center “Start your enquiry” button ===== */
.elementor-element-04c075b {
  width: 100% !important; display: flex !important;
  justify-content: center !important; text-align: center !important;
}
.elementor-element-04c075b .elementor-button { display: inline-flex !important; margin: 0 auto !important; }

/* ===== Testimonials — center hero section ===== */
.elementor-element-78a664c { --align-items: center !important; text-align: center !important; }
.elementor-element-78a664c > .e-con-inner { align-items: center !important; }
.elementor-element-78a664c .elementor-heading-title { text-align: center !important; }
.elementor-element-78a664c .elementor-widget-text-editor,
.elementor-element-78a664c .elementor-widget-text-editor p {
  text-align: center !important; margin-left: auto !important; margin-right: auto !important;
}

/* ===== Testimonials — center “Enquire about your date” button ===== */
.elementor-element-32a15e3 {
  width: 100% !important; display: flex !important;
  justify-content: center !important; text-align: center !important;
}
.elementor-element-32a15e3 .elementor-button { display: inline-flex !important; margin: 0 auto !important; }

/* ===== Contact — center hero section ===== */
.elementor-element-dbb07cd { --align-items: center !important; text-align: center !important; }
.elementor-element-dbb07cd > .e-con-inner { align-items: center !important; }
.elementor-element-dbb07cd .elementor-heading-title { text-align: center !important; }
.elementor-element-dbb07cd .elementor-widget-text-editor,
.elementor-element-dbb07cd .elementor-widget-text-editor p {
  text-align: center !important; margin-left: auto !important; margin-right: auto !important;
}

/* mediaframe top-offset reset — prevent leftover sticky top from shifting image into next section */
.gse-split .gse-mediaframe, .gse-split-rev .gse-mediaframe { top: 0 !important; }

/* ===== About — circular team portraits + card hover highlight ===== */
.elementor-element-f48d401 img,
.elementor-element-a0c3639 img,
.elementor-element-be432f2 img {
  aspect-ratio: 1 / 1 !important; object-fit: cover !important; object-position: center 22% !important;
  border-radius: 50% !important; width: 78% !important; margin: 0 auto !important; display: block !important;
  box-shadow: 0 0 0 7px #FBF8F3, 0 0 0 8px #BE9A4E !important;
  transition: transform .5s ease, box-shadow .5s ease !important;
}
.elementor-element-1e7d51e,
.elementor-element-33dd89a,
.elementor-element-93fcb4b {
  padding: 1.4rem 1.3rem 1.8rem !important; border-radius: 8px !important;
  transition: transform .4s ease, box-shadow .4s ease, background-color .4s ease !important;
}
.elementor-element-1e7d51e:hover,
.elementor-element-33dd89a:hover,
.elementor-element-93fcb4b:hover {
  background-color: #FBF8F3 !important; box-shadow: 0 20px 55px rgba(46,42,36,.12) !important;
  transform: translateY(-6px) !important;
}
.elementor-element-1e7d51e:hover .elementor-widget-image img,
.elementor-element-33dd89a:hover .elementor-widget-image img,
.elementor-element-93fcb4b:hover .elementor-widget-image img {
  transform: scale(1.04) !important; box-shadow: 0 0 0 7px #FBF8F3, 0 0 0 9px #BE9A4E !important;
}
/* ============================================================
   GOLD STANDARD — PURPOSE-BUILT MOBILE PASS (<= 767px)
   ============================================================ */
@media (max-width: 767px) {

  /* Header: drop the clipped Enquire CTA — burger carries nav */
  .gse-cta { display: none !important; }

  /* Hero: legible text over the bright video + full-width stacked CTAs */
  .gse-hero .elementor-background-overlay {
    background-color: transparent !important;
    background-image: linear-gradient(180deg, rgba(18,12,5,.52) 0%, rgba(18,12,5,.42) 42%, rgba(18,12,5,.72) 100%) !important;
  }
  .gse-hero .elementor-heading-title, .gse-hero p { text-shadow: 0 1px 18px rgba(12,8,3,.55) !important; }
  .gse-hero h1, .gse-hero .elementor-widget-heading h1 { font-size: 31px !important; line-height: 1.12 !important; }
  .gse-hero > .e-con-boxed > .e-con-inner, .elementor-element-3e73c4e > .e-con-inner {
    padding-left: 22px !important; padding-right: 22px !important; max-width: 100% !important; row-gap: 10px !important;
  }
  .gse-hero > .e-con-boxed > .e-con-inner > *, .elementor-element-3e73c4e > .e-con-inner > * { max-width: 100% !important; }
  .elementor-element-6218924, .elementor-element-6218924 > .e-con-inner {
    display: flex !important; flex-direction: column !important; gap: 12px !important; width: 100% !important;
  }
  .gse-hero .elementor-widget-button { width: 100% !important; }
  .gse-hero .elementor-button {
    width: 100% !important; justify-content: center !important;
    padding-top: 16px !important; padding-bottom: 16px !important; letter-spacing: .12em !important;
  }
  .elementor-element-9f66a16 .elementor-button {
    background: transparent !important; border: 1px solid rgba(255,255,255,.55) !important; color: #fff !important;
  }

  /* Trust strip: centre the four proofs */
  .gse-trust > .e-con-inner { justify-content: center !important; }

  /* Stats: a calm 2x2 block instead of a tall stack */
  .elementor-element-16a6179 > .e-con-inner, .elementor-element-16a6179.e-con-full {
    grid-template-columns: 1fr 1fr !important; gap: 30px 14px !important;
  }
  .elementor-element-16a6179 .elementor-heading-title, .elementor-element-16a6179 .elementor-widget-text-editor { text-align: center !important; }
  .elementor-element-16a6179 .elementor-heading-title { font-size: 2rem !important; line-height: 1.05 !important; letter-spacing: 0 !important; white-space: nowrap !important; }

  /* "Why" feature icon-boxes: centre icon above centred text */
  .elementor-element-a091679 .elementor-icon-box-wrapper { text-align: center !important; }
  .elementor-element-a091679 .elementor-icon-box-icon { margin: 0 auto 14px !important; }

  /* About philosophy: collapse the stretched icon pill into a chip */
  .elementor-element-26f930c, .elementor-element-b29a568, .elementor-element-ead15e9 {
    width: max-content !important; min-width: 0 !important; margin-left: auto !important; margin-right: auto !important;
  }

  /* Inner-page heroes: trim the oversized top gap */
  .gse-page-hero { padding-top: 132px !important; padding-bottom: 46px !important; }

  /* Pricing: stack amount over its note (inline-styled flex blocks) */
  .elementor-element-e218d0a div[style*="flex-end"],
  .elementor-element-417a370 div[style*="flex-end"],
  .elementor-element-e9ffcee div[style*="flex-end"],
  .elementor-element-768aef0 div[style*="flex-end"],
  .elementor-element-6700a76 div[style*="flex-end"] {
    flex-direction: column !important; align-items: flex-start !important; gap: 8px !important;
  }

  /* Hide desktop-only flourishes */
  .gse-mediaframe::after, .gse-cta-motif, .gse-cursor-glow { display: none !important; }

  /* Tighten vertical rhythm on stacked sections (hero + page-hero keep their own) */
  [data-elementor-type="wp-page"] > .e-con:not(.gse-hero):not(.gse-page-hero) {
    padding-top: 56px !important; padding-bottom: 56px !important;
  }
}
/* ===== Contact form submit — brand gold, not WPForms blue (all viewports) ===== */
.wpforms-submit-container .wpforms-submit,
div[id^="wpforms-"] button[type="submit"] {
  background-color: #BE9A4E !important;
  border: 1px solid #BE9A4E !important;
  color: #FFFFFF !important;
  font-family: 'Jost', sans-serif !important;
  font-size: 13px !important; font-weight: 500 !important;
  letter-spacing: .14em !important; text-transform: uppercase !important;
  padding: 15px 34px !important; border-radius: 2px !important;
  transition: background-color .3s ease, transform .3s ease !important;
}
.wpforms-submit-container .wpforms-submit:hover,
div[id^="wpforms-"] button[type="submit"]:hover {
  background-color: #9C7C36 !important; border-color: #9C7C36 !important;
}
@media (max-width: 767px) {
  .wpforms-submit-container .wpforms-submit,
  div[id^="wpforms-"] button[type="submit"] { width: 100% !important; }
}
@media (max-width: 767px) {
  .elementor-element-e218d0a div[style*="flex-end"] > span,
  .elementor-element-417a370 div[style*="flex-end"] > span,
  .elementor-element-e9ffcee div[style*="flex-end"] > span,
  .elementor-element-768aef0 div[style*="flex-end"] > span,
  .elementor-element-6700a76 div[style*="flex-end"] > span {
    align-self: flex-start !important; padding-bottom: 0 !important; margin-top: 2px !important;
  }
}
/* ============================================================
   Mobile: card groups -> swipe carousel (scroll-snap, peek, no JS)
   grid-2 & grid-3 only; grid-4 (stats) stays a 2x2 block.
   ============================================================ */
@media (max-width: 767px) {
  .gse-grid-2 > .e-con-inner, .gse-grid-2.e-con-full,
  .gse-grid-3 > .e-con-inner, .gse-grid-3.e-con-full {
    display: flex !important;
    grid-template-columns: none !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    overflow-x: auto !important;
    scroll-snap-type: x mandatory !important;
    -webkit-overflow-scrolling: touch !important;
    scroll-padding-left: 20px !important;
    gap: 16px !important;
    padding: 22px 20px 26px !important;
    margin: 0 !important;
    max-width: 100% !important;
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
  }
  .gse-grid-2 > .e-con-inner::-webkit-scrollbar, .gse-grid-2.e-con-full::-webkit-scrollbar,
  .gse-grid-3 > .e-con-inner::-webkit-scrollbar, .gse-grid-3.e-con-full::-webkit-scrollbar {
    display: none !important; width: 0 !important; height: 0 !important;
  }
  .gse-grid-2 > .e-con-inner > .e-con, .gse-grid-2.e-con-full > .e-con,
  .gse-grid-3 > .e-con-inner > .e-con, .gse-grid-3.e-con-full > .e-con {
    flex: 0 0 85% !important;
    width: 85% !important; max-width: 85% !important; min-width: 0 !important;
    scroll-snap-align: start !important;
  }
}
/* ===== Astra scroll-to-top button — brand gold (matches primary buttons) ===== */
#ast-scroll-top {
  background-color: #BE9A4E !important;
  color: #FFFFFF !important;
  transition: background-color .3s ease !important;
}
#ast-scroll-top:hover,
#ast-scroll-top:focus {
  background-color: #9C7C36 !important;
}
#ast-scroll-top svg,
#ast-scroll-top .ast-icon svg {
  fill: #FFFFFF !important;
}

/* Fix: CTA-band buttons (e.g. "Enquire about your date") had invisible text on hover because .gse-cta-band span forces all spans white, overriding the button's own hover text color. Restore hover text color on the button's inner spans. */
.gse-cta-band .elementor-button:hover .elementor-button-text,
.gse-cta-band .elementor-button:hover .elementor-button-content-wrapper,
.gse-cta-band .elementor-button:focus .elementor-button-text,
.gse-cta-band .elementor-button:focus .elementor-button-content-wrapper {
  color: #2F4A3C !important;
}/* End custom CSS */