/* Residential and Commercial use matching native, keyboard-accessible disclosures. */
.elementor-location-header .heritage-category{position:relative}
.elementor-location-header .heritage-category-item:not(:last-child)>details{margin-inline-end:var(--e-nav-menu-horizontal-menu-item-margin,30px)}
.elementor-location-header .heritage-category>summary{display:flex;align-items:center;gap:10px;cursor:pointer;list-style:none;white-space:nowrap}
.elementor-location-header .heritage-category>summary::-webkit-details-marker{display:none}
.elementor-location-header .heritage-category>summary:focus-visible{outline:2px solid #fff;outline-offset:5px}
.elementor-location-header .heritage-category>summary svg{flex:none;transition:transform .2s}
.elementor-location-header .heritage-category[open]>summary svg{transform:rotate(180deg)}
/* Remove the decorative hover dots from Residential, Commercial and About Us. */
.elementor-location-header .elementor-nav-menu .elementor-item::before,.elementor-location-header .elementor-nav-menu .elementor-item::after{content:none!important;display:none!important}
.elementor-location-header .heritage-category-links{position:absolute;top:100%;left:0;z-index:1000;box-sizing:border-box;width:224px;min-width:0;max-width:calc(100vw - 40px);padding:12px 0;background:transparent;border:0;box-shadow:none}
/* Allow the full Commercial category names without changing their typography. */
.elementor-location-header .heritage-commercial-links{width:232px}
.elementor-location-header .heritage-category:not([open])>.heritage-category-links{display:none}
/* Matching charcoal glass frames keep both submenus legible over light pages. */
.elementor-location-header .heritage-category-links>a{box-sizing:border-box;display:flex;align-items:center;width:100%;min-height:48px;padding:12px 20px;border:1px solid #ffffff73;border-radius:5px;color:#fff!important;background:rgba(35,35,35,.82);font:400 16px/1.45 'Avenir Round',Arial,sans-serif;text-transform:none;letter-spacing:.02em;white-space:nowrap;text-decoration:none;text-shadow:0 1px 2px #0006;transition:background-color .28s ease,border-color .28s ease}
.elementor-location-header .heritage-category-links>a+a{margin-top:8px}
@supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
 .elementor-location-header .heritage-category-links>a{background:rgba(35,35,35,.72);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
}
.elementor-location-header .heritage-category-links>a:hover,.elementor-location-header .heritage-category-links>a:focus-visible{background:rgba(58,58,58,.88);border-color:#fff;text-decoration:none}
.elementor-location-header .heritage-category-links>a:focus-visible{outline:2px solid #fff;outline-offset:3px}
@media(prefers-reduced-motion:reduce){.elementor-location-header .heritage-category>summary svg,.elementor-location-header .heritage-category-links>a{transition:none}}

/* The header phone draws a compact connector before revealing its number. */
body .elementor-location-header a.heritage-header-phone{position:relative;overflow:visible}
body .elementor-location-header .heritage-header-phone-disclosure{position:absolute;top:100%;right:0;z-index:5;box-sizing:border-box;width:145px;padding:2px 10px 8px 0;visibility:hidden;opacity:0;pointer-events:none;text-align:left;direction:ltr;color:#fff;font:400 14px/1.3 "Avenir Round",Arial,sans-serif;letter-spacing:.025em;white-space:nowrap;text-shadow:0 1px 3px #0009}
body .elementor-location-header .heritage-header-phone-disclosure::before,body .elementor-location-header .heritage-header-phone-disclosure::after{content:"";position:absolute;display:block;pointer-events:none;border-color:#ffffffb3;border-style:solid;box-shadow:0 1px 2px #0003}
body .elementor-location-header .heritage-header-phone-disclosure::before{top:6px;right:10px;height:18px;border-width:0 1px 0 0;transform:scaleY(0);transform-origin:center top}
body .elementor-location-header .heritage-header-phone-disclosure::after{top:24px;left:0;right:10px;border-width:1px 0 0;transform:scaleX(0);transform-origin:right center}
body .elementor-location-header .heritage-header-phone-number{display:inline-block;color:#fff;font:inherit;font-variant-numeric:tabular-nums;clip-path:inset(0 100% 0 0)}
body .elementor-location-header .heritage-header-phone-number.is-over-light-surface{color:#111;text-shadow:none}
body .elementor-location-header .heritage-header-phone:is(:hover,:focus-visible,:active)>.heritage-header-phone-disclosure{visibility:visible;opacity:1;pointer-events:auto}
body .elementor-location-header .heritage-header-phone:is(:hover,:focus-visible,:active)>.heritage-header-phone-disclosure::before{animation:heritage-phone-drop .15s ease-out both}
body .elementor-location-header .heritage-header-phone:is(:hover,:focus-visible,:active)>.heritage-header-phone-disclosure::after{animation:heritage-phone-reach .2s ease-out .12s both}
body .elementor-location-header .heritage-header-phone:is(:hover,:focus-visible,:active) .heritage-header-phone-number{animation:heritage-phone-type .72s steps(12,end) .3s both}
/* The tablet/mobile phone sits at the left edge, so its connector faces inward. */
body .elementor-location-header [data-id="009462b"] .heritage-header-phone-disclosure{left:0;right:auto;padding-right:0;padding-left:10px;text-align:left}
body .elementor-location-header [data-id="009462b"] .heritage-header-phone-disclosure::before{left:10px;right:auto}
body .elementor-location-header [data-id="009462b"] .heritage-header-phone-disclosure::after{left:10px;right:0;transform-origin:left center}
@keyframes heritage-phone-drop{to{transform:scaleY(1)}}
@keyframes heritage-phone-reach{to{transform:scaleX(1)}}
@keyframes heritage-phone-type{to{clip-path:inset(0 0 0 0)}}
@media(prefers-reduced-motion:reduce){body .elementor-location-header .heritage-header-phone-disclosure::before,body .elementor-location-header .heritage-header-phone-disclosure::after{animation:none!important;transform:none!important}body .elementor-location-header .heritage-header-phone-number{animation:none!important;clip-path:inset(0 0 0 0)}}
