/* builder_capabilities */
@property --bv-carousel-gap{syntax: '<length-percentage>';inherits: true;initial-value: 16px;}[data-ch-widget="carousel"]:not([data-ch-carousel-type="hero"]):not([data-ch-widget-mounted="never"]){container-type: inline-size;display: flex;flex-wrap: nowrap;gap: var(--bv-carousel-gap,16px) !important;overflow-x: auto !important;overflow-y: hidden;scroll-snap-type: x mandatory;scrollbar-width: none;-webkit-overflow-scrolling: touch;--bv-carousel-cap: 12;--bv-carousel-eff-mobile: min(var(--bv-carousel-mobile,1),var(--bv-carousel-cap));--bv-carousel-eff-tablet: min(var(--bv-carousel-tablet,2),var(--bv-carousel-cap));--bv-carousel-eff-desktop: min(var(--bv-carousel-desktop,3),var(--bv-carousel-cap));--bv-carousel-eff-large: min(var(--bv-carousel-large,4),var(--bv-carousel-cap));}[data-ch-widget="carousel"]:not([data-ch-carousel-type="hero"]):not([data-ch-widget-mounted="never"]):has(> :not(.chc-carousel):first-child:last-child){--bv-carousel-cap: 1;}[data-ch-widget="carousel"]:not([data-ch-carousel-type="hero"]):not([data-ch-widget-mounted="never"]):has(> :not(.chc-carousel):nth-child(2):last-child){--bv-carousel-cap: 2;}[data-ch-widget="carousel"]:not([data-ch-carousel-type="hero"]):not([data-ch-widget-mounted="never"]):has(> :not(.chc-carousel):nth-child(3):last-child){--bv-carousel-cap: 3;}:where([data-ch-widget="carousel"]:not([data-ch-carousel-type="hero"]))::-webkit-scrollbar{display: none;}:where([data-ch-widget="carousel"]:not([data-ch-carousel-type="hero"])) > *:not(.chc-carousel){flex: 0 0 calc((100% - var(--bv-carousel-gap,16px) * (var(--bv-carousel-eff-mobile,var(--bv-carousel-mobile,1)) - 1)) / var(--bv-carousel-eff-mobile,var(--bv-carousel-mobile,1))) !important;min-width: 0 !important;scroll-snap-align: start;content-visibility: auto;contain-intrinsic-size: auto none;}:where([data-ch-widget="carousel"]:not([data-ch-carousel-type="hero"])) > *:not(.chc-carousel):nth-child(-n+4){content-visibility: visible;}@container (min-width: 620px){:where([data-ch-widget="carousel"]:not([data-ch-carousel-type="hero"])) > *:not(.chc-carousel){flex: 0 0 calc((100% - var(--bv-carousel-gap,16px) * (var(--bv-carousel-eff-tablet,var(--bv-carousel-tablet,2)) - 1)) / var(--bv-carousel-eff-tablet,var(--bv-carousel-tablet,2))) !important;}}@container (min-width: 801px){:where([data-ch-widget="carousel"]:not([data-ch-carousel-type="hero"])) > *:not(.chc-carousel){flex: 0 0 calc((100% - var(--bv-carousel-gap,16px) * (var(--bv-carousel-eff-desktop,var(--bv-carousel-desktop,3)) - 1)) / var(--bv-carousel-eff-desktop,var(--bv-carousel-desktop,3))) !important;}}@container (min-width: 1201px){:where([data-ch-widget="carousel"]:not([data-ch-carousel-type="hero"])) > *:not(.chc-carousel){flex: 0 0 calc((100% - var(--bv-carousel-gap,16px) * (var(--bv-carousel-eff-large,var(--bv-carousel-large,4)) - 1)) / var(--bv-carousel-eff-large,var(--bv-carousel-large,4))) !important;}}[data-ch-carousel-shell]{position: relative;display: grid;grid-template-columns: 1fr;}[data-ch-carousel-chrome]{pointer-events: none;}[data-ch-carousel-pager][hidden]{display: none !important;}[data-ch-carousel-shell] > [data-ch-widget="carousel"]{grid-row: 1;grid-column: 1;min-width: 0;}:where([data-ch-widget="carousel"][data-ch-carousel-type="hero"]:not([data-ch-widget-mounted="client"])) > :not(:first-child):not([class*="chc-"]){display: none !important;}
@property --bv-grid-gap{syntax: '<length-percentage>';inherits: true;initial-value: 16px;}[data-ch-widget="grid"]:not([data-ch-widget-mounted="never"]){container-type: inline-size !important;display: flex !important;flex-wrap: wrap !important;gap: var(--bv-grid-gap,16px) !important;justify-content: flex-start !important;--bv-grid-cap: 12;--bv-grid-eff-mobile: min(var(--bv-grid-mobile,1),var(--bv-grid-cap));--bv-grid-eff-tablet: min(var(--bv-grid-tablet,2),var(--bv-grid-cap));--bv-grid-eff-desktop: min(var(--bv-grid-desktop,3),var(--bv-grid-cap));--bv-grid-eff-large: min(var(--bv-grid-large,4),var(--bv-grid-cap));}[data-ch-widget="grid"]:not([data-ch-widget-mounted="never"]):has(> :first-child:last-child){--bv-grid-cap: 1;}[data-ch-widget="grid"]:not([data-ch-widget-mounted="never"]):has(> :nth-child(2):last-child){--bv-grid-cap: 2;}[data-ch-widget="grid"]:not([data-ch-widget-mounted="never"]):has(> :nth-child(3):last-child){--bv-grid-cap: 3;}:where([data-ch-widget="grid"]) > *{flex: 0 0 calc((100% - var(--bv-grid-gap,16px) * (var(--bv-grid-eff-mobile,var(--bv-grid-mobile,1)) - 1)) / var(--bv-grid-eff-mobile,var(--bv-grid-mobile,1))) !important;min-width: 0 !important;}@container (min-width: 620px){:where([data-ch-widget="grid"]) > *{flex: 0 0 calc((100% - var(--bv-grid-gap,16px) * (var(--bv-grid-eff-tablet,var(--bv-grid-tablet,2)) - 1)) / var(--bv-grid-eff-tablet,var(--bv-grid-tablet,2))) !important;}}@container (min-width: 801px){:where([data-ch-widget="grid"]) > *{flex: 0 0 calc((100% - var(--bv-grid-gap,16px) * (var(--bv-grid-eff-desktop,var(--bv-grid-desktop,3)) - 1)) / var(--bv-grid-eff-desktop,var(--bv-grid-desktop,3))) !important;}}@container (min-width: 1201px){:where([data-ch-widget="grid"]) > *{flex: 0 0 calc((100% - var(--bv-grid-gap,16px) * (var(--bv-grid-eff-large,var(--bv-grid-large,4)) - 1)) / var(--bv-grid-eff-large,var(--bv-grid-large,4))) !important;}}:where([data-ch-widget="grid"]) > :is(.ch-grid_empty,[data-ch-grid-full]){flex-basis: 100% !important;}
:where([data-ch-widget="tabs"][data-ch-widget-mounted="server"] [data-ch-tab-panel][hidden]){display: none;}:where([data-ch-widget="tabs"][data-ch-widget-mounted="server"] [data-ch-tab][aria-selected="true"]){font-weight: 600;}
:where([data-ch-widget="accordion"][data-ch-widget-mounted="server"]) > details{}:where([data-ch-widget="accordion"][data-ch-widget-mounted="server"]) > details > summary{cursor: pointer;list-style: none;}:where([data-ch-widget="accordion"][data-ch-widget-mounted="server"]) > details > summary::-webkit-details-marker{display: none;}
.ch-media{display: block;width: 100%;}img.ch-media,.ch-media__slide{display: block;width: 100%;height: 100%;object-fit: cover;}.ch-media--video{position: relative;aspect-ratio: 16 / 9;background: #000;}.ch-media--video > iframe,.ch-media--video > video{position: absolute;inset: 0;width: 100%;height: 100%;border: 0;}.ch-media--slideshow{position: relative;overflow: hidden;}.ch-media--slideshow > .ch-media__slide{position: absolute;inset: 0;opacity: 0;animation-duration: var(--ch-media-cycle);animation-iteration-count: infinite;animation-timing-function: linear;}.ch-media--slideshow > .ch-media__slide:first-child{position: relative;opacity: 1;}@media (prefers-reduced-motion: reduce){.ch-media--slideshow > .ch-media__slide{animation: none !important;}}.ch-media--slideshow[data-ch-media-slides="2"] > .ch-media__slide{animation-name: ch-media-fade-2;}@keyframes ch-media-fade-2{0%{opacity: 1;}42.5%{opacity: 1;}50%{opacity: 0;}92.5%{opacity: 0;}100%{opacity: 1;}}.ch-media--slideshow[data-ch-media-slides="3"] > .ch-media__slide{animation-name: ch-media-fade-3;}@keyframes ch-media-fade-3{0%{opacity: 1;}28.333%{opacity: 1;}33.333%{opacity: 0;}95%{opacity: 0;}100%{opacity: 1;}}.ch-media--slideshow[data-ch-media-slides="4"] > .ch-media__slide{animation-name: ch-media-fade-4;}@keyframes ch-media-fade-4{0%{opacity: 1;}21.25%{opacity: 1;}25%{opacity: 0;}96.25%{opacity: 0;}100%{opacity: 1;}}.ch-media--slideshow[data-ch-media-slides="5"] > .ch-media__slide{animation-name: ch-media-fade-5;}@keyframes ch-media-fade-5{0%{opacity: 1;}17%{opacity: 1;}20%{opacity: 0;}97%{opacity: 0;}100%{opacity: 1;}}.ch-media--slideshow[data-ch-media-slides="6"] > .ch-media__slide{animation-name: ch-media-fade-6;}@keyframes ch-media-fade-6{0%{opacity: 1;}14.167%{opacity: 1;}16.667%{opacity: 0;}97.5%{opacity: 0;}100%{opacity: 1;}}.ch-media--slideshow[data-ch-media-slides="7"] > .ch-media__slide{animation-name: ch-media-fade-7;}@keyframes ch-media-fade-7{0%{opacity: 1;}12.143%{opacity: 1;}14.286%{opacity: 0;}97.857%{opacity: 0;}100%{opacity: 1;}}.ch-media--slideshow[data-ch-media-slides="8"] > .ch-media__slide{animation-name: ch-media-fade-8;}@keyframes ch-media-fade-8{0%{opacity: 1;}10.625%{opacity: 1;}12.5%{opacity: 0;}98.125%{opacity: 0;}100%{opacity: 1;}}.ch-media--slideshow[data-ch-media-slides="9"] > .ch-media__slide{animation-name: ch-media-fade-9;}@keyframes ch-media-fade-9{0%{opacity: 1;}9.444%{opacity: 1;}11.111%{opacity: 0;}98.333%{opacity: 0;}100%{opacity: 1;}}.ch-media--slideshow[data-ch-media-slides="10"] > .ch-media__slide{animation-name: ch-media-fade-10;}@keyframes ch-media-fade-10{0%{opacity: 1;}8.5%{opacity: 1;}10%{opacity: 0;}98.5%{opacity: 0;}100%{opacity: 1;}}
[data-ch-stat]{letter-spacing: -0.01em !important;}[data-ch-stat][data-ch-stat-fit]{white-space: nowrap;}
[data-ch-widget*="wall_horiz"][data-ch-widget-mounted="server"]{max-width: var(--ch-wall-horiz-width,1200px);margin: 0 auto;width: 100%;padding-inline: var(--ch-wall-horiz-padding,clamp(16px,3vw,32px));position: relative;z-index: 1;}
[data-ch-widget*="wall_vert"][data-ch-widget-mounted="server"]{padding-top: var(--ch-wall-vert-padding-top,var(--ch-wall-vert-padding,clamp(32px,4.8vw,58px)));padding-bottom: var(--ch-wall-vert-padding-bottom,var(--ch-wall-vert-padding,clamp(32px,4.8vw,58px)));position: relative;z-index: 1;}
[data-ch-widget="grid-paginator"][data-ch-widget-mounted="server"]{display: flex;align-items: center;gap: 14px;margin-top: clamp(24px,5vw,40px);position: sticky;bottom: 0;z-index: 20;background: var(--ch-bg-color,transparent);padding: 8px 12px;}[data-ch-widget="grid-paginator"][data-ch-widget-mounted="server"][data-ch-paginator-above]{top: calc(var(--nav-height,0px) + var(--supernav-height,0px));bottom: auto;margin-top: 0;margin-bottom: clamp(16px,3vw,24px);}[data-ch-widget="grid-paginator"][data-ch-widget-mounted="server"][data-ch-paginator-position="bottom"]{top: auto;bottom: 0;margin-top: clamp(24px,5vw,40px);margin-bottom: 0;}[data-ch-widget="grid-paginator"][data-ch-widget-mounted="server"]:not(.ch-pgbar){justify-content: center;}[data-ch-widget="grid-paginator"][data-ch-widget-mounted="server"]:has(> nav[hidden]){position: static;background: none;padding: 0;}[data-ch-widget="grid-paginator"] > nav[hidden],[data-ch-pager][hidden]{display: none !important;}[data-ch-pager] button[hidden],.ch-pg button[hidden]{display: none !important;}.ch-pg_rail{position: absolute;pointer-events: none;}[data-ch-widget="grid-paginator"] > nav:where(:not([data-ch-pager])){display: flex;align-items: center;gap: 14px;position: relative;}[data-ch-widget="grid-paginator"] :where(nav:not([data-ch-pager])) button{display: inline-flex;align-items: center;justify-content: center;width: 40px;height: 40px;padding: 0;border: 1px solid var(--ch-text-color-accent,var(--ch-text-color,rgba(15,28,46,0.16)));border-radius: 0;background: var(--ch-card-bg,transparent);color: var(--ch-card-text-color,var(--ch-text-color,inherit));cursor: pointer;transition: background-color 0.15s ease,border-color 0.15s ease,opacity 0.15s ease;}[data-ch-widget="grid-paginator"] :where(nav:not([data-ch-pager])) button i[data-mask-icon]{background-color: var(--ch-text-color-accent,var(--ch-text-color,currentColor));width: 18px;height: 18px;}[data-ch-widget="grid-paginator"] :where(nav:not([data-ch-pager])) button:hover:not(:disabled){border-color: var(--ch-text-color-accent,var(--ch-color-primary,currentColor));color: var(--ch-text-color-accent,var(--ch-color-primary,currentColor));}[data-ch-widget="grid-paginator"] :where(nav:not([data-ch-pager])) button:disabled{opacity: 0.4;pointer-events: none;}[data-ch-widget="grid-paginator"] :where(nav:not([data-ch-pager])) [data-ch-page-label]{text-align: center;font-weight: 600;color: var(--ch-text-color,inherit);font-variant-numeric: tabular-nums;white-space: nowrap;}.ch-pgbar{display: flex;align-items: center;gap: 16px;flex-wrap: wrap;margin-top: 18px;width: 100%;justify-content: space-between;}.ch-pgbar > .ch-pgbar_buttons{display: flex;align-items: center;gap: 10px;flex-wrap: wrap;}.ch-pgbar,.ch-pgbar *{pointer-events: auto;}.ch-pgbar button:disabled{pointer-events: none;}.ch-pgbar--paginator_first > .ch-pgbar_buttons{order: 2;}.ch-pgbar--paginator_first > .ch-pg{order: 1;}.ch-pgbar--stacked{flex-direction: column;align-items: stretch;}.ch-pgbar--stacked > .ch-pg{order: 1;}.ch-pgbar--stacked > .ch-pgbar_buttons{order: 2;}.ch-pgbar--sides{justify-content: space-between;}.ch-pgbar--centered{justify-content: center;}.ch-pgbar--left{justify-content: flex-start;}.ch-pgbar--right{justify-content: flex-end;}.ch-pgbar--centered,.ch-pgbar--left,.ch-pgbar--right{gap: 22px;}.ch-pgbar--stacked{gap: 7px;}.ch-pgbar--stacked.ch-pgbar--centered{align-items: center;}.ch-pgbar--stacked.ch-pgbar--left{align-items: flex-start;}.ch-pgbar--stacked.ch-pgbar--right{align-items: flex-end;}.ch-pgbar--stacked.ch-pgbar--sides{justify-content: flex-start;align-items: center;}.ch-fbar{display: flex;align-items: center;box-sizing: border-box;height: var(--ch-pg-btn,40px);border: 1px solid var(--ch-text-color-accent,var(--ch-text-color,rgba(15,28,46,0.16)));border-radius: 8px;background: var(--ch-card-bg,transparent);color: var(--ch-card-text-color,var(--ch-text-color,inherit));transition: border-color 0.15s ease;overflow: hidden;max-width: 100%;}.ch-pgbar--has_filters > .ch-fbar{order: 2;}.ch-pgbar--has_filters > .ch-pg{order: 3;}.ch-pgbar--has_filters.ch-pgbar--sides > .ch-fbar{margin-left: auto;}.ch-pgbar--has_filters.ch-pgbar--no_buttons.ch-pgbar--sides > .ch-fbar{margin-left: 0;}.ch-pgbar--has_filters.ch-pgbar--paginator_first > .ch-fbar{order: 1;}.ch-pgbar--has_filters.ch-pgbar--paginator_first > .ch-pg{order: 2;}.ch-pgbar--has_filters.ch-pgbar--paginator_first > .ch-pgbar_buttons{order: 3;}.ch-pgbar--has_filters.ch-pgbar--paginator_first.ch-pgbar--sides > .ch-fbar{margin-left: 0;}.ch-pgbar--has_filters.ch-pgbar--stacked > .ch-pg{order: 1;}.ch-pgbar--has_filters.ch-pgbar--stacked > .ch-fbar{order: 2;margin-left: 0;}.ch-pgbar--has_filters.ch-pgbar--stacked > .ch-pgbar_buttons{order: 3;}.ch-pgbar--has_filters:not(.ch-pgbar--stacked) > .ch-fbar{margin-right: 2.8px;}.ch-pgbar--has_filters.ch-pgbar--paginator_first:not(.ch-pgbar--stacked) > .ch-fbar{margin-right: 0;margin-left: 2.8px;}.ch-pgbar{--ch-pg-btn: 40px;}.ch-pgbar:has(.ch-pg--modern),[data-ch-prop-paginator_variant="modern"] .ch-pgbar{--ch-pg-btn: 48px;}.ch-pgbar--has_filters:not(.ch-pgbar--stacked){align-items: flex-end;}.ch-pgbar--has_filters:not(.ch-pgbar--stacked) > .ch-pgbar_buttons{align-self: flex-end;}.ch-fbar_search{display: flex;align-items: center;gap: 8px;padding: 0 14px;align-self: stretch;cursor: text;min-width: 0;}.ch-fbar_search > i[data-mask-icon]{width: 16px;height: 16px;flex: none;opacity: 0.5;}.ch-fbar_search > input[data-ch-grid-search]{appearance: none;-webkit-appearance: none;border: 0;outline: 0;background: none;padding: 0;margin: 0;min-width: 0;width: 14ch;color: inherit;font: inherit;font-size: 14px;line-height: 20px;}.ch-fbar_search > input[data-ch-grid-search]::-webkit-search-decoration,.ch-fbar_search > input[data-ch-grid-search]::-webkit-search-cancel-button{-webkit-appearance: none;}.ch-fbar_search > input[data-ch-grid-search]::placeholder{color: inherit;opacity: 0.55;}.ch-fbar_sort{position: relative;display: flex;align-items: center;align-self: stretch;flex: none;}.ch-fbar_search + .ch-fbar_sort{border-left: 1px solid color-mix(in srgb,currentColor 18%,transparent);}.ch-fbar_sort > select[data-ch-grid-sort]{appearance: none;-webkit-appearance: none;border: 0;outline: 0;background: none;padding: 0 30px 0 14px;height: 100%;margin: 0;color: inherit;font: inherit;font-size: 11px;line-height: 20px;cursor: pointer;max-width: 18ch;text-overflow: ellipsis;}.ch-fbar_sort > select[data-ch-grid-sort] option{color: initial;background: initial;}.ch-fbar_sort > i[data-mask-icon]{position: absolute;right: 11px;width: 14px;height: 14px;opacity: 0.5;pointer-events: none;}@media (hover: hover){.ch-fbar:hover{border-color: color-mix(in srgb,var(--ch-text-color-accent,var(--ch-color-primary,currentColor)) 50%,var(--ch-text-color,rgba(15,28,46,0.16)));}}.ch-fbar:focus-within{border-color: color-mix(in srgb,var(--ch-text-color-accent,var(--ch-color-primary,currentColor)) 50%,var(--ch-text-color,rgba(15,28,46,0.16)));box-shadow: inset 0 0 0 1px color-mix(in srgb,var(--ch-text-color-accent,var(--ch-color-primary,currentColor)) 50%,transparent);}.ch-grid_empty{grid-column: 1 / -1;width: 100%;padding: 32px 0;text-align: center;opacity: 0.7;font-size: 15px;}@media (max-width: 560px){.ch-pgbar--has_filters > .ch-fbar{order: 1;width: 100%;margin-left: 0;justify-content: space-between;}.ch-fbar_search{min-width: 0;}.ch-pgbar--has_filters > .ch-pgbar_buttons{order: 2;}.ch-pgbar--has_filters > .ch-pg{order: 3;}.ch-fbar_search{flex: 1 1 auto;}.ch-fbar_search > input[data-ch-grid-search]{width: 100%;}}.ch-pgbar[data-ch-pgbar-fit]{gap: 10px;}.ch-pgbar[data-ch-pgbar-fit="2"] > .ch-pg [data-ch-page-label],.ch-pgbar[data-ch-pgbar-fit="2"] > [data-ch-pager] [data-ch-page-label]{display: none !important;}[data-ch-prop-paginator_ordering="buttons_first"] .ch-pgbar > .ch-pgbar_buttons{order: 1;}[data-ch-prop-paginator_ordering="buttons_first"] .ch-pgbar > .ch-pg{order: 2;}[data-ch-prop-paginator_ordering="paginator_first"] .ch-pgbar > .ch-pgbar_buttons{order: 2;}[data-ch-prop-paginator_ordering="paginator_first"] .ch-pgbar > .ch-pg{order: 1;}[data-ch-prop-paginator_ordering="stacked"] .ch-pgbar{flex-direction: column;align-items: stretch;gap: 7px;}[data-ch-prop-paginator_ordering="stacked"] .ch-pgbar > .ch-pg{order: 1;}[data-ch-prop-paginator_ordering="stacked"] .ch-pgbar > .ch-pgbar_buttons{order: 2;}[data-ch-prop-paginator_ordering="buttons_first"] .ch-pgbar--has_filters > .ch-pgbar_buttons{order: 1;}[data-ch-prop-paginator_ordering="buttons_first"] .ch-pgbar--has_filters > .ch-fbar{order: 2;}[data-ch-prop-paginator_ordering="buttons_first"] .ch-pgbar--has_filters > .ch-pg{order: 3;}[data-ch-prop-paginator_ordering="paginator_first"] .ch-pgbar--has_filters > .ch-fbar{order: 1;}[data-ch-prop-paginator_ordering="paginator_first"] .ch-pgbar--has_filters > .ch-pg{order: 2;}[data-ch-prop-paginator_ordering="paginator_first"] .ch-pgbar--has_filters > .ch-pgbar_buttons{order: 3;}[data-ch-prop-paginator_ordering="stacked"] .ch-pgbar--has_filters > .ch-pg{order: 1;}[data-ch-prop-paginator_ordering="stacked"] .ch-pgbar--has_filters > .ch-fbar{order: 2;}[data-ch-prop-paginator_ordering="stacked"] .ch-pgbar--has_filters > .ch-pgbar_buttons{order: 3;}[data-ch-prop-paginator_placement="sides"] .ch-pgbar{justify-content: space-between;}[data-ch-prop-paginator_placement="centered"] .ch-pgbar{justify-content: center;}[data-ch-prop-paginator_placement="left"] .ch-pgbar{justify-content: flex-start;}[data-ch-prop-paginator_placement="right"] .ch-pgbar{justify-content: flex-end;}[data-ch-prop-paginator_placement="centered"] .ch-pgbar,[data-ch-prop-paginator_placement="left"] .ch-pgbar,[data-ch-prop-paginator_placement="right"] .ch-pgbar{gap: 22px;}[data-ch-prop-paginator_ordering="stacked"][data-ch-prop-paginator_placement] .ch-pgbar{gap: 7px;}[data-ch-prop-paginator_ordering="stacked"][data-ch-prop-paginator_placement="centered"] .ch-pgbar{align-items: center;}[data-ch-prop-paginator_ordering="stacked"][data-ch-prop-paginator_placement="left"] .ch-pgbar{align-items: flex-start;}[data-ch-prop-paginator_ordering="stacked"][data-ch-prop-paginator_placement="right"] .ch-pgbar{align-items: flex-end;}[data-ch-prop-paginator_ordering="stacked"][data-ch-prop-paginator_placement="sides"] .ch-pgbar{justify-content: flex-start;align-items: center;}.ch-pgbar:not(:has(.ch-pgbar_buttons)):not(.ch-pgbar--has_filters),[data-ch-prop-paginator_placement] .ch-pgbar:not(:has(.ch-pgbar_buttons)):not(.ch-pgbar--has_filters){justify-content: flex-end;}.ch-pgbar--has_filters.ch-pgbar--no_buttons.ch-pgbar--sides,[data-ch-prop-paginator_placement="sides"] .ch-pgbar--has_filters.ch-pgbar--no_buttons{justify-content: space-between;}.ch-pgbar > .ch-pg{margin-left: 0;margin-right: 0;}.ch-pg--incarousel{position: static !important;background: none !important;padding: 0 !important;margin-top: 0 !important;justify-content: flex-end !important;margin-left: auto;}
:where([data-ch-modal-body]){display: none;}
.ch-breadcrumb{margin-bottom: 18px;}.ch-breadcrumb ul{display: flex;align-items: center;gap: 8px;flex-wrap: wrap;list-style: none;margin: 0;padding: 0;}.ch-breadcrumb li{display: flex;align-items: center;gap: 4px;margin: 0;padding: 0;}.ch-breadcrumb li::before{content: none;}.ch-breadcrumb a{display: flex;align-items: center;color: var(--ch-text-color-accent,currentColor);text-decoration: none;}.ch-breadcrumb li.active{color: var(--ch-text-color,currentColor);}.ch-breadcrumb span{display: block;line-height: 1;font-size: 14px;font-weight: 600;white-space: nowrap;}.ch-breadcrumb [data-mask-icon],.ch-breadcrumb [data-ch-icon],.ch-breadcrumb .material-icons{flex: 0 0 auto;width: 10px;height: 10px;font-size: 10px;opacity: 0.4;color: var(--ch-text-color-accent,currentColor);}.ch-breadcrumb li.active [data-mask-icon],.ch-breadcrumb li.active [data-ch-icon],.ch-breadcrumb li.active .material-icons{width: 14px;height: 14px;font-size: 14px;opacity: 1;}
/* pm 1282979 */
/* NO `overflow: hidden` on the section root. The inline search form's
   autocomplete dropdown opens BELOW the input and, on a short hero or a form
   sitting low in the band, extends past the section — a root clip truncates the
   city/area/zip list mid-row and the operator can't pick anything.
   Nothing here needs the root clip: __bg and the bg-media layer are both inset
   to 0 (already bounded by the box, and the media layer carries its own
   overflow:hidden for its cover-scaled image/video). The one element that DID
   rely on it is the wave (bottom:-1px), which now carries its own
   overflow:hidden in EjectSupport::heroWaveCss(). */
#builder-module-1282979 .hero-eject {
  position: relative;
  display: flex; align-items: center;
  background-size: cover; background-position: center;
  background-color: var(--hero-bg, var(--ch-bg-color));
  color: var(--hero-text, var(--ch-text-color));
}
#builder-module-1282979 .hero-eject__bg { position: absolute; top: 0; left: 0; right: 0; bottom: 0; z-index: 0; background-size: cover; background-position: center; overflow: hidden; }
#builder-module-1282979 .hero-eject__inner { position: relative; z-index: 2; width: 100%;
  display: flex; flex-direction: column; justify-content: center;
  /* Containment is the wall capability (data-ch-widget) — but its rule is
     `:where()`-wrapped (0,0,0) and the base reset zeroes margin/padding on
     every `div` at (0,0,1), so the wall's `margin-inline:auto` +
     `padding-inline` never land. Restate both here at class specificity so the
     content column actually centers and keeps its gutter. max-width/width stay
     on the wall (the reset doesn't touch them) — this only re-asserts what the
     reset ate, and still reads the wall's own vars so pins keep working. */
  margin-inline: auto;
  padding-inline: var(--ch-wall-horiz-padding, clamp(16px, 3vw, 32px)); }
