@font-face {
  font-family: "FORM+ Montserrat";
  src: url("../fonts/Montserrat-Variable.ttf") format("truetype");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

body.fpb-shell-active .fpb-brand,
body.fpb-shell-active .fpb-wordmark,
body.fpb-shell-active .fpb-drawer-wordmark {
  font-family: "FORM+ Montserrat", Montserrat, sans-serif !important;
  white-space: nowrap;
}

:root {
  --fpb-green: #3c916d;
  --fpb-green-dark: #317b5c;
  --fpb-radius: 28px;
  --fpb-frame-inset: clamp(12px, 1.1vmin, 18px);
  --fpb-desktop-bottom-safe: 0px;
  --fpb-shell-viewport-height: 100vh;
  --fpb-frame-radius: 22px;
  --fpb-frame-line: rgb(255 255 255 / 40%);
  --fpb-page-bg: #080b0a;
  --fpb-space: clamp(18px, 2.4vw, 36px);
  --fpb-control-size: 46px;
  --fpb-panel: rgb(8 12 11 / 46%);
  --fpb-drawer-panel: rgb(8 12 11 / 52%);
  --fpb-panel-strong: rgb(8 12 11 / 86%);
  --fpb-panel-soft: rgb(255 255 255 / 9%);
  --fpb-ink: #f7f8f7;
  --fpb-wordmark-ink: #fff;
  --fpb-wordmark-mist: radial-gradient(ellipse, rgb(5 9 7 / 18%) 0%, rgb(5 9 7 / 5%) 48%, transparent 74%);
  --fpb-muted: rgb(247 248 247 / 64%);
  --fpb-line: rgb(255 255 255 / 20%);
  --fpb-shadow: 0 28px 90px rgb(0 0 0 / 42%);
  --fpb-catalog-mist-primary: rgb(255 255 255 / 26%);
  --fpb-catalog-mist-secondary: rgb(177 193 185 / 18%);
  --fpb-catalog-mist-accent: rgb(60 145 109 / 15%);
  --fpb-ui-font: "Montserrat", "Avenir Next", Avenir, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

:root[data-fpb-theme="light"] {
  --fpb-page-bg: #cfcdca;
  --fpb-frame-line: rgb(43 43 41 / 24%);
  --fpb-panel: rgb(227 225 222 / 92%);
  --fpb-drawer-panel: rgb(216 214 211 / 96%);
  --fpb-panel-strong: #eeedea;
  --fpb-panel-soft: rgb(239 238 235 / 68%);
  --fpb-ink: #242523;
  --fpb-wordmark-ink: #242523;
  --fpb-muted: #585a56;
  --fpb-line: rgb(48 49 46 / 24%);
  --fpb-shadow: 0 20px 60px rgb(35 35 32 / 13%);
  --fpb-wordmark-mist: radial-gradient(ellipse, rgb(207 205 202 / 30%), transparent 74%);
  --fpb-catalog-mist-primary: rgb(255 255 255 / 12%);
  --fpb-catalog-mist-secondary: rgb(80 81 79 / 9%);
  --fpb-catalog-mist-accent: rgb(122 116 107 / 7%);
}

body.fpb-shell-active {
  --fpb-admin-bar-height: 0px;
  min-height: 100vh;
  margin: 0 !important;
  padding-bottom: 108px;
  background: var(--fpb-page-bg);
  color: var(--fpb-ink);
}

body.fpb-shell-active.admin-bar {
  --fpb-admin-bar-height: 32px;
}

body.fpb-shell-active.fpb-home-context {
  --fpb-home-viewport-height: var(--fpb-shell-viewport-height);
  padding-bottom: 0;
}

body.fpb-shell-active.fpb-product-context {
  padding-bottom: 0;
  overscroll-behavior: none;
}

:root[data-fpb-theme="light"] body.fpb-shell-active {
  background: var(--fpb-page-bg);
}

.fpb-frame {
  box-sizing: border-box;
  position: fixed;
  z-index: 7900;
  top: var(--fpb-frame-inset);
  right: var(--fpb-frame-inset);
  bottom: calc(var(--fpb-frame-inset) + var(--fpb-desktop-bottom-safe));
  left: var(--fpb-frame-inset);
  border: 1px solid var(--fpb-frame-line);
  border-radius: var(--fpb-frame-radius);
  box-shadow: 0 0 0 100vmax var(--fpb-page-bg), inset 0 1px 0 rgb(255 255 255 / 12%);
  pointer-events: none;
}

.admin-bar .fpb-frame {
  top: calc(var(--fpb-admin-bar-height) + var(--fpb-frame-inset));
}

body.fpb-shell-active:not(.fpb-home-context):not(.fpb-archive-context) .fpb-framed-content {
  box-sizing: border-box;
  width: calc(100% - (2 * var(--fpb-frame-inset)));
  min-height: calc(var(--fpb-shell-viewport-height) - var(--fpb-admin-bar-height) - (2 * var(--fpb-frame-inset)) - var(--fpb-desktop-bottom-safe));
  margin: var(--fpb-frame-inset);
  overflow: clip;
  border-radius: var(--fpb-frame-radius);
  background: var(--fpb-page-bg);
}

body.fpb-drawer-open {
  overflow: hidden;
}

.fpb-shell-active .screen-reader-text {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.fpb-shell-active .screen-reader-text:focus {
  position: fixed !important;
  z-index: 100000 !important;
  top: 12px !important;
  left: 12px !important;
  width: auto !important;
  height: auto !important;
  padding: 12px 18px !important;
  margin: 0 !important;
  overflow: visible !important;
  clip: auto !important;
  white-space: normal !important;
}

.fpb-shell-active .elementor-location-header,
.fpb-shell-active .elementor-location-footer {
  display: none !important;
}

.fpb-shell-active :focus-visible {
  outline: 2px solid currentColor !important;
  outline-offset: 3px !important;
}

:root[data-fpb-theme="light"] .fpb-shell-active :focus-visible {
  outline-color: #006f5f !important;
}

.fpb-skip-link {
  position: fixed;
  z-index: 100000;
  top: 10px;
  left: 50%;
  min-height: 44px;
  padding: 12px 18px;
  border-radius: 999px;
  background: #fff;
  color: #111;
  transform: translate(-50%, -150%);
  transition: transform 160ms ease;
}

.fpb-skip-link:focus {
  transform: translate(-50%, 0);
}

.fpb-shell-controls {
  position: fixed;
  z-index: 8000;
  top: max(calc(var(--fpb-frame-inset) + 15px), env(safe-area-inset-top));
  right: calc(var(--fpb-frame-inset) + 18px);
  left: calc(var(--fpb-frame-inset) + 18px);
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  pointer-events: none;
  font-family: var(--fpb-ui-font);
}

.admin-bar .fpb-shell-controls {
  top: calc(var(--fpb-admin-bar-height) + max(calc(var(--fpb-frame-inset) + 15px), env(safe-area-inset-top)));
}

.fpb-menu-trigger,
.fpb-theme-control,
.fpb-smart-dock {
  border: 1px solid var(--fpb-line);
  background: linear-gradient(145deg, rgb(255 255 255 / 9%), transparent 48%), var(--fpb-panel);
  color: var(--fpb-ink);
  box-shadow: var(--fpb-shadow);
  -webkit-backdrop-filter: blur(36px) saturate(150%);
  backdrop-filter: blur(36px) saturate(150%);
}

/* Isolate shell controls from late Elementor kit and theme button rules. */
body.fpb-shell-active .fpb-menu-trigger,
body.fpb-shell-active .fpb-theme-control,
body.fpb-shell-active .fpb-drawer-theme-control button,
body.fpb-shell-active .fpb-drawer-close,
body.fpb-shell-active .fpb-legal-navigation button,
body.fpb-shell-active .fpb-dock-menu,
body.fpb-shell-active .fpb-product-search button,
body.fpb-shell-active .fpb-project-dock-action,
body.fpb-shell-active .fpb-add-project-action,
body.fpb-shell-active .fpb-carousel-dots button,
body.fpb-shell-active .fpb-section-dots button {
  box-sizing: border-box !important;
  margin: 0 !important;
  appearance: none !important;
  font-family: var(--fpb-ui-font) !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  text-align: center !important;
  text-shadow: none !important;
  text-transform: none !important;
  white-space: nowrap !important;
}

.fpb-shell-active [hidden] {
  display: none !important;
}

.fpb-shell-active .fpb-menu-trigger {
  display: inline-flex !important;
  width: max-content !important;
  min-width: 0 !important;
  height: var(--fpb-control-size) !important;
  min-height: var(--fpb-control-size) !important;
  align-items: center;
  justify-content: center;
  gap: 10px;
  border: 1px solid var(--fpb-line) !important;
  border-radius: 999px !important;
  padding: 0 17px !important;
  background: linear-gradient(145deg, rgb(255 255 255 / 9%), transparent 48%), var(--fpb-panel) !important;
  color: var(--fpb-ink) !important;
  pointer-events: auto;
  cursor: pointer;
}

.fpb-shell-active .fpb-menu-trigger:hover {
  border-color: var(--fpb-line) !important;
  background: linear-gradient(145deg, rgb(255 255 255 / 9%), transparent 48%), var(--fpb-panel) !important;
  box-shadow: var(--fpb-shadow) !important;
}

.fpb-icon {
  display: grid;
  width: 18px;
  gap: 5px;
}

.fpb-icon span {
  display: block;
  height: 1px;
  background: currentColor;
}

body.fpb-shell-active .fpb-wordmark,
body.fpb-shell-active .fpb-wordmark:visited,
body.fpb-shell-active .fpb-wordmark:hover,
body.fpb-shell-active .fpb-wordmark:focus {
  position: relative;
  isolation: isolate;
  color: var(--fpb-wordmark-ink) !important;
  font-size: 19px;
  font-weight: 400;
  font-family: var(--fpb-ui-font);
  letter-spacing: -0.04em;
  text-decoration: none;
  pointer-events: auto;
}

body.fpb-shell-active .fpb-wordmark::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: -22px -48px;
  background: var(--fpb-wordmark-mist);
  filter: blur(12px);
  pointer-events: none;
}

.fpb-shell-active .fpb-theme-control {
  /* Elementor's button display rule must not disable icon centering. */
  display: grid !important;
  justify-self: end;
  aspect-ratio: 1 / 1;
  width: var(--fpb-control-size) !important;
  min-width: var(--fpb-control-size) !important;
  max-width: var(--fpb-control-size) !important;
  height: var(--fpb-control-size) !important;
  min-height: var(--fpb-control-size) !important;
  max-height: var(--fpb-control-size) !important;
  place-items: center;
  border: 1px solid var(--fpb-line) !important;
  border-radius: 50% !important;
  padding: 0 !important;
  background: linear-gradient(145deg, rgb(255 255 255 / 9%), transparent 48%), var(--fpb-panel) !important;
  color: var(--fpb-ink) !important;
  box-shadow: var(--fpb-shadow) !important;
  overflow: hidden;
  pointer-events: auto;
  cursor: pointer;
}

.fpb-theme-control:hover,
.fpb-theme-control:focus-visible {
  border-color: var(--fpb-line) !important;
  outline: 0;
}

.fpb-theme-icon {
  display: grid;
  width: 36px;
  height: 36px;
  place-items: center;
}

.fpb-theme-icon-light {
  display: none;
}

:root[data-fpb-theme="light"] .fpb-theme-icon-dark {
  display: none;
}

:root[data-fpb-theme="light"] .fpb-theme-icon-light {
  display: grid;
}

.fpb-theme-control svg,
.fpb-drawer-theme-control svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

.fpb-drawer-backdrop {
  position: fixed;
  z-index: 9000;
  inset: 0;
  border: 0;
  background: rgb(3 7 6 / 18%);
  opacity: 0;
  pointer-events: none;
  -webkit-backdrop-filter: blur(28px) saturate(120%);
  backdrop-filter: blur(28px) saturate(120%);
  transition: opacity 260ms ease;
}

body.fpb-shell-active .fpb-drawer-backdrop {
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
  background: rgb(3 7 6 / 18%) !important;
  box-shadow: none !important;
}

.fpb-drawer-backdrop.is-open {
  opacity: 1;
  pointer-events: auto;
}

.fpb-navigation-drawer {
  box-sizing: border-box;
  position: fixed;
  z-index: 9100;
  top: calc(var(--fpb-admin-bar-height) + var(--fpb-frame-inset));
  right: auto;
  bottom: calc(var(--fpb-frame-inset) + var(--fpb-desktop-bottom-safe));
  left: var(--fpb-frame-inset);
  display: flex;
  width: min(520px, calc(100vw - (2 * var(--fpb-frame-inset))));
  padding: clamp(22px, 4vw, 44px);
  flex-direction: column;
  overflow-y: auto;
  border: 1px solid var(--fpb-line);
  border-radius: 28px;
  background: linear-gradient(145deg, rgb(255 255 255 / 11%), transparent 48%), var(--fpb-drawer-panel);
  color: var(--fpb-ink);
  box-shadow: var(--fpb-shadow);
  opacity: 0;
  pointer-events: none;
  transform: translateX(calc(-100% - 32px));
  transition: transform 420ms cubic-bezier(0.22, 1, 0.36, 1), opacity 180ms ease;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  -webkit-backdrop-filter: blur(42px) saturate(150%);
  backdrop-filter: blur(42px) saturate(150%);
}

.fpb-navigation-drawer.is-open {
  opacity: 1;
  pointer-events: auto;
  transform: translateX(0);
}

body.fpb-shell-active .fpb-drawer-close {
  display: grid !important;
  width: 36px !important;
  min-width: 36px !important;
  height: 36px !important;
  min-height: 36px !important;
  place-items: center;
  align-self: flex-end;
  border: 0 !important;
  border-radius: 50% !important;
  padding: 0 !important;
  background: var(--fpb-panel-soft) !important;
  color: var(--fpb-ink) !important;
  box-shadow: none !important;
  cursor: pointer;
}

.fpb-drawer-close svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-width: 1.8;
}

.fpb-drawer-wordmark {
  margin: 18px 0 24px;
  font-size: 30px;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-weight: 400;
  letter-spacing: -0.04em;
}

.fpb-navigation-drawer ul {
  display: grid;
  margin: 0;
  padding: 0;
  gap: 2px;
  list-style: none;
}

.fpb-navigation-label {
  margin: 18px 0 6px;
  color: var(--fpb-muted);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.fpb-navigation-label:first-child {
  margin-top: 0;
}

.fpb-navigation-drawer > nav:not(.fpb-legal-navigation) a {
  display: flex;
  min-height: 40px;
  align-items: center;
  margin: 0;
  border-bottom: 1px solid var(--fpb-line);
  border-radius: 0;
  padding: 0;
  color: inherit;
  font-size: clamp(17px, 2.2vw, 22px);
  font-weight: 400;
  letter-spacing: -0.025em;
  text-decoration: none;
}

.fpb-navigation-drawer > nav:not(.fpb-legal-navigation) a:hover {
  background: transparent;
  color: var(--fpb-ink);
  padding-left: 8px;
}

.fpb-drawer-statement {
  margin: auto 0 12px;
  padding-top: 20px;
  color: var(--fpb-muted);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: clamp(34px, 5vw, 56px);
  font-weight: 400;
  letter-spacing: -0.055em;
  line-height: 0.82;
}

/* Move the label, keeping the link hit area, focus outline and current dot fixed. */
.fpb-navigation-drawer .fpb-drawer-link-label,
.fpb-navigation-drawer .formplus-workspace-nav a > span:first-child {
  display: inline-block;
  transform: translateX(0);
  transition: transform 200ms ease-out, opacity 200ms ease-out;
}
.fpb-navigation-drawer .fpb-drawer-link-label { opacity: .86; }
.fpb-navigation-drawer a:is(:focus-visible, [aria-current="page"]) > .fpb-drawer-link-label { opacity: 1; }
@media (hover: hover) and (pointer: fine) {
  .fpb-navigation-drawer a:hover > .fpb-drawer-link-label { opacity: 1; }
}
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .fpb-navigation-drawer a:hover > .fpb-drawer-link-label,
  .fpb-navigation-drawer .formplus-workspace-nav a:hover > span:first-child {
    transform: translateX(2px);
  }
}
@media (prefers-reduced-motion: reduce) {
  .fpb-navigation-drawer .fpb-drawer-link-label,
  .fpb-navigation-drawer .formplus-workspace-nav a > span:first-child {
    transition: none;
    transform: none;
  }
}

.fpb-drawer-statement span {
  display: block;
}

.fpb-language-switcher {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  gap: 4px;
  margin: 0 0 16px;
  border: 1px solid var(--fpb-line);
  border-radius: 999px;
  padding: 4px;
  background: var(--fpb-panel-soft);
}

.fpb-language-switcher a {
  display: grid;
  min-width: 42px;
  min-height: 32px;
  place-items: center;
  border-radius: 999px;
  color: var(--fpb-muted);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-decoration: none;
}

.fpb-language-switcher a:hover,
.fpb-language-switcher a:focus-visible {
  color: var(--fpb-ink);
  outline: 0;
}

.fpb-language-switcher a[aria-current="page"] {
  background: var(--fpb-ink);
  color: var(--fpb-page-bg);
}

.fpb-drawer-theme-control {
  display: grid;
  width: fit-content;
  gap: 8px;
  margin: 0 0 18px;
  color: var(--fpb-muted);
  font-family: var(--fpb-ui-font);
}

.fpb-drawer-theme-control p {
  margin: 0;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.fpb-drawer-theme-control > div {
  display: inline-flex;
  gap: 4px;
  border: 1px solid var(--fpb-line);
  border-radius: 999px;
  padding: 4px;
  background: var(--fpb-panel-soft);
}

body.fpb-shell-active .fpb-drawer-theme-control button {
  min-width: 62px !important;
  min-height: 32px !important;
  border: 0 !important;
  border-radius: 999px !important;
  padding: 0 12px !important;
  background: transparent !important;
  color: var(--fpb-muted) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.08em !important;
  box-shadow: none !important;
  cursor: pointer;
}

body.fpb-shell-active .fpb-drawer-theme-control button:hover,
body.fpb-shell-active .fpb-drawer-theme-control button:focus-visible {
  color: var(--fpb-ink) !important;
  outline: 0;
}

body.fpb-shell-active .fpb-drawer-theme-control button[aria-pressed="true"] {
  background: var(--fpb-ink) !important;
  color: var(--fpb-page-bg) !important;
}

.fpb-legal-navigation {
  display: grid;
  width: 100%;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid var(--fpb-line);
  gap: 0;
}

.fpb-legal-navigation .fpb-exit-preview {
  width: 100%;
  margin: 0;
}

.fpb-legal-navigation a,
.fpb-legal-navigation button {
  box-sizing: border-box;
  display: flex;
  width: 100%;
  min-height: 40px;
  align-items: center;
  justify-content: flex-start;
  margin: 0;
  border: 0;
  border-bottom: 1px solid var(--fpb-line);
  border-radius: 0 !important;
  padding: 0;
  background: transparent;
  color: var(--fpb-muted);
  font-family: var(--fpb-ui-font);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.02em;
  text-align: left;
  text-decoration: none;
  cursor: pointer;
}

.fpb-legal-navigation > :nth-child(even) {
  border-left: 1px solid var(--fpb-line);
}

.fpb-legal-navigation > :nth-child(even) :is(button, a),
.fpb-legal-navigation > a:nth-child(even) {
  padding-left: 14px;
}

.fpb-legal-navigation a:hover,
.fpb-legal-navigation button:hover {
  background: transparent !important;
  color: var(--fpb-ink) !important;
  padding-left: 8px !important;
}

.fpb-legal-navigation button[hidden] {
  display: none;
}

.fpb-dock-region {
  position: fixed;
  z-index: 8200;
  bottom: calc(var(--fpb-frame-inset) + var(--fpb-desktop-bottom-safe) + 16px);
  left: 50%;
  width: min(650px, calc(100vw - 32px));
  transform: translateX(-50%);
  font-family: var(--fpb-ui-font);
}

.fpb-dock-region.is-product {
  width: min(1280px, calc(100vw - 32px));
}

.fpb-dock-region.is-project {
  width: min(1080px, calc(100vw - 32px));
}

.fpb-dock-region.is-project-detail {
  width: min(1240px, calc(100vw - 32px));
}

.fpb-smart-dock {
  position: relative;
  z-index: 2;
  display: flex;
  width: 100%;
  min-height: 62px;
  align-items: center;
  gap: 8px;
  border-radius: 32px;
  padding: 7px;
  font-family: var(--fpb-ui-font);
}

.fpb-smart-dock.is-product {
  width: 100%;
}

.fpb-smart-dock.is-project {
  width: 100%;
}

.fpb-shell-active .fpb-dock-menu {
  display: grid !important;
  width: 48px !important;
  min-width: 48px !important;
  height: 48px !important;
  min-height: 48px !important;
  place-items: center;
  border: 0 !important;
  border-radius: 50% !important;
  padding: 0 !important;
  background: var(--fpb-panel-soft) !important;
  color: var(--fpb-ink) !important;
  box-shadow: none !important;
  cursor: pointer;
}

.fpb-shell-active .fpb-dock-menu:hover,
.fpb-shell-active .fpb-dock-menu[aria-expanded="true"] {
  border-color: transparent !important;
  background: var(--fpb-panel-soft) !important;
}

.fpb-dock-menu svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-width: 1.8;
}

.fpb-dock-menu-icon {
  position: relative;
  display: block;
  width: 20px;
  height: 20px;
}

.fpb-dock-menu-icon svg {
  position: absolute;
  inset: 0;
}

.fpb-dock-menu-plus-icon {
  animation: fpb-dock-menu-plus-cycle 18s ease-in-out infinite;
}

.fpb-dock-menu-account-icon {
  opacity: 0;
  transform: scale(0.82);
  animation: fpb-dock-menu-account-cycle 18s ease-in-out infinite;
}

.fpb-dock-menu[aria-expanded="true"] .fpb-dock-menu-plus-icon {
  opacity: 0;
  transform: scale(0.82);
  animation: none;
}

.fpb-dock-menu[aria-expanded="true"] .fpb-dock-menu-account-icon {
  opacity: 1;
  transform: scale(1);
  animation: none;
}

@keyframes fpb-dock-menu-plus-cycle {
  0%,
  44.444% {
    opacity: 1;
    transform: scale(1);
  }

  50%,
  94.444% {
    opacity: 0;
    transform: scale(0.82);
  }

  100% {
    opacity: 1;
    transform: scale(1);
  }
}

@keyframes fpb-dock-menu-account-cycle {
  0%,
  44.444% {
    opacity: 0;
    transform: scale(0.82);
  }

  50%,
  94.444% {
    opacity: 1;
    transform: scale(1);
  }

  100% {
    opacity: 0;
    transform: scale(0.82);
  }
}

.fpb-quick-menu,
.fpb-search-results {
  position: absolute;
  z-index: 1;
  bottom: calc(100% + 12px);
  overflow: hidden;
  border: 1px solid var(--fpb-line);
  border-radius: 24px;
  background: var(--fpb-panel-strong);
  color: var(--fpb-ink);
  box-shadow: var(--fpb-shadow);
  -webkit-backdrop-filter: blur(36px) saturate(150%);
  backdrop-filter: blur(36px) saturate(150%);
}

.fpb-quick-menu {
  left: 0;
  width: min(320px, calc(100vw - 32px));
  max-height: min(560px, calc(100vh - var(--fpb-admin-bar-height) - 130px));
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 10px;
}

.fpb-quick-menu-account {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 12px;
  margin: 0 4px 6px;
  border-bottom: 1px solid var(--fpb-line);
  padding: 7px 8px 14px;
}

.fpb-quick-menu-account-icon {
  display: grid;
  width: 40px;
  min-width: 40px;
  height: 40px;
  place-items: center;
  border-radius: 50%;
  background: var(--fpb-ink);
  color: var(--fpb-page-bg);
}

.fpb-quick-menu-account-icon svg {
  width: 25px;
  height: 25px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-width: 1.65;
}

.fpb-quick-menu-account-copy {
  display: grid;
  min-width: 0;
  gap: 2px;
}

.fpb-quick-menu-account-copy strong,
.fpb-quick-menu-account-copy small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.fpb-quick-menu-account-copy strong {
  color: var(--fpb-ink);
  font-size: 14px;
  font-weight: 600;
}

.fpb-quick-menu-account-copy small {
  color: var(--fpb-muted);
  font-size: 11px;
  letter-spacing: 0.04em;
}

.fpb-quick-menu nav {
  display: grid;
}

.fpb-quick-menu a {
  display: flex;
  min-height: 52px;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  border-radius: 15px;
  padding: 0 14px;
  color: var(--fpb-ink);
  font-size: 14px;
  text-decoration: none;
}

.fpb-quick-menu a:hover {
  background: var(--fpb-panel-soft);
  color: var(--fpb-ink);
}

.fpb-search-results {
  right: 0;
  width: min(690px, 100%);
  max-height: min(560px, calc(100vh - 160px));
  overflow-y: auto;
  padding: 12px;
}

.fpb-search-results-title {
  margin: 4px 8px 10px;
  color: var(--fpb-muted);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.fpb-search-results ul {
  display: grid;
  margin: 0;
  padding: 0;
  gap: 4px;
  list-style: none;
}

.fpb-search-results li {
  margin: 0;
  padding: 0;
}

.fpb-search-results [role="option"] {
  display: grid;
  min-height: 84px;
  grid-template-columns: 64px minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
  border-radius: 17px;
  padding: 8px;
  color: var(--fpb-ink);
  text-decoration: none;
}

.fpb-search-results [role="option"]:hover,
.fpb-search-results [role="option"].is-active {
  background: var(--fpb-panel-soft);
  color: var(--fpb-ink);
}

.fpb-search-results img {
  width: 64px;
  height: 64px;
  border-radius: 13px;
  object-fit: cover;
  background: rgba(127, 127, 127, 0.14);
}

.fpb-search-result-content {
  display: grid;
  min-width: 0;
  gap: 5px;
}

.fpb-search-result-name {
  overflow: hidden;
  font-size: 14px;
  font-weight: 500;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.fpb-search-result-details,
.fpb-search-result-price {
  color: var(--fpb-muted);
  font-size: 11px;
}

.fpb-search-result-price {
  padding-right: 8px;
  white-space: nowrap;
}

.fpb-search-empty {
  margin: 0;
  padding: 28px 12px;
  color: var(--fpb-muted);
  font-size: 13px;
  text-align: center;
}

.fpb-search-all {
  display: flex;
  min-height: 48px;
  align-items: center;
  justify-content: space-between;
  margin-top: 8px;
  border-top: 1px solid var(--fpb-line);
  padding: 8px 10px 0;
  color: var(--fpb-ink);
  font-size: 13px;
  text-decoration: none;
}

.fpb-product-search {
  display: flex;
  min-width: 0;
  flex: 1 1 auto;
  align-items: center;
  min-height: 48px;
  gap: 10px;
  padding: 0 15px;
}

.fpb-search-icon {
  color: var(--fpb-muted);
  display: grid;
  width: 18px;
  min-width: 18px;
  place-items: center;
}

.fpb-search-icon svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-width: 2;
}

.fpb-shell-active .fpb-product-search input {
  min-width: 0;
  min-height: 48px;
  flex: 1 1 auto;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  color: var(--fpb-ink) !important;
  font-family: var(--fpb-ui-font) !important;
  font-size: 14px !important;
  box-shadow: none !important;
}

.fpb-shell-active .fpb-product-search input:focus,
.fpb-shell-active .fpb-product-search input:focus-visible {
  outline: 0 !important;
  box-shadow: none !important;
}

.fpb-product-search input::placeholder {
  color: var(--fpb-muted);
}

.fpb-variation-control {
  position: relative;
  display: flex;
  width: min(220px, 18vw);
  min-width: 150px;
  height: 40px;
  flex: 0 1 220px;
  align-items: center;
}

body.fpb-shell-active .fpb-variation-control select {
  width: 100% !important;
  min-width: 0 !important;
  height: 40px !important;
  min-height: 40px !important;
  appearance: none !important;
  border: 1px solid var(--fpb-line) !important;
  border-radius: 999px !important;
  padding: 0 34px 0 15px !important;
  background: var(--fpb-panel-soft) !important;
  color: var(--fpb-ink) !important;
  font-family: var(--fpb-ui-font) !important;
  font-size: 9px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  text-overflow: ellipsis;
  box-shadow: none !important;
  cursor: pointer;
}

.fpb-variation-control svg {
  position: absolute;
  right: 12px;
  width: 14px;
  height: 14px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
  pointer-events: none;
}

body.fpb-shell-active .fpb-product-action {
  display: inline-flex !important;
  height: 40px !important;
  min-height: 40px !important;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--fpb-line) !important;
  border-radius: 999px !important;
  padding: 0 15px !important;
  background: var(--fpb-panel-soft) !important;
  color: var(--fpb-ink) !important;
  font-size: 9px !important;
  font-family: var(--fpb-ui-font) !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  white-space: nowrap;
  box-shadow: none !important;
  cursor: pointer;
}

body.fpb-shell-active .fpb-product-action:hover {
  border-color: var(--fpb-line) !important;
  background: var(--fpb-panel-soft) !important;
  color: var(--fpb-ink) !important;
  box-shadow: none !important;
}

body.fpb-shell-active .fpb-add-project-action {
  border-color: transparent !important;
  background: var(--fpb-green) !important;
  color: #fff !important;
}

body.fpb-shell-active .fpb-add-project-action:hover:not(:disabled) {
  border-color: transparent !important;
  background: var(--fpb-green-dark) !important;
  color: #fff !important;
}

body.fpb-shell-active .fpb-add-project-action.is-added {
  border-color: transparent !important;
  background: #e8f6f2 !important;
  color: #075d50 !important;
}

body.fpb-shell-active .fpb-add-project-action:disabled {
  cursor: not-allowed;
  opacity: 0.62;
}

body.fpb-shell-active .fpb-product-action[hidden],
body.fpb-shell-active .fpb-variation-control[hidden] {
  display: none !important;
}

body.fpb-project-context {
  --fpb-project-sheet: transparent;
  --fpb-project-sheet-strong: rgb(255 255 255 / 7%);
  --fpb-project-row: transparent;
  --fpb-project-row-alt: rgb(255 255 255 / 4%);
  --fpb-project-field: rgb(255 255 255 / 11%);
  --fpb-project-control-ink: var(--fpb-ink);
  --fpb-project-danger: rgb(255 255 255 / 12%);
}

:root[data-fpb-theme="light"] body.fpb-project-context {
  --fpb-project-sheet: transparent;
  --fpb-project-sheet-strong: rgb(235 233 230 / 90%);
  --fpb-project-row: transparent;
  --fpb-project-row-alt: rgb(48 49 46 / 5%);
  --fpb-project-field: #efeeeb;
  --fpb-project-control-ink: #242523;
  --fpb-project-danger: rgba(23, 27, 25, 0.08);
}

body.fpb-shell-active.fpb-project-context {
  padding-bottom: 128px;
}

body.fpb-project-context .fpb-framed-content {
  background:
    radial-gradient(circle at 86% 12%, rgb(60 145 109 / 13%), transparent 34%),
    radial-gradient(circle at 12% 88%, rgb(255 255 255 / 7%), transparent 28%),
    var(--fpb-page-bg);
  color: var(--fpb-ink);
  font-family: var(--fpb-ui-font);
}

:root[data-fpb-theme="light"] body.fpb-project-context .fpb-framed-content {
  background:
    radial-gradient(ellipse at 15% 10%, rgb(246 245 242 / 22%), transparent 55%),
    var(--fpb-page-bg);
}

body.fpb-project-context :is(#yith-wcwl-form, .woocommerce.yith-wcwl-form, .yith-wcwl-form) {
  box-sizing: border-box;
  width: min(1480px, calc(100% - clamp(32px, 7vw, 132px))) !important;
  margin-right: auto !important;
  margin-bottom: 138px !important;
  margin-left: auto !important;
  color: var(--fpb-ink) !important;
  font-family: var(--fpb-ui-font) !important;
}

body.fpb-project-context :is(.wishlist-title, .wishlist-title-container, .wishlist_table, .wishlist_manage_table, .wishlist-page-links, .yith_wcwl_wishlist_footer) {
  font-family: var(--fpb-ui-font) !important;
}

body.fpb-project-context :is(.wishlist-title h2, .wishlist-title-container h2, .wishlist-title-container h1, .entry-title, .page-title) {
  color: var(--fpb-ink) !important;
  font-family: var(--fpb-ui-font) !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
}

body.fpb-project-context :is(table.shop_table, .wishlist_table, .wishlist_manage_table) {
  width: 100% !important;
  overflow: hidden;
  border: 1px solid var(--fpb-line) !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  border-radius: 8px !important;
  background: var(--fpb-project-sheet) !important;
  color: var(--fpb-ink) !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}

:root[data-fpb-theme="light"] body.fpb-project-context :is(table.shop_table, .wishlist_table, .wishlist_manage_table) {
  box-shadow: none !important;
}

body.fpb-project-context :is(table.shop_table, .wishlist_table, .wishlist_manage_table) :is(th, td) {
  border-top: 0 !important;
  border-right: 0 !important;
  border-bottom: 1px solid var(--fpb-line) !important;
  border-left: 0 !important;
  color: var(--fpb-ink) !important;
  font-family: var(--fpb-ui-font) !important;
  vertical-align: middle !important;
}

body.fpb-project-context :is(table.shop_table, .wishlist_table, .wishlist_manage_table) th {
  background: var(--fpb-project-sheet-strong) !important;
  color: var(--fpb-ink) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}

body.fpb-project-context :is(table.shop_table, .wishlist_table, .wishlist_manage_table) td {
  background: var(--fpb-project-row) !important;
  color: var(--fpb-muted) !important;
  font-size: 14px !important;
}

body.fpb-project-context :is(table.shop_table, .wishlist_table, .wishlist_manage_table) tbody tr:nth-child(even) td {
  background: var(--fpb-project-row-alt) !important;
}

body.fpb-project-context :is(table.shop_table, .wishlist_table, .wishlist_manage_table) tbody tr:hover td {
  background: rgb(60 145 109 / 16%) !important;
}

body.fpb-project-context :is(.wishlist_table, .wishlist_manage_table, table.shop_table) a:not(.button) {
  color: rgb(105 207 176) !important;
  font-weight: 500;
  text-decoration: none !important;
}

:root[data-fpb-theme="light"] body.fpb-project-context :is(.wishlist_table, .wishlist_manage_table, table.shop_table) a:not(.button) {
  color: var(--fpb-green-dark) !important;
}

body.fpb-project-context :is(.wishlist_table, .wishlist_manage_table, table.shop_table) a:not(.button):hover {
  color: var(--fpb-green) !important;
  text-decoration: underline !important;
  text-underline-offset: 0.18em;
}

body.fpb-project-context :is(#yith-wcwl-form, .woocommerce.yith-wcwl-form, .yith-wcwl-form) :is(select, input[type="text"], input[type="search"], input[type="number"], input[type="email"], textarea) {
  min-height: 40px;
  border: 1px solid var(--fpb-line) !important;
  border-radius: 10px !important;
  background: var(--fpb-project-field) !important;
  color: var(--fpb-project-control-ink) !important;
  font-family: var(--fpb-ui-font) !important;
  box-shadow: none !important;
}

body.fpb-project-context :is(#yith-wcwl-form, .woocommerce.yith-wcwl-form, .yith-wcwl-form) :is(select, input, textarea):focus {
  border-color: rgb(60 145 109 / 64%) !important;
  outline: 0 !important;
  box-shadow: 0 0 0 3px rgb(60 145 109 / 18%) !important;
}

body.fpb-project-context :is(#yith-wcwl-form, .woocommerce.yith-wcwl-form, .yith-wcwl-form) :is(.button, button, input[type="submit"], .wishlist-submit, .delete_item, .remove_from_wishlist) {
  border: 1px solid var(--fpb-line) !important;
  border-radius: 10px !important;
  background: var(--fpb-project-danger) !important;
  color: var(--fpb-ink) !important;
  font-family: var(--fpb-ui-font) !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  text-transform: none !important;
  box-shadow: none !important;
}

body.fpb-project-context :is(#yith-wcwl-form, .woocommerce.yith-wcwl-form, .yith-wcwl-form) :is(.button, button, input[type="submit"], .wishlist-submit):hover {
  border-color: transparent !important;
  background: var(--fpb-green) !important;
  color: #fff !important;
}

body.fpb-project-context :is(.wishlist-page-links, .yith_wcwl_wishlist_footer) {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin: 24px 0 !important;
  color: var(--fpb-muted) !important;
}

body.fpb-project-context :is(.wishlist-page-links a, .yith_wcwl_wishlist_footer a) {
  display: inline-flex;
  min-height: 38px;
  align-items: center;
  border: 1px solid var(--fpb-line);
  border-radius: 999px;
  padding: 0 14px;
  background: var(--fpb-project-field);
  color: var(--fpb-ink) !important;
  text-decoration: none !important;
}

body.fpb-project-context :is(.wishlist-page-links a.active, .wishlist-page-links a:hover, .yith_wcwl_wishlist_footer a:hover) {
  border-color: transparent;
  background: var(--fpb-green);
  color: #fff !important;
}

body.fpb-project-detail-context .fpb-project-source-action {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
}

body.fpb-project-context tr.fpb-project-search-hidden {
  display: none !important;
}

.fpb-smart-dock.is-project .fpb-project-search {
  flex: 1 1 auto;
}

.fpb-project-dock-actions {
  display: flex;
  min-width: 0;
  flex: 0 0 auto;
  align-items: center;
  gap: 6px;
}

body.fpb-shell-active .fpb-project-dock-action {
  display: inline-flex !important;
  min-width: 0 !important;
  min-height: 40px !important;
  flex: 0 0 auto !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid var(--fpb-line) !important;
  border-radius: 999px !important;
  padding: 0 14px !important;
  background: var(--fpb-panel-soft) !important;
  color: var(--fpb-ink) !important;
  font-family: var(--fpb-ui-font) !important;
  font-size: 9px !important;
  font-weight: 700 !important;
  line-height: 1.15 !important;
  text-align: center !important;
  text-decoration: none !important;
  text-transform: none !important;
  white-space: nowrap !important;
  box-shadow: none !important;
  cursor: pointer;
}

body.fpb-shell-active .fpb-project-dock-action:hover,
body.fpb-shell-active .fpb-project-dock-action:focus-visible {
  border-color: var(--fpb-line) !important;
  background: var(--fpb-panel-soft) !important;
  color: var(--fpb-ink) !important;
  outline: 0;
  box-shadow: 0 0 0 3px rgb(60 145 109 / 20%) !important;
}

body.fpb-shell-active .fpb-project-dock-action.is-primary {
  border-color: transparent !important;
  background: var(--fpb-green) !important;
  color: #fff !important;
}

body.fpb-shell-active .fpb-project-dock-action.is-primary:hover,
body.fpb-shell-active .fpb-project-dock-action.is-primary:focus-visible {
  border-color: transparent !important;
  background: var(--fpb-green-dark) !important;
  color: #fff !important;
}

body.fpb-shell-active .fpb-project-dock-action.is-current:not(.is-primary) {
  background: var(--fpb-panel-soft) !important;
  color: var(--fpb-ink) !important;
}

body.fpb-shell-active .fpb-project-dock-action.is-admin {
  flex: 0 1 auto !important;
  border-style: dashed !important;
  color: rgb(197 238 224) !important;
}

:root[data-fpb-theme="light"] body.fpb-shell-active .fpb-project-dock-action.is-admin {
  color: var(--fpb-green-dark) !important;
}

body.fpb-shell-active .fpb-project-dock-action:disabled,
body.fpb-shell-active .fpb-project-dock-action[aria-disabled="true"] {
  cursor: not-allowed;
  opacity: 0.54;
}

body.fpb-product-context .fpb-product-layout-v2 {
  box-sizing: border-box;
  height: calc(var(--fpb-shell-viewport-height) - var(--fpb-admin-bar-height) - (2 * var(--fpb-frame-inset)) - var(--fpb-desktop-bottom-safe));
  min-height: 0 !important;
  padding: 0 0 124px !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  background: var(--fpb-page-bg) !important;
  color: var(--fpb-ink) !important;
  font-family: var(--fpb-ui-font) !important;
  overscroll-behavior-y: contain;
  scroll-padding: 0 0 120px;
  scroll-snap-type: y mandatory;
}

@supports (height: 100dvh) {
  body.fpb-product-context .fpb-product-layout-v2 {
    height: calc(var(--fpb-shell-viewport-height) - var(--fpb-admin-bar-height) - (2 * var(--fpb-frame-inset)) - var(--fpb-desktop-bottom-safe));
  }
}

body.fpb-product-context .fpb-product-layout-v2 .fpb-product-scroll-section {
  box-sizing: border-box;
  width: 100% !important;
  scroll-snap-align: start;
  scroll-snap-stop: always;
}

body.fpb-product-context .fpb-product-layout-v2 .fpb-product-hero-layout {
  box-sizing: border-box;
  display: grid !important;
  min-height: calc(100vh - var(--fpb-admin-bar-height) - 178px) !important;
  grid-template-columns: minmax(0, 1.35fr) minmax(340px, 0.65fr) !important;
  gap: clamp(12px, 1.4vw, 22px) !important;
  align-items: stretch !important;
  padding: clamp(92px, 9vw, 132px) clamp(18px, 3vw, 46px) clamp(112px, 12vw, 150px) !important;
  background: transparent !important;
  scroll-snap-align: start;
  scroll-snap-stop: always;
}

body.fpb-product-context .fpb-product-layout-v2 .fpb-product-gallery-surface,
body.fpb-product-context .fpb-product-layout-v2 .fpb-product-summary-surface,
body.fpb-product-context .fpb-product-layout-v2 .fpb-product-resource-surface,
body.fpb-product-context .fpb-product-layout-v2 .fpb-product-detail-surface {
  box-sizing: border-box;
  overflow: hidden;
  border: 1px solid var(--fpb-line) !important;
  border-radius: 22px !important;
  color: var(--fpb-ink) !important;
  box-shadow: none !important;
}

body.fpb-product-context .fpb-product-layout-v2 .fpb-product-gallery-surface {
  min-height: min(760px, calc(100vh - var(--fpb-admin-bar-height) - 178px)) !important;
  background: color-mix(in srgb, var(--fpb-page-bg) 72%, var(--fpb-ink) 9%) !important;
}

body.fpb-product-context .fpb-product-layout-v2 .fpb-product-gallery-surface :is(img, .woocommerce-product-gallery__image a) {
  object-fit: contain !important;
}

body.fpb-product-context .fpb-product-layout-v2 .fpb-product-summary-surface {
  display: flex !important;
  min-height: min(760px, calc(100vh - var(--fpb-admin-bar-height) - 178px)) !important;
  flex-direction: column !important;
  justify-content: center !important;
  padding: clamp(34px, 4.6vw, 76px) clamp(34px, 4.6vw, 76px) clamp(102px, 9vw, 132px) !important;
  background: color-mix(in srgb, var(--fpb-page-bg) 94%, var(--fpb-ink) 4%) !important;
}

.fpb-product-kicker {
  display: block;
  margin-bottom: 22px;
  color: var(--fpb-muted);
  font: 600 10px/1 var(--fpb-ui-font);
  letter-spacing: 0.18em;
}

body.fpb-product-context .fpb-product-layout-v2 .fpb-product-summary-surface :is(h1, .product_title) {
  width: 100%;
  max-width: 11ch;
  margin: 0 0 30px !important;
  color: var(--fpb-ink) !important;
  font-family: var(--fpb-ui-font) !important;
  font-size: clamp(38px, 3.3vw, 60px) !important;
  font-weight: 400 !important;
  letter-spacing: -0.065em !important;
  line-height: 0.9 !important;
  overflow-wrap: anywhere;
}

body.fpb-product-context .fpb-product-layout-v2 .fpb-product-summary-surface :is(p, .price, .amount, .sku_wrapper, .woocommerce-breadcrumb, .elementor-widget-container) {
  color: var(--fpb-muted) !important;
}

body.fpb-product-context .fpb-product-layout-v2 .fpb-product-summary-surface p {
  max-width: 48ch;
  font-size: clamp(14px, 1vw, 17px) !important;
  line-height: 1.62 !important;
}

body.fpb-product-context .fpb-product-layout-v2 .fpb-product-source-control {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
}

body.fpb-product-context .fpb-product-layout-v2 .fpb-product-resource-surface,
body.fpb-product-context .fpb-product-layout-v2 .fpb-product-detail-surface {
  --fpb-product-media: linear-gradient(var(--fpb-page-bg), var(--fpb-page-bg));
  position: relative;
  isolation: isolate;
  min-height: min(760px, calc(100vh - var(--fpb-admin-bar-height) - 92px)) !important;
  margin: 0 clamp(18px, 3vw, 46px) clamp(18px, 2vw, 30px) !important;
  padding: clamp(92px, 10vw, 160px) clamp(28px, 9vw, 156px) !important;
  background: color-mix(in srgb, var(--fpb-page-bg) 90%, var(--fpb-ink) 5%) !important;
  scroll-snap-align: center;
  scroll-snap-stop: always;
}

body.fpb-product-context .fpb-product-layout-v2 .fpb-product-detail-surface {
  background: color-mix(in srgb, var(--fpb-page-bg) 84%, var(--fpb-ink) 7%) !important;
}

body.fpb-product-context .fpb-product-layout-v2 .fpb-product-detail-surface .elementor-background-video-container {
  display: none !important;
}

body.fpb-product-context .fpb-product-layout-v2 .fpb-product-detail-surface::before {
  position: absolute;
  z-index: -2;
  inset: -8%;
  display: block !important;
  background: var(--fpb-product-media) center / cover no-repeat !important;
  filter: blur(38px) brightness(0.58) saturate(0.72);
  transform: scale(1.08);
  content: "";
}

body.fpb-product-context .fpb-product-layout-v2 .fpb-product-detail-surface::after {
  position: absolute;
  z-index: -1;
  inset: 0;
  background: color-mix(in srgb, var(--fpb-page-bg) 72%, transparent);
  content: "";
}

body.fpb-product-context .fpb-product-layout-v2 :is(.fpb-product-resource-surface, .fpb-product-detail-surface) :is(h1, h2, h3, h4, p, li, summary, label, .elementor-widget-container) {
  color: var(--fpb-ink) !important;
}

body.fpb-product-context .fpb-product-layout-v2 :is(.fpb-product-resource-surface, .fpb-product-detail-surface) :is(h2, h3) {
  max-width: 14ch;
  font-family: var(--fpb-ui-font) !important;
  font-size: clamp(40px, 5vw, 78px) !important;
  font-weight: 400 !important;
  letter-spacing: -0.055em !important;
  line-height: 0.94 !important;
}

body.fpb-product-context .fpb-product-layout-v2 .fpb-product-resource-surface :is(.e-n-accordion-item, .elementor-accordion-item) {
  border: 0 !important;
  border-bottom: 1px solid var(--fpb-line) !important;
  background: transparent !important;
}

body.fpb-product-context .fpb-product-layout-v2 .fpb-product-resource-surface :is(.e-n-accordion-item-title, .elementor-tab-title) {
  border: 0 !important;
  border-radius: 0 !important;
  padding: 22px 0 !important;
  background: transparent !important;
  color: var(--fpb-ink) !important;
}

@media (max-width: 900px) {
  body.fpb-product-context .fpb-product-layout-v2 {
    padding: 0 0 112px !important;
    scroll-snap-type: y proximity;
  }

  body.fpb-product-context .fpb-product-layout-v2 .fpb-product-hero-layout {
    grid-template-columns: 1fr !important;
    padding: 88px 12px 112px !important;
  }

  body.fpb-product-context .fpb-product-layout-v2 .fpb-product-gallery-surface {
    min-height: 58vh !important;
  }

  body.fpb-product-context .fpb-product-layout-v2 .fpb-product-summary-surface {
    min-height: auto !important;
    padding: 40px 24px 62px !important;
  }

  body.fpb-product-context .fpb-product-layout-v2 :is(.fpb-product-resource-surface, .fpb-product-detail-surface) {
    min-height: 72vh !important;
    margin-inline: 12px !important;
    padding: 96px 24px 120px !important;
  }
}

/* Authored beta product story. The original WooCommerce/Elementor product stays
   mounted in a clipped source layer so variation, tear-sheet, and YITH actions
   remain authoritative without leaking the legacy layout into the frame. */
body.fpb-product-context .fpb-product-layout-v3 {
  box-sizing: border-box;
  position: relative;
  height: calc(var(--fpb-shell-viewport-height) - var(--fpb-admin-bar-height) - (2 * var(--fpb-frame-inset)) - var(--fpb-desktop-bottom-safe));
  min-height: 0 !important;
  padding: 0 !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  background: var(--fpb-page-bg) !important;
  color: var(--fpb-ink) !important;
  font-family: var(--fpb-ui-font) !important;
  overscroll-behavior-y: contain;
  scroll-padding: 0;
  /* Let the browser complete each gesture once; no delayed JavaScript re-snap. */
  scroll-snap-type: y mandatory;
  scrollbar-width: none;
}

body.fpb-product-context .fpb-product-layout-v3::-webkit-scrollbar {
  display: none;
}

@supports (height: 100dvh) {
  body.fpb-product-context .fpb-product-layout-v3 {
    height: calc(var(--fpb-shell-viewport-height) - var(--fpb-admin-bar-height) - (2 * var(--fpb-frame-inset)) - var(--fpb-desktop-bottom-safe));
  }
}

body.fpb-product-context .fpb-product-source {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  border: 0 !important;
  opacity: 0 !important;
  pointer-events: none !important;
  white-space: nowrap !important;
}

body.fpb-product-context .fpb-product-story {
  width: 100%;
  height: 100%;
  min-height: 100%;
}

body.fpb-product-context .fpb-product-story-section {
  box-sizing: border-box;
  position: relative;
  isolation: isolate;
  width: 100%;
  height: 100%;
  min-height: 100%;
  padding: clamp(76px, 8vh, 98px) clamp(28px, 4.5vw, 78px) clamp(104px, 10vh, 126px);
  overflow-x: hidden;
  overflow-y: hidden;
  background: var(--fpb-page-bg);
  color: var(--fpb-ink);
  scroll-snap-align: start;
  scroll-snap-stop: always;
}

body.fpb-product-context .fpb-product-story-hero {
  display: block;
  height: 142%;
  min-height: 142%;
  padding: 0;
  overflow: visible;
  background: transparent;
  scroll-snap-stop: normal;
}

body.fpb-product-context .fpb-product-story-stage {
  position: sticky;
  isolation: isolate;
  z-index: 1;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  background:
    radial-gradient(circle at 50% 47%, color-mix(in srgb, var(--fpb-page-bg) 50%, white 28%) 0%, color-mix(in srgb, var(--fpb-page-bg) 78%, var(--fpb-ink) 8%) 43%, var(--fpb-page-bg) 78%);
}

body.fpb-product-context .fpb-product-story-media,
body.fpb-product-context .fpb-product-story-summary,
body.fpb-product-context .fpb-product-story-facts-panel {
  box-sizing: border-box;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
}

body.fpb-product-context .fpb-product-story-media {
  position: absolute;
  z-index: 1;
  inset: 0;
  display: grid;
  place-items: center;
  padding: clamp(76px, 9vh, 110px) clamp(34px, 5vw, 84px) clamp(112px, 12vh, 142px);
  border: 0;
  border-radius: 0;
  background:
    radial-gradient(circle at 50% 48%, rgb(255 255 255 / 18%), transparent 46%),
    linear-gradient(110deg, transparent 24%, rgb(255 255 255 / 3%) 58%, transparent 76%);
}

body.fpb-product-context .fpb-product-story-media img {
  display: block;
  width: min(70vw, 980px);
  height: min(72vh, 780px);
  object-fit: contain;
  filter: drop-shadow(0 34px 54px rgb(0 0 0 / 18%));
  transform: translateX(0) scale(1.035);
  transform-origin: center;
  transition: transform 1050ms cubic-bezier(0.22, 1, 0.36, 1) 280ms;
  will-change: transform;
}

body.fpb-product-context .fpb-product-story-media img.is-updating {
  opacity: 0.35;
  transform: translateX(clamp(-290px, -18vw, -190px)) scale(0.9) !important;
  transition: opacity 180ms ease, transform 220ms ease !important;
}

body.fpb-product-context .fpb-product-story-summary {
  position: absolute;
  z-index: 3;
  top: 50%;
  right: clamp(22px, 3vw, 52px);
  bottom: auto;
  left: auto;
  width: min(44vw, 740px);
  padding: clamp(32px, 3.4vw, 58px);
  border: 1px solid color-mix(in srgb, var(--fpb-line) 74%, transparent);
  border-radius: 24px;
  background: color-mix(in srgb, var(--fpb-page-bg) 61%, transparent);
  box-shadow: 0 34px 90px rgb(0 0 0 / 22%), inset 0 1px 0 rgb(255 255 255 / 10%);
  opacity: 0;
  transform: translate3d(calc(100% + 56px), -50%, 0);
  transition:
    transform 900ms cubic-bezier(0.22, 1, 0.36, 1) 620ms,
    opacity 520ms ease 620ms;
  backdrop-filter: blur(30px) saturate(1.15);
  -webkit-backdrop-filter: blur(30px) saturate(1.15);
  will-change: transform, opacity;
}

body.fpb-product-context .fpb-product-summary-track {
  min-height: 0;
  height: auto;
}

body.fpb-product-context .fpb-product-summary-pane {
  box-sizing: border-box;
  display: grid;
  min-height: 0;
  align-content: center;
  gap: clamp(20px, 2.5vh, 30px);
  max-height: none;
  overflow: visible;
  padding: 0;
}

body.fpb-product-context .fpb-product-summary-pane[hidden] {
  display: none;
}

body.fpb-product-context .fpb-product-story-breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  gap: 5px 8px;
  margin: 0;
  color: var(--fpb-muted);
  font-size: 10px;
  letter-spacing: 0.06em;
  line-height: 1.35;
  text-transform: uppercase;
}

