/* KANNO v6.11.34 - approved mobile header/bottom-bar gesture states. */
.kanno-mobile-submenu,.kanno-mobile-submenu-backdrop{display:none}
@media(max-width:768px){
  :root{--kanno-mobile-submenu-gap:7px}
  .kanno-mobile-bottom-bar .kanno-mobile-bar-item{background:transparent;color:#72563f}
  html body .site-header,
  html body.kanno-mobile-scrolling-down .site-header,
  html body.kanno-mobile-at-bottom .site-header{
    opacity:1;
    pointer-events:auto;
    transform:none;
    -webkit-transform:none;
  }
  html body.kanno-mobile-scrolling-up:not(.kanno-mobile-at-bottom) .site-header{
    opacity:0;
    pointer-events:none;
    transform:translate3d(0,calc(-100% - 2px),0);
    -webkit-transform:translate3d(0,calc(-100% - 2px),0);
  }
  html body .kanno-mobile-bottom-bar{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:none;
    -webkit-transform:none;
  }
  html body.kanno-mobile-scrolling-down:not(.kanno-mobile-at-bottom):not(.kanno-menu-open) .kanno-mobile-bottom-bar{
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translate3d(0,calc(100% + 16px + var(--kanno-mobile-safe)),0);
    -webkit-transform:translate3d(0,calc(100% + 16px + var(--kanno-mobile-safe)),0);
  }
  html body.kanno-mobile-at-bottom .kanno-mobile-bottom-bar{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:none;
    -webkit-transform:none;
  }
  html.kanno-menu-open body .site-header,
  html body.kanno-menu-open .site-header{
    opacity:1;
    pointer-events:auto;
    transform:none;
    -webkit-transform:none;
  }
  .kanno-mobile-submenu-backdrop{display:block;position:fixed;inset:0;z-index:10039;margin:0;padding:0;border:0;background:transparent;opacity:0;visibility:hidden;pointer-events:none}
  body.kanno-bottom-submenu-open .kanno-mobile-submenu-backdrop{opacity:1;visibility:visible;pointer-events:auto}
  body.kanno-bottom-submenu-open #kanno-contact-aio,body.kanno-bottom-submenu-open .kanno-back-to-top{opacity:0;visibility:hidden;pointer-events:none}
  .kanno-mobile-submenu{
    position:fixed;
    left:8px;
    right:8px;
    bottom:calc(4px + var(--kanno-mobile-safe) + var(--kanno-mobile-bar-h) + var(--kanno-mobile-submenu-gap));
    z-index:10080;
    display:block;
    padding:7px 0 7px 7px;
    overflow:hidden;
    isolation:isolate;
    contain:layout paint;
    border:1px solid #dfc69f;
    border-radius:17px;
    background:#fffaf2;
    box-shadow:0 14px 34px rgba(34,21,12,.19);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translate3d(0,9px,0);
    -webkit-transform:translate3d(0,9px,0);
    transition:opacity .18s ease,visibility .18s ease,transform .18s ease;
    will-change:transform,opacity;
  }
  .kanno-mobile-submenu::after{
    content:"";
    position:absolute;
    z-index:2;
    top:1px;
    right:1px;
    bottom:1px;
    width:34px;
    border-radius:0 16px 16px 0;
    pointer-events:none;
    background:linear-gradient(90deg,rgba(255,250,242,0),#fffaf2 86%);
  }
  .kanno-mobile-submenu.is-open{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translate3d(0,0,0);
    -webkit-transform:translate3d(0,0,0);
  }
  .kanno-mobile-submenu-track{
    position:relative;
    z-index:1;
    display:flex;
    gap:7px;
    width:100%;
    overflow-x:auto;
    overflow-y:hidden;
    overscroll-behavior-x:contain;
    scroll-snap-type:x proximity;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
    touch-action:pan-x;
    pointer-events:auto;
    padding-right:46px;
    transform:translateZ(0);
    -webkit-transform:translateZ(0);
  }
  .kanno-mobile-submenu-track::-webkit-scrollbar{display:none}
  .kanno-mobile-submenu-item{
    flex:0 0 auto;
    scroll-snap-align:start;
    display:inline-flex;
    align-items:center;
    min-height:40px;
    max-width:210px;
    padding:8px 13px;
    border:1px solid #e6cfaa;
    border-radius:12px;
    background:#fff;
    color:#493629;
    box-shadow:0 3px 10px rgba(75,45,20,.045);
    font-size:12px;
    font-weight:700;
    line-height:1.2;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    transform:translateZ(0);
    -webkit-transform:translateZ(0);
  }
  .kanno-mobile-submenu-item[aria-current]{color:#8f171d;background:#fff0dc;border-color:#d8ad75}
  html body .kanno-mobile-bottom-bar .kanno-mobile-bar-item.is-submenu-open{color:#8f171d;background:linear-gradient(180deg,#fff3df,#f7e6ca)}

  body.kanno-mobile-scrolling-down:not(.kanno-bottom-submenu-open) .kanno-mobile-submenu{
    opacity:0;
    visibility:hidden;
    pointer-events:none;
  }
}
@media(max-width:370px){.kanno-mobile-submenu{left:5px;right:5px}}
@media(prefers-reduced-motion:reduce){.kanno-mobile-submenu,.site-header{transition:none}}

/* KANNO v6.11.43 — mobile-only navigation system.
 * The hamburger drawer is intentionally isolated from desktop mega-menu CSS.
 * Only .kanno-mobile-drawer / .kanno-mobile-menu own mobile menu layout.
 */
@media (max-width:768px){
  html body .site-header .main-nav.kanno-desktop-nav{display:none}
  html body .site-header{z-index:10000;overflow:visible}
  html body .site-header .nav-wrap{
    position:relative;overflow:visible;display:grid;
    grid-template-columns:42px minmax(0,1fr) 40px 40px;
    align-items:center;column-gap:7px
  }
  html body .site-header .kanno-mobile-header-actions{display:contents}
  html body .site-header .nav-toggle{
    display:inline-flex;position:relative;z-index:10030;grid-column:1;grid-row:1;
    justify-self:start;transition:opacity .16s ease,visibility .16s ease,transform .16s ease
  }
  html.kanno-menu-open body .site-header .nav-toggle{
    opacity:0;visibility:hidden;pointer-events:none;transform:scale(.9)
  }
  html body .site-header .branding{
    position:absolute;left:50%;top:50%;width:auto;max-width:132px;
    transform:translate(-50%,-50%);z-index:1
  }
  html body .site-header .branding .kanno-brand-logo,
  html body .site-header .branding .custom-logo-link{width:auto;max-width:132px}
  html body .site-header .branding img,
  html body .site-header .branding .custom-logo,
  html body .site-header .kanno-brand-logo img{max-width:112px}
  html body .site-header .kanno-mobile-search-toggle{grid-column:3;grid-row:1}
  html body .site-header .kanno-mobile-call{grid-column:4;grid-row:1}

  /* Drawer shell */
  html body .site-header .kanno-mobile-drawer{
    position:fixed;inset:0 auto 0 0;display:block;
    width:min(91vw,390px);height:100dvh;max-height:none;margin:0;
    padding:calc(max(10px,env(safe-area-inset-top)) + 2px) 13px calc(24px + var(--kanno-mobile-safe));
    box-sizing:border-box;border:0;border-right:1px solid rgba(183,122,35,.18);border-radius:0;
    background:#fffdf9;box-shadow:18px 0 54px rgba(28,18,10,.22);
    overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;
    opacity:0;visibility:hidden;pointer-events:none;transform:translate3d(-104%,0,0);
    transition:transform .24s cubic-bezier(.22,.61,.36,1),opacity .18s ease,visibility .18s ease;
    z-index:10020;touch-action:pan-y
  }
  html body .site-header .kanno-mobile-drawer.is-open{
    opacity:1;visibility:visible;pointer-events:auto;transform:translate3d(0,0,0)
  }
  html body.admin-bar .site-header .kanno-mobile-drawer{
    top:var(--kanno-admin-bar-offset,0px);height:calc(100dvh - var(--kanno-admin-bar-offset,0px))
  }
  html body.admin-bar .site-header{top:var(--kanno-admin-bar-offset,0px)}

  /* Drawer heading */
  html body .site-header .kanno-mobile-menu-head{
    position:sticky;top:0;z-index:8;display:flex;align-items:center;justify-content:space-between;gap:12px;
    min-height:62px;margin:0 0 10px;padding:4px 0 10px;
    background:rgba(255,253,249,.985);border-bottom:1px solid rgba(183,122,35,.16);
    backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)
  }
  html body .site-header .kanno-mobile-menu-brand{display:grid;gap:2px;min-width:0}
  html body .site-header .kanno-mobile-menu-brand .kanno-mobile-menu-eyebrow{
    font-size:9px;font-weight:800;line-height:1.2;letter-spacing:.14em;color:#aa742e
  }
  html body .site-header .kanno-mobile-menu-brand strong{font-size:19px;line-height:1.15;color:#2b1d14}
  html body .site-header .kanno-mobile-menu-brand small{font-size:10px;line-height:1.3;color:#7d6a5b;white-space:normal}
  html body .site-header .kanno-mobile-menu-close{
    display:inline-flex;align-items:center;justify-content:center;flex:0 0 40px;width:40px;height:40px;
    margin:0;padding:0;border:1px solid rgba(183,122,35,.2);border-radius:13px;
    background:#fff8ed;color:#8b5b20;box-shadow:none
  }
  html body .site-header .kanno-mobile-menu-close svg{
    width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round
  }
  html body .site-header .kanno-mobile-menu-backdrop{
    display:block;position:fixed;inset:0;margin:0;padding:0;border:0;border-radius:0;
    background:rgba(17,11,8,.44);opacity:0;visibility:hidden;pointer-events:none;
    transition:opacity .18s ease,visibility .18s ease;z-index:10010
  }
  html.kanno-menu-open body .site-header .kanno-mobile-menu-backdrop{
    opacity:1;visibility:visible;pointer-events:auto
  }

  /* Hard reset for the dedicated mobile tree. No desktop menu geometry may survive here. */
  html body .site-header .kanno-mobile-drawer .kanno-mobile-menu,
  html body .site-header .kanno-mobile-drawer .kanno-mobile-menu ul,
  html body .site-header .kanno-mobile-drawer .kanno-mobile-menu li{
    position:static;inset:auto;float:none;clear:none;width:100%;min-width:0;max-width:100%;
    height:auto;min-height:0;max-height:none;margin:0;padding:0;list-style:none;
    box-sizing:border-box;opacity:1;visibility:visible;transform:none;translate:none;
    box-shadow:none;filter:none;clip:auto;clip-path:none;grid-area:auto;grid-row:auto;grid-column:auto
  }
  html body .site-header .kanno-mobile-drawer .kanno-mobile-menu{
    display:block;
    width:100%;margin:0;padding:0
  }
  html body .site-header .kanno-mobile-drawer .kanno-mobile-menu a{
    position:relative;box-sizing:border-box;text-decoration:none;-webkit-tap-highlight-color:transparent
  }

  /* Shared icon treatment: restore original Kanno gold at every mobile menu level. */
  html body .site-header .kanno-mobile-drawer .kanno-mobile-menu .kanno-menu-icon{
    display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;
    margin:0;padding:0;border:0;border-radius:0;background:transparent;color:#bd7a1d;
    box-shadow:none;transform:none
  }
  html body .site-header .kanno-mobile-drawer .kanno-mobile-menu .kanno-menu-icon svg{
    display:block;fill:none;stroke:currentColor;stroke-width:1.85;stroke-linecap:round;stroke-linejoin:round
  }
  html body .site-header .kanno-mobile-drawer .kanno-mobile-menu .kanno-menu-label{
    display:block;min-width:0;flex:1 1 auto;color:inherit;text-align:left;white-space:normal;overflow-wrap:anywhere
  }

  /* Level 1 */
  html body .site-header .kanno-mobile-drawer .kanno-mobile-menu>li{
    display:block;position:static;float:none;clear:both;border:0;border-radius:14px;background:transparent;overflow:visible;
    margin:0 0 8px
  }
  html body .site-header .kanno-mobile-drawer .kanno-mobile-menu>li:last-child{margin-bottom:0}
  html body .site-header .kanno-mobile-drawer .kanno-mobile-menu>li>a{
    display:flex;align-items:center;gap:11px;width:100%;min-height:52px;padding:10px 12px;
    border:1px solid rgba(183,122,35,.16);border-radius:14px;background:#fff;
    color:#302219;font-size:14px;font-weight:700;line-height:1.28;
    box-shadow:0 5px 16px rgba(75,48,20,.035)
  }
  html body .site-header .kanno-mobile-drawer .kanno-mobile-menu>li>a .kanno-menu-icon{
    width:23px;height:23px;min-width:23px
  }
  html body .site-header .kanno-mobile-drawer .kanno-mobile-menu>li>a .kanno-menu-icon svg{width:23px;height:23px}
  html body .site-header .kanno-mobile-drawer .kanno-mobile-menu>li.menu-item-has-children>a::after{
    content:"";display:block;flex:0 0 8px;width:8px;height:8px;margin-left:auto;
    border-right:2px solid #b87922;border-bottom:2px solid #b87922;
    transform:rotate(45deg) translateY(-2px);transform-origin:center;transition:transform .18s ease
  }
  html body .site-header .kanno-mobile-drawer .kanno-mobile-menu>li.is-open>a,
  html body .site-header .kanno-mobile-drawer .kanno-mobile-menu>li.current-menu-ancestor>a,
  html body .site-header .kanno-mobile-drawer .kanno-mobile-menu>li.current-menu-item>a{
    background:linear-gradient(135deg,#fff9ef,#f7ead5);border-color:rgba(183,122,35,.30);
    color:#302219;box-shadow:0 7px 20px rgba(113,72,22,.07)
  }
  html body .site-header .kanno-mobile-drawer .kanno-mobile-menu>li.is-open>a::after{
    transform:rotate(225deg) translate(-1px,-1px)
  }
  html body .site-header .kanno-mobile-drawer .kanno-mobile-menu>li.kanno-menu-contact>a{
    background:#fbf1df;border-color:rgba(183,122,35,.22);color:#5a391b
  }
  html body .site-header .kanno-mobile-drawer .kanno-mobile-menu>li>a:active{transform:scale(.995)}

  /* Every submenu is normal document flow. Opening it MUST push following items down. */
  html body .site-header .kanno-mobile-drawer .kanno-mobile-menu .kanno-mobile-submenu{
    display:none;position:static;inset:auto;float:none;clear:both;width:100%;min-width:0;max-width:100%;
    height:auto;min-height:0;max-height:none;box-sizing:border-box;overflow:visible;
    opacity:1;visibility:visible;pointer-events:auto;transform:none;translate:none;
    display:none
  }
  html body .site-header .kanno-mobile-drawer .kanno-mobile-menu li.is-open>.kanno-mobile-submenu{
    display:block
  }

  /* Level 2 */
  html body .site-header .kanno-mobile-drawer .kanno-mobile-submenu-level-2{
    margin:5px 0 1px;padding:2px 0 2px 12px;border:0;border-left:2px solid rgba(189,122,29,.20);
    background:transparent;border-radius:0
  }
  html body .site-header .kanno-mobile-drawer .kanno-mobile-submenu-level-2>li{
    display:block;position:static;
    width:100%;min-width:0;height:auto;min-height:0;margin:0 0 5px;overflow:visible;grid-area:auto;grid-row:auto;grid-column:auto
  }
  html body .site-header .kanno-mobile-drawer .kanno-mobile-submenu-level-2>li>a{
    display:flex;align-items:center;gap:9px;width:100%;min-height:45px;padding:8px 10px;
    border:1px solid rgba(183,122,35,.13);border-radius:11px;background:#fffaf2;
    color:#39291f;font-size:13px;font-weight:650;line-height:1.3;box-shadow:none
  }
  html body .site-header .kanno-mobile-drawer .kanno-mobile-submenu-level-2>li>a .kanno-menu-icon{
    width:19px;height:19px;min-width:19px
  }
  html body .site-header .kanno-mobile-drawer .kanno-mobile-submenu-level-2>li>a .kanno-menu-icon svg{width:19px;height:19px}
  html body .site-header .kanno-mobile-drawer .kanno-mobile-submenu-level-2>li.menu-item-has-children>a::after{
    content:"";display:block;flex:0 0 7px;width:7px;height:7px;margin-left:auto;
    border-right:1.8px solid #b87922;border-bottom:1.8px solid #b87922;
    transform:rotate(45deg) translateY(-1px);transform-origin:center;transition:transform .18s ease
  }
  html body .site-header .kanno-mobile-drawer .kanno-mobile-submenu-level-2>li.is-open>a{
    background:#f7ead5;border-color:rgba(183,122,35,.28);color:#3b281b
  }
  html body .site-header .kanno-mobile-drawer .kanno-mobile-submenu-level-2>li.is-open>a::after{
    transform:rotate(225deg) translate(-1px,-1px)
  }

  /* Level 3 */
  html body .site-header .kanno-mobile-drawer .kanno-mobile-submenu-level-3{
    display:none;position:static;inset:auto;float:none;clear:both;align-self:stretch;
    width:calc(100% - 8px);min-width:0;max-width:calc(100% - 8px);height:auto;min-height:0;max-height:none;
    margin:6px 0 3px 8px;padding:7px 0 7px 12px;box-sizing:border-box;overflow:visible;
    border:0;border-left:2px solid rgba(189,122,29,.24);background:#fffaf3;border-radius:0
  }
  html body .site-header .kanno-mobile-drawer .kanno-mobile-submenu-level-2>li.is-open>.kanno-mobile-submenu-level-3{
    display:block
  }
  html body .site-header .kanno-mobile-drawer .kanno-mobile-submenu-level-3>li{
    display:block;position:static;width:100%;min-width:0;height:auto;min-height:0;
    margin:0 0 5px;padding:0;overflow:visible;grid-area:auto;grid-row:auto;grid-column:auto
  }
  html body .site-header .kanno-mobile-drawer .kanno-mobile-submenu-level-3>li>a{
    display:flex;align-items:center;gap:8px;width:100%;min-height:39px;padding:7px 9px;
    border:1px solid rgba(183,122,35,.11);border-radius:9px;background:#fff;
    color:#514036;font-size:12px;font-weight:600;line-height:1.3;box-shadow:0 2px 7px rgba(75,48,20,.025)
  }
  html body .site-header .kanno-mobile-drawer .kanno-mobile-submenu-level-3>li>a .kanno-menu-icon{
    width:16px;height:16px;min-width:16px
  }
  html body .site-header .kanno-mobile-drawer .kanno-mobile-submenu-level-3>li>a .kanno-menu-icon svg{width:16px;height:16px}

  /* Drawer CTA */
  html body .site-header .kanno-mobile-drawer>.nav-cta{
    display:flex;position:static;inset:auto;float:none;clear:both;
    align-items:center;justify-content:center;width:100%;min-height:46px;
    margin:12px 0 0;padding:9px 13px;border:0;border-radius:13px;
    background:linear-gradient(135deg,#8f171d,#bd3036);color:#fff;font-size:13px;font-weight:800;
    box-shadow:0 9px 22px rgba(143,23,29,.17);text-align:center
  }

  html.kanno-menu-open body .kanno-mobile-bottom-bar{
    opacity:0;visibility:hidden;pointer-events:none;
    transform:translate3d(0,calc(100% + 16px + var(--kanno-mobile-safe)),0)
  }
  html.kanno-menu-open,html.kanno-menu-open body{overflow:hidden}

  @media (prefers-reduced-motion:reduce){
    html body .site-header .kanno-mobile-drawer,
    html body .site-header .kanno-mobile-menu-backdrop,
    html body .site-header .kanno-mobile-drawer .kanno-mobile-menu a::after{transition:none}
  }
}

@media (max-width:370px){
  html body .site-header .kanno-mobile-drawer{width:min(94vw,360px);padding-left:10px;padding-right:10px}
  html body .site-header .kanno-mobile-drawer .kanno-mobile-menu>li>a{min-height:49px;padding-left:10px;padding-right:10px}
  html body .site-header .kanno-mobile-drawer .kanno-mobile-menu>li>a .kanno-menu-label{font-size:13.5px}
}

@media (min-width:769px){
  html body .site-header .kanno-mobile-drawer{display:none}
  html body .site-header .kanno-mobile-menu-backdrop,
  html body .site-header .kanno-mobile-menu-head{display:none}
}