/* The injected header cluster's default body slot is a 56ch LEFT-aligned column
   (.ch-header--default: text-align:left; __body: max-width:56ch). The live hero
   routes its rich content through the module's own contain { text-align: inherit; }
.hero-eject__text [data-ch-header] [data-ch-header-slot="body"] { max-width: none; }
/* Source: simple-style.tsx `.module_hero_simple_text { button ~ div { margin-top: 18px } }`
   — the gap BELOW the in-flow back button, before the content that follows. */
#builder-module-1282979 .hero-eject__back ~ * { margin-top: 18px; }
/* Button ROW layout only — the global [data-ch-btn] stylesheet + the resolved
   variant CSS style the anchors themselves (no --btn-* vars, no
   moduleButtonsCss), same contract as HeroSimplev3. heroAlignCss() below
   re-justifies this row for center/right instances. */
#builder-module-1282979 .hero-eject__buttons {  display: flex; flex-wrap: wrap; gap: 12px; justify-content: flex-start; }
/* Source: `.global_hero_simple_form { max-width: 100%; margin: 32px 0 0 }`, and
   `margin: 32px auto 0` when text_align is center (heroAlignCss adds the auto). */
#builder-module-1282979 .hero-eject__text .hero-form { max-width: 100%; margin-top: 32px; }
/* Source (simplev2-style.tsx:216-220): a hero over a background image/video sets
   `color: $page_module_color_text || white` on the styled SECTION, and the text
   cluster inherits it. The eject already stamps that on --hero-text, but the
   injected header cluster's headings don't inherit through by default (the
   ch-header stylesheet isn't part of this doc), so they fall back to the theme's
   body text color — visibly grey instead of white over the photo. */