body.fpb-product-context .fpb-product-story-breadcrumbs a {
  color: inherit;
  text-decoration: none;
}

body.fpb-product-context .fpb-product-story-breadcrumbs a:hover,
body.fpb-product-context .fpb-product-story-breadcrumbs a:focus-visible {
  color: var(--fpb-ink);
  text-decoration: underline;
  text-underline-offset: 3px;
}

body.fpb-product-context .fpb-product-summary-pagination {
  position: absolute;
  z-index: 5;
  top: 50%;
  right: clamp(16px, 1.5vw, 24px);
  bottom: auto;
  display: flex;
  flex-direction: column;
  gap: 9px;
  align-items: center;
  transform: translateY(-50%);
}

body.fpb-product-context .fpb-product-summary-pagination button,
body.fpb-product-context .fpb-product-variation-bullets button {
  position: relative;
  display: block;
  width: 8px !important;
  min-width: 8px !important;
  height: 8px !important;
  min-height: 8px !important;
  border: 0 !important;
  border-radius: 999px !important;
  padding: 0 !important;
  background: color-mix(in srgb, var(--fpb-ink) 28%, transparent) !important;
  box-shadow: none !important;
  cursor: pointer;
}

body.fpb-product-context .fpb-product-summary-pagination button::after,
body.fpb-product-context .fpb-product-variation-bullets button::after {
  position: absolute;
  inset: -10px;
  content: "";
}

