/* Native sticky geometry: the main row scrolls away; categories meet the top edge. */
#masthead {
    position: relative !important;
    top: auto !important;
    margin: 0 !important;
    background: #fff;
    transition: none !important;
}
#masthead.sonar-category-header {
    position: sticky !important;
    top: calc(var(--sonar-admin-offset, 0px) - var(--sonar-header-scroll)) !important;
    z-index: 100;
}
#masthead .she-header-yes,
#masthead .she-header,
#masthead > .elementor > .e-con {
    position: relative !important;
    top: auto !important;
    transform: none !important;
    transition: none !important;
}
#masthead .sonar-category-bar {
    width: 100%;
    margin: 0 !important;
    padding: 0 !important;
    background: #207d48;
    border-bottom: 1px solid #176d3c;
}
#masthead .sonar-category-bar .elementor-widget-navigation-menu { width: 100%; min-width: 0; }
#masthead .sonar-category-bar .elementor-widget-container { padding: 0 !important; }
#masthead .sonar-category-bar .hfe-nav-menu__toggle { display: none !important; }
#masthead .sonar-category-bar nav {
    position: static !important;
    width: 100% !important;
    display: block !important;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scrollbar-width: thin;
    scrollbar-color: #81b994 #207d48;
}
#masthead .sonar-category-bar ul.hfe-nav-menu {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center;
    width: 100%;
    min-width: 100%;
    margin: 0 !important;
    padding: 0 12px;
}
#masthead .sonar-category-bar li { flex: 0 0 auto; margin: 0 !important; }
#masthead .sonar-category-bar a.hfe-menu-item {
    padding: 10px 12px !important;
    line-height: 20px !important;
    font-size: 13px !important;
    white-space: nowrap;
    color: #fff;
    transition: color .15s;
}
/* Text-level interactions across the main, dropdown and category menus. */
#masthead :is(.elementor-nav-menu, .hfe-nav-menu) li {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}
#masthead :is(.elementor-item, .elementor-sub-item, .hfe-menu-item) {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    outline: none !important;
    box-shadow: none !important;
    text-decoration: none !important;
    text-decoration-thickness: 1px !important;
    text-underline-offset: 6px;
    text-decoration-skip-ink: auto;
}
#masthead :is(.elementor-item, .elementor-sub-item, .hfe-menu-item)::before,
#masthead :is(.elementor-item, .elementor-sub-item, .hfe-menu-item)::after {
    content: none !important;
}
#masthead :is(.elementor-item, .elementor-sub-item, .hfe-menu-item):is(:hover, :focus-visible, .elementor-item-active, .highlighted),
#masthead :is(.current-menu-item, .current-menu-ancestor) > :is(.elementor-item, .elementor-sub-item, .hfe-menu-item) {
    text-decoration-line: underline !important;
}
#masthead :is(.elementor-item, .elementor-sub-item, .hfe-menu-item):focus-visible {
    text-decoration-thickness: 2px !important;
}
#masthead .elementor-nav-menu--dropdown { border: 0 !important; }
#masthead .elementor-nav-menu--dropdown a,
#masthead .sonar-category-bar a.hfe-menu-item { color: #fff !important; }
/* The language trigger belongs to the main header, not the pinned category bar. */
.gtranslate_wrapper .gt_switcher_wrapper { position: absolute !important; }
@media (max-width: 1024px) {
    #masthead .sonar-category-bar ul.hfe-nav-menu {
        flex-wrap: nowrap !important;
        justify-content: safe center;
        width: max-content;
    }
    #masthead .sonar-category-bar a.hfe-menu-item { padding-block: 14px !important; }
}
@media (max-width: 1024px) {
    #masthead .elementor-6709 > .elementor-element-5377bac { display: none !important; }
    #masthead .elementor-6709 > .elementor-element-1c44d31 {
        display: flex !important;
        flex-direction: row;
        width: 100% !important;
        margin: 0 !important;
        padding: 52px 24px 16px !important;
        align-items: center;
    }
    #masthead .elementor-element-f578195 { width: 110px !important; }
    #masthead .elementor-element-1c44d31 > .e-con-inner {
        padding: 0 !important;
        flex-direction: row;
        align-items: center;
    }
    #masthead .elementor-element-f578195 > .elementor-widget-container { padding: 0 !important; }
    #masthead .elementor-element-f578195 img { width: 110px; max-height: 64px; object-fit: contain; }
    #masthead .elementor-element-148b19f { width: 44px !important; margin-left: auto; }
}