#builder-module-1282979 .hero-eject__text [data-ch-header], #builder-module-1282979 .hero-eject__text [data-ch-header] [data-ch-header-slot], #builder-module-1282979 .hero-eject__text [data-ch-header] h1, #builder-module-1282979 .hero-eject__text [data-ch-header] h2, #builder-module-1282979 .hero-eject__text [data-ch-header] h3, #builder-module-1282979 .hero-eject__text [data-ch-header] h4, #builder-module-1282979 .hero-eject__text [data-ch-header] h5, #builder-module-1282979 .hero-eject__text [data-ch-header] h6, #builder-module-1282979 .hero-eject__text [data-ch-header] p { color: var(--hero-text, inherit); }

#builder-module-1282979 .hero-eject::after { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; z-index: 1; pointer-events: none;
  background: var(--hero-shade-color, rgb(0, 0, 0)); opacity: var(--hero-shade-opacity, 0); }

#builder-module-1282979 .hero-eject__wave { position: absolute; bottom: -1px; left: 0; right: 0; height: 20%; padding: 0; display: flex; flex-direction: column; z-index: 2; overflow: hidden; }
#builder-module-1282979 .hero-eject__wave svg { position: absolute; bottom: 0; left: 0; right: 0; height: 100%; width: 100%; flex: 1; }
#builder-module-1282979 .hero-eject__wave path { fill: var(--hero-wave-color, currentColor); }

