/* Extracted from Webflow HTML <style> embeds (reset, guide overlay, nav menu). Global, unscoped — matches original exactly. */

/* ---- Global reset embed (u-position-fixed) ---- */
::before, ::after {
	box-sizing: border-box;
}
.w-embed:before, .w-embed:after,
.w-richtext:before, .w-richtext:after {
	content: unset;
}
html {
	background-color: var(--_theme---background);
}
button {
	background-color: unset;
	padding: unset;
	text-align: inherit;
}
button:not(:disabled) {
	cursor: pointer;
}
video {
	width: 100%;
	object-fit: cover;
}
/* remove padding of empty element */
.wf-empty {
	padding: 0;
}
svg {
	max-width: 100%;
}
@media (prefers-color-scheme: light) {
	option { color: black; }
}
img::selection {
	background: transparent;
}
/* Typography */
body {
	font-smoothing: antialiased;
	-webkit-font-smoothing: antialiased;
}
/* Clear Defaults */
a:not([class]) {
	text-decoration: underline;
}
h1,h2,h3,h4,h5,h6,p,blockquote,label {
	font-family: inherit;
	font-size: inherit;
	font-weight: inherit;
	line-height: inherit;
	letter-spacing: inherit;
	text-transform: inherit;
	text-wrap: inherit;
	margin-top: 0;
	margin-bottom: 0;
}
select:has(option[value=""]:checked) {
	color: color-mix(in lab, currentcolor 60%, transparent)
}
/* Selection Color */
::selection {
	background-color: var(--_theme---selection--background);
	color: var(--_theme---selection--text);
}
/* Margin Trim */
:is(.u-margin-trim,.w-richtext,.u-content-wrapper,[class*="u-container"],[class*="u-layout-column"]) > :not(:not(.w-condition-invisible,.u-cover-absolute,.u-ignore-trim) ~ :not(.w-condition-invisible,.u-cover-absolute,.u-ignore-trim)),
:is(.u-margin-trim,.w-richtext,.u-content-wrapper,[class*="u-container"],[class*="u-layout-column"]) > :not(:not(.w-condition-invisible,.u-cover-absolute,.u-ignore-trim) ~ :not(.w-condition-invisible,.u-cover-absolute,.u-ignore-trim)).u-display-contents > :first-child {
	margin-top: 0;
}
:is(.u-margin-trim,.w-richtext,.u-content-wrapper,[class*="u-container"],[class*="u-layout-column"]) > :not(:has(~ :not(.w-condition-invisible,.u-cover-absolute,.u-ignore-trim))),
:is(.u-margin-trim,.w-richtext,.u-content-wrapper,[class*="u-container"],[class*="u-layout-column"]) > :not(:has(~ :not(.w-condition-invisible,.u-cover-absolute,.u-ignore-trim))).u-display-contents > :last-child {
	margin-bottom: 0;
}
/* Line Height Trim */
:not(.u-text-trim-off) > :is(h1,h2,h3,h4,h5,h6,p):not(.u-text-trim-off,:has([class*="u-text-style-"]))::before,
[class*="u-text-style-"]:not(.u-text-trim-off,:has(h1,h2,h3,h4,h5,h6,p))::before {
	content: "";
	display: table;
	margin-bottom: calc(-0.5lh + var(--_text-style---trim-top));
}
:not(.u-text-trim-off) > :is(h1,h2,h3,h4,h5,h6,p):not(.u-text-trim-off,:has([class*="u-text-style-"]))::after,
[class*="u-text-style-"]:not(.u-text-trim-off,:has(h1,h2,h3,h4,h5,h6,p))::after {
	content: "";
	display: table;
	margin-bottom: calc(-0.5lh + var(--_text-style---trim-bottom));
}
/* Rich Text Links */
.w-richtext a {
	position: relative;
	z-index: 4;
}
/* Line Clamp */
[class*="u-line-clamp"]:not(.w-richtext),
[class*="u-line-clamp"].w-richtext > * {
	display: -webkit-box;
	-webkit-line-clamp: 1;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
[class*="u-line-clamp"].w-richtext > :not(:first-child) { display: none; }
.u-line-clamp-2:not(.w-richtext), .u-line-clamp-2.w-richtext > * { -webkit-line-clamp: 2; }
.u-line-clamp-3:not(.w-richtext), .u-line-clamp-3.w-richtext > * { -webkit-line-clamp: 3; }
.u-line-clamp-4:not(.w-richtext), .u-line-clamp-4.w-richtext > * { -webkit-line-clamp: 4; }
/* Text Max Width */
.u-text > * {
	width: 100%;
	max-width: inherit !important;
  margin-inline: 0 !important;
	margin-top: 0 !important;
}
/* Background Slot Children */
.u-background-slot > * {
	position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  aspect-ratio: unset !important;
}
/* Hide */
.u-hide-if-empty:empty,
.u-hide-if-empty:has(> *):not(:has(> :not(.w-condition-invisible))),
.u-hide-if-empty-cms:not(:has(.w-dyn-item)),
[class*="u-layout-column"]:empty {
	display: none !important;
}
/* Focus State */
a, button, :where([tabindex]), input {
	outline-offset: var(--focus--offset-outer);
}
a:focus-visible,
button:focus-visible,
[tabindex]:focus-visible,
input:focus-visible {
	outline-color: var(--_theme---text);
	outline-width: var(--focus--width);
	outline-style: solid;
}
/* Disabled */
[data-button]:has(button:disabled) {
	opacity: 0.5;
  pointer-events: none;
}
/* Global / Clickable Component */
.wf-design-mode .clickable_wrap { z-index: 0; }
.clickable_wrap a[href="#"] { display: none; }
.clickable_wrap a[href="#"] ~ button { display: block; }
/* Number Attributes */
[data-number="-1"]{--number: initial;}[data-number="0"]{--number: 0;}[data-number="1"]{--number:1}[data-number="2"]{--number:2}[data-number="3"]{--number:3}[data-number="4"]{--number:4}[data-number="5"]{--number:5}[data-number="6"]{--number:6}[data-number="7"]{--number:7}[data-number="8"]{--number:8}[data-number="9"]{--number:9}
[data-number="10"]{--number:10}[data-number="11"]{--number:11}[data-number="12"]{--number:12}[data-number="13"]{--number:13}[data-number="14"]{--number:14}[data-number="15"]{--number:15}[data-number="16"]{--number:16}[data-number="17"]{--number:17}[data-number="18"]{--number:18}[data-number="19"]{--number:19}
[data-number="20"]{--number:20}[data-number="21"]{--number:21}[data-number="22"]{--number:22}[data-number="23"]{--number:23}[data-number="24"]{--number:24}[data-number="25"]{--number:25}[data-number="26"]{--number:26}[data-number="27"]{--number:27}[data-number="28"]{--number:28}[data-number="29"]{--number:29}
[data-number="30"]{--number:30}[data-number="31"]{--number:31}[data-number="32"]{--number:32}[data-number="33"]{--number:33}[data-number="34"]{--number:34}[data-number="35"]{--number:35}[data-number="36"]{--number:36}[data-number="37"]{--number:37}[data-number="38"]{--number:38}[data-number="39"]{--number:39}
[data-number="40"]{--number:40}[data-number="41"]{--number:41}[data-number="42"]{--number:42}[data-number="43"]{--number:43}[data-number="44"]{--number:44}[data-number="45"]{--number:45}[data-number="46"]{--number:46}[data-number="47"]{--number:47}[data-number="48"]{--number:48}[data-number="49"]{--number:49}
[data-number="50"]{--number:50}[data-number="51"]{--number:51}[data-number="52"]{--number:52}[data-number="53"]{--number:53}[data-number="54"]{--number:54}[data-number="55"]{--number:55}[data-number="56"]{--number:56}[data-number="57"]{--number:57}[data-number="58"]{--number:58}[data-number="59"]{--number:59}
[data-number="60"]{--number:60}[data-number="61"]{--number:61}[data-number="62"]{--number:62}[data-number="63"]{--number:63}[data-number="64"]{--number:64}[data-number="65"]{--number:65}[data-number="66"]{--number:66}[data-number="67"]{--number:67}[data-number="68"]{--number:68}[data-number="69"]{--number:69}
[data-number="70"]{--number:70}[data-number="71"]{--number:71}[data-number="72"]{--number:72}[data-number="73"]{--number:73}[data-number="74"]{--number:74}[data-number="75"]{--number:75}[data-number="76"]{--number:76}[data-number="77"]{--number:77}[data-number="78"]{--number:78}[data-number="79"]{--number:79}
[data-number="80"]{--number:80}[data-number="81"]{--number:81}[data-number="82"]{--number:82}[data-number="83"]{--number:83}[data-number="84"]{--number:84}[data-number="85"]{--number:85}[data-number="86"]{--number:86}[data-number="87"]{--number:87}[data-number="88"]{--number:88}[data-number="89"]{--number:89}
[data-number="90"]{--number:90}[data-number="91"]{--number:91}[data-number="92"]{--number:92}[data-number="93"]{--number:93}[data-number="94"]{--number:94}[data-number="95"]{--number:95}[data-number="96"]{--number:96}[data-number="97"]{--number:97}[data-number="98"]{--number:98}[data-number="99"]{--number:99}[data-number="100"]{--number:100}
/* State Manager */
[data-state] { --_state---true: 1; --_state---false: 0; }
.is-active,
[data-state~="checked"]:is(:checked, :has(:checked)),
[data-state~="current"]:is(.w--current, :has(.w--current)),
[data-state~="open"]:is(.w--open, :has(.w--open)),
[data-state~="pressed"]:is([aria-pressed="true"], :has([aria-pressed="true"])),
[data-state~="expanded"]:is([aria-expanded="true"], :has([aria-expanded="true"])),
[data-state~="external"]:is([target="_blank"], :has([target="_blank"])) { 
	--_state---true: 0; --_state---false: 1;
}
.wf-design-mode [data-trigger~="preview"],
[data-trigger~="focus"]:is(:focus-visible, :has(:focus-visible)),
[data-trigger~="group"]:has([data-trigger~="focus-other"]:focus-visible, [data-trigger~="focus-other"] :focus-visible)
  [data-trigger~="focus-other"]:not(:focus-visible, :has(:focus-visible)) {
	--_trigger---on: 0; --_trigger---off: 1;
}
@media (hover: hover) {
	[data-trigger~="hover"]:hover,
  [data-trigger~="hover-if-clickable"]:has(.clickable_wrap:not(.w-condition-invisible)):hover,
	[data-trigger~="group"]:has([data-trigger~="hover-other"]:hover) [data-trigger~="hover-other"]:not(:hover) { 
		--_trigger---on: 0; --_trigger---off: 1;
	}
	[data-trigger~="hover-other"]:hover { --_trigger---on: 1 !important; --_trigger---off: 0 !important; }
}
@media (hover: none) {
  [data-trigger~="mobile"] { --_trigger---on: 0; --_trigger---off: 1; }
}
/* Slot Styler */
[data-slot] > .w-dyn-list,
[data-slot] > .w-dyn-list > *,
[data-slot] > .w-dyn-list > * > *,
[data-slot] > .u-display-contents > .w-dyn-list,
[data-slot] > .u-display-contents > .w-dyn-list > *,
[data-slot] > .u-display-contents > .w-dyn-list > * > *,
[data-slot] > .u-display-contents > .u-display-contents > .w-dyn-list,
[data-slot] > .u-display-contents > .u-display-contents > .w-dyn-list > *,
[data-slot] > .u-display-contents > .u-display-contents > .w-dyn-list > * > * {
  display: contents;
}
/* Layout Slot */
.u-layout-column-2:has(> :not(.u-image-wrapper,.u-video,.u-iframe-wapper,.u-overlay)) {
	aspect-ratio: auto;
  border-radius: 0;
  overflow: visible;
}
/* Responsive Styles */
[data-large-columns="1"] { display: flex; }
[data-large-columns="2"] { display: grid; --_column-count---value: 2; }
[data-large-columns="3"] { display: grid; --_column-count---value: 3; }
[data-large-columns="4"] { display: grid; --_column-count---value: 4; }
[data-large-columns="5"] { display: grid; --_column-count---value: 5; }
[data-large-columns="6"] { display: grid; --_column-count---value: 6; }
[data-large-columns="7"] { display: grid; --_column-count---value: 7; }
[data-large-columns="8"] { display: grid; --_column-count---value: 8; }
[data-large-columns="9"] { display: grid; --_column-count---value: 9; }
[data-large-columns="10"] { display: grid; --_column-count---value: 10; }
[data-large-columns="11"] { display: grid; --_column-count---value: 11; }
[data-large-columns="12"] { display: grid; --_column-count---value: 12; }
.slider_offset { --slide-count: var(--lg); --lg: 3; --md: var(--lg); --sm: var(--md); --xs: var(--sm); }
@container (width < 50em) {
  * {
    --_responsive---large: 0;
    --_responsive---medium: 1;
    --flex-medium: flex;
    --none-medium: none;
    --column-medium: column;
    --row-medium: row;
    --start-medium: start;
    --center-medium: center;
    --end-medium: end;
    --relative-medium: relative;
  }
  :not([data-wf--grid--variant*="auto"]) > [data-medium-columns="1"] { display: flex; }
  :not([data-wf--grid--variant*="auto"]) > [data-medium-columns="2"] { display: grid; --_column-count---value: 2; }
  :not([data-wf--grid--variant*="auto"]) > [data-medium-columns="3"] { display: grid; --_column-count---value: 3; }
  :not([data-wf--grid--variant*="auto"]) > [data-medium-columns="4"] { display: grid; --_column-count---value: 4; }
  :not([data-wf--grid--variant*="auto"]) > [data-medium-columns="5"] { display: grid; --_column-count---value: 5; }
  :not([data-wf--grid--variant*="auto"]) > [data-medium-columns="6"] { display: grid; --_column-count---value: 6; }
  :not([data-wf--grid--variant*="auto"]) > [data-medium-columns="7"] { display: grid; --_column-count---value: 7; }
  :not([data-wf--grid--variant*="auto"]) > [data-medium-columns="8"] { display: grid; --_column-count---value: 8; }
  :not([data-wf--grid--variant*="auto"]) > [data-medium-columns="9"] { display: grid; --_column-count---value: 9; }
  :not([data-wf--grid--variant*="auto"]) > [data-medium-columns="10"] { display: grid; --_column-count---value: 10; }
  :not([data-wf--grid--variant*="auto"]) > [data-medium-columns="11"] { display: grid; --_column-count---value: 11; }
  :not([data-wf--grid--variant*="auto"]) > [data-medium-columns="12"] { display: grid; --_column-count---value: 12; }
	.u-order-first-medium { order: -1; }
	.u-order-auto-medium { order: 0; }
	.u-order-last-medium { order: 1; }
	.u-display-contents-medium { display: contents; }
	.u-display-block-medium { display: block; }
	.u-display-grid-medium { display: grid; }
	.u-display-flex-medium { display: flex; }
	.u-display-none-medium { display: none; }
	.u-all-unset-medium { all: unset; }
	.slider_offset { --slide-count: var(--md); }
}
@container (width < 35em) {
  * {
    --_responsive---medium: 0;
    --_responsive---small: 1;
    --flex-small: flex;
    --none-small: none;
    --column-small: column;
    --row-small: row;
    --start-small: start;
    --center-small: center;
    --end-small: end;
		--relative-small: relative;
  }
  :not([data-wf--grid--variant*="auto"]) > [data-small-columns="1"] { display: flex; }
  :not([data-wf--grid--variant*="auto"]) > [data-small-columns="2"] { display: grid; --_column-count---value: 2; }
  :not([data-wf--grid--variant*="auto"]) > [data-small-columns="3"] { display: grid; --_column-count---value: 3; }
  :not([data-wf--grid--variant*="auto"]) > [data-small-columns="4"] { display: grid; --_column-count---value: 4; }
  :not([data-wf--grid--variant*="auto"]) > [data-small-columns="5"] { display: grid; --_column-count---value: 5; }
  :not([data-wf--grid--variant*="auto"]) > [data-small-columns="6"] { display: grid; --_column-count---value: 6; }
  :not([data-wf--grid--variant*="auto"]) > [data-small-columns="7"] { display: grid; --_column-count---value: 7; }
  :not([data-wf--grid--variant*="auto"]) > [data-small-columns="8"] { display: grid; --_column-count---value: 8; }
  :not([data-wf--grid--variant*="auto"]) > [data-small-columns="9"] { display: grid; --_column-count---value: 9; }
  :not([data-wf--grid--variant*="auto"]) > [data-small-columns="10"] { display: grid; --_column-count---value: 10; }
  :not([data-wf--grid--variant*="auto"]) > [data-small-columns="11"] { display: grid; --_column-count---value: 11; }
  :not([data-wf--grid--variant*="auto"]) > [data-small-columns="12"] { display: grid; --_column-count---value: 12; }
	.u-order-first-small { order: -1; }
	.u-order-auto-small { order: 0; }
	.u-order-last-small { order: 1; }
	.u-display-contents-small { display: contents; }
	.u-display-block-small { display: block; }
	.u-display-grid-small { display: grid; }
	.u-display-flex-small { display: flex; }
	.u-display-none-small { display: none; }
	.u-all-unset-small { all: unset; }
	.slider_offset { --slide-count: var(--sm); }
}
@container (width < 20em) {
  * {
    --_responsive---small: 0;
    --_responsive---xsmall: 1;
    --flex-xsmall: flex;
    --none-xsmall: none;
    --column-xsmall: column;
    --row-xsmall: row;
    --start-xsmall: start;
    --center-xsmall: center;
    --end-xsmall: end;
		--relative-xsmall: relative;
  }
  :not([data-wf--grid--variant*="auto"]) > [data-xsmall-columns="1"] { display: flex; }
  :not([data-wf--grid--variant*="auto"]) > [data-xsmall-columns="2"] { display: grid; --_column-count---value: 2; }
  :not([data-wf--grid--variant*="auto"]) > [data-xsmall-columns="3"] { display: grid; --_column-count---value: 3; }
  :not([data-wf--grid--variant*="auto"]) > [data-xsmall-columns="4"] { display: grid; --_column-count---value: 4; }
  :not([data-wf--grid--variant*="auto"]) > [data-xsmall-columns="5"] { display: grid; --_column-count---value: 5; }
  :not([data-wf--grid--variant*="auto"]) > [data-xsmall-columns="6"] { display: grid; --_column-count---value: 6; }
  :not([data-wf--grid--variant*="auto"]) > [data-xsmall-columns="7"] { display: grid; --_column-count---value: 7; }
  :not([data-wf--grid--variant*="auto"]) > [data-xsmall-columns="8"] { display: grid; --_column-count---value: 8; }
  :not([data-wf--grid--variant*="auto"]) > [data-xsmall-columns="9"] { display: grid; --_column-count---value: 9; }
  :not([data-wf--grid--variant*="auto"]) > [data-xsmall-columns="10"] { display: grid; --_column-count---value: 10; }
  :not([data-wf--grid--variant*="auto"]) > [data-xsmall-columns="11"] { display: grid; --_column-count---value: 11; }
  :not([data-wf--grid--variant*="auto"]) > [data-xsmall-columns="12"] { display: grid; --_column-count---value: 12; }
	.u-order-first-xsmall { order: -1; }
	.u-order-auto-xsmall { order: 0; }
	.u-order-last-xsmall { order: 1; }
	.u-display-contents-xsmall { display: contents; }
	.u-display-block-xsmall { display: block; }
	.u-display-grid-xsmall { display: grid; }
	.u-display-flex-xsmall { display: flex; }
	.u-display-none-xsmall { display: none; }
	.u-all-unset-xsmall { all: unset; }
	.slider_offset { --slide-count: var(--xs); }
}
.u-split-fix div[style*="overflow: clip;"] { padding-block: 0.5em; margin-block: -0.5em; }
.u-split-fix div[style*="overflow: clip;"][style*="display: block"]:not(:first-child) { margin-top: -1em; }
.u-split-fix div[style*="overflow: clip;"][style*="display: block"]:not(:last-child) { margin-bottom: -1em; }
.u-split-fix div[style*="overflow: clip;"] { padding-inline: 0.2em; margin-inline: -0.2em; }
/* ========================================
   REUSABLE ICON + ARROW ANIMATION SYSTEM
   ======================================== */
/* Text animation - reusable with data-text-trigger attribute */
:root {
/* ========================================
   REUSABLE ICON + ARROW ANIMATION SYSTEM
   ======================================== */
/* Text animation - reusable with data-text-trigger attribute */
[data-text-trigger] [data-text-wrap]{
  display: grid;
}
[data-text-trigger] [data-text-wrap] [data-text-content]{
  grid-area: 1 / 1;
  transition: scale 0.45s var(--smooth-ease);
  transform-origin: center top;
}
[data-text-trigger]:hover [data-text-wrap] [data-text-content]{
  scale: 1 0;
}
/* Duplicate text that scales in from bottom */
[data-text-trigger] [data-text-wrap]::before {
  content: attr(data-text);
  grid-area: 1 / 1;
  scale: 1 0;
  pointer-events: none;
  transition: scale 0.45s var(--smooth-ease);
  transform-origin: center bottom;
}
[data-text-trigger]:hover [data-text-wrap]::before {
  scale: 1 1;
}
/* Icon animation - reusable with data-icon-trigger attribute */
[data-icon-trigger] [data-icon-circle]{
  border-radius: 999px;
  transform: scale(0.25);
  transition: transform var(--dur) var(--bounce-cubic-ease);
}
[data-icon-trigger]:hover [data-icon-circle]{
  transform: scale(1);
}
/* Arrow animation - reusable with data-icon-trigger attribute */
[data-icon-trigger] [data-icon-arrow]{
  opacity: 0;
  transform: translate(-100%, 100%);
  transition: transform 200ms var(--smooth-ease), 
              opacity 200ms var(--smooth-ease);
  transition-delay: 0ms;
}
[data-icon-trigger]:hover [data-icon-arrow]{
  opacity: 1;
  transform: translate(0, 0);
  transition-delay: 100ms;
}
/* Image grayscale + scale animation */
[data-icon-trigger] img {
  filter: grayscale(100%);
  transform: scale(1);
  transition: filter 1s var(--smooth-ease), 
              transform 1s var(--smooth-ease);
}
[data-icon-trigger]:hover img {
  filter: grayscale(0%);
  transform: scale(1.05);
}
.cky-modal p {
  margin-bottom: 1rem;
}
  /* Icon */
.u-icon svg {
  display: block !important;
  width: 100% !important;
  height: auto !important;
}
.u-icon path[stroke] {
  stroke: currentColor !important;
  stroke-width: var(--border-width--main);
  vector-effect: non-scaling-stroke;
}
.u-icon :is(path:not([stroke]), rect, circle, ellipse, polygon, polyline) {
  fill: currentColor !important;
}

/* ---- Guide overlay embed ---- */
html.wf-design-mode .guide_wrap {
	display: block;
}
.guide_layout {
	counter-reset: gridguides;
}
.guide_layout > div::before {
  counter-increment: gridguides;
  content: counter(gridguides);
}

/* ---- Nav component embed (menu open/close, dropdowns, hover) ---- */
:root {
	--nav--menu-open-duration: 400ms;
	--nav--menu-close-duration: 400ms;
	--nav--dropdown-open-duration: 400ms;
	--nav--dropdown-close-duration: 400ms;
}
body:has(.nav_component .w-nav-button.w--open):not(:has(.nav_desktop_wrap:not(.w-condition-invisible))) { overflow: hidden; }
/* on smaller screens */
@media (width < 65em) {
	/* disable scroll when mobile menu is open */
	body:has(.nav_component .w-nav-button.w--open) { overflow: hidden; }
}
/* on larger screens */
@container (min-width: 65em) {
	/* show desktop nav & dropdown backdrop */
	.nav_desktop_wrap, .nav_dropdown_backdrop { display: block; }
	/* hide mobile nav & mobile menu backdrop */
	.nav_desktop_wrap:not(.w-condition-invisible) ~ .nav_mobile_wrap, .nav_desktop_wrap:not(.w-condition-invisible) ~ .nav_menu_backdrop { display: none; }
}
/* dropdown list: initial state */
html:not(.wf-design-mode) .nav_dropdown_component > .w-dropdown-list {
	/* removes display none to enable css transitions */
	display: grid !important;
	grid-template-columns: minmax(0, 1fr);
	/* sets list to 0 height by default */
	grid-template-rows: 0fr;
	transition: grid-template-rows var(--nav--dropdown-close-duration);
	/* makes list content not focusable when closed */
	visibility: hidden;
	opacity: 0;
}
/* makes list content focusable when opened */
html:not(.wf-design-mode) .nav_dropdown_component > .w-dropdown-list.w--open {
	visibility: visible;
	opacity: 1;
}
/* sets list child to overflow hidden to enable css height transition */
.nav_dropdown_component > .w-dropdown-list > * {
	overflow: hidden;
}
/* set open state of dropdown list */
.nav_dropdown_component:has(> .w-dropdown-toggle[aria-expanded="true"]) > .w-dropdown-list {
	--nav--dropdown-close-duration: var(--nav--dropdown-open-duration);
	grid-template-rows: 1fr;
}
/* on desktop, delay dropdown opening if another dropdown is open */
.nav_desktop_wrap:has(.nav_dropdown_component > .w-dropdown-toggle.w--open[aria-expanded="false"]) .nav_dropdown_component:has(> .w--open[aria-expanded="true"]) > .w-dropdown-list {
	transition-delay: var(--nav--dropdown-close-duration);
}
/* reveal dropdown backdrop when dropdown open */
.nav_dropdown_backdrop {
	transition: opacity var(--nav--dropdown-close-duration);
}
body:has(.nav_dropdown_component > [aria-expanded="true"]) .nav_dropdown_backdrop {
	opacity: 1;
}
/* reveal mobile menu backdrop on menu open */
.nav_menu_backdrop {
	transition: opacity var(--nav--menu-close-duration);
}
.nav_component:has(.w-nav-button.w--open) .nav_menu_backdrop {
	opacity: 1;
}
/* menu animations */
@keyframes menuOpen {
 from { clip-path: polygon(0 0, 100% 0, 100% 0, 0 0); }
 to { clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%); }
}
@keyframes menuClose {
 from { clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%); }
 to { clip-path: polygon(0 0, 100% 0, 100% 0, 0 0); }
}
/* menu open */
.nav_component:has(.w-nav-button.w--open) .w-nav-menu {
	animation: menuOpen var(--nav--menu-open-duration) ease-in-out forwards;
}
/* menu close */
.nav_component:has(.w-nav-button:not(.w--open)) .w-nav-menu {
	animation: menuClose var(--nav--menu-close-duration) ease-in-out forwards;
}
/* position overflow to top of screen */
.nav_component .w-nav-overlay {
 top: 0;
 min-height: 100vh;
}
/* open dropdown on mobile */
.nav_mobile_wrap [data-open-on-mobile] > .w-dropdown-toggle {
	display: none;
}
.nav_mobile_wrap [data-open-on-mobile] > .w-dropdown-list {
	visibility: visible !important;
	opacity: 1 !important;
	display: block !important;
	grid-template-rows: 1fr !important;
}
/* nav banner */
html:has(.nav_banner_wrap:not(.w-condition-invisible)):not(.hide-nav-banner) {
	--nav--height-total: calc(var(--nav--banner-height) + var(--nav--height) + var(--nav--spacing-outer-vertical));
}
.hide-nav-banner .nav_banner_wrap {
	display: none;
}
.wf-design-mode .nav_mobile_menu_wrap {
	width: 100%;
}
@media (hover: hover) {
	.nav_links_link_wrap:is(:hover, :focus-visible) .nav_links_link_line {
		transform: scaleX(1);
		transform-origin: 0% 50%;
	}
}
@media (hover: hover) {
	.nav_links_wrap:has(> :hover) > :not(:hover) {
  	opacity: 0.4;
  }
}
@media (hover: hover) {
	.footer_links_wrap:has(> :hover) > :not(:hover) {
  	opacity: 0.4;
  }
}
@media (hover: hover) {
	.footer_links_link_wrap:is(:hover, :focus-visible) .footer_links_link_line {
		transform: scaleX(1);
		transform-origin: 0% 50%;
	}
}