body.fpb-product-context .fpb-product-summary-pagination button[aria-selected="true"] {
  width: 8px !important;
  min-width: 8px !important;
  height: 28px !important;
  min-height: 28px !important;
  background: var(--fpb-ink) !important;
}

body.fpb-product-context .fpb-product-variation-bullets {
  position: absolute;
  z-index: 4;
  top: 50%;
  left: clamp(24px, 2.5vw, 42px);
  display: grid;
  gap: 16px;
  transform: translateY(-50%);
  transition: opacity 260ms ease;
}

body.fpb-product-context .fpb-product-variation-bullets button {
  background: color-mix(in srgb, var(--fpb-ink) 34%, transparent) !important;
}

body.fpb-product-context .fpb-product-variation-bullets button.is-selected {
  height: 28px !important;
  min-height: 28px !important;
  background: var(--fpb-ink) !important;
}

body.fpb-product-context .fpb-product-variation-bullets button > span {
  position: absolute;
  top: 50%;
  left: 20px;
  width: max-content;
  max-width: 160px;
  color: var(--fpb-ink);
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.09em;
  opacity: 0;
  pointer-events: none;
  text-transform: uppercase;
  transform: translate(-7px, -50%);
  transition: opacity 180ms ease, transform 180ms ease;
}

body.fpb-product-context .fpb-product-variation-bullets button:hover > span,
body.fpb-product-context .fpb-product-variation-bullets button:focus-visible > span,
body.fpb-product-context .fpb-product-variation-bullets button.is-selected > span {
  opacity: 0.72;
  transform: translate(0, -50%);
}

body.fpb-product-context .fpb-product-story-hero.is-revealed .fpb-product-story-media img {
  transform: translate3d(var(--fpb-product-image-x, clamp(-290px, -18vw, -190px)), var(--fpb-product-image-y, 0), 0) scale(var(--fpb-product-image-scale, 0.9));
}

body.fpb-product-context .fpb-product-story-hero.is-revealed .fpb-product-story-summary {
  opacity: var(--fpb-overview-opacity, 1);
  transform: translate3d(0, calc(-50% + var(--fpb-overview-y, 0px)), 0);
}

body.fpb-product-context .fpb-product-story-hero.is-scroll-active .fpb-product-story-media img,
body.fpb-product-context .fpb-product-story-hero.is-scroll-active .fpb-product-story-summary,
body.fpb-product-context .fpb-product-story-hero.is-scroll-active .fpb-product-story-facts-panel {
  transition-duration: 90ms;
  transition-delay: 0ms;
  transition-timing-function: linear;
}

body.fpb-product-context .fpb-product-story-facts-panel {
  position: absolute;
  z-index: 3;
  top: 50%;
  left: clamp(22px, 3vw, 52px);
  width: min(44vw, 740px);
  padding: clamp(32px, 3.4vw, 58px);
  border: 1px solid color-mix(in srgb, var(--fpb-line) 74%, transparent);
  border-radius: 24px;
  background: color-mix(in srgb, var(--fpb-page-bg) 61%, transparent);
  box-shadow: 0 34px 90px rgb(0 0 0 / 22%), inset 0 1px 0 rgb(255 255 255 / 10%);
  opacity: var(--fpb-facts-opacity, 0);
  pointer-events: none;
  transform: translate3d(var(--fpb-facts-x, -96px), -50%, 0);
  transition: transform 520ms cubic-bezier(0.22, 1, 0.36, 1), opacity 360ms ease;
  backdrop-filter: blur(30px) saturate(1.15);
  -webkit-backdrop-filter: blur(30px) saturate(1.15);
  will-change: transform, opacity;
}

body.fpb-product-context .fpb-product-story-hero.is-facts-phase .fpb-product-story-facts-panel {
  pointer-events: auto;
}

body.fpb-product-context .fpb-product-story-hero.is-facts-phase .fpb-product-variation-bullets {
  opacity: 0;
  pointer-events: none;
}

:root[data-fpb-theme="light"] body.fpb-product-context :is(.fpb-product-story-summary, .fpb-product-story-facts-panel) {
  background: rgb(225 223 220 / 90%);
  box-shadow: 0 20px 60px rgb(35 35 32 / 13%), inset 0 1px 0 rgb(255 255 255 / 32%);
}

body.fpb-product-context .fpb-product-story-summary h1,
body.fpb-product-context .fpb-product-story-heading h2,
body.fpb-product-context .fpb-product-summary-pane h2 {
  margin: 0 !important;
  color: inherit !important;
  font-family: var(--fpb-ui-font) !important;
  font-weight: 400 !important;
  letter-spacing: -0.065em !important;
  line-height: 0.91 !important;
  text-wrap: balance;
}

body.fpb-product-context .fpb-product-summary-pane h2 {
  max-width: 16ch;
  margin: 0 !important;
  font-size: clamp(30px, 2.3vw, 42px) !important;
  line-height: 1.08 !important;
}

body.fpb-product-context .fpb-product-story-summary h1 {
  max-width: 16ch;
  font-size: clamp(34px, 2.7vw, 50px) !important;
  line-height: 1.06 !important;
}

body.fpb-product-context .fpb-product-story-price {
  margin: clamp(20px, 2.5vh, 30px) 0 0;
  color: var(--fpb-ink);
  font-size: clamp(16px, 1.2vw, 20px);
}

