/* wg-header.css · v1 (2026-10-20)
   Site header (Elementor template 22740) on tablet and mobile, and its menu panel: template 28160
   "Mobile Menu (Webgold)", opened by the Menu pill (container b3e9f20 > popup widget c4f0a31).
   Enqueued site-wide: the header is on every page and Barba keeps it across transitions. Every rule
   is scoped to .elementor-22740; the panel renders inside the header, so it is covered too.
   Desktop (above 1024px) keeps the horizontal pill nav d12decc; tablet and mobile hide it and show
   the Menu pill (Elementor visibility settings on the widgets, not here). */

/* ── Menu pill: same orange pill as the cart beside it, white icon and label ── */
.elementor-22740 .wg-menu-pill .pe--pop--button{
  display: flex;
  align-items: center;
  gap: 6px;
  color: #FFFFFF;
  font-family: 'DM Sans', system-ui, sans-serif;
  font-size: 15px;
  font-weight: 500;
  line-height: 1;
  cursor: pointer;
}
.elementor-22740 .wg-menu-pill .pe--pop--button i{ font-size: 20px; line-height: 1; color: inherit; }

/* ── Panel: Blackout on white, as the cart's mini-cart panel ── */
.elementor-22740 .wga-mm{ color: #191919; }
.elementor-22740 .wga-mm .pe--list--wrapper{ margin: 0; padding: 0; list-style: none; }
.elementor-22740 .wga-mm .pe--list--item{ margin: 0; padding: 0; opacity: 1 !important; }
.elementor-22740 .wga-mm .pe--list--item a{ display: block; text-decoration: none; }

/* main links: large Quanta, a sandstone hairline between rows */
.elementor-22740 .wga-mm-main .pe--list--item a{ padding: 13px 0; border-bottom: 1px solid #E8DFD0; }
.elementor-22740 .wga-mm-main .list--main{
  font-family: 'QuantaGroteskPro-Medium-BF6459a54ca605a', 'DM Sans', system-ui, sans-serif;
  font-size: 28px;
  font-weight: 400;
  line-height: 1.1;
  color: #191919 !important;
  transition: color .2s ease;
}
/* "Services" heads its list of services: no hairline between them */
.elementor-22740 .wga-mm-main:has(+ .wga-mm-sub) .pe--list--item:last-child a{ border-bottom: 0; padding-bottom: 6px; }
/* 2026-11-01: hidden Services sub-list b260e42 still matches the line above; give Services (last of 25b19a8) the same divider + bottom spacing as the other main items. */
.elementor-22740 .elementor-element.elementor-element-25b19a8.wga-mm-main .pe--list--item:last-child a{ padding-bottom: 13px; border-bottom: 1px solid #E8DFD0; }

/* the services, indented under "Services" */
.elementor-22740 .wga-mm-sub{ padding: 0 0 10px 14px; border-bottom: 1px solid #E8DFD0; }
.elementor-22740 .wga-mm-sub .pe--list--item a{ padding: 5px 0; }
.elementor-22740 .wga-mm-sub .list--main{
  font-family: 'DM Sans', system-ui, sans-serif;
  font-size: 15px;
  line-height: 1.4;
  color: #3A3A3A !important;
  transition: color .2s ease;
}

/* email and phone, small, under the button */
.elementor-22740 .wga-mm-contact{ margin-top: 18px; }
.elementor-22740 .wga-mm-contact .pe--list--item a{ padding: 4px 0; }
.elementor-22740 .wga-mm-contact .list--main{
  font-family: 'DM Sans', system-ui, sans-serif;
  font-size: 15px;
  line-height: 1.4;
  color: #3A3A3A !important;
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* hover and keyboard focus: Orange, the site's link accent */
.elementor-22740 .wga-mm a:hover .list--main,
.elementor-22740 .wga-mm a:focus-visible .list--main{ color: #FC4521 !important; }
.elementor-22740 .wga-mm a:focus-visible{ outline: 2px solid #FC4521; outline-offset: 2px; border-radius: 2px; }

/* the consultation button (the homepage hero's, cloned): full panel width, never wider */
.elementor-22740 .wga-mm-cta{ width: 100%; margin-top: 24px; }
.elementor-22740 .wga-mm-cta .pe--button,
.elementor-22740 .wga-mm-cta .pe--button--wrapper,
.elementor-22740 .wga-mm-cta .pb--handle{ width: 100%; max-width: 100%; }
.elementor-22740 .wga-mm-cta .pb--handle{ justify-content: flex-start; gap: 10px !important; padding-right: 12px !important; font-size: 15px !important; }
.elementor-22740 .wga-mm-cta .pe--button--text{ flex: 0 0 auto; }
.elementor-22740 .zeyna--popup--template{ overflow-x: hidden; scrollbar-width: thin; scrollbar-color: #E8DFD0 transparent; }

/* === Header glass pill (2026-10) === */
#masthead.site-header::before {
  content: "";
  position: absolute;
  top: 7px;
  bottom: 7px;
  left: 21px;
  right: 18px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
  backdrop-filter: blur(14px) saturate(160%);
  -webkit-backdrop-filter: blur(14px) saturate(160%);
  border: 1px solid rgba(255, 255, 255, 0.18);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.18),
              inset 0 1px 0 rgba(255, 255, 255, 0.15);
  pointer-events: none;
  z-index: 0;
  transition: background-color .3s ease, border-color .3s ease;
}

#masthead.site-header > .elementor {
  position: relative;
  z-index: 1;
  padding: 0 14px;
}

#masthead.site-header.header--move::before {
  background: rgba(18, 18, 18, 0.72);
  border-color: rgba(255, 255, 255, 0.12);
}

#masthead .elementor-element-f21979e {
  margin-left: 16px;
}

@media (max-width: 767px) {
  #masthead.site-header::before {
    left: 8px;
    right: 8px;
    border-radius: 20px;
  }
}

/* Zeyna never adds .header--move at 500px and below (its mobileQuery), so phones get the dark pill from the start */
@media (max-width: 500px) {
  #masthead.site-header::before {
    background: rgba(18, 18, 18, 0.72);
    border-color: rgba(255, 255, 255, 0.12);
  }
}

/* Mega menu panel: align with + match header pill */
/* Services mega menu (template 22405): the outer container 3d490e71 takes the pill's insets, so the panel 59bdaa8
   starts on the pill, and the panel's top corners take the pill's rendered radius (999px on a 62px pill = 31px).
   Desktop only: at 1024px and below the header opens the Menu pill panel (28160) instead, so the 767px pill
   (8px sides, 20px radius) has no mega menu to match. With the admin bar the fixed wrapper starts under it. */
:root { --wg-pill-radius: 31px; }
.admin-bar .zeyna-sub-menu-wrap { top: var(--wp-admin--admin-bar--height, 32px); }
.elementor-22405 .elementor-element.elementor-element-3d490e71 { padding: 7px 18px 20px 21px !important; }
.elementor-22405 .elementor-element.elementor-element-59bdaa8 { padding-top: 63px !important; }
.elementor-22405 .elementor-element.elementor-element-59bdaa8,
.elementor-22405 .elementor-element.elementor-element-59bdaa8::before { border-radius: var(--wg-pill-radius) var(--wg-pill-radius) 20px 20px !important; }

/* Mega menu item descriptions: pe-core's own per-item "Sub Texts (After)" field (sub_items_after, filled in
   Elementor on lists 45b4c1f3, 8aff519 and 206dc918) prints span.list--sub--text after the title, inside the link.
   pe-core lays it out as a 20%-wide column beside the title; here it is one muted line under the title. It sits
   inside the <a> that pe-core's hover dimming fades, so it dims with its title. The footer list is not affected. */
.elementor-22405 .elementor-element-59bdaa8 .pe--list--item > a { display: flex; flex-direction: column; align-items: flex-start; }
.elementor-22405 .elementor-element-59bdaa8 .pe--list--item span.list--sub--text { display: block; width: auto; font-size: 13px; line-height: 18px; font-weight: 400; opacity: .55; margin-top: 2px; text-transform: none; letter-spacing: 0; }

/* === Capability Areas: card overflow fix (2026-10) === */
.elementor-element-c27777b {
  --width: 100%;
  width: 100%;
  max-width: 680px;
}

/* === Capability Areas: accordion hover + expand cue (2026-10) === */
.elementor-element-bebe87a .e-n-accordion-item-title {
  cursor: pointer;
}
.elementor-element-bebe87a .e-n-accordion-item-title-text {
  transition: color .3s ease, transform .35s cubic-bezier(.2, .7, .2, 1);
}
.elementor-element-bebe87a .e-n-accordion-item-title:hover .e-n-accordion-item-title-text,
.elementor-element-bebe87a .e-n-accordion-item-title:focus-visible .e-n-accordion-item-title-text {
  color: var(--wg-header-orange);
  transform: translateX(10px);
}

.elementor-element-bebe87a .e-n-accordion-item-title-icon {
  position: relative;
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  transition: background-color .3s ease, transform .35s ease;
}
.elementor-element-bebe87a .e-n-accordion-item-title-icon .e-closed i {
  transition: transform .3s ease, opacity .2s ease;
}
.elementor-element-bebe87a .e-n-accordion-item-title-icon::before,
.elementor-element-bebe87a .e-n-accordion-item-title-icon::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 14px;
  height: 2px;
  background: #fff;
  border-radius: 2px;
  transform: translate(-50%, -50%) scale(0);
  transition: transform .3s ease;
}
.elementor-element-bebe87a .e-n-accordion-item-title-icon::after {
  transform: translate(-50%, -50%) rotate(90deg) scale(0);
}