/* ── shared shell ─────────────────────────────────────────────────────────── */
#builder-module-1282979 .hero-eject .hero-form { position: relative; width: 100%; max-width: var(--hero-form-max-w, 520px); }
#builder-module-1282979 .hero-eject .hero-form--minimal, #builder-module-1282979 .hero-eject .hero-form--smooth, #builder-module-1282979 .hero-eject .hero-form--bubbly { max-width: var(--hero-form-max-w, 760px); }
#builder-module-1282979 .hero-eject .hero-form__label.is-hidden { position: absolute; left: -10000px; top: auto; width: 1px; height: 1px; overflow: hidden; }
#builder-module-1282979 .hero-eject .hero-form__label { display: block; font-size: 12px; font-weight: 700; margin-bottom: 4px; }
#builder-module-1282979 .hero-eject .hero-form__row { display: flex; align-items: stretch; width: 100%; }
#builder-module-1282979 .hero-eject .hero-form__search { flex: 1 1 auto; min-width: 0; position: relative; }
#builder-module-1282979 .hero-eject .hero-form__field-wrap { flex: 1 1 auto; min-width: 0; display: block; }
#builder-module-1282979 .hero-eject .hero-form__input, #builder-module-1282979 .hero-eject .hero-form__field {
  width: 100%; box-sizing: border-box; border: none; outline: none; margin: 0;
  font-family: inherit; line-height: 1.3;
  background: var(--hero-form-input-bg, #fff); color: var(--hero-form-input-text, #1e1e1e); }
#builder-module-1282979 .hero-eject .hero-form__field { cursor: pointer; }
#builder-module-1282979 .hero-eject .hero-form__input::placeholder { color: #1e1e1e; opacity: 0.4; }
#builder-module-1282979 .hero-eject .hero-form__submit { display: inline-flex; align-items: center; justify-content: center; gap: 8px; flex: 0 0 auto;
  padding: 10px 18px; border: none; font-weight: 700; font-size: 13px; line-height: 16px; cursor: pointer; white-space: nowrap;
  font-family: inherit;
  background: var(--hero-form-btn-bg, var(--color-primary, var(--ch-text-color-accent, #1e1e1e))); color: var(--hero-form-btn-text, var(--ch-text-color-accent-readable, #fff)); }
#builder-module-1282979 .hero-eject .hero-form__submit .material-icons { font-size: 18px; }
@media (hover: hover) { #builder-module-1282979 .hero-eject .hero-form__submit:hover { background: var(--hero-form-btn-hover-bg, var(--hero-form-btn-bg, var(--color-primary, var(--ch-text-color-accent, #1e1e1e)))); color: var(--hero-form-btn-hover-text, var(--hero-form-btn-text, var(--ch-text-color-accent-readable, #fff))); } }

/* ── SIMPLE — inline/simple-style.tsx. Deliberately SQUARE: the styled block
      sets no radius anywhere and even forces `a { border-radius: 0 }`. ─────── */
#builder-module-1282979 .hero-eject .hero-form--simple .hero-form__row { border: 2px solid color-mix(in srgb, var(--color-primary, var(--ch-text-color-accent, #1e1e1e)) 70%, transparent); background: var(--hero-form-input-bg, #fff); }
#builder-module-1282979 .hero-eject .hero-form--simple .hero-form__input { padding: 11px 18px 12px; font-size: 12px; font-weight: 700; }

/* ── TWOPOINTS — the borderless white pill. Only TWO corners round (18px
      bottom-left + top-right); the form itself is the surface, the input rides
      transparent inside its 6px padding. ─────────────────────────────────── */
#builder-module-1282979 .hero-eject .hero-form--twopoints .hero-form__row {
  background: #fff; color: #1e1e1e; padding: 6px; align-items: center; border: none;
  border-bottom-left-radius: 18px; border-top-right-radius: 18px;
  border-top-left-radius: 0; border-bottom-right-radius: 0; }
#builder-module-1282979 .hero-eject .hero-form--twopoints .hero-form__input { background: transparent; padding: 10px 16px 11px; font-size: 13px; font-weight: 600; }
/* The submit button rounds the SAME two corners as the row it sits in. In V1 the
   button is a SwiftButton, and swift-button-style.tsx:47-52 stamps
   `border-top-right-radius:18px; border-bottom-left-radius:18px` whenever the
   variant is 'twopoints' — the eject renders a plain <button>, which missed it
   and left a square corner poking past the row's rounded top-right. Matching the
   row's 18px (rather than insetting to 12px for the 6px padding) is what the
   source actually does: both radii are literally 18px there. */
#builder-module-1282979 .hero-eject .hero-form--twopoints .hero-form__submit {
  border-top-right-radius: 18px; border-bottom-left-radius: 18px;
  border-top-left-radius: 0; border-bottom-right-radius: 0; }

/* ── SMOOTH — tab strip + white panel. Root radius 12px unless `pointed`; the
      panel rounds three corners (top-LEFT square, so it tucks under tab 1). ─ */
#builder-module-1282979 .hero-eject .hero-form--smooth { text-align: left; border-radius: 12px; }
#builder-module-1282979 .hero-eject .hero-form--smooth.is-pointed { border-radius: 0; }
#builder-module-1282979 .hero-eject .hero-form--smooth .hero-form__tabs { margin-top: 4px; display: flex; flex-wrap: wrap; padding: 0; list-style: none; }
/* Inactive tab: transparentize(0.25, lighten(0.05, color_nav_bg)) — a 75%-opaque
   lightened nav background. The ACTIVE tab takes the brand color and its content
   flips to black-on-white (the notch that fuses it into the panel). */
#builder-module-1282979 .hero-eject .hero-form--smooth .hero-form__tab {
  margin-right: 6px; padding-top: 4px; cursor: pointer;
  border-top-left-radius: 6px; border-top-right-radius: 6px;
  background: color-mix(in srgb, var(--hero-form-nav-bg, #1e1e1e) 75%, transparent);
  color: var(--hero-form-nav-text, #fff); }
#builder-module-1282979 .hero-eject .hero-form--smooth .hero-form__tab:last-of-type { margin-right: 0; }
#builder-module-1282979 .hero-eject .hero-form--smooth .hero-form__tab-content {
  display: block; border: none; background: none; color: inherit; font-family: inherit; cursor: pointer;
  border-top-left-radius: 6px; border-top-right-radius: 6px; padding: 8px 18px 12px; }
#builder-module-1282979 .hero-eject .hero-form--smooth .hero-form__tab-content span { font-size: 12px; font-weight: 700; }
#builder-module-1282979 .hero-eject .hero-form--smooth .hero-form__tab.is-active { background: var(--hero-tab-color, var(--color-primary, var(--ch-text-color-accent, #1e1e1e))); }
#builder-module-1282979 .hero-eject .hero-form--smooth .hero-form__tab.is-active .hero-form__tab-content { color: black; background: white; }
#builder-module-1282979 .hero-eject .hero-form--smooth .hero-form__main {
  color: black; background: white; padding: 18px;
  border-top-right-radius: 12px; border-bottom-right-radius: 12px; border-bottom-left-radius: 12px; }
#builder-module-1282979 .hero-eject .hero-form--smooth.is-pointed .hero-form__main { border-radius: 0; }
/* smooth/minimal/bubbly delegate their controls to SwiftForm, whose inline
   inputs paint a light recessed field rather than the bare box simple/twopoints
   use. Measured on the live original (pm 519667): #f7f7f7 fill, 2px #e0e0e0
   border, 4px radius, 10px 16px 11px padding, 13px text. */
#builder-module-1282979 .hero-eject .hero-form--smooth .hero-form__input, #builder-module-1282979 .hero-eject .hero-form--smooth .hero-form__field {
  font-size: 13px; background: #f7f7f7; border: 2px solid #e0e0e0; border-radius: 4px;
  padding: 10px 16px 11px; color: #1e1e1e; }
/* Each smooth control carries its OWN border + radius (unlike simple/twopoints,
   where the ROW is the bordered box and its children must stay flush). Butting
   those separate boxes together reads as one seam-divided control, so space them
   — search box, each extra-field select, and the submit all get 8px. */
#builder-module-1282979 .hero-eject .hero-form--smooth .hero-form__row { gap: 8px; }
#builder-module-1282979 .hero-eject .hero-form--smooth .hero-form__links { margin-top: 12px; display: flex; flex-wrap: wrap; }
#builder-module-1282979 .hero-eject .hero-form--smooth .hero-form__link { display: flex; align-items: center; color: var(--hero-tab-color, var(--color-primary, var(--ch-text-color-accent, #1e1e1e))); margin-right: 18px; }
#builder-module-1282979 .hero-eject .hero-form--smooth .hero-form__link span { margin-right: 3px; font-size: 12px; font-weight: 800; }
#builder-module-1282979 .hero-eject .hero-form--smooth .hero-form__link .material-icons { font-size: 14px; }

/* ── BUBBLY — 12px card with a drop shadow, uppercase, underline tabs. Radius
      is UNCONDITIONAL here (bubbly never reads `corners`). ───────────────── */
#builder-module-1282979 .hero-eject .hero-form--bubbly {
  text-align: left;
  border-radius: 12px;
  box-shadow: 4px 4px 8px rgba(0, 0, 0, 0.25);
  font-size: 0.8em;
  background: var(--ch-text-color-accent-readable, #fff);
  color: var(--color-primary, var(--ch-text-color-accent, #1e1e1e));
}
#builder-module-1282979 .hero-eject .hero-form--bubbly .hero-form__tabs { display: flex; flex-wrap: wrap; padding: 0 12px; list-style: none; }
#builder-module-1282979 .hero-eject .hero-form--bubbly .hero-form__tab { padding: 0 12px; cursor: pointer; opacity: 0.8; }
#builder-module-1282979 .hero-eject .hero-form--bubbly .hero-form__tab:hover { opacity: 1; }
#builder-module-1282979 .hero-eject .hero-form--bubbly .hero-form__tab-content {
  display: block; border: none; background: none; font-family: inherit; color: inherit; cursor: pointer; padding: 0; }
#builder-module-1282979 .hero-eject .hero-form--bubbly .hero-form__tab-content span {
  display: block; font-weight: 600; position: relative; padding: 18px 0; }
#builder-module-1282979 .hero-eject .hero-form--bubbly .hero-form__tab-content span:after {
  content: ''; display: block; position: absolute; bottom: 0; left: 0; right: 0; height: 4px; background: transparent; }
#builder-module-1282979 .hero-eject .hero-form--bubbly .hero-form__tab.is-active { opacity: 1; }
#builder-module-1282979 .hero-eject .hero-form--bubbly .hero-form__tab.is-active .hero-form__tab-content span:after { background: var(--hero-tab-color, var(--color-primary, var(--ch-text-color-accent, #1e1e1e))); }
#builder-module-1282979 .hero-eject .hero-form--bubbly .hero-form__bubbly-fields {
  display: flex; flex-wrap: wrap; padding: 0 12px; list-style: none; background: var(--ch-text-color-accent-readable, #fff); }
#builder-module-1282979 .hero-eject .hero-form--bubbly .hero-form__bubbly-field { padding: 12px; position: relative; }
#builder-module-1282979 .hero-eject .hero-form--bubbly .hero-form__bubbly-field .hero-form__field {
  background: transparent;
  color: inherit;
  font-weight: 600;
  font-size: 12px;
}
#builder-module-1282979 .hero-eject .hero-form--bubbly .hero-form__main {
  padding: 24px; padding-top: 12px; background: var(--ch-text-color-accent-readable, #fff);
  border-bottom-left-radius: 12px; border-bottom-right-radius: 12px; }

/* ── MINIMAL — the styled block sets only text-align + button margin, so the
      row stays chrome-less and the fields carry the look. ────────────────── */
#builder-module-1282979 .hero-eject .hero-form--minimal { text-align: left; }
#builder-module-1282979 .hero-eject .hero-form--minimal .hero-form__row { gap: 8px; align-items: flex-end; flex-wrap: wrap; }
#builder-module-1282979 .hero-eject .hero-form--minimal .hero-form__input, #builder-module-1282979 .hero-eject .hero-form--minimal .hero-form__field {
  font-size: 13px; background: #f7f7f7; border: 2px solid #e0e0e0; border-radius: 4px;
  padding: 10px 16px 11px; color: #1e1e1e; }
#builder-module-1282979 .hero-eject .hero-form--minimal .hero-form__submit { margin-top: 0; }
#builder-module-1282979 .hero-eject .hero-form__extra-buttons { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }

/* ── autocomplete dropdown ────────────────────────────────────────────────── */
#builder-module-1282979 .hero-eject .hero-form__results { position: absolute; top: 100%; left: -2px; right: -2px; z-index: 15; margin: 0; padding: 0; list-style: none;
  max-height: 420px; overflow-y: auto; text-align: left; background: var(--hero-form-input-bg, #fff);
  border: 2px solid color-mix(in srgb, var(--color-primary, var(--ch-text-color-accent, #1e1e1e)) 70%, transparent); border-top: none; }
#builder-module-1282979 .hero-eject .hero-form--twopoints .hero-form__results {
  left: 0; right: 0; z-index: 20; border-top: 2px solid color-mix(in srgb, var(--color-primary, var(--ch-text-color-accent, #1e1e1e)) 70%, transparent);
  border-bottom-left-radius: 18px; border-top-right-radius: 18px;
  display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 0; }
/* The closed list must stay closed BEFORE hydration. The runtime opens/closes it
   with the `hidden` ATTRIBUTE, which is only `display:none` in the UA sheet — the
   `display: grid` above outranks it, so the empty list painted its 2px border as a
   red stripe under the search bar on every server-rendered load, until the JS
   booted and removed it. The runtime baseline carries the same guard, but that CSS
   is injected by JS and arrives too late to prevent the flash. */
#builder-module-1282979 .hero-eject .hero-form__results[hidden] { display: none !important; }
#builder-module-1282979 .hero-eject .hero-form__results li { padding: 10px 14px; border-bottom: 1px solid rgba(0,0,0,0.06); cursor: pointer; color: var(--hero-form-input-text, #1e1e1e); }
#builder-module-1282979 .hero-eject .hero-form__results li:last-child { border-bottom: none; }
#builder-module-1282979 .hero-eject .hero-form__results li:hover { background: rgba(0,0,0,0.05); }
#builder-module-1282979 .hero-eject .hero-form__results .hero-form__result-name { font-weight: 700; font-size: 13px; line-height: 1.2; }
#builder-module-1282979 .hero-eject .hero-form__results .hero-form__result-type { font-size: 11px; opacity: 0.55; font-weight: 600; line-height: 1.2; margin-top: 4px; }
/* Type pills — the featured (focus, empty box) view only. Sticky so the group
   switcher stays reachable while scrolling a long preset list. twopoints lays
   the list out as a grid, so the row has to span every column there. */
#builder-module-1282979 .hero-eject .hero-form__results .hero-form__result-pills { display: flex; flex-wrap: wrap; gap: 6px; padding: 8px 10px; cursor: default;
  position: sticky; top: 0; background: var(--hero-form-input-bg, #fff); border-bottom: 1px solid rgba(0,0,0,0.12); }
#builder-module-1282979 .hero-eject .hero-form--twopoints .hero-form__results .hero-form__result-pills { grid-column: 1 / -1; }
#builder-module-1282979 .hero-eject .hero-form__results .hero-form__result-pills:hover { background: var(--hero-form-input-bg, #fff); }
#builder-module-1282979 .hero-eject .hero-form__result-pill { appearance: none; -webkit-appearance: none; border: 1px solid rgba(0,0,0,0.15); background: transparent;
  color: inherit; font: inherit; font-size: 11px; font-weight: 700; line-height: 1; padding: 6px 10px; border-radius: 999px; cursor: pointer; }
#builder-module-1282979 .hero-eject .hero-form__result-pill:hover { background: rgba(0,0,0,0.06); }
#builder-module-1282979 .hero-eject .hero-form__result-pill[data-active] { background: var(--hero-form-btn-bg, #1e1e1e); color: var(--hero-form-btn-text, #fff); border-color: transparent; }
#builder-module-1282979 .hero-eject .hero-form__search:has([data-chl-search-tag]) { display: flex; align-items: center; flex-wrap: wrap; gap: 4px; background: var(--hero-form-input-bg, #fff); }
#builder-module-1282979 .hero-eject .hero-form__search:has([data-chl-search-tag]) .hero-form__input { width: auto; flex: 1 1 60px; min-width: 60px; }

/* ── MOBILE. smooth is the ONLY variant with media queries in source — both at
      768px: tabs go full-width and fully square, and the panel squares off.
      The JS mobile behaviors are ported as CSS: the active tab moves last
      (order) so it sits flush against the panel, and the submit label is
      dropped to an icon-only button. ─────────────────────────────────────── */
@media (max-width: 768px) {
  #builder-module-1282979 .hero-eject .hero-form--smooth .hero-form__tabs { flex-direction: column; }
  #builder-module-1282979 .hero-eject .hero-form--smooth .hero-form__tab { margin-right: 0; width: 100%; border-radius: 0; padding-top: 0; }
  #builder-module-1282979 .hero-eject .hero-form--smooth .hero-form__tab.is-active { order: 1; }
  #builder-module-1282979 .hero-eject .hero-form--smooth .hero-form__tab-content { border-radius: 0; width: 100%; text-align: left; }
  #builder-module-1282979 .hero-eject .hero-form--smooth .hero-form__main { border-radius: 0; }
  #builder-module-1282979 .hero-eject .hero-form--smooth .hero-form__submit .hero-form__submit-text { display: none; }
  #builder-module-1282979 .hero-eject .hero-form--smooth .hero-form__row { flex-wrap: wrap; gap: 8px; }
  #builder-module-1282979 .hero-eject .hero-form--smooth .hero-form__search { flex-basis: 100%; }
}
@media (max-width: 600px) {
  #builder-module-1282979 .hero-eject .hero-form--simple .hero-form__row, #builder-module-1282979 .hero-eject .hero-form--twopoints .hero-form__row { flex-wrap: wrap; }
  #builder-module-1282979 .hero-eject .hero-form--simple .hero-form__search, #builder-module-1282979 .hero-eject .hero-form--twopoints .hero-form__search { flex-basis: 100%; }
  #builder-module-1282979 .hero-eject .hero-form--bubbly .hero-form__bubbly-field { flex: 1 1 auto; }
  #builder-module-1282979 .hero-eject .hero-form--minimal .hero-form__field-wrap { flex-basis: 100%; }
}

#builder-module-1282979 .hero-eject.is-center { text-align: center; }
#builder-module-1282979 .hero-eject.is-center .hero-form { margin-left: auto; margin-right: auto; }
#builder-module-1282979 .hero-eject.is-center .hero-eject__text .module_buttons { justify-content: center; }
#builder-module-1282979 .hero-eject.is-right { text-align: right; }
#builder-module-1282979 .hero-eject.is-right .hero-form { margin-left: auto; }
#builder-module-1282979 .hero-eject.is-right .hero-eject__text .module_buttons { justify-content: flex-end; }

/* website_header #21 default */
#builder-module-1282979 .ch-header--default {
  text-align: left;
}

#builder-module-1282979 .ch-header--default__eyebrow {
  display: block;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  margin-top: 0;
  margin-bottom: 10px;
  color: var(--ch-text-color-accent, currentColor);
}

#builder-module-1282979 .ch-header--default__title {
  margin: 0 0 0;
  color: var(--ch-text-color, currentColor);
}

#builder-module-1282979 .ch-header--default__title+.ch-header--default__body {
  margin: 10px 0 0;
}

#builder-module-1282979 .ch-header--default__body {
  margin: 0;
  max-width: 100ch;
  color: var(--ch-text-color-muted, var(--ch-text-color, currentColor));
}

#builder-module-1282979 .ch-header--default__body h1, #builder-module-1282979 .ch-header--default__body h2, #builder-module-1282979 .ch-header--default__body h3 {
  color: var(--ch-text-color, currentColor);
}
/* empty-slot guard (token-valued slots survive injectSlots) */
#builder-module-1282979 .ch-header--default__eyebrow:empty, #builder-module-1282979 .ch-header--default__title:empty, #builder-module-1282979 .ch-header--default__body:empty, #builder-module-1282979 .ch-header--default__shout:empty { display: none; }

/* pm 1075969 */
#builder-module-1075969 .delg-eject {
  position: relative;
  color: var(--delg-text, var(--ch-text-color));
}
#builder-module-1075969 .delg-eject__bg { width: 100%; }
#builder-module-1075969 .delg-eject__inner { text-align: center; max-width: 570px; }
@media (max-width: 600px) {
  #builder-module-1075969 .delg-eject__inner { width: 100%; padding-left: 24px; padding-right: 24px; }
}
#builder-module-1075969 .delg-eject__cta {  display: flex; justify-content: center; }

/* website_header #23 centered */
#builder-module-1075969 .ch-header--centered {
  padding: 0;
  width: 100%;
  text-align: center;
}

#builder-module-1075969 .ch-header--centered__inner {
  max-width: 1140px;
  margin: 0 auto;
}

