/* Only the navigation is affected by this stylesheet. */
a.book-nav-link { display:inline-flex; align-items:center; gap:7px; white-space:nowrap; }
.book-nav-icon { flex:none; width:16px; height:16px; color:#A47D36; }
@media (max-width:1320px) { .nav__status { display:none!important; } }
@media (min-width:961px) and (max-width:1100px) { .nav__links, .nav .btn--sm { display:none!important; } .nav__burger { display:flex!important; } }
@media (max-width:1320px) { .ac-nav__status { display:none!important; } }
@media (min-width:961px) and (max-width:1100px) { .ac-nav__links, .ac-nav .ac-btn--sm { display:none!important; } .ac-nav__burger { display:flex!important; } }
@media (max-width:1320px) { .ao-nav__status { display:none!important; } }
@media (min-width:961px) and (max-width:1100px) { .ao-nav__links, .ao-nav .ao-btn--sm { display:none!important; } .ao-nav__burger { display:flex!important; } }
@media (max-width:1320px) { .ct-nav__status { display:none!important; } }
@media (min-width:961px) and (max-width:1100px) { .ct-nav__links, .ct-nav .ct-btn--sm { display:none!important; } .ct-nav__burger { display:flex!important; } }

/* Home's mobile menu, shared by React pages and standalone documents. */
@media (max-width:1100px) {
  .ab-mobile-menu {
    position:fixed!important; inset:0!important; height:100dvh!important;
    box-sizing:border-box!important; background:#0D0E0F!important;
    padding:120px var(--gutter,24px) max(40px,env(safe-area-inset-bottom))!important;
    overflow-x:hidden!important; overflow-y:auto!important; overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch; touch-action:pan-y;
    display:flex!important; flex-direction:column!important; justify-content:space-between!important;
    gap:48px!important; color:#F5F4F0!important;
  }
  .ab-mobile-menu > nav { display:grid!important; gap:6px!important; flex-shrink:0!important; min-width:0; }
  .ab-mobile-menu > nav > a, .ab-mobile-menu .ab-mobile-services > summary {
    display:flex!important; align-items:baseline!important; gap:16px!important;
    font-family:Geist,sans-serif!important; font-size:clamp(30px,7vw,54px)!important;
    font-weight:500!important; line-height:1.1!important; letter-spacing:-.04em!important;
    padding:0!important; min-width:0; white-space:normal!important; color:#F5F4F0;
  }
  .ab-mobile-menu > nav > a > span:last-child { min-width:0; overflow-wrap:normal; }
  .ab-mobile-menu > nav > a > span:first-child, .ab-mobile-menu summary > span:first-child {
    flex:none; width:32px; color:#B2D5E5!important; font-family:'Geist Mono',monospace!important;
    font-size:11px!important; line-height:1.5!important; letter-spacing:.04em!important;
  }
  .ab-mobile-menu .ab-mobile-services { min-width:0; }
  .ab-mobile-menu .ab-mobile-services > summary { list-style:none; cursor:pointer; }
  .ab-mobile-menu .ab-mobile-services > summary::-webkit-details-marker { display:none; }
  .ab-mobile-menu .ab-mobile-services > summary::after {
    content:""; width:12px; height:12px; border-right:2px solid currentColor; border-bottom:2px solid currentColor;
    transform:rotate(45deg); align-self:center; margin-left:auto; margin-right:8px; transition:transform .25s ease; flex-shrink:0;
  }
  .ab-mobile-menu .ab-mobile-services[open] > summary::after { transform:rotate(225deg); }
  .ab-mobile-menu .ab-mobile-services__items { display:grid; gap:4px; padding:12px 0 18px 48px; }
  .ab-mobile-menu .ab-mobile-services:not([open]) .ab-mobile-services__items { display:none!important; }
  .ab-mobile-menu .ab-mobile-services__items a {
    display:block!important; font-family:Geist,sans-serif!important; font-size:18px!important;
    line-height:1.45!important; letter-spacing:-.02em!important; font-weight:400!important;
    color:#959795!important; padding:9px 0!important; min-height:44px; box-sizing:border-box;
  }
  .ab-mobile-menu .ab-mobile-services[open] .ab-mobile-services__items { animation:abServicesReveal .25s ease; }
  .ab-mobile-menu > nav [aria-current="page"], .ab-mobile-menu summary.is-current,
  .ab-mobile-menu .ab-mobile-services__items a:hover, .ab-mobile-menu .ab-mobile-services__items a:focus-visible { color:#B2D5E5!important; }
  .ab-mobile-menu summary:focus-visible { outline:2px solid #B2D5E5; outline-offset:5px; border-radius:4px; }
  .ab-mobile-menu > [class$="menu__foot"] { flex-shrink:0; margin-top:0!important; display:grid; gap:8px; }
}
@keyframes abServicesReveal { from { opacity:0; transform:translateY(-6px); } to { opacity:1; transform:translateY(0); } }
@media (prefers-reduced-motion:reduce) { .ab-mobile-menu, .ab-mobile-menu *, .ab-mobile-menu *::after { animation:none!important; transition:none!important; } }