.elementor-element-bebe87a .e-n-accordion-item:not(.is-open) > .e-n-accordion-item-title:is(:hover, :focus-visible) .e-n-accordion-item-title-icon {
  background: var(--wg-header-orange);
  transform: rotate(90deg);
}
.elementor-element-bebe87a .e-n-accordion-item:not(.is-open) > .e-n-accordion-item-title:is(:hover, :focus-visible) .e-closed i {
  transform: scale(0);
  opacity: 0;
}
.elementor-element-bebe87a .e-n-accordion-item:not(.is-open) > .e-n-accordion-item-title:is(:hover, :focus-visible) .e-n-accordion-item-title-icon::before {
  transform: translate(-50%, -50%) scale(1);
}
.elementor-element-bebe87a .e-n-accordion-item:not(.is-open) > .e-n-accordion-item-title:is(:hover, :focus-visible) .e-n-accordion-item-title-icon::after {
  transform: translate(-50%, -50%) rotate(90deg) scale(1);
}

@media (prefers-reduced-motion: reduce) {
  .elementor-element-bebe87a .e-n-accordion-item-title *,
  .elementor-element-bebe87a .e-n-accordion-item-title-icon {
    transition: none !important;
  }
}

/* === Products: "Get First Access" styled like footer newsletter (2026-10) === */
/* Revised 2026-10-21: keeps the page's cream background (Elementor's own) and stacks the columns, centred */
.elementor-26290 .elementor-element.elementor-element-e88ded6 {
  padding: clamp(72px, 9vw, 130px) clamp(20px, 5vw, 69px) !important;
  position: relative;
  overflow: hidden;
}
.elementor-26290 .elementor-element.elementor-element-e88ded6::before,
.elementor-26290 .elementor-element.elementor-element-e88ded6::after {
  content: "";
  position: absolute;
  width: 200px;
  height: 200px;
  border: 1px solid rgba(252, 69, 33, .22);
  border-radius: 50%;
  pointer-events: none;
}
.elementor-26290 .elementor-element.elementor-element-e88ded6::before { left: 0; top: 10%; }
.elementor-26290 .elementor-element.elementor-element-e88ded6::after  { right: 30%; bottom: -6%; }

.elementor-26290 .elementor-element.elementor-element-e88ded6 > .e-con-inner {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr);
  row-gap: 40px;
  width: 100%;
  max-width: 668px;
  margin-inline: auto;
  position: relative;
  z-index: 1;
}

/* Top: eyebrow, heading, copy */
.elementor-26290 .elementor-element.elementor-element-e88ded6 .elementor-element-a242675 {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: clamp(16px, 1.8vw, 24px);
  width: 100% !important;
  padding: 0 !important;
}
.elementor-26290 .elementor-element.elementor-element-e88ded6 .elementor-element-a242675 > .elementor-element {
  width: 100% !important;
  text-align: center;
}
.elementor-26290 .elementor-element.elementor-element-e88ded6 .elementor-element-1f56c8a p {
  color: #fc4521 !important;
  font-family: "DM Sans", system-ui, sans-serif;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: .16em !important;
  text-transform: uppercase;
  text-align: center !important;
}
.elementor-26290 .elementor-element.elementor-element-e88ded6 .elementor-element-1f56c8a .inner--icon { display: none; }
.elementor-26290 .elementor-element.elementor-element-e88ded6 .wg-prod-h,
.elementor-26290 .elementor-element.elementor-element-e88ded6 .wg-prod-h .elementor-heading-title {
  margin: 0;
  color: #0f0f0f;
  font-family: QuantaGroteskPro-ExtraBold-BF6459a54cb400b, "DM Sans", system-ui, sans-serif;
  font-size: clamp(38px, 4.4vw, 60px);
  font-weight: 400;
  line-height: 1.05;
  letter-spacing: -.01em;
  text-align: center;
}
.elementor-26290 .elementor-element.elementor-element-e88ded6 .elementor-element-a0b22a3 {
  width: 100% !important;
  --width: 100%;
}
.elementor-26290 .elementor-element.elementor-element-e88ded6 .elementor-element-a0b22a3,
.elementor-26290 .elementor-element.elementor-element-e88ded6 .elementor-element-a0b22a3 * {
  text-align: center !important;
}
.elementor-26290 .elementor-element.elementor-element-e88ded6 .elementor-element-a0b22a3 p {
  color: #0f0f0f !important;
  font-size: clamp(16px, 1.3vw, 18px) !important;
  line-height: 1.6 !important;
  max-width: 560px;
  margin: 0 auto;
}