#builder-module-1075969 .ch-header--centered__eyebrow {
  display: block;
  text-transform: uppercase;
  letter-spacing: 0.22em;
  color: var(--ch-text-color-accent, currentColor);
  margin-bottom: 8px;
}

#builder-module-1075969 .ch-header--centered__title {
  margin: 0 0 8px;
  color: var(--ch-text-color, currentColor);
}

#builder-module-1075969 .ch-header--centered__title strong {

  color: var(--ch-text-color, currentColor);
}

#builder-module-1075969 .ch-header--centered__body {
  margin: 0 auto;
  max-width: 110ch;
  color: var(--ch-text-color-muted, var(--ch-text-color, currentColor));
}

#builder-module-1075969 .ch-header--centered__stripe {
  width: 64px;
  height: 2px;
  background: var(--ch-text-color-accent, currentColor);
  margin: 24px auto 0;
}
/* empty-slot guard (token-valued slots survive injectSlots) */
#builder-module-1075969 .ch-header--centered__eyebrow:empty, #builder-module-1075969 .ch-header--centered__title:empty, #builder-module-1075969 .ch-header--centered__body:empty, #builder-module-1075969 .ch-header--centered__shout:empty { display: none; }


/* website_reveal #1 fade-up */
#builder-module-1075969 [data-ch-reveal-variant="fade-up"] {
  opacity: 0;
  transform: translateY(24px);
  filter: none;
  transition: opacity 500ms ease-out, transform 500ms ease-out, filter 500ms ease-out;
}
#builder-module-1075969 [data-ch-reveal-variant="fade-up"].is-revealed {
  opacity: 1;
  transform: none;
  filter: none;
}
/* pm 1312108 */
#builder-module-1312108 .dlc-section {
  position: relative;
  isolation: isolate;
}

#builder-module-1312108 .dlc-carousel {
  --bv-carousel-gap: 22px;
}

/* Empty state */
#builder-module-1312108 .dlc-empty {
  text-align: center;
  padding: 5rem 2rem;
}

#builder-module-1312108 .dlc-empty-icon {
  display: block;
  margin: 0 auto 1.25rem;
  color: var(--ch-text-color-accent, currentColor);
}

#builder-module-1312108 .dlc-empty-text {
  color: var(--ch-text-color-muted, currentColor);
  margin: 0;
}

@media (max-width: 767px) {
  #builder-module-1312108 .dlc-empty {
    padding: 3rem 1rem;
  }
}
#builder-module-1312108 .ch-db-listing-simple__frame {
  flex: 1;
  display: flex;
  flex-direction: column;
  height: 100%;
  width: 100%;
  align-self: stretch;
  container-type: inline-size;
}

#builder-module-1312108 .ch-db-listing-simple {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  width: 100%;
  text-decoration: none;
  color: inherit;
  overflow: hidden;
  background: var(--ch-card-bg, color-mix(in srgb, var(--ch-bg-color) 93%, #000 7%));
  container-type: inline-size;
}

/* ---- Photo ---- */

#builder-module-1312108 .ch-db-listing-simple__photo {
  position: relative;
  aspect-ratio: 16 / 9;
  max-height: 340px;
  overflow: hidden;
  background: #f3f3f3;
}

#builder-module-1312108 .ch-db-listing-simple__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.45s ease-out;
}

#builder-module-1312108 .ch-db-listing-simple:hover .ch-db-listing-simple__image {
  transform: scale(1.06);
}

#builder-module-1312108 .ch-db-listing-simple__photo--placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(0, 0, 0, .12);
}

/* ---- Status badge ---- */

#builder-module-1312108 .ch-db-listing-simple__status {
  position: absolute;
  top: 10px;
  left: 10px;
  padding: 4px 10px;
  border-radius: 999px;
  background: rgba(15, 33, 55, .92);
  color: #fff;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .05em;
  backdrop-filter: blur(4px);
}

#builder-module-1312108 .ch-db-listing-simple--for-sale .ch-db-listing-simple__status {
  background: rgba(34, 108, 68, .92);
}

#builder-module-1312108 .ch-db-listing-simple--for-rent .ch-db-listing-simple__status {
  background: rgba(54, 93, 180, .92);
}

#builder-module-1312108 .ch-db-listing-simple--pending .ch-db-listing-simple__status {
  background: rgba(177, 114, 11, .92);
}

#builder-module-1312108 .ch-db-listing-simple--closed .ch-db-listing-simple__status {
  background: rgba(80, 80, 80, .92);
}

/* ---- Favorite button ---- */

#builder-module-1312108 .ch-db-listing-simple__favorite {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 34px;
  height: 34px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, .92);
  color: rgba(15, 33, 55, .7);
  cursor: pointer;
  padding: 0;
  backdrop-filter: blur(4px);
  transition: background .15s ease, color .15s ease, transform .15s ease;
}

#builder-module-1312108 .ch-db-listing-simple__favorite:hover {
  background: #fff;
  color: #0f2137;
  transform: scale(1.05);
}

#builder-module-1312108 .ch-db-listing-simple__favorite:focus-visible {
  outline: 2px solid #1864ab;
  outline-offset: 2px;
  background: #fff;
  color: #0f2137;
}

#builder-module-1312108 .ch-db-listing-simple__favorite[data-ch-saved="1"] {
  background: #fff;
  color: #dc3545;
}

#builder-module-1312108 .ch-db-listing-simple__favorite-icon {
  display: inline-block;
  width: 18px;
  height: 18px;
}

/* ---- Body ---- */

#builder-module-1312108 .ch-db-listing-simple__body {
  padding: 14px 16px;
  display: flex;
  flex-direction: column;
  gap: 3px;
}

#builder-module-1312108 .ch-db-listing-simple__cost {
  font-size: 25px;
  font-weight: 700;
  color: var(--ch-card-text-color, var(--ch-text-color));
  letter-spacing: -.005em;
  line-height: 1.15;
}

#builder-module-1312108 .ch-db-listing-simple__address {
  font-size: 13px;
  color: var(--ch-card-text-color-muted, var(--ch-text-color-muted, var(--ch-text-color)));
  line-height: 1.4;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#builder-module-1312108 .ch-db-listing-simple__address-primary {
  font-size: 17px;
  font-weight: 600;
  line-height: 1.15;
  color: var(--ch-card-text-color, var(--ch-text-color));
}

#builder-module-1312108 .ch-db-listing-simple__address-secondary {
  display: block;
  font-size: 15px;
  line-height: 1.15;
  color: var(--ch-card-text-color-muted, var(--ch-text-color-muted, var(--ch-text-color)));
  margin-top: 1px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* ---- Stats ---- */

#builder-module-1312108 .ch-db-listing-simple__stats {
  margin: 6px 0 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 0px 14px;
  font-size: 14px;
  color: var(--ch-card-text-color-muted, var(--ch-text-color-muted, var(--ch-text-color)));
}

#builder-module-1312108 .ch-db-listing-simple__stats li {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

#builder-module-1312108 .ch-db-listing-simple__stats li strong {
  font-weight: 600;
  color: var(--ch-card-text-color, var(--ch-text-color));
}

#builder-module-1312108 .ch-db-listing-simple__stat-icon {
  display: inline-block;
  width: 14px;
  height: 14px;
  flex-shrink: 0;
  opacity: .7;
}

/* ---- Office & MLS row ---- */

#builder-module-1312108 .ch-db-listing-simple__office-row {
  margin: 0;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 8px;
  padding-top: 0;
}

#builder-module-1312108 .ch-db-listing-simple__office {
  font-size: 11px;
  font-weight: 500;
  color: var(--ch-card-text-color-muted, var(--ch-text-color-muted, var(--ch-text-color)));
  text-transform: uppercase;
  letter-spacing: .04em;
  min-width: 0;
  overflow-wrap: anywhere;
}

#builder-module-1312108 .ch-db-listing-simple__mls-logo {
  display: block;
  max-width: 140px;
  max-height: 42px;
  height: auto;
  width: auto;
  object-fit: contain;
  opacity: .7;
  flex-shrink: 1;
  min-width: 0;
}

/* ---- Wide layout (≥500px container) ---- */

@container (min-width: 500px) {
  #builder-module-1312108 .ch-db-listing-simple {
    flex-direction: row;
    align-items: stretch;
  }

  #builder-module-1312108 .ch-db-listing-simple__photo {
    flex: 0 0 42%;
    max-width: 320px;
    aspect-ratio: auto;
    max-height: none;
    align-self: stretch;
  }

  #builder-module-1312108 .ch-db-listing-simple__photo--placeholder {
    aspect-ratio: auto;
    max-height: none;
    align-self: stretch;
  }

  #builder-module-1312108 .ch-db-listing-simple__image {
    height: 100%;
  }

  #builder-module-1312108 .ch-db-listing-simple__body {
    flex: 1 1 auto;
    padding: 18px 22px;
    justify-content: center;
  }
}

/* website_frame #1 simple */
#builder-module-1312108 [data-ch-frame-variant="simple"] {
  position: relative;
  isolation: isolate;
  border: 2px solid color-mix(in srgb, var(--ch-text-color, currentColor) 25%, transparent);
  border-radius: 8px;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.10);
}


#builder-module-1312108 [data-ch-frame-variant="simple"]>img, #builder-module-1312108 [data-ch-frame-variant="simple"] [data-ch-image] {
  display: block;
}

#builder-module-1312108 [data-ch-frame-variant="simple"]>img, #builder-module-1312108 [data-ch-frame-variant="simple"]>*:first-child, #builder-module-1312108 [data-ch-frame-variant="simple"] [data-ch-image] {
  max-width: 100%;
  object-fit: cover;
  border-radius: 5px;
  overflow: hidden;
}

/* website_header #21 default */
#builder-module-1312108 .ch-header--default {
  text-align: left;
}

#builder-module-1312108 .ch-header--default__eyebrow {
  display: block;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  margin-top: 0;
  margin-bottom: 10px;
  color: var(--ch-text-color-accent, currentColor);
}

#builder-module-1312108 .ch-header--default__title {
  margin: 0 0 0;
  color: var(--ch-text-color, currentColor);
}

#builder-module-1312108 .ch-header--default__title+.ch-header--default__body {
  margin: 10px 0 0;
}

#builder-module-1312108 .ch-header--default__body {
  margin: 0;
  max-width: 100ch;
  color: var(--ch-text-color-muted, var(--ch-text-color, currentColor));
}

#builder-module-1312108 .ch-header--default__body h1, #builder-module-1312108 .ch-header--default__body h2, #builder-module-1312108 .ch-header--default__body h3 {
  color: var(--ch-text-color, currentColor);
}
/* empty-slot guard (token-valued slots survive injectSlots) */
#builder-module-1312108 .ch-header--default__eyebrow:empty, #builder-module-1312108 .ch-header--default__title:empty, #builder-module-1312108 .ch-header--default__body:empty, #builder-module-1312108 .ch-header--default__shout:empty { display: none; }


