:where([data-etch-element="container"]) {
  inline-size: 100%;
  display: flex;
  flex-direction: column;
  max-inline-size: var(--content-width, 1366px);
  align-self: center; margin-inline: auto;
}
:where([data-etch-element="flex-div"]) {
  inline-size: 100%;
  display: flex;
  flex-direction: column;
}
:where([data-etch-element="iframe"]) {
  inline-size: 100%;
  height: auto;
 aspect-ratio: 16/9;
}
:where([data-etch-element="section"]) {
  inline-size: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
}
#dwc-header {
  padding-block: 0;
  z-index: 9999;

  body:has([dark-body-bg='true']&) main.etch-builder-block {
    background-color: #15151e;
  }

  /* liquid glass  */
  [data-liquid-glass='true']& .dwc-nest-header:not(.etch-builder-block) {
    --overlay-header-shadow: var(--liquid-shadow);
    border: var(--liquid-glass-border);

    html:not(.dwc-mobile) & {
      backdrop-filter: url(#dwc-liquid-glass) saturate(var(--liquid-glass-saturate));

      /* Safari Specific Fallback Override */
      -webkit-backdrop-filter: blur(var(--header-blur)) saturate(var(--liquid-glass-saturate));

      /* Firefox Specific Fallback Override */
      @supports (-moz-appearance: none) {
        backdrop-filter: blur(var(--header-blur)) saturate(var(--liquid-glass-saturate));
      }
    }

    .dwc-mobile &::before {
      display: block !important;
      content: '';
      position: absolute;
      inset: 0;
      inset-block-start: calc(var(--wp-admin--admin-bar--height, 0px) + 0px);
      z-index: -1;
      backdrop-filter: url(#dwc-liquid-glass) saturate(var(--liquid-glass-saturate));
      border-radius: var(--overlay-header-radius);

      /* Safari Specific Fallback Override */
      -webkit-backdrop-filter: blur(var(--header-blur)) saturate(var(--liquid-glass-saturate));

      /* Firefox Specific Fallback Override */
      @supports (-moz-appearance: none) {
        backdrop-filter: blur(var(--header-blur)) saturate(var(--liquid-glass-saturate));
      }
    }
  }
}
.dwc-skip-link {
  position: fixed;
  top: 0;
  inset-inline-start: 1rem;
  z-index: 100000;
  transform: translateY(-150%);

  /* Appearance when revealed */
  padding: var(--skip-link-padding);
  background: var(--skip-link-bg);
  color: var(--skip-link-color);
  font-size: var(--skip-link-font-size);
  font-weight: var(--skip-link-weight);
  line-height: 1.2;
  text-decoration: none;
  border-radius: 0 0 0.5rem 0.5rem;
  box-shadow: var(--skip-link-shadow);

  transition: transform 0.2s ease;
  
  &:hover{
    background: var(--skip-link-hover-bg);
  color: var(--skip-link-hover-color);
  }

  /* Reveal on focus */
  &:focus,
  &:focus-visible {
    transform: translateY(calc(0px + var(--wp-admin--admin-bar--height, 0px)));
    outline: var(--skip-link-outline);
    outline-offset: 2px;
  }

  .dwc-skip-links:has(&) {
    display: contents;
  }

  /* Respect reduced-motion preferences */
  @media (prefers-reduced-motion: reduce) {
    & {
      transition: none;
    }
  }
}
.dwc-header-vars {
  --fallback-section-padding: 83px;
  --dropdown-content-width: 75rem;
  --dropdown-content-default-width: 1200px;
  --header-inline-padding: 1rem;
  --header-block-padding: 0.5rem;
  --header-min-height: 0px;
  --header-bottom-border: 1px solid color-mix(in oklch, black 7%, transparent) !important;

  /* when liquid glass is enabled */
  --liquid-glass-shadow: inset 0 0 2px 1px color-mix(in oklch, white 8%, transparent), inset 0 0 10px 4px color-mix(in oklch, white 10%, transparent), 0 6px 24px color-mix(in oklch, #11111a 6%, transparent), 0 12px 40px color-mix(in oklch, #11111a 5%, transparent);

  /*# ===== SKIP LINKS ===== */
  --skip-link-bg: #111;
  --skip-link-hover-bg: #111;
  --skip-link-font-size: 1rem;
  --skip-link-color: var(--white, #fff);
  --skip-link-hover-color: var(--white, #fff);
  --skip-link-padding: 0.75rem 1.25rem;
  --skip-link-outline: 3px solid var(--primary, #4da3ff);
  --skip-link-radius: 0 0 0.5rem 0.5rem;
  --skip-link-shadow: 0 4px 16px rgba(0, 0, 0, 0.25);
  --skip-link-weight: 600;

  /*# ===== ADAPTIVE HEIGHT/STRIPE ====== */
  --adaptive-height-bg: var(--dropdown-content-bg); /*also controls stripe background*/
  --adaptive-height-border: var(--dropdown-content-border-size) solid var(--dropdown-content-border-color);
  --adaptive-height-shadow: 0 0 30px rgb(39 50 59 / 10%);

  /*# ===== STRIPE only ===== */
  --stripe-border-radius: 1rem;

  /*# ===== STICKY/OVERLAY HEADER SPECIAL STYLES ===== */
  /*===== this styles only apply when Special Sticky/Overlay Styles and sticky header is enabled =====*/

  /*# NOTE: */
  /* to change the values that are set on the component options, use !important e.g.   
   --overlay-header-bg:black !important;
  */

  /*## SVG STYLES BEFORE SCROLLING  */
  html:not(.dwc-mobile):has([data-sticky-overlay-special-style='true'][data-sticky-header='true']):not(:has([data-no-sticky], [data-no-overlay-style])) .dwc-headroom:not(.scroll-up, .scroll-down) & :is(path, .cls-1):not(.dwce-dropdown path) {
    /* fill: white; */
  }

  /*## SVG STYLES BEFORE SCROLLING - HOVER */
  html:not(.dwc-mobile):has([data-sticky-overlay-special-style='true'][data-sticky-header='true']):not(:has([data-no-sticky], [data-no-overlay-style])) .dwc-headroom:not(.scroll-up, .scroll-down) &:has(.dwce-dropdown.open, .dwc-nav-nested-items > li:hover) :is(path, .cls-1):not(.dwce-dropdown path) {
    /* fill: hsl(from #fff h s l / 0.3); */
  }

  /*## SVG STYLES AFTER SCROLLING  */
  html:not(.dwc-mobile):has([data-sticky-overlay-special-style='true'][data-sticky-header='true']):not(:has([data-no-sticky], [data-no-overlay-style])) .dwc-headroom:is(.scroll-up, .scroll-down) & :is(path, .cls-1):not(.dwce-dropdown path) {
    /* fill: url(#GradientFill_1); */
  }

  /*## SVG STYLES AFTER SCROLLING - HOVER */
  html:not(.dwc-mobile):has([data-sticky-overlay-special-style='true'][data-sticky-header='true']):not(:has([data-no-sticky], [data-no-overlay-style])) .dwc-headroom:is(.scroll-up, .scroll-down) &:has(.dwce-dropdown.open, .dwc-nav-nested-items > li:hover) :is(path, .cls-1):not(.dwce-dropdown path) {
    /* fill: hsl(from #000 h s l / 0.3); */
  }

  /*## STYLES BEFORE SCROLLING */
  html:not(.dwc-mobile):has([data-sticky-overlay-special-style='true'][data-sticky-header='true']):not(:has([data-no-sticky], [data-no-overlay-style])) .dwc-headroom &:not(:has(.dwce-dropdown.open, .dwc-nav-nested-items > li:hover)) {
    /* add any of the variables above and update value*/
  }

  /*## STYLES BEFORE SCROLLING - HOVER */
  html:not(.dwc-mobile):has([data-sticky-overlay-special-style='true'][data-sticky-header='true']):not(:has([data-no-sticky], [data-no-overlay-style])) .dwc-headroom:not(.scroll-up, .scroll-down) &:has(.dwce-dropdown.open, .dwc-nav-nested-items > li:hover) {
    /* add any of the variables above and update value*/
  }

  /*## STYLES AFTER SCROLLING */
  html:not(.dwc-mobile):has([data-sticky-overlay-special-style='true'][data-sticky-header='true']):not(:has([data-no-sticky], [data-no-overlay-style])) .dwc-headroom:is(.scroll-up, .scroll-down) &:not(:has(.dwce-dropdown.open, .dwc-nav-nested-items > li:hover)) {
    /* add any of the variables above and update value*/
  }

  /*## STYLES AFTER SCROLLING - HOVER*/
  html:not(.dwc-mobile):has([data-sticky-overlay-special-style='true'][data-sticky-header='true']):not(:has([data-no-sticky], [data-no-overlay-style])) .dwc-headroom:is(.scroll-up, .scroll-down) &:has(.dwce-dropdown.open, .dwc-nav-nested-items > li:hover) {
    /* add any of the variables above and update value*/
  }

  /*## MOBILE STYLES WHEN MENU IS OPEN*/
  .dwc-mobile:has([data-sticky-overlay-special-style='true'][data-sticky-header='true']):not(:has([data-no-sticky], [data-no-overlay-style])) .dwc-headroom &:has(.dwce-toggle.is-active) {
    /* add any of the variables above and update value*/
    /* --overlay-header-bg: white !important; */
  }

  /*# ===== END STICKY/OVERLAY HEADER SPECIAL STYLES ===== */

  /*# ===== MOBILE ONLY STYLES ===== */
  /* add and modify varibales for mobile breakpoint OR use media query if you experience FOUC*/

  html:is(.dwc-mobile:not(:has([data-offcanvas='true'])), .dwc-offcanvas-mobile) & {
    /* --header-inline-padding: 1rem; */
  }
}
.dwc-nest-header {
  &:not(.dwc-mobile [data-overlay-header-mobile='true']:has([data-slide-in-direction='top']) &) {
    padding-inline: var(--header-inline-padding);
    padding-block: var(--header-block-padding);
  }

  background-color: var(--header-bg);
  transition:
    opacity 0.1s,
    transform 0.4s,
    background-color 0.4s;

  :is(.scroll-down, .scroll-up) [data-sticky-header='true'] & {
    background-color: var(--header-bg-sticky);
    --overlay-header-bg: var(--header-bg-sticky);
  }
}
.dwc-nest-header__container {
  justify-content: space-between;
  flex-direction: row;
  min-height: var(--header-min-height);
  margin-inline: auto;
  align-items: center;

  /*when overlay header is active on mobile, and menu slides in from top, use the header padding  */
  .dwc-mobile [data-overlay-header-mobile='true']:has([data-slide-in-direction='top']) & {
    padding-inline: var(--header-inline-padding);
    padding-block: var(--header-block-padding);
  }
}
.dwc-nest-menu__logo {
  --centered-logo-inline-padding: 2rem;
  padding-block: 0rem;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  z-index: 9999;

  /* logo size */

  & > :is(svg, img) {
    width: auto;
    height: 90px;
  }

  /* when in centered logo */
  .dwc-header-logo-item &,
  .dwc-nav-nested-items:has(li &) & {
    padding-inline: var(--centered-logo-inline-padding);
  }
}
#dwce-nav-nested {
  @media (width <= 64rem) {
    inline-size: auto;
  }
}
.dwc-nav-wrapper {
  inline-size: 100%;
  max-inline-size: 100%
}
.dwc-nest-menu-top {
  padding-inline: var(--menu-item-inline-padding);
  padding-block: var(--menu-item-block-padding);
  &:not(.dwc-mobile &){
    display:none;
  }
}
.dwc-nest-menu__mobile-logo {
  transition: opacity 0.45s 0.15s var(--mobile-menu-ttf);
  block-size: var(--dwc-nest-header-height);
  max-block-size: var(--mobile-logo-size);
}
.dwce-toggle {
  --toggle-align: 0;

  &[data-flip-toggle='true'] {
    --toggle-align: auto;
    --toggle-horizontal-offset: auto;

    & .dwce-toggle__label-wrap {
      order: -1;
    }
  }

  &[data-toggle-style='techno'] {
    --toggle-line-height: 2px;
    --toggle-line-variance: 1px;
    --iw: var(--toggle-size);
    --aw: var(--toggle-size);

    &:not(.is-active) .dwca-inner {
      inline-size: 75%;
    }
  }

  &[data-equalize='true']:not([data-toggle-style='techno'], .is-active) {
    --toggle-line-variance: 1px;
    --iw: var(--toggle-size);
    --aw: var(--toggle-size);
  }
}
.dwc-nest-toggle--close {
  margin-inline-start: auto !important;
}
.dwc-nav-vars {
  /*# ===== BACK TEXT ===== */
  --back-text-clr: var(--black, #000);
  --back-text-font-size: 1rem;
  --back-text-font-weight: 500;
  --back-text-transform: uppercase;
  --back-text-bg: var(--mobile-menu-bg);
  --back-text-icon-size: 20px;

  /*# ===== MENU ITEMS GAP ===== */
  --menu-items-gap: calc(var(--space-xs) / 2);

  /*# ===== MOBILE ONLY STYLES ===== */
  /* Add & update varibale values for mobile breakpoint */
  html:is(.dwc-mobile:not(:has([data-offcanvas='true'])), .dwc-offcanvas-mobile) & {
    --mobile-menu-radius: var(--overlay-header-radius);
  }

  /*# =====  #MOBILE/OFFCANVAS extras ===== */

  /*## Transitions */
  --mobile-menu-ttf: cubic-bezier(0.3, 0.68, 0.1, 1);

  /*# BREAKIN CONTAINER  (see docs) */
  & .breakin-container {
    padding-inline: var(--menu-item-inline-padding);
    padding-block: var(--menu-item-block-padding);
    background: var(--white, #fff);
    z-index: 99999;
    display: flex;
    flex-direction: column;
    &:has(.dwc-is-cta-2):not(:has(.dwc-is-cta-3)) {
      flex-direction: row;
      gap: 1rem;
    }
  }
}
.dwc-megamenu-instruction {
  padding: 3rem;
  display: flex;
  flex-direction: column;
  height: 100%;
}
.etch-h576kui {
  font-size: var(--text-m);
}
.dwc-dropdown-items-vars {
  /*## DROPDOWN CONTENT */
  --dropdown-content-bg: var(--white, #fff);
  --dropdown-content-block-padding: var(--dropdown-content-inline-padding);
  --dropdown-content-inline-padding: min(calc(var(--dropdown-item-radius) / 3), 0.5em);

  /*## DEFAULT STATE */
  --dropdown-item-clr: var(--black, #000);
  --dropdown-item-font-size: var(--menu-item-font-size);
  --dropdown-item-bg: initial;
  --dropdown-indent-bg: rgb(40 60 150 / 5%);
  --dropdown-heading-clr: var(--primary-clr);

  /*## HOVER STATE */
  --dropdown-item-hover-clr: var(--menu-item-hover-clr);
  --dropdown-item-hover-bg: hsl(from var(--primary-clr) h s l / 5%);

  /*## EXPANDED STATE (PARENT) - mobile */
  /* when [data-submenu-reveal="expand"] */
  --dropdown-expanded-clr: var(--white, #fff);
  --dropdown-expanded-bg: var(--black, #000);

  /*## PADDING | GAP | INDENT */
  --dropdown-item-inline-padding: var(--menu-item-inline-padding);
  --dropdown-item-block-padding: var(--menu-item-block-padding);
  --dropdown-indent: 0.6rem;
  --dropdown-indent-item-pad-offset: 0.5;
  --dropdown-indent-line: solid 1px rgb(40 60 150 / 20%);

  /*## RADIUS */
  --dropdown-item-radius: var(--dropdown-content-border-radius);
  /*  --dropdown-content-border-radius is set in the DWC Nav component props > DROPDOWN > Dropdown Content Radius
  When stripe style is enabled, the dropdown content radius inherits the stripe radius, found in DWC Header variables
  */

  /*# ===== APPEARANCE: BUTTON ===== */

  &[appearance='button'] > .dwc-submenu-toggle {
    --menu-item-bg: var(--black, #000);
    --menu-item-clr: var(--white, #fff);
    --menu-item-hover-clr: var(--white, #fff);
    --menu-item-hover-bg: var(--black, #000);
    --menu-item-radius: 50vw;
    --menu-item-hover-border-height: 0;
    --icon-size: 0;
    --icon-clr: var(--white, #fff);
    --icon-hover-clr: var(--white, #fff);
    --menu-item-inline-padding: 1.5rem;
    --menu-item-block-padding: 1rem;
    --chevron-clr: var(--icon-clr);
    --chevron-hover-clr: var(--icon-hover-clr);
    --chevron-size: var(--icon-size);

    /*## mobile only*/
    --menu-item-width: 200px;
    --menu-item-border: solid 1px transparent;
    --menu-item-hover-border: solid 1px transparent;
  }

  /*# ===== APPEARANCE: ICON ===== */

  &[appearance='icon'] {
    --icon-button-inline-padding: var(--menu-item-inline-padding);
  }

  &[appearance='icon'] > .dwc-submenu-toggle {
    --menu-item-bg: var(--black, #000);
    --menu-item-clr: var(--white, #fff);
    --menu-item-hover-clr: var(--white, #fff);
    --menu-item-hover-bg: var(--black, #000);
    --icon-clr: var(--white, #fff);
    --icon-hover-clr: var(--white, #fff);
    --icon-size: 0.875rem;
    --menu-item-inline-padding: 1.1rem;
    --button-max-diameter: 2.8125rem;
    --menu-item-radius: 50vw;
    --menu-item-border: solid 1px transparent;
    --menu-item-hover-border: solid 1px transparent;
    --chevron-clr: var(--icon-clr);
    --chevron-hover-clr: var(--icon-hover-clr);
    --chevron-size: var(--icon-size);
  }

  /*# ===== STICKY/OVERLAY HEADER SPECIAL STYLES ===== */
  /*===== this styles only apply when the header div attribute [data-sticky-overlay-special-style] attribute is set to true, and sticky header is enabled =====*/

  /*## STYLES BEFORE SCROLLING - HOVER */
  html:not(.dwc-mobile):has([data-sticky-overlay-special-style='true'][data-sticky-header='true']):not(:has([data-no-sticky], [data-no-overlay-style])) .dwc-headroom:not(.scroll-up, .scroll-down) .dwce-nav-nested:has(.dwce-dropdown.open, .dwc-nav-nested-items > li:hover) .dwc-nav-nested-items & {
    /* add any of the variables above and update value*/
  }

  /*## STYLES AFTER SCROLLING - HOVER*/
  html:not(.dwc-mobile):has([data-sticky-overlay-special-style='true'][data-sticky-header='true']):not(:has([data-no-sticky], [data-no-overlay-style])) .dwc-headroom:is(.scroll-up, .scroll-down) .dwce-nav-nested:has(.dwce-dropdown.open, .dwc-nav-nested-items > li:hover) .dwc-nav-nested-items & {
    /* add any of the variables above and update value*/
  }

  /*# ===== MOBILE ONLY STYLES ===== */
  /* add and modify varibales for mobile breakpoint */

  html:is(.dwc-mobile:not(:has([data-offcanvas='true'])), .dwc-offcanvas-mobile) & {
    --dropdown-item-font-size: var(--menu-item-font-size);
  }
}
.dwc-top-level-items-vars {
  /*## DEFAULT STATE */
  --menu-item-clr: var(--black, #000);
  --menu-item-font-size: var(--btn-font-size, var(--text-m));
  --menu-item-font-weight: 500;
  --menu-item-bg: initial;

  /*## HOVER STATE */
  --menu-item-hover-clr: var(--primary);
  --menu-item-hover-bg: hsl(from var(--primary-clr, crimson) h s l / 0.05);
  --menu-item-hover-border-bg: var(--menu-item-active-border-bg);
  --menu-item-hover-border-height: var(--menu-item-active-border-height);

  /*## ACTIVE STATE - Current Page Link*/
  /*(to exclude a link from this style, 
  add the attribute 'dwc-exclude' to its container)*/
  --menu-item-active-clr: var(--menu-item-hover-clr);
  --menu-item-active-bg: initial;
  --menu-item-active-border-bg: var(--primary-clr);
  --menu-item-active-border-height: 0px;

  /*## PADDING | GAP */
  --menu-item-inline-padding: var(--space-xs);
  --menu-item-block-padding: 1rem;
  /*when menu item hover effect is set to 'Text Roll'*/
  --roll-padding: 1rem;

  /*## BORDERS | RADIUS */
  --menu-item-border: initial;
  --menu-item-radius: var(--radius);

  /*## CHEVRON (dropdown arrow) */
  --chevron-size: 1.2em;
  --chevron-clr: var(--menu-item-clr);
  --chevron-hover-clr: var(--menu-item-hover-clr);
  --chevron-gap: 0.625rem;

  /*# ===== CTA BUTTONS (ALL) ===== */

  /*## non last button breakout items   */
  --breakout-border: solid 1px color-mix(in oklch, var(--primary-clr) 50%, transparent);
  --breakout-block-padding: 0.25em;
  --breakout-inline-padding: 0.5em;

  /*## all cta buttons padding */
  --cta-inline-padding: calc(var(--menu-item-inline-padding) * 1.3);
  --cta-block-padding: var(--menu-item-block-padding);

  /*## all cta buttons max width on mobile */
  --cta-width: 100%;

  /*## gap offset between 2 or 3 cta buttons on mobile/offcanvas/sidebar*/
  --cta-gap-offset: 0;

  /*## gap between breakout cta and menu toggle on mobile */
  --cta-breakout-gap: 1.25rem;

  /*# ===== CTA 1 (LAST) ===== */

  /*## DEFAULT STATE */
  --menu-cta-clr: var(--neutral, #000);
  --menu-cta-bg: transparent;
  --menu-cta-inline-padding: 0px;
  --menu-cta-block-padding: 0px;
  --menu-cta-border: none;
  --menu-cta-radius: 0.25rem;

  /*## HOVER STATE */
  --menu-cta-hover-clr: var(--primary);
  --menu-cta-hover-bg: transparent;

  /*# ===== CTA 2 (SECOND) ===== */

  /*## DEFAULT STATE */
  --menu-cta-2-clr: var(--neutral, #000);
  --menu-cta-2-bg: transparent;
  --menu-cta-2-inline-padding: 0px;
  --menu-cta-2-block-padding: 0px;
  --menu-cta-2-border: var(--menu-cta-border);
  --menu-cta-2-radius: var(--menu-cta-radius);

  /*## HOVER STATE */
  --menu-cta-2-hover-clr: var(--primary);
  --menu-cta-2-hover-bg: transparent;

  /*# ===== CTA 3 (THIRD) ===== */

  /*## DEFAULT STATE */
  --menu-cta-3-clr: var(--white, #fff);
  --menu-cta-3-bg: var(--primary);
  --menu-cta-3-inline-padding: var(--cta-inline-padding);
  --menu-cta-3-block-padding: var(--cta-block-padding);
  --menu-cta-3-border: var(--menu-cta-border);
  --menu-cta-3-radius: 0.25rem;

  /*## HOVER STATE */
  --menu-cta-3-hover-clr: var(--white, #fff);
  --menu-cta-3-hover-bg: var(--primary-hover, var(--primary));

  /*# ===== STICKY/OVERLAY HEADER SPECIAL STYLES ===== */
  /*===== this styles only apply when the header div attribute [data-sticky-overlay-special-style] attribute is set to true, and sticky header is enabled =====*/

  /*## STYLES BEFORE SCROLLING */
  html:not(.dwc-mobile):has([data-sticky-overlay-special-style='true'][data-sticky-header='true']):not(:has([data-no-sticky], [data-no-overlay-style])) .dwc-headroom:not(.scroll-up, .scroll-down) .dwc-nav-nested-items > & {
    /* add any of the variables above and update value*/
  }

  /*## STYLES BEFORE SCROLLING - HOVER */
  html:not(.dwc-mobile):has([data-sticky-overlay-special-style='true'][data-sticky-header='true']):not(:has([data-no-sticky], [data-no-overlay-style])) .dwc-headroom:not(.scroll-up, .scroll-down) .dwce-nav-nested:has(.dwce-dropdown.open, .dwc-nav-nested-items > li:hover) .dwc-nav-nested-items > & {
    /* add any of the variables above and update value*/
  }

  /*## STYLES AFTER SCROLLING */
  html:not(.dwc-mobile):has([data-sticky-overlay-special-style='true'][data-sticky-header='true']):not(:has([data-no-sticky], [data-no-overlay-style])) .dwc-headroom:is(.scroll-up, .scroll-down) .dwce-nav-nested:not(:has(.dwce-dropdown.open, .dwc-nav-nested-items > li:hover)) .dwc-nav-nested-items > & {
    /* add any of the variables above and update value*/
  }

  /*## STYLES AFTER SCROLLING - HOVER*/
  html:not(.dwc-mobile):has([data-sticky-overlay-special-style='true'][data-sticky-header='true']):not(:has([data-no-sticky], [data-no-overlay-style])) .dwc-headroom:is(.scroll-up, .scroll-down) .dwce-nav-nested:has(.dwce-dropdown.open, .dwc-nav-nested-items > li:hover) .dwc-nav-nested-items > & {
    /* add any of the variables above and update value*/
  }

  /*## BADGE STYLES AFTER SCROLLING */
  html:not(.dwc-mobile):has([data-sticky-overlay-special-style='true'][data-sticky-header='true']):not(:has([data-no-sticky], [data-no-overlay-style])) .dwc-headroom:is(.scroll-up, .scroll-down) .dwce-nav-nested:not(:has(.dwce-dropdown.open, .dwc-nav-nested-items > li:hover)) .dwc-nav-nested-items > & .dwc-menu-item-badge {
    /* --badge-color: #fff !important;
    --badge-bg-color: var(--primary-clr) !important; */
  }

  /*## BADGE STYLES AFTER SCROLLING - HOVER*/
  html:not(.dwc-mobile):has([data-sticky-overlay-special-style='true'][data-sticky-header='true']):not(:has([data-no-sticky], [data-no-overlay-style])) .dwc-headroom:is(.scroll-up, .scroll-down) .dwce-nav-nested:has(.dwce-dropdown.open, .dwc-nav-nested-items > li:hover) .dwc-nav-nested-items > & .dwc-menu-item-badge {
    /* 
    --badge-color: #fff !important;
    --badge-bg-color: gray !important;  
    */
  }

  /*# ===== MOBILE ONLY STYLES ===== */
  /* add and modify varibales for mobile breakpoint */

  html:is(.dwc-mobile:not(:has([data-offcanvas='true'])), .dwc-offcanvas-mobile) & {
    /* Local tokens */
    --cep-nav-mobile-inset: clamp(0.75rem, 0.61rem + 0.56vw, 1.1rem);

    --menu-item-font-size: var(--btn-font-size, var(--text-m));
    --menu-item-border: 1px solid rgba(0, 0, 0, 0.1);

    a.btn--primary {
      margin-inline: var(--cep-nav-mobile-inset);
      inline-size: calc(100% - (var(--cep-nav-mobile-inset) * 2));
      max-inline-size: calc(100% - (var(--cep-nav-mobile-inset) * 2));
      box-sizing: border-box;
    }

  }

  /* Contact us: ACSS .btn--primary on a DWC Menu Item.
     DWC top-level <a> is more specific than [class*="btn--"], so remap item vars. */
  a.btn--primary {
    /* Local tokens */
    --menu-item-clr: var(--btn-text-color, var(--white));
    --menu-item-bg: var(--btn-background, var(--primary));
    --menu-item-hover-clr: var(--btn-text-color-hover, var(--white));
    --menu-item-hover-bg: var(--btn-background-hover, var(--primary-hover));
    --menu-item-font-size: var(--btn-font-size, var(--text-m));
    --menu-item-inline-padding: var(--btn-padding-inline);
    --menu-item-block-padding: var(--btn-padding-block);
    --menu-item-radius: var(--btn-border-radius);

    /* Type — em padding on .btn--primary follows this, not the 12px nav size */
    font-size: var(--menu-item-font-size);
    font-weight: var(--btn-font-weight);
    line-height: var(--btn-line-height);
    font-family: var(--btn-font-family, var(--text-font-family));

    /* Color / shape */
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: var(--menu-item-bg);
    color: var(--menu-item-clr);
    padding-block: var(--menu-item-block-padding);
    padding-inline: var(--menu-item-inline-padding);
    border-radius: var(--menu-item-radius);
    min-inline-size: var(--btn-min-width);
  }

  a.btn--primary:hover {
    background-color: var(--menu-item-hover-bg);
    color: var(--menu-item-hover-clr);
  }

}
.mega-menu-nova__content-inner {
  display: grid;
  gap: 1rem;
  padding: 1.5rem;
  background-color:white;

  :has(> &) {
    container-type: inline-size;
  }

  @container (inline-size >= 67.5rem) {
    grid-template-columns: 0.35fr auto;
  }
}
.mega-menu-nova__content-group {
  padding: 1rem;
  display: flex;
  flex-direction: column;
  align-items: start;
  gap: 1rem;

  :has(> &) {
    container-type: inline-size;
  }

  @container (inline-size > 64rem) {
    border-right: solid 1px silver;
  }
}
.mega-menu-nova__dropdown-title {
  inline-size: 100%;
  border-bottom: solid 1px silver;
  padding-bottom: 0.5rem;
  font-size: 1rem;
  font-weight: 500;
}
.mega-menu-nova__btn {
  padding-inline: 1.5em;
  padding-block: 0.5em;
  background-color: white;
  border: solid var(--primary-clr, crimson) 1px;
  font-weight: 500;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 0.5em;
  line-height: 1;

  &:hover {
    background-color: var(--primary-clr, crimson);
    color: white;

    & svg path {
      stroke: white;
    }
  }

  & svg {
    /* --multiplier is define in :root, it flips rotate for RTL layout */
    rotate: calc(var(--multiplier, 1) * -90deg);
    inline-size: 1.125rem;
  }
}
.nav-group-wrapper {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(240px, 100%), 1fr));
}
.mega-menu-nova__nav-group {
  padding: 1rem;
  display: flex;
  flex-direction: row;
  gap: 1rem;
	align-items: start;
}
.mega-menu-nova__title-icon {
  width: 30px;
  height: auto;
}
.mega-menu-nova__nav-wrap {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  inline-size:100%;
}
.mega-menu-nova__li {
  font-weight: 600;
  color: black;
  display: flex;
  align-items: baseline;
  letter-spacing: 0;
  justify-content: center;
  list-style-type: none;
  /* Removes default bullets */
  position: relative;
  padding-inline-start: 20px;
  flex-direction: column;
  /* Space for custom bullet */

  &::before {
    content: '•';
    /* Custom bullet (can be changed) */
    position: absolute;
    inset-inline-start: 0;
    color: var(--menu-item-hover-clr);
    /* Adjust bullet color */
    font-size: 16px;
  }

  &:hover a {
    color: var(--primary-clr, crimson);
  }
}
.mega-menu-nova__link {
  font-size: 1rem;
  font-weight: 400;
  color: black;
  padding-inline: 0rem;
  padding-block: 0.5rem;
  inline-size: 100%;
  text-decoration: none;
}
.mega-menu-quantum__content-inner {
  display: grid;
  align-items: initial;
  grid-template-columns: repeat(auto-fit, minmax(min(250px, 100%), 1fr));
  grid-gap: 1rem;
  width: 100%;
  background-color: #ffffff;
  padding-block: 1rem;
  container-type: inline-size;


  @container (inline-size < 768px) {
    & {
      grid-template-columns: repeat(auto-fill, minmax(min(400px, 100%), 1fr)) !important;
    }
  }
}
.mega-menu-quantum__content-group {
  padding-inline: 1rem;
  padding-block-start: 1rem;
  inline-size: 100%;
  row-gap: 0.5rem;
  display: flex;
  flex-direction: column;
  align-items: start;

  @container (width > 1041px) {
    & {
      border-right: 1px solid lightgray;
    }
  }

  @container (width <= 1040px) {
    & {
      grid-column: 1/-1;
    }

    & > img {
      max-block-size: 300px;
      object-fit: cover;
      object-position: bottom;
      inline-size: 100%;
    }
  }
}
.mega-menu-quantum__dropdown-title {
  font-size: 1.125rem;
  font-weight: 500
}
.mega-menu-quantum__txt--large {
  font-size: 16px;
}
.mega-menu-quantum__btn {
  inline-size: 100%;
  font-size: 0.875rem;
  font-weight: 500;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: var(--content-gap, 0.5rem);
  background-color: black;
  color: white;
  text-transform: capitalize;
  padding-block: 0.5rem;
  padding-inline: 1rem;
  margin-top: auto;
  text-decoration: none;

  &:hover {
    background-color: var(--primary-clr, crimson);
    color: white;
  }

  & svg path {
    stroke: white;
  }
}
.mega-menu-quantum-link__icon {
  /* --multiplier is define in :root, it flips rotate for RTL layout */
  rotate: calc(var(--multiplier, 1) * 270deg); 
  inline-size: 1.125rem;
}
.h-ruled-grid {
  --gap: 1rem;
  --line-thickness: 1px;
  --line-color: #d5d5d5;
  --line-offset: calc(var(--gap) / 10);
  gap: var(--gap);
  overflow: hidden;
  display: grid;
  align-items: initial;
  grid-column: span 3;
  grid-template-columns: repeat(auto-fill, minmax(min(250px, 100%), 1fr));

  & > div {
    position: relative;
  }

  & > div::before,
  & > div::after {
    content: '';
    background-color: var(--line-color);
    position: absolute;
  }

  & > div::before {
    width: var(--line-thickness);
    height: 100%;
    inset-block: calc(var(--gap) / 2);
    left: calc(var(--line-offset) * -1);
  }

  & > div::after {
    width: 100vw;
    height: var(--line-thickness);
    top: calc(var(--line-offset) * -1);
    left: 0;
  }

  & > div:last-child::before,
  & > div:last-child::after {
    display: none;
  }

  @container (width <= 1040px) {
    & {
      grid-column: 1/-1;
    }
  }
}
.mega-menu-quantum__nav-group {
  padding: 1rem;
  position: relative;
  gap: 1rem;
}
.mega-menu-quantum__link {
  padding-inline: 0rem;
  padding-block: 0.5rem;
  font-weight: 600;
  color: #000;
  display: flex;
  align-items: center;
  letter-spacing: 0;
  text-decoration: none;
  font-size: 1rem;
  flex-direction: row;

  /* clickable parent */

  &::after {
    content: '';
    position: absolute;
    inset: 0;
    cursor: pointer !important;
    display: flex;
    z-index: 1;
  }

  &:hover {
    color: var(--primary-clr, crimson);
    
    & svg path{
      stroke:var(--primary-clr, crimson)
    }
  }

  & svg {
    transition: transform 0.25s;
  }

  &:hover svg {
    transform: translateY(0.25em);
  }
}
.mega-menu-quantum__txt {
  font-size: 12px;
  font-weight: 500;
}
#mega-menu-quantum__nav-group--a {
  background: rgb(241 241 241);
      grid-column: 1/-1;
    display: grid;
    align-items: initial;
    grid-template-columns: subgrid;
}
.mega-menu-quantum__nav-group--b {
  padding: 0;
}
.mega-menu-quantum__media-group {
  & img {
    border-radius: 0;
    height: 100%;
    width:100%;
    object-fit: cover;
  }

  @container (width > 500px) {
    & {
      grid-column: span 2;
    }
  }

  display: grid;
  align-items: initial;
  grid-gap: 0.5rem;
  grid-template-columns: repeat(auto-fit, minmax(min(100px, 100%), 1fr));
  grid-auto-rows: 100px;
  align-content: center;
}
#etch-o9wuqtr {
  gap: 1rem;
}
.dwc-nest-toggle--open {
  gap: var(--label-gap);
}
.etch-hzzm98j {
  position: relative;
}
.dwce-toggle__label {
  font-size: var(--label-font-size);
  color: var(--label-color);
  text-transform: uppercase;
  font-weight: 500;
}
.dwc-toggle-vars {
  /*# ===== STICKY/OVERLAY HEADER SPECIAL STYLES ===== */
  /*===== this styles only apply when the header div attribute [data-sticky-overlay-special-style] attribute is set to true, and sticky header is enabled =====*/

  /*## STYLES BEFORE SCROLLING */
  html:has([data-sticky-overlay-special-style='true'][data-sticky-header='true']):not(:has([data-no-sticky], [data-no-overlay-style], .dwce-nav-nested.dwc-open)) .dwc-headroom:not(.scroll-up, .scroll-down) & {
    /* 
    --toggle-color: white !important;
    --toggle-bg: color-mix(in oklch, white 10%, transparent) !important; 
    --label-color: white !important;
    */
  }

  /*## STYLES BEFORE SCROLLING - OPEN */
  html:has([data-sticky-overlay-special-style='true'][data-sticky-header='true'] .dwce-nav-nested.dwc-open):not(:has([data-no-sticky], [data-no-overlay-style])) .dwc-headroom:not(.scroll-up, .scroll-down) & {
    /* --toggle-color: black !important; */
  }

  /*## STYLES AFTER SCROLLING */
  html:has([data-sticky-overlay-special-style='true'][data-sticky-header='true']):not(:has([data-no-sticky], [data-no-overlay-style])) .dwc-headroom:is(.scroll-up, .scroll-down) .dwce-nav-nested:not(:has(.dwce-dropdown.open, .dwc-nav-nested-items > li:hover)) & {
    /* add any of the toggle variables and update value*/
  }

  /*## STYLES AFTER SCROLLING - OPEN */
  html:has([data-sticky-overlay-special-style='true'][data-sticky-header='true'] .dwce-nav-nested.dwc-open):not(:has([data-no-sticky], [data-no-overlay-style])) .dwc-headroom:is(.scroll-up, .scroll-down) & {
    /* --toggle-color: red !important; */
  }
}
.dwc-slider-wrapper {
  min-block-size: var(--slider-wrapper-height);
  background-color: var(--slider-wrapper-bg);
  overflow-x: clip;
}
.slider-wrapper-instructions {
  display: flex;
  flex-direction: column;
  min-block-size: 20vh;
  max-block-size: none;
  align-items: center;
	justify-content: center;
}
.splide {
  --gutter: initial;
  --section-padding-block: initial;
  gap: 0;
  /* overflow: clip; */
  /* block-size: calc(var(--slide-height-active) + (var(--slider-padding-block) * 2)); */
  & .splide__track {
    padding-block: var(--slider-padding-block);
  }

  &[data-static-layout] {
    padding-inline: var(--slider-padding-inline);
  }

  & .splide__slide {
    display: flex;
    perspective: var(--slide-perspective);
  }

  &[data-overflow='true'] .splide__track {
    overflow: visible !important;
  }

  [data-slider-wrapper] & {
    inline-size: 100%;
  }

  & .slide-content {
    block-size: 100%;
    inline-size: min(100%, 100vw);
  }

  /*# INSIDE ETCH  */

  /*### SCROLL BAR  */

  @supports (scrollbar-width: auto) {
    html:has(&) {
      scrollbar-color: inherit;
    }
  }

  .etch-builder-block .splide {
    scrollbar-width: thin !important;
    scrollbar-color: #4a4a4a #1a1a1a;
  }

  .etch-builder-block.splide__track::-webkit-scrollbar {
    width: 8px;
    height: 12px;
  }

  .etch-builder-block.splide__track::-webkit-scrollbar-track {
    background: #1a1a1a;
    border-radius: 10px;
  }

  .etch-builder-block.splide__track::-webkit-scrollbar-thumb {
    background: #4a4a4a;
    border-radius: 10px;
    transition: background 0.3s ease;
  }

  .etch-builder-block.splide__track:hover::-webkit-scrollbar-thumb {
    background: linear-gradient(to left, #ff4d6a, blue) !important;
  }

  .etch-builder-block.splide__track::-webkit-scrollbar-thumb:hover {
    background: #5a5a5a;
  }
  /*### SCROLLBAR ENDS  */

  /*# INSIDE ETCH ENDS  */
}
.dwc-slider-controls-wrapper {
  display: flex;
}
.splide__slide {
  & > div:has(.slide-placeholder-info) {
    min-block-size: 200px;
    background-color: color-mix(in oklch, black 30%, transparent);
    background-image: radial-gradient(circle, white 1px, transparent 1px);
    background-size: 24px 24px;
    height: 100%;
  }
}
.slider-navigation-vars {
  /* Controls styles for built in slider navigation elements only: 
  - Arrows (nav buttons) 
  - Pagination
  - Play/Pause button
  - Progress
*/

  /*# ALL ARROWS  */

  /*## Normal */
  --arrow-bg: rgba(255, 255, 255, 0.06);
  --arrow-clr: color-mix(in oklch, white 50%, transparent);
  --arrow-radius: 50%;
  --arrow-width: 2.75rem;
  --arrow-height: var(--arrow-width);
  --arrow-padding: 0;
  --arrow-aspect-ratio: 1;
  --arrow-icon-size: 1.125rem;
  --arrow-bg-blur: 10px;
  --arrow-border: 1px solid rgba(255, 255, 255, 0.1);
  --arrow-opacity: 0;
  --arrow-transition: 0.3s cubic-bezier(0.4, 0, 0.2, 1);

  /*## Hover */
  --arrow-hover-bg: color-mix(in oklch, var(--primary) 20%, transparent);
  --arrow-hover-clr: var(--white, white);
  --arrow-hover-opacity: 1;
  --arrow-hover-border-clr: var(--primary, #ff4d6a);

  /*## POSITIONING  */

  /*### PREV ARROW  */
  --prev-arrow-top: 50%;
  --prev-arrow-bottom: auto;
  --prev-arrow-right: auto;
  --prev-arrow-left: 0.875rem;
  --prev-arrow-transform: translateY(-50%);

  /*### NEXT ARROW  */
  --next-arrow-top: 50%;
  --next-arrow-bottom: auto;
  --next-arrow-right: 0.875rem;
  --next-arrow-left: auto;
  --next-arrow-transform: translateY(-50%);

  /*# PAGINATION  */

  /*## WRAPPER  */
  --pagination-position: absolute;
  --pagination-padding: 12px 14px;
  --pagination-bg: rgba(0, 0, 0, 0.35);
  --pagination-bg-blur: 8px;
  --pagination-radius: 1.25rem;
  --pagination-gap: 0.5rem;

  /*### POSITIONING  */
  --pagination-top: auto;
  --pagination-bottom: 1rem;
  --pagination-left: 50%;
  --pagination-right: auto;
  --pagination-transform: translateX(-50%);

  /*## DOTS  */

  /*### Normal  */
  --dot-size: 8px;
  --dot-radius: 50%;
  --dot-clr: rgba(255, 255, 255, 0.2);
  --dot-transition: 0.3s cubic-bezier(0.4, 0, 0.2, 1);

  /*### Hover  */
  --dot-hover-clr: rgba(255, 255, 255, 0.5);

  /*### Active */
  --dot-clr-active: var(--primary, #ff4d6a);
  --dot-transform-active: scale(1.3);

  /*# PLAY/PAUSE BUTTON  */

  /*## Normal */
  --play-pause-size: 32px;
  --play-pause-radius: 50vw;
  --play-pause-border: 1px solid rgba(255, 255, 255, 0.1);
  --play-pause-clr: var(--white, white);
  --play-pause-bg: rgba(0, 0, 0, 0.4);
  --play-pause-bg-blur: 8px;

  /*## Hover */
  --play-pause-hover-bg: color-mix(in oklch, var(--primary) 20%, transparent);
  --play-pause-hover-border-clr: var(--primary, #ff4d6a);

  /*## POSITIONING  */
  --play-pause-top: auto;
  --play-pause-bottom: 14px;
  --play-pause-left: auto;
  --play-pause-right: 14px;
  --play-pause-z-index: 10;

  /*# PROGRESS  */

  /*## Normal */
  --progress-fill-clr: var(--primary, #ff4d6a);
  --progress-fill-clr-2: var(--primary-ultra-light, #ff8fa3); /* bar progress*/
  --progress-bg: rgba(0, 0, 0, 0.4); /* non cirular counter*/
  --progress-bg-blur: 8px; /* non cirular counter*/
  --progress-border-radius: 20px; /* non cirular counter*/
  --progress-border: 1px solid rgba(255, 255, 255, 0.08); /* non cirular counter*/
  --progress-padding: 4px 12px; /* non cirular counter*/
  --progress-track-clr: rgba(255, 255, 255, 0.1);
  --progress-separator-clr: var(--progress-clr-total);
  --progress-separator-gap: 0.1em;
  --progress-separator-size: var(--progress-font-size-total);

  /*## Current text */
  --progress-clr-current: var(--primary, #ff4d6a);
  --progress-font-size-current: 0.8rem;

  /*## Total text */
  --progress-clr-total: #8888a0;
  --progress-font-size-total: 0.6rem;

  /*## POSITIONING  */
  --progress-top: auto;
  --progress-bottom: 0;
  --progress-left: 14px;
  --progress-right: auto;
  --progress-z-index: 10;

  /*### Counter  */
  & [data-auto-generated][data-progress-type='counter'] {
    --progress-top: auto;
    --progress-bottom: 12px;
    --progress-left: auto;
    --progress-right: 12px;
  }

  /*### Circular  */
  & [data-auto-generated][data-progress-type='circular'] {
    --progress-top: 14px;
    --progress-bottom: auto;
    --progress-left: 14px;
    --progress-right: auto;
  }

  /*# LIGHTBOX  */

  --lightbox-bg: color-mix(in oklch, black 90%, transparent);
  --lightbox-z: 99999;
  --lightbox-close-size: 2.75rem;
  --lightbox-padding: clamp(16px, 4vw, 48px);
  --lightbox-img-height: 90vh;
  --lightbox-arrow-bg: color-mix(in oklch, white 12%, transparent);
  --lightbox-arrow-hover-bg: color-mix(in oklch, white 25%, transparent);
  --lightbox-clr: #fff;
  --lightbox-slide-height: 70vh;
}
.dwc-slider-vars-o73c4f {
  /* Controls styles for built in slider navigation elements only: 
  - Arrows (nav buttons) 
  - Pagination
  - Play/Pause button
  - Progress
*/

  /*# ALL ARROWS  */

  /*## Normal */
  --arrow-bg: rgba(255, 255, 255, 0.06);
  --arrow-clr: color-mix(in oklch, white 50%, transparent);
  --arrow-radius: 50%;
  --arrow-width: 2.75rem;
  --arrow-height: var(--arrow-width);
  --arrow-padding: 0;
  --arrow-aspect-ratio: 1;
  --arrow-icon-size: 1.125rem;
  --arrow-bg-blur: 10px;
  --arrow-border: 1px solid rgba(255, 255, 255, 0.1);
  --arrow-opacity: 0;
  --arrow-transition: 0.3s cubic-bezier(0.4, 0, 0.2, 1);

  /*## Hover */
  --arrow-hover-bg: color-mix(in oklch, var(--primary) 20%, transparent);
  --arrow-hover-clr: var(--white, white);
  --arrow-hover-opacity: 1;
  --arrow-hover-border-clr: var(--primary, #ff4d6a);

  /*## POSITIONING  */

  /*### PREV ARROW  */
  --prev-arrow-top: 50%;
  --prev-arrow-bottom: auto;
  --prev-arrow-right: auto;
  --prev-arrow-left: 0.875rem;
  --prev-arrow-transform: translateY(-50%);

  /*### NEXT ARROW  */
  --next-arrow-top: 50%;
  --next-arrow-bottom: auto;
  --next-arrow-right: 0.875rem;
  --next-arrow-left: auto;
  --next-arrow-transform: translateY(-50%);

  /*# PAGINATION  */

  /*## WRAPPER  */
  --pagination-position: absolute;
  --pagination-padding: 12px 14px;
  --pagination-bg: rgba(0, 0, 0, 0.35);
  --pagination-bg-blur: 8px;
  --pagination-radius: 1.25rem;
  --pagination-gap: 0.5rem;

  /*### POSITIONING  */
  --pagination-top: auto;
  --pagination-bottom: 1rem;
  --pagination-left: 50%;
  --pagination-right: auto;
  --pagination-transform: translateX(-50%);

  /*## DOTS  */

  /*### Normal  */
  --dot-size: 8px;
  --dot-radius: 50%;
  --dot-clr: rgba(255, 255, 255, 0.2);
  --dot-transition: 0.3s cubic-bezier(0.4, 0, 0.2, 1);

  /*### Hover  */
  --dot-hover-clr: rgba(255, 255, 255, 0.5);

  /*### Active */
  --dot-clr-active: var(--primary, #ff4d6a);
  --dot-transform-active: scale(1.3);

  /*# PLAY/PAUSE BUTTON  */

  /*## Normal */
  --play-pause-size: 32px;
  --play-pause-radius: 50vw;
  --play-pause-border: 1px solid rgba(255, 255, 255, 0.1);
  --play-pause-clr: var(--white, white);
  --play-pause-bg: rgba(0, 0, 0, 0.4);
  --play-pause-bg-blur: 8px;

  /*## Hover */
  --play-pause-hover-bg: color-mix(in oklch, var(--primary) 20%, transparent);
  --play-pause-hover-border-clr: var(--primary, #ff4d6a);

  /*## POSITIONING  */
  --play-pause-top: auto;
  --play-pause-bottom: 14px;
  --play-pause-left: auto;
  --play-pause-right: 14px;
  --play-pause-z-index: 10;

  /*# PROGRESS  */

  /*## Normal */
  --progress-fill-clr: var(--primary, #ff4d6a);
  --progress-fill-clr-2: var(--primary-ultra-light, #ff8fa3); /* bar progress*/
  --progress-bg: rgba(0, 0, 0, 0.4); /* non cirular counter*/
  --progress-bg-blur: 8px; /* non cirular counter*/
  --progress-border-radius: 20px; /* non cirular counter*/
  --progress-border: 1px solid rgba(255, 255, 255, 0.08); /* non cirular counter*/
  --progress-padding: 4px 12px; /* non cirular counter*/
  --progress-track-clr: rgba(255, 255, 255, 0.1);
  --progress-separator-clr: var(--progress-clr-total);
  --progress-separator-gap: 0.1em;
  --progress-separator-size: var(--progress-font-size-total);

  /*## Current text */
  --progress-clr-current: var(--primary, #ff4d6a);
  --progress-font-size-current: 0.8rem;

  /*## Total text */
  --progress-clr-total: #8888a0;
  --progress-font-size-total: 0.6rem;

  /*## POSITIONING  */
  --progress-top: auto;
  --progress-bottom: 0;
  --progress-left: 14px;
  --progress-right: auto;
  --progress-z-index: 10;

  /*### Counter  */
  & [data-auto-generated][data-progress-type='counter'] {
    --progress-top: auto;
    --progress-bottom: 12px;
    --progress-left: auto;
    --progress-right: 12px;
  }

  /*### Circular  */
  & [data-auto-generated][data-progress-type='circular'] {
    --progress-top: 14px;
    --progress-bottom: auto;
    --progress-left: 14px;
    --progress-right: auto;
  }

  /*# LIGHTBOX  */

  --lightbox-bg: color-mix(in oklch, black 90%, transparent);
  --lightbox-z: 99999;
  --lightbox-close-size: 2.75rem;
  --lightbox-padding: clamp(16px, 4vw, 48px);
  --lightbox-img-height: 90vh;
  --lightbox-arrow-bg: color-mix(in oklch, white 12%, transparent);
  --lightbox-arrow-hover-bg: color-mix(in oklch, white 25%, transparent);
  --lightbox-clr: #fff;
  --lightbox-slide-height: 70vh;
}
.slide-placeholder-info {
  margin: auto;
  color: white;
  font-size: 14px;
  letter-spacing: 1px;
}
.dwc-slider-nav-button-wrapper {
  width: fit-content;
height: fit-content;
}
.dwc-slider-nav-btn {
  /* max-inline-size: fit-content; */
  display: grid;
  place-items: center;
  white-space: nowrap;

  &:has(.dwc-default-slider-nav-icon, .dwc-slider-nav-custom-svg, [data-slide-title]) {
    color: var(--arrow-clr);
    font-size: var(--arrow-icon-size);
    min-width: calc(var(--arrow-width) + var(--title-width, 0px));
    min-height: var(--arrow-height);
    border: var(--arrow-border);
    border-radius: var(--arrow-radius);
    background: var(--arrow-bg);
    backdrop-filter: blur(var(--arrow-bg-blur));
    -webkit-backdrop-filter: blur(var(--arrow-bg-blur));
    cursor: pointer;
    transition: var(--arrow-transition);
    padding: var(--arrow-padding);
    aspect-ratio: var(--arrow-aspect-ratio);

    &:hover {
      background: var(--arrow-hover-bg);
      border-color: var(--arrow-hover-border-clr);
      color: var(--arrow-hover-clr);

      & svg {
        fill: var(--arrow-hover-clr);
      }
    }
  }
}
.dwc-default-slider-nav-icon {
  width: var(--arrow-icon-size);
  height: var(--arrow-icon-size);
  fill: var(--arrow-clr);
}
.dwc-slider-nav-custom-svg {
  & svg{
      width: var(--arrow-icon-size);
  height: var(--arrow-icon-size);
  fill: var(--arrow-clr);
  }
}
.dwc-nav-btn-instruction {
  color: white;
  font-size: 0.6rem;
  font-weight: 500;
  letter-spacing: 1px;
  background-color: var(--etch-info, deepskyblue);
  border-radius: 0.4em;
  padding: 0.45 0.75em;
  max-inline-size: 250px;
  white-space: wrap;
}
.dwc-progress-container {
  & > .sc-bar-progress{
    block-size: var(--progress-height);
  }
}
.autoplay-toggle-container {
  inline-size: var(--play-pause-size);
  block-size: var(--play-pause-size);
  flex-shrink: 0;
  & > button {
    inline-size: 100%;
    block-size: 100%;
  }
}
.dwc-slider-pagination-wrapper {
  /*  General pagination styles */
  display: flex;
  gap: var(--gap);
  flex-direction: var(--direction);
  position: var(--position);
  z-index: var(--z-index);
  block-size: fit-content;

  /*  Default pagination styles */
  [data-custom-pagination='default']& {
    padding: var(--padding);
    background-color: var(--bg);
    backdrop-filter: blur(var(--blur));
    border-radius: var(--radius);
    font-size: var(--font-size);

    & .splide__pagination__page {
      width: var(--dot-size);
      height: var(--dot-size);
      border-radius: var(--dot-radius);
      border: none;
      color: var(--dot-color);
      background: var(--dot-bg);
      cursor: pointer;
      padding: 0;
      transition: all var(--sc-transition);
      line-height: 1;

      &.is-active {
        background: var(--dot-bg-active);
        transform: scale(1.3);
        color: var(--active-dot-color);
      }
    }
  }
  /*  END Default pagination styles */
}
.cep-nav-social {
  /* Header social icon links */
  /* Local tokens */
  --cep-nav-social-size: var(--space-m);
  --cep-nav-social-color: var(--neutral);
  --cep-nav-social-color-hover: var(--primary);

  /* Layout */
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  background-color: transparent;
  box-shadow: none;
  border: none;
  text-decoration: none;
  inline-size: var(--cep-nav-social-size);
  block-size: var(--cep-nav-social-size);
  color: var(--cep-nav-social-color);

  &:hover {
    color: var(--cep-nav-social-color-hover);
    background-color: transparent;
  }

  & img,
  & etch\:img,
  & svg {
    inline-size: var(--cep-nav-social-size);
    block-size: var(--cep-nav-social-size);
    object-fit: contain;
    display: block;
  }
}
.cep-footer {
  /* Footer */
  /* Local tokens */
  --cep-footer-bg: color-mix(in oklch, var(--neutral) 8%, var(--white));
  --cep-footer-rule: var(--primary);
  --cep-footer-bar-rule: color-mix(in oklch, var(--neutral) 28%, transparent);

  /* Color */
  &[data-etch-element='section'] {
    background-color: color-mix(in oklch, var(--neutral) 8%, var(--white));
    border-block-start: calc(var(--border-size) * 3) solid var(--cep-footer-rule);
    padding: var(--space-l);
  }
}
.cep-footer__grid {
  /* Footer columns */
  /* Layout */
  display: grid;
  gap: var(--space-m);

  @media (width >= 768px) {
    grid-template-columns: 1fr 1fr;
  }
}
.cep-footer__brand {
  /* Footer brand stack */
/* Layout */
display: flex;
flex-direction: column;
gap: var(--space-s);

}
.cep-footer__logo {
  /* Footer logo */
& img,
& etch\:img,
& svg {
  inline-size: var(--width-10);
  max-inline-size: 100%;
  block-size: auto;
}

}
.cep-footer__socials {
  /* Footer socials — same glyph size as header */
  /* Local tokens */
  --cep-footer-social-size: var(--space-m);

  /* Layout */
  display: flex;
  align-items: center;
  gap: var(--space-xs);
  margin-block-start: calc(var(--space-xs) / 2);

  & a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    inline-size: var(--cep-footer-social-size);
    block-size: var(--cep-footer-social-size);
  }

  & img,
  & etch\:img,
  & svg {
    inline-size: var(--cep-footer-social-size);
    block-size: var(--cep-footer-social-size);
    object-fit: contain;
    display: block;
  }
}
.cep-footer__affiliations {
  /* Footer affiliations */
/* Layout */
display: flex;
flex-direction: column;
gap: var(--space-xs);

}
.cep-footer__aff-title {
  /* Footer affiliations heading */
/* Type */
font-size: calc(var(--h4) / 1.25);
margin: 0;

}
.cep-footer__link {
  /* Footer nav link */
/* Type */
color: var(--text-dark, var(--body-color));
text-decoration: none;
padding-block: 0;
margin: 0;

}
.cep-footer__bar {
  /* Footer bar */
/* Layout */
display: flex;
justify-content: space-between;
align-items: center;
gap: var(--space-s);
flex-wrap: wrap;
margin-block-start: var(--space-s);
padding-block-start: var(--space-xs);
border-block-start: var(--border-size) solid var(--cep-footer-bar-rule);

/* Type */
font-size: var(--text-xs);

& p {
  margin: 0;
}

& a {
  margin: 0;
  color: var(--text-dark, var(--body-color));
}

}
.cep-footer__credit {
  /* Footer credit */
margin: 0;
text-decoration: underline;

}
.cep-hero {
  /* Hero section */
/* Local tokens */
--cep-hero-min-block: 100dvh;
--cep-hero-overlay: color-mix(in oklch, var(--neutral) 35%, transparent);

/* Layout */
position: relative;
min-block-size: var(--cep-hero-min-block);
min-height: 100dvh;
display: grid;
align-items: center;
padding-block: 0;
padding-inline: 0;
inline-size: 100%;

}
.cep-hero__media {
  /* Hero media */
/* Layout */
position: absolute;
inset: 0;
z-index: 0;

& img,
& etch\:img {
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
}

}
.cep-hero__overlay {
  /* Hero overlay */
/* Layout */
position: absolute;
inset: 0;
z-index: 1;

/* Color */
background: var(--cep-hero-overlay);

}
.cep-hero__content {
  /* Hero content */
/* Layout */
position: relative;
z-index: 2;
display: grid;
gap: var(--space-s);
justify-items: center;
text-align: center;
padding-block: var(--space-m);
padding-inline: var(--space-s);

}
.cep-hero__title {
  text-transform: uppercase;
  font-size: calc(var(--h1) * 1.3);
}
.cep-hero__subtitle {
  /* Hero subtitle */
  /* Type */
  color: var(--white);
  font-size: var(--h2);
  max-inline-size: var(--text-max-width);
}
.cep-hero__actions {
  /* Hero actions */
/* Layout */
display: flex;
flex-wrap: wrap;
gap: var(--space-xs);
justify-content: center;

}
.cep-about__header {
  /* About header */
/* Layout */
display: grid;
gap: var(--space-s);
margin-block-end: var(--space-l);

@media (width >= 768px) {
  grid-template-columns: 1fr auto;
  align-items: end;
}

}
.cep-intro {
  /* About intro */
  /* Layout */
  display: grid;
  gap: var(--space-s);
}
.cep-about__lead {
  /* About lead */
/* Type */
max-inline-size: 55ch;
margin: 0;

}
.cep-about__actions {
  /* About actions */
/* Layout */
display: flex;
flex-wrap: wrap;
align-items: center;
gap: var(--space-s);

& .btn--primary.btn--outline {
  /* Local tokens — beat ACSS .btn--primary.btn--outline (white-on-dark default) */
  --btn-text-color: var(--primary);
  --btn-text-color-hover: var(--white);
  --btn-border-color: var(--primary);
  --btn-border-color-hover: var(--primary-hover);
  --btn-background-hover: var(--primary-hover);

  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
}

@media (width >= 768px) {
  justify-content: end;
}

}
.cep-about__more {
  /* About read-more link */
/* Layout */
display: inline-flex;
align-items: center;
gap: calc(var(--space-xs) / 2);

/* Type */
color: var(--text-dark, var(--body-color));
font-size: var(--text-s);
text-decoration: none;

}
.cep-about__icon {
  /* About action icon — ACSS Icon Framework on the play SVG */
/* Local tokens */
--cep-about-icon-size: var(--space-s);
--cep-about-chevron-size: var(--space-xs);
--icon-size: var(--cep-about-icon-size);
--icon-color: currentColor;
--icon-color-hover: currentColor;
--icon-padding: 0;

/* Layout */
flex-shrink: 0;

&:is(img, etch\:img) {
  inline-size: var(--cep-about-icon-size);
  block-size: var(--cep-about-icon-size);
  object-fit: contain;
  display: block;
}

.cep-about__more & {
  --cep-about-icon-size: var(--cep-about-chevron-size);
  --icon-size: var(--cep-about-chevron-size);
}

}
.cep-about__grid {
  /* About image/text grid */
/* Layout */
display: grid;
gap: var(--space-m);
align-items: start;

@media (width >= 768px) {
  grid-template-columns: 1fr 1fr;
}

}
.cep-about__media {
  /* About media */
& img,
& etch\:img {
  inline-size: 100%;
  block-size: auto;
  display: block;
}

}
.cep-about__text {
  /* About body */
/* Layout */
display: grid;
gap: var(--paragraph-spacing);

& p {
  margin: 0;
}

}
.cep-video {
  /* Video section — 16/9 file, shrink on narrow viewports */
/* Local tokens */
--cep-video-ratio: 16 / 9;
--cep-video-max-block: 100dvh;

/* Layout */
position: relative;
inline-size: 100%;
max-block-size: var(--cep-video-max-block);
min-block-size: 0;
aspect-ratio: var(--cep-video-ratio);
block-size: auto;
display: grid;
place-items: center;
padding-block: 0;
padding-inline: 0;
overflow: hidden;
cursor: pointer;

}
.cep-video__media {
  /* Video media */
/* Layout */
position: absolute;
inset: 0;
overflow: hidden;
z-index: 0;

& img,
& etch\:img,
& video,
&.cep-video__player {
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
  object-position: center;
}

}
.cep-video__player {
  /* Intro video */
/* Local tokens */
--cep-video-fit: cover;

/* Layout */
position: absolute;
inset: 0;
z-index: 0;
inline-size: 100%;
block-size: 100%;
object-fit: var(--cep-video-fit);
object-position: center;

}
.cep-video__overlay {
  /* Video overlay */
/* Layout */
position: absolute;
inset: 0;
z-index: 1;
pointer-events: none;

/* Color */
background: color-mix(in oklch, var(--neutral) 25%, transparent);

}
.cep-video__mute {
  /* Video mute toggle */
/* Local tokens */
--cep-video-mute-size: var(--space-m);
--cep-video-mute-pad: var(--space-xs);
--cep-video-mute-inset: var(--space-m);
--cep-video-mute-color: var(--white);
--cep-video-mute-bg: color-mix(in oklch, var(--neutral) 45%, transparent);

/* Layout */
position: absolute;
inset-block-end: var(--cep-video-mute-inset);
inset-inline-start: var(--cep-video-mute-inset);
z-index: 2;
display: inline-flex;
align-items: center;
justify-content: center;
padding: var(--cep-video-mute-pad);
border: none;
border-radius: var(--radius);
cursor: pointer;

/* Color */
color: var(--cep-video-mute-color);
background-color: var(--cep-video-mute-bg);

/* Motion */
transition: var(--transition);

&:hover {
  background-color: color-mix(in oklch, var(--neutral) 60%, transparent);
}

& svg {
  inline-size: var(--cep-video-mute-size);
  block-size: var(--cep-video-mute-size);
  color: var(--cep-video-mute-color);
}

&.is-muted .cep-video__mute-on,
&:not(.is-muted) .cep-video__mute-off {
  display: none;
}

}
.cep-services__header {
  /* Services header */
/* Layout */
display: grid;
gap: var(--space-m);
text-align: start;
margin-block-end: var(--space-m);
align-items: start;

@media (width >= 768px) {
  grid-template-columns: 1fr 1fr;
}

}
.cep-eyebrow {
  /* Global section eyebrow */
/* Local tokens */
--cep-eyebrow-size: calc(var(--text-m) / 1.1);

/* Type */
font-size: var(--cep-eyebrow-size);
margin: 0;

}
.cep-services__intro {
  /* Services intro */
/* Layout */
display: grid;
gap: var(--paragraph-spacing);
max-inline-size: none;

& p {
  margin: 0;
}

}
.cep-services__grid {
  /* Services card grid — 1 col, 2 from tablet, 3 from desktop */
/* Local tokens */
--cep-services-grid-gap: var(--space-m);

/* Layout */
display: grid;
gap: var(--cep-services-grid-gap);
grid-template-columns: 1fr;

@media (width >= 768px) {
  grid-template-columns: repeat(2, 1fr);
}

@media (width >= 1200px) {
  grid-template-columns: repeat(3, 1fr);
}

}
.cep-services__card {
  /* Service card */
/* Local tokens — match Etch canvas, not ACSS card gray */
--card-background: var(--white, var(--base));

}
.cep-services__card-media {
  /* Service card media */
/* Layout */
overflow: hidden;

& img,
& etch\:img {
  inline-size: 100%;
  block-size: auto;
  display: block;
}

}
.cep-services__card-text {
  /* Service card text */
/* Layout */
display: grid;
gap: var(--paragraph-spacing);

& p {
  margin: 0;
}

}
.cep-services__actions {
  /* Services actions */
/* Layout */
display: flex;
flex-wrap: wrap;
align-items: center;
gap: var(--space-s);
justify-content: start;
margin-block-start: var(--space-m);

}
.cep-services__more {
  /* Services read-more link */
/* Layout */
display: inline-flex;
align-items: center;
gap: calc(var(--space-xs) / 2);

/* Type */
color: var(--text-dark, var(--body-color));
font-size: var(--text-s);
text-decoration: none;

}
.cep-services__icon {
  /* Services action icon */
/* Local tokens */
--cep-services-icon-size: var(--space-xs);

/* Layout */
inline-size: var(--cep-services-icon-size);
block-size: var(--cep-services-icon-size);
object-fit: contain;
display: block;
flex-shrink: 0;

& img,
& etch\:img {
  inline-size: var(--cep-services-icon-size);
  block-size: var(--cep-services-icon-size);
  object-fit: contain;
  display: block;
}

}
.cep-facilities {
  /* Facilities section — content-grid list, no extra section pad */
/* Local tokens */
--cep-facilities-stack: column;
--cep-facilities-z: 0;
--section-space-m: 0;
--section-space-s: 0;

/* Layout */
position: relative;
isolation: isolate;
z-index: var(--cep-facilities-z);
display: flex;
flex-direction: var(--cep-facilities-stack);
overflow: visible;
padding-block: 0;

}
.cep-facilities__list {
  /* Facilities list — constrained stack, no markers */
/* Layout */
display: flex;
flex-direction: column;
list-style: none;
margin: 0;
padding-block: 0;

}
.cep-facility {
  /* Facility panel */
/* Local tokens */
--cep-facility-z: 1;
--cep-facility-bg: var(--white);
--cep-facility-pad: var(--space-l);
--cep-facility-gap: var(--space-l);

/* Layout */
position: relative;
scroll-margin-block-start: var(--space-xl);
z-index: var(--cep-facility-z);
display: grid;
align-content: start;
overflow: visible;
list-style: none;
padding-block: var(--cep-facility-pad);

/* Color */
background-color: var(--cep-facility-bg);

}
.cep-facility__inner {
  /* Facility inner */
/* Layout */
inline-size: 100%;

}
.cep-facility__label {
  /* Facility label row */
/* Layout */
display: flex;
justify-content: space-between;
align-items: center;
gap: var(--space-s);
padding-block-end: var(--space-xs);
border-block-end: var(--border);
margin-block-end: var(--space-m);

}
.cep-facility__label-text {
  /* Facility label text — size/margin from .cep-eyebrow */
& strong {
  font-weight: var(--heading-font-weight);
}

}
.cep-facility__grid {
  /* Facility content grid */
/* Local tokens */
--cep-facility-gap: var(--space-l);

/* Layout */
display: grid;
gap: var(--cep-facility-gap);
align-items: center;

@media (width >= 768px) {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

}
.cep-facility__content {
  /* Facility text column */
/* Layout */
display: grid;
align-content: center;
padding-block: var(--space-s);

}
.cep-facility__title {
  margin-block-end: var(--space-s);
}
.cep-facility__text {
  /* Facility body */
/* Layout */
display: grid;
gap: var(--paragraph-spacing);

}
.cep-facility__media {
  /* Facility media */
/* Local tokens */
--cep-facility-media-ratio: var(--card-media-aspect-ratio, 16 / 9);

/* Layout */
aspect-ratio: var(--cep-facility-media-ratio);
max-block-size: 100%;
overflow: hidden;

& img,
& etch\:img {
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
  display: block;
}

@media (width >= 768px) {
  .cep-facility--reverse & {
    order: -1;
  }
}

}
.cep-facility--2 {
  /* Facility stack order */
  /* Local tokens */
  --cep-facility-z: 2;

}
.cep-facility__label-text--right {
  /* Facility label — trailing side */
margin-inline-start: auto;

}
.cep-facility--3 {
  /* Facility stack order */
  /* Local tokens */
  --cep-facility-z: 3;

}
.cep-facility--4 {
  /* Facility stack order */
  /* Local tokens */
  --cep-facility-z: 4;

}
.cep-gallery__title {
  /* Gallery title */
  /* Type */
  text-align: center;
  margin-block-end: var(--space-xs);
}
.cep-gallery__intro {
  /* Gallery intro */
/* Layout */
inline-size: 100%;
max-inline-size: none;
text-align: center;

/* Type */
margin-block: 0;
margin-block-end: var(--space-m);

}
.cep-testimonials {
  /* Testimonials section — barn photo, cover-flow quote cards */
/* Local tokens */
--cep-testimonials-overlay: color-mix(in oklch, var(--neutral) 55%, transparent);
--cep-testimonials-radius: 0;
--cep-testimonials-slide-radius: 1rem;

/* Layout */
position: relative;
min-block-size: 70dvh;
display: grid;
place-items: center;
padding-block: 0;
padding-inline: 0;
inline-size: 100%;
overflow: visible;
border-radius: var(--cep-testimonials-radius);

/* Type — one inherit for the dark photo */
color: var(--white);

.splide,
.splide__track,
.splide__list,
.splide__slide,
.slide-inner-wrap {
  inline-size: 100%;
  background-color: transparent;
  overflow: visible;
}

.slide-inner-wrap,
.splide__slide > * {
  display: grid;
  justify-items: center;
  justify-content: center;
  align-content: center;
  text-align: center;
  border-radius: var(--cep-testimonials-slide-radius);
  overflow: visible;
  aspect-ratio: auto;
}

}
.cep-testimonials__media {
  /* Testimonials media */
/* Layout */
position: absolute;
inset: 0;
border-radius: 0;

& img,
& etch\:img {
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
  border-radius: 0;
}

}
.cep-testimonials__overlay {
  /* Testimonials overlay */
/* Layout */
position: absolute;
inset: 0;

/* Color */
background: var(--cep-testimonials-overlay);
border-radius: 0;

}
.cep-testimonials__content {
  /* Testimonials content */
/* Layout */
position: relative;
z-index: 1;
display: grid;
gap: var(--space-s);
justify-items: center;
justify-content: center;
text-align: center;
padding-block: var(--section-space-l);
padding-inline: 0;
inline-size: 100%;
background-color: transparent;

}
.cep-testimonials__quote {
  /* Testimonial quote */
  /* Local tokens */
  --blockquote-border-width: 0;
  --blockquote-padding: 0;
  --blockquote-text-text-align: center;
  --blockquote-max-inline-size: min(var(--content-width-safe), 100%);
  --cep-quote-size: var(--text-m);
  --text-m-length: 75ch;
  --text-max-width: 75ch;

  /* Layout */
  display: grid;
  gap: var(--space-s);
  inline-size: min(100%, var(--blockquote-max-inline-size));
  max-inline-size: var(--blockquote-max-inline-size);
  margin-inline: auto;
  padding: 0;
  border: none;
  justify-self: center;
  text-align: center;
  background-color: transparent;
  font-size: var(--cep-quote-size);

  & p {
    --text-m-length: 75ch;
    --text-max-width: 75ch;
    margin: 0;
    text-align: center;
    max-inline-size: 75ch;
    background-color: transparent;
    font-size: var(--cep-quote-size);
  }

  @media (width < 48rem) {
    --blockquote-max-inline-size: 100%;
    --cep-quote-size: var(--text-s);
    --text-m-length: 100%;
    --text-max-width: 100%;
    inline-size: 100%;
    max-inline-size: 100%;

    & p {
      --text-m-length: 100%;
      --text-max-width: 100%;
      max-inline-size: 100%;
      font-size: var(--cep-quote-size);
    }
  }
}
.cep-testimonials__avatar {
  /* Testimonial avatar */
justify-self: center;

& img,
& etch\:img {
  inline-size: var(--width-10);
  block-size: var(--width-10);
  border-radius: 50%;
  object-fit: cover;
}

}
.cep-testimonials__author {
  /* Testimonial name */
/* Layout */
justify-self: center;
inline-size: fit-content;
max-inline-size: 100%;
margin: 0;
margin-inline: auto;
text-align: center;
font-size: var(--text-s);
background-color: transparent;

}
.cep-contact {
  /* Contact — form + details */
  /* Local tokens */
  /* --cep-contact-bg: color-mix(in oklch, var(--neutral) 8%, var(--white)); */

  /* Color */
  background-color: var(--cep-contact-bg);
}
.cep-contact__grid {
  /* Contact columns */
/* Layout */
display: grid;
gap: var(--space-l);
align-items: start;

@media (width >= 768px) {
  /* Local tokens */
  --cep-contact-col: minmax(0, 1fr);

  /* Layout */
  grid-template-columns: var(--cep-contact-col) var(--cep-contact-col);
}

}
.cep-contact__form-wrap {
  /* Contact form wrap */
/* Layout */
display: grid;
gap: var(--space-s);
min-inline-size: 0;

}
.email-link {
  display: inline-flex;
  align-items: center;
  gap: var(--space-s, 0.5rem);
  inline-size: max-content;
  max-inline-size: fit-content;
  text-decoration: none;
  color: inherit;
  padding: calc(var(--space-xs) / 1.5);
  border-radius: var(--radius);
  transition-property: all;
  transition-duration: var(--transition-duration);
  transition-timing-function: var(--transition-timing);

  &:hover .spg-footer__email-text,
  &:focus-visible .spg-footer__email-text {
    color: var(--primary, #7dff7d);
  }
}
.primary-icon {
  inline-size: 2.75rem;
  block-size: 2.75rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 0.625rem;
  background: color-mix(in oklch, var(--primary, #000) 80%, white 20%);
  border: var(--border-dark, 1px solid color-mix(in oklch, white 12%, transparent));
  color: var(--base, #7dff7d);
  box-shadow: 0 0.25rem 0.625rem rgba(0, 0, 0, 0.35);
  text-decoration: none;
  transition:
    color 0.2s ease,
    background-color 0.2s ease,
    border-color 0.2s ease;

  &:hover,
  &:focus-visible {
    color: var(--white, #fff);
    background: color-mix(in oklch, var(--black, #000) 65%, white 35%);
    border-color: color-mix(in oklch, var(--primary, #7dff7d) 35%, transparent);
  }
}
.spg-footer__social-icon {
  inline-size: 1.25rem;
  block-size: 1.25rem;
  display: block;
}
.spg-footer__email-text {
  font-size: var(--text-m, 0.875rem);
  font-weight: 600;
  transition: color 0.2s ease;
}
.cep-contact__form {
  /* Contact form */
  /* Layout */
  display: none;
  gap: var(--space-s);

  & .btn--primary {
    inline-size: 100%;
  }
}
.cep-contact__field {
  /* Contact field */
/* Layout */
display: grid;
gap: calc(var(--space-xs) / 2);

}
.cep-contact__label {
  /* Contact label */
/* Type */
font-size: var(--text-s);

}
.cep-contact__input {
  /* Contact input */
inline-size: 100%;
padding-block: var(--space-xs);
padding-inline: var(--space-xs);
border: var(--border-size) solid var(--primary);
border-radius: 0;
font-family: var(--text-font-family);
font-size: var(--text-m);
background-color: var(--white);

}
.cep-contact__textarea {
  /* Contact textarea */
  inline-size: 100%;
  padding-block: var(--space-xs);
  padding-inline: var(--space-xs);
  border: var(--border-size) solid var(--primary);
  border-radius: 0;
  font-family: var(--text-font-family);
  font-size: var(--text-m);
  background-color: var(--white);
  min-block-size: calc(var(--space-xl) * 3);
}
.cep-contact__details {
  /* Contact details stack */
/* Layout */
display: grid;
gap: var(--space-m);
align-content: start;

}
.cep-contact__detail {
  /* Contact detail block */
/* Layout */
display: grid;
gap: calc(var(--space-xs) / 1.5);

& h3 {
  font-size: calc(var(--h4) / 1.25);
  margin: 0;
}

& p {
  margin: 0;
}

}
.cep-contact__icon {
  /* Contact icon */
/* Local tokens */
--cep-contact-icon-size: var(--space-s);

/* Layout */
inline-size: var(--cep-contact-icon-size);
block-size: var(--cep-contact-icon-size);
object-fit: contain;
display: block;

& img,
& etch\:img {
  inline-size: var(--cep-contact-icon-size);
  block-size: var(--cep-contact-icon-size);
  object-fit: contain;
  display: block;
}

.cep-contact__directions & {
  --cep-contact-icon-size: var(--space-s);
}

}
.cep-contact__directions {
  /* Contact directions link */
/* Local tokens */
--cep-contact-directions-size: var(--text-m);

/* Layout */
display: inline-flex;
align-items: center;
gap: var(--space-xs);
margin-block-start: var(--space-xs);

/* Type */
font-size: var(--cep-contact-directions-size);

}
.cep-link {
  /* Text link */
/* Local tokens */
--cep-link-color: var(--primary);
--cep-link-color-hover: var(--primary-hover);

/* Type */
color: var(--cep-link-color);
font-size: var(--text-s);
text-decoration: none;

&:hover {
  color: var(--cep-link-color-hover);
}

}
.cep-gallery__slider {
  /* Gallery lightbox wrapper */
/* Local tokens */
--cep-gallery-slider-width: 100%;

/* Layout */
inline-size: var(--cep-gallery-slider-width);

}
.cep-gallery-slider {
  /* Gallery lightbox chrome — bento grid + overlay */
/* Local tokens */
--cep-gallery-gap: var(--space-xs);
--cep-gallery-row-min: 12rem;
--cep-gallery-row: minmax(var(--cep-gallery-row-min), 22dvh);
--lightbox-bg: color-mix(in oklch, var(--neutral) 82%, transparent);
--lightbox-clr: var(--white);
--lightbox-arrow-bg: color-mix(in oklch, var(--white) 12%, transparent);
--lightbox-arrow-hover-bg: color-mix(in oklch, var(--primary) 35%, transparent);
--lightbox-img-height: 90vh;
--lightbox-padding: var(--space-m);

/* Layout */
inline-size: 100%;
visibility: visible !important;

& .splide__track,
& .splide__list {
  visibility: visible !important;
}

/* Edit mode never inits Splide, so list height:100% and track overflow
   would clip the bento to nothing. Size from the grid instead. */
& .splide__track {
  overflow: visible !important;
  block-size: auto;
}

& .splide__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-auto-rows: var(--cep-gallery-row);
  align-items: stretch;
  gap: var(--cep-gallery-gap);
  transform: none;
  height: auto;
  block-size: auto;
}

& .splide__slide {
  display: flex;
  min-block-size: var(--cep-gallery-row-min);
  block-size: 100%;
  overflow: hidden;
}

/* Beat plugin .splide[data-static-layout] .splide__slide > div { block-size: auto } */
&.splide[data-static-layout] .splide__slide > div,
& .splide__slide > div {
  flex: 1 1 auto;
  min-block-size: var(--cep-gallery-row-min) !important;
  block-size: 100% !important;
  inline-size: 100%;
}

@media (width >= 768px) {
  --cep-gallery-row-min: 14rem;
  --cep-gallery-row: minmax(var(--cep-gallery-row-min), 28dvh);

  & .splide__list {
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }

  & .splide__slide:nth-child(-n + 4) {
    grid-column: span 3;
  }

  & .splide__slide:nth-child(n + 5) {
    grid-column: span 4;
  }
}

}
.cep-gallery__slide {
  /* Gallery lightbox tile — fills the bento cell */
/* Local tokens */
--cep-gallery-tile-fit: cover;
--cep-gallery-tile-min: 12rem;

/* Layout */
position: relative;
overflow: hidden;
min-block-size: var(--cep-gallery-tile-min);
inline-size: 100%;
block-size: 100%;
cursor: pointer;

& img,
& etch\:img {
  position: absolute;
  inset: 0;
  inline-size: 100%;
  block-size: 100%;
  object-fit: var(--cep-gallery-tile-fit);
  display: block;
}

@media (width >= 768px) {
  --cep-gallery-tile-min: 14rem;
}

}
.cep-testimonials__slider {
  /* Testimonials slider wrapper — full width so neighbors peek */
  /* Local tokens */
  --slider-wrapper-bg: transparent;
  --cep-slider-max: 100%;
  --slide-radius: 1rem;

  /* Layout */
  inline-size: 100%;
  max-inline-size: none;
  margin-inline: auto;
  justify-self: center;
  background-color: transparent;
  overflow: visible;

  &.dwc-slider-wrapper {
    overflow: visible;
  }
}
.cep-testimonials-slider {
  /* Testimonials slider chrome — arrows/dots on barn photo */
  /* Local tokens */
  --slide-radius: 1rem;
  --arrow-opacity: 1;
  --arrow-clr: var(--white);
  --arrow-bg: color-mix(in oklch, var(--white) 12%, transparent);
  --arrow-border: 1px solid color-mix(in oklch, var(--white) 28%, transparent);
  --arrow-hover-bg: color-mix(in oklch, var(--primary) 35%, transparent);
  --arrow-hover-clr: var(--white);
  --arrow-hover-border-clr: var(--primary);
  --prev-arrow-left: var(--space-s);
  --next-arrow-right: var(--space-s);
  --dot-clr: color-mix(in oklch, var(--white) 40%, transparent);
  --dot-hover-clr: var(--white);
  --dot-clr-active: var(--white);
  --pagination-bg: color-mix(in oklch, var(--neutral) 35%, transparent);
  --pagination-inline-size: max-content;

  overflow: visible;

  & .splide__pagination {
    inline-size: var(--pagination-inline-size);
    margin-inline: auto;
  }

  @media (width < 48rem) {
    --arrow-width: 2.5rem;
    --arrow-icon-size: 1rem;
    --prev-arrow-left: var(--space-xs);
    --next-arrow-right: var(--space-xs);
  }
}
.cep-testimonials__slide {
  /* Testimonial card — quote + avatar + name */
  /* Local tokens */
  --cep-slide-gap: var(--space-s);
  --cep-slide-pad-end: var(--space-m);
  --cep-slide-pad-inline: var(--space-s);
  --slide-radius: 1rem;

  /* Layout */
  display: grid;
  gap: var(--cep-slide-gap);
  justify-items: center;
  justify-content: center;
  text-align: center;
  inline-size: 100%;
  margin-inline: auto;
  padding-block-end: var(--cep-slide-pad-end);
  padding-inline: var(--cep-slide-pad-inline);
  aspect-ratio: auto;
  background-color: transparent;

  @media (width < 48rem) {
    --cep-slide-pad-inline: calc(var(--arrow-width, 2.5rem) + var(--space-m));
    padding-inline: var(--cep-slide-pad-inline);
  }
}
.cep-not-found {
  /* Not found — full-bleed 404 panel */
  /* Local tokens */
  --cep-not-found-min: 100dvh;
  --cep-not-found-bg: var(--bg-ultra-dark);
  --cep-not-found-overlay: color-mix(in oklch, var(--neutral) 55%, transparent);

  /* Layout */
  position: relative;
  isolation: isolate;
  display: flex;
  overflow: clip;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  min-block-size: var(--cep-not-found-min);
  padding-block: 0;
  inline-size: 100%;

  /* Color */
  background-color: var(--cep-not-found-bg);
}
.cep-not-found__media {
  /* Not found photo */
  /* Layout */
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: clip;
  pointer-events: none;

  & img,
  & etch\:img {
    inline-size: 100%;
    block-size: 100%;
    object-fit: cover;
  }
}
.cep-not-found__overlay {
  /* Not found shade */
  /* Layout */
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;

  /* Color */
  background-color: var(--cep-not-found-overlay);
}
.cep-not-found__watermark {
  /* Not found ghost 404 */
  /* Local tokens */
  --cep-not-found-watermark-color: color-mix(in oklch, var(--white) 12%, transparent);
  --cep-not-found-watermark-size: clamp(8rem, 28vw, 20rem);

  /* Layout */
  position: absolute;
  inset: 0;
  z-index: 2;
  display: grid;
  place-items: center;
  margin: 0;
  pointer-events: none;
  user-select: none;

  /* Type */
  font-family: var(--heading-font-family);
  font-size: var(--cep-not-found-watermark-size);
  font-weight: 700;
  line-height: 0.75;
  color: var(--cep-not-found-watermark-color);
}
.cep-not-found__container {
  /* Not found content wrap */
  /* Layout */
  position: relative;
  z-index: 3;
  align-items: center;
}
.cep-not-found__content {
  /* Not found copy stack */
  /* Local tokens */
  --cep-not-found-content-gap: var(--content-gap);
  --cep-not-found-content-max: 42rem;

  /* Layout */
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--cep-not-found-content-gap);
  inline-size: min(var(--cep-not-found-content-max), 100%);
  max-inline-size: var(--cep-not-found-content-max);
  text-align: center;
}
.cep-not-found__label {
  /* Not found eyebrow */
  /* Local tokens */
  --cep-not-found-label-color: var(--text-light);

  /* Type */
  margin: 0;
  color: var(--cep-not-found-label-color);
  font-size: var(--text-s);
  text-transform: uppercase;
}
.cep-not-found__title {
  /* Not found headline */
  /* Local tokens */
  --cep-not-found-title-color: var(--text-light);

  /* Type */
  margin: 0;
  color: var(--cep-not-found-title-color);
}
.cep-not-found__text {
  /* Not found lede */
  /* Local tokens */
  --cep-not-found-text-color: var(--text-light-muted);

  /* Type */
  margin: 0;
  max-inline-size: var(--text-max-width);
  color: var(--cep-not-found-text-color);
}
.cep-not-found__actions {
  /* Not found buttons */
  /* Layout */
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--space-xs);
}