/* A native modal keeps focus and background interaction inside the mobile menu.
   Typography, spacing and palette use editable GK Divi variables. */
.gk-mobile-dialog:not([open]){display:none}
.gk-mobile-dialog{position:fixed;inset:0;width:100%;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;border:0;background:var(--gk-paper);color:var(--gk-forest);font-family:inherit;overflow:hidden;opacity:0;transition:opacity .25s ease}
.gk-mobile-dialog::backdrop{background:var(--gk-paper)}
.gk-mobile-dialog.is-open{opacity:1}
.gk-mobile-shell{display:flex;flex-direction:column;height:100%;width:90%;max-width:760px;margin:auto;padding-inline:max(0px,env(safe-area-inset-left)) max(0px,env(safe-area-inset-right));box-sizing:border-box}
.gk-mobile-head{display:flex;flex:none;align-items:center;justify-content:space-between;gap:16px;min-height:80px;padding-top:env(safe-area-inset-top);box-sizing:content-box}
.gk-mobile-logo{display:block;width:var(--gvid-gk-menu-logo-width,180px);max-width:calc(100% - 112px);color:inherit;font-weight:700}
.gk-mobile-logo img{display:block;width:100%;height:auto}
.gk-menu-control{display:inline-flex;align-items:center;justify-content:center;gap:10px;box-sizing:border-box;min-width:96px;min-height:44px;padding:10px 14px;border:1px solid currentColor;border-radius:99px;background:transparent;color:var(--gk-forest);font:inherit;font-size:var(--gvid-gk-menu-control-size,14px);font-weight:700;line-height:1;cursor:pointer;transition:background-color .2s,color .2s,border-color .2s}
.gk-menu-control:is(:hover,:focus-visible){background:var(--gk-lime);color:var(--gk-forest);border-color:currentColor}
.gk-menu-bars{position:relative;display:block;width:18px;height:18px;flex:none}
.gk-menu-bars::before,.gk-menu-bars::after{content:"";position:absolute;left:0;top:8px;width:18px;height:2px;background:currentColor;transform:translateY(-3px);transition:transform .35s ease-in-out}
.gk-menu-bars::after{transform:translateY(3px)}
.gk-menu-close .gk-menu-bars::before{transform:rotate(45deg)}
.gk-menu-close .gk-menu-bars::after{transform:rotate(-45deg)}
.gk-mobile-scroll{display:flex;flex-direction:column;flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;padding:12px 0 max(24px,env(safe-area-inset-bottom));gap:32px}
.gk-mobile-scroll nav{width:100%;flex:none}
.gk-mobile-links,.gk-mobile-links .sub-menu{list-style:none;margin:0;padding:0}
.gk-mobile-links>li{list-style:none;padding:0;margin:0;border-bottom:1px solid color-mix(in srgb,var(--gk-forest) 20%,transparent)}
.gk-mobile-links>li:first-child{border-top:1px solid color-mix(in srgb,var(--gk-forest) 20%,transparent)}
.gk-mobile-links>li>a,.gk-mobile-parent{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;min-height:56px;box-sizing:border-box;padding:var(--gvid-gk-menu-row-space,12px) 0;border:0;background:transparent;color:inherit;font:inherit;font-size:var(--gvid-gk-menu-size,clamp(28px,7.5vw,42px));font-weight:700;line-height:1.18;letter-spacing:-.035em;text-align:left;text-decoration:none;cursor:pointer;overflow-wrap:anywhere;transition:color .2s}
.gk-mobile-links>li>a:is(:hover,:focus-visible),.gk-mobile-parent:is(:hover,:focus-visible){color:var(--gk-forest)}
.gk-mobile-links .current-menu-item>a{font-weight:800;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px}
.gk-mobile-link-icon,.gk-menu-chevron{display:flex;align-items:center;justify-content:center;flex:none;width:36px;height:36px;box-sizing:border-box;border-radius:50%;background:var(--gk-sage);font-size:20px;line-height:1;transition:background-color .2s}
.gk-mobile-links>li>a:is(:hover,:focus-visible) .gk-mobile-link-icon,.gk-mobile-parent:is(:hover,:focus-visible) .gk-menu-chevron{background:var(--gk-lime)}
.gk-menu-chevron::before{content:"";width:9px;height:9px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .35s ease-in-out}
.gk-submenu-open>.gk-mobile-parent .gk-menu-chevron{background:var(--gk-lime)}
.gk-submenu-open>.gk-mobile-parent .gk-menu-chevron::before{transform:translateY(2px) rotate(225deg)}
.gk-mobile-submenu{display:grid;grid-template-rows:0fr;opacity:0;visibility:hidden;transition:grid-template-rows .3s ease,opacity .25s ease,visibility .3s}
.gk-submenu-open>.gk-mobile-submenu{grid-template-rows:1fr;opacity:1;visibility:visible}
.gk-mobile-submenu>.sub-menu{min-height:0;overflow:hidden}
.gk-mobile-submenu .sub-menu>li{margin:0;padding:0;list-style:none}
.gk-mobile-submenu .sub-menu a{display:block;min-height:44px;box-sizing:border-box;padding:10px 16px;border-left:1px solid color-mix(in srgb,var(--gk-forest) 25%,transparent);color:inherit;font-size:var(--gvid-gk-menu-sub-size,18px);font-weight:500;line-height:1.35;text-decoration:none;overflow-wrap:anywhere;transition:background-color .2s}
.gk-mobile-submenu .sub-menu a:is(:hover,:focus-visible){background:var(--gk-sage)}
.gk-mobile-submenu .sub-menu>li:last-child{padding-bottom:16px}
.gk-mobile-contact{flex:none;margin-top:auto;padding:var(--gvid-gk-card-padding,24px);border-radius:var(--gk-radius);background:var(--gk-forest);color:var(--gk-paper)}
.gk-mobile-contact-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}
.gk-mobile-contact h2{padding:0;margin:0;color:inherit;font:inherit;font-size:var(--gvid-gk-menu-card-size,22px);font-weight:700;line-height:1.2;letter-spacing:-.03em}
.gk-menu-dots{display:flex;align-items:center;gap:4px;color:var(--gk-lime);flex:none}
.gk-menu-dots i{display:block;width:4px;height:4px;border-radius:50%;background:currentColor}
.gk-menu-dots i:nth-child(2){width:6px;height:6px}.gk-menu-dots i:nth-child(3){width:8px;height:8px}.gk-menu-dots i:nth-child(4){width:10px;height:10px}.gk-menu-dots i:nth-child(5){width:12px;height:12px}
.gk-mobile-contact>a{display:block;width:fit-content;max-width:100%;min-height:44px;padding:10px 0;box-sizing:border-box;color:inherit;font-size:var(--gvid-gk-menu-contact-size,14px);font-weight:600;line-height:1.5;overflow-wrap:anywhere;text-decoration:none;transition:color .2s}
.gk-mobile-contact>a:is(:hover,:focus-visible){color:var(--gk-lime)}
.gk-mobile-dialog :where(a,button):focus-visible,.gk-site #main-header .gk-menu-control:focus-visible{outline:2px solid currentColor;outline-offset:-2px}
html.gk-menu-locked{overflow:hidden}
@media(max-width:980px){
 /* Reserve the same header and control geometry before JS enhancement. Divi's
    padding transition must not feed an intermediate height to its load handler. */
 .gk-site.et_header_style_left:not(.et-fb) #main-header,.gk-site.et_header_style_left:not(.et-fb) #main-header .et_menu_container{height:80px}
 .gk-site.et_header_style_left:not(.et-fb) #main-header #et-top-navigation{padding:18px 0!important;transition:none}
 .gk-site.et_header_style_left:not(.et-fb) #main-header #et_mobile_nav_menu{margin:0}
 .gk-site.et_header_style_left:not(.et-fb) #main-header #logo{width:var(--gvid-gk-menu-logo-width,180px);max-width:calc(100% - 112px);max-height:none;height:auto}
 .gk-site.et_header_style_left:not(.et-fb) #main-header .mobile_menu_bar_toggle{display:inline-flex;align-items:center;justify-content:center;gap:10px;box-sizing:border-box;width:96px;height:44px;min-width:96px;min-height:44px;padding:10px 14px;position:relative;top:0;border:1px solid var(--gk-forest);border-radius:99px;color:var(--gk-forest);font-size:var(--gvid-gk-menu-control-size,14px);line-height:1}
 .gk-site:not(.gk-mobile-menu-ready).et_header_style_left #main-header .mobile_menu_bar_toggle::before{position:absolute;top:6px;left:31px}
 .gk-site.gk-mobile-menu-ready #main-header .mobile_menu_bar_toggle::before,.gk-site.gk-mobile-menu-ready #main-header .mobile_menu_bar_toggle::after{display:none}
 .gk-site.gk-mobile-menu-ready #main-header .et_mobile_menu{display:none!important}
}
@media(prefers-reduced-motion:reduce){.gk-mobile-dialog,.gk-mobile-submenu{transition:none}}
