/* Main navigation and the shared sticky header. */
.ka-header-shell{position:sticky;top:var(--ka-admin-offset,var(--wp-admin--admin-bar--height,0px));z-index:100;isolation:isolate;margin-block-start:0!important}
.ka-site-header,.ka-site-header .ka-mainbar-slot{margin:0!important;padding:0!important}
.ka-site-header *{box-sizing:border-box}
.ka-mainbar-slot{position:relative;height:110px}
.ka-mainbar{position:absolute;inset:15px 0 auto;width:min(var(--ka-frame-max),calc(100% - 2 * var(--ka-outer-gutter)));height:80px;margin:0 auto!important;border-radius:16px;background:var(--ka-primary);color:#fff;box-shadow:0 8px 24px rgb(17 31 70 / 10%);transition:width .25s cubic-bezier(.25,0,.25,1),inset .25s cubic-bezier(.25,0,.25,1),border-radius .25s cubic-bezier(.25,0,.25,1)}
.ka-mainbar__inner{height:100%;width:min(var(--ka-content-max),calc(100% - 2 * var(--ka-inner-gutter)));max-width:none;margin:0 auto!important;padding:0;gap:28px!important}
.ka-header-logo{display:flex;align-items:center;flex:none;line-height:0}
.ka-header-logo > svg{display:block;width:160px;height:52px;object-fit:contain}
.ka-header-contact{display:flex;align-items:center;gap:8px;flex:none}
.ka-header-contact__button{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--ka-secondary);color:var(--ka-primary)!important;transition:background-color .15s,color .15s}
.ka-header-contact__button:hover{background:#fff}
.ka-mainbar a:focus-visible,.ka-mainbar button:focus-visible{outline:2px solid var(--ka-secondary);outline-offset:4px}
nav.ka-main-nav{flex:1;gap:25px;color:#fff;font-family:var(--wp--preset--font-family--open-sans);font-size:15px;font-weight:600}
.ka-main-nav .wp-block-navigation__container{align-items:center;gap:25px!important}
.ka-main-nav .wp-block-navigation-item{margin:0}
.ka-main-nav .wp-block-navigation-item__content{color:inherit;text-decoration:none;white-space:nowrap;padding:5px 0}
.ka-main-nav .wp-block-navigation-item__content:hover,body.home .ka-main-nav .ka-nav-home>.wp-block-navigation-item__content{color:var(--ka-secondary)}
.ka-main-nav .wp-block-navigation__submenu-icon{margin-inline-start:9px;color:inherit;width:12px;height:12px}
.ka-main-nav .wp-block-navigation__submenu-container{min-width:228px;padding:9px;border:1px solid var(--ka-secondary);border-radius:10px;background:#fff;color:var(--ka-primary);box-shadow:0 12px 28px rgb(17 31 70 / 14%);font-size:14px}
.ka-main-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content{display:block;width:100%;padding:10px 12px;color:var(--ka-primary);border-radius:5px}
.ka-main-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover{background:var(--ka-secondary);color:var(--ka-primary)}
.ka-main-nav .wp-block-navigation__responsive-container-open,.ka-main-nav .wp-block-navigation__responsive-container-close{padding:8px;color:inherit}
.ka-main-nav .wp-block-navigation__responsive-container-open svg,.ka-main-nav .wp-block-navigation__responsive-container-close svg{width:28px;height:28px}
.ka-header-shell.is-fused .ka-mainbar{inset:0 0 auto;width:100%;border-radius:0 0 16px 16px}
/* WordPress scrolls its toolbar away at this breakpoint; let normal flow clear it. */
@media(max-width:600px){.ka-header-shell{top:0}}
@media(min-width:1024px){.ka-header-shell.is-fused .ka-mainbar__inner{width:min(var(--ka-content-max),calc(100% - 2 * (var(--ka-outer-gutter) + var(--ka-inner-gutter))))}.ka-main-nav .wp-block-navigation__responsive-container-open:not(.always-shown){display:none}.ka-main-nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open){display:block}}
@media(max-width:1200px){.ka-mainbar__inner{gap:20px!important}.ka-main-nav .wp-block-navigation__container{gap:19px!important}nav.ka-main-nav{font-size:14px}}
@media(min-width:1024px){
 .ka-mainbar nav.ka-main-nav .wp-block-navigation-item.has-child>.wp-block-navigation__submenu-container{min-width:225px;max-height:0;padding:30px 0 0;gap:0!important;border:0;border-radius:0;background:transparent!important;color:var(--ka-primary)!important;box-shadow:none;filter:drop-shadow(0 10px 16px rgb(17 31 70 / 12%));transform:scale(.9);transform-origin:top center;opacity:0;visibility:hidden;overflow:hidden;transition:max-height .25s cubic-bezier(.25,0,.25,1.75),opacity .25s cubic-bezier(.25,0,.25,1.75),transform .25s cubic-bezier(.25,0,.25,1.75),visibility .25s}
 .ka-mainbar nav.ka-main-nav .wp-block-navigation-item.has-child:is(:hover,:focus-within)>.wp-block-navigation__submenu-container,.ka-mainbar nav.ka-main-nav .wp-block-navigation-item.has-child>button[aria-expanded="true"]~.wp-block-navigation__submenu-container{max-height:600px;transform:scale(1);opacity:1;visibility:visible}
 .ka-main-nav .wp-block-navigation__submenu-container>.wp-block-navigation-item{width:100%;background:#fff}
 .ka-main-nav .wp-block-navigation__submenu-container>.wp-block-navigation-item:first-child{border-radius:8px 8px 0 0;padding-top:5px}
 .ka-main-nav .wp-block-navigation__submenu-container>.wp-block-navigation-item:last-child{border-radius:0 0 8px 8px;padding-bottom:5px}
 .ka-main-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content{padding:12px 20px;border-radius:0}
}
@media(prefers-reduced-motion:reduce){.ka-mainbar,.ka-main-nav .wp-block-navigation__submenu-container{transition:none!important}}


.ka-mobile-brand, .ka-submenu-toggle, .ka-drawer-actions, .ka-drawer-workshop, .ka-topbar__quick, .ka-topbar__mobile-usps { display: none; }
@media(prefers-reduced-motion:reduce){.ka-usp-rotator__text{transition:none!important}}
#ka-opening-title { scroll-margin-top: calc(var(--ka-topbar-height, 52px) + 100px + var(--ka-admin-offset, var(--wp-admin--admin-bar--height, 0px))); }
.ka-mainbar a:focus:not(:focus-visible), .ka-mainbar button:focus:not(:focus-visible) { outline: none; }
@media (max-width: 1023px) {
    .ka-header-shell .ka-site-header { width: 100%; margin-inline: 0 !important; border-radius: 0; background: var(--ka-primary); }
    .ka-site-header .ka-topbar, .ka-site-header .ka-topbar-part { border: 0; box-shadow: none; }
    .ka-site-header .ka-topbar-part { width: 100%; margin-inline: 0 !important; }
    .ka-site-header .ka-topbar { background: linear-gradient(110deg, #25375f, var(--ka-primary)); border-bottom: 1px solid rgb(255 255 255 / 12%); }
    .ka-site-header .ka-topbar__inner { width: calc(100% - 32px); display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 12px; height: 36px; min-height: 36px; padding: 0; }
    .ka-site-header .ka-topbar__benefits, .ka-site-header .ka-topbar__quick { display: none; }
    .ka-site-header .ka-topbar__mobile-usps { display: flex; align-items: center; gap: 7px; min-width: 0; height: 36px; font-size: 12px; line-height: 18px; white-space: nowrap; }
    .ka-topbar__mobile-usps .ka-topbar__check { width: 10px; height: 7px; }
    .ka-site-header .ka-topbar__right { display: block; width: auto; }
    .ka-site-header .ka-topbar__reviews { display: flex; align-items: center; min-height: 36px; gap: 5px; color: #fff; }
    .ka-site-header .ka-topbar__score { display: none; }
    .ka-site-header .ka-topbar__stars { display: inline-block; font-size: 14px; }
    .ka-site-header .ka-topbar__review-count { font-size: 11px; font-weight: 700; line-height: 18px; white-space: nowrap; }
    .ka-site-header .ka-topbar a:focus-visible { outline-offset: -2px; }
    .ka-usp-rotator { display: flex; align-items: center; gap: 7px; width: 100%; min-width: 0; height: 36px; margin: 0; padding: 0; border: 0; background: transparent; color: #fff; font-family: inherit; font-size: inherit; line-height: inherit; text-align: left; cursor: pointer; }
    .ka-usp-rotator:focus-visible { outline: 2px solid var(--ka-secondary); outline-offset: -2px; border-radius: 3px; }
    .ka-usp-rotator__text { display: block; min-width: 0; white-space: nowrap; transition: opacity .16s ease, transform .16s ease; }
    .ka-usp-rotator.is-switching .ka-usp-rotator__text { opacity: 0; transform: translateY(-4px); }
    .ka-usp-rotator__state { display: block; flex: 0 0 10px; width: 10px; height: 10px; color: var(--ka-secondary); }
    .ka-usp-rotator__play, .ka-usp-rotator.is-paused .ka-usp-rotator__pause { display: none; }
    .ka-usp-rotator.is-paused .ka-usp-rotator__play { display: block; }
    .ka-topbar__quick a { display: flex; align-items: center; justify-content: center; gap: 10px; min-height: 40px; color: #fff; font-size: 12px; font-weight: 600; line-height: 18px; white-space: nowrap; }
    .ka-topbar__quick a:hover span { text-decoration: underline; text-underline-offset: 3px; }
    .ka-topbar__quick svg { flex: 0 0 16px; color: var(--ka-secondary); }
    .ka-topbar__quick-short { display: none; }
    .ka-mainbar-slot { height: 72px; }
    .ka-mainbar, .ka-header-shell.is-fused .ka-mainbar { inset: 0 0 auto; width: 100%; height: 72px; border-radius: 0; box-shadow: none; transition: none; }
    .ka-mainbar__inner { display: grid !important; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; width: calc(100% - 32px); padding: 0; gap: 12px !important; }
    .ka-header-logo { position: static; grid-column: 2; justify-self: center; transform: none; }
    .ka-header-logo > svg { display: block; width: 160px; height: 52px; }
    .ka-header-contact { display: none; }
    nav.ka-main-nav { grid-column: 3; grid-row: 1; order: 0; justify-self: end; flex: none; margin: 0; font-size: 18px; }
    .ka-main-nav .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 8px; }
    .ka-mainbar nav.ka-main-nav .wp-block-navigation__responsive-container {
        --ka-menu-top: var(--ka-admin-offset, var(--wp-admin--admin-bar--height, 0px));
        display: block !important; position: fixed; inset: var(--ka-menu-top) 0 0;
        width: 100%; height: calc(100dvh - var(--ka-menu-top)); padding: 0;
        background-color: rgb(17 31 70 / 0%) !important; color: var(--ka-primary); animation: none !important;
        transform: none !important; opacity: 1; visibility: hidden; pointer-events: none;
        overflow: clip; transition: none;
    }
    :where(.ka-header-shell.ka-drawer-animate) .ka-mainbar nav.ka-main-nav .wp-block-navigation__responsive-container { transition: background-color .32s ease, visibility 0s linear .32s; }
    .ka-mainbar nav.ka-main-nav .wp-block-navigation__responsive-container.is-menu-open { padding: 0; background-color: rgb(0 0 0 / 74%) !important; opacity: 1; visibility: visible; pointer-events: auto; transition-delay: 0s; }
    .ka-mainbar nav.ka-main-nav .wp-block-navigation__responsive-close { width: min(300px, calc(100% - 48px)); max-width: none !important; height: 100%; margin: 0 auto 0 0; border-radius: 0 24px 24px 0; background: #fff; overflow-y: auto; overscroll-behavior: contain; scroll-padding-top: 112px; transform: translateX(-100%); transition: none; }
    :where(.ka-header-shell.ka-drawer-animate) .ka-mainbar nav.ka-main-nav .wp-block-navigation__responsive-close { transition: transform .32s cubic-bezier(.22, 1, .36, 1); }
    .ka-mainbar nav.ka-main-nav .is-menu-open .wp-block-navigation__responsive-close { transform: none; }
    .ka-mainbar nav.ka-main-nav .wp-block-navigation__responsive-dialog { display: flex; flex-direction: column; min-height: 100%; margin: 0; padding: 0; }
    .ka-mainbar nav.ka-main-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-dialog { margin: 0; }
    .ka-drawer-header { position: sticky; top: 0; z-index: 2; display: grid; grid-template-columns: minmax(0, 1fr) 44px; align-items: start; gap: 8px; flex: none; min-height: 120px; padding: 28px 12px 24px 28px; background: #fff; }
    .ka-mobile-brand { display: block; align-self: center; width: 160px; color: var(--ka-primary); line-height: 0; }
    .ka-mobile-brand > svg { display: block; width: 160px; height: 52px; fill: var(--ka-primary); }
    .ka-drawer-header .wp-block-navigation__responsive-container-close { display: grid; place-items: center; position: static; width: 44px; height: 44px; margin-top: -16px; padding: 12px; border: 0; border-radius: 4px; background: transparent; color: var(--ka-primary); }
    .ka-drawer-header .wp-block-navigation__responsive-container-close svg { width: 20px; height: 20px; }
    nav.ka-main-nav .wp-block-navigation__responsive-container-content { display: block !important; position: relative; z-index: 0; flex: none; padding: 6px 28px 0 !important; }
    nav.ka-main-nav .wp-block-navigation__responsive-container-content .wp-block-navigation__container { display: block !important; width: 100%; margin: 0; padding: 0; }
    nav.ka-main-nav .is-menu-open .wp-block-navigation-item { display: block !important; width: 100%; margin: 0; text-align: left !important; border: 0; }
    nav.ka-main-nav .is-menu-open .wp-block-navigation-item__content { display: flex; align-items: center; min-height: 50px; padding: 11px 0; border: 0; border-radius: 0; color: #596174; font-size: 18px; font-weight: 600; line-height: 28px; white-space: normal; text-decoration: none; }
    .ka-mainbar nav.ka-main-nav .is-menu-open .wp-block-navigation__responsive-container-content > .wp-block-navigation__container > .wp-block-navigation-item > a { padding: 11px 0; }
    body.home .ka-mainbar nav.ka-main-nav .is-menu-open .ka-nav-home > a, .ka-mainbar nav.ka-main-nav .is-menu-open a[aria-current="page"], nav.ka-main-nav .is-menu-open a:hover { background: transparent; color: var(--ka-primary); }
    :where(.ka-header-shell.ka-nav-ready) nav.ka-main-nav .has-child > .wp-block-navigation-item__content, :where(.ka-header-shell.ka-nav-ready) nav.ka-main-nav .wp-block-navigation-submenu__toggle { display: none !important; }
    nav.ka-main-nav .is-menu-open .ka-submenu-toggle { display: flex; align-items: center; justify-content: flex-start; gap: 10px; width: 100%; min-height: 50px; padding: 11px 0; border: 0; border-radius: 0; background: transparent; color: #596174; font: inherit; font-size: 18px; font-weight: 600; line-height: 28px; text-align: left; cursor: pointer; }
    .ka-submenu-toggle svg { flex: 0 0 14px; width: 14px; height: 14px; transition: transform .2s; }
    .ka-submenu-toggle[aria-expanded="true"] { background: transparent !important; color: var(--ka-primary) !important; }
    .ka-submenu-toggle[aria-expanded="true"] svg { transform: rotate(180deg); }
    nav.ka-main-nav .is-menu-open .wp-block-navigation-item.has-child > .wp-block-navigation__submenu-container { display: none !important; position: static !important; width: 100%; height: auto; min-width: 0; max-height: none; margin: 0 0 8px; padding: 0 0 0 14px !important; border: 0; border-inline-start: 1px solid #dce2ed; border-radius: 0; background: transparent; color: var(--ka-primary); box-shadow: none; opacity: 1; visibility: visible; transform: none; }
    nav.ka-main-nav .is-menu-open .has-child > .ka-submenu-toggle[aria-expanded="true"] ~ .wp-block-navigation__submenu-container { display: block !important; }
    nav.ka-main-nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item { border: 0; }
    nav.ka-main-nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { min-height: 44px; padding: 10px 0; border: 0; border-radius: 0; background: transparent; color: #596174; font-size: 14px; font-weight: 400; line-height: 24px; }
    nav.ka-main-nav .is-menu-open .wp-block-navigation__submenu-container a:hover { color: var(--ka-primary); text-decoration: underline; text-underline-offset: 3px; }
    .ka-drawer-actions { display: grid; gap: 10px; flex: none; margin-top: auto; padding: 40px 28px max(28px, env(safe-area-inset-bottom)); }
    .ka-drawer-workshop { display: block; margin: 0; padding: 0; }
    .ka-mainbar nav.ka-main-nav .ka-drawer-service, .ka-mainbar nav.ka-main-nav .ka-drawer-workshop a { display: flex; align-items: center; justify-content: space-between; gap: 10px; width: 100%; min-height: 48px; padding: 12px 14px; border: 0; border-radius: 4px; background: var(--ka-primary); color: #fff; font-size: 14px; font-weight: 700; line-height: 24px; white-space: nowrap; text-decoration: none; }
    .ka-mainbar nav.ka-main-nav .ka-drawer-workshop a { justify-content: flex-start; background: var(--ka-secondary); color: var(--ka-primary); }
    .ka-mainbar nav.ka-main-nav .is-menu-open .ka-drawer-service:hover { background: #25375f; color: #fff; }
    .ka-mainbar nav.ka-main-nav .is-menu-open .ka-drawer-workshop a:hover { background: #e4d9bf; color: var(--ka-primary); }
    .ka-drawer-service svg { flex: none; width: 18px; height: 18px; }
    .ka-drawer-workshop svg { display: block; width: 18px; height: 18px; flex: none; }
    .ka-drawer-header a:focus-visible, .ka-drawer-header button:focus-visible, .ka-mainbar .is-menu-open a:focus-visible, .ka-mainbar .is-menu-open button:focus-visible { outline-color: var(--ka-primary); outline-offset: 2px; }

}
@media (max-width: 479px) {
    .ka-topbar__quick { gap: 12px; }
    .ka-topbar__quick-long { display: none; }
    .ka-topbar__quick-short { display: inline; }
}
@media (max-width: 359px) {
    .ka-site-header .ka-topbar__inner { gap: 8px; }
    .ka-site-header .ka-topbar__mobile-usps { font-size: 11px; }
    .ka-usp-rotator { gap: 5px; }
    .ka-usp-rotator__state { flex-basis: 8px; width: 8px; height: 8px; }
    .ka-site-header .ka-topbar__reviews { gap: 4px; }
    .ka-site-header .ka-topbar__stars { font-size: 11px; }
    .ka-mainbar__inner { gap: 8px !important; }
    .ka-header-logo > svg { width: 144px; height: 48px; }
    .ka-mobile-brand, .ka-mobile-brand > svg { width: 160px; }
}
@media (prefers-reduced-motion: reduce) {
    .ka-mainbar, .ka-main-nav .wp-block-navigation__responsive-container, .ka-main-nav .wp-block-navigation__responsive-close, .ka-main-nav .wp-block-navigation__submenu-container, .ka-submenu-toggle svg, .ka-header-contact__button { animation: none !important; transition: none !important; }
}

/* The topbar scrolls away with the page and the main header then sticks at the top (31-10-2026).
   A negative sticky offset does this without transforms or margin changes, so iOS never shows a
   white strip while scrolling back up (the earlier slide animation shifted the layout mid-scroll). */
.ka-header-shell { top: calc(var(--ka-admin-offset, var(--wp-admin--admin-bar--height, 0px)) - var(--ka-topbar-height, 52px)); }
/* Very narrow screens: the rotating USP never runs into the review stars. */
.ka-site-header .ka-topbar__mobile-usps { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
@media (max-width: 340px) { .ka-site-header .ka-topbar__mobile-usps { display: none; } .ka-site-header .ka-topbar__inner { grid-template-columns: 1fr; justify-items: center; } }
