/* Shared A–Z navigator: desktop sticky strip + mobile right-edge drag rail.
   Pages mount via assets/ae-az-rail.js. Tokens come from the host page. */
.az-scope{position:relative}
.az-sentinel{height:1px;margin:0;padding:0;overflow:hidden;pointer-events:none}
.az-bar{position:sticky;top:72px;z-index:90;display:flex;align-items:baseline;gap:14px;
        padding:10px 0;margin:0 0 6px;background:transparent;border-bottom:0.5px solid transparent}
.az-bar.is-stuck{background:var(--white);border-bottom:0.5px solid var(--border)}
.az-bar .section-eyebrow{margin-bottom:0;flex:0 0 auto;white-space:nowrap}
.az-strip{display:flex;align-items:center;flex:1 1 auto;min-width:0;gap:0;
          height:auto;padding:0;margin:0;border:none;background:none;
          position:static;z-index:auto;backdrop-filter:none;justify-content:flex-start;
          flex-wrap:nowrap;box-shadow:none}
.az-letter{font-family:'DM Sans',sans-serif;font-size:11px;font-weight:600;letter-spacing:.12em;
           text-transform:uppercase;color:var(--secondary);background:none;border:none;padding:4px 5px;
           line-height:1;cursor:pointer;flex-shrink:0;user-select:none}
.az-bubble{display:none;position:fixed;z-index:85;width:40px;height:40px;border-radius:20px;
           background:var(--ink);color:var(--white);font-family:'DM Sans',sans-serif;
           font-size:16px;font-weight:600;line-height:40px;text-align:center;text-transform:uppercase;
           letter-spacing:0;pointer-events:none}
.az-bubble.is-on{display:block}
@media(max-width:640px){
  .az-bar{position:static;display:block;padding:0 0 8px;margin:0 0 6px;
          background:transparent;border-bottom:none;z-index:auto}
  .az-bar.is-stuck{background:transparent;border-bottom:none}
  .az-strip{position:fixed;right:0;top:50%;transform:translateY(-50%);
            flex-direction:column;align-items:center;justify-content:center;
            width:28px;height:min(68vh, calc(100vh - 120px));max-height:calc(100vh - 96px);
            overflow:visible;z-index:80;opacity:0;pointer-events:none;
            transition:opacity .2s ease;touch-action:none;-webkit-user-select:none;user-select:none}
  .az-strip.is-rail-on{opacity:1;pointer-events:auto}
  .az-letter{flex:1 1 0;min-width:0;min-height:0;width:100%;padding:0;
             display:flex;align-items:center;justify-content:center;
             font-size:10px;letter-spacing:0;line-height:1}
}
/* Hub (and any rail-only consumer): no desktop letter strip. */
@media(min-width:641px){
  .az-strip--mobile-only{display:none}
}
