/* Native disclosure fallback; all links are present in the initial server HTML. */
.mobile-menu>.mobile-panel{display:block;position:absolute;inset:auto 0 auto;background:#fff;padding:0;max-height:70vh;overflow:auto;box-shadow:0 15px 25px #163a3925;z-index:15;color:#163a39}
.mobile-panel-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 20px;border-bottom:1px solid #dce2db;min-height:65px;background:#ffe33c}
.mobile-panel-header>strong{font-size:17px;line-height:1.3}
.mobile-close{display:flex;align-items:center;justify-content:center;width:44px;height:44px;flex-shrink:0;padding:8px;border:0;background:transparent;border-radius:6px;color:#163a39}
.mobile-close:hover{background:#fff7}
.mobile-tree{padding:0;margin:0;list-style:none}
.mobile-tree>li{margin:0;border-bottom:1px solid #e6eae5}
.mobile-branch>summary,.mobile-menu-link{display:flex;align-items:center;gap:14px;min-height:57px;padding:12px 20px;font-size:16px;line-height:1.35;letter-spacing:0;font-weight:600;list-style:none;cursor:pointer;text-align:left}
.mobile-branch>summary::-webkit-details-marker{display:none}
.mobile-branch>summary>span,.mobile-menu-link>span{flex:1;min-width:0;overflow-wrap:anywhere}
.mobile-branch>summary>svg,.mobile-menu-link>svg{width:19px;height:19px;flex-shrink:0}
.mobile-branch>summary>img,.mobile-menu-link>img{width:28px;height:28px;object-fit:contain;flex-shrink:0}
.mobile-branch>summary:hover,.mobile-menu-link:hover{background:#f7f6ee;text-decoration:none}
.mobile-level{padding:8px 0 0 16px;background:white}
.mobile-level h2{font-size:22px;line-height:1.2;letter-spacing:-.025em;margin:8px 20px 14px;overflow-wrap:anywhere}
.mobile-view-all{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:48px;margin:14px 20px;padding:12px 14px;border-radius:6px;background:#edf6f2;color:#006b5e;font-size:14px;font-weight:700;line-height:1.4}
.mobile-view-all>svg{width:19px;height:19px}
.mobile-back{display:flex;align-items:center;min-height:44px;padding:10px 20px;border:0;background:none;color:#006b5e;font-size:14px;text-align:left}
.mobile-services{margin:20px 0 0;border-top:6px solid #f7f6ee;padding:20px 0 4px}
.mobile-services>h2{font-size:14px;letter-spacing:0;color:#566b61;margin:0 20px 6px}
.mobile-services .mobile-menu-link{font-size:15px;font-weight:500;min-height:48px}
.mobile-help{padding:16px 20px 24px;border-top:1px solid #dce2db;margin-top:12px}
.mobile-help>a{display:flex;align-items:center;gap:12px;min-height:48px;font-size:14px}
.mobile-help svg{width:21px;height:21px}
/* Native modal supplies inert background, focus containment, Escape and accessible dialog semantics. */
.mobile-drawer{position:fixed;inset:0 auto 0 0;margin:0;width:min(440px,100vw);max-width:100vw;height:100vh;height:100dvh;max-height:100vh;max-height:100dvh;padding:0;border:0;border-radius:0;background:white;color:#163a39;box-shadow:8px 0 40px #102c2a30;overflow:hidden;overscroll-behavior:contain}
.mobile-drawer::backdrop{background:#102c2a80}
.mobile-drawer .mobile-panel{display:flex;flex-direction:column;height:100%;min-height:0}
.mobile-drawer .mobile-panel-header{flex-shrink:0;padding-top:max(10px,env(safe-area-inset-top))}
.mobile-drawer .mobile-views{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding-bottom:env(safe-area-inset-bottom)}
.mobile-drawer .mobile-level{padding:6px 0 0}
.mobile-drawer .mobile-level h2{margin-top:5px}
html.mobile-menu-open,html.mobile-menu-open body{overflow:hidden;overscroll-behavior:none}
@media(min-width:1151px){.mobile-menu>.mobile-panel{display:none}}

/* One animal portrait, readable groups and all descendant links. */
.mobile-branch>summary>.menu-animal-photo,.mobile-menu-link>.menu-animal-photo{width:42px;height:42px;object-fit:cover;border-radius:50%}
.menu-rayon-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;flex-shrink:0;border-radius:7px;background:#e5f5f4;color:#006b60}
.menu-rayon-icon svg{width:23px;height:23px}
.mobile-branch>summary>.menu-rayon-icon,.mobile-menu-link>.menu-rayon-icon{flex:0 0 32px;min-width:32px;max-width:32px}
.mobile-branch>summary:has(.menu-animal-photo),.mobile-menu-link:has(.menu-animal-photo){min-height:68px;padding-block:10px}
.nav-bar{position:relative;z-index:6}
.desktop-categories{align-items:stretch}
.desktop-menu-link{gap:8px}
.desktop-menu-link>img,.nav-group>summary>img{width:25px;height:25px;object-fit:contain;flex-shrink:0}
.nav-group>summary{gap:7px;padding-inline:5px;border-bottom:3px solid transparent;border-top:3px solid transparent;cursor:pointer}
.nav-group>summary>.nav-label{display:inline;font-size:14px;min-height:0;min-width:0}
.nav-group>summary>.nav-chevron{width:13px;height:13px;flex-shrink:0}
.nav-group[open]>summary{border-bottom-color:#006b60;background:#fff5}
.nav-group[open]>summary>.nav-chevron{transform:rotate(180deg)}
.mega{display:grid;grid-template-columns:190px minmax(0,1fr);gap:0;top:100%;left:50%;right:auto;transform:translateX(-50%);width:min(1440px,calc(100vw - 64px));max-height:min(720px,calc(100dvh - 190px));padding:0;border:1px solid #dce7e3;border-top:0;background:#fff;border-radius:0 0 14px 14px;box-shadow:0 16px 28px #14393622;overflow-y:auto;overscroll-behavior:contain;color:#163a39;z-index:8}
.mega[data-mega-columns="1"]{width:min(680px,calc(100vw - 64px))}
.mega[data-mega-columns="2"]{width:min(1000px,calc(100vw - 64px))}
.mega-overview{padding:30px 22px;background:#e5f5f4;display:flex;flex-direction:column;align-items:flex-start;gap:20px}
.mega-overview>.menu-animal-photo{width:136px;height:136px;object-fit:cover;border-radius:50%;align-self:center}
.mega-overview h2{font-size:25px;line-height:1.15;letter-spacing:-.025em;margin:0;overflow-wrap:anywhere}
.mega-all{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:700;min-height:44px;text-underline-offset:4px}
.mega-all svg{width:20px;height:20px}
.mega-content{padding:16px 26px 28px;min-width:0}
.mega-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:44px;margin-bottom:12px;color:#566b61;font-size:13px;font-weight:400}
.mega-toolbar button{width:44px;height:44px;border:0;border-radius:6px;background:transparent;color:#163a39;flex-shrink:0}
.mega-toolbar button:hover{background:#edf6f2}
.mega-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
.mega[data-mega-columns="1"] .mega-columns{grid-template-columns:1fr}
.mega[data-mega-columns="2"] .mega-columns{grid-template-columns:repeat(2,minmax(0,1fr))}
.mega-column{min-width:0}
.mega-group+.mega-group{margin-top:22px;padding-top:18px;border-top:1px solid #e3ebe8}
.mega-group h3{font-size:15px;letter-spacing:0;margin:0 0 6px;line-height:1.3}
.mega-group h3>a{display:flex;gap:10px;align-items:center;min-height:40px;overflow-wrap:anywhere}
.mega-group ul{list-style:none;margin:0;padding:0 0 0 42px}
.mega-group li>a{display:block;padding:6px 0;min-height:33px;font-size:14px;line-height:1.45;font-weight:400;overflow-wrap:anywhere}
.mega-group ul ul{padding-left:12px;margin:0 0 5px 2px;border-left:2px solid #dce7e3}
.mega-group ul ul a{font-size:13px;min-height:31px;color:#45625a}
.mega a:hover{color:#006b60;text-decoration:underline}
.mega[data-mega-compact]{width:min(720px,calc(100vw - 64px));grid-template-columns:160px minmax(0,1fr)}
.mega[data-mega-compact] .mega-overview{padding:22px 18px;gap:14px}
.mega[data-mega-compact] .mega-overview>.menu-animal-photo{width:88px;height:88px}
.mega[data-mega-compact] .mega-overview h2{font-size:22px}
.mega[data-mega-compact] .mega-columns{grid-template-columns:1fr;gap:10px}
@media(max-width:1300px) and (min-width:1151px){
 .mega{grid-template-columns:165px minmax(0,1fr)}
 .mega-overview{padding:24px 18px}.mega-overview>.menu-animal-photo{width:120px;height:120px}
 .mega-content{padding-inline:20px}.mega-columns{gap:20px}.mega-group ul{padding-left:0}
}
@media(max-width:1150px){.mega{display:none}}

.menu-rayon-icon img{display:block;width:100%;height:100%;object-fit:contain;border-radius:6px;background:#fff}.menu-animal-photo{object-fit:contain}