/* ---- Native staggered scroll-reveal (replaces the author's GSAP reveal) ----
   JS adds .reveal-blk to each block and .reveal-in to its section on enter. The
   per-block --reveal-i index drives the stagger via transition-delay, so the
   whole animation runs on the compositor (opacity + transform) with no JS per
   frame. Only applies when motion is allowed; if JS never runs, nothing hides. */
@media (prefers-reduced-motion: no-preference) {
	.reveal-blk {
		opacity: 0;
		transform: translateY(1.5rem);
		transition: opacity 0.7s cubic-bezier(0.16, 1, 0.3, 1), transform 0.7s cubic-bezier(0.16, 1, 0.3, 1);
		transition-delay: calc(var(--reveal-i, 0) * 70ms);
	}
	.reveal-in.reveal-blk,
	.reveal-in .reveal-blk {
		opacity: 1;
		transform: none;
	}
}

/* ---- Native slider (replaces Swiper): hidden scrollbar + non-shrinking slides ---- */
.is-native-slider { scrollbar-width: none; -ms-overflow-style: none; }
.is-native-slider::-webkit-scrollbar { display: none; }
.is-native-slider .swiper-slide { flex-shrink: 0; scroll-snap-align: start; }

/* ---- Floating "Schedule a Conversation" CTA: scroll-triggered reveal ---- */
.sticky_button_wrap {
	opacity: 0;
	visibility: hidden;
	transform: translateY(1rem);
	transition: opacity 0.4s ease, transform 0.4s ease, visibility 0.4s;
}
.sticky_button_wrap.is-visible {
	opacity: 1;
	visibility: visible;
	transform: none;
}

/* ---- Mobile menu: reveal on open (replaces webflow.js, which positions the
   menu as an overlay and overrides the Webflow default
   `.w-nav[data-collapse='all'] .w-nav-menu { display:none }`). The menu carries
   `inset:0 0 auto` but no `position`, so it needs absolute positioning to drop
   down from the nav bar. ---- */
.nav_mobile_menu_wrap.w-nav-menu {
	position: absolute;
}
.nav_component:has(.w-nav-button.w--open) .w-nav-menu {
	display: block !important;
	clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%) !important;
	animation: none !important;
}

/* ---- CMS: hide the "No items found" empty-state once a list has items ---- */
.w-dyn-list:has(.w-dyn-item) .w-dyn-empty { display: none !important; }
