/* React Bits CardNav, adapted to the site's mobile header. */
.desktop-nav-links { display:contents; }
.mobile-nav-cards { display:none; }
@media(max-width:1100px) {
 .desktop-nav-links { display:none; }
 .mobile-nav-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; padding:5px 0 0; }
 .header-shell { gap:0; padding:8px; }
 .header-shell .brand { padding:8px; }
 .header-shell .nav-toggle { width:48px; height:48px; }
 .js.nav-ready .site-nav, .js.nav-ready .site-nav.is-open {
   position:relative; grid-column:1/-1; top:auto; right:auto; left:auto;
   display:block; padding:0; border:0; border-radius:0; box-shadow:none;
   background:transparent; opacity:1; transform:none; transition:none;
   height:0; overflow:hidden; visibility:hidden; overscroll-behavior:contain;
 }
 .js.nav-ready .site-nav.is-open { visibility:visible; }
 .mobile-nav-card { display:flex; flex-direction:column; min-width:0; background:#e5ebe4; color:#18382e; border:1px solid #18382e0c; border-radius:12px; padding:12px 9px 9px; }
 .mobile-nav-card:nth-child(2) { background:#eeeee7; color:#18382e; }
 .mobile-nav-card:nth-child(3) { background:#f4e7dd; color:#18382e; }
 .mobile-nav-card p { margin:0 0 8px; padding-bottom:12px; border-bottom:1px solid #18382e16; color:#5a6c62; text-transform:uppercase; letter-spacing:.07em; font:600 clamp(.6rem,2.5vw,.8rem)/1.3 var(--font-sans); }
 .mobile-nav-card p span { display:none; }
 .site-nav .mobile-nav-card a { display:flex; align-items:center; min-height:40px; padding:6px 2px; border:0; font-size:clamp(.75rem,3.25vw,.95rem); font-weight:500; line-height:1.3; color:inherit; text-decoration:none; overflow-wrap:break-word; border-radius:5px; }
 .site-nav .mobile-nav-card a { position:relative; gap:5px; transition:color .2s ease; }
 .site-nav .mobile-nav-card a::before { content:'↗'; display:inline-block; flex-shrink:0; opacity:.55; font-size:.9em; transition:transform .25s ease, opacity .25s ease; }
 .site-nav .mobile-nav-card a::after { content:''; display:block; position:absolute; left:2px; bottom:3px; width:24px; height:2px; background:currentColor; border-radius:2px; transform:scaleX(0); transform-origin:left; opacity:.75; transition:transform .3s ease; }
 .site-nav .mobile-nav-card a[aria-current] { font-weight:650; color:#164b36; background:transparent; }
 .site-nav .mobile-nav-card a[aria-current]::before { opacity:1; }
 .site-nav .mobile-nav-card a[aria-current]::after { transform:scaleX(var(--nav-mark,1)); }
 .site-nav .mobile-nav-card a:active::before, .site-nav .mobile-nav-card a:focus-visible::before { transform:translate(1px,-1px); opacity:1; }
 .site-nav .mobile-nav-card:last-child a:first-of-type { color:#a34222; font-weight:700; }
 .site-nav .mobile-nav-card a:active { background:#ffffffa0; }
 .nav-open .header-shell { background:#fafaf6; box-shadow:0 16px 36px #10291f22; }
 .mobile-nav-card a:focus-visible { outline:2px solid currentColor; outline-offset:2px; border-radius:3px; }
}
@media(prefers-reduced-motion:reduce) { .nav-toggle > span, .mobile-nav-card a, .mobile-nav-card a::before, .mobile-nav-card a::after { transition:none!important; } }