/* website_button #1 primary */
#builder-module-1312108 [data-ch-btn][data-ch-btn-variant="primary"] {
  line-height: var(--ch-btn-lh, 21px);
  background-color: var(--ch-btn-bg, #bf4d00);
  color: var(--ch-btn-text, #ffffff);
  border: 1.5px solid var(--ch-btn-border, #bf4d00);
  border-radius:var(--ch-btn-border-radius, 6px);
  height: var(--ch-btn-h, auto);
  font-weight: 600;
  transition: background-color 150ms ease, color 150ms ease, border-color 150ms ease, transform 150ms ease;
}

#builder-module-1312108 [data-ch-btn][data-ch-btn-variant="primary"]:hover {
  background-color: var(--ch-btn-bg-hover, #a84400);
  color: var(--ch-btn-text-hover, #ffffff);
}

/* website_paginator #1 simple */
/* simple paginator. Scoped to [data-ch-paginator-variant="simple"], which WebsitePaginators::render stamps on the nav. */
/* The nav carries its own layout. Scoped on BOTH the grid's host wrapper and the
   bare `.ch-pg` class because a CAROUSEL emits the same nav with no
   [data-ch-widget="grid-paginator"] host around it — every rule below that was
   host-scoped simply did not match there, and the buttons collapsed to ~20px. */
#builder-module-1312108 [data-ch-paginator-variant="simple"] {
    display: flex;
    align-items: center;
    gap: 14px;
    /* Containing block for the rail below, so an absolutely-positioned rail
       resolves against THIS nav on every variant rather than escaping to some
       distant positioned ancestor. `simple` also declares it for its own groove;
       stating it here makes the rail's containment variant-independent. */
    position: relative;
}
/* THE RAIL IS NEVER A FLEX ITEM. listPaginatorJs writes `width: <100/pages>%`
   and a translateX onto `.ch-pg_rail` for EVERY variant — it does not know or
   care which one is active. Only `simple` styles the rail into a travelling
   groove (position:absolute, below) and `slim` hides it outright; `modern` did
   neither, so the element kept its inline 12.5% width IN FLOW and claimed an
   eighth of the bar as blank space between the label and the next arrow.
   Taking it out of flow here makes that impossible for any variant, present or
   future: a variant that wants a visible rail positions it, and one that does
   not pays nothing. Reported on teddy.chl.local with the modern slab. */
#builder-module-1312108 [data-ch-paginator-variant="simple"] .ch-pg_rail {
    position: absolute;
    pointer-events: none;
}
/* Chevron glyphs — the static lane ships inline SVG, the React lane an entity. */
#builder-module-1312108 [data-ch-paginator-variant="simple"] button svg {
    width: 20px;
    height: 20px;
    stroke: currentColor;
    fill: none;
    stroke-width: 2.25;
}
/* The 999px-radius circular buttons this used to draw are RETIRED — that was the
   legacy grid look and is no longer one of the three options. Every paginator is
   now the joined module below: a bordered group with the progress rail along its
   top edge. */
#builder-module-1312108 [data-ch-paginator-variant="simple"] button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    padding: 0;
    border: 1px solid var(--ch-text-color-accent, var(--ch-text-color, rgba(15, 28, 46, 0.16)));
    border-radius: 0;
    background: var(--ch-card-bg, transparent);
    color: var(--ch-card-text-color, var(--ch-text-color, inherit));
    cursor: pointer;
    transition: background-color 0.15s ease, border-color 0.15s ease, opacity 0.15s ease;
}
/* Mask icons are PAINTED via background-color, not `color` (see WebsiteSchemes'
   moduleStylesGlobal icon accent rule) — so the accent has to land on background,
   and a bare `background:` shorthand here would wipe the mask itself. */
/* Mask icons are PAINTED via background-color, not `color`, so the accent has to
   land on background and a bare `background:` shorthand would wipe the mask. All
   three lanes now emit `<i data-mask-icon="chevron_left|chevron_right">` — the
   React carousel used a `&#8249;` text entity and the static runtime an inline
   SVG, which is why one control looked different depending on who drew it.
   Sized here, once, for every lane. */
#builder-module-1312108 [data-ch-paginator-variant="simple"] button i[data-mask-icon] {
    background-color: var(--ch-text-color-accent, var(--ch-text-color, currentColor));
    width: 18px;
    height: 18px;
}
#builder-module-1312108 [data-ch-paginator-variant="simple"] button:hover:not(:disabled) {
    border-color: var(--ch-text-color-accent, var(--ch-color-primary, currentColor));
    color: var(--ch-text-color-accent, var(--ch-color-primary, currentColor));
}
#builder-module-1312108 [data-ch-paginator-variant="simple"] button:disabled {
    opacity: 0.4;
    pointer-events: none;
}
/* NO min-width. The label holds anything from "2 of 5" to "1-18 of 240", so a
   fixed floor sized for one form leaves the other visibly padded — it collapses
   to whatever it needs instead, and `nowrap` is the only guarantee required.
   `tabular-nums` keeps the digits from jittering as the count changes width. */
#builder-module-1312108 [data-ch-paginator-variant="simple"] [data-ch-page-label] {
    text-align: center;
    font-weight: 600;
    color: var(--ch-text-color, inherit);
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

/* ── PAGINATOR VARIANTS ─────────────────────────────────────────────────────
   One markup shape, three looks. The engine (EjectSupport::listPaginatorJs)
   binds [data-ch-page] and [data-ch-page-label] and is variant-blind, so these
   are pure presentation and the static export lane needs no extra code.

   `simple` is the historical bar and adds nothing — an un-migrated block, or one
   whose operator never picked a style, renders byte-identical to today.

   PLACEMENT IS A SEPARATE AXIS from the look. A grid keeps the sticky, centered
   strip above; a carousel gets the static, right-aligned form via
   .ch-pg--incarousel. The same variant therefore reads the same in both
   contexts and only its position differs. */

/* SIMPLE (default) — the approved "rail as the top edge" control, and the
   LIGHTEST of the three: there is NO container border. Only the buttons are
   outlined; the count sits to their LEFT as bare text, and the progress rail
   runs above the whole control.

   Source order is prev / label / next (one markup for every variant, so the
   engine and the export lanes never branch), and `order` moves the label ahead
   of both buttons — the buttons end up together on the right, which is what
   makes this read as "a count, then a control" rather than a segmented widget.

   The rail is a travelling WINDOW: 1/pages wide, sliding to (page-1)/pages, so
   BOTH its edges move. A bar that only grew from the left would read as "how
   full" rather than "where am I". */
#builder-module-1312108 [data-ch-paginator-variant="simple"] {
    position: relative;
    /* 16px, not the bar's default 8: with no container border the count and the
       buttons are two loose objects, and at 8px they read as one crowded clump.
       Double the gap gives the label room to be its own thing. */
    gap: 16px;
    padding-top: 11px;              /* rail height + breathing room */
    /* fit-content AND flex-none: inside the chrome bar the nav is a flex item and
       would otherwise stretch, dragging its groove across the whole row instead
       of sitting over the control it measures. */
    width: fit-content;
    flex: none;
}
/* the unfilled groove, spanning the whole control */
#builder-module-1312108 [data-ch-paginator-variant="simple"]::before {
    content: "";
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 3px;
    border-radius: 2px;
    background: var(--ch-text-color, rgba(15, 28, 46, 0.16));
    opacity: 0.22;
}
/* the travelling window; width/transform are set by the runtime */
#builder-module-1312108 [data-ch-paginator-variant="simple"] .ch-pg_rail {
    position: absolute;
    top: 0; left: 0;
    height: 3px;
    border-radius: 2px;
    background: var(--ch-text-color-accent, var(--ch-text-color, currentColor));
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), width 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
/* Count first, buttons together after it. */
#builder-module-1312108 [data-ch-paginator-variant="simple"] [data-ch-page-label] {
    order: 1;
    /* Flush LEFT against the rail's own left edge — the label and the groove
       above it share a starting line, which is what ties the two together as one
       control. No right padding: the bar's 8px gap already separates it from the
       buttons, and anything more reads as a hole. */
    padding: 0;
    border: 0;
}
#builder-module-1312108 [data-ch-paginator-variant="simple"] button[data-ch-page="prev"] { order: 2; }
#builder-module-1312108 [data-ch-paginator-variant="simple"] button[data-ch-page="next"] { order: 3; }
/* Buttons carry the only borders on this variant, and sit flush together. */
#builder-module-1312108 [data-ch-paginator-variant="simple"] button {
    border-radius: 8px;
    border-width: 1px;
}
#builder-module-1312108 [data-ch-paginator-variant="simple"] button[data-ch-page="prev"] { margin-right: -4px; }


/* pm 1097108 */
#builder-module-1097108 .dmsl-eject { overflow: hidden; color: var(--dmsl-text, var(--ch-text-color)); }
#builder-module-1097108 .dmsl-eject__bg { width: 100%; }
/* Source <Contain $wide> geometry, transcribed from global.style.tsx and
   confirmed against the live original (1297px at a 1526px viewport = 85%).
   padding:0 is deliberate — the styled block's `padding: 0px` on `> div`
   OVERRIDES the $padLg 96px, so the original has NO vertical padding and the
   text column is centered against the 500px image panel by align-items alone. */
#builder-module-1097108 .dmsl-eject__contain {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
  padding: 0;
  width: 980px;
  max-width: calc(100% - 48px);
}
@media screen and (max-width: 1600px) and (min-width: 980px) {
  #builder-module-1097108 .dmsl-eject__contain { width: 85%; }
}
@media screen and (min-width: 1600px) {
  #builder-module-1097108 .dmsl-eject__contain { width: 1360px; }
}
#builder-module-1097108 .dmsl-eject--flipped .dmsl-eject__contain { flex-direction: row-reverse; }
#builder-module-1097108 .dmsl-eject__text { flex-shrink: 1; max-width: 700px; width: 50%; }
#builder-module-1097108 .dmsl-eject--flipped .dmsl-eject__text { padding-left: 48px; padding-right: 48px; }
#builder-module-1097108 .dmsl-eject__imgwin { align-self: flex-start; width: 50%; clip-path: polygon(20% 0, 100% 0, 100% 100%, 0 100%); }
#builder-module-1097108 .dmsl-eject--flipped .dmsl-eject__imgwin { clip-path: polygon(0 0, 100% 0, 80% 100%, 0 100%); }
#builder-module-1097108 .dmsl-eject__img { background-image: var(--dmsl-img); height: 500px; width: 100%; background-size: cover; background-position: center; }
@media (max-width: 600px) {
  #builder-module-1097108 .dmsl-eject__contain { flex-direction: column; }
  #builder-module-1097108 .dmsl-eject--flipped .dmsl-eject__contain { flex-direction: column; }
  #builder-module-1097108 .dmsl-eject__text, #builder-module-1097108 .dmsl-eject--flipped .dmsl-eject__text { width: 95%; padding: 32px 0; text-align: center; }
  #builder-module-1097108 .dmsl-eject__imgwin { width: 100%; clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%); margin: 32px 0; }
  #builder-module-1097108 .dmsl-eject__img { border-radius: 8px; padding: 35.35%; height: auto; }
}

/* website_header #21 default */
#builder-module-1097108 .ch-header--default {
  text-align: left;
}

#builder-module-1097108 .ch-header--default__eyebrow {
  display: block;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  margin-top: 0;
  margin-bottom: 10px;
  color: var(--ch-text-color-accent, currentColor);
}

#builder-module-1097108 .ch-header--default__title {
  margin: 0 0 0;
  color: var(--ch-text-color, currentColor);
}

#builder-module-1097108 .ch-header--default__title+.ch-header--default__body {
  margin: 10px 0 0;
}

#builder-module-1097108 .ch-header--default__body {
  margin: 0;
  max-width: 100ch;
  color: var(--ch-text-color-muted, var(--ch-text-color, currentColor));
}

#builder-module-1097108 .ch-header--default__body h1, #builder-module-1097108 .ch-header--default__body h2, #builder-module-1097108 .ch-header--default__body h3 {
  color: var(--ch-text-color, currentColor);
}
/* empty-slot guard (token-valued slots survive injectSlots) */
#builder-module-1097108 .ch-header--default__eyebrow:empty, #builder-module-1097108 .ch-header--default__title:empty, #builder-module-1097108 .ch-header--default__body:empty, #builder-module-1097108 .ch-header--default__shout:empty { display: none; }