/* Below: pill form + perks */
.elementor-26290 .elementor-element.elementor-element-e88ded6 .elementor-element-b1a1d49 {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 18px;
  width: 100% !important;
  padding: 0 !important;
}
.elementor-26290 .elementor-element.elementor-element-e88ded6 .elementor-element-f7cae42 {
  width: 100% !important;
  max-width: none !important;
}
.elementor-26290 .elementor-element.elementor-element-e88ded6 .pe--form form.custom-form-widget-form {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 12px;
  background: #222 !important;
  border: 1px solid transparent;
  border-radius: 999px !important;
  --wg-fa-pill-h: 92px;                                                    /* the pill's height, unchanged */
  --wg-fa-inset: calc(var(--wg-fa-pill-h) * var(--wg-inset-ratio, .095));   /* ≈8.7px, see --wg-inset-ratio */
  --wg-fa-btn-h: calc(var(--wg-fa-pill-h) - 2px - 2 * var(--wg-fa-inset));  /* ≈72.5px: the pill's inner height */
  padding: var(--wg-fa-inset) var(--wg-fa-inset) var(--wg-fa-inset) 15px !important;   /* equal gap on top, right and bottom; the field keeps its 15px */
  transition: border-color .3s;
}
.elementor-26290 .elementor-element.elementor-element-e88ded6 .pe--form form.custom-form-widget-form:focus-within {
  border-color: rgba(252, 69, 33, .5);
}
.elementor-26290 .elementor-element.elementor-element-e88ded6 .pe--form form .form-field {
  flex: 1 1 auto;
  margin: 0 !important;
  padding: 0 !important;
}
.elementor-26290 .elementor-element.elementor-element-e88ded6 .pe--form form input {
  width: 100%;
  height: auto !important;
  min-height: 0 !important;
  padding: 0 27px !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  color: #fff0d9 !important;
  font-size: 15px !important;
}
.elementor-26290 .elementor-element.elementor-element-e88ded6 .pe--form form input::placeholder {
  color: rgba(255, 240, 217, .65);
}
.elementor-26290 .elementor-element.elementor-element-e88ded6 .pe--form--button--wrap {
  flex: 0 0 auto;
  width: auto !important;
  margin: 0 !important;
  transform: none !important;
}
.elementor-26290 .elementor-element.elementor-element-e88ded6 .pe--form--button--wrap button,
.elementor-26290 .elementor-element.elementor-element-e88ded6 .pe--form--button--wrap .pe--button--wrapper {
  background: #fc4521 !important;
  color: #191919 !important;
  border: 0 !important;
  border-radius: 999px !important;
}
.elementor-26290 .elementor-element.elementor-element-e88ded6 .pe--form--button--wrap button {
  height: var(--wg-fa-btn-h);
  padding: 0 26px !important;
  font-size: 15px;
  font-weight: 700;
  white-space: nowrap;
}
.elementor-26290 .elementor-element.elementor-element-e88ded6 .pe--form--button--wrap button * {
  color: #191919 !important;
}
/* arrow after the label, as on the footer newsletter's button: slides out right and back in from the left on hover */
.elementor-26290 .elementor-element.elementor-element-e88ded6 .pe--form--button--wrap button .pe--button--text {
  display: flex;
  align-items: center;
}
.elementor-26290 .elementor-element.elementor-element-e88ded6 .pe--form--button--wrap button .pe--button--text::after {
  content: "";
  flex: 0 0 18px;
  height: 18px;
  margin: -2px 0 -2px 10px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23191919' d='M12 4l-1.41 1.41L16.17 11H4v2h12.17l-5.58 5.59L12 20l8-8z'/%3E%3C/svg%3E"),
                    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23191919' d='M12 4l-1.41 1.41L16.17 11H4v2h12.17l-5.58 5.59L12 20l8-8z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: 18px 18px;
  background-position: 0 0, -18px 0;
  transition: background-position .3s ease;
}
.elementor-26290 .elementor-element.elementor-element-e88ded6 .pe--form--button--wrap button:is(:hover, :focus-visible) .pe--button--text::after {
  background-position: 18px 0, 0 0;
}
.elementor-26290 .elementor-element.elementor-element-e88ded6 .elementor-element-b1a1d49 > :last-child p {
  color: rgba(15, 15, 15, .7) !important;
  font-size: 13px;
  line-height: 1.9;
  text-align: center !important;
}