body.fpb-product-context .fpb-product-story-sku {
  margin: 0;
  color: var(--fpb-muted);
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

body.fpb-product-context .fpb-product-story-project-pricing {
  display: inline-flex;
  width: fit-content;
  margin: 0;
  color: #79d6b4;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.4;
  text-decoration: none;
}

:root[data-fpb-theme="light"] body.fpb-product-context .fpb-product-story-project-pricing {
  color: #146c59;
}

body.fpb-product-context .fpb-product-story-project-pricing:hover,
body.fpb-product-context .fpb-product-story-project-pricing:focus-visible {
  text-decoration: underline;
  text-underline-offset: 3px;
}

body.fpb-product-context .fpb-product-story-description {
  display: block;
  max-width: 58ch;
  margin: 0;
  overflow: visible;
  color: var(--fpb-muted);
  font-size: 16px;
  line-height: 1.7;
}

body.fpb-product-context .fpb-product-summary-facts {
  display: grid;
  gap: clamp(28px, 3.4vh, 40px);
  max-height: none;
  overflow: visible;
  padding: 0;
}

body.fpb-product-context .fpb-product-summary-fact h3,
body.fpb-product-context .fpb-product-technical-fact h3 {
  margin: 0 0 18px;
  color: var(--fpb-ink);
  font-family: var(--fpb-ui-font);
  font-size: 18px;
  font-weight: 500;
  letter-spacing: -0.025em;
}

body.fpb-product-context :is(.fpb-product-summary-fact, .fpb-product-technical-fact) ul {
  display: grid;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

body.fpb-product-context :is(.fpb-product-summary-fact, .fpb-product-technical-fact) li {
  position: relative;
  padding-left: 13px;
  color: var(--fpb-muted);
  font-size: 15px;
  line-height: 1.65;
}

body.fpb-product-context :is(.fpb-product-summary-fact, .fpb-product-technical-fact) li::before {
  position: absolute;
  left: 0;
  content: "+";
}

body.fpb-product-context .fpb-product-story-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(24px, 5vw, 90px);
  align-items: start;
  margin-bottom: clamp(24px, 3.2vh, 38px);
}

body.fpb-product-context .fpb-product-story-heading .fpb-product-kicker {
  grid-area: 1 / 1;
  justify-self: start;
  max-width: 26%;
  margin-top: 0.7em;
}

body.fpb-product-context .fpb-product-story-heading h2 {
  grid-area: 1 / 1;
  width: 100%;
  max-width: none;
  margin-inline: auto;
  text-align: center;
  font-size: clamp(34px, 3vw, 52px) !important;
  letter-spacing: -0.052em !important;
  line-height: 0.95 !important;
}

@media (max-width: 1100px) {
  body.fpb-product-context .fpb-product-story-heading :is(.fpb-product-kicker, h2) {
    grid-area: auto;
    max-width: none;
  }
}

body.fpb-product-context .fpb-product-story-details {
  isolation: isolate;
  padding: 0;
  overflow: hidden;
  background: #fff;
  color: #171b19;
}

body.fpb-product-context .fpb-product-story-details::after {
  position: absolute;
  z-index: 0;
  inset: 0;
  content: "";
  background: #fff;
  pointer-events: none;
}

body.fpb-product-context .fpb-product-story-details::before {
  position: absolute;
  z-index: 3;
  inset: 0;
  content: "";
  pointer-events: none;
  background: radial-gradient(circle at 18% 52%, rgb(0 0 0 / 43%) 0, rgb(0 0 0 / 18%) 27%, transparent 58%);
}

body.fpb-product-context .fpb-product-technical-kicker {
  position: absolute;
  z-index: 5;
  top: clamp(92px, 11vh, 122px);
  left: clamp(30px, 4vw, 72px);
  color: rgb(23 27 25 / 56%);
}

body.fpb-product-context .fpb-product-dimension-media {
  position: absolute;
  z-index: 2;
  inset: 0;
  display: grid;
  place-items: center;
  padding: clamp(86px, 10vh, 118px) clamp(40px, 5vw, 84px) clamp(112px, 12vh, 142px);
  transform: translateX(0) scale(1.03);
  transition: transform 1050ms cubic-bezier(0.22, 1, 0.36, 1) 180ms;
  will-change: transform;
}

body.fpb-product-context .fpb-product-dimension-media img {
  display: block;
  width: min(66vw, 900px);
  height: min(68vh, 700px);
  object-fit: contain;
  filter: contrast(1.08) brightness(1.03);
}

body.fpb-product-context .fpb-product-story-details.has-dimension-drawing .fpb-product-dimension-media {
  mix-blend-mode: multiply;
}

:root[data-fpb-theme="dark"] body.fpb-product-context .fpb-product-story-details,
:root[data-fpb-theme="dark"] body.fpb-product-context .fpb-product-story-details::after {
  background: #000;
  color: #f7f8f7;
}

:root[data-fpb-theme="dark"] body.fpb-product-context .fpb-product-story-details::before {
  background: radial-gradient(circle at 18% 52%, rgb(255 255 255 / 38%) 0, rgb(255 255 255 / 16%) 28%, transparent 60%);
}

:root[data-fpb-theme="dark"] body.fpb-product-context .fpb-product-technical-kicker {
  color: rgb(255 255 255 / 58%);
}

:root[data-fpb-theme="dark"] body.fpb-product-context .fpb-product-story-details.has-dimension-drawing .fpb-product-dimension-media img {
  filter: invert(1) grayscale(1) contrast(1.1) brightness(1.04);
}

:root[data-fpb-theme="dark"] body.fpb-product-context .fpb-product-story-details.has-dimension-drawing .fpb-product-dimension-media {
  mix-blend-mode: screen;
}

body.fpb-product-context .fpb-product-dimension-caption {
  position: static;
  display: grid;
  gap: 12px;
  max-width: none;
  margin: 30px 0;
  padding-top: 28px;
  border-top: 1px solid rgb(255 255 255 / 22%);
  color: rgb(255 255 255 / 72%);
  font-size: 13px;
  line-height: 1.65;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

body.fpb-product-context .fpb-product-dimension-caption strong {
  color: #fff;
  font-size: 11px;
  font-weight: 600;
}

body.fpb-product-context .fpb-product-technical-panel {
  position: absolute !important;
  z-index: 4;
  top: clamp(116px, 14vh, 154px) !important;
  bottom: clamp(112px, 12vh, 142px);
  left: clamp(18px, 2.2vw, 36px);
  display: flex;
  width: min(42vw, 680px);
  min-height: 0;
  flex-direction: column;
  justify-content: safe center;
  margin: 0 !important;
  overflow-y: auto;
  border: 1px solid rgb(255 255 255 / 20%);
  padding: clamp(34px, 3.4vw, 58px) clamp(32px, 3.6vw, 62px);
  background: rgb(8 53 40 / 84%);
  color: #fff;
  box-shadow: 0 34px 90px rgb(7 32 25 / 28%), inset 0 1px 0 rgb(255 255 255 / 16%);
  opacity: 0;
  transform: translateX(calc(-100% - 56px));
  transition:
    transform 900ms cubic-bezier(0.22, 1, 0.36, 1) 540ms,
    opacity 520ms ease 540ms;
  backdrop-filter: blur(34px) saturate(1.12);
  -webkit-backdrop-filter: blur(34px) saturate(1.12);
  will-change: transform, opacity;
}

body.fpb-product-context .fpb-product-story-details.is-revealed .fpb-product-dimension-media {
  transform: translateX(clamp(190px, 18vw, 290px)) scale(0.92);
}

body.fpb-product-context .fpb-product-story-details.is-revealed .fpb-product-technical-panel {
  opacity: 1;
  transform: translateX(0);
}

body.fpb-product-context .fpb-product-technical-panel h3,
body.fpb-product-context .fpb-product-technical-fact h3 {
  color: #fff;
}

body.fpb-product-context .fpb-product-technical-panel > h3 {
  margin-bottom: 28px;
}

body.fpb-product-context .fpb-product-technical-panel :is(p, li),
body.fpb-product-context .fpb-product-technical-availability {
  color: rgb(255 255 255 / 72%);
}

body.fpb-product-context .fpb-product-technical-availability {
  margin: 0 0 24px;
  font-size: 15px;
  line-height: 1.7;
}

body.fpb-product-context .fpb-product-technical-panel .fpb-product-story-tearsheet {
  color: #fff;
  border-color: rgb(255 255 255 / 22%);
}

body.fpb-product-context .fpb-product-download-list {
  display: grid;
}

body.fpb-product-context .fpb-product-download-list a {
  display: flex;
  min-height: 58px;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid rgb(255 255 255 / 18%);
  color: rgb(255 255 255 / 88%);
  font-size: 14px;
  font-weight: 550;
  line-height: 1.3;
  text-decoration: none;
}

body.fpb-product-context .fpb-product-download-list a::after {
  margin-left: 18px;
  content: "↓";
}

body.fpb-product-context .fpb-product-download-list a:hover,
body.fpb-product-context .fpb-product-download-list a:focus-visible {
  color: #fff;
}

body.fpb-product-context .fpb-product-story-details-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(300px, 0.65fr);
  gap: clamp(18px, 2.5vw, 46px);
  align-items: start;
}

body.fpb-product-context .fpb-product-facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(12px, 1.25vw, 20px);
}

body.fpb-product-context .fpb-product-fact-card {
  box-sizing: border-box;
  min-width: 0;
  border: 1px solid var(--fpb-line);
  border-radius: 20px;
  padding: clamp(20px, 2.1vw, 34px);
  background: color-mix(in srgb, var(--fpb-page-bg) 84%, transparent);
}

body.fpb-product-context .fpb-product-fact-card h3 {
  margin: 0 0 16px;
  color: var(--fpb-ink);
  font-family: var(--fpb-ui-font);
  font-size: clamp(20px, 1.7vw, 30px);
  font-weight: 400;
  letter-spacing: -0.04em;
  line-height: 1;
}