/* website_reveal #1 fade-up */
#builder-module-1097108 [data-ch-reveal-variant="fade-up"] {
  opacity: 0;
  transform: translateY(24px);
  filter: none;
  transition: opacity 500ms ease-out, transform 500ms ease-out, filter 500ms ease-out;
}
#builder-module-1097108 [data-ch-reveal-variant="fade-up"].is-revealed {
  opacity: 1;
  transform: none;
  filter: none;
}
/* pm 1097123 */
#builder-module-1097123 .dmsl-eject { overflow: hidden; color: var(--dmsl-text, var(--ch-text-color)); }
#builder-module-1097123 .dmsl-eject__bg { width: 100%; }
/* Source <Contain $wide> geometry, transcribed from global.style.tsx and
   confirmed against the live original (1297px at a 1526px viewport = 85%).
   padding:0 is deliberate — the styled block's `padding: 0px` on `> div`
   OVERRIDES the $padLg 96px, so the original has NO vertical padding and the
   text column is centered against the 500px image panel by align-items alone. */
#builder-module-1097123 .dmsl-eject__contain {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
  padding: 0;
  width: 980px;
  max-width: calc(100% - 48px);
}
@media screen and (max-width: 1600px) and (min-width: 980px) {
  #builder-module-1097123 .dmsl-eject__contain { width: 85%; }
}
@media screen and (min-width: 1600px) {
  #builder-module-1097123 .dmsl-eject__contain { width: 1360px; }
}
#builder-module-1097123 .dmsl-eject--flipped .dmsl-eject__contain { flex-direction: row-reverse; }
#builder-module-1097123 .dmsl-eject__text { flex-shrink: 1; max-width: 700px; width: 50%; }
#builder-module-1097123 .dmsl-eject--flipped .dmsl-eject__text { padding-left: 48px; padding-right: 48px; }
#builder-module-1097123 .dmsl-eject__imgwin { align-self: flex-start; width: 50%; clip-path: polygon(20% 0, 100% 0, 100% 100%, 0 100%); }
#builder-module-1097123 .dmsl-eject--flipped .dmsl-eject__imgwin { clip-path: polygon(0 0, 100% 0, 80% 100%, 0 100%); }
#builder-module-1097123 .dmsl-eject__img { background-image: var(--dmsl-img); height: 500px; width: 100%; background-size: cover; background-position: center; }
@media (max-width: 600px) {
  #builder-module-1097123 .dmsl-eject__contain { flex-direction: column; }
  #builder-module-1097123 .dmsl-eject--flipped .dmsl-eject__contain { flex-direction: column; }
  #builder-module-1097123 .dmsl-eject__text, #builder-module-1097123 .dmsl-eject--flipped .dmsl-eject__text { width: 95%; padding: 32px 0; text-align: center; }
  #builder-module-1097123 .dmsl-eject__imgwin { width: 100%; clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%); margin: 32px 0; }
  #builder-module-1097123 .dmsl-eject__img { border-radius: 8px; padding: 35.35%; height: auto; }
}

/* website_header #21 default */
#builder-module-1097123 .ch-header--default {
  text-align: left;
}

#builder-module-1097123 .ch-header--default__eyebrow {
  display: block;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  margin-top: 0;
  margin-bottom: 10px;
  color: var(--ch-text-color-accent, currentColor);
}

#builder-module-1097123 .ch-header--default__title {
  margin: 0 0 0;
  color: var(--ch-text-color, currentColor);
}

#builder-module-1097123 .ch-header--default__title+.ch-header--default__body {
  margin: 10px 0 0;
}

#builder-module-1097123 .ch-header--default__body {
  margin: 0;
  max-width: 100ch;
  color: var(--ch-text-color-muted, var(--ch-text-color, currentColor));
}

#builder-module-1097123 .ch-header--default__body h1, #builder-module-1097123 .ch-header--default__body h2, #builder-module-1097123 .ch-header--default__body h3 {
  color: var(--ch-text-color, currentColor);
}
/* empty-slot guard (token-valued slots survive injectSlots) */
#builder-module-1097123 .ch-header--default__eyebrow:empty, #builder-module-1097123 .ch-header--default__title:empty, #builder-module-1097123 .ch-header--default__body:empty, #builder-module-1097123 .ch-header--default__shout:empty { display: none; }


/* website_reveal #1 fade-up */
#builder-module-1097123 [data-ch-reveal-variant="fade-up"] {
  opacity: 0;
  transform: translateY(24px);
  filter: none;
  transition: opacity 500ms ease-out, transform 500ms ease-out, filter 500ms ease-out;
}
#builder-module-1097123 [data-ch-reveal-variant="fade-up"].is-revealed {
  opacity: 1;
  transform: none;
  filter: none;
}
/* pm 1358590 */
#builder-module-1358590 .dlc-section {
  position: relative;
  isolation: isolate;
}

#builder-module-1358590 .dlc-carousel {
  --bv-carousel-gap: 22px;
}

/* Empty state */
#builder-module-1358590 .dlc-empty {
  text-align: center;
  padding: 5rem 2rem;
}

#builder-module-1358590 .dlc-empty-icon {
  display: block;
  margin: 0 auto 1.25rem;
  color: var(--ch-text-color-accent, currentColor);
}

#builder-module-1358590 .dlc-empty-text {
  color: var(--ch-text-color-muted, currentColor);
  margin: 0;
}

@media (max-width: 767px) {
  #builder-module-1358590 .dlc-empty {
    padding: 3rem 1rem;
  }
}
#builder-module-1358590 .ch-db-testimonial-horizontal {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 9px;
  padding: 18px 18px 18px 13.5px;
  background: var(--ch-card-bg, color-mix(in srgb, var(--ch-bg-color) 93%, #000 7%));
  flex: 1 1 auto;
  height: 100%;
}

#builder-module-1358590 .ch-db-testimonial-horizontal-wrapper>div {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;

}

#builder-module-1358590 .ch-db-testimonial-horizontal__video-link i {
  width: 13px;
  height: 13px;
  flex-shrink: 0;
  background-color: var(--ch-text-color-accent) !important;
}


#builder-module-1358590 .ch-db-testimonial-horizontal__video-link span {
  color: var(--ch-text-color-accent);
}


/* ---- Photo column ---- */

#builder-module-1358590 .ch-db-testimonial-horizontal__photo-col {
  flex: 0 0 64px;
  width: 64px;
}

#builder-module-1358590 .ch-db-testimonial-horizontal__photo {
  display: block;
  width: 64px;
  height: 64px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid rgba(0, 0, 0, 0.05);
}

#builder-module-1358590 .ch-db-testimonial-horizontal__photo-fallback {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #f4f4f5, #eaeaec);
  border: 2px solid rgba(0, 0, 0, 0.05);
}

/* ---- Body ---- */

#builder-module-1358590 .ch-db-testimonial-horizontal__body {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

/* ---- Stars ---- */

#builder-module-1358590 .ch-db-testimonial-horizontal__stars {
  position: relative;
  display: inline-flex;
  line-height: 1;
  color: var(--ch-text-color-accent, rgba(0, 0, 0, 0.12));
  margin-bottom: 6px;
}

#builder-module-1358590 .ch-db-testimonial-horizontal__stars-track, #builder-module-1358590 .ch-db-testimonial-horizontal__stars-fill {
  display: inline-flex;
  gap: 2px;
}

#builder-module-1358590 .ch-db-testimonial-horizontal__stars-fill {
  position: absolute;
  left: 0;
  top: 0;
  color: var(--ch-text-color-accent, rgba(0, 0, 0, 0.12));
  overflow: hidden;
}

#builder-module-1358590 .ch-db-testimonial-horizontal__stars i {
  width: 14px;
  height: 14px;
  flex-shrink: 0;
}

/* ---- Title ---- */

#builder-module-1358590 .ch-db-testimonial-horizontal__title {
  margin: 0;
  font-size: 19px;
  font-weight: 600;
  line-height: 1.15;
  color: var(--ch-card-text-color, var(--ch-text-color));
}

/* ---- Quote ---- */

#builder-module-1358590 .ch-db-testimonial-horizontal__quote {
  margin: 0;
  padding: 0;
  border: none;
}

#builder-module-1358590 .ch-db-testimonial-horizontal__quote p {
  margin: 0;
  font-size: 0.8rem;
  line-height: 1.5;
  color: var(--ch-card-text-color-muted, var(--ch-text-color-muted, var(--ch-text-color)));
  font-style: italic;
}

/* ---- Citation ---- */

#builder-module-1358590 .ch-db-testimonial-horizontal__cite {
  margin-top: auto;
  padding-top: 6px;
  font-style: normal;
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0 8px;
}

#builder-module-1358590 .ch-db-testimonial-horizontal__author {
  font-style: normal;
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--ch-card-text-color, var(--ch-text-color));
}

#builder-module-1358590 .ch-db-testimonial-horizontal__credibility {
  font-size: 0.7rem;
  color: var(--ch-card-text-color-muted, var(--ch-text-color-muted, var(--ch-text-color)));
  font-weight: 500;
}

#builder-module-1358590 .ch-db-testimonial-horizontal__credibility::before {
  content: '\00b7';
  margin-right: 8px;
  color: var(--ch-text-color-accent, #ccc);
}

/* ---- Video link ---- */

#builder-module-1358590 .ch-db-testimonial-horizontal__video-link {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 0.7rem;
  font-weight: 600;
  color: var(--ch-text-color-accent);
  text-decoration: none;
  margin-top: 2px;
  width: fit-content;
}

#builder-module-1358590 .ch-db-testimonial-horizontal__video-link:hover {
  text-decoration: underline;
}

@media (min-width: 481px) {
  #builder-module-1358590 .ch-db-testimonial-horizontal {
    padding: 22px 22px 22px 16.5px;
    gap: 12px;
  }

  #builder-module-1358590 .ch-db-testimonial-horizontal__photo-col {
    flex: 0 0 104px;
    width: 104px;
  }

  #builder-module-1358590 .ch-db-testimonial-horizontal__photo, #builder-module-1358590 .ch-db-testimonial-horizontal__photo-fallback {
    width: 104px;
    height: 104px;
  }

}

/* website_frame #1 simple */
#builder-module-1358590 [data-ch-frame-variant="simple"] {
  position: relative;
  isolation: isolate;
  border: 2px solid color-mix(in srgb, var(--ch-text-color, currentColor) 25%, transparent);
  border-radius: 8px;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.10);
}


#builder-module-1358590 [data-ch-frame-variant="simple"]>img, #builder-module-1358590 [data-ch-frame-variant="simple"] [data-ch-image] {
  display: block;
}

#builder-module-1358590 [data-ch-frame-variant="simple"]>img, #builder-module-1358590 [data-ch-frame-variant="simple"]>*:first-child, #builder-module-1358590 [data-ch-frame-variant="simple"] [data-ch-image] {
  max-width: 100%;
  object-fit: cover;
  border-radius: 5px;
  overflow: hidden;
}

/* website_header #21 default */
#builder-module-1358590 .ch-header--default {
  text-align: left;
}

#builder-module-1358590 .ch-header--default__eyebrow {
  display: block;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  margin-top: 0;
  margin-bottom: 10px;
  color: var(--ch-text-color-accent, currentColor);
}

#builder-module-1358590 .ch-header--default__title {
  margin: 0 0 0;
  color: var(--ch-text-color, currentColor);
}

#builder-module-1358590 .ch-header--default__title+.ch-header--default__body {
  margin: 10px 0 0;
}

#builder-module-1358590 .ch-header--default__body {
  margin: 0;
  max-width: 100ch;
  color: var(--ch-text-color-muted, var(--ch-text-color, currentColor));
}

#builder-module-1358590 .ch-header--default__body h1, #builder-module-1358590 .ch-header--default__body h2, #builder-module-1358590 .ch-header--default__body h3 {
  color: var(--ch-text-color, currentColor);
}
/* empty-slot guard (token-valued slots survive injectSlots) */
#builder-module-1358590 .ch-header--default__eyebrow:empty, #builder-module-1358590 .ch-header--default__title:empty, #builder-module-1358590 .ch-header--default__body:empty, #builder-module-1358590 .ch-header--default__shout:empty { display: none; }