@media (max-width: 600px) {
  .elementor-26290 .elementor-element.elementor-element-e88ded6 .pe--form form.custom-form-widget-form {
    --wg-fa-btn-h: 60px;   /* the stacked layout keeps its 60px button */
    flex-direction: column !important;
    border-radius: 28px !important;
    padding: 12px !important;
  }
  .elementor-26290 .elementor-element.elementor-element-e88ded6 .pe--form--button--wrap,
  .elementor-26290 .elementor-element.elementor-element-e88ded6 .pe--form--button--wrap button {
    width: 100% !important;
  }
  .elementor-26290 .elementor-element.elementor-element-e88ded6 .pe--form form input {
    padding: 12px 16px !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  .elementor-26290 .elementor-element.elementor-element-e88ded6 .pe--form--button--wrap button .pe--button--text::after {
    transition: none;
  }
}

/* === Footer: 3 equal columns, unified links, social icons (2026-10) === */
.elementor-1214 .elementor-element.elementor-element-28fb5344 {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  column-gap: clamp(32px, 5vw, 96px);
}
.elementor-1214 .elementor-element.elementor-element-28fb5344 > .e-con {
  --width: auto;
  width: auto !important;
  max-width: none !important;
  flex: none !important;
}
/* the row's two spacer widgets would open an empty second grid row */
.elementor-1214 .elementor-element.elementor-element-28fb5344 > .elementor-widget-spacer {
  display: none;
}

/* Every footer link behaves like the Navigate menu */
.elementor-1214 .elementor-element-28fb5344 .elementor-element-fa37a92 .menu--link,
.elementor-1214 .elementor-element-28fb5344 .elementor-element-3180b1a3 a,
.elementor-1214 .elementor-element-28fb5344 .elementor-element-eab7aa1 a,
.elementor-1214 .elementor-element-28fb5344 .elementor-element-754d728a a {
  color: #f1f1f1 !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 24px !important;
}
.elementor-1214 .elementor-element-28fb5344 .elementor-element-fa37a92 .menu--link:hover,
.elementor-1214 .elementor-element-28fb5344 .elementor-element-fa37a92 .current-menu-item > .menu--link,
.elementor-1214 .elementor-element-28fb5344 .elementor-element-fa37a92 .current_page_item > .menu--link,
.elementor-1214 .elementor-element-28fb5344 .elementor-element-3180b1a3 a:hover,
.elementor-1214 .elementor-element-28fb5344 .elementor-element-3180b1a3 a.is-current,
.elementor-1214 .elementor-element-28fb5344 .elementor-element-eab7aa1 a:hover,
.elementor-1214 .elementor-element-28fb5344 .elementor-element-754d728a a:hover {
  opacity: 1;
}

/* 3px between links (24px line + 3px = 27px rhythm) */
/* post-1214.css sets row-gap: 5px !important on .elementor-element-fa37a92.menu__flex--styled .menu.main-menu; this out-ranks it */
.elementor-1214 .elementor-element-28fb5344 .elementor-element.elementor-element-fa37a92.menu__flex--styled .menu.main-menu {
  gap: 3px !important;
}
.elementor-1214 .elementor-element-28fb5344 .elementor-element-3180b1a3 .pe--list--item + .pe--list--item {
  margin-top: 3px !important;
}

/* Address starts on the same line as the first link in each column */
.elementor-1214 .elementor-element-28fb5344 .elementor-element-1884bf5e {
  margin-top: 5px !important;
}
.elementor-1214 .elementor-element-28fb5344 .elementor-element-1884bf5e p {
  line-height: 24px !important;
}

/* Social icons */
.elementor-1214 .wg-footer-social {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 8px;
}
.elementor-1214 .wg-footer-social a {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border: 1px solid rgba(241, 241, 241, .18);
  border-radius: 50%;
  color: #f1f1f1;
  opacity: .6;
  transition: opacity .25s, background-color .25s, border-color .25s;
}
.elementor-1214 .wg-footer-social a:hover,
.elementor-1214 .wg-footer-social a:focus-visible {
  opacity: 1;
  background: #fc4521;
  border-color: #fc4521;
}
.elementor-1214 .wg-footer-social svg {
  width: 16px;
  height: 16px;
  fill: currentColor;
}

@media (max-width: 767px) {
  .elementor-1214 .elementor-element.elementor-element-28fb5344 {
    grid-template-columns: 1fr 1fr;
    row-gap: 40px;
  }
  .elementor-1214 .elementor-element.elementor-element-28fb5344 > .e-con:first-child {
    grid-column: 1 / -1;
  }
  /* the menu runs as a wrapping row on phones; in a half-width column it stacks like Services */
  .elementor-1214 .elementor-element-28fb5344 .elementor-element.elementor-element-fa37a92.menu__flex--styled .menu.main-menu {
    flex-direction: column !important;
  }
}

/* === Community sign-up: Formidable multi-step glass pill (2026-10) === */
/* the shortcode widget sits in a centring flex column, so it would shrink to its content */
.elementor-widget.wg-community-form { width: 100%; }
.wg-community-form .frm_forms {
  width: min(720px, 100%);
  margin: 8px auto 0;
  font-family: "DM Sans", system-ui, sans-serif;
}
/* Formidable styling is off for this form, so the browser's fieldset padding and border are still there */
.wg-community-form fieldset { border: 0; padding: 0; margin: 0; min-width: 0; }
.wg-community-form .frm_screen_reader,
.wg-community-form .frm_hidden_container > .frm_primary_label {
  position: absolute !important;
  width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap;
}

/* Progress (rootline / progress bar) */
/* Formidable prints the bar inside .frm_fields_container, so it is lifted out of the pill's grid and sits above it */
.wg-community-form .frm_rootline_group {
  position: absolute; left: 0; right: 0; bottom: calc(100% + 12px);
  display: flex; flex-direction: column; align-items: center; gap: 10px;
  margin: 0; padding: 0;
}
.wg-community-form .frm_page_bar {
  display: flex; justify-content: center; align-items: center;
  gap: 6px; margin: 0; padding: 0; list-style: none;
}
.wg-community-form .frm_rootline_group .frm_clearfix { display: none; }
/* formidableforms.css sets ul.frm_page_bar li { flex: 1 1 0% }, which would stretch the segments */
.wg-community-form .frm_rootline_single {
  flex: none; width: 22px; height: 4px; margin: 0; padding: 0; border-radius: 4px;
  background: rgba(255, 240, 217, .25);
  transition: width .3s, background .3s;
}
/* the current step's li carries .frm_current_page; finished steps only mark their button, input.frm_page_back */
.wg-community-form .frm_rootline_single.frm_current_page,
.wg-community-form .frm_rootline_single:has(.frm_page_back) { width: 34px; background: #fc4521; }
.wg-community-form .frm_rootline_single input,
.wg-community-form .frm_rootline_title { display: none; }
.wg-community-form .wg-step-label {
  text-align: center; margin: 0;
  color: rgba(255, 240, 217, .75); font-size: 13px; letter-spacing: .04em;
}

/* Buttons inside a pill (this form; the footer newsletter in webgold-newsletter.css): the gap between the button
   and the pill's edge is the same on top, right and bottom, pill height × this ratio, and the button fills the rest,
   so its round ends are concentric with the pill's. Phones' stacked layouts keep their own padding. 2026-10-30 */
:root { --wg-inset-ratio: .095; }
.wg-community-form {
  --wg-cf-pill-h: 92px;                                                    /* the pill's height, unchanged */
  --wg-cf-inset: calc(var(--wg-cf-pill-h) * var(--wg-inset-ratio, .095));   /* ≈8.7px */
  --wg-cf-btn-h: calc(var(--wg-cf-pill-h) - 2px - 2 * var(--wg-cf-inset));  /* ≈72.5px: the pill's inner height */
}

/* The pill: two fields + button on one row */
.wg-community-form .frm_fields_container {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto;
  align-items: center;
  padding: var(--wg-cf-inset) var(--wg-cf-inset) var(--wg-cf-inset) 15px;   /* the fields keep their 15px on the left */
  background: rgba(25, 25, 25, .78);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border: 1px solid rgba(255, 255, 255, .08);
  border-radius: 999px;
  transition: border-color .3s;
}
.wg-community-form .frm_fields_container:focus-within { border-color: rgba(252, 69, 33, .55); }
.wg-community-form .frm_form_field { grid-column: auto !important; width: auto !important; margin: 0 !important; padding: 0 !important; }
.wg-community-form .frm_form_field + .frm_form_field { border-left: 1px solid rgba(255, 240, 217, .15); }
.wg-community-form .frm_form_field input,
.wg-community-form .frm_form_field select {
  width: 100%; height: 30px !important; padding: 0 20px !important;
  background: transparent !important; border: 0 !important; box-shadow: none !important; outline: 0;
  color: #fff0d9 !important; font: 15px/1.4 "DM Sans", system-ui, sans-serif !important;
  appearance: none; -webkit-appearance: none;
}
.wg-community-form .frm_form_field input::placeholder { color: rgba(255, 240, 217, .6); }
.wg-community-form .frm_form_field select {
  cursor: pointer; padding-right: 36px !important;
  background-image:
    linear-gradient(45deg, transparent 50%, rgba(255, 240, 217, .7) 50%),
    linear-gradient(135deg, rgba(255, 240, 217, .7) 50%, transparent 50%) !important;
  background-position: calc(100% - 20px) 13px, calc(100% - 15px) 13px !important;
  background-size: 5px 5px !important; background-repeat: no-repeat !important;
}
/* the selects carry aria-required but no required attribute, so :invalid never matches; :has() catches the placeholder */
.wg-community-form .frm_form_field select:invalid,
.wg-community-form .frm_form_field select:has(option[value=""]:checked),
.wg-community-form .frm_form_field select option[value=""] { color: rgba(255, 240, 217, .6) !important; }
.wg-community-form .frm_form_field option { color: #191919; }

/* Errors: tint the field, show the message under the pill */
.wg-community-form .frm_blank_field input,
.wg-community-form .frm_blank_field select,
.wg-community-form .frm_blank_field input::placeholder { color: #ff8a70 !important; }
/* the field sits 31px above the pill's bottom edge, so +36px lands the message just under the pill */
.wg-community-form .frm_error {
  position: absolute; left: 20px; top: calc(100% + 36px);
  color: #ff8a70; font-size: 12px;
}
.wg-community-form .frm_form_field { position: relative; }

/* Buttons: Next + Join The List match the newsletter button */
.wg-community-form .frm_submit {
  grid-column: 3 !important; display: flex; align-items: center; margin: 0 !important; padding: 0 !important;
}
.wg-community-form .frm_submit button,
.wg-community-form .frm_submit input[type="submit"],
.wg-community-form .frm_button_submit {
  display: inline-flex; align-items: center; gap: 8px;
  height: var(--wg-cf-btn-h); padding: 0 26px !important; margin: 0 !important;
  background: #fc4521 !important; color: #191919 !important;
  border: 0 !important; border-radius: 999px !important; box-shadow: none !important;
  font: 700 15px "DM Sans", system-ui, sans-serif !important;
  white-space: nowrap; cursor: pointer; transition: filter .2s;
}
.wg-community-form .frm_button_submit::after { content: "→"; font-weight: 700; transition: transform .25s; }
.wg-community-form .frm_button_submit:hover { filter: brightness(1.08); }
.wg-community-form .frm_button_submit:hover::after { transform: translateX(3px); }
/* on the last page the button sits in the submit field's own .frm_form_field: no divider, and not Back's positioning box */
.wg-community-form .frm_form_field:has(> .frm_submit) { position: static; border: 0; }

/* Back: plain text link under the pill */
/* scoped to .frm_submit to out-rank the .frm_submit button rule above, which would paint it orange */
.wg-community-form .frm_submit .frm_prev_page {
  position: absolute; left: 50%; bottom: -58px; transform: translateX(-50%);
  height: auto !important; padding: 0 !important;
  background: none !important; border: 0 !important; box-shadow: none !important;
  color: rgba(255, 240, 217, .7) !important; font: 400 14px "DM Sans", system-ui, sans-serif !important;
  cursor: pointer;
}
.wg-community-form .frm_submit .frm_prev_page::after { content: none; }
.wg-community-form .frm_submit .frm_prev_page:hover { color: #fff0d9 !important; }
/* room above for the progress bar and step label, below for the errors and Back */
.wg-community-form .frm_fields_container { position: relative; margin: 46px 0 64px; }

/* Success message */
.wg-community-form .frm_message {
  text-align: center; color: #fff0d9; font-size: 17px;
  background: none; border: 0; padding: 18px;
}

/* Step transition */
.wg-community-form .frm_fields_container { animation: wgMsfIn .4s ease; }
@keyframes wgMsfIn { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }

@media (max-width: 640px) {
  .wg-community-form { --wg-cf-btn-h: 60px; }   /* the stacked layout keeps its 60px button */
  .wg-community-form .frm_fields_container {
    grid-template-columns: 1fr; gap: 6px; padding: 10px; border-radius: 28px;
  }
  .wg-community-form .frm_form_field + .frm_form_field { border-left: 0; border-top: 1px solid rgba(255, 240, 217, .15); }
  .wg-community-form .frm_form_field:has(> .frm_submit) { border-top: 0; }
  .wg-community-form .frm_form_field input,
  .wg-community-form .frm_form_field select { height: 46px !important; padding: 0 14px !important; }
  /* the 46px select needs its caret re-centred and its right padding back */
  .wg-community-form .frm_form_field select { padding-right: 36px !important; background-position: calc(100% - 20px) 21px, calc(100% - 15px) 21px !important; }
  .wg-community-form .frm_submit { grid-column: 1 !important; }
  .wg-community-form .frm_submit .frm_button_submit { width: 100%; justify-content: center; }
  .wg-community-form .frm_error { position: static; padding: 4px 14px 0; }
}
@media (prefers-reduced-motion: reduce) {
  .wg-community-form .frm_fields_container,
  .wg-community-form .frm_button_submit::after { animation: none; transition: none; }
}

/* === Home blog section: equal top/bottom spacing (2026-10) === */
.elementor-22486 .elementor-element.elementor-element-003282d {
  --min-height: 0px;
  min-height: 0 !important;
}
.elementor-22486 .elementor-element.elementor-element-ae3b776 {
  padding-bottom: 7px !important;
}
.elementor-22486 .elementor-element.elementor-element-beda32d {
  padding-top: 0 !important;
}

/* === Home "Packages Proven" section: pills + button row (2026-10) === */
/* Pills: faint outline so they read on the cream background */
.elementor-22486 .elementor-element.elementor-element-c39ccae .text-wrapper::before,
.elementor-22486 .elementor-element.elementor-element-e9d13fb .pb--handle::before {
  box-shadow: inset 0 0 0 1px rgba(15, 15, 15, .12);
}
/* Hang the tagline pill so its text lines up with the heading */
.elementor-22486 .elementor-element.elementor-element-c39ccae {
  margin-left: -15px !important;
}

/* Button row: full width, buttons sized to their labels, no overlap */
.elementor-22486 .elementor-element.elementor-element-b18fed2 {
  --width: 100%;
  width: 100% !important;
  max-width: 100% !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
}
.elementor-22486 .elementor-element.elementor-element-b18fed2 > .elementor-element-e9d13fb,
.elementor-22486 .elementor-element.elementor-element-b18fed2 > .elementor-element-ef5ebc6 {
  --width: auto;
  width: auto !important;
  max-width: none !important;
  flex: 0 0 auto !important;
}

@media (max-width: 767px) {
  .elementor-22486 .elementor-element.elementor-element-c39ccae {
    margin-left: 0 !important;
  }
}

/* === Home testimonial: quote mark before the first word (2026-10) === */
.elementor-22486 .elementor-element.elementor-element-5b15a8d {
  display: none !important;
}
.elementor-22486 .elementor-element-f74c8f4 .text-wrapper > p::before {
  content: "";
  display: inline-block;
  width: .62em;
  height: .95em;
  margin-right: 0;
  vertical-align: -.08em;
  background: url("/wp-content/uploads/2026/01/slash_01.svg") no-repeat center / contain;
}

/* === Iris B: text in/out + backdrop (2026-10) === */
/* Built by the Iris B module in js/wg-iris-continuation.js (homepage). */
/* The iris and its quote sit above the backdrop */
.elementor-element-1d2368a > .elementor-element-abffc61 {
  position: relative;
  z-index: 2;
}
/* Backdrop: behind abffc61, inside the section (overflow: hidden) */
.elementor-element-1d2368a > .wg-irisb {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: clamp(16px, 2.4vw, 32px);
  pointer-events: none;
  user-select: none;
}
.wg-irisb__rings {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
/* The footer's outline wordmark, sized like "webgold" set at clamp(90px, 17vw, 260px) */
.wg-irisb__mark {
  position: relative;
  display: block;
  width: calc(clamp(90px, 17vw, 260px) * 4.19);
  max-width: 92%;
  height: auto;
  overflow: visible;
  transform: scale(.85);
  transform-origin: 50% 50%;
}
.wg-irisb__mark path {
  fill: none;
  stroke: rgba(25, 25, 25, .22);
  stroke-width: 1.5px;
  vector-effect: non-scaling-stroke;
}
.wg-irisb__tag {
  position: relative;
  margin: 0;
  font-family: "DM Sans", sans-serif;
  font-weight: 600;
  font-size: 13px;
  line-height: 1.4;
  letter-spacing: .18em;
  text-transform: uppercase;
  text-align: center;
  color: #191919;
  opacity: 0;
}
.wg-irisb__tag span {
  color: #fc4521;
}
/* Only while the section is in range */
.wg-irisb--live > .wg-irisb .wg-irisb__mark,
.wg-irisb--live > .wg-irisb .wg-irisb__tag {
  will-change: transform, opacity;
}
.wg-irisb--live .elementor-element-2f5a781 p > .anim_word-mask,
.wg-irisb--live .elementor-element-2f5a781 p > .inner--element {
  will-change: transform, opacity, filter;
}
/* The theme's word slide (webgold-rail iris-out text) is superseded while Iris B runs */
.wg-irisb--on .elementor-element-2f5a781 .anim_word {
  transform: none !important;
}
/* No pin (phones): a static, smaller wordmark and the tagline */
.wg-irisb--flat > .wg-irisb .wg-irisb__mark {
  width: min(76vw, 340px);
  transform: none;
}
.wg-irisb--flat > .wg-irisb .wg-irisb__tag {
  font-size: 11px;
  opacity: 1;
}

/* === Footer wordmark: media reveal (2026-10) === */
/* Layer built by js/wg-footer-wordmark.js inside f40032e's .single-image (position: relative,
   overflow: hidden; its box is the <img> box), behind the outline <img> (pe-core: relative, z-index 3). */
.elementor-1214 .elementor-element-f40032e .wg-wm-media {
  position: absolute;
  inset: 0;
  z-index: 1;
  overflow: hidden;
  pointer-events: none;
  clip-path: circle(0 at var(--wg-x, 50%) var(--wg-y, 50%));
  -webkit-mask-image: url("/wp-content/themes/zeyna-child/assets/img/webgold-wordmark-fill.svg");
  mask-image: url("/wp-content/themes/zeyna-child/assets/img/webgold-wordmark-fill.svg");
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: 0 0;
  mask-position: 0 0;
}
.elementor-1214 .elementor-element-f40032e .wg-wm-media > video,
.elementor-1214 .elementor-element-f40032e .wg-wm-media > .wg-wm-still {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  /* a slight dark tint, so the orange outline still reads over bright frames */
  filter: brightness(.78);
}
/* spotlight: follows the pointer (--wg-mx/--wg-my in px), only while hovered */
.elementor-1214 .elementor-element-f40032e .wg-wm-spot {
  position: absolute;
  inset: 0;
  opacity: 0;
  background: radial-gradient(circle 130px at var(--wg-mx, -999px) var(--wg-my, -999px), rgba(255, 255, 255, .18), rgba(255, 255, 255, 0) 100%);
  transition: opacity .25s ease;
}
.elementor-1214 .elementor-element-f40032e .wg-wm-media.is-hover .wg-wm-spot {
  opacity: 1;
}
/* reduced motion / Save-Data: no iris, no spotlight; the letters cross-fade to a still */
.elementor-1214 .elementor-element-f40032e .wg-wm-media--still {
  clip-path: none;
  opacity: 0;
  transition: opacity .4s ease;
}
.elementor-1214 .elementor-element-f40032e .wg-wm-media--still.is-on {
  opacity: 1;
}
.elementor-1214 .elementor-element-f40032e .wg-wm-media--still .wg-wm-spot {
  display: none;
}

/* === Footer wordmark: per-letter reveal (2026-10) === */
/* Supersedes the iris in the "Footer wordmark: media reveal" block above: the layer is no longer
   clipped; an inline SVG <mask> (#wg-wm-letters, built by js/wg-footer-wordmark.js) shows only
   the hovered letter, intersected with the whole-word mask so the video stays inside the letters. */
.elementor-1214 .elementor-element-f40032e .wg-wm-media--letters {
  clip-path: none;
  -webkit-mask-image: url(#wg-wm-letters), url("/wp-content/themes/zeyna-child/assets/img/webgold-wordmark-fill.svg");
  mask-image: url(#wg-wm-letters), url("/wp-content/themes/zeyna-child/assets/img/webgold-wordmark-fill.svg");
  -webkit-mask-size: 100% 100%, 100% 100%;
  mask-size: 100% 100%, 100% 100%;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-composite: source-in;
  mask-composite: intersect;
}
.elementor-1214 .elementor-element-f40032e .wg-wm-defs {
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
}
/* each letter fades in where the pointer is, and out as it moves on */
.elementor-1214 .elementor-element-f40032e .wg-wm-l {
  opacity: 0;
  transition: opacity .52s ease;
}
.elementor-1214 .elementor-element-f40032e .wg-wm-l.is-on {
  opacity: 1;
  transition: opacity .34s ease;
}

/* === Resources page: pin fix, topics band, notches, carousel heading (2026-10) === */
.wg-resources { --wg-band: rgb(178, 208, 236); }

/* 1. Pin jump: keep the columns 50/50 */
.elementor-element.elementor-element-1bdaca5e > .pin-spacer-6bdc8569,
.elementor-element.elementor-element-1bdaca5e > .elementor-element-2d5ebcb9 {
  flex: 1 1 0 !important;
  min-width: 0 !important;
}

/* 2. Band (overflow: clip, not hidden, so the section doesn't become a scroll container) */
.elementor-element.elementor-element-28453298 { overflow: clip !important; }
.elementor-element.elementor-element-666bc69b {
  position: relative;
  isolation: isolate;
  width: calc(100% + 60px) !important;
  max-width: none !important;
  margin: 0 -30px !important;
  padding: clamp(56px, 7vw, 110px) clamp(20px, 4vw, 70px) clamp(40px, 5vw, 72px) !important;
  background: transparent;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  grid-template-areas: "pill img" "eye img" "head img" "para img";
  grid-template-rows: auto auto auto 1fr;
  column-gap: clamp(32px, 5vw, 80px);
  row-gap: 18px;
  align-items: start;
}
.elementor-element.elementor-element-666bc69b::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  right: 0;
  height: 20000px; /* runs behind the pinned carousel; clipped by the section */
  background: var(--wg-band);
  border-radius: 32px 32px 0 0;
  pointer-events: none;
}

/* 3. Intro layout */
.elementor-element.elementor-element-666bc69b > .elementor-element-2c4a5674 { grid-area: pill; justify-self: start; width: auto !important; }
.elementor-element.elementor-element-666bc69b > .elementor-element-2c4a5674 .text-wrapper::before { box-shadow: inset 0 0 0 1px rgba(25, 25, 25, .12); }
.elementor-element.elementor-element-666bc69b > .elementor-element-6dcb4240 { grid-area: eye; width: auto !important; margin-top: 18px; }
.elementor-element.elementor-element-666bc69b > .elementor-element-2937174d { grid-area: head; width: auto !important; }
.elementor-element.elementor-element-666bc69b > .elementor-element-2937174d * { font-size: clamp(32px, 3.4vw, 52px); }
.elementor-element.elementor-element-666bc69b > .elementor-element-235b22eb { grid-area: para; width: auto !important; max-width: 520px; }
.elementor-element.elementor-element-666bc69b > .elementor-element-235b22eb p { font-size: 17px !important; line-height: 1.6 !important; }
.elementor-element.elementor-element-666bc69b > .elementor-element-2937174d br,
.elementor-element.elementor-element-666bc69b > .elementor-element-235b22eb br { display: none; }
.elementor-element.elementor-element-666bc69b > .elementor-element-18234329 { grid-area: img; align-self: stretch; width: 100% !important; min-height: 420px; }
.elementor-element.elementor-element-666bc69b > .elementor-element-18234329 img { width: 100%; height: 100%; object-fit: cover; border-radius: 24px; }

/* 4. Card notches match the band */
.wg-resources .elementor-element-442a4858 .wg-res-icon > .elementor-widget-container {
  background-color: var(--wg-band) !important;
}
.wg-resources .elementor-element-442a4858 .wg-res-icon::before,
.wg-resources .elementor-element-442a4858 .wg-res-icon::after {
  /* same path as Zeyna's curve, recoloured; keep in sync with --wg-band */
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 300'%3E%3Cpath fill='rgb(178,208,236)' d='M300,0C134.3,0,0,134.3,0,300V0H300z'/%3E%3C/svg%3E") !important;
}

/* 5. Carousel heading (fixed while pinned; position: fixed takes no space in the spacer) */
.wg-topics-head {
  position: fixed;
  left: 0;
  right: 0;
  top: calc(var(--wp-admin--admin-bar--height, 0px) + 90px);
  z-index: 5;
  pointer-events: none;
  opacity: 0;
  transform: translateY(-8px);
  transition: opacity .3s, transform .3s;
}
.wg-topics-head.is-on { opacity: 1; transform: none; }
.wg-topics-head__in {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  padding: 0 clamp(20px, 4vw, 70px);
}
.wg-topics-head h2 {
  margin: 0;
  color: #191919;
  font-family: QuantaGroteskPro-Medium-BF6459a54ca605a, "DM Sans", sans-serif;
  font-size: clamp(24px, 2.2vw, 32px);
  line-height: 1.1;
  letter-spacing: -.01em;
}
.wg-topics-head h2 span {
  display: block;
  margin-bottom: 8px;
  color: #191919;
  opacity: .6;
  font: 700 12px "DM Sans", sans-serif;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.wg-topics-prog {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 220px;
  color: #191919;
  font: 600 13px "DM Sans", sans-serif;
}
.wg-topics-prog em { font-style: normal; }
.wg-topics-prog i { position: relative; flex: 1; height: 3px; border-radius: 3px; background: rgba(25, 25, 25, .15); overflow: hidden; }
.wg-topics-prog i b { position: absolute; inset: 0; transform-origin: left; transform: scaleX(var(--p, 0)); background: #fc4521; }
@media (prefers-reduced-motion: reduce) { .wg-topics-head { transition: none; } }

/* Built by js/wg-resources-topics.js: the static heading where the carousel isn't pinned, and the
   visually hidden real heading (out of flow, so the section's 75px gap doesn't apply to it) */
.wg-topics-head.wg-topics-head--static { position: relative; top: auto; z-index: auto; opacity: 1; transform: none; margin-bottom: -45px; }
.wg-topics-head--static .wg-topics-head__in { padding: 0; }
.wg-topics-head--static .wg-topics-prog { display: none; }
/* short viewports (the script measures the room between the header and the pinned cards) */
.wg-topics-head.is-compact h2 span { display: none; }
.wg-topics-head.is-none { display: none; }
.wg-topics-sr {
  position: absolute !important;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

@media (max-width: 1024px) {
  .elementor-element.elementor-element-666bc69b { grid-template-columns: 1fr; grid-template-areas: "pill" "eye" "head" "para" "img"; }
  .elementor-element.elementor-element-666bc69b > .elementor-element-18234329 { min-height: 0; aspect-ratio: 16 / 10; }
}
@media (max-width: 767px) {
  .elementor-element.elementor-element-666bc69b { width: calc(100% + 20px) !important; margin: 0 -10px !important; border-radius: 24px 24px 0 0; }
  .elementor-element.elementor-element-666bc69b::before { border-radius: 24px 24px 0 0; } /* the band is the ::before */
  .wg-topics-prog { display: none; }
}

/* === Formidable honeypot: always hidden (Barba-safe) (2026-10) === */
/* Formidable hides it with a <style> that an inline script beside the form adds; Barba doesn't run inline
   scripts, so after a transition this is the only rule. visibility: hidden (Formidable's own choice) also
   keeps it out of the tab order and away from screen readers; it stays in the DOM for bots. */
.frm_forms :is(div, p):has(> input.frm_verify),
.frm_forms input.frm_verify {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* === Footer: boxed social tiles + legal links (2026-10) === */
/* Supersedes the circles in the "Footer: 3 equal columns, unified links, social icons" block. The contact page's
   tiles (40px, 5px corners) and hover (a block fills up from the bottom while the icon slides up and a copy springs
   in), in the footer's colours. Each link in HTML widget 45d29832 holds the icon twice (.wg-fs-i, .wg-fs-i--in). */
.elementor-1214 .wg-footer-social a {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  width: 40px;
  height: 40px;
  border: 0;
  border-radius: 5px;
  background: rgba(241, 241, 241, .07);
  color: rgba(241, 241, 241, .75);
  opacity: 1;
  transition: color .25s;
}
.elementor-1214 .wg-footer-social a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: -1;
  height: 0;
  background: #f1f1f1;   /* the footer links' hover colour (Navigate, Services) */
  transition: height .25s cubic-bezier(.74, .02, .3, 1);
}
.elementor-1214 .wg-footer-social a:hover,
.elementor-1214 .wg-footer-social a:focus-visible {
  opacity: 1;
  background: rgba(241, 241, 241, .07);
  color: #191919;
}
.elementor-1214 .wg-footer-social a:is(:hover, :focus-visible)::after { height: 100%; }
.elementor-1214 .wg-footer-social a:focus-visible { outline: 2px solid #f1f1f1; outline-offset: 2px; }
.elementor-1214 .wg-footer-social .wg-fs-i {
  grid-area: 1 / 1;
  display: grid;
  place-items: center;
  transition: transform .4s cubic-bezier(.68, -.55, .27, 1.55);
}
.elementor-1214 .wg-footer-social .wg-fs-i--in { transform: translateY(28px); }
.elementor-1214 .wg-footer-social a:is(:hover, :focus-visible) .wg-fs-i { transform: translateY(-28px); }
.elementor-1214 .wg-footer-social a:is(:hover, :focus-visible) .wg-fs-i--in { transform: none; }
@media (prefers-reduced-motion: reduce) {
  .elementor-1214 .wg-footer-social a::after,
  .elementor-1214 .wg-footer-social .wg-fs-i { transition: none; }
}

/* Privacy and Terms beside the copyright (HTML widget .wg-footer-legal in af465f9), set like the copyright line */
.elementor-1214 .elementor-element.elementor-element-af465f9 {
  flex-direction: row !important;
  flex-wrap: wrap;
  justify-content: flex-start;   /* the container's own 'center' was vertical in a column; in a row it centred the line */
  align-items: center;
  gap: 8px 28px;
}
.elementor-1214 .elementor-element.elementor-element-af465f9 > .elementor-widget { width: auto; }
.elementor-1214 .wg-footer-legal { display: flex; flex-wrap: wrap; gap: 8px 20px; }
.elementor-1214 .wg-footer-legal a {
  color: rgb(110, 100, 95);
  font: 400 14px/18px "DM Sans", sans-serif;
  text-decoration: none;
  transition: color .25s;
}
.elementor-1214 .wg-footer-legal a:hover,
.elementor-1214 .wg-footer-legal a:focus-visible { color: #f1f1f1; }

/* === Homepage fixes: header orange, rail panels 2 + 4, Iris B map + fill (2026-10-23) === */
/* One header orange. Header 22740 stores it as an Elementor literal (#FC3D19) on its nav pill d12decc and
   its Menu/cart pills; the nav pill, the capability accordion above and the blog button 8947f0c read the
   token. Dark mode keeps its own, more specific values (#F1C36D on the pill, #0D0D0D on the button). */
:root {
  --wg-header-orange: #FC3D19;
}
.elementor-22740 .elementor-element.elementor-element-d12decc {
  --secondaryBackground: var(--wg-header-orange);
}
.elementor-22486 .elementor-element.elementor-element-8947f0c {
  --secondaryBackground: var(--wg-header-orange);
}
/* Panel 2 (a42ecd1): the ::before quote mark enters with the first word. webgold-rail.js (v2.7) tweens
   --wg-cue on f74c8f4 from 0 to 1 with the first word's start, length and ease; without it the mark shows. */
.elementor-22486 .elementor-element-f74c8f4 .text-wrapper > p::before {
  opacity: var(--wg-cue, 1);
  transform: translateY(calc((1 - var(--wg-cue, 1)) * 45%));
}
@media (prefers-reduced-motion: reduce) {
  .elementor-22486 .elementor-element-f74c8f4 .text-wrapper > p::before {
    opacity: 1;
    transform: none;
  }
}
/* Panel 2: the attribution's two lines centred under the quote (the widget was saved left-aligned) */
.elementor-22486 .elementor-element.elementor-element-0092ae0 .text-wrapper,
.elementor-22486 .elementor-element.elementor-element-0092ae0 .text-wrapper p {
  text-align: center;
}
/* Panel 4 (f3fbc57): the floating slash and the large logo mark go; webgold-rail.js draws "//" strokes instead */
.elementor-22486 .elementor-element.elementor-element-14e2fa0,
.elementor-22486 .elementor-element.elementor-element-f2fa089 {
  display: none !important;
}
/* Iris B, back to front: Caribbean outline (Natural Earth, public domain), rings, filled wordmark, tagline */
.elementor-element-1d2368a > .wg-irisb .wg-irisb__map {
  position: absolute;
  inset: 0;
  z-index: 0;
  background: url("../assets/img/wg-caribbean-land.svg") 50% 50% / cover no-repeat;
}
.elementor-element-1d2368a > .wg-irisb .wg-irisb__rings {
  z-index: 1;
}
.elementor-element-1d2368a > .wg-irisb .wg-irisb__mark {
  z-index: 2;
}
.elementor-element-1d2368a > .wg-irisb .wg-irisb__tag {
  z-index: 3;
}
/* Sky family gradient, Windward → Fathom (defined in the module's SVG; plain Windward if it is missing), no outline */
.elementor-element-1d2368a > .wg-irisb .wg-irisb__mark path {
  fill: url(#wg-irisb-grad) #518ABF;
  stroke: none;
}

/* === Footer: links in the address colour, orange hovers, orange social tiles (2026-10-23) === */
/* Every footer link (Navigate, Services, email, phone, Privacy/Terms) takes the address's Driftwood #B5A898 at
   full strength; hover, keyboard focus and the current page turn the header orange. Supersedes the 35% white
   links and white hovers above. The newsletter band's own link is not part of this. */
.elementor-1214 .elementor-element-28fb5344 .elementor-element-fa37a92 .menu--link,
.elementor-1214 .elementor-element-28fb5344 .elementor-element-3180b1a3 a,
.elementor-1214 .elementor-element-28fb5344 .elementor-element-eab7aa1 a,
.elementor-1214 .elementor-element-28fb5344 .elementor-element-754d728a a,
.elementor-1214 .wg-footer-legal a {
  color: #B5A898 !important;
  opacity: 1;
  transition: color 0.3s ease-in-out, opacity 0.3s ease-in-out;
}
.elementor-1214 .elementor-element-28fb5344 .elementor-element-fa37a92 .menu--link:is(:hover, :focus-visible),
.elementor-1214 .elementor-element-28fb5344 .elementor-element-fa37a92 .current-menu-item > .menu--link,
.elementor-1214 .elementor-element-28fb5344 .elementor-element-fa37a92 .current_page_item > .menu--link,
.elementor-1214 .elementor-element-28fb5344 .elementor-element-3180b1a3 a:is(:hover, :focus-visible),
.elementor-1214 .elementor-element-28fb5344 .elementor-element-3180b1a3 a.is-current,
.elementor-1214 .elementor-element-28fb5344 .elementor-element-eab7aa1 a:is(:hover, :focus-visible),
.elementor-1214 .elementor-element-28fb5344 .elementor-element-754d728a a:is(:hover, :focus-visible),
.elementor-1214 .wg-footer-legal a:is(:hover, :focus-visible) {
  color: var(--wg-header-orange) !important;
}
/* Footer lists: hovering one link no longer dims the others (pe-core's hover--opacity puts every other link of a
   Navigate / Services list at .3, at a specificity that beats the rules above); only the hovered link turns orange.
   2026-10-30, user. */
.elementor-1214 .elementor-element-28fb5344 .hover--opacity ul.menu:has(a:hover) li:not(:has(a:hover)) a,
.elementor-1214 .elementor-element-28fb5344 .hover--opacity ul.menu:has(a:hover) li:not(:has(a:hover)) .st--wrap,
.elementor-1214 .elementor-element-28fb5344 .hover--opacity .pe--list ul:has(a:hover) li:not(:has(a:hover)) a {
  opacity: 1;
}
/* Social tiles stay the faint tiles above at rest; on hover the fill that rises is the header orange (it was
   #f1f1f1) and the incoming icon is white, like the header's orange pills (3.7:1). */
.elementor-1214 .wg-footer-social a:is(:hover, :focus-visible) {
  color: #FFFFFF;
}
.elementor-1214 .wg-footer-social a::after {
  background: var(--wg-header-orange);
}
/* The copyright line (4dbe598b) matches the links beside it. Its colour is Zeyna's --secondaryColor, which
   Elementor sets to Ironwood #6E645F at three classes; this is the same variable at four. */
.elementor-1214 .elementor-element.elementor-element-4dbe598b.elementor-widget {
  --secondaryColor: #B5A898;
}

/* === Products: "Get First Access" band shorter, no circles (2026-10-23) === */
/* About half as tall: 48px padding on desktop (was 130px plus Elementor's 70px inner padding), a tighter gap
   between the heading block and the form, and no empty space under the perks (the text widget had a 75px bottom
   margin and paragraph margins). The two outline circles are the band's own ::before/::after. Type, colours and
   the form are unchanged. */
.elementor-26290 .elementor-element.elementor-element-e88ded6 {
  padding-top: clamp(36px, 3.4vw, 48px) !important;
  padding-bottom: clamp(36px, 3.4vw, 48px) !important;
}
.elementor-26290 .elementor-element.elementor-element-e88ded6::before,
.elementor-26290 .elementor-element.elementor-element-e88ded6::after {
  content: none;
}
.elementor-26290 .elementor-element.elementor-element-e88ded6 > .e-con-inner {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  row-gap: clamp(24px, 2.2vw, 32px);
}
.elementor-26290 .elementor-element.elementor-element-e88ded6 .elementor-element-5d57a1b > .elementor-widget-container {
  margin-bottom: 0 !important;
}
.elementor-26290 .elementor-element.elementor-element-e88ded6 .elementor-element-5d57a1b p {
  margin: 0 !important;
}

/* === Products: "Get First Access" title at the size of "Need something more specific?" (2026-10-23) === */
/* The title (1f56c8a) was the 13px uppercase eyebrow from the 2026-10-21 block. It now takes the same type as the
   "Need something more specific?" heading (4b0babd): Zeyna's h4 tokens (24px/32px, .02em) at weight 500. */
.elementor-26290 .elementor-element.elementor-element-e88ded6 .elementor-element-1f56c8a p {
  font-size: var(--h4_typo-font-size, 24px) !important;
  line-height: var(--h4_typo-line-height, 32px) !important;
  font-weight: 500 !important;
  letter-spacing: var(--h4_typo-letter-spacing, .02em) !important;
  text-transform: none;
}

/* === Gold mode: account, cart and Menu pills (2026-10-27) ===
   In dark mode (body.layout--switched) the header pills turn Gold (#F1C36D), but the account and cart icons take
   Zeyna's fill: var(--mainColor) (#f1f1f1 there) and the Menu pill's label and icon font are white, so all three
   were near-white on gold. Blackout instead. The mini-cart panel inside the cart widget is left alone. */
body.layout--switched .elementor-22740 .elementor-element-373614d .pe--account--pop--button svg,
body.layout--switched .elementor-22740 .elementor-element-13c2021 .zeyna--cart--button svg {
  fill: #191919;
}

body.layout--switched .elementor-22740 .wg-menu-pill .pe--pop--button {
  color: #191919;
}

/* Gold mode: the mini-cart panel (cart widget 13c2021, 2026-10-27). Its colours are fixed in the widget (--mainColor
   #272727, --mainBackground #FFFFFF) while the panel background follows the mode (#191919 in gold), so the title,
   item name, stepper, subtotal and the buttons' ::after fill were dark grey on near-black. The variables are flipped
   inside the panel (light text, buttons light with dark text, as light mode inverted) and Checkout takes the Gold. */
body.layout--switched .elementor-22740 .elementor-element-13c2021 .zeyna--mini--cart {
  --mainColor: #F1F1F1;
  --secondaryColor: #B5A898;
  --mainBackground: #191919;
}

body.layout--switched .elementor-22740 .elementor-element-13c2021 .zeyna--mini--cart .zeyna-checkout::after {
  background-color: #F1C36D;
}

/* Mini-cart: no quantity stepper for items sold one per order (class added by woocommerce_mini_cart_item_class in
   functions.php), matching the cart page. (2026-10-27) */
.zeyna--mini--cart .wg-sold-individually .zeyna--quantity--control {
  display: none;
}

/* Footer: limit link hover area to text width */
.elementor-element-fa37a92 ul.menu > li > a,
.elementor-element-3180b1a3 .pe--list ul > li > a {
  width: fit-content;
  max-width: 100%;
}