body.fpb-product-context .fpb-product-fact-card ul {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

body.fpb-product-context .fpb-product-fact-card li {
  position: relative;
  margin: 0;
  padding-left: 14px;
  color: var(--fpb-muted);
  font-size: clamp(11px, 0.78vw, 13px);
  line-height: 1.4;
}

body.fpb-product-context .fpb-product-fact-card li::before {
  position: absolute;
  top: 0;
  left: 0;
  content: "+";
}

body.fpb-product-context .fpb-product-story-editorial,
body.fpb-product-context .fpb-product-story-resources {
  box-sizing: border-box;
  min-width: 0;
  border: 1px solid var(--fpb-line);
  border-radius: 22px;
  padding: clamp(28px, 4vw, 64px);
  background: color-mix(in srgb, var(--fpb-page-bg) 82%, transparent);
  color: var(--fpb-ink);
}

body.fpb-product-context .fpb-product-story-editorial :where(*) {
  position: static !important;
  width: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  max-width: 100% !important;
  margin-inline: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: inherit !important;
}

body.fpb-product-context .fpb-product-story-editorial :is(h1, h2, h3, h4) {
  margin: 0 0 22px !important;
  font-family: var(--fpb-ui-font) !important;
  font-size: clamp(28px, 3vw, 50px) !important;
  font-weight: 400 !important;
  letter-spacing: -0.045em !important;
  line-height: 0.98 !important;
}

body.fpb-product-context .fpb-product-story-editorial :is(p, li, .elementor-widget-container) {
  color: var(--fpb-muted) !important;
  font-size: clamp(14px, 1vw, 17px) !important;
  line-height: 1.65 !important;
}

body.fpb-product-context .fpb-product-story-editorial :is(ul, ol) {
  padding-left: 1.2em !important;
}

body.fpb-product-context .fpb-product-story-resources {
  position: sticky;
  top: 36px;
}

body.fpb-product-context .fpb-product-story-resources h3 {
  margin: 0 0 32px;
  color: inherit;
  font-family: var(--fpb-ui-font);
  font-size: clamp(24px, 2.2vw, 38px);
  font-weight: 400;
  letter-spacing: -0.045em;
  line-height: 1;
}

body.fpb-product-context .fpb-product-story-tearsheet {
  display: flex;
  min-height: 54px;
  align-items: center;
  justify-content: space-between;
  border-top: 1px solid var(--fpb-line);
  border-bottom: 1px solid var(--fpb-line);
  color: var(--fpb-ink);
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
}

body.fpb-product-context .fpb-product-story-tearsheet::after {
  content: "↓";
}

body.fpb-product-context .fpb-product-story-tearsheet[hidden] {
  display: none;
}

body.fpb-product-context .fpb-product-story-resources .fpb-product-story-editorial {
  margin-top: 20px;
  border: 0;
  padding: 0;
  background: transparent;
}

body.fpb-product-context .fpb-product-story-resources.fpb-product-technical-panel {
  border-color: rgb(255 255 255 / 20%);
  padding: clamp(34px, 3.4vw, 58px) clamp(32px, 3.6vw, 62px);
  background: rgb(8 53 40 / 84%);
  color: #fff;
}

body.fpb-product-context .fpb-product-story-variations {
  padding-top: clamp(76px, 7vh, 92px);
  padding-bottom: clamp(102px, 9vh, 116px);
  color: #171b19;
  background: rgb(238 241 239);
  overflow: hidden;
}

body.fpb-product-context :is(.fpb-product-story-variations, .fpb-product-story-collection) .fpb-product-story-heading {
  margin-bottom: clamp(40px, 5.5vh, 66px);
}

body.fpb-product-context .fpb-product-story-variations::before,
body.fpb-product-context .fpb-product-story-variations::after {
  position: absolute;
  z-index: -2;
  inset: -9%;
  content: "";
}

body.fpb-product-context .fpb-product-story-variations::before {
  background: var(--fpb-product-media, linear-gradient(#202421, #0a0d0c)) center / cover no-repeat;
  filter: blur(46px) brightness(1.06) saturate(0.5);
  opacity: 0.24;
  transform: scale(1.1);
}

body.fpb-product-context .fpb-product-story-variations::after {
  z-index: -1;
  inset: 0;
  background: linear-gradient(110deg, rgb(238 241 239 / 92%), rgb(238 241 239 / 72%) 70%, rgb(238 241 239 / 88%));
}

body.fpb-product-context .fpb-product-story-variations .fpb-product-kicker {
  color: rgb(23 27 25 / 64%);
}

body.fpb-product-context .fpb-product-variation-rail,
body.fpb-product-context .fpb-product-collection-rail {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: clamp(300px, 38vw, 500px);
  gap: clamp(28px, 3vw, 52px);
  padding: 4px 4px 24px;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scroll-padding-inline: 4px;
  scroll-snap-type: x mandatory;
  scrollbar-color: rgb(255 255 255 / 42%) transparent;
  scrollbar-width: thin;
}

body.fpb-product-context .fpb-product-variation-card,
body.fpb-product-context .fpb-product-collection-card {
  box-sizing: border-box !important;
  display: grid !important;
  min-width: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  overflow: visible !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  color: #171b19 !important;
  box-shadow: none !important;
  font-family: var(--fpb-ui-font) !important;
  text-align: left !important;
  text-decoration: none !important;
  scroll-snap-align: start;
}

body.fpb-product-context .fpb-product-variation-card {
  cursor: pointer !important;
}

body.fpb-product-context .fpb-product-variation-card.is-selected {
  border: 0 !important;
  box-shadow: none !important;
}

body.fpb-product-context .fpb-product-variation-card.is-selected > span {
  color: #28745a;
}

body.fpb-product-context .fpb-product-variation-card img,
body.fpb-product-context .fpb-product-collection-card img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: contain;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  mix-blend-mode: darken;
}

body.fpb-product-context .fpb-product-variation-card > span {
  padding: 14px 2px 0;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

body.fpb-product-context .fpb-product-story-collection {
  padding-top: clamp(76px, 7vh, 92px);
  padding-bottom: clamp(102px, 9vh, 116px);
  background: rgb(238 241 239);
  color: #171b19;
  overflow: hidden;
}

:root[data-fpb-theme="light"] body.fpb-product-context :is(.fpb-product-story-variations, .fpb-product-story-collection) {
  background: var(--fpb-page-bg);
  color: var(--fpb-ink);
}
:root[data-fpb-theme="light"] body.fpb-product-context .fpb-product-story-variations::after {
  background: linear-gradient(110deg, rgb(207 205 202 / 92%), rgb(207 205 202 / 72%) 70%, rgb(207 205 202 / 88%));
}

body.fpb-product-context .fpb-product-collection-copy {
  display: grid;
  gap: 14px;
  padding: 24px 2px 0;
}

body.fpb-product-context .fpb-product-collection-copy small {
  color: rgb(23 27 25 / 62%);
  font-size: 10px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

body.fpb-product-context .fpb-product-collection-copy strong {
  min-height: 2.2em;
  font-size: clamp(16px, 1.3vw, 21px);
  font-weight: 500;
  letter-spacing: -0.025em;
  line-height: 1.3;
}

body.fpb-product-context .fpb-product-collection-copy > span {
  color: rgb(23 27 25 / 68%);
  font-size: 12px;
}

body.fpb-product-context .fpb-product-collection-loading {
  margin: 0;
  color: var(--fpb-muted);
}

:root[data-fpb-theme="dark"] body.fpb-product-context :is(.fpb-product-story-variations, .fpb-product-story-collection) {
  background: #050706;
  color: #f7f8f7;
}

:root[data-fpb-theme="dark"] body.fpb-product-context .fpb-product-story-variations::before {
  inset: 0;
  background: #050706;
  filter: none;
  opacity: 1;
  transform: none;
}

:root[data-fpb-theme="dark"] body.fpb-product-context .fpb-product-story-variations::after,
:root[data-fpb-theme="dark"] body.fpb-product-context .fpb-product-story-collection::before {
  position: absolute;
  z-index: -1;
  inset: 0;
  content: "";
  background: radial-gradient(ellipse 58% 68% at 50% 48%, rgb(255 255 255 / 20%) 0, rgb(255 255 255 / 8%) 36%, transparent 72%);
  pointer-events: none;
}

:root[data-fpb-theme="dark"] body.fpb-product-context :is(.fpb-product-story-variations, .fpb-product-story-collection) .fpb-product-kicker,
:root[data-fpb-theme="dark"] body.fpb-product-context .fpb-product-collection-copy :is(small, span) {
  color: rgb(255 255 255 / 62%);
}

:root[data-fpb-theme="dark"] body.fpb-product-context :is(.fpb-product-variation-card, .fpb-product-collection-card) {
  color: #f7f8f7 !important;
}

:root[data-fpb-theme="dark"] body.fpb-product-context :is(.fpb-product-variation-card, .fpb-product-collection-card) img {
  mix-blend-mode: normal;
}

:root[data-fpb-theme="dark"] body.fpb-product-context .fpb-product-variation-card.is-selected > span {
  color: #79d6b4;
}

body.fpb-product-context .fpb-product-story-section.is-collection-unavailable {
  display: none;
}

/* Center each heading and product rail together within the full-screen shell's
   existing top-control and bottom-dock clearance. Short layouts stay in flow. */
@media (min-width: 1101px) and (min-height: 821px) {
  body.fpb-product-context :is(.fpb-product-story-variations, .fpb-product-story-collection):not(.is-collection-unavailable) {
    display: flex;
    flex-direction: column;
    justify-content: safe center;
  }

  body.fpb-product-context :is(.fpb-product-story-variations, .fpb-product-story-collection) > :not(.fpb-product-atmosphere) {
    flex: 0 0 auto;
  }
}

@media (max-width: 900px) {
  body.fpb-product-context .fpb-product-story-section {
    height: auto;
    min-height: 100%;
    padding: 92px 18px 124px;
    overflow-y: visible;
  }

  body.fpb-product-context .fpb-product-story-hero,
  body.fpb-product-context .fpb-product-story-details-grid {
    grid-template-columns: 1fr;
  }

  body.fpb-product-context .fpb-product-story-hero {
    min-height: 100%;
    padding: 0;
  }

  body.fpb-product-context .fpb-product-story-details {
    height: 100%;
    min-height: 100%;
    padding: 0;
  }

  body.fpb-product-context .fpb-product-story-media,
  body.fpb-product-context .fpb-product-story-summary,
  body.fpb-product-context .fpb-product-story-facts-panel {
    min-height: auto;
  }

  body.fpb-product-context .fpb-product-story-media {
    inset: 0;
    min-height: 100%;
    padding: 74px 14px 270px;
  }

  body.fpb-product-context .fpb-product-story-media img {
    width: min(92vw, 720px);
    height: min(64vh, 620px);
  }

  body.fpb-product-context .fpb-product-story-summary {
    top: auto;
    right: 10px;
    bottom: 112px;
    left: 10px;
    width: auto;
    max-height: none;
    overflow: visible;
    transform: translateX(calc(100% + 20px));
  }

  body.fpb-product-context .fpb-product-story-facts-panel {
    top: auto;
    right: 10px;
    bottom: 112px;
    left: 10px;
    width: auto;
    max-height: none;
    overflow: visible;
    opacity: 0;
    transform: translateX(-24px);
  }

  body.fpb-product-context .fpb-product-story-hero.is-facts-phase .fpb-product-story-summary {
    opacity: 0;
    pointer-events: none;
    transform: translateX(24px);
  }

  body.fpb-product-context .fpb-product-story-hero.is-facts-phase .fpb-product-story-facts-panel {
    opacity: 1;
    transform: translateX(0);
  }

  body.fpb-product-context .fpb-product-summary-pane {
    justify-content: flex-start;
    min-height: 0;
  }

  body.fpb-product-context .fpb-product-variation-bullets {
    top: 38%;
    left: 22px;
  }

  body.fpb-product-context .fpb-product-variation-bullets button > span {
    display: none;
  }

  body.fpb-product-context .fpb-product-story-hero.is-revealed .fpb-product-story-media img {
    transform: translateY(-17vh) scale(0.8);
  }

  body.fpb-product-context .fpb-product-technical-kicker {
    top: 74px;
    left: 22px;
  }

  body.fpb-product-context .fpb-product-dimension-media {
    padding: 74px 14px 270px;
  }

  body.fpb-product-context .fpb-product-dimension-media img {
    width: min(92vw, 720px);
    height: min(58vh, 560px);
  }

  body.fpb-product-context .fpb-product-story-details.is-revealed .fpb-product-dimension-media {
    transform: translateY(-17vh) scale(0.8);
  }

  body.fpb-product-context .fpb-product-dimension-caption {
    display: grid;
  }

  body.fpb-product-context .fpb-product-technical-panel {
    top: auto !important;
    right: 10px;
    bottom: 112px;
    left: 10px;
    width: auto;
    max-height: min(42vh, 390px);
    padding: 28px;
    transform: translateX(calc(-100% - 20px));
  }

  body.fpb-product-context .fpb-product-story-heading {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  body.fpb-product-context .fpb-product-story-heading .fpb-product-kicker {
    margin-top: 0;
  }

  body.fpb-product-context .fpb-product-story-resources {
    position: static;
  }

  body.fpb-product-context .fpb-product-story-resources.fpb-product-technical-panel {
    position: absolute !important;
  }

  body.fpb-product-context .fpb-product-facts {
    grid-template-columns: 1fr;
  }

  body.fpb-product-context .fpb-product-variation-rail,
  body.fpb-product-context .fpb-product-collection-rail {
    grid-auto-columns: minmax(245px, 78vw);
  }
}

body.fpb-information-context #fpb-main-content {
  color: var(--fpb-ink);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

body.fpb-information-context #fpb-main-content :is(h1, h2, h3, h4, h5, h6) {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-weight: 400 !important;
  letter-spacing: -0.045em !important;
  line-height: 0.96 !important;
}

body.fpb-information-context #fpb-main-content h1 {
  font-size: clamp(52px, 7vw, 104px) !important;
}

body.fpb-information-context #fpb-main-content h2 {
  font-size: clamp(36px, 4.8vw, 72px) !important;
}

:root[data-fpb-theme="light"] body.fpb-information-context .fpb-information-band {
  background-color: var(--fpb-page-bg) !important;
}

:root[data-fpb-theme="light"] body.fpb-information-context .fpb-information-card {
  border: 1px solid var(--fpb-line) !important;
  background-color: #e3e1de !important;
  box-shadow: 0 20px 55px rgb(32 47 40 / 7%) !important;
}

:root[data-fpb-theme="light"] body.fpb-information-context :is(.fpb-information-band, .fpb-information-card)::before {
  background-color: rgb(207 205 202 / 68%) !important;
}

:root[data-fpb-theme="light"] body.fpb-information-context :is(.fpb-information-band, .fpb-information-card) :is(h1, h2, h3, h4, h5, h6, p, li, label, .elementor-widget-container) {
  color: var(--fpb-ink) !important;
}

:root[data-fpb-theme="light"] body.fpb-information-context :is(.fpb-information-band, .fpb-information-card) a {
  color: #28725f !important;
}

html:has(body.fpb-company-context) {
  scroll-snap-type: none;
  scroll-behavior: smooth;
}

body.fpb-company-context {
  --fpb-company-overlay: rgb(0 0 0 / 15%);
  padding-bottom: 0;
  overscroll-behavior-y: contain;
}

:root[data-fpb-theme="light"] body.fpb-company-context {
  --fpb-company-overlay: rgb(255 255 255 / 10%);
}

body.fpb-company-context #fpb-main-content {
  overflow: visible;
  background: #080b0a;
  color: #fff;
}

body.fpb-company-context .fpb-company-stepper {
  --fpb-company-section-height: calc(var(--fpb-shell-viewport-height) - var(--fpb-admin-bar-height) - (2 * var(--fpb-frame-inset)) - var(--fpb-desktop-bottom-safe));
  position: relative;
  width: 100%;
  min-height: var(--fpb-company-section-height);
  background: #080b0a;
}

body.fpb-company-context .fpb-company-stepper-stage {
  position: sticky;
  z-index: 1;
  top: calc(var(--fpb-admin-bar-height) + var(--fpb-frame-inset));
  width: 100%;
  height: var(--fpb-company-section-height);
  overflow: hidden;
  border-radius: var(--fpb-frame-radius);
  background: #080b0a;
  isolation: isolate;
}

body.fpb-company-context .fpb-info-story-section {
  --fpb-info-story-image: linear-gradient(#111614, #111614);
  --fpb-company-step-offset: 0;
  --fpb-company-step-opacity: 1;
  position: absolute;
  inset: 0;
  box-sizing: border-box;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
  margin: 0 !important;
  overflow: hidden;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
  background: #0b100e !important;
  color: #fff !important;
  opacity: var(--fpb-company-step-opacity);
  pointer-events: none;
  transform: translate3d(calc(var(--fpb-company-step-offset) * 100%), 0, 0);
  transition: transform 620ms cubic-bezier(0.22, 1, 0.36, 1), opacity 320ms ease;
  isolation: isolate;
  will-change: transform, opacity;
}

body.fpb-company-context .fpb-info-story-section.is-story-visible {
  pointer-events: auto;
}

body.fpb-company-context .fpb-info-story-section::before,
body.fpb-company-context .fpb-info-story-section::after {
  position: absolute;
  inset: 0;
  pointer-events: none;
  content: "";
}

body.fpb-company-context .fpb-info-story-section::before {
  z-index: -2;
  inset: -2px;
  background: var(--fpb-info-story-image) center / cover no-repeat;
  filter: brightness(0.76) saturate(0.94);
  transform: scale(1.01) translate3d(-0.25%, 0, 0);
  transform-origin: center;
  will-change: transform;
}

body.fpb-company-context .fpb-info-story-section::after {
  z-index: -1;
  /* Photographic tint is 20% lighter; keep the underlying image untouched. */
  opacity: 0.8;
  background:
    linear-gradient(var(--fpb-company-overlay), var(--fpb-company-overlay)),
    linear-gradient(90deg, rgb(0 0 0 / 72%) 0%, rgb(0 0 0 / 46%) 38%, rgb(0 0 0 / 8%) 68%, rgb(0 0 0 / 28%) 100%),
    linear-gradient(0deg, rgb(0 0 0 / 34%) 0%, transparent 54%);
}

body.fpb-company-context .fpb-info-story-section.is-story-visible::before {
  animation: fpb-company-ken-burns 16s linear forwards;
}

body.fpb-company-context .fpb-info-story-section:nth-child(even).is-story-visible::before {
  animation-name: fpb-company-ken-burns-reverse;
}

@keyframes fpb-company-ken-burns {
  from {
    transform: scale(1.01) translate3d(-0.25%, 0, 0);
  }
  to {
    transform: scale(1.12) translate3d(0.75%, -0.5%, 0);
  }
}

@keyframes fpb-company-ken-burns-reverse {
  from {
    transform: scale(1.01) translate3d(0.25%, 0, 0);
  }
  to {
    transform: scale(1.12) translate3d(-0.75%, -0.5%, 0);
  }
}

body.fpb-company-context .fpb-company-step-content {
  position: absolute;
  z-index: 4;
  bottom: clamp(118px, 13vh, 148px);
  left: clamp(78px, 8vw, 150px);
  display: grid;
  width: min(720px, calc(100vw - 220px));
  gap: clamp(16px, 2vh, 26px);
  color: #fff;
  text-shadow: 0 3px 28px rgb(0 0 0 / 56%);
}

body.fpb-company-context .fpb-info-story-heading {
  position: relative;
  width: 100%;
  margin: 0 !important;
  color: #fff;
}

body.fpb-company-context .fpb-info-story-heading .fpb-info-story-title {
  max-width: 12ch;
  margin: 0 !important;
  color: #fff !important;
  font-family: var(--fpb-ui-font) !important;
  font-size: clamp(54px, 6.2vw, 104px) !important;
  font-weight: 400 !important;
  letter-spacing: -0.06em !important;
  line-height: 0.92 !important;
}

body.fpb-company-context .fpb-company-step-summary {
  display: grid;
  width: min(650px, 100%);
  gap: clamp(14px, 1.8vh, 22px);
}

body.fpb-company-context .fpb-company-step-lead {
  max-width: 42ch;
  margin: 0 !important;
  color: #fff !important;
  font: 400 clamp(18px, 1.35vw, 24px)/1.38 var(--fpb-ui-font) !important;
}

body.fpb-company-context .fpb-company-step-points {
  display: grid;
  max-width: 620px;
  gap: 0;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

body.fpb-company-context .fpb-company-step-points li {
  position: relative;
  margin: 0 !important;
  border-top: 1px solid rgb(255 255 255 / 34%);
  padding: 10px 0 10px 24px !important;
  color: #fff !important;
  font: 500 clamp(14px, 1vw, 17px)/1.35 var(--fpb-ui-font) !important;
}

body.fpb-company-context .fpb-company-step-points li::before {
  position: absolute;
  top: 1.05em;
  left: 2px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #8ae1bf;
  content: "";
}

body.fpb-company-context .fpb-company-step-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

body.fpb-company-context .fpb-company-step-actions a {
  display: inline-flex !important;
  min-height: 44px;
  align-items: center;
  border: 1px solid rgb(255 255 255 / 46%) !important;
  border-radius: 999px !important;
  padding: 0 18px !important;
  background: rgb(5 12 9 / 18%) !important;
  color: #fff !important;
  text-decoration: none !important;
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}

body.fpb-company-context .fpb-company-form-content {
  box-sizing: border-box;
  width: min(720px, 100%) !important;
  max-height: min(48vh, 470px);
  margin: 0 !important;
  overflow: auto;
  border: 1px solid rgb(255 255 255 / 20%) !important;
  border-radius: 20px !important;
  padding: clamp(20px, 2.4vw, 34px) !important;
  background: rgb(7 13 11 / 12%) !important;
  box-shadow: none !important;
  backdrop-filter: blur(24px) saturate(1.08);
  -webkit-backdrop-filter: blur(24px) saturate(1.08);
}

body.fpb-company-context .fpb-company-form-content :is(h1, h2, h3, h4, h5, h6, p, li, label, .elementor-widget-container) {
  color: #fff !important;
}

body.fpb-company-context .fpb-company-form-content a {
  color: #a8efd4 !important;
  text-underline-offset: 0.22em;
}

body.fpb-company-context .fpb-company-form-content :is(input:not([type="submit"]):not([type="button"]), textarea, select) {
  width: 100%;
  border: 1px solid rgb(255 255 255 / 28%) !important;
  border-radius: 13px !important;
  background: rgb(255 255 255 / 11%) !important;
  color: #fff !important;
  box-shadow: none !important;
}

body.fpb-company-context .fpb-company-form-content :is(input, textarea)::placeholder {
  color: rgb(255 255 255 / 62%) !important;
}

body.fpb-company-context .fpb-company-form-content :is(button, input[type="submit"], .elementor-button) {
  border: 1px solid rgb(255 255 255 / 28%) !important;
  border-radius: 999px !important;
  background: rgb(255 255 255 / 92%) !important;
  color: #101613 !important;
  box-shadow: none !important;
}

/* The contact page retains the company-story image treatment while giving the
 * real Elementor form enough room to remain legible and fully operable. */
body.fpb-contact-context .fpb-contact-step-content {
  inset: clamp(92px, 10vh, 118px) clamp(58px, 6.5vw, 124px) clamp(104px, 12vh, 132px);
  width: auto;
  color: #fff;
  text-shadow: 0 3px 28px rgb(0 0 0 / 56%);
}

body.fpb-contact-context .fpb-contact-layout {
  display: grid;
  width: 100%;
  height: 100%;
  min-height: 0;
  grid-template-columns: minmax(330px, 0.84fr) minmax(500px, 1.16fr);
  align-items: stretch;
  gap: clamp(34px, 5vw, 88px);
}

body.fpb-contact-context .fpb-contact-copy-column {
  display: grid;
  height: 100%;
  min-width: 0;
  min-height: 0;
  grid-template-rows: auto minmax(0, 1fr);
  align-content: stretch;
  gap: clamp(16px, 2.2vh, 26px);
}

body.fpb-contact-context .fpb-contact-step-content .fpb-info-story-title {
  max-width: 11ch;
  font-size: clamp(44px, 4.4vw, 72px) !important;
}

body.fpb-contact-context #fpb-main-content .fpb-contact-step-content .fpb-info-story-title {
  max-width: 11ch;
  font-size: clamp(44px, 4.4vw, 72px) !important;
}

@media (max-height: 760px) and (min-width: 821px) {
  body.fpb-contact-context .fpb-contact-step-content .fpb-info-story-heading .fpb-info-story-title {
    max-width: 13ch;
    font-size: clamp(38px, 3.7vw, 56px) !important;
    line-height: 0.9 !important;
  }

  body.fpb-contact-context #fpb-main-content .fpb-contact-step-content .fpb-info-story-heading .fpb-info-story-title {
    max-width: 13ch;
    font-size: clamp(38px, 3.7vw, 56px) !important;
    line-height: 0.9 !important;
  }

  body.fpb-contact-context .fpb-contact-copy-column {
    gap: 14px;
  }

  body.fpb-contact-context .fpb-contact-details-panel {
    padding: 18px 20px;
  }
}

body.fpb-contact-context :is(.fpb-contact-details-panel, .fpb-contact-form-panel) {
  box-sizing: border-box;
  min-width: 0;
  margin: 0 !important;
  border: 1px solid rgb(255 255 255 / 24%);
  border-radius: 22px;
  background: rgb(6 12 10 / 20%);
  box-shadow: 0 24px 70px rgb(0 0 0 / 16%);
  color: #fff;
  backdrop-filter: blur(26px) saturate(1.1);
  -webkit-backdrop-filter: blur(26px) saturate(1.1);
}

body.fpb-contact-context .fpb-contact-details-panel {
  display: grid;
  min-height: 0;
  align-content: start;
  gap: 14px;
  overflow-y: auto;
  padding: clamp(18px, 1.7vw, 26px);
  scrollbar-width: thin;
  scrollbar-color: rgb(255 255 255 / 38%) transparent;
}

body.fpb-contact-context .fpb-contact-form-panel {
  display: grid;
  height: 100%;
  min-height: 0;
  max-height: 100%;
  align-self: stretch;
  align-content: center;
  gap: 12px;
  overflow: auto;
  padding: clamp(18px, 2vw, 30px);
  scrollbar-width: thin;
  scrollbar-color: rgb(255 255 255 / 38%) transparent;
}

body.fpb-contact-context :is(.fpb-contact-details-panel, .fpb-contact-form-panel) > *,
body.fpb-contact-context :is(.fpb-contact-details-panel, .fpb-contact-form-panel) .elementor-widget-container {
  margin: 0 !important;
}

body.fpb-contact-context :is(.fpb-contact-details-panel, .fpb-contact-form-panel) :is(h2, h3, h4, p, li, label, .elementor-widget-container) {
  color: #fff !important;
  font-family: var(--fpb-ui-font) !important;
}

body.fpb-contact-context .fpb-contact-details-panel p {
  margin: 0 !important;
  font-size: clamp(14px, 1vw, 17px) !important;
  line-height: 1.5 !important;
}

body.fpb-contact-context .fpb-contact-details-panel a {
  color: #9ce9cd !important;
  text-underline-offset: 0.2em;
}

body.fpb-contact-context .fpb-contact-form-panel :is(h2, h3, h4) {
  margin: 0 0 4px !important;
  font-size: clamp(25px, 2vw, 34px) !important;
  font-weight: 400 !important;
  line-height: 1.05 !important;
}

body.fpb-contact-context .fpb-contact-form-panel .elementor-form-fields-wrapper {
  row-gap: 6px !important;
}

body.fpb-contact-context .fpb-contact-form-panel .elementor-field-group {
  margin-bottom: 0 !important;
}

body.fpb-contact-context .fpb-contact-form-panel label {
  margin-bottom: 3px !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
}

body.fpb-contact-context .fpb-contact-form-panel :is(input:not([type="submit"]):not([type="button"]), textarea, select) {
  width: 100%;
  min-height: 38px;
  border: 1px solid rgb(255 255 255 / 32%) !important;
  border-radius: 13px !important;
  padding: 7px 13px !important;
  background: rgb(255 255 255 / 11%) !important;
  color: #fff !important;
  box-shadow: none !important;
}

body.fpb-contact-context .fpb-contact-form-panel textarea {
  height: clamp(72px, 9vh, 96px) !important;
  min-height: 72px !important;
  resize: vertical;
}

body.fpb-contact-context .fpb-contact-form-panel :is(input, textarea)::placeholder {
  color: rgb(255 255 255 / 58%) !important;
}

body.fpb-contact-context .fpb-contact-form-panel :is(button, input[type="submit"], .elementor-button) {
  min-height: 40px;
  border: 1px solid rgb(255 255 255 / 32%) !important;
  border-radius: 999px !important;
  padding: 0 22px !important;
  background: rgb(255 255 255 / 94%) !important;
  color: #101613 !important;
  box-shadow: none !important;
}

body.fpb-contact-context .fpb-company-stepper-nav {
  display: none;
}

@media (max-width: 980px) {
  body.fpb-contact-context .fpb-contact-step-content {
    inset: 94px 28px 106px;
  }

  body.fpb-contact-context .fpb-contact-layout {
    grid-template-columns: minmax(250px, 0.75fr) minmax(430px, 1.25fr);
    gap: 24px;
  }
}

@media (max-width: 820px) {
  body.fpb-contact-context .fpb-contact-step-content {
    position: absolute;
    inset: 88px 20px 104px;
    width: auto;
    overflow-y: auto;
  }

  body.fpb-contact-context .fpb-contact-layout {
    display: grid;
    height: auto;
    grid-template-columns: 1fr;
    align-items: start;
    gap: 20px;
  }

  body.fpb-contact-context .fpb-contact-copy-column {
    gap: 16px;
  }

  body.fpb-contact-context .fpb-contact-step-content .fpb-info-story-title {
    font-size: clamp(40px, 11vw, 62px) !important;
  }

  body.fpb-contact-context .fpb-contact-form-panel {
    max-height: none;
    overflow: visible;
  }
}

.fpb-info-story-index {
  display: block;
  margin-bottom: clamp(10px, 1.2vw, 16px);
  color: rgb(255 255 255 / 72%);
  font: 600 10px/1 var(--fpb-ui-font);
  letter-spacing: 0.2em;
}

body.fpb-company-context .fpb-company-stepper-nav {
  position: absolute;
  z-index: 60;
  top: 50%;
  left: clamp(24px, 3vw, 50px);
  display: flex;
  flex-direction: column;
  gap: 9px;
  transform: translateY(-50%);
  pointer-events: auto;
}

body.fpb-company-context .fpb-company-stepper-dot {
  position: relative;
  box-sizing: border-box !important;
  width: 12px !important;
  min-width: 12px !important;
  height: 12px !important;
  min-height: 12px !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 999px !important;
  padding: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  cursor: pointer;
}

body.fpb-company-context .fpb-company-stepper-dot span {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background: rgb(255 255 255 / 56%);
  transform: translate(-50%, -50%);
  transition: width 260ms ease, height 260ms ease, background 260ms ease;
}

body.fpb-company-context .fpb-company-stepper-dot.is-active span {
  width: 6px;
  height: 26px;
  background: #fff;
}

@media (max-width: 820px) {
  body.fpb-company-context .fpb-company-stepper,
  body.fpb-company-context .fpb-company-stepper.is-static-story {
    height: auto !important;
  }

  body.fpb-company-context .fpb-company-stepper-stage {
    position: relative;
    top: auto;
    height: auto;
    overflow: visible;
  }

  body.fpb-company-context .fpb-info-story-section {
    position: relative;
    inset: auto;
    height: var(--fpb-company-section-height) !important;
    min-height: var(--fpb-company-section-height) !important;
    opacity: 1;
    pointer-events: auto;
    transform: none;
  }

  body.fpb-company-context .fpb-company-step-content {
    bottom: 118px;
    left: 22px;
    width: calc(100% - 44px);
  }

  body.fpb-company-context .fpb-info-story-heading .fpb-info-story-title,
  body.fpb-company-context .fpb-company-hero .fpb-info-story-heading .fpb-info-story-title {
    font-size: clamp(44px, 12vw, 70px) !important;
  }

  body.fpb-company-context .fpb-company-step-points li:nth-child(n + 3) {
    display: none;
  }

  body.fpb-company-context .fpb-company-stepper-nav {
    display: none;
  }

  body.fpb-contact-context .fpb-company-step-content.fpb-contact-step-content {
    inset: 88px 20px 104px;
    width: auto;
    overflow-y: auto;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.fpb-company-context .fpb-company-stepper {
    height: auto !important;
  }

  body.fpb-company-context .fpb-company-stepper-stage {
    position: relative;
    top: auto;
    height: auto;
    overflow: visible;
  }

  body.fpb-company-context .fpb-info-story-section {
    position: relative;
    inset: auto;
    height: var(--fpb-company-section-height) !important;
    min-height: var(--fpb-company-section-height) !important;
    opacity: 1;
    pointer-events: auto;
    transform: none;
  }

  body.fpb-company-context .fpb-info-story-section::before,
  body.fpb-company-context .fpb-info-story-section.is-story-visible::before,
  body.fpb-company-context .fpb-info-story-section:nth-child(even).is-story-visible::before {
    animation: none !important;
    transform: scale(1.04) !important;
  }
}

.fpb-shell-active #cmplz-manage-consent {
  display: none !important;
}

body.fpb-archive-context main:not(.fpb-product-explorer),
body.fpb-archive-context [data-elementor-type="product-archive"],
body.fpb-archive-context .elementor-location-archive {
  display: none !important;
}

.fpb-product-explorer {
  position: relative;
  z-index: 1;
  isolation: isolate;
  box-sizing: border-box;
  width: calc(100% - (2 * var(--fpb-frame-inset)));
  min-height: calc(var(--fpb-shell-viewport-height) - var(--fpb-admin-bar-height) - (2 * var(--fpb-frame-inset)) - var(--fpb-desktop-bottom-safe));
  margin: var(--fpb-frame-inset);
  overflow: clip;
  border-radius: var(--fpb-frame-radius);
  padding: clamp(108px, 10vw, 142px) clamp(24px, 4vw, 68px) 132px;
  background: var(--fpb-page-bg);
  color: var(--fpb-ink);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.fpb-catalog-atmosphere {
  position: fixed;
  z-index: 0;
  top: calc(var(--fpb-admin-bar-height) + var(--fpb-frame-inset));
  right: var(--fpb-frame-inset);
  bottom: calc(var(--fpb-frame-inset) + var(--fpb-desktop-bottom-safe));
  left: var(--fpb-frame-inset);
  overflow: hidden;
  border-radius: var(--fpb-frame-radius);
  pointer-events: none;
}

.fpb-catalog-atmosphere span {
  position: absolute;
  display: block;
  border-radius: 48% 52% 58% 42% / 56% 44% 56% 44%;
  filter: blur(30px);
  opacity: 0.96;
  transform-origin: 50% 50%;
  will-change: transform, border-radius;
}

.fpb-catalog-atmosphere span:nth-child(1) {
  top: -18%;
  left: 7%;
  width: clamp(620px, 72vw, 1380px);
  aspect-ratio: 1.45 / 1;
  background: radial-gradient(ellipse at 50% 50%, var(--fpb-catalog-mist-primary) 0, var(--fpb-catalog-mist-secondary) 43%, transparent 78%);
  animation: fpb-catalog-mist-drift-a 34s ease-in-out infinite alternate;
}

.fpb-catalog-atmosphere span:nth-child(2) {
  top: 28%;
  right: -14%;
  width: clamp(520px, 60vw, 1120px);
  aspect-ratio: 1.2 / 1;
  background: radial-gradient(ellipse at 50% 50%, var(--fpb-catalog-mist-secondary) 0, var(--fpb-catalog-mist-primary) 35%, transparent 76%);
  opacity: 0.8;
  animation: fpb-catalog-mist-drift-b 41s ease-in-out -11s infinite alternate;
}

.fpb-catalog-atmosphere span:nth-child(3) {
  bottom: -30%;
  left: -16%;
  width: clamp(560px, 64vw, 1220px);
  aspect-ratio: 1.35 / 1;
  background: radial-gradient(ellipse at 50% 50%, var(--fpb-catalog-mist-accent) 0, var(--fpb-catalog-mist-secondary) 42%, transparent 78%);
  opacity: 0.72;
  animation: fpb-catalog-mist-drift-c 46s ease-in-out -23s infinite alternate;
}

/* Each product chapter clips its own mist. Technical mist sits above the
   drawing (layer 2) and below the certification panel (layer 4). */
body.fpb-product-context .fpb-product-atmosphere {
  position: absolute;
  z-index: 0;
  inset: 0;
  border-radius: 0;
}

body.fpb-product-context .fpb-product-story-details .fpb-product-atmosphere {
  z-index: 3;
}

:root[data-fpb-theme="dark"] body.fpb-product-context .fpb-product-atmosphere {
  opacity: 0.55;
}

body.fpb-product-context :is(.fpb-product-story-variations, .fpb-product-story-collection) > :not(.fpb-product-atmosphere) {
  position: relative;
  z-index: 1;
}

body.fpb-product-context .fpb-product-story-details .fpb-product-atmosphere span {
  animation-delay: -17s;
}

body.fpb-product-context .fpb-product-story-collection .fpb-product-atmosphere span {
  animation-delay: -29s;
}

.fpb-catalog-header,
.fpb-catalog-layout {
  position: relative;
  z-index: 1;
}

@keyframes fpb-catalog-mist-drift-a {
  0% {
    border-radius: 48% 52% 58% 42% / 56% 44% 56% 44%;
    transform: translate3d(-9%, -6%, 0) rotate(-4deg) scale3d(1, 0.82, 1);
  }

  38% {
    border-radius: 62% 38% 45% 55% / 38% 58% 42% 62%;
    transform: translate3d(12%, 9%, 0) rotate(7deg) scale3d(0.82, 1.08, 1);
  }

  72% {
    border-radius: 37% 63% 61% 39% / 59% 35% 65% 41%;
    transform: translate3d(24%, -2%, 0) rotate(-8deg) scale3d(1.12, 0.76, 1);
  }

  100% {
    border-radius: 55% 45% 34% 66% / 46% 66% 34% 54%;
    transform: translate3d(4%, 14%, 0) rotate(5deg) scale3d(0.9, 1.04, 1);
  }
}

@keyframes fpb-catalog-mist-drift-b {
  0% {
    border-radius: 61% 39% 48% 52% / 42% 57% 43% 58%;
    transform: translate3d(8%, -13%, 0) rotate(8deg) scale3d(0.86, 1.05, 1);
  }

  48% {
    border-radius: 42% 58% 65% 35% / 63% 39% 61% 37%;
    transform: translate3d(-22%, 4%, 0) rotate(-6deg) scale3d(1.14, 0.78, 1);
  }

  100% {
    border-radius: 54% 46% 36% 64% / 35% 64% 36% 65%;
    transform: translate3d(-7%, 18%, 0) rotate(4deg) scale3d(0.92, 1.12, 1);
  }
}

@keyframes fpb-catalog-mist-drift-c {
  0% {
    border-radius: 39% 61% 52% 48% / 66% 36% 64% 34%;
    transform: translate3d(-8%, 9%, 0) rotate(-7deg) scale3d(1.08, 0.8, 1);
  }

  54% {
    border-radius: 66% 34% 43% 57% / 41% 61% 39% 59%;
    transform: translate3d(26%, -16%, 0) rotate(9deg) scale3d(0.8, 1.12, 1);
  }

  100% {
    border-radius: 47% 53% 68% 32% / 57% 43% 55% 45%;
    transform: translate3d(11%, -4%, 0) rotate(-3deg) scale3d(1.16, 0.86, 1);
  }
}

.fpb-product-explorer *,
.fpb-product-explorer *::before,
.fpb-product-explorer *::after {
  box-sizing: border-box;
}

.fpb-catalog-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 28px;
  margin-bottom: clamp(38px, 5vw, 70px);
}

.fpb-catalog-header h1 {
  margin: 0;
  color: var(--fpb-ink);
  font-family: "FORM+ Montserrat", Montserrat, sans-serif;
  font-size: clamp(54px, 7vw, 104px);
  font-weight: 400;
  letter-spacing: -0.06em;
  line-height: 1.02;
}

.fpb-catalog-introduction { min-width: 0; }
.fpb-catalog-intro { max-width: 640px; margin: 24px 0 0; color: var(--fpb-muted); font: 400 14px/1.8 var(--fpb-ui-font); }

.fpb-catalog-header-tools {
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
}

.fpb-catalog-search {
  display: flex;
  min-width: 260px;
  height: 48px;
  flex: 1 1 420px;
  align-items: center;
  gap: 10px;
  border: 1px solid var(--fpb-line);
  border-radius: 999px;
  padding: 0 17px;
  background: var(--fpb-panel-soft);
}

.fpb-catalog-search svg,
.fpb-catalog-filter-toggle svg,
.fpb-catalog-filter-close svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

body.fpb-shell-active .fpb-catalog-search input {
  width: 100% !important;
  height: 46px !important;
  min-height: 46px !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  color: var(--fpb-ink) !important;
  font: 400 14px/1 var(--fpb-ui-font) !important;
  box-shadow: none !important;
}

body.fpb-shell-active .fpb-catalog-search input:focus,
body.fpb-shell-active .fpb-catalog-search input:focus-visible {
  outline: 0 !important;
  box-shadow: none !important;
}

body.fpb-shell-active .fpb-catalog-sort select {
  width: auto !important;
  min-width: 142px !important;
  height: 48px !important;
  min-height: 48px !important;
  border: 1px solid var(--fpb-line) !important;
  border-radius: 999px !important;
  padding: 0 36px 0 16px !important;
  background: var(--fpb-panel-soft) !important;
  color: var(--fpb-ink) !important;
  font: 600 11px/1 var(--fpb-ui-font) !important;
  box-shadow: none !important;
  cursor: pointer;
}

body.fpb-shell-active .fpb-catalog-filter-toggle,
body.fpb-shell-active .fpb-catalog-filter-close {
  display: none !important;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 1px solid var(--fpb-line) !important;
  border-radius: 999px !important;
  padding: 0 16px !important;
  background: var(--fpb-panel-soft) !important;
  color: var(--fpb-ink) !important;
  box-shadow: none !important;
}

.fpb-catalog-layout {
  display: grid;
  grid-template-columns: minmax(220px, 280px) minmax(0, 1fr);
  align-items: start;
  gap: clamp(30px, 4vw, 68px);
}

.fpb-catalog-filters {
  position: sticky;
  top: 112px;
  display: grid;
  align-content: start;
  max-height: calc(100vh - 220px);
  overflow-y: auto;
  gap: 30px;
  padding-right: 8px;
  scrollbar-width: none;
}

/* Keep category navigation scrollable without visible tracks on either axis,
   including the compact filter drawer and older WebKit browsers. */
.fpb-catalog-filters::-webkit-scrollbar {
  display: none;
  width: 0;
  height: 0;
}

.fpb-catalog-filter-heading,
.fpb-catalog-results-heading {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
}

.fpb-catalog-filter-heading h2,
.fpb-catalog-results-heading h2 {
  margin: 0;
  color: var(--fpb-ink);
  font-size: 18px;
  font-weight: 500;
  letter-spacing: -0.02em;
}

body.fpb-shell-active .fpb-catalog-filter-heading > button[data-fpb-catalog-clear] {
  min-height: 44px !important;
  border: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  color: var(--fpb-muted) !important;
  font: 600 10px/1 var(--fpb-ui-font) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  cursor: pointer;
}

.fpb-catalog-filter-group {
  min-width: 0;
  margin: 0;
  border: 0;
  border-top: 1px solid var(--fpb-line);
  padding: 24px 0 0;
}

.fpb-catalog-filter-group legend {
  margin-bottom: 13px;
  padding: 0;
  color: var(--fpb-muted);
  font: 600 10px/1 var(--fpb-ui-font);
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.fpb-catalog-category-list,
.fpb-catalog-type-list {
  display: grid;
  gap: 3px;
}

.fpb-catalog-category-heading { margin: 0; padding: 0; }
.fpb-catalog-category-group { min-width: 0; }
.fpb-catalog-category-group .fpb-catalog-type-list { margin: 0 0 12px 10px; border-left: 1px solid var(--fpb-line); gap: 0; }
.fpb-catalog-category-indicator { position: relative; flex: 0 0 10px; width: 10px; height: 10px; color: var(--fpb-muted); }
.fpb-catalog-category-indicator::before,
.fpb-catalog-category-indicator::after { content: ""; position: absolute; inset: 4.5px 0 auto; height: 1px; background: currentColor; }
.fpb-catalog-category-indicator::after { transform: rotate(90deg); }
[data-fpb-catalog-category][aria-expanded="true"] .fpb-catalog-category-indicator::after { display: none; }

body.fpb-shell-active .fpb-catalog-category-list button,
body.fpb-shell-active .fpb-catalog-type-list button {
  display: flex !important;
  width: 100% !important;
  min-height: 44px !important;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 9px 4px !important;
  background: transparent !important;
  color: var(--fpb-muted) !important;
  font: 400 13px/1.45 var(--fpb-ui-font) !important;
  text-align: left !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  cursor: pointer;
}

.fpb-catalog-category-list button > span:first-child { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.fpb-catalog-category-list button small { flex-shrink: 0; }

body.fpb-shell-active .fpb-catalog-type-list button {
  padding-left: calc(16px + (var(--fpb-filter-depth, 0) * 13px)) !important;
}

body.fpb-shell-active .fpb-catalog-category-list button:hover,
body.fpb-shell-active .fpb-catalog-type-list button:hover,
body.fpb-shell-active .fpb-catalog-category-list button[aria-pressed="true"],
body.fpb-shell-active .fpb-catalog-type-list button[aria-pressed="true"] {
  background: transparent !important;
  color: var(--fpb-ink) !important;
}

body.fpb-shell-active .fpb-catalog-category-list button[aria-pressed="true"] { font-weight: 500 !important; }
.fpb-catalog-type-list button[aria-pressed="true"] > span:first-child { text-decoration: underline; text-underline-offset: 5px; }
body.fpb-shell-active :is([data-fpb-catalog-category],[data-fpb-catalog-type],[data-fpb-catalog-clear]):focus-visible { outline: 2px solid var(--fpb-ink) !important; outline-offset: -2px !important; }

.fpb-catalog-category-list small,
.fpb-catalog-type-list small {
  color: var(--fpb-muted);
  font-size: 10px;
}

.fpb-catalog-results {
  min-width: 0;
}

.fpb-catalog-results-heading {
  min-height: 42px;
  margin-bottom: 20px;
}

.fpb-catalog-results-heading-main {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 16px;
}

.fpb-catalog-sort-control {
  display: flex;
  min-width: 0;
  align-items: center;
}

.fpb-catalog-sort-tabs {
  display: none;
  align-items: center;
  gap: 3px;
  border: 1px solid var(--fpb-line);
  border-radius: 999px;
  padding: 4px;
  background: transparent;
}

body.fpb-shell-active .fpb-catalog-sort-tabs button {
  min-width: 0 !important;
  min-height: 36px !important;
  border: 0 !important;
  border-radius: 999px !important;
  padding: 0 14px !important;
  background: transparent !important;
  color: var(--fpb-muted) !important;
  font: 600 10px/1 var(--fpb-ui-font) !important;
  box-shadow: none !important;
  cursor: pointer;
}

body.fpb-shell-active .fpb-catalog-sort-tabs button:hover {
  color: var(--fpb-ink) !important;
}

body.fpb-shell-active .fpb-catalog-sort-tabs button:focus-visible {
  outline: 2px solid var(--fpb-ink);
  outline-offset: 3px;
}

body.fpb-shell-active .fpb-catalog-sort-tabs button[aria-pressed="true"] {
  background: var(--fpb-ink) !important;
  color: var(--fpb-page-bg) !important;
}

.fpb-catalog-results-heading p {
  margin: 0;
  color: var(--fpb-muted);
  font: 500 11px/1 var(--fpb-ui-font);
}

.fpb-catalog-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(12px, 1.5vw, 24px);
}

.fpb-catalog-card {
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--fpb-line);
  border-radius: 22px;
  background: var(--fpb-panel-soft);
}

.fpb-catalog-card-link {
  display: grid;
  min-height: 100%;
  grid-template-rows: auto 1fr;
  color: var(--fpb-ink);
  text-decoration: none;
}

.fpb-catalog-card-media {
  display: grid;
  aspect-ratio: 1 / 1;
  place-items: center;
  overflow: hidden;
  background: rgb(255 255 255 / 6%);
}

:root[data-fpb-theme="light"] .fpb-catalog-card-media {
  background: #e8e6e3;
}

.fpb-catalog-card-media img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  transition: transform 420ms ease;
}