/* website_button #1 primary */
#builder-module-1358590 [data-ch-btn][data-ch-btn-variant="primary"] {
  line-height: var(--ch-btn-lh, 21px);
  background-color: var(--ch-btn-bg, #bf4d00);
  color: var(--ch-btn-text, #ffffff);
  border: 1.5px solid var(--ch-btn-border, #bf4d00);
  border-radius:var(--ch-btn-border-radius, 6px);
  height: var(--ch-btn-h, auto);
  font-weight: 600;
  transition: background-color 150ms ease, color 150ms ease, border-color 150ms ease, transform 150ms ease;
}

#builder-module-1358590 [data-ch-btn][data-ch-btn-variant="primary"]:hover {
  background-color: var(--ch-btn-bg-hover, #a84400);
  color: var(--ch-btn-text-hover, #ffffff);
}

/* website_paginator #1 simple */
/* simple paginator. Scoped to [data-ch-paginator-variant="simple"], which WebsitePaginators::render stamps on the nav. */
/* The nav carries its own layout. Scoped on BOTH the grid's host wrapper and the
   bare `.ch-pg` class because a CAROUSEL emits the same nav with no
   [data-ch-widget="grid-paginator"] host around it — every rule below that was
   host-scoped simply did not match there, and the buttons collapsed to ~20px. */
#builder-module-1358590 [data-ch-paginator-variant="simple"] {
    display: flex;
    align-items: center;
    gap: 14px;
    /* Containing block for the rail below, so an absolutely-positioned rail
       resolves against THIS nav on every variant rather than escaping to some
       distant positioned ancestor. `simple` also declares it for its own groove;
       stating it here makes the rail's containment variant-independent. */
    position: relative;
}
/* THE RAIL IS NEVER A FLEX ITEM. listPaginatorJs writes `width: <100/pages>%`
   and a translateX onto `.ch-pg_rail` for EVERY variant — it does not know or
   care which one is active. Only `simple` styles the rail into a travelling
   groove (position:absolute, below) and `slim` hides it outright; `modern` did
   neither, so the element kept its inline 12.5% width IN FLOW and claimed an
   eighth of the bar as blank space between the label and the next arrow.
   Taking it out of flow here makes that impossible for any variant, present or
   future: a variant that wants a visible rail positions it, and one that does
   not pays nothing. Reported on teddy.chl.local with the modern slab. */
#builder-module-1358590 [data-ch-paginator-variant="simple"] .ch-pg_rail {
    position: absolute;
    pointer-events: none;
}
/* Chevron glyphs — the static lane ships inline SVG, the React lane an entity. */
#builder-module-1358590 [data-ch-paginator-variant="simple"] button svg {
    width: 20px;
    height: 20px;
    stroke: currentColor;
    fill: none;
    stroke-width: 2.25;
}
/* The 999px-radius circular buttons this used to draw are RETIRED — that was the
   legacy grid look and is no longer one of the three options. Every paginator is
   now the joined module below: a bordered group with the progress rail along its
   top edge. */
#builder-module-1358590 [data-ch-paginator-variant="simple"] button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    padding: 0;
    border: 1px solid var(--ch-text-color-accent, var(--ch-text-color, rgba(15, 28, 46, 0.16)));
    border-radius: 0;
    background: var(--ch-card-bg, transparent);
    color: var(--ch-card-text-color, var(--ch-text-color, inherit));
    cursor: pointer;
    transition: background-color 0.15s ease, border-color 0.15s ease, opacity 0.15s ease;
}
/* Mask icons are PAINTED via background-color, not `color` (see WebsiteSchemes'
   moduleStylesGlobal icon accent rule) — so the accent has to land on background,
   and a bare `background:` shorthand here would wipe the mask itself. */
/* Mask icons are PAINTED via background-color, not `color`, so the accent has to
   land on background and a bare `background:` shorthand would wipe the mask. All
   three lanes now emit `<i data-mask-icon="chevron_left|chevron_right">` — the
   React carousel used a `&#8249;` text entity and the static runtime an inline
   SVG, which is why one control looked different depending on who drew it.
   Sized here, once, for every lane. */
#builder-module-1358590 [data-ch-paginator-variant="simple"] button i[data-mask-icon] {
    background-color: var(--ch-text-color-accent, var(--ch-text-color, currentColor));
    width: 18px;
    height: 18px;
}
#builder-module-1358590 [data-ch-paginator-variant="simple"] button:hover:not(:disabled) {
    border-color: var(--ch-text-color-accent, var(--ch-color-primary, currentColor));
    color: var(--ch-text-color-accent, var(--ch-color-primary, currentColor));
}
#builder-module-1358590 [data-ch-paginator-variant="simple"] button:disabled {
    opacity: 0.4;
    pointer-events: none;
}
/* NO min-width. The label holds anything from "2 of 5" to "1-18 of 240", so a
   fixed floor sized for one form leaves the other visibly padded — it collapses
   to whatever it needs instead, and `nowrap` is the only guarantee required.
   `tabular-nums` keeps the digits from jittering as the count changes width. */
#builder-module-1358590 [data-ch-paginator-variant="simple"] [data-ch-page-label] {
    text-align: center;
    font-weight: 600;
    color: var(--ch-text-color, inherit);
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

/* ── PAGINATOR VARIANTS ─────────────────────────────────────────────────────
   One markup shape, three looks. The engine (EjectSupport::listPaginatorJs)
   binds [data-ch-page] and [data-ch-page-label] and is variant-blind, so these
   are pure presentation and the static export lane needs no extra code.

   `simple` is the historical bar and adds nothing — an un-migrated block, or one
   whose operator never picked a style, renders byte-identical to today.

   PLACEMENT IS A SEPARATE AXIS from the look. A grid keeps the sticky, centered
   strip above; a carousel gets the static, right-aligned form via
   .ch-pg--incarousel. The same variant therefore reads the same in both
   contexts and only its position differs. */

/* SIMPLE (default) — the approved "rail as the top edge" control, and the
   LIGHTEST of the three: there is NO container border. Only the buttons are
   outlined; the count sits to their LEFT as bare text, and the progress rail
   runs above the whole control.

   Source order is prev / label / next (one markup for every variant, so the
   engine and the export lanes never branch), and `order` moves the label ahead
   of both buttons — the buttons end up together on the right, which is what
   makes this read as "a count, then a control" rather than a segmented widget.

   The rail is a travelling WINDOW: 1/pages wide, sliding to (page-1)/pages, so
   BOTH its edges move. A bar that only grew from the left would read as "how
   full" rather than "where am I". */
#builder-module-1358590 [data-ch-paginator-variant="simple"] {
    position: relative;
    /* 16px, not the bar's default 8: with no container border the count and the
       buttons are two loose objects, and at 8px they read as one crowded clump.
       Double the gap gives the label room to be its own thing. */
    gap: 16px;
    padding-top: 11px;              /* rail height + breathing room */
    /* fit-content AND flex-none: inside the chrome bar the nav is a flex item and
       would otherwise stretch, dragging its groove across the whole row instead
       of sitting over the control it measures. */
    width: fit-content;
    flex: none;
}
/* the unfilled groove, spanning the whole control */
#builder-module-1358590 [data-ch-paginator-variant="simple"]::before {
    content: "";
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 3px;
    border-radius: 2px;
    background: var(--ch-text-color, rgba(15, 28, 46, 0.16));
    opacity: 0.22;
}
/* the travelling window; width/transform are set by the runtime */
#builder-module-1358590 [data-ch-paginator-variant="simple"] .ch-pg_rail {
    position: absolute;
    top: 0; left: 0;
    height: 3px;
    border-radius: 2px;
    background: var(--ch-text-color-accent, var(--ch-text-color, currentColor));
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), width 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
/* Count first, buttons together after it. */
#builder-module-1358590 [data-ch-paginator-variant="simple"] [data-ch-page-label] {
    order: 1;
    /* Flush LEFT against the rail's own left edge — the label and the groove
       above it share a starting line, which is what ties the two together as one
       control. No right padding: the bar's 8px gap already separates it from the
       buttons, and anything more reads as a hole. */
    padding: 0;
    border: 0;
}
#builder-module-1358590 [data-ch-paginator-variant="simple"] button[data-ch-page="prev"] { order: 2; }
#builder-module-1358590 [data-ch-paginator-variant="simple"] button[data-ch-page="next"] { order: 3; }
/* Buttons carry the only borders on this variant, and sit flush together. */
#builder-module-1358590 [data-ch-paginator-variant="simple"] button {
    border-radius: 8px;
    border-width: 1px;
}
#builder-module-1358590 [data-ch-paginator-variant="simple"] button[data-ch-page="prev"] { margin-right: -4px; }


/* pm 1185585 */
/* No color authoring here — no background, no text tokens, no --ch-btn-* vars.
   This band inherits the page scheme like any other section block, so the
   theme's background/scheme system owns the palette and the resolved button
   variant owns the button. (The V1 source force-filled itself with the site
   primary and re-pointed the text tokens to stay readable on it; that whole
   coupling is deliberately dropped — see the class docblock.) */
#builder-module-1185585 .cts-eject {
  position: relative;
}
/* Full-bleed background wrapper — paints the module's bg edge-to-edge behind the
   max-width-contained content. data-ch-bg-* hydration adds position/overflow. */
#builder-module-1185585 .cts-eject__bg { width: 100%; }
/* Horizontal band: copy LEFT (default left-aligned header variant), buttons in
   a RIGHT column. Multiple buttons stack VERTICALLY as full-width blocks in
   that column — never side-by-side on desktop. At <=850px both go full width:
   copy on top, buttons beneath it, left-aligned and flowing horizontally with
   wrap. (The anchors themselves are styled by the global [data-ch-btn]
   stylesheet + resolved variant CSS — this only lays them out.) */
#builder-module-1185585 .cts-eject__content {
  display: flex; align-items: center; justify-content: space-between; gap: 40px;
}
/* Lone button → center it. When the instance has no renderable header copy the
   headers system still emits the placeholder, stamped
   data-ch-header-variant="__hidden__" + display:none (WebsiteHeaders::HIDDEN_SLUG;
   HeaderEjectTrait::headerInstanceAttrs returns ['__hidden'=>1] for it). So the
   flex row keeps two children and `space-between` pins the button hard right with
   dead space beside it — visually it reads as misaligned rather than intentional.
   Detect the hidden variant and center instead.

   Keyed on the ATTRIBUTE, not on element presence or a bake-time flag: the
   variation switcher's header editor writes this same attribute per-instance
   (substituteInHtml deliberately keeps the placeholder so the choice round-trips
   and the switcher can sniff it off the DOM). So an operator adding copy later
   flips the attribute and this rule stops matching on its own — no re-eject, and
   nothing to keep in sync. Matches whether the copy is a title, body, or eyebrow, since headerTextMap() only yields the hidden fallback when ALL are empty.

   The `margin-left:auto` on the button column must be released too: an auto
   margin absorbs ALL free space before justify-content can distribute any { justify-content: center; }
.cts-eject__content:has(> [data-ch-header][data-ch-header-variant="__hidden__"]) > .cts-eject__buttons { margin-left: 0; }
.cts-eject__rich { text-align: left; margin: 0; flex: 1 1 auto; min-width: 0; }
.cts-eject__buttons {
  display: flex; flex-direction: column; gap: 12px;
  flex: 0 0 auto; margin-left: auto;
}
.cts-eject__buttons [data-ch-btn] { display: flex; text-align: center; }
@media (max-width: 850px) {
  .cts-eject__content { flex-direction: column; align-items: stretch; gap: 24px; }
  .cts-eject__buttons {
    flex-direction: row; flex-wrap: wrap; justify-content: flex-start; margin-left: 0;
  }
  .cts-eject__buttons [data-ch-btn] { display: inline-flex; }
  /* Same headerless case at the stacked breakpoint. Here the row is a COLUMN, so
     `justify-content` no longer controls the horizontal axis — the button strip's
     own flex-start does. Center that instead { justify-content: center; }
}

/* website_header #21 default */
#builder-module-1185585 .ch-header--default {
  text-align: left;
}

#builder-module-1185585 .ch-header--default__eyebrow {
  display: block;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  margin-top: 0;
  margin-bottom: 10px;
  color: var(--ch-text-color-accent, currentColor);
}

#builder-module-1185585 .ch-header--default__title {
  margin: 0 0 0;
  color: var(--ch-text-color, currentColor);
}

#builder-module-1185585 .ch-header--default__title+.ch-header--default__body {
  margin: 10px 0 0;
}

#builder-module-1185585 .ch-header--default__body {
  margin: 0;
  max-width: 100ch;
  color: var(--ch-text-color-muted, var(--ch-text-color, currentColor));
}

#builder-module-1185585 .ch-header--default__body h1, #builder-module-1185585 .ch-header--default__body h2, #builder-module-1185585 .ch-header--default__body h3 {
  color: var(--ch-text-color, currentColor);
}
/* empty-slot guard (token-valued slots survive injectSlots) */
#builder-module-1185585 .ch-header--default__eyebrow:empty, #builder-module-1185585 .ch-header--default__title:empty, #builder-module-1185585 .ch-header--default__body:empty, #builder-module-1185585 .ch-header--default__shout:empty { display: none; }


/* website_button #1 primary */
#builder-module-1185585 [data-ch-btn][data-ch-btn-variant="primary"] {
  line-height: var(--ch-btn-lh, 21px);
  background-color: var(--ch-btn-bg, #bf4d00);
  color: var(--ch-btn-text, #ffffff);
  border: 1.5px solid var(--ch-btn-border, #bf4d00);
  border-radius:var(--ch-btn-border-radius, 6px);
  height: var(--ch-btn-h, auto);
  font-weight: 600;
  transition: background-color 150ms ease, color 150ms ease, border-color 150ms ease, transform 150ms ease;
}

#builder-module-1185585 [data-ch-btn][data-ch-btn-variant="primary"]:hover {
  background-color: var(--ch-btn-bg-hover, #a84400);
  color: var(--ch-btn-text-hover, #ffffff);
}