/* Cold Ischemia Foundation — shared main navigation.
   Markup is generated into every page by _tools/build-nav.py (single source of truth for the link groups).
   Desktop: four dropdown groups + Toolkit/Donate. Mobile (<=900px): logo, Donate, and a menu button with accordion groups. */
nav.cifnav{position:var(--cn-pos,sticky)!important;top:0!important;left:0!important;right:0!important;z-index:1000!important;background:rgba(3,5,9,.97)!important;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid rgba(100,140,200,.14)!important;padding:0 20px!important;min-height:56px!important;height:56px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:14px!important;box-sizing:border-box!important;margin:0!important;width:auto!important;overflow:visible!important}
nav.cifnav *{box-sizing:border-box}
nav.cifnav a,nav.cifnav button{font-family:'IBM Plex Mono',ui-monospace,Menlo,Consolas,monospace}
nav.cifnav .cn-l{display:flex;align-items:center;gap:10px;text-decoration:none;flex-shrink:0}
nav.cifnav .cn-l img{height:32px;width:32px;object-fit:contain;display:block}
nav.cifnav .cn-b{font-size:11px;letter-spacing:3px;text-transform:uppercase;color:#c8902a;white-space:nowrap}
nav.cifnav .cn-menu{display:flex;flex:1;align-items:center;justify-content:space-between;gap:14px;min-width:0}
nav.cifnav .cn-m{display:flex;align-items:center;justify-content:center;gap:2px;flex:1}
nav.cifnav .cn-g{position:relative}
nav.cifnav .cn-gb{display:flex;align-items:center;gap:8px;height:56px;padding:0 13px;font-size:11px;letter-spacing:2px;text-transform:uppercase;color:rgba(216,207,196,.66);background:none;border:0;cursor:pointer;transition:color .15s}
nav.cifnav .cn-gb::after{content:'';width:5px;height:5px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .2s;opacity:.7}
nav.cifnav .cn-g.open .cn-gb::after{transform:rotate(-135deg) translateY(-1px)}
nav.cifnav .cn-gb:hover,nav.cifnav .cn-g.open .cn-gb{color:#d8cfc4}
nav.cifnav .cn-gb.on{color:#d8cfc4;box-shadow:inset 0 -2px 0 #c8902a}
nav.cifnav .cn-dd{display:none;position:absolute;top:100%;left:0;min-width:236px;padding:8px;background:rgba(5,9,16,.99);border:1px solid rgba(100,140,200,.2);border-top:2px solid #c8902a;border-radius:0 0 4px 4px;box-shadow:0 18px 40px rgba(0,0,0,.6)}
nav.cifnav .cn-g.open .cn-dd{display:block}
nav.cifnav:not(.cn-js) .cn-g:hover .cn-dd,nav.cifnav:not(.cn-js) .cn-g:focus-within .cn-dd{display:block}
nav.cifnav .cn-dd a{display:block;padding:10px 12px;font-size:11px;letter-spacing:1.3px;text-transform:uppercase;color:rgba(216,207,196,.74);text-decoration:none;border-radius:2px;white-space:nowrap}
nav.cifnav .cn-dd a:hover,nav.cifnav .cn-dd a:focus-visible{background:rgba(200,144,42,.13);color:#e8b84a;outline:none}
nav.cifnav .cn-dd a.on{color:#c8902a}
nav.cifnav .cn-r{display:flex;gap:8px;flex-shrink:0}
nav.cifnav .cn-r a{font-size:10px;letter-spacing:2px;text-transform:uppercase;text-decoration:none;padding:8px 14px;border-radius:2px;white-space:nowrap}
nav.cifnav .cn-t{color:rgba(216,207,196,.68);border:1px solid rgba(100,140,200,.26)}
nav.cifnav .cn-t:hover{color:#c8902a;border-color:rgba(200,144,42,.55)}
nav.cifnav .cn-s{color:#e8b84a;border-color:rgba(232,184,74,.6);background:rgba(200,144,42,.1)}
nav.cifnav .cn-s:hover{background:rgba(200,144,42,.22);color:#f3d27a}
nav.cifnav .cn-d,nav.cifnav .cn-dm{background:#c8902a;color:#030509;font-weight:500}
nav.cifnav .cn-d:hover,nav.cifnav .cn-dm:hover{background:#e8b84a}
nav.cifnav .cn-burger,nav.cifnav .cn-dm{display:none}
nav.cifnav a:focus-visible,nav.cifnav button:focus-visible{outline:2px solid #c8902a;outline-offset:-2px}
@media(max-width:900px){
  nav.cifnav{padding:0 14px!important}
  nav.cifnav .cn-b{display:none}
  nav.cifnav .cn-dm{display:inline-block;margin-left:auto;font-size:10px;letter-spacing:2px;text-transform:uppercase;text-decoration:none;padding:9px 15px;border-radius:2px}
  nav.cifnav .cn-burger{margin-left:auto;display:flex;flex-direction:column;justify-content:center;gap:5px;width:42px;height:40px;padding:0 10px;background:none;border:1px solid rgba(100,140,200,.28);border-radius:3px;cursor:pointer}
  nav.cifnav .cn-burger span{display:block;height:2px;background:#d8cfc4;transition:transform .2s,opacity .2s}
  nav.cifnav.open .cn-burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  nav.cifnav.open .cn-burger span:nth-child(2){opacity:0}
  nav.cifnav.open .cn-burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  nav.cifnav .cn-menu{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:0;padding:6px 14px 20px;background:rgba(3,5,9,.995);border-bottom:1px solid rgba(100,140,200,.2);max-height:calc(100vh - 56px);max-height:calc(100dvh - 56px);overflow-y:auto}
  nav.cifnav.open .cn-menu{display:flex}
  nav.cifnav .cn-m{flex-direction:column;align-items:stretch;justify-content:flex-start;gap:0}
  nav.cifnav .cn-gb{width:100%;height:auto;justify-content:space-between;padding:16px 4px;font-size:12px;border-bottom:1px solid rgba(100,140,200,.12)}
  nav.cifnav .cn-gb.on{box-shadow:none;color:#c8902a}
  nav.cifnav .cn-dd{position:static;min-width:0;padding:4px 0 8px 12px;margin:6px 0 4px 4px;background:transparent;border:0;border-left:2px solid #c8902a;border-radius:0;box-shadow:none}
  nav.cifnav .cn-dd a{padding:13px 8px;font-size:12px;white-space:normal}
  nav.cifnav .cn-r{margin-top:18px;gap:10px}
  nav.cifnav .cn-r a{flex:1;text-align:center;padding:13px 10px}
  nav.cifnav .cn-r .cn-d{display:none}
}
