.brand-launcher{position:fixed;right:24px;bottom:max(24px,env(safe-area-inset-bottom));z-index:120;display:inline-flex;align-items:center;gap:18px;min-height:48px;padding:14px 20px;border:1px solid #fff6;background:#293eea;color:#fff;box-shadow:0 5px 24px #14215b24;font:500 12px/1.4 'DM Sans',Arial,sans-serif;letter-spacing:.1px;cursor:pointer;border-radius:0;text-decoration:none}
.brand-launcher:hover{background:#14215b}.brand-launcher:focus-visible,#brand-directory a:focus-visible,#brand-directory button:focus-visible{outline:3px solid #e6a25c;outline-offset:4px}
#brand-directory{position:fixed;inset:auto 24px 88px auto;margin:0;padding:0;width:440px;max-width:calc(100vw - 48px);max-height:calc(100svh - 120px);overflow:auto;border:1px solid #293eea40;background:#fff;color:#14215b;box-shadow:0 20px 90px #14215b30;font:14px/1.6 'DM Sans',Arial,sans-serif;overscroll-behavior:contain}
#brand-directory::backdrop{background:#14215b45;backdrop-filter:blur(5px)}
#brand-directory .brand-panel-header{padding:27px 28px 23px;border-bottom:1px solid #293eea26;position:relative}
#brand-directory .brand-panel-kicker{font:8px/1.5 monospace;letter-spacing:1.5px;color:#293eea}
#brand-directory h2{font:500 29px/1.15 'Manrope',Arial,sans-serif;letter-spacing:-1px;margin:12px 36px 10px 0;color:#293eea}
#brand-directory .brand-panel-header p{font-size:12px;line-height:1.65;color:#657198;margin:0;max-width:325px}
#brand-directory .brand-panel-close{position:absolute;top:22px;right:18px;width:40px;height:40px;padding:0;border:1px solid #293eea26;background:#fff;color:#293eea;display:grid;place-items:center;cursor:pointer;font-size:16px}
#brand-directory .brand-destination{display:grid;grid-template-columns:26px minmax(0,1fr) 16px;gap:13px;align-items:start;text-decoration:none;padding:24px 28px;border-bottom:1px solid #293eea26;color:#14215b;background:#fff}
#brand-directory .brand-destination:hover{background:#f2f4ff}.brand-destination .brand-panel-number{font:10px/1.5 monospace;color:#293eea;padding-top:4px}
#brand-directory .brand-destination strong{font:600 18px/1.35 'Manrope',Arial,sans-serif;letter-spacing:-.5px;color:#293eea;display:block;margin-bottom:6px}
#brand-directory .brand-destination small{display:block;color:#657198;font-size:12px;line-height:1.65}
#brand-directory .brand-destination .brand-panel-domain{display:block;color:#293eea;font:10px/1.5 monospace;margin-top:9px}
#brand-directory .brand-destination>i{font-size:12px;margin-top:6px;color:#293eea}
#brand-directory .brand-panel-footer{padding:16px 28px;font:9px/1.6 monospace;letter-spacing:.4px;color:#657198;background:#f2f4ff}
body.brand-directory-open{overflow:hidden}
@media(max-width:700px){.brand-launcher{right:16px;bottom:max(16px,env(safe-area-inset-bottom));padding:12px 17px;min-height:46px;font-size:11px;gap:14px}#brand-directory{inset:auto 16px calc(78px + env(safe-area-inset-bottom)) 16px;width:auto;max-width:none;max-height:calc(100svh - 100px - env(safe-area-inset-bottom))}#brand-directory .brand-panel-header{padding:23px 22px 20px}#brand-directory h2{font-size:27px}#brand-directory .brand-destination{padding:19px 22px;gap:10px;grid-template-columns:22px minmax(0,1fr) 14px}#brand-directory .brand-destination strong{font-size:17px}#brand-directory .brand-panel-footer{padding:14px 22px}.intro-note{bottom:100px}}
/* Keep chapter cues clear of the persistent brand directory. */
.chapter-bottom{padding-right:250px}
.brand-launcher{overflow:hidden;isolation:isolate;transition:background-color .2s ease}
.brand-launcher::after{content:'';position:absolute;pointer-events:none;top:-50%;left:-70%;width:38%;height:200%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(24deg);opacity:0}
@keyframes brand-button-shine{0%{left:-70%;opacity:0}12%{opacity:1}85%{opacity:1}100%{left:140%;opacity:0}}
@media(hover:hover) and (prefers-reduced-motion:no-preference){body:not(.motion-off) .brand-launcher:hover::after{animation:brand-button-shine .75s cubic-bezier(.2,.6,.3,1)}}
@media(max-width:700px){.chapter-bottom{padding-right:0;margin-bottom:70px}}
