/* ==================================================
   Kelrosa header + responsive navigation
   Desktop navigation and a stable mobile header/drawer.
================================================== */
.site-header{
  position:sticky;
  top:0;
  z-index:1200;
  background:rgba(255,255,255,.98);
  border-bottom:1px solid rgba(23,29,41,.07);
  box-shadow:0 7px 24px rgba(23,29,41,.035);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  transform:translate3d(0,0,0);
  transition:transform .22s cubic-bezier(.22,1,.36,1),box-shadow .18s ease;
}
.site-header.is-hidden:not(.is-menu-open){transform:translate3d(0,-105%,0);box-shadow:none}
.kr-header__inner{height:92px;min-height:92px;display:flex;align-items:center;gap:28px}
.kr-brand{margin-right:auto;flex:0 0 auto;line-height:0}
.kr-brand__link{display:flex;align-items:center;height:100%;color:var(--kr-ink)}
.kr-brand__logo{display:block;width:220px;height:auto;max-width:none;max-height:64px;object-fit:contain;object-position:left center}

.primary-navigation{display:flex;align-items:center}
.primary-menu-list{display:flex;align-items:center;gap:4px;margin:0;padding:0;list-style:none}
.primary-menu-list>li{position:relative}
.primary-menu-list a{display:block;padding:14px 11px;border-radius:11px;color:var(--kr-ink);font-size:15px;font-weight:720;white-space:nowrap}
.primary-menu-list>li>a:hover,.primary-menu-list>li:focus-within>a,.primary-menu-list>li.current-menu-item>a,.primary-menu-list>li.current-menu-ancestor>a,.menu-link-row:hover>a{background:var(--kr-aqua-2);color:var(--kr-primary)}
.menu-link-row{display:flex;align-items:center;border-radius:11px}
.menu-link-row>a{padding-right:4px}
.submenu-toggle{display:grid;place-items:center;width:28px;height:38px;padding:0;border:0;background:transparent;color:var(--kr-ink);cursor:pointer}
.submenu-toggle-icon{width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .18s ease}
.is-submenu-open>.menu-link-row .submenu-toggle-icon{transform:rotate(225deg) translate(-1px,-1px)}
.primary-menu-list .sub-menu{display:none;position:absolute;top:calc(100% + 9px);left:0;min-width:250px;padding:12px;margin:0;list-style:none;background:#fff;border:1px solid var(--kr-line);border-radius:20px;box-shadow:var(--kr-shadow)}
.primary-menu-list .sub-menu::before{content:"";position:absolute;left:0;right:0;top:-10px;height:11px}
.primary-menu-list .sub-menu a{padding:11px 13px;font-size:14px;font-weight:650;border-radius:10px}
.primary-menu-list .sub-menu a:hover{background:var(--kr-aqua-2);color:var(--kr-primary)}
.primary-menu-list li:hover>.sub-menu,.primary-menu-list li:focus-within>.sub-menu,.primary-menu-list li.is-submenu-open>.sub-menu{display:block}
.header-cta{min-height:50px;padding-inline:22px;flex:0 0 auto}
.menu-toggle,.navigation-backdrop,.mobile-menu-action{display:none}

.menu-toggle{position:relative}
.menu-toggle-lines,.menu-toggle-lines::before,.menu-toggle-lines::after{display:block;width:21px;height:2px;border-radius:999px;background:var(--kr-ink);transition:transform .2s ease,opacity .18s ease,top .2s ease}
.menu-toggle-lines{position:relative}
.menu-toggle-lines::before,.menu-toggle-lines::after{content:"";position:absolute;left:0}
.menu-toggle-lines::before{top:-6.5px}
.menu-toggle-lines::after{top:6.5px}
.menu-toggle[aria-expanded="true"] .menu-toggle-lines{background:transparent}
.menu-toggle[aria-expanded="true"] .menu-toggle-lines::before{top:0;transform:rotate(45deg)}
.menu-toggle[aria-expanded="true"] .menu-toggle-lines::after{top:0;transform:rotate(-45deg)}

@media(max-width:1320px){
  .kr-header__inner{height:86px;min-height:86px;gap:18px}
  .kr-brand__logo{width:194px;max-height:58px}
  .primary-menu-list a{padding-inline:8px;font-size:13.5px}
  .header-cta{min-height:48px;padding-inline:17px}
}

@media(max-width:1180px){
  :root{--kr-mobile-header-height:74px;--kr-mobile-drawer-top:74px}
  .site-header{z-index:1205;background:#fff;backdrop-filter:none;-webkit-backdrop-filter:none}
  .site-header.is-menu-open{background:#fff;box-shadow:0 8px 26px rgba(23,29,41,.075)}
  .kr-header__inner{height:var(--kr-mobile-header-height);min-height:var(--kr-mobile-header-height);gap:12px}
  .kr-brand__link{height:var(--kr-mobile-header-height)}
  .kr-brand__logo{width:166px;max-width:none;max-height:50px}
  .header-cta{display:none}
  .menu-toggle{display:grid;place-items:center;width:44px;height:44px;margin-left:auto;padding:0;flex:0 0 44px;border:1px solid #dce6d9;border-radius:14px;background:#fff;box-shadow:0 5px 14px rgba(23,29,41,.04);color:var(--kr-ink);cursor:pointer;-webkit-tap-highlight-color:transparent}
  .menu-toggle[aria-expanded="true"]{border-color:#dce6d9;background:#fff;color:var(--kr-ink);box-shadow:0 5px 14px rgba(23,29,41,.04)}
  .menu-toggle:focus-visible{outline:3px solid rgba(112,174,82,.2);outline-offset:2px}

  .primary-navigation{
    position:fixed;
    top:var(--kr-mobile-drawer-top);
    right:0;
    bottom:0;
    left:auto;
    z-index:1202;
    display:flex;
    width:min(90vw,372px);
    height:calc(100dvh - var(--kr-mobile-drawer-top));
    padding:14px 20px max(24px,env(safe-area-inset-bottom));
    flex-direction:column;
    align-items:stretch;
    overflow-x:hidden;
    overflow-y:auto;
    background:#fff;
    border-left:1px solid rgba(23,29,41,.06);
    box-shadow:-26px 18px 72px rgba(23,29,41,.17);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translate3d(103%,0,0);
    transition:transform .26s cubic-bezier(.22,1,.36,1),opacity .2s ease,visibility .2s ease;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
  }
  .primary-navigation.is-open{opacity:1;visibility:visible;pointer-events:auto;transform:translate3d(0,0,0)}

  .navigation-backdrop{position:fixed;top:var(--kr-mobile-drawer-top);right:0;bottom:0;left:0;z-index:1201;display:block;width:100%;padding:0;border:0;background:rgba(18,31,24,.45);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s ease,visibility .2s ease;-webkit-tap-highlight-color:transparent}
  body.nav-drawer-open .navigation-backdrop{opacity:1;visibility:visible;pointer-events:auto}
  body.nav-drawer-open{overflow:hidden;touch-action:none}

  .primary-menu-list{display:grid;width:100%;gap:0;flex:0 0 auto}
  .primary-menu-list>li{border-bottom:1px solid #e8ece6}
  .primary-navigation .primary-menu-list>li>a,.primary-navigation .menu-link-row>a{display:flex;min-height:55px;align-items:center;padding:0 5px;border-radius:0;color:var(--kr-ink);font-size:16.5px;font-weight:730;white-space:normal}
  .primary-navigation .primary-menu-list>li>a:hover,.primary-navigation .primary-menu-list>li>a:focus-visible,.primary-navigation .menu-link-row:hover>a{background:transparent;color:var(--kr-ink)}
  .primary-navigation .primary-menu-list>li.current-menu-item>a,.primary-navigation .primary-menu-list>li.current-menu-ancestor>.menu-link-row>a{color:var(--kr-ink)}
  .primary-navigation .primary-menu-list>li.is-submenu-open>.menu-link-row>a{color:var(--kr-ink)}
  .menu-link-row{min-height:55px;justify-content:space-between;border-radius:0}
  .menu-link-row>a{flex:1}
  .submenu-toggle{width:42px;height:42px;margin-right:-4px;border-radius:12px;color:var(--kr-ink-2)}
  .submenu-toggle:hover{background:transparent;color:var(--kr-ink-2)}
  .submenu-toggle:focus-visible{background:#f4f8f2;color:var(--kr-ink);outline:2px solid rgba(112,174,82,.18);outline-offset:1px}
  .primary-menu-list li.is-submenu-open>.menu-link-row .submenu-toggle{background:transparent;color:var(--kr-ink-2)}
  .submenu-toggle-icon{width:8px;height:8px}

  .primary-menu-list .sub-menu{position:static;display:none;min-width:0;margin:0 0 10px;padding:2px 0 10px 14px;border:0;border-left:2px solid #d7e7d2;border-radius:0;background:transparent;box-shadow:none}
  .primary-menu-list .sub-menu::before{display:none}
  .primary-menu-list li:hover>.sub-menu,.primary-menu-list li:focus-within>.sub-menu{display:none}
  .primary-menu-list li.is-submenu-open>.sub-menu{display:grid;gap:1px}
  .primary-menu-list .sub-menu a{min-height:37px;padding:8px 10px;border-radius:9px;color:var(--kr-slate);font-size:14px;font-weight:620;line-height:1.35;white-space:normal}
  .primary-menu-list .sub-menu a:hover,.primary-menu-list .sub-menu a:focus-visible{background:var(--kr-aqua-2);color:var(--kr-primary)}

  .mobile-menu-action{display:block;margin-top:20px;padding:17px;border:1px solid #dce8d8;border-radius:19px;background:linear-gradient(145deg,#f4f8f1,#fff);box-shadow:0 10px 26px rgba(23,29,41,.04)}
  .mobile-menu-action-eyebrow{margin:0 0 6px;color:var(--kr-ink);font-size:15px;font-weight:800;line-height:1.35}
  .mobile-menu-action-copy{margin:0 0 14px;color:var(--kr-slate);font-size:13.5px;line-height:1.58}
  .mobile-menu-action .button{width:100%;min-height:47px}
}

@media(max-width:560px){
  :root{--kr-mobile-header-height:72px;--kr-mobile-drawer-top:72px}
  .kr-header__inner{height:var(--kr-mobile-header-height);min-height:var(--kr-mobile-header-height)}
  .kr-brand__link{height:var(--kr-mobile-header-height)}
  .kr-brand__logo{width:154px;max-width:none;max-height:47px}
  .menu-toggle{width:43px;height:43px;flex-basis:43px;border-radius:13px}
  .primary-navigation{width:min(92vw,356px);padding:13px 18px max(22px,env(safe-area-inset-bottom))}
  .primary-navigation .primary-menu-list>li>a,.primary-navigation .menu-link-row>a{min-height:53px;font-size:16px}
  .menu-link-row{min-height:53px}
  .mobile-menu-action{margin-top:18px;padding:16px;border-radius:18px}
}

@media(max-width:1180px) and (hover:hover){
  .menu-toggle:hover{border-color:#cbdcc7;background:#f8faf7}
  .primary-navigation .primary-menu-list>li>a:hover{color:var(--kr-primary)}
  .primary-navigation .menu-link-row:hover>a{color:var(--kr-primary)}
  .primary-navigation .submenu-toggle:hover{background:#f4f8f2;color:var(--kr-primary)}
}

@media(prefers-reduced-motion:reduce){
  .site-header,.primary-navigation,.navigation-backdrop,.menu-toggle-lines,.menu-toggle-lines::before,.menu-toggle-lines::after,.submenu-toggle-icon{transition:none!important}
}