/* Keep the existing translation links and service; improve their presentation. */
.gtranslate_wrapper .gt_switcher-popup {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 40px;
    padding: 5px 10px;
    border: 1px solid #dce7df;
    border-radius: 24px;
    background: #fff;
    color: #185737;
}
.gtranslate_wrapper .gt_black_overlay {
    background: #102c20;
    opacity: .55;
    backdrop-filter: blur(6px);
}
.gtranslate_wrapper .gt_white_content {
    width: min(800px, calc(100vw - 40px));
    height: auto;
    max-height: calc(100dvh - 48px);
    margin: 0;
    padding: 40px;
    transform: translate(-50%, -50%);
    border: 1px solid #dce7df;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 24px 100px #102c2033;
    overscroll-behavior: contain;
    font-family: "Albert Sans", sans-serif;
}
.sonar-language-heading { padding-right: 40px; margin-bottom: 26px; }
.sonar-language-heading p { margin: 0 0 8px; color: #587263; font-size: 15px; line-height: 1.5; }
.sonar-language-heading .sonar-language-eyebrow { color: #087443; font-size: 12px; font-weight: 700; letter-spacing: .14em; }
.sonar-language-heading h2 { color: #153f2b; font-size: clamp(26px, 4vw, 36px); line-height: 1.2; margin: 0 0 12px; }
.sonar-language-close {
    position: absolute;
    top: 20px;
    right: 20px;
    width: 40px;
    height: 40px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #f0f5f1;
    color: #244e35;
    font-size: 28px;
    line-height: 1;
    cursor: pointer;
}
.gtranslate_wrapper .sonar-language-close:hover,
.gtranslate_wrapper .sonar-language-close:focus { background: #dceee1; color: #153f2b; }
.gtranslate_wrapper .gt_white_content .gt_languages {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    max-height: none;
    overflow: visible;
}
.gtranslate_wrapper .gt_white_content .gt_languages a {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 15px 12px;
    min-height: 76px;
    border: 1px solid #e4ebe5;
    border-radius: 10px;
    white-space: normal;
    line-height: 1.4;
    color: #254632;
    background: #fff;
    transition: background-color .18s, border-color .18s;
}
.gtranslate_wrapper .gt_white_content a:hover,
.gtranslate_wrapper .gt_white_content a.gt-current-lang { border-color: #16854e; background: #edf7f0; }
.gtranslate_wrapper a:focus-visible,
.sonar-language-close:focus-visible { outline: 3px solid #198753; outline-offset: 3px; }
.gtranslate_wrapper .gt_white_content a img { width: 30px; height: 24px; object-fit: contain; opacity: 1; flex-shrink: 0; }
.gtranslate_wrapper .gt_white_content a span { margin: 0; font-size: 15px; }
.gtranslate_wrapper .gt_white_content a > span { min-width: 0; overflow-wrap: anywhere; }
.gtranslate_wrapper .gt_white_content .sonar-language-native { display: block; font-size: 16px; font-weight: 600; }
.gtranslate_wrapper .gt_white_content .sonar-language-name { display: block; color: #66796c; font-size: 12px; font-weight: 400; }
.gt_switcher-popup .sonar-language-name { display: none; }
html.sonar-language-open, html.sonar-language-open body { overflow: hidden; overscroll-behavior: none; }

/* Fewer, wider cards; labels have real horizontal padding and may wrap. */
.sonar-category-grid > .e-con-inner {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 28px;
    width: 100%;
    padding: 0;
}
.elementor .sonar-category-grid { padding: 32px clamp(20px, 4vw, 64px) 56px; }
.elementor .sonar-category-card {
    width: 100% !important;
    min-width: 0;
    margin: 0 !important;
    border-radius: 8px;
    overflow: hidden;
    justify-content: space-between;
}
.sonar-category-card > .elementor-widget-image { width: 100%; margin: 0 !important; }
.sonar-category-card > .elementor-widget-image img { width: 100%; height: 240px; object-fit: contain; }
.elementor .sonar-category-card > .elementor-widget-heading {
    width: 100%;
    margin: 0 !important;
    padding: 0 !important;
}
.elementor .sonar-category-card > .elementor-widget-heading > .elementor-widget-container {
    width: 100%;
    padding: 18px 22px !important;
    min-height: 82px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.elementor .sonar-category-card .elementor-heading-title {
    font-size: 19px !important;
    line-height: 1.35 !important;
    white-space: normal;
    overflow-wrap: anywhere;
}

/* Replace fixed text-layer coordinates with vertical flow on the homepage sliders. */
:is(#n2-ss-7, #n2-ss-8) .n2-ss-slide .n2-ss-section-main-content {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    gap: clamp(14px, 2vw, 28px) !important;
    padding: 32px clamp(48px, 7vw, 120px) !important;
    box-sizing: border-box !important;
}
:is(#n2-ss-7, #n2-ss-8) .n2-ss-slide .n2-ss-section-main-content > .n2-ss-layer {
    position: relative !important;
    inset: auto !important;
    transform: none !important;
    margin: 0 !important;
    width: 100% !important;
    height: auto !important;
    max-width: 1100px !important;
    overflow: visible !important;
    flex: 0 0 auto !important;
    text-align: center !important;
}
:is(#n2-ss-7, #n2-ss-8) .n2-ss-slide .n2-ss-text {
    font-family: "Albert Sans", sans-serif !important;
    font-size: clamp(24px, 3.1vw, 54px) !important;
    line-height: 1.18 !important;
    white-space: normal !important;
    text-wrap: balance;
    width: 100% !important;
}
:is(#n2-ss-7, #n2-ss-8) .n2-ss-slide .n2-ss-layer-mask {
    transform: none !important;
    width: auto !important;
    height: auto !important;
    overflow: visible !important;
}
:is(#n2-ss-7, #n2-ss-8) .n2-ss-slide .n2-ss-button-container a {
    font-family: "Albert Sans", sans-serif !important;
    padding: 16px 28px !important;
    font-size: clamp(14px, 1.3vw, 20px) !important;
    line-height: 1.4 !important;
    white-space: normal !important;
}
/* Match Elementor entrances to the quicker vertical slider transition. */
:is(#n2-ss-7, #n2-ss-8) :is(#n2-ss-7item5, #n2-ss-7item11, #n2-ss-8item3, #n2-ss-8item10).n2-ss-text {
    font-size: clamp(16px, 1.8vw, 28px) !important;
    line-height: 1.3 !important;
}
#n2-ss-8 .n2-ss-layer:has(> :is(#n2-ss-8item5, #n2-ss-8item12)) { order: -1; }
@keyframes sonar-slide-up { from { opacity: 0; transform: translate3d(0, 24px, 0); } to { opacity: 1; transform: none; } }
.elementor-element.animated {
    animation-name: sonar-slide-up !important;
    animation-duration: .45s !important;
    animation-delay: 0s !important;
    animation-timing-function: cubic-bezier(.2, .65, .3, 1) !important;
}
@media (max-width: 1100px) {
    .sonar-category-grid > .e-con-inner { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
}
@media (max-width: 767px) {
    #n2-ss-8 .n2-ss-slide .n2-ss-section-main-content { padding: 24px 28px !important; gap: 14px !important; }
    #n2-ss-8 .n2-ss-slide .n2-ss-text { font-size: 20px !important; }
    #n2-ss-8 .n2-ss-slide .n2-ss-layer:has(> #n2-ss-8item8) { order: -1; }
    .sonar-category-grid > .e-con-inner { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
    .gtranslate_wrapper .gt_white_content { padding: 28px 20px; width: calc(100vw - 24px); max-height: calc(100dvh - 24px); border-radius: 16px; }
    .gtranslate_wrapper .gt_white_content .gt_languages { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .gtranslate_wrapper .gt_white_content .gt_languages a { padding: 12px 10px; gap: 8px; }
    .sonar-language-close { top: 12px; right: 12px; }
}
@media (max-width: 540px) {
    .sonar-category-grid > .e-con-inner { grid-template-columns: minmax(0, 1fr); gap: 28px; }
    .sonar-category-card > .elementor-widget-image img { height: 270px; }
    .elementor .sonar-category-card .elementor-heading-title { font-size: 21px !important; }
}
@media (max-width: 360px) {
    .gtranslate_wrapper .gt_white_content .gt_languages { grid-template-columns: minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) {
    .elementor-element.animated { animation: none !important; }
    .elementor-element.elementor-invisible { visibility: visible !important; }
    .gtranslate_wrapper a, .elementor-animation-float { transition: none !important; transform: none !important; }
}
