.dsdhm004-scroll-lock{overflow:hidden!important}.dsdhm004-root{--hm-menu-bg:rgba(24,24,23,.85);--hm-menu-close-bg:rgba(24,24,23,.95);--hm-menu-text:#fbf9f5;--hm-menu-muted:#a6a39d;--hm-panel-border:#716f6b;--hm-backdrop:rgba(0,0,0,.05);--hm-backdrop-blur:10px;--hm-hover-gradient:rgba(0,0,0,.35);--hm-top-gradient:rgba(0,0,0,.75);--hm-scrolled-bg:#f0eee7;--hm-scrolled-text:#181817;--hm-scrolled-line:#d3d0c5;--hm-title-font:Georgia,"Times New Roman",serif;--hm-body-font:Arial,Helvetica,sans-serif;--hm-title-weight:400;--hm-body-weight:400;--hm-z:99990;--hm-open-ms:350ms;--hm-drawer-ms:200ms;--hm-fade-ms:250ms;--hm-panel-radius:0;--hm-img-fit:cover;--hm-img-position:center center;--hm-img-border-width:0px;--hm-img-border-color:#716f6b;--hm-img-radius:0px;--hm-img-overlay:rgba(0,0,0,0);--hm-img-zoom:1.05;position:fixed;z-index:var(--hm-z);inset:0 0 auto 0;width:100%;max-width:100vw;font-family:var(--hm-body-font);font-weight:var(--hm-body-weight);color:var(--hm-menu-text);box-sizing:border-box}.dsdhm004-root *,.dsdhm004-root *:before,.dsdhm004-root *:after{box-sizing:border-box}.dsdhm004-root a{color:inherit;text-decoration:none}.dsdhm004-root button{font:inherit;color:inherit;background:none;border:0;padding:0;margin:0;cursor:pointer}.dsdhm004-root ul{list-style:none;margin:0;padding:0}.dsdhm004-root .screen-reader-text{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.dsdhm004-navbar-bg{position:absolute;transition:transform .35s ease;inset:0 0 auto;height:100%;pointer-events:none;overflow:visible;z-index:1}.dsdhm004-navbar-bg>span{position:absolute;top:0;right:0;bottom:auto;left:0}.dsdhm004-navbar-gradient{height:165px;background:linear-gradient(to bottom,var(--hm-top-gradient),rgba(0,0,0,0));transform-origin:top;transition:opacity .35s ease,transform .35s ease}.dsdhm004-navbar-hover-gradient{height:190px;background:linear-gradient(to bottom,var(--hm-hover-gradient),var(--hm-hover-gradient),rgba(0,0,0,0));transform:translateY(-100%);transition:transform .4s ease-in-out}.dsdhm004-navbar-solid{height:100%;background:var(--hm-scrolled-bg);transform:translateY(-101%);opacity:0;transition:transform .35s ease,opacity .35s ease}.dsdhm004-navbar-line{top:auto!important;bottom:0!important;height:1px;background:var(--hm-scrolled-line);opacity:0;transition:opacity .3s ease}.dsdhm004-root:hover .dsdhm004-navbar-hover-gradient{transform:translateY(0)}.dsdhm004-root.is-scrolled .dsdhm004-navbar-gradient,.dsdhm004-root:not(.is-transparent) .dsdhm004-navbar-gradient{opacity:0}.dsdhm004-root.is-scrolled .dsdhm004-navbar-solid,.dsdhm004-root:not(.is-transparent) .dsdhm004-navbar-solid{transform:translateY(0);opacity:1}.dsdhm004-root.is-scrolled .dsdhm004-navbar-line,.dsdhm004-root:not(.is-transparent) .dsdhm004-navbar-line{opacity:1}.dsdhm004-navbar{position:relative;z-index:5;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;width:100%;transition:transform .35s ease,color .3s ease,opacity .3s ease}.dsdhm004-root.is-scrolled:not(.is-menu-open):not(.is-search-open),.dsdhm004-root:not(.is-transparent):not(.is-menu-open):not(.is-search-open){color:var(--hm-scrolled-text)}.dsdhm004-root.is-hidden .dsdhm004-navbar,.dsdhm004-root.is-hidden .dsdhm004-navbar-bg{transform:translateY(-110%)}.dsdhm004-left-tools,.dsdhm004-right-tools{display:flex;align-items:center;gap:16px;min-width:0}.dsdhm004-left-tools{justify-self:start}.dsdhm004-right-tools{justify-self:end}.dsdhm004-menu-toggle,.dsdhm004-search-toggle{display:grid;place-items:center;border-radius:50%;flex:0 0 auto}.dsdhm004-menu-icon{position:relative;display:block;width:100%;height:100%;border:1px solid currentColor;border-radius:50%;transition:all .1s ease}.dsdhm004-menu-icon .b{position:absolute;left:31%;right:31%;height:1px;top:50%;background:currentColor;transform-origin:center;transition:transform .233s cubic-bezier(.125,.5,.375,1),opacity .2s ease}.dsdhm004-menu-icon .b1{transform:translateY(-5px)}.dsdhm004-menu-icon .b3{transform:translateY(5px)}.dsdhm004-menu-toggle:hover .dsdhm004-menu-icon,.dsdhm004-search-toggle:hover .hm-search>circle:first-child{stroke-width:2}.dsdhm004-root.is-menu-open .dsdhm004-menu-icon .b1{transform:rotate(45deg)}.dsdhm004-root.is-menu-open .dsdhm004-menu-icon .b2{opacity:0;transform:scaleX(.05)}.dsdhm004-root.is-menu-open .dsdhm004-menu-icon .b3{transform:rotate(-45deg)}.dsdhm004-left-labels{position:relative;overflow:hidden;white-space:nowrap;min-height:22px;display:flex;align-items:center}.dsdhm004-visit-label,.dsdhm004-close-label{display:block;transition:transform .3s cubic-bezier(0,.25,.575,1),opacity .3s ease}.dsdhm004-close-label{position:absolute;left:0;transform:translateX(-130%);opacity:0}.dsdhm004-root.is-menu-open .dsdhm004-visit-label{transform:translateX(32px);opacity:0;pointer-events:none}.dsdhm004-root.is-menu-open .dsdhm004-close-label{transform:translateX(0);opacity:1;transition-delay:.12s}.dsdhm004-logo-group{display:flex;align-items:center;justify-content:center;justify-self:center;min-width:0;transition:opacity .233s ease;color:currentColor}.dsdhm004-logo-img{display:block;width:auto;max-width:220px;object-fit:contain}.dsdhm004-logo-text{font-family:var(--hm-title-font);font-size:24px;line-height:1;white-space:nowrap}.dsdhm004-root.is-menu-open .dsdhm004-logo-group{opacity:0;pointer-events:none}.dsdhm004-root.keep-brand-open.is-menu-open .dsdhm004-logo-group{opacity:1;pointer-events:auto}.dsdhm004-tool,.dsdhm004-search-toggle{display:grid;place-items:center}.hm-svg,.hm-chevron,.hm-back{display:block;fill:none;stroke:currentColor;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round}.dsdhm004-tool .hm-svg{width:24px;height:24px}.dsdhm004-search-toggle .hm-search{width:100%;height:100%}.dsdhm004-root.is-menu-open .dsdhm004-right-tools{opacity:0;pointer-events:none;transform:translateX(8px)}.dsdhm004-right-tools{transition:opacity .233s ease,transform .233s ease}.dsdhm004-menu-layer,.dsdhm004-search-layer{position:fixed;inset:0;z-index:3;pointer-events:none;overflow:hidden}.dsdhm004-menu-layer[aria-hidden="false"],.dsdhm004-search-layer[aria-hidden="false"]{pointer-events:auto}.dsdhm004-backdrop,.dsdhm004-search-backdrop{position:absolute!important;inset:0!important;width:100%;height:100%;background:var(--hm-backdrop)!important;backdrop-filter:blur(0);opacity:0;transition:opacity .3s ease,backdrop-filter 1s ease}.dsdhm004-root.is-menu-open .dsdhm004-backdrop,.dsdhm004-root.is-search-open .dsdhm004-search-backdrop{opacity:1;backdrop-filter:blur(var(--hm-backdrop-blur))}.dsdhm004-main-panel{position:absolute;top:0;left:0;bottom:0;background:var(--hm-menu-bg);border-radius:0 var(--hm-panel-radius) var(--hm-panel-radius) 0;opacity:0;transform:translateX(-100%);transition:opacity .2s ease,transform var(--hm-open-ms) cubic-bezier(0,.25,.375,1);overflow:hidden;z-index:2}.dsdhm004-root.is-menu-open .dsdhm004-main-panel{opacity:1;transform:translateX(0)}.dsdhm004-main-inner{height:100%;display:flex;flex-direction:column;justify-content:space-between;overflow:auto}.dsdhm004-primary-list{font-family:var(--hm-title-font);font-weight:var(--hm-title-weight)}.dsdhm004-main-link,.dsdhm004-sub-link{display:flex;align-items:center;justify-content:space-between;width:100%;text-align:left}.dsdhm004-main-link .hm-chevron,.dsdhm004-sub-link .hm-chevron{width:1em;height:1em;opacity:0;transform:translateX(-5px);transition:opacity .3s ease,transform .3s ease}.dsdhm004-main-item:hover>.dsdhm004-main-link .hm-chevron,.dsdhm004-main-item.is-active>.dsdhm004-main-link .hm-chevron,.dsdhm004-sub-item:hover>.dsdhm004-sub-link .hm-chevron,.dsdhm004-sub-link:focus .hm-chevron{opacity:1;transform:translateX(0)}.dsdhm004-primary-list:hover .dsdhm004-main-item:not(:hover):not(.is-active),.dsdhm004-primary-list:has(.is-active) .dsdhm004-main-item:not(.is-active){color:var(--hm-menu-muted)}.dsdhm004-main-item{transition:color var(--hm-fade-ms) ease}.dsdhm004-main-bottom{margin-top:44px}.dsdhm004-secondary-list,.dsdhm004-bottom-list{display:flex;flex-direction:column}.dsdhm004-secondary-list a,.dsdhm004-bottom-list a{display:flex;align-items:center;gap:9px}.dsdhm004-bottom-list .hm-svg{width:16px;height:16px}.dsdhm004-divider{height:1px;background:var(--hm-panel-border);margin-left:calc(-1 * var(--hm-panel-px));margin-right:calc(-1 * var(--hm-panel-px))}.dsdhm004-drawers{position:absolute;inset:0;z-index:1;pointer-events:none}.dsdhm004-drawer{position:absolute;top:0;bottom:0;background:var(--hm-menu-bg);border-right:1px solid var(--hm-panel-border);opacity:0;transform:translateX(-100%);transition:opacity var(--hm-drawer-ms) ease,transform var(--hm-drawer-ms) ease;overflow:hidden;pointer-events:none}.dsdhm004-root.is-menu-open.has-drawer .dsdhm004-drawer.is-active{opacity:1;transform:translateX(0);pointer-events:auto}.dsdhm004-root.has-drawer .dsdhm004-main-panel{border-right:1px solid var(--hm-panel-border)}.dsdhm004-drawer-ui{height:100%;overflow-y:auto}.dsdhm004-back-btn{display:none!important;width:100%;align-items:center;gap:10px;text-align:left;margin-bottom:20px}.dsdhm004-back-btn .hm-back{width:22px;height:22px}.dsdhm004-drawer-brand{display:flex;align-items:center;justify-content:flex-start;min-height:42px;margin:0 0 28px}.dsdhm004-drawer-brand img{display:block;max-width:min(190px,100%);width:auto;max-height:54px;height:auto;object-fit:contain}.dsdhm004-sub-list{font-family:var(--hm-title-font);font-weight:var(--hm-title-weight)}.dsdhm004-sub-list:hover .dsdhm004-sub-item:not(:hover){color:var(--hm-menu-muted)}.dsdhm004-sub-item{transition:color var(--hm-fade-ms) ease}.dsdhm004-popout{position:absolute;top:0;bottom:0;right:0;background:rgba(24,24,23,.16);overflow:hidden;opacity:0;pointer-events:none;transition:opacity .3s ease;z-index:1}.dsdhm004-popout.is-active{opacity:1;pointer-events:auto}.dsdhm004-popout.is-main-media{left:var(--hm-panel-w)}.dsdhm004-popout-media{position:absolute;inset:0;overflow:hidden}.dsdhm004-popout-media:after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,var(--hm-img-overlay) 0%,rgba(0,0,0,0) 38%,rgba(0,0,0,.68) 100%);pointer-events:none}.dsdhm004-popout-media img{width:100%;height:100%;object-fit:var(--hm-img-fit);object-position:var(--hm-img-position);transform:scale(var(--hm-img-zoom));border:var(--hm-img-border-width) solid var(--hm-img-border-color);border-radius:var(--hm-img-radius);transition:transform .3s ease;display:block}.dsdhm004-popout.is-active img{transform:scale(1)}.dsdhm004-popout-copy{position:absolute;left:32px;right:32px;bottom:32px;z-index:2;color:#fff}.dsdhm004-popout-title{font-family:var(--hm-title-font);font-size:36px;line-height:1.1;margin-bottom:16px}.dsdhm004-popout-children{display:flex;flex-wrap:wrap;gap:8px 20px}.dsdhm004-popout-children a{text-decoration:underline;text-underline-offset:4px}.dsdhm004-search-panel{position:absolute;top:0;left:0;right:0;min-height:280px;background:var(--hm-menu-close-bg);transform:translateY(-100%);opacity:0;transition:opacity .2s ease,transform var(--hm-open-ms) cubic-bezier(0,.25,.375,1);padding-top:100px;z-index:2}.dsdhm004-root.is-search-open .dsdhm004-search-panel{transform:translateY(0);opacity:1}.dsdhm004-search-form{max-width:920px;margin:30px auto 60px;display:grid;grid-template-columns:1fr auto;gap:14px;padding:0 28px}.dsdhm004-search-form input{width:100%;font-family:var(--hm-title-font);font-size:38px;color:var(--hm-menu-text);background:transparent;border:0;border-bottom:1px solid var(--hm-panel-border);padding:14px 0;outline:0}.dsdhm004-search-form input::placeholder{color:var(--hm-menu-muted)}.dsdhm004-search-form button{border:1px solid var(--hm-menu-text);padding:0 28px;border-radius:999px!important}.dsdhm004-editor-preview{position:relative!important;inset:auto!important;display:block;min-height:88px;background:#2b2b2a;overflow:visible}.dsdhm004-editor-preview .dsdhm004-menu-layer,.dsdhm004-editor-preview .dsdhm004-search-layer{position:fixed}.dsdhm004-native-block{min-height:88px}

/* profile variable mapping */
@media (min-width:1200px) and (orientation:landscape){.dsdhm004-root{--hm-header-py:var(--hm-dw-header_py);--hm-header-px:var(--hm-dw-header_px);--hm-logo-h:var(--hm-dw-logo_h);--hm-logo-gap:var(--hm-dw-logo_gap);--hm-icon-btn:var(--hm-dw-icon_btn);--hm-panel-w:var(--hm-dw-panel_w);--hm-menu-top:var(--hm-dw-menu_top);--hm-main-font:var(--hm-dw-main_font);--hm-main-gap:var(--hm-dw-main_gap);--hm-sub-font:var(--hm-dw-sub_font);--hm-sub-gap:var(--hm-dw-sub_gap);--hm-utility-font:var(--hm-dw-utility_font);--hm-utility-gap:var(--hm-dw-utility_gap);--hm-panel-px:var(--hm-dw-panel_px)}}
@media (min-width:1200px) and (orientation:portrait){.dsdhm004-root{--hm-header-py:var(--hm-dp-header_py);--hm-header-px:var(--hm-dp-header_px);--hm-logo-h:var(--hm-dp-logo_h);--hm-logo-gap:var(--hm-dp-logo_gap);--hm-icon-btn:var(--hm-dp-icon_btn);--hm-panel-w:var(--hm-dp-panel_w);--hm-menu-top:var(--hm-dp-menu_top);--hm-main-font:var(--hm-dp-main_font);--hm-main-gap:var(--hm-dp-main_gap);--hm-sub-font:var(--hm-dp-sub_font);--hm-sub-gap:var(--hm-dp-sub_gap);--hm-utility-font:var(--hm-dp-utility_font);--hm-utility-gap:var(--hm-dp-utility_gap);--hm-panel-px:var(--hm-dp-panel_px)}}
@media (min-width:768px) and (max-width:1199px) and (orientation:landscape){.dsdhm004-root{--hm-header-py:var(--hm-tw-header_py);--hm-header-px:var(--hm-tw-header_px);--hm-logo-h:var(--hm-tw-logo_h);--hm-logo-gap:var(--hm-tw-logo_gap);--hm-icon-btn:var(--hm-tw-icon_btn);--hm-panel-w:var(--hm-tw-panel_w);--hm-menu-top:var(--hm-tw-menu_top);--hm-main-font:var(--hm-tw-main_font);--hm-main-gap:var(--hm-tw-main_gap);--hm-sub-font:var(--hm-tw-sub_font);--hm-sub-gap:var(--hm-tw-sub_gap);--hm-utility-font:var(--hm-tw-utility_font);--hm-utility-gap:var(--hm-tw-utility_gap);--hm-panel-px:var(--hm-tw-panel_px)}}
@media (min-width:768px) and (max-width:1199px) and (orientation:portrait){.dsdhm004-root{--hm-header-py:var(--hm-tp-header_py);--hm-header-px:var(--hm-tp-header_px);--hm-logo-h:var(--hm-tp-logo_h);--hm-logo-gap:var(--hm-tp-logo_gap);--hm-icon-btn:var(--hm-tp-icon_btn);--hm-panel-w:var(--hm-tp-panel_w);--hm-menu-top:var(--hm-tp-menu_top);--hm-main-font:var(--hm-tp-main_font);--hm-main-gap:var(--hm-tp-main_gap);--hm-sub-font:var(--hm-tp-sub_font);--hm-sub-gap:var(--hm-tp-sub_gap);--hm-utility-font:var(--hm-tp-utility_font);--hm-utility-gap:var(--hm-tp-utility_gap);--hm-panel-px:var(--hm-tp-panel_px)}}
@media (max-width:767px) and (orientation:landscape){.dsdhm004-root{--hm-header-py:var(--hm-pw-header_py);--hm-header-px:var(--hm-pw-header_px);--hm-logo-h:var(--hm-pw-logo_h);--hm-logo-gap:var(--hm-pw-logo_gap);--hm-icon-btn:var(--hm-pw-icon_btn);--hm-panel-w:var(--hm-pw-panel_w);--hm-menu-top:var(--hm-pw-menu_top);--hm-main-font:var(--hm-pw-main_font);--hm-main-gap:var(--hm-pw-main_gap);--hm-sub-font:var(--hm-pw-sub_font);--hm-sub-gap:var(--hm-pw-sub_gap);--hm-utility-font:var(--hm-pw-utility_font);--hm-utility-gap:var(--hm-pw-utility_gap);--hm-panel-px:var(--hm-pw-panel_px)}}
@media (max-width:767px) and (orientation:portrait){.dsdhm004-root{--hm-header-py:var(--hm-pp-header_py);--hm-header-px:var(--hm-pp-header_px);--hm-logo-h:var(--hm-pp-logo_h);--hm-logo-gap:var(--hm-pp-logo_gap);--hm-icon-btn:var(--hm-pp-icon_btn);--hm-panel-w:var(--hm-pp-panel_w);--hm-menu-top:var(--hm-pp-menu_top);--hm-main-font:var(--hm-pp-main_font);--hm-main-gap:var(--hm-pp-main_gap);--hm-sub-font:var(--hm-pp-sub_font);--hm-sub-gap:var(--hm-pp-sub_gap);--hm-utility-font:var(--hm-pp-utility_font);--hm-utility-gap:var(--hm-pp-utility_gap);--hm-panel-px:var(--hm-pp-panel_px)}}
.dsdhm004-navbar{padding:var(--hm-header-py) var(--hm-header-px)}.dsdhm004-menu-toggle,.dsdhm004-search-toggle{width:var(--hm-icon-btn);height:var(--hm-icon-btn)}.dsdhm004-logo-group{gap:var(--hm-logo-gap)}.dsdhm004-logo-img{height:var(--hm-logo-h)}.dsdhm004-main-panel{width:var(--hm-panel-w)}.dsdhm004-main-inner{padding:var(--hm-menu-top) var(--hm-panel-px) 0}.dsdhm004-primary-list{font-size:var(--hm-main-font);line-height:1.06}.dsdhm004-primary-list>li+li{margin-top:var(--hm-main-gap)}.dsdhm004-secondary-list,.dsdhm004-bottom-list{font-size:var(--hm-utility-font);line-height:1.35}.dsdhm004-secondary-list>li+li,.dsdhm004-bottom-list>li+li{margin-top:var(--hm-utility-gap)}.dsdhm004-divider{margin-top:28px;margin-bottom:28px}.dsdhm004-drawer{left:var(--hm-panel-w);width:var(--hm-panel-w);padding-top:var(--hm-menu-top)}.dsdhm004-drawer-ui{padding:0 var(--hm-panel-px) 32px}.dsdhm004-sub-list{font-size:var(--hm-sub-font);line-height:1.08}.dsdhm004-sub-list>li+li{margin-top:var(--hm-sub-gap)}.dsdhm004-popout{left:calc(var(--hm-panel-w) * 2)}
.dsdhm004-root.is-mobile-mode .dsdhm004-navbar{grid-template-columns:1fr auto 1fr}.dsdhm004-root.is-mobile-mode .dsdhm004-left-labels,.dsdhm004-root.is-mobile-mode .dsdhm004-tool.dsdhm004-account,.dsdhm004-root.is-mobile-mode .dsdhm004-tool.dsdhm004-pin{display:none}.dsdhm004-root.is-mobile-mode .dsdhm004-menu-layer{background:var(--hm-menu-bg);opacity:0;transform:translateY(8rem);transition:opacity .2s ease,transform var(--hm-open-ms) cubic-bezier(0,.25,.375,1)}.dsdhm004-root.is-mobile-mode.is-menu-open .dsdhm004-menu-layer{opacity:1;transform:translateY(0)}.dsdhm004-root.is-mobile-mode .dsdhm004-backdrop{display:none}.dsdhm004-root.is-mobile-mode .dsdhm004-main-panel{width:100%;background:transparent;transform:none!important;opacity:1!important;border:0!important}.dsdhm004-root.is-mobile-mode .dsdhm004-main-inner{padding-bottom:24px}.dsdhm004-root.is-mobile-mode .dsdhm004-drawers{z-index:4}.dsdhm004-root.is-mobile-mode .dsdhm004-drawer{left:0;width:100%;background:var(--hm-menu-bg);transform:translateX(100%);border:0;padding-top:var(--hm-menu-top)}.dsdhm004-root.is-mobile-mode.is-menu-open.has-drawer .dsdhm004-drawer.is-active{transform:translateX(0)}.dsdhm004-root.is-mobile-mode.has-drawer .dsdhm004-main-panel{transform:translateX(-64px)!important;opacity:.05!important;pointer-events:none}.dsdhm004-root.is-mobile-mode .dsdhm004-back-btn{display:flex!important}.dsdhm004-root.is-mobile-mode .dsdhm004-main-link .hm-chevron{opacity:1}.dsdhm004-root.is-mobile-mode .dsdhm004-popout{display:none}.dsdhm004-root.is-mobile-mode .dsdhm004-search-panel{min-height:100vh;padding-top:70px}.dsdhm004-root.is-mobile-mode .dsdhm004-search-form{grid-template-columns:1fr;margin-top:70px}.dsdhm004-root.is-mobile-mode .dsdhm004-search-form input{font-size:32px}.dsdhm004-root.is-mobile-mode .dsdhm004-search-form button{height:50px}.dsdhm004-root.is-mobile-mode.is-menu-open .dsdhm004-logo-group{opacity:0}.dsdhm004-root.is-mobile-mode.is-menu-open .dsdhm004-right-tools{opacity:0}
@media (prefers-reduced-motion:reduce){.dsdhm004-root *{scroll-behavior:auto!important;animation:none!important;transition-duration:.01ms!important}}

.dsdhm004-root.is-mobile-mode.keep-brand-open.is-menu-open .dsdhm004-logo-group{opacity:1;pointer-events:auto}

/* v3.0.5 — viewport/header integration repair.
   The block is inserted inside a page-builder section, but the actual header is
   portaled to <body> by frontend.js so transformed/stacked builder wrappers cannot
   sit above or clip it. The original block host contributes no height on the live
   page; the hero/media section can start at the top of the viewport. */
[data-dsdhm004-theme-header-hidden="1"]{display:none!important}
.dsdhm004-native-block.dsdhm004-live-host{height:0!important;min-height:0!important;margin:0!important;padding:0!important;overflow:visible!important;line-height:0!important}
.dsd-header-menu-004-native.dsdhm004-live-section{height:0!important;min-height:0!important;margin:0!important;padding:0!important;overflow:visible!important}
.dsdhm004-portal-marker{display:none!important;width:0!important;height:0!important;margin:0!important;padding:0!important}
.dsdhm004-root.is-portaled{position:fixed!important;inset:0 0 auto 0!important;width:100vw!important;max-width:100vw!important;margin:0!important;transform:none!important;isolation:isolate}
.dsdhm004-root.dsdhm004-duplicate-root{display:none!important}

/* The reference site removes the top background fader while the menu is open.
   Keeping it visible created the heavy black bar that covered the first menu row. */
.dsdhm004-root.is-menu-open .dsdhm004-navbar-bg{opacity:0!important;pointer-events:none!important}

/* Never allow the first row to slide underneath the close/menu control. The user's
   Menu top padding can still be increased, but it cannot be reduced below the safe
   navbar footprint. */
.dsdhm004-main-inner{
  position:relative;
  z-index:1;
  padding-top:max(var(--hm-menu-top),calc(var(--hm-icon-btn) + var(--hm-header-py) + var(--hm-header-py) + 8px))!important;
}
.dsdhm004-drawer{padding-top:var(--hm-drawer-top)!important}
@media (max-width:899px){.dsdhm004-drawer{padding-top:max(var(--hm-drawer-top),calc(var(--hm-icon-btn) + var(--hm-header-py) + var(--hm-header-py) + 8px))!important}}
.dsdhm004-main-panel:before{
  content:"";
  position:absolute;
  z-index:0;
  top:0;
  left:0;
  right:0;
  height:max(var(--hm-menu-top),calc(var(--hm-icon-btn) + var(--hm-header-py) + var(--hm-header-py) + 8px));
  background:var(--hm-menu-close-bg);
  pointer-events:none;
}

/* Builder editor copies retain a small selectable host while the visible fixed
   header is still shown at the viewport top. Live pages use the zero-height host. */
.dsdhm004-native-block.dsdhm004-builder-host{min-height:88px!important;height:88px!important;overflow:visible!important}

/* v3.1.0 — Colibri-only integration.
   Colibri has a separate fixed off-canvas panel/overlay in addition to its normal
   navigation. Both must be suppressed or they stack above this replacement menu. */
body.dsdhm004-colibri-header-active .h-navigation_outer,
body.dsdhm004-colibri-header-active .h-navigation,
body.dsdhm004-colibri-header-active .h-navigation_sticky,
body.dsdhm004-colibri-header-active .h-navigation_container-in-sticky,
body.dsdhm004-colibri-header-active .h-navigation_overlap,
body.dsdhm004-colibri-header-active .h-offcanvas-panel,
body.dsdhm004-colibri-header-active .h-offscreen-panel,
body.dsdhm004-colibri-header-active .offscreen-overlay,
body.dsdhm004-colibri-header-active .h-hamburger-button,
body.dsdhm004-colibri-header-active .h-main-menu,
body.dsdhm004-colibri-header-active .colibri-menu-container,
body.dsdhm004-colibri-header-active ul.colibri-menu{
  display:none!important;
  visibility:hidden!important;
  pointer-events:none!important;
}
html.dsdhm004-replaces-theme-header .h-offcanvas-panel,
html.dsdhm004-replaces-theme-header .h-offscreen-panel,
html.dsdhm004-replaces-theme-header .offscreen-overlay{
  display:none!important;
  visibility:hidden!important;
  pointer-events:none!important;
}

/* The live header is a viewport component, never a Colibri section/row. */
html body .dsdhm004-root:not(.dsdhm004-editor-preview){
  position:fixed!important;
  top:0!important;
  right:0!important;
  bottom:auto!important;
  left:0!important;
  width:100vw!important;
  max-width:100vw!important;
  margin:0!important;
  transform:none!important;
}
html body .dsdhm004-root:not(.dsdhm004-editor-preview) .dsdhm004-menu-layer,
html body .dsdhm004-root:not(.dsdhm004-editor-preview) .dsdhm004-search-layer{
  position:fixed!important;
  inset:0!important;
  width:100vw!important;
  height:100vh!important;
  height:100dvh!important;
  min-height:100vh!important;
}
html body .dsdhm004-root:not(.dsdhm004-editor-preview) .dsdhm004-main-panel,
html body .dsdhm004-root:not(.dsdhm004-editor-preview) .dsdhm004-drawer,
html body .dsdhm004-root:not(.dsdhm004-editor-preview) .dsdhm004-popout{
  min-height:100vh!important;
  min-height:100dvh!important;
}

/* Hard safety floor: the primary list can never sit underneath the close button,
   even when a previously saved profile contains a very small/negative top value. */
.dsdhm004-main-inner{
  padding-top:max(var(--hm-menu-top,88px),calc(var(--hm-icon-btn,48px) + (var(--hm-header-py,16px) * 2) + 12px))!important;
}
.dsdhm004-main-panel:before{
  height:max(var(--hm-menu-top,88px),calc(var(--hm-icon-btn,48px) + (var(--hm-header-py,16px) * 2) + 12px))!important;
}

/* v3.1.1 — Colibri legacy-host cleanup.
   v3.0.x could leave a saved DSD block section in the Colibri page. v3.1.0
   stripped the inner snapshot but left that outer section behind, producing an
   empty outlined bar and making the replacement header appear to disappear. */
body.dsdhm004-colibri-header-active .dsd-header-menu-004-native,
body.dsdhm004-colibri-header-active .dsdhm004-native-block,
body.dsdhm004-colibri-header-active [data-dsdhm004-native-block="1"]{
  display:none!important;
  visibility:hidden!important;
  pointer-events:none!important;
  min-height:0!important;
  height:0!important;
  max-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  outline:0!important;
  overflow:hidden!important;
}

/* Colibri's native navigation must not reserve layout space behind the fixed
   replacement header. */
body.dsdhm004-colibri-header-active .h-navigation_outer,
body.dsdhm004-colibri-header-active .h-navigation,
body.dsdhm004-colibri-header-active .h-navigation_sticky,
body.dsdhm004-colibri-header-active .h-navigation_container-in-sticky,
body.dsdhm004-colibri-header-active .h-navigation_overlap{
  min-height:0!important;
  height:0!important;
  max-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  overflow:hidden!important;
}


/* v3.2.0 — Colibri production repair.
   The solid/scrolled state is exactly the navbar height. Earlier builds painted
   130–180% of that height, which created the oversized white band over the hero. */
body.dsdhm004-colibri-header-active [data-dsdhm004-legacy-wrapper-hidden="1"],
html.dsdhm004-replaces-theme-header [data-dsdhm004-legacy-wrapper-hidden="1"]{
  display:none!important;
  visibility:hidden!important;
  pointer-events:none!important;
  min-height:0!important;
  height:0!important;
  max-height:0!important;
  width:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  outline:0!important;
  overflow:hidden!important;
}

/* Colibri sometimes leaves inline min-height/borders on the row/column that used
   to contain this block. JS marks only wrappers proven to contain no other live
   content; this rule removes that exact empty spacer without touching the hero. */
.dsdhm004-root:not(.is-scrolled).is-transparent:not(.is-menu-open):not(.is-search-open){
  color:var(--hm-menu-text);
}
.dsdhm004-root.is-scrolled .dsdhm004-navbar-bg,
.dsdhm004-root:not(.is-transparent) .dsdhm004-navbar-bg{
  overflow:hidden;
}
.dsdhm004-root.is-scrolled .dsdhm004-navbar-hover-gradient,
.dsdhm004-root:not(.is-transparent) .dsdhm004-navbar-hover-gradient{
  display:none;
}

/* Remove browser/theme focus decoration that was being drawn as a full-width
   black rectangle around the old header host. Keep an accessible control focus. */
.dsdhm004-root:focus,
.dsdhm004-root:focus-visible,
.dsdhm004-navbar:focus,
.dsdhm004-navbar:focus-visible{outline:0!important}
.dsdhm004-root a:focus-visible,
.dsdhm004-root button:focus-visible{outline:2px solid currentColor;outline-offset:3px}

/* The global replacement cannot inherit Colibri section visibility/opacity rules. */
html body .dsdhm004-root[data-dsdhm004-global="1"]{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  z-index:var(--hm-z)!important;
  pointer-events:auto!important;
}

/* v3.2.0 mobile branding safety: preserve an uploaded compact logo while preventing
   a long text fallback from overlapping the close button on narrow screens. */
@media (max-width:767px){
  .dsdhm004-logo-group{max-width:46vw;overflow:hidden}
  .dsdhm004-logo-img{max-width:46vw}
  .dsdhm004-logo-text{max-width:46vw;overflow:hidden;text-overflow:ellipsis;font-size:min(20px,5vw)}
}


/* v3.2.2 — CMD / Colibri header-state correction.
   Required behavior:
   1) at the top: transparent over hero with inverse/white controls;
   2) when the pointer rolls over the header: solid reference off-white background
      using the existing Scrolled Background control, with dark controls;
   3) only the intended 1px bottom divider may be visible — never a box/outline
      around the entire header. */
html body .dsdhm004-root[data-dsdhm004-global="1"],
html body .dsdhm004-root[data-dsdhm004-global="1"] .dsdhm004-navbar,
html body .dsdhm004-root[data-dsdhm004-global="1"] .dsdhm004-navbar-bg {
  border:0!important;
  border-width:0!important;
  border-style:none!important;
  outline:0!important;
  outline-width:0!important;
  box-shadow:none!important;
}

/* Theme/builder hover rules must never paint a box on the root/nav itself. */
html body .dsdhm004-root[data-dsdhm004-global="1"]:hover,
html body .dsdhm004-root[data-dsdhm004-global="1"] .dsdhm004-navbar:hover,
html body .dsdhm004-root[data-dsdhm004-global="1"] .dsdhm004-navbar-bg:hover {
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
}

/* Keep the background layers exactly inside the navigation height so the hover
   surface cannot create a second/oversized header band. */
html body .dsdhm004-root[data-dsdhm004-global="1"] .dsdhm004-navbar-bg {
  height:100%!important;
  min-height:0!important;
  max-height:none!important;
  overflow:hidden!important;
}
html body .dsdhm004-root[data-dsdhm004-global="1"] .dsdhm004-navbar-solid {
  top:0!important;
  bottom:auto!important;
  height:100%!important;
  min-height:0!important;
  max-height:none!important;
  background:var(--hm-scrolled-bg)!important;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  z-index:3;
}

/* The old dark transparent-hover gradient is not the desired CMD rollover state.
   The solid layer below becomes the rollover surface instead. */
html body .dsdhm004-root[data-dsdhm004-global="1"] .dsdhm004-navbar-hover-gradient {
  pointer-events:none!important;
  z-index:2;
}
html body .dsdhm004-root[data-dsdhm004-global="1"].is-transparent:not(.is-scrolled):not(.is-menu-open):not(.is-search-open):hover .dsdhm004-navbar-solid {
  transform:translateY(0)!important;
  opacity:1!important;
}
html body .dsdhm004-root[data-dsdhm004-global="1"].is-transparent:not(.is-scrolled):not(.is-menu-open):not(.is-search-open):hover .dsdhm004-navbar-gradient,
html body .dsdhm004-root[data-dsdhm004-global="1"].is-transparent:not(.is-scrolled):not(.is-menu-open):not(.is-search-open):hover .dsdhm004-navbar-hover-gradient {
  opacity:0!important;
  transform:translateY(-100%)!important;
}
html body .dsdhm004-root[data-dsdhm004-global="1"].is-transparent:not(.is-scrolled):not(.is-menu-open):not(.is-search-open):hover {
  color:var(--hm-scrolled-text)!important;
}

/* One subtle divider, not a rectangular border. The transparent state uses an
   inverse line; solid hover/scrolled states use the configured divider color. */
html body .dsdhm004-root[data-dsdhm004-global="1"] .dsdhm004-navbar-line {
  display:block!important;
  top:auto!important;
  right:0!important;
  bottom:0!important;
  left:0!important;
  width:100%!important;
  height:1px!important;
  min-height:1px!important;
  max-height:1px!important;
  opacity:1!important;
  background:rgba(255,255,255,.50)!important;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  z-index:4;
}
html body .dsdhm004-root[data-dsdhm004-global="1"].is-scrolled .dsdhm004-navbar-line,
html body .dsdhm004-root[data-dsdhm004-global="1"]:not(.is-transparent) .dsdhm004-navbar-line,
html body .dsdhm004-root[data-dsdhm004-global="1"].is-transparent:not(.is-scrolled):not(.is-menu-open):not(.is-search-open):hover .dsdhm004-navbar-line {
  background:var(--hm-scrolled-line)!important;
}

/* Keep the intended circular outlines. Do not let Colibri/button hover styles
   replace them with square white/black boxes. */
html body .dsdhm004-root[data-dsdhm004-global="1"] .dsdhm004-menu-toggle,
html body .dsdhm004-root[data-dsdhm004-global="1"] .dsdhm004-search-toggle,
html body .dsdhm004-root[data-dsdhm004-global="1"] .dsdhm004-tool,
html body .dsdhm004-root[data-dsdhm004-global="1"] .dsdhm004-visit-label,
html body .dsdhm004-root[data-dsdhm004-global="1"] .dsdhm004-logo-group {
  background:transparent!important;
  box-shadow:none!important;
}