.fpb-catalog-card-link:hover .fpb-catalog-card-media img {
  transform: scale(1.025);
}

.fpb-catalog-card-content {
  display: grid;
  min-width: 0;
  padding: 18px;
  gap: 10px;
}

.fpb-catalog-card-meta {
  overflow: hidden;
  color: var(--fpb-muted);
  font: 600 9px/1 var(--fpb-ui-font);
  letter-spacing: 0.08em;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}

.fpb-catalog-card-title {
  min-height: 2.6em;
  overflow: hidden;
  font-size: clamp(16px, 1.4vw, 21px);
  font-weight: 500;
  letter-spacing: -0.025em;
  line-height: 1.3;
}

.fpb-catalog-card-details,
.fpb-catalog-card-action {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  color: var(--fpb-muted);
  font: 500 10px/1.3 var(--fpb-ui-font);
}

.fpb-catalog-card-action {
  margin-top: 6px;
  border-top: 1px solid var(--fpb-line);
  padding-top: 14px;
  color: var(--fpb-ink);
  font-size: 11px;
}

.fpb-catalog-card.is-skeleton {
  min-height: 430px;
  border-color: transparent;
  padding: 18px;
  background: var(--fpb-panel-soft);
}

.fpb-catalog-card.is-skeleton span {
  display: block;
  height: 12px;
  margin-top: 14px;
  border-radius: 999px;
  background: var(--fpb-line);
  animation: fpb-catalog-pulse 1.2s ease-in-out infinite alternate;
}

.fpb-catalog-card.is-skeleton span:first-child {
  height: 290px;
  margin: 0;
  border-radius: 15px;
}

.fpb-catalog-card.is-skeleton span:last-child {
  width: 62%;
}

@keyframes fpb-catalog-pulse {
  to { opacity: 0.38; }
}

.fpb-catalog-message {
  margin: 32px 0 0;
  color: var(--fpb-muted);
  font-size: 14px;
  text-align: center;
}

