/* Desktop navigation: a quiet icon rail, expandable labels and real submenus.
   It overlays while expanded so opening it never moves a reading position. */
.site-rail{
  display:none;--header:75px;--teal-deep:#084a45;--paper:#fffdf8;--ink:#14312e;
  --teal-light:#d9ece5;--line:rgba(20,49,46,.12);--display:'Nunito',ui-sans-serif,system-ui,sans-serif;
  --ease:cubic-bezier(.2,.85,.25,1);font-family:'DM Sans',ui-sans-serif,system-ui,sans-serif;
}
.site-rail[hidden]{display:none!important}
.site-rail .icon{display:block;width:20px;height:20px;stroke:currentColor;stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round;flex:none}
.site-rail button{font-family:inherit;cursor:pointer;border:0}
.site-rail a{text-decoration:none}
.cats-desktop-menu-toggle{display:none}
@media(min-width:861px){
  body.cats-editorial.has-cats-navigation>.topbar .topnav,
  body.cats-editorial.has-cats-navigation>.topbar .flx-burger{display:none}
  body.cats-editorial.has-cats-navigation>.topbar .topbar-inner{display:flex}
  body.cats-editorial.has-cats-navigation>.topbar .brand{margin-right:auto}
  body.cats-editorial.has-cats-navigation>.topbar .cats-desktop-menu-toggle{
    display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:44px;min-height:44px;
    padding:11px 16px;border:0;border-radius:99px;background:#08766c;color:#fffdf8;
    font:700 12px 'DM Sans',ui-sans-serif,system-ui,sans-serif;cursor:pointer;
  }
  .cats-desktop-menu-toggle .icon{display:block;width:18px;height:18px;stroke:currentColor;stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round}
  body.cats-editorial.has-cats-navigation>main{margin-left:88px}
  body.cats-editorial.has-cats-navigation>main .site-footer{width:100%;margin-left:0}
  .site-rail{
    position:fixed;z-index:49;left:18px;top:calc(var(--header) + 12px);bottom:18px;
    width:68px;display:flex;flex-direction:column;gap:12px;padding:12px 9px 9px;
    border:1px solid rgba(255,255,255,.16);border-radius:22px;
    background:var(--teal-deep);color:var(--paper);box-shadow:0 14px 45px #073e3829;
    transition:width 220ms var(--ease);isolation:isolate;
  }
  .site-rail.nav-expanded{width:264px}
  .site-rail .nav-label{display:none;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .site-rail.nav-expanded .nav-label{display:block}
  .nav-top{display:flex;align-items:center;gap:12px;padding:6px 12px 14px;min-height:47px;border-bottom:1px solid #ffffff20;flex:none}
  .nav-top>.icon{width:23px;height:23px;color:#ffb65f}
  .nav-top>strong{font-family:var(--display);font-size:17px;letter-spacing:-.4px}
  .nav-worlds{flex:1;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#ffffff35 transparent;scroll-padding-block:6px;padding-block:2px}
  .nav-worlds::-webkit-scrollbar{width:3px}.nav-worlds::-webkit-scrollbar-thumb{background:#ffffff35;border-radius:4px}
  .nav-world+.nav-world{margin-top:4px}
  .nav-world-trigger,.nav-utility{
    position:relative;display:flex;align-items:center;gap:12px;width:100%;min-height:44px;
    padding:11px 12px;border-radius:12px;background:transparent;color:#ecf6f0;
    text-align:left;font-size:12px;font-weight:700;transition:background .15s,color .15s;
  }
  .nav-world-trigger>.icon,.nav-utility>.icon{width:20px;height:20px}
  .nav-world-trigger:hover,.nav-utility:hover{background:#ffffff13}
  .nav-world-trigger[aria-expanded=true]{background:#ffffff15}
  .nav-world-trigger[aria-current=true]{background:#ffdbac;color:#243c33}
  .nav-world-trigger .nav-chevron{display:none;width:14px;height:14px;margin-left:auto;transition:transform .2s}
  .nav-expanded .nav-world-trigger .nav-chevron{display:block}
  .nav-world-trigger[aria-expanded=true] .nav-chevron{transform:rotate(90deg)}
  .nav-world-panel[hidden],.nav-flyout[hidden]{display:none!important}
  .nav-world-panel{padding:7px 0 7px 23px}
  .nav-world-panel .nav-world-links{padding-left:13px;border-left:1px solid #ffffff35}
  .nav-destination{display:block;width:100%;min-height:40px;padding:9px 10px;background:transparent;color:#d6e8e1;text-align:left;font-size:11px;line-height:1.45;border-radius:8px;overflow-wrap:anywhere}
  .nav-destination:hover{background:#ffffff13;color:#fff}
  .nav-destination[aria-current=page]{background:#ffffff19;color:#fff;font-weight:800}
  .nav-foot{flex:none;border-top:1px solid #ffffff20;padding-top:8px}
  .nav-foot .nav-utility+.nav-utility{margin-top:4px}
  .nav-toggle{color:#c1d8ce}
  .nav-expanded .nav-toggle>.icon{transform:rotate(180deg)}
  .nav-flyout{
    position:absolute;left:calc(100% + 10px);width:280px;display:flex;flex-direction:column;
    padding:10px;border-radius:18px;background:var(--paper);color:var(--ink);
    border:1px solid var(--line);box-shadow:0 18px 60px #073e3838;
  }
  .nav-flyout-head{display:flex;align-items:center;gap:10px;padding:0 2px 8px 8px;border-bottom:1px solid var(--line);flex:none}
  .nav-flyout-head>strong{flex:1;min-width:0;font-family:var(--display);font-size:16px;line-height:1.25}
  .nav-flyout-close{display:grid;place-items:center;width:44px;height:44px;flex:none;border-radius:11px;background:var(--teal-light);color:var(--teal-deep)}
  .nav-flyout-close:hover{background:#c7e2d7}
  .nav-flyout-body{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding-top:7px;scrollbar-width:thin}
  .nav-flyout .nav-destination{color:var(--ink);min-height:44px;font-size:12px;padding:11px 12px}
  .nav-flyout .nav-destination:hover{background:#edf3eb}
  .nav-flyout .nav-destination[aria-current=page]{background:var(--teal-light);color:var(--teal-deep)}
  .site-rail :is(button,a):focus-visible{outline:2px solid #ffb65f;outline-offset:-3px}
}
@media(prefers-reduced-motion:reduce){.site-rail,.nav-world-trigger,.nav-utility,.nav-world-trigger .nav-chevron{transition:none}}
@media(min-width:861px){
  .site-rail .nav-save{background:#ffcf90;color:#163b36;border:1px solid #ffe3ba;box-shadow:0 3px 12px #001d1b25}
  .site-rail .nav-save:hover{background:#ffb956;color:#163b36}
  .site-rail .nav-save[aria-pressed=true]{background:#f8e7c9;color:#6c4612}
  body:has(.cat-preview-notice) .site-rail .nav-save{display:none}
}