body.fpb-shell-active .fpb-catalog-load-more {
  display: flex !important;
  min-height: 46px !important;
  align-items: center;
  justify-content: center;
  margin: 34px auto 0 !important;
  border: 1px solid var(--fpb-line) !important;
  border-radius: 999px !important;
  padding: 0 20px !important;
  background: var(--fpb-panel-soft) !important;
  color: var(--fpb-ink) !important;
  font: 600 11px/1 var(--fpb-ui-font) !important;
  box-shadow: none !important;
  cursor: pointer;
}

body.fpb-shell-active .fpb-catalog-load-more[hidden] {
  display: none !important;
}

@media (min-width: 1540px) {
  .fpb-catalog-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (min-width: 1240px) {
  .fpb-catalog-sort-tabs {
    display: inline-flex;
  }

  .fpb-catalog-results-heading .fpb-catalog-sort {
    display: none;
  }
}

@media (max-width: 1100px) {
  .fpb-catalog-header {
    align-items: stretch;
    flex-direction: column;
  }

.fpb-catalog-header-tools {
    width: 100%;
    min-width: 0;
  }

  .fpb-catalog-layout {
    grid-template-columns: 220px minmax(0, 1fr);
    gap: 28px;
  }

  .fpb-catalog-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .fpb-product-explorer {
    padding: 96px 16px 116px;
  }

  .fpb-catalog-header {
    margin-bottom: 30px;
  }

  .fpb-catalog-header-tools {
    display: flex;
    flex-wrap: wrap;
  }

  .fpb-catalog-results-heading {
    align-items: flex-start;
  }

  .fpb-catalog-results-heading-main {
    align-items: flex-start;
    flex-direction: column;
    gap: 10px;
  }

  .fpb-catalog-atmosphere span {
    filter: blur(26px);
    opacity: 0.72;
  }

  .fpb-catalog-atmosphere span:nth-child(3) {
    display: none;
  }

  .fpb-catalog-search {
    min-width: 0;
  }

  body.fpb-shell-active .fpb-catalog-filter-toggle {
    display: inline-flex !important;
    height: 48px !important;
  }

  .fpb-catalog-layout {
    display: block;
  }

  .fpb-catalog-filters {
    position: fixed;
    z-index: 9050;
    inset: calc(var(--fpb-admin-bar-height) + var(--fpb-frame-inset)) auto var(--fpb-frame-inset) var(--fpb-frame-inset);
    width: min(390px, calc(100vw - (2 * var(--fpb-frame-inset))));
    max-height: none;
    padding: 26px;
    border: 1px solid var(--fpb-line);
    border-radius: var(--fpb-frame-radius);
    background: var(--fpb-drawer-panel);
    box-shadow: var(--fpb-shadow);
    -webkit-backdrop-filter: blur(36px) saturate(150%);
    backdrop-filter: blur(36px) saturate(150%);
    opacity: 0;
    pointer-events: none;
    transform: translateX(calc(-100% - 24px));
    transition: transform 320ms ease, opacity 160ms ease;
  }

  .fpb-catalog-filters.is-open {
    opacity: 1;
    pointer-events: auto;
    transform: translateX(0);
  }

  body.fpb-shell-active .fpb-catalog-filter-close {
    display: grid !important;
    width: 36px !important;
    height: 36px !important;
    padding: 0 !important;
  }
}

@media (max-width: 560px) {
  body.fpb-shell-active .fpb-catalog-sort select {
    width: auto !important;
  }

  .fpb-catalog-grid {
    grid-template-columns: 1fr;
  }
}

.fpb-home {
  width: calc(100% - (2 * var(--fpb-frame-inset)));
  margin: var(--fpb-frame-inset);
  overflow: clip;
  border-radius: var(--fpb-frame-radius);
  background: #0c0e0d;
  color: #fff;
  font-family: var(--fpb-ui-font);
  scroll-behavior: smooth;
}

.fpb-home-section {
  position: relative;
  box-sizing: border-box;
  height: calc(var(--fpb-home-viewport-height) - var(--fpb-admin-bar-height) - (2 * var(--fpb-frame-inset)) - var(--fpb-desktop-bottom-safe));
  min-height: calc(var(--fpb-home-viewport-height) - var(--fpb-admin-bar-height) - (2 * var(--fpb-frame-inset)) - var(--fpb-desktop-bottom-safe));
  overflow: hidden;
  background: #171a18;
  scroll-snap-align: start;
  scroll-snap-stop: always;
}

@supports (height: 100dvh) {
  body.fpb-shell-active.fpb-home-context {
    /* Follow Safari's expanding/collapsing toolbar, not a smaller stale JS
       measurement that leaves the next section visible inside the frame. */
    --fpb-home-viewport-height: 100dvh;
  }
}

.fpb-carousel,
.fpb-carousel-slides,
.fpb-carousel-slide {
  position: absolute;
  inset: 0;
}

.fpb-carousel-slide {
  display: flex;
  align-items: flex-end;
  padding: clamp(110px, 12vw, 190px) var(--fpb-space) 110px;
  background-image: linear-gradient(90deg, rgba(5, 7, 6, 0.576), rgba(5, 7, 6, 0.064) 72%), var(--fpb-active-home-image, var(--fpb-slide-image));
  background-position: center;
  background-size: cover;
  opacity: 0;
  transform: scale(1.035);
  transition: opacity 900ms ease;
}

.fpb-carousel-slide.is-active {
  opacity: 1;
}

.fpb-hero-message {
  position: absolute;
  z-index: 4;
  top: auto;
  bottom: clamp(116px, 12vh, 148px);
  left: var(--fpb-space);
  max-width: min(820px, calc(100vw - 48px));
  transform: none;
}

.fpb-hero-message h1,
.fpb-category-panel h2 {
  margin: 0;
  color: #fff;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: clamp(54px, 8vw, 112px);
  font-weight: 400;
  letter-spacing: -0.055em;
  line-height: 0.9;
}

.fpb-category-panel h2 {
  font-size: clamp(48px, 6.5vw, 96px);
}

.fpb-hero-message > p,
.fpb-category-panel > p {
  max-width: 44ch;
  margin: 28px 0 34px;
  color: rgba(255, 255, 255, 0.86);
  font-size: clamp(15px, 1.2vw, 18px);
  line-height: 1.55;
}

.fpb-hero-message a,
.fpb-category-panel a {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  border: 1px solid rgba(255, 255, 255, 0.52);
  border-radius: 999px;
  padding: 0 22px;
  color: #fff;
  text-decoration: none;
}

.fpb-carousel-dots,
.fpb-section-dots {
  position: absolute;
  z-index: 5;
  bottom: max(24px, env(safe-area-inset-bottom));
  left: var(--fpb-space);
  display: flex;
  align-items: center;
  gap: 1px;
}

.fpb-shell-active .fpb-carousel-dots button,
.fpb-shell-active .fpb-section-dots button {
  display: grid !important;
  width: 28px !important;
  min-width: 28px !important;
  height: 28px !important;
  min-height: 28px !important;
  place-items: center;
  border: 0 !important;
  border-radius: 50% !important;
  padding: 0 !important;
  background: transparent !important;
  color: #fff !important;
  box-shadow: none !important;
  cursor: pointer;
}

.fpb-carousel-dots button span,
.fpb-section-dots button span {
  display: block;
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background: rgb(255 255 255 / 48%);
  transition: width 180ms ease, background 180ms ease;
}

.fpb-carousel-dots button[aria-current="true"] span,
.fpb-section-dots button[aria-current="true"] span {
  width: 18px;
  background: #fff;
}

.fpb-category-section {
  display: flex;
  align-items: flex-end;
  padding: clamp(110px, 11vw, 170px) var(--fpb-space) clamp(116px, 12vh, 148px);
}

.fpb-category-section.is-right {
  justify-content: flex-end;
}

.fpb-section-slides,
.fpb-section-slide {
  position: absolute;
  inset: 0;
}

.fpb-section-slide {
  background-image: linear-gradient(90deg, rgba(8, 10, 9, 0.704), rgba(8, 10, 9, 0.096) 72%), var(--fpb-active-home-image, var(--fpb-category-image));
  background-position: center;
  background-size: cover;
  opacity: 0;
  transform: scale(1.035);
  transition: opacity 900ms ease;
}

.fpb-category-section.is-right .fpb-section-slide {
  background-image: linear-gradient(270deg, rgba(8, 10, 9, 0.704), rgba(8, 10, 9, 0.096) 72%), var(--fpb-active-home-image, var(--fpb-category-image));
}

.fpb-section-slide.is-active {
  opacity: 1;
}

.fpb-home-video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  pointer-events: none;
}
.fpb-home-video[hidden] { display: none !important; }
.fpb-home-section .has-video-media {
  animation: none !important;
  transform: none;
}
.fpb-home-section .has-video-media:has(.fpb-home-video:not([hidden]))::after {
  position: absolute;
  inset: 0;
  content: "";
  pointer-events: none;
  background: linear-gradient(90deg, rgb(5 7 6 / 57.6%), rgb(5 7 6 / 6.4%) 72%);
}
.fpb-category-section.is-right .has-video-media:has(.fpb-home-video:not([hidden]))::after {
  background: linear-gradient(270deg, rgb(8 10 9 / 70.4%), rgb(8 10 9 / 9.6%) 72%);
}

.fpb-carousel-slide,
.fpb-section-slide {
  animation: fpb-home-ken-burns 12s linear alternate infinite paused;
}
.fpb-carousel-slide:nth-child(even),
.fpb-section-slide:nth-child(even) { animation-name: fpb-home-ken-burns-reverse; }
[data-fpb-slideshow-state="playing"] :is(.fpb-carousel-slide, .fpb-section-slide).is-active { animation-play-state: running; }
@keyframes fpb-home-ken-burns {
  from { transform: scale(1.035) translate3d(-.5%, -.3%, 0); }
  to { transform: scale(1.09) translate3d(.5%, .3%, 0); }
}
@keyframes fpb-home-ken-burns-reverse {
  from { transform: scale(1.09) translate3d(.5%, -.3%, 0); }
  to { transform: scale(1.035) translate3d(-.5%, .3%, 0); }
}
body.fpb-shell-active .fpb-slideshow-playback {
  position: absolute;
  z-index: 5;
  right: var(--fpb-space);
  bottom: max(18px, env(safe-area-inset-bottom));
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  padding: 0;
  --fpb-button-ink: #fff;
  --fpb-button-neutral-rgb: 255 255 255;
  --fpb-control-surface-rgb: 8 10 9;
  --fpb-button-fill: .55;
  --fpb-button-hover-fill: .65;
  --fpb-button-selected-fill: .65;
  --fpb-button-highlight: rgb(255 255 255 / 7%);
}
body.fpb-shell-active .fpb-slideshow-playback[hidden] { display: none !important; }
.fpb-slideshow-playback svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.6; }
.fpb-slideshow-play-icon { display: none; }
.fpb-slideshow-playback[aria-pressed="true"] .fpb-slideshow-pause-icon { display: none; }
.fpb-slideshow-playback[aria-pressed="true"] .fpb-slideshow-play-icon { display: block; }

.fpb-category-panel {
  position: relative;
  z-index: 2;
  width: min(760px, 100%);
}

.fpb-category-section.is-right .fpb-category-panel {
  text-align: right;
}

.fpb-category-section.is-right .fpb-category-panel > p {
  margin-left: auto;
}

html:has(body.fpb-home-context) {
  scroll-snap-type: y mandatory;
  scroll-padding-top: var(--fpb-frame-inset);
  scroll-behavior: smooth;
}

html:has(body.fpb-home-context.admin-bar) {
  scroll-padding-top: calc(32px + var(--fpb-frame-inset));
}

@media (max-width: 900px) {
  body.fpb-shell-active:not(.fpb-home-context) {
    padding-bottom: 92px;
  }

  .admin-bar .fpb-shell-controls {
    top: calc(var(--fpb-admin-bar-height) + max(calc(var(--fpb-frame-inset) + 15px), env(safe-area-inset-top)));
  }

  .fpb-shell-controls {
    top: max(calc(var(--fpb-frame-inset) + 15px), env(safe-area-inset-top));
    right: calc(var(--fpb-frame-inset) + 18px);
    left: calc(var(--fpb-frame-inset) + 18px);
  }

  .fpb-shell-active .fpb-menu-trigger {
    width: 48px !important;
    min-width: 48px !important;
    padding: 0 13px !important;
  }

  .fpb-menu-trigger > span:last-child {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
  }

  .fpb-dock-region {
    bottom: calc(var(--fpb-frame-inset) + var(--fpb-desktop-bottom-safe) + 10px);
    width: min(650px, calc(100vw - 2 * (var(--fpb-frame-inset) + 18px)));
  }

  .fpb-dock-region.is-product,
  .fpb-dock-region.is-project,
  .fpb-dock-region.is-project-detail {
    width: calc(100vw - 2 * (var(--fpb-frame-inset) + 18px));
  }

  .fpb-smart-dock.is-product .fpb-product-search {
    display: none;
  }

  .fpb-carousel-dots,
  .fpb-section-dots {
    bottom: calc(104px + env(safe-area-inset-bottom));
    left: 18px;
    max-width: calc(100% - 86px);
    flex-wrap: wrap;
  }

  body.fpb-shell-active .fpb-slideshow-playback {
    right: 18px;
    bottom: calc(98px + env(safe-area-inset-bottom));
  }

  .fpb-hero-message {
    bottom: calc(144px + env(safe-area-inset-bottom));
  }

  .fpb-category-section {
    padding-bottom: calc(144px + env(safe-area-inset-bottom));
  }

  .fpb-shell-active .fpb-carousel-dots button {
    width: 24px !important;
    min-width: 24px !important;
  }

  .fpb-product-action {
    flex: 1 1 auto;
    justify-content: center;
    padding-inline: 14px;
    font-size: 11px;
  }

  .fpb-smart-dock.is-project {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr);
    grid-template-areas:
      "menu search"
      "actions actions";
    align-items: stretch;
  }

  .fpb-smart-dock.is-project .fpb-dock-menu {
    grid-area: menu;
  }

  .fpb-smart-dock.is-project .fpb-project-search {
    grid-area: search;
  }

  .fpb-project-dock-actions {
    grid-area: actions;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: stretch;
  }

  body.fpb-shell-active .fpb-project-dock-action {
    min-height: 44px !important;
    padding-inline: 10px !important;
    font-size: 10px !important;
    white-space: normal !important;
  }

  .fpb-variation-control {
    width: min(210px, 38vw);
    min-width: 118px;
    flex-basis: 180px;
  }

  body.fpb-shell-active .fpb-variation-control select {
    padding-right: 28px !important;
    padding-left: 12px !important;
    font-size: 9px !important;
  }

  .fpb-search-results {
    right: auto;
    left: 0;
    width: 100%;
  }

  .fpb-category-section,
  .fpb-category-section.is-right {
    align-items: flex-end;
    justify-content: flex-start;
  }

  .fpb-category-section .fpb-section-slide,
  .fpb-category-section.is-right .fpb-section-slide {
    background-image: linear-gradient(0deg, rgba(8, 10, 9, 0.736), rgba(8, 10, 9, 0.048) 78%), var(--fpb-active-home-image, var(--fpb-category-image));
  }

  .fpb-category-section.is-right .fpb-category-panel {
    text-align: left;
  }

  .fpb-category-section.is-right .fpb-category-panel > p {
    margin-left: 0;
  }
}

@media (max-width: 480px) {
  .fpb-theme-control,
  .fpb-menu-trigger {
    min-height: 46px;
  }

  .fpb-search-results [role="option"] {
    grid-template-columns: 56px minmax(0, 1fr);
  }

  .fpb-search-results img {
    width: 56px;
    height: 56px;
  }

  .fpb-search-result-price {
    display: none;
  }

  .fpb-smart-dock.is-product .fpb-tearsheet-action {
    max-width: none;
    white-space: normal;
    text-align: center;
    line-height: 1.15;
  }

  .fpb-smart-dock.is-product {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr) minmax(0, 1fr);
    grid-template-rows: 40px 40px;
    grid-template-areas:
      "menu variation add"
      "menu tearsheet tearsheet";
    gap: 6px;
    min-height: 100px;
    border-radius: 28px;
  }

  .fpb-smart-dock.is-product .fpb-dock-menu {
    grid-area: menu;
    align-self: center;
  }

  .fpb-smart-dock.is-product .fpb-variation-control {
    grid-area: variation;
    width: 100%;
    min-width: 0;
  }

  .fpb-smart-dock.is-product .fpb-tearsheet-action {
    grid-area: tearsheet;
    width: 100%;
  }

  .fpb-smart-dock.is-product .fpb-add-project-action {
    grid-area: add;
    width: 100%;
  }

  .fpb-smart-dock.is-project {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr);
    grid-template-areas:
      "menu search"
      "actions actions";
    gap: 6px;
    min-height: 100px;
    border-radius: 28px;
  }

  .fpb-smart-dock.is-project .fpb-dock-menu {
    grid-area: menu;
    align-self: stretch;
  }

  .fpb-smart-dock.is-project .fpb-project-search {
    grid-area: search;
    min-height: 48px;
  }

  .fpb-project-dock-actions {
    grid-area: actions;
    grid-template-columns: 1fr;
    gap: 6px;
  }

  body.fpb-shell-active .fpb-project-dock-action {
    width: 100% !important;
    min-height: 38px !important;
    justify-content: center !important;
    font-size: 9px !important;
  }

  body.fpb-product-context .fpb-product-story-summary {
    bottom: 152px;
  }

  body.fpb-product-context .fpb-product-story-facts-panel {
    bottom: 152px;
  }

  body.fpb-product-context .fpb-product-technical-panel {
    bottom: 152px;
  }
}

@media (max-width: 350px) {
  .fpb-hero-message { bottom: calc(172px + env(safe-area-inset-bottom)); }
  .fpb-category-section { padding-bottom: calc(172px + env(safe-area-inset-bottom)); }
}

@media (orientation: portrait) {
  .fpb-carousel-slide, .fpb-section-slide {
    --fpb-active-home-image: var(--fpb-portrait-image);
  }
}

@media (max-width: 900px) {
  .fpb-category-section .has-video-media:has(.fpb-home-video:not([hidden]))::after,
  .fpb-category-section.is-right .has-video-media:has(.fpb-home-video:not([hidden]))::after {
    background: linear-gradient(0deg, rgb(8 10 9 / 73.6%), rgb(8 10 9 / 4.8%) 78%);
  }
}

@media (max-width: 782px) {
  body.fpb-shell-active.admin-bar {
    --fpb-admin-bar-height: 46px;
  }

  html:has(body.fpb-home-context.admin-bar) {
    scroll-padding-top: calc(46px + var(--fpb-frame-inset));
  }
}

@media (max-width: 600px) {
  :root {
    --fpb-frame-inset: 0px;
    --fpb-frame-radius: 18px;
  }

  .fpb-frame {
    border: 1px solid var(--fpb-frame-line);
    /* Keep scrolled content out of Safari's transparent bottom toolbar gutter. */
    height: calc(var(--fpb-home-viewport-height, var(--fpb-shell-viewport-height)) - var(--fpb-admin-bar-height) - 2 * var(--fpb-frame-inset) - var(--fpb-desktop-bottom-safe));
    bottom: auto;
    box-shadow: 0 0 0 100vmax var(--fpb-page-bg);
  }

  .fpb-shell-controls {
    top: max(8px, env(safe-area-inset-top));
    right: 10px;
    left: 10px;
  }

  body.fpb-shell-active:not(.fpb-home-context):not(.fpb-archive-context) .fpb-framed-content,
  .fpb-home {
    width: 100%;
    min-height: calc(var(--fpb-home-viewport-height, var(--fpb-shell-viewport-height)) - var(--fpb-admin-bar-height) - var(--fpb-desktop-bottom-safe));
    margin: 0;
    border-radius: var(--fpb-frame-radius);
  }

  .fpb-navigation-drawer {
    inset: var(--fpb-admin-bar-height) auto 0 0;
    width: min(390px, 100vw);
    border-radius: 0 20px 20px 0;
  }

  .fpb-dock-region,
  .fpb-dock-region.is-product,
  .fpb-dock-region.is-project,
  .fpb-dock-region.is-project-detail {
    bottom: calc(env(safe-area-inset-bottom) + 6px);
    width: calc(100vw - 12px);
  }

  body.fpb-shell-active.admin-bar #wpadminbar {
    position: fixed;
  }
}

@media (max-width: 1100px), (max-height: 820px) {
  body.fpb-product-context .fpb-product-layout-v3 {
    height: auto;
    min-height: calc(var(--fpb-shell-viewport-height) - var(--fpb-admin-bar-height));
    overflow-x: clip !important;
    overflow-y: visible !important;
    overscroll-behavior-y: auto;
    scroll-snap-type: none;
    scrollbar-width: auto;
  }

  body.fpb-product-context .fpb-product-story {
    height: auto;
    min-height: 0;
  }

  body.fpb-product-context .fpb-product-story-section {
    height: auto !important;
    min-height: 0 !important;
    padding: 68px 18px 108px;
    overflow: visible;
    scroll-snap-align: none;
    scroll-snap-stop: normal;
  }

  body.fpb-product-context .fpb-product-story-hero {
    height: auto !important;
    min-height: 0 !important;
    padding: 0;
  }

  body.fpb-product-context .fpb-product-story-stage {
    position: relative;
    display: grid;
    height: auto !important;
    min-height: 0 !important;
    gap: 40px;
    overflow: visible;
    padding: 86px clamp(24px, 6vw, 80px) 56px;
    background:
      radial-gradient(circle at 50% 24%, color-mix(in srgb, var(--fpb-page-bg) 36%, white 30%), transparent 38%),
      var(--fpb-page-bg);
  }

  body.fpb-product-context .fpb-product-story-media,
  body.fpb-product-context .fpb-product-story-summary,
  body.fpb-product-context .fpb-product-story-facts-panel,
  body.fpb-product-context .fpb-product-dimension-media,
  body.fpb-product-context .fpb-product-technical-panel {
    position: relative !important;
    inset: auto !important;
    width: auto !important;
    max-height: none !important;
    overflow: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: none !important;
    transition: none !important;
  }

  body.fpb-product-context .fpb-product-story-media {
    display: grid;
    place-items: center;
    padding: 0;
    background: transparent;
  }

  body.fpb-product-context .fpb-product-story-media img,
  body.fpb-product-context .fpb-product-story-hero.is-revealed .fpb-product-story-media img {
    width: min(100%, 520px);
    height: auto;
    max-height: 48vh;
    margin-inline: auto;
    transform: none !important;
  }

  body.fpb-product-context .fpb-product-story-summary,
  body.fpb-product-context .fpb-product-story-facts-panel {
    width: min(100%, 720px) !important;
    margin-inline: auto;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent !important;
    box-shadow: none !important;
    color: var(--fpb-ink);
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }

  body.fpb-product-context .fpb-product-summary-track {
    display: grid;
    gap: 18px;
  }

  body.fpb-product-context .fpb-product-summary-pane {
    gap: 24px;
  }

  body.fpb-product-context .fpb-product-story-summary h1 {
    max-width: 18ch;
    font-size: clamp(34px, 7vw, 52px) !important;
  }

  body.fpb-product-context .fpb-product-story-description {
    max-width: none;
    font-size: 16px;
    line-height: 1.75;
  }

  body.fpb-product-context .fpb-product-summary-pagination,
  body.fpb-product-context .fpb-product-variation-bullets {
    display: none;
  }

  body.fpb-product-context .fpb-product-story-details {
    display: grid;
    gap: 32px;
    padding: 64px clamp(24px, 6vw, 80px) 108px;
    background: var(--fpb-page-bg);
    color: var(--fpb-ink);
  }

  body.fpb-product-context .fpb-product-story-details::before,
  body.fpb-product-context .fpb-product-story-details::after {
    display: none;
  }

  body.fpb-product-context .fpb-product-technical-kicker {
    position: relative;
    inset: auto;
    color: var(--fpb-muted);
  }

  body.fpb-product-context .fpb-product-dimension-media {
    display: grid;
    place-items: center;
    padding: 0;
  }

  body.fpb-product-context .fpb-product-dimension-media img,
  body.fpb-product-context .fpb-product-story-details.is-revealed .fpb-product-dimension-media img {
    width: 100%;
    height: auto;
    max-height: 42vh;
    object-fit: contain;
    transform: none !important;
  }

  body.fpb-product-context .fpb-product-technical-panel,
  body.fpb-product-context .fpb-product-story-resources.fpb-product-technical-panel {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    justify-content: stretch;
    align-content: start;
    gap: 24px;
    width: min(100%, 720px) !important;
    margin-inline: auto !important;
    padding: clamp(24px, 4vw, 40px);
    border-radius: 16px;
    /* Retain the desktop green surface and white content at compact sizes. */
    box-shadow: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }

  body.fpb-product-context .fpb-product-story-variations,
  body.fpb-product-context .fpb-product-story-collection {
    padding: 58px 18px 108px;
    overflow: hidden;
  }

  body.fpb-product-context .fpb-product-story-heading {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  body.fpb-product-context .fpb-product-story-heading h2 {
    font-size: clamp(32px, 11vw, 48px) !important;
  }

  body.fpb-product-context .fpb-product-variation-rail,
  body.fpb-product-context .fpb-product-collection-rail {
    grid-auto-columns: minmax(210px, 78vw);
    gap: 18px;
  }
}

@media (max-width: 760px) {
  .fpb-smart-dock.is-product {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr) 48px;
    grid-template-areas: "menu variation add";
    height: 62px;
    gap: 7px;
    min-height: 62px;
    max-height: 62px;
    border-radius: 32px;
    align-items: center;
    overflow: visible;
  }

  .fpb-smart-dock.is-product .fpb-dock-menu {
    grid-area: menu;
    align-self: center;
  }

  .fpb-smart-dock.is-product .fpb-product-search,
  .fpb-smart-dock.is-product .fpb-tearsheet-action {
    display: none !important;
  }

  .fpb-smart-dock.is-product .fpb-variation-control {
    grid-area: variation;
    width: 100%;
    min-width: 0;
    height: 48px;
    flex-basis: auto;
  }

  body.fpb-shell-active .fpb-smart-dock.is-product .fpb-variation-control select {
    height: 48px !important;
    min-height: 48px !important;
    font-size: 10px !important;
  }

  body.fpb-shell-active .fpb-smart-dock.is-product .fpb-add-project-action {
    grid-area: add;
    width: 48px !important;
    min-width: 48px !important;
    height: 48px !important;
    min-height: 48px !important;
    border-radius: 50% !important;
    padding: 0 !important;
    font-size: 0 !important;
  }

  body.fpb-shell-active .fpb-smart-dock.is-product .fpb-add-project-action::before {
    color: #fff;
    font-size: 26px;
    font-weight: 400;
    line-height: 1;
    content: "+";
  }

  html:has(body.fpb-company-context) {
    scroll-snap-type: none;
    scroll-behavior: auto;
  }

  body.fpb-company-context {
    padding-bottom: 96px;
    overscroll-behavior-y: auto;
  }

  body.fpb-company-context #fpb-main-content {
    overflow: visible;
    background: var(--fpb-page-bg);
  }

  body.fpb-company-context .fpb-company-stepper,
  body.fpb-company-context .fpb-company-stepper.is-static-story,
  body.fpb-company-context .fpb-company-stepper-stage {
    height: auto !important;
    min-height: 0 !important;
    background: var(--fpb-page-bg);
  }

  body.fpb-company-context .fpb-company-stepper-stage {
    position: relative;
    top: auto;
    display: block;
    overflow: visible;
    border-radius: var(--fpb-frame-radius);
    background: transparent;
    isolation: isolate;
  }

  body.fpb-company-context .fpb-company-stepper-stage::before,
  body.fpb-company-context .fpb-company-stepper-stage::after {
    position: fixed;
    pointer-events: none;
    content: "";
  }

  body.fpb-company-context .fpb-company-stepper-stage::before {
    z-index: 0;
    inset: calc(var(--fpb-admin-bar-height) + var(--fpb-frame-inset)) var(--fpb-frame-inset) calc(var(--fpb-frame-inset) + var(--fpb-desktop-bottom-safe));
    border-radius: var(--fpb-frame-radius);
    background: var(--fpb-company-mobile-image, var(--fpb-info-story-image, linear-gradient(#111614, #111614))) center / cover no-repeat;
    filter: brightness(0.68) saturate(0.92);
    animation: fpb-company-mobile-ken-burns 28s linear alternate infinite;
    transform-origin: center;
    will-change: transform;
  }

  body.fpb-company-context .fpb-company-stepper-stage::after {
    z-index: 1;
    inset: calc(var(--fpb-admin-bar-height) + var(--fpb-frame-inset)) var(--fpb-frame-inset) calc(var(--fpb-frame-inset) + var(--fpb-desktop-bottom-safe));
    border-radius: var(--fpb-frame-radius);
    background:
      linear-gradient(var(--fpb-company-overlay), var(--fpb-company-overlay)),
      linear-gradient(0deg, rgb(5 7 6 / 94%) 0%, rgb(5 7 6 / 72%) 42%, rgb(5 7 6 / 24%) 100%);
  }

  body.fpb-company-context .fpb-info-story-section {
    position: relative;
    inset: auto;
    display: block !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 0 !important;
    overflow: hidden;
    border-bottom: 1px solid rgb(255 255 255 / 12%) !important;
    background: transparent !important;
    z-index: 2;
    opacity: 1;
    pointer-events: auto;
    transform: none;
  }

  body.fpb-company-context .fpb-info-story-section::before {
    display: none;
  }

  body.fpb-company-context .fpb-info-story-section::after {
    display: none;
  }

  body.fpb-company-context .fpb-info-story-section.is-story-visible::before {
    animation: none !important;
    transform: none !important;
  }

  body.fpb-company-context .fpb-company-step-content,
  body.fpb-contact-context .fpb-company-step-content.fpb-contact-step-content,
  body.fpb-contact-context .fpb-contact-step-content {
    position: relative;
    inset: auto;
    bottom: auto;
    left: auto;
    display: grid;
    width: auto;
    gap: 16px;
    overflow: visible;
    padding: clamp(118px, 22vh, 190px) 18px 64px;
    text-shadow: 0 2px 18px rgb(0 0 0 / 42%);
  }

  body.fpb-company-context .fpb-info-story-heading .fpb-info-story-title,
  body.fpb-company-context .fpb-company-hero .fpb-info-story-heading .fpb-info-story-title,
  body.fpb-contact-context .fpb-contact-step-content .fpb-info-story-title {
    max-width: 12ch;
    font-size: clamp(38px, 12vw, 58px) !important;
    line-height: 0.95 !important;
  }

  body.fpb-company-context .fpb-company-step-lead {
    max-width: none;
    font-size: 16px !important;
    line-height: 1.48 !important;
  }

  body.fpb-company-context .fpb-company-step-points li {
    display: list-item !important;
    padding-top: 9px !important;
    padding-bottom: 9px !important;
    font-size: 13px !important;
    line-height: 1.42 !important;
  }

  body.fpb-company-context .fpb-company-stepper-nav {
    display: none;
  }

  body.fpb-contact-context .fpb-contact-layout {
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
  }

  body.fpb-contact-context :is(.fpb-contact-details-panel, .fpb-contact-form-panel) {
    border-radius: 16px;
    padding: 18px;
    overflow: visible;
  }

  body.fpb-information-context:not(.fpb-company-context) #fpb-main-content {
    overflow: visible;
    padding: 78px 18px 108px;
  }

  body.fpb-information-context:not(.fpb-company-context) #fpb-main-content h1 {
    font-size: clamp(38px, 12vw, 58px) !important;
  }

  body.fpb-information-context:not(.fpb-company-context) #fpb-main-content h2 {
    font-size: clamp(30px, 10vw, 44px) !important;
  }

  @keyframes fpb-company-mobile-ken-burns {
    from {
      transform: scale(1.02) translate3d(-0.6%, 0, 0);
    }
    to {
      transform: scale(1.13) translate3d(0.8%, -0.7%, 0);
    }
  }
}

@media (max-width: 480px) {
  .fpb-smart-dock.is-product {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr) 48px;
    grid-template-rows: 48px;
    grid-template-areas: "menu variation add";
    height: 62px;
    min-height: 62px;
    max-height: 62px;
    gap: 7px;
    border-radius: 32px;
  }

  .fpb-smart-dock.is-product .fpb-dock-menu,
  .fpb-smart-dock.is-product .fpb-variation-control,
  .fpb-smart-dock.is-product .fpb-add-project-action {
    align-self: center;
  }

  .fpb-smart-dock.is-product .fpb-tearsheet-action,
  .fpb-smart-dock.is-product .fpb-product-search {
    display: none !important;
  }
}

@media (max-height: 639px) {
  html:has(body.fpb-home-context) {
    scroll-snap-type: y proximity;
  }

  .fpb-home-section {
    height: auto;
    min-height: calc(var(--fpb-home-viewport-height) - var(--fpb-admin-bar-height) - (2 * var(--fpb-frame-inset)) - var(--fpb-desktop-bottom-safe));
  }

  .fpb-hero {
    display: flex;
    align-items: center;
  }

  .fpb-hero-message {
    position: relative;
    top: auto;
    bottom: auto;
    left: auto;
    max-width: min(780px, calc(100vw - (2 * var(--fpb-space))));
    margin: 0 var(--fpb-space);
    padding: 112px 0 132px;
    transform: none;
  }

  @media (max-width: 900px) {
    .fpb-hero-message { padding-bottom: calc(172px + env(safe-area-inset-bottom)); }
  }
}

@media (prefers-reduced-motion: reduce) {
  html:has(body.fpb-shell-active .fpb-home),
  html:has(body.fpb-company-context) {
    scroll-behavior: auto;
    scroll-snap-type: none;
  }

  body.fpb-product-context .fpb-product-layout-v2,
  body.fpb-product-context .fpb-product-layout-v3 {
    scroll-snap-type: none;
  }

  .fpb-catalog-atmosphere span,
  .fpb-catalog-atmosphere span:nth-child(1),
  .fpb-catalog-atmosphere span:nth-child(2),
  .fpb-catalog-atmosphere span:nth-child(3) {
    animation: none !important;
  }

  body.fpb-product-context .fpb-product-story-media img {
    transform: translateX(clamp(-290px, -18vw, -190px)) scale(0.9);
  }

  body.fpb-product-context .fpb-product-story-summary {
    opacity: 1;
    transform: translateY(-50%);
  }

  body.fpb-product-context .fpb-product-story-facts-panel {
    opacity: 0;
    transform: translate3d(-24px, -50%, 0);
  }

  body.fpb-product-context .fpb-product-story-hero.is-facts-phase .fpb-product-story-summary {
    opacity: 0;
  }

  body.fpb-product-context .fpb-product-story-hero.is-facts-phase .fpb-product-story-facts-panel {
    opacity: 1;
    transform: translateY(-50%);
  }

  body.fpb-product-context .fpb-product-dimension-media {
    transform: translateX(clamp(190px, 18vw, 290px)) scale(0.92);
  }

  body.fpb-product-context .fpb-product-technical-panel {
    opacity: 1;
    transform: none;
  }

  .fpb-shell-active *,
  .fpb-shell-active *::before,
  .fpb-shell-active *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }

  .fpb-dock-menu .fpb-dock-menu-plus-icon {
    opacity: 0;
    transform: scale(0.82);
    animation: none !important;
  }

  .fpb-dock-menu .fpb-dock-menu-account-icon {
    opacity: 1;
    transform: scale(1);
    animation: none !important;
  }

  .fpb-carousel-slide,
  .fpb-carousel-slide.is-active,
  .fpb-section-slide,
  .fpb-section-slide.is-active {
    animation: none !important;
    transform: none;
  }
}

@media (max-width: 900px) and (prefers-reduced-motion: reduce) {
  body.fpb-product-context .fpb-product-story-media img {
    transform: translateY(-17vh) scale(0.8);
  }

  body.fpb-product-context .fpb-product-story-summary,
  body.fpb-product-context .fpb-product-story-facts-panel {
    transform: none;
  }

  body.fpb-product-context .fpb-product-dimension-media {
    transform: translateY(-17vh) scale(0.8);
  }
}

@media (forced-colors: active) {
  .fpb-menu-trigger,
  .fpb-theme-control,
  .fpb-smart-dock,
  .fpb-navigation-drawer,
  .fpb-carousel-dots button,
  .fpb-section-dots button,
  .fpb-project-dock-action,
  .fpb-product-action {
    border: 2px solid ButtonText;
  }
}

/* The static company layout is one document: Elementor must not pin its hero
   or leave a duplicate sticky spacer in the reading order. */
body.fpb-company-context .fpb-company-stepper.is-static-story {
  height: auto !important;
  min-height: 0 !important;
}
body.fpb-company-context .is-static-story .fpb-company-stepper-stage {
  position: relative !important;
  inset: auto !important;
  height: auto !important;
  overflow: visible;
}
body.fpb-company-context .is-static-story .fpb-company-stepper-stage::before,
body.fpb-company-context .is-static-story .fpb-company-stepper-stage::after { display: none !important; }
body.fpb-company-context .is-static-story .fpb-info-story-section.elementor-sticky__spacer { display: none !important; }
body.fpb-company-context .is-static-story .fpb-info-story-section {
  position: relative !important;
  inset: auto !important;
  width: 100% !important;
  height: auto !important;
  min-height: calc(100svh - 2 * var(--fpb-frame-inset)) !important;
  display: flex !important;
  align-items: flex-end;
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
  z-index: auto !important;
  pointer-events: auto;
  isolation: isolate;
  background: #111614 !important;
}
body.fpb-company-context .is-static-story .fpb-info-story-section::before,
body.fpb-company-context .is-static-story .fpb-info-story-section::after {
  display: block !important;
  position: absolute !important;
  inset: 0 !important;
  animation: none !important;
  transform: none !important;
}
body.fpb-company-context .is-static-story .fpb-company-step-content {
  position: relative !important;
  inset: auto !important;
  width: 100% !important;
  padding: clamp(110px, 20svh, 190px) clamp(22px, 5vw, 60px) 115px;
  box-sizing: border-box;
  overflow: visible !important;
}
body.fpb-company-context .is-static-story .fpb-company-step-points li { display: list-item !important; }
@media (orientation: portrait) {
  .fpb-carousel-slide, .fpb-section-slide {
    background-position: center, var(--fpb-portrait-position, center);
  }
  .fpb-carousel-slide, .fpb-section-slide {
    transform: scale(1);
    animation: none !important;
    transform-origin: var(--fpb-portrait-position, center);
  }
  .fpb-carousel-slide.is-active, .fpb-section-slide.is-active {
    animation: fpb-portrait-zoom-in 8s linear both !important;
  }
  @keyframes fpb-portrait-zoom-in {
    from { transform: scale(1); }
    to { transform: scale(1.035); }
  }
}
@media (orientation: portrait) and (prefers-reduced-motion: reduce) {
  .fpb-carousel-slide.is-active, .fpb-section-slide.is-active {
    animation: none !important;
    transform: none !important;
  }
}

/* Match the homepage's native vertical section snapping on the mobile company
   stories. Oversized sections remain in normal flow so their text is reachable. */
@media (max-width: 1100px) {
  html:has(body.fpb-company-context:not(.fpb-contact-context) .is-static-story) {
    scroll-snap-type: y mandatory;
    scroll-padding-top: var(--fpb-frame-inset);
    scroll-behavior: smooth;
  }
  html:has(body.fpb-company-context.admin-bar:not(.fpb-contact-context) .is-static-story) {
    scroll-padding-top: calc(32px + var(--fpb-frame-inset));
  }
  body.fpb-company-context:not(.fpb-contact-context) { padding-bottom: 0; }
  body.fpb-company-context:not(.fpb-contact-context) .is-static-story .fpb-info-story-section {
    min-height: var(--fpb-company-section-height) !important;
    scroll-snap-align: start;
    scroll-snap-stop: always;
    scroll-margin: 0;
  }
}
@media (max-width: 782px) {
  html:has(body.fpb-company-context.admin-bar:not(.fpb-contact-context) .is-static-story) {
    scroll-padding-top: calc(46px + var(--fpb-frame-inset));
  }
}
@media (max-width: 1100px) and (max-height: 639px) {
  html:has(body.fpb-company-context:not(.fpb-contact-context) .is-static-story) {
    scroll-snap-type: y proximity;
  }
}
@media (max-width: 1100px) and (prefers-reduced-motion: reduce) {
  html:has(body.fpb-company-context:not(.fpb-contact-context) .is-static-story) {
    scroll-snap-type: none;
    scroll-behavior: auto;
  }
}
