/* ============================================================
   Bone Wizardry header. One structure, three variants.
     data-variant="home"     hd-deck1 only. Default across / and every hub.
     data-variant="content"  hd-deck1 + hd-deck2. Deep dives.
     data-variant="app"      hd-deck1 + .commandbar. Cluecards, QBank.
   Flat surfaces. No gradients, no colour glows, no glass.
   Accent carries state only.
   ============================================================ */

#hd-header,[id^="hd-header-"]{
  --h-ink:oklch(97% .006 300); --h-soft:oklch(80% .016 300);
  --h-mute:oklch(63% .020 300); --h-faint:oklch(52% .018 300);
  --h-bg:oklch(14.5% .016 300); --h-panel:oklch(17% .017 300);
  --h-raise:oklch(22% .020 300); --h-line:oklch(100% 0 0 / .085);
  --h-hair:oklch(100% 0 0 / .05); --h-accent:oklch(80% .155 300);
  --h-wash:oklch(80% .155 300 / .12); --h-gold:oklch(84% .085 85);
  --h-e:cubic-bezier(.2,.8,.3,1); --h-bar:3.5rem;
  --h-pop:0 1px 0 0 var(--h-line) inset, 0 26px 64px -30px rgb(0 0 0 / .9), 0 10px 24px -14px rgb(0 0 0 / .55);
  position:relative;z-index:30;width:100%;background:var(--h-bg);color:var(--h-ink);
  font-family:'Space Grotesk',ui-sans-serif,system-ui,sans-serif;font-size:.9375rem;line-height:1.5}
#hd-header *,[id^="hd-header-"] *{box-sizing:border-box}
#hd-header a,[id^="hd-header-"] a{color:inherit;text-decoration:none}
#hd-header button,[id^="hd-header-"] button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
#hd-header :focus-visible,[id^="hd-header-"] :focus-visible{outline:2px solid var(--h-accent);outline-offset:3px;border-radius:8px}

/* deck 1 */
.hd-deck1{border-bottom:1px solid var(--h-hair);background:var(--h-bg)}
.hd-bar{display:flex;align-items:center;gap:1.5rem;max-width:78rem;margin:0 auto;padding:0 1.5rem;min-height:var(--h-bar)}
.hd-brandwrap{position:relative;display:flex;align-items:center;gap:.125rem;flex:0 0 auto}
.hd-brand{display:inline-flex;align-items:center;gap:.5rem;font-weight:500;letter-spacing:-.015em}
.hd-logo{width:1.5rem;height:1.5rem;display:block;flex:0 0 auto}
.hd-mark{background:currentColor;-webkit-mask:url(/logo/bw-logo-mask.png) center/contain no-repeat;mask:url(/logo/bw-logo-mask.png) center/contain no-repeat}
.hd-brand:hover .hd-mark{background:var(--h-accent)}
.hd-word{white-space:nowrap}
.hd-launch-btn{display:grid;place-items:center;width:1.5rem;height:1.5rem;border-radius:6px;color:var(--h-faint);transition:color .16s var(--h-e)}
.hd-launch-btn svg{width:.6875rem;height:.6875rem;transition:transform .22s var(--h-e)}
.hd-launch-btn:hover{color:var(--h-ink)}
.hd-launch-btn[aria-expanded="true"]{color:var(--h-accent)}
.hd-launch-btn[aria-expanded="true"] svg{transform:rotate(180deg)}
.hd-nav{display:flex;align-items:center;gap:.0625rem;flex:1 1 auto;min-width:0}
.hd-navitem{position:relative;flex:0 0 auto}
.hd-navlink{display:inline-flex;align-items:center;height:1.875rem;padding:0 .5625rem;border-radius:7px;color:var(--h-soft);white-space:nowrap;transition:color .16s var(--h-e),background .16s var(--h-e)}
.hd-navlink:hover{color:var(--h-ink);background:var(--h-panel)}
.hd-navlink.is-current,.hd-navlink[aria-current="page"]{color:var(--h-ink)}
.hd-navlink.is-current::after{content:"";position:absolute;left:.5625rem;right:.5625rem;bottom:-1px;height:1px;background:var(--h-accent)}
.hd-navlink.is-pres{color:var(--h-accent)}
.hd-live-join,.hd-tutoring-session{color:var(--h-gold)}
.hd-live-join-mobile,.hd-tutoring-session-mobile{display:none}
.hd-navlink.is-live,.hd-drow>a.is-live{
  color:#fff;background:linear-gradient(105deg,rgba(192,132,252,.10) 15%,rgba(255,255,255,.28) 42%,rgba(232,196,125,.18) 58%,rgba(192,132,252,.10) 85%);
  background-size:220% 100%;box-shadow:0 0 18px -8px rgba(192,132,252,.9);
  animation:hd-live-shimmer 2.8s linear infinite}
@keyframes hd-live-shimmer{to{background-position:-220% 0}}
.hd-search{display:inline-flex;align-items:center;gap:.5rem;height:1.875rem;padding:0 .625rem;flex:0 0 auto;border:1px solid var(--h-line);border-radius:8px;color:var(--h-mute);transition:border-color .16s var(--h-e),color .16s var(--h-e)}
.hd-search:hover{border-color:var(--h-accent);color:var(--h-ink)}
.hd-search svg{width:.875rem;height:.875rem}
.hd-search .k{font-size:.6875rem;letter-spacing:.06em;color:var(--h-faint)}
.hd-acct{display:inline-flex;align-items:center;gap:.375rem;height:1.875rem;padding:0 .875rem;flex:0 0 auto;border-radius:8px;background:var(--h-accent);color:oklch(14% .02 300);font-weight:500;transition:filter .16s var(--h-e)}
.hd-acct:hover{filter:brightness(1.07)}
.hd-acct-ar{font-size:.8125rem}
.hd-burger{display:none;width:1.875rem;height:1.875rem;place-items:center;border-radius:7px;color:var(--h-soft);flex:0 0 auto}
.hd-burger:hover{background:var(--h-panel);color:var(--h-ink)}

/* menus: elevated, borderless, two-line rows, no internal rules */
.hd-launch-menu,.hd-sub,.hd-back-menu{
  position:absolute;top:calc(100% + .5rem);z-index:40;padding:.5rem;
  background:var(--h-panel);border:0;border-radius:18px;box-shadow:var(--h-pop);
  opacity:0;visibility:hidden;transform:translateY(-.5rem) scale(.985);transform-origin:top left;
  transition:opacity .19s var(--h-e),transform .19s var(--h-e),visibility .19s}

.hd-sub{left:-.75rem;min-width:17rem;max-width:min(90vw,26rem)}
.hd-back-menu{left:0;min-width:19rem;max-width:min(90vw,26rem)}
.hd-launch-btn[aria-expanded="true"]~.hd-launch-menu,
.hd-navitem:hover>.hd-sub,.hd-navitem:focus-within>.hd-sub,
.hd-back-caret[aria-expanded="true"]~.hd-back-menu{opacity:1;visibility:visible;transform:translateY(0) scale(1)}


.hd-fly-head::-webkit-details-marker{display:none}
.hd-fly-head::marker{content:""}


.hd-launch-menu a,.hd-sub a,.hd-back-menu a,.hd-flyout a,.hd-drow>a{
  display:block;padding:.4375rem .75rem;border-radius:11px;color:var(--h-soft);font-size:.9375rem;line-height:1.5;
  transition:color .13s var(--h-e),background .13s var(--h-e)}
.hd-launch-menu a:hover,.hd-sub a:hover,.hd-back-menu a:hover,.hd-flyout a:hover,.hd-drow>a:hover{color:var(--h-ink);background:var(--h-raise)}
.hd-launch-menu a small,.hd-sub a small,.hd-back-menu a small,.hd-drow a small{display:block;font-size:.75rem;color:var(--h-faint);margin-top:.0625rem}
.hd-back-menu a.is-current,.hd-launch-menu a.is-current{color:var(--h-ink);background:var(--h-wash)}
.hd-flyout-all{color:var(--h-accent)!important;margin-top:.25rem}
.hd-sub-foot{font-size:.75rem;color:var(--h-faint);padding:.5rem .75rem 0;margin-top:.25rem}
.hd-sub-mega{min-width:32rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:0 .75rem}
.hd-dgroup{min-width:0}
.hd-dsub{display:block;color:var(--h-faint);font-size:.75rem;padding:0 .75rem .25rem}
.hd-dcaret{display:none}

/* deck 2 */
.hd-deck2{border-bottom:1px solid var(--h-hair);background:var(--h-bg)}
.hd-d2-inner{display:flex;align-items:center;gap:.875rem;min-width:0;max-width:78rem;margin:0 auto;padding:.5625rem 1.5rem}
.hd-backwrap{position:relative;display:flex;align-items:center;flex:0 0 auto}
.hd-back{display:inline-flex;align-items:center;gap:.375rem;height:1.625rem;padding:0 .5rem 0 .375rem;border-radius:7px;color:var(--h-faint);font-size:.8125rem;transition:color .16s var(--h-e)}
.hd-back:hover{color:var(--h-ink)}
.hd-back-caret{display:grid;place-items:center;width:1.25rem;height:1.625rem;border-radius:7px;color:var(--h-faint)}
.hd-back-caret svg{width:.6875rem;height:.6875rem;transition:transform .22s var(--h-e)}
.hd-back-caret:hover{color:var(--h-ink)}
.hd-back-caret[aria-expanded="true"]{color:var(--h-accent)}
.hd-back-caret[aria-expanded="true"] svg{transform:rotate(180deg)}
.hd-topic{min-width:0;flex:1 1 auto;font-family:'Newsreader',Georgia,serif;font-size:1.0625rem;color:var(--h-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hd-topic::before{content:"";display:inline-block;width:1px;height:.8125rem;background:var(--h-line);margin-right:.875rem;vertical-align:-1px}
.hd-progress{height:1px;background:transparent}
.hd-progress-fill{height:1px;background:var(--h-accent);width:0;transition:width .12s linear}

/* commandbar */
.commandbar{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;max-width:78rem;margin:0 auto;padding:1.75rem 1.5rem 1.25rem}
.zone-title{min-width:0}
.zone-title h1{margin:0;font-family:'Newsreader',Georgia,serif;font-weight:500;font-size:clamp(1.5rem,3vw,2rem);letter-spacing:-.02em;line-height:1.1;color:var(--h-ink);text-wrap:balance}
.zone-title p{margin:.375rem 0 0;font-size:.9375rem;line-height:1.6;color:var(--h-mute);max-width:46ch;text-wrap:pretty}
.top-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;flex:0 0 auto}
.top-action{display:inline-flex;align-items:center;height:2.25rem;padding:0 1rem;border-radius:10px;border:1px solid var(--h-line);color:var(--h-soft);font-size:.875rem;font-weight:500;white-space:nowrap;transition:border-color .16s var(--h-e),color .16s var(--h-e)}
.top-action:hover{border-color:var(--h-accent);color:var(--h-ink)}
.top-action.primary{background:var(--h-accent);border-color:var(--h-accent);color:oklch(14% .02 300)}
.top-action.primary:hover{filter:brightness(1.07)}

.hd-drawer{display:none;position:absolute;top:100%;left:0;right:0;z-index:40;background:var(--h-bg);border-bottom:1px solid var(--h-line);max-height:min(70vh,32rem);overflow-y:auto}
.hd-drawer.hd-open{display:block}
.hd-drawer-inner{max-width:78rem;margin:0 auto;padding:.75rem 1.5rem 1.25rem}

/* variants */
[data-variant="home"] .hd-deck2,[data-variant="home"] .commandbar{display:none}
/* home differs in exactly one way: no rule underneath, so a hero can sit
   flush. Bar height, width, logo and nav colour match the other variants,
   because three variants of one header should read as one header. */
[data-variant="home"] .hd-deck1{border-bottom:0}
[data-variant="app"] .hd-deck2{display:none}
/* content: deck 1 scrolls away, the context deck pins to the top */

/* content: deck 1 scrolls away, the context deck pins to the top */
#hd-header[data-variant="content"],[id^="hd-header-"][data-variant="content"]{
  position:sticky;top:calc(-1 * var(--h-bar) - 1px);z-index:30}
[data-variant="content"] .commandbar{display:none}
[data-variant="content"] .hd-d2-inner{max-width:78rem}


@media (max-width:1400px){
  [data-variant="content"] .hd-nav{display:none}
  [data-variant="content"] .hd-burger{display:grid}
  [data-variant="content"] .hd-brandwrap{flex:1 1 auto}}
@media (max-width:1220px){
  .hd-nav,.hd-search .k{display:none}
  .hd-burger{display:grid}
  .hd-brandwrap{flex:1 1 auto}
  .hd-bar{gap:.75rem}
  .hd-live-join-mobile,.hd-tutoring-session-mobile{display:block}
  }
@media (max-width:640px){
  .hd-bar,.hd-d2-inner,.hd-drawer-inner,.commandbar{padding-left:1rem;padding-right:1rem}
  .hd-acct-label{display:none}
  .hd-acct{padding:0 .625rem}
  .hd-launch-menu,.hd-sub,.hd-back-menu{left:0;max-width:calc(100vw - 2rem)}
  
  .commandbar{padding-top:1.25rem;align-items:flex-start}
  .top-actions{width:100%}
  .top-action{flex:1 1 auto;justify-content:center}}
@media (max-width:400px){.hd-word{display:none}.hd-topic{font-size:.9375rem}}
@media (prefers-reduced-motion:reduce){
  [class*="hd-"],[class*="hd-"] *,.commandbar *,.cmd,.cmd *{transition-duration:.01ms!important;animation-duration:.01ms!important}
  .hd-navlink.is-live,.hd-drow>a.is-live{animation:none}}

/* command palette: same panel language as the menus */
.cmd{position:fixed;inset:0;z-index:60;display:none;font-family:'Space Grotesk',ui-sans-serif,system-ui,sans-serif;
  --h-ink:oklch(97% .006 300);--h-soft:oklch(80% .016 300);--h-mute:oklch(63% .020 300);--h-faint:oklch(52% .018 300);
  --h-panel:oklch(17% .017 300);--h-raise:oklch(22% .020 300);--h-line:oklch(100% 0 0 / .085);--h-hair:oklch(100% 0 0 / .05);
  --h-accent:oklch(80% .155 300);--h-wash:oklch(80% .155 300 / .12);--h-e:cubic-bezier(.2,.8,.3,1)}
.cmd.open{display:block}
.cmd-scrim{position:absolute;inset:0;background:oklch(9% .012 300 / .70)}
.cmd-inner{position:relative;width:min(42rem,calc(100vw - 2rem));margin:min(12vh,7rem) auto 0;max-height:min(72vh,40rem);
  display:flex;flex-direction:column;background:var(--h-panel);border:0;border-radius:20px;overflow:hidden;
  box-shadow:0 1px 0 0 var(--h-line) inset, 0 32px 80px -32px rgb(0 0 0 / .92)}
.cmd-top{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem .75rem}
.cmd-brand{display:inline-flex;align-items:center;gap:.5rem;color:var(--h-soft);font-weight:500;font-size:.875rem}
.cmd-brand img{width:1.25rem;height:1.25rem}
.cmd-close{display:grid;place-items:center;width:1.75rem;height:1.75rem;border-radius:8px;color:var(--h-faint);font-size:1.25rem;line-height:1;transition:color .14s var(--h-e),background .14s var(--h-e)}
.cmd-close:hover{color:var(--h-ink);background:var(--h-raise)}
.cmd-search{display:flex;align-items:center;gap:.75rem;padding:0 1.25rem 1rem;border-bottom:1px solid var(--h-hair)}
.cmd-search svg{width:1.0625rem;height:1.0625rem;color:var(--h-faint);flex:0 0 auto}
.cmd-search input{flex:1 1 auto;min-width:0;background:none;border:0;outline:none;color:var(--h-ink);font:inherit;font-size:1.0625rem;padding:0}
.cmd-search input::placeholder{color:var(--h-faint)}
.cmd-clear{color:var(--h-faint);font-size:1.125rem;line-height:1}
.cmd-kbd{font-size:.6875rem;letter-spacing:.06em;color:var(--h-faint);border:1px solid var(--h-line);border-radius:6px;padding:.125rem .375rem;flex:0 0 auto}
.cmd-label-row{display:flex;align-items:baseline;justify-content:space-between;padding:.875rem 1.25rem .5rem}
.cmd-label{margin:0;font-size:.75rem;color:var(--h-faint)}
.cmd-count{font-size:.75rem;color:var(--h-faint)}
.cmd-results{overflow-y:auto;padding:0 .75rem .25rem;flex:1 1 auto}
.cmd-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:.125rem}
.cmd-card{display:flex;align-items:center;gap:.75rem;padding:.625rem .75rem;border-radius:12px;min-width:0;color:var(--h-soft);transition:background .13s var(--h-e),color .13s var(--h-e)}
.cmd-card:hover,.cmd-card.active{background:var(--h-raise);color:var(--h-ink)}
.cmd-card .ci{flex:0 0 auto;width:1.5rem;height:1.5rem;display:grid;place-items:center;border-radius:8px;background:var(--h-wash);color:var(--h-accent);font-size:.75rem;font-weight:500}
.cmd-card .copy{min-width:0;display:flex;flex-direction:column;gap:.0625rem}
.cmd-card .t{font-size:.9375rem;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cmd-card .d,.cmd-card .meta{font-size:.75rem;color:var(--h-faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cmd-card mark{background:var(--h-wash);color:var(--h-accent);border-radius:4px;padding:0 .0625rem}
.cmd-empty{display:none;flex-direction:column;align-items:center;gap:.5rem;padding:2.5rem 1rem 3rem;text-align:center}
.cmd.no .cmd-empty{display:flex}
.cmd-empty .ico{color:var(--h-faint);opacity:.5}
.cmd-empty .ico svg{width:1.375rem;height:1.375rem}
.cmd-empty .h{font-size:1rem;color:var(--h-soft)}
.cmd-empty .p{font-size:.8125rem;color:var(--h-faint);max-width:32ch}
.cmd-foot{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:.875rem 1.25rem;border-top:1px solid var(--h-hair)}
.cmd-hint{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;font-size:.75rem;color:var(--h-faint)}
.cmd-hint kbd{font:inherit;font-size:.6875rem;color:var(--h-mute);border:1px solid var(--h-line);border-radius:6px;padding:.125rem .375rem;margin-right:.25rem}
.cmd-signin{display:inline-flex;align-items:center;gap:.75rem;height:2.25rem;padding:0 .5rem 0 1rem;border-radius:11px;background:var(--h-accent);color:oklch(14% .02 300);transition:filter .16s var(--h-e)}
.cmd-signin:hover{filter:brightness(1.07)}
.cmd-signin .si-copy{display:flex;flex-direction:column;line-height:1.15;text-align:left}
.cmd-signin .si-copy strong{font-size:.875rem;font-weight:500}
.cmd-signin .si-copy small{font-size:.6875rem;opacity:.72;white-space:nowrap}
.cmd-signin>span:last-child{flex:0 0 auto;width:1.75rem;height:1.75rem;border-radius:9px;display:grid;place-items:center;background:oklch(14% .02 300 / .16)}
@media (max-width:640px){
  .cmd-inner{width:calc(100vw - 1.5rem);margin-top:4vh;max-height:88vh;border-radius:18px}
  .cmd-grid{grid-template-columns:1fr}
  .cmd-hint{display:none}
  .cmd-signin{width:100%;justify-content:space-between}}

/* the palette CTA holds a two-line label, so it sizes to content, not to a
   single-line control height */
.cmd-signin{height:auto;min-height:2.75rem;padding:.4375rem .5rem .4375rem 1rem;
  align-items:center;gap:.875rem}
.cmd-signin .si-copy{gap:.0625rem}
.cmd-signin .si-copy strong{line-height:1.3}
.cmd-signin .si-copy small{line-height:1.35;opacity:.75}
.cmd-signin>span:last-child{width:1.875rem;height:1.875rem;border-radius:9px;font-size:.9375rem}
@media (max-width:640px){
  .cmd-signin{width:100%;justify-content:space-between;min-height:3rem;padding:.5rem .5rem .5rem 1rem}
}

/* ---- launch menu: two-level cascade, level 2 opens to the right ---- */
.hd-launch-menu{
  position:absolute;top:calc(100% + .5rem);left:-.75rem;z-index:40;
  width:15.5rem;padding:.4375rem;
  background:var(--h-panel);border:0;border-radius:16px;box-shadow:var(--h-pop);
  opacity:0;visibility:hidden;transform:translateY(-.5rem) scale(.985);transform-origin:top left;
  transition:opacity .18s var(--h-e),transform .18s var(--h-e),visibility .18s}
.hd-fly{position:relative;display:block}
.hd-fly-head{
  display:flex;align-items:center;justify-content:space-between;gap:.75rem;
  list-style:none;cursor:pointer;padding:.5rem .75rem;border-radius:11px;
  color:var(--h-soft);font-size:.9375rem;
  transition:color .13s var(--h-e),background .13s var(--h-e)}
.hd-fly-head::-webkit-details-marker{display:none}
.hd-fly-head::marker{content:""}
.hd-fly-head::after{
  content:"";width:.4375rem;height:.4375rem;flex:0 0 auto;
  border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;
  transform:rotate(-45deg);opacity:.55;transition:transform .18s var(--h-e),opacity .18s var(--h-e)}
.hd-fly-head:hover{background:var(--h-raise);color:var(--h-ink)}
.hd-fly[open]>.hd-fly-head{background:var(--h-raise);color:var(--h-ink)}
.hd-fly[open]>.hd-fly-head::after{opacity:1;transform:rotate(-45deg) translate(1px,1px)}
.hd-flyout{
  position:absolute;top:-.4375rem;left:calc(100% + .5rem);z-index:41;
  min-width:14rem;max-width:min(80vw,18rem);padding:.4375rem;
  background:var(--h-panel);border:0;border-radius:16px;box-shadow:var(--h-pop);
  animation:hd-fly-in .16s var(--h-e) both}
@keyframes hd-fly-in{from{opacity:0;transform:translateX(-.375rem)}to{opacity:1;transform:none}}
.hd-flyout-head{
  display:block;padding:.4375rem .75rem .3125rem;color:var(--h-faint);font-size:.72rem;letter-spacing:.02em}
.hd-launch-menu a{
  display:block;padding:.4375rem .75rem;border-radius:11px;color:var(--h-soft);
  font-size:.9375rem;line-height:1.5;transition:color .13s var(--h-e),background .13s var(--h-e)}
.hd-launch-menu a:hover{color:var(--h-ink);background:var(--h-raise)}
.hd-flyout-all{color:var(--h-accent)!important;margin-top:.25rem}
@media (max-width:640px){
  .hd-launch-menu{width:min(20rem,calc(100vw - 2rem))}
  .hd-flyout{position:static;left:auto;top:auto;margin:.125rem 0 .375rem .75rem;
    padding:.25rem 0 .25rem .5rem;min-width:0;max-width:none;
    border-radius:0;box-shadow:none;background:none;
    border-left:1px solid var(--h-line);animation:none}
  .hd-flyout-head{display:none}
}

/* ---- submenu icons: masked so they take currentColor ---- */
.bw-ico{display:inline-block;flex:0 0 auto;width:1.25rem;height:1.25rem;
  background:currentColor;-webkit-mask-position:center;mask-position:center;
  -webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}
.bw-ico-subjects{-webkit-mask-image:url(/logo/submenu/bw-submenu-subjects.png);mask-image:url(/logo/submenu/bw-submenu-subjects.png)}
.bw-ico-mnemonics{-webkit-mask-image:url(/logo/submenu/bw-submenu-mnemonics.png);mask-image:url(/logo/submenu/bw-submenu-mnemonics.png)}
.bw-ico-cluecards{-webkit-mask-image:url(/logo/submenu/bw-submenu-cluecards.png);mask-image:url(/logo/submenu/bw-submenu-cluecards.png)}
.bw-ico-qbank{-webkit-mask-image:url(/logo/submenu/bw-submenu-qbank.png);mask-image:url(/logo/submenu/bw-submenu-qbank.png)}
.bw-ico-live{-webkit-mask-image:url(/logo/submenu/bw-submenu-live-classrooms.png);mask-image:url(/logo/submenu/bw-submenu-live-classrooms.png)}
.bw-ico-tutoring{-webkit-mask-image:url(/logo/submenu/bw-submenu-tutoring.png);mask-image:url(/logo/submenu/bw-submenu-tutoring.png)}
.bw-ico-physicians{-webkit-mask-image:url(/logo/submenu/bw-submenu-physicians.png);mask-image:url(/logo/submenu/bw-submenu-physicians.png)}
.bw-ico-prescryption{-webkit-mask-image:url(/logo/submenu/bw-submenu-prescryption.png);mask-image:url(/logo/submenu/bw-submenu-prescryption.png)}
/* qbank and live read thin at small sizes, so give them a touch more room */
.cmd-card .bw-ico-qbank,.cmd-card .bw-ico-live{width:1.375rem;height:1.375rem}
.cmd-card .ci:has(.bw-ico){background:var(--h-wash)}
.cmd-card .ci .bw-ico{color:var(--h-accent)}
.hd-sub a .bw-ico,.hd-launch-menu a .bw-ico{margin-right:.5rem;vertical-align:-.2rem;opacity:.75}
.hd-sub a:hover .bw-ico,.hd-launch-menu a:hover .bw-ico{opacity:1;color:var(--h-accent)}

/* Palette CTA: the filled accent pill put near-white text on light violet
   (~1.8:1). A search palette footer is not a state, so the accent comes off
   the fill and goes to the text and the border instead. */
.cmd .cmd-signin,.cmd a.cmd-signin{
  background:transparent!important;
  border:1px solid oklch(80% .155 300 / .45);
  color:var(--h-ink)!important;
  box-shadow:none;
  transition:border-color .15s var(--h-e),background .15s var(--h-e)}
.cmd .cmd-signin:hover{background:oklch(80% .155 300 / .10)!important;border-color:var(--h-accent)}
.cmd .cmd-signin .si-copy strong{color:var(--h-accent);font-weight:500}
.cmd .cmd-signin .si-copy small{color:var(--h-mute);opacity:1}
.cmd .cmd-signin>span:last-child{
  background:oklch(80% .155 300 / .14);color:var(--h-accent);
  width:1.75rem;height:1.75rem;border-radius:9px}
.cmd .cmd-signin:hover>span:last-child{background:oklch(80% .155 300 / .22)}

/* ---- palette: staggered blur-to-focus cascade on open, instant while typing ----
   bw-cmd.js already emits style="--i:n" per card and toggles .intro / .searching */
@keyframes bw-card-in{
  0%{opacity:0;transform:translateY(14px) scale(.97);filter:blur(6px)}
  60%{filter:blur(0)}
  100%{opacity:1;transform:none;filter:blur(0)}
}
@keyframes bw-panel-in{
  from{opacity:0;transform:translateY(-8px) scale(.985)}
  to{opacity:1;transform:none}
}
.cmd.open .cmd-inner{animation:bw-panel-in .22s var(--h-e) both}
.cmd.open .cmd-scrim{animation:bw-fade .18s var(--h-e) both}
@keyframes bw-fade{from{opacity:0}to{opacity:1}}
.cmd.intro .cmd-card{animation:bw-card-in .5s var(--h-e) both;
  animation-delay:calc(var(--i,0)*42ms + .1s)}
.cmd.intro .cmd-label,.cmd.intro .cmd-count{animation:bw-card-in .38s var(--h-e) both}
/* once the user types, results must land instantly */
.cmd.searching .cmd-card{animation:none!important}
.cmd-card{transition:background .13s var(--h-e),color .13s var(--h-e),transform .13s var(--h-e)}
.cmd-card:active{transform:scale(.99)}
.cmd-card .g{transition:transform .16s var(--h-e),opacity .16s var(--h-e);opacity:.5}
.cmd-card:hover .g,.cmd-card.is-active .g{opacity:1;transform:translateX(3px)}
.cmd-search svg{transition:color .18s var(--h-e)}
.cmd-search:focus-within svg{color:var(--h-accent)}
@media (prefers-reduced-motion:reduce){
  .cmd.intro .cmd-card,.cmd.intro .cmd-label,.cmd.intro .cmd-count,
  .cmd.open .cmd-inner,.cmd.open .cmd-scrim{animation:none!important}
}

/* ---- nav: even spread, grouped order ---- */
.hd-nav{justify-content:center;gap:.125rem}
.hd-navitem.hd-nav-gap{margin-left:.875rem;position:relative}
.hd-navitem.hd-nav-gap::before{content:"";position:absolute;left:-.5rem;top:50%;transform:translateY(-50%);
  width:1px;height:.9rem;background:var(--h-line)}

/* the page sets a:hover{text-decoration:underline}; the palette is UI, not prose */
.cmd a,.cmd a:hover,.cmd a:focus,.cmd a:active,.cmd a:visited,
.cmd-card,.cmd-card:hover,.cmd-card:focus,.cmd-card:active,
.cmd-signin,.cmd-signin:hover,.cmd-signin:focus,.cmd-signin:active{text-decoration:none}
.cmd a *,.cmd-card *{text-decoration:inherit}

/* ---- subject dropdown: read down column one, then column two ----
   It was a 2-col grid with the heading occupying cell 1, which pushed the
   first subject into column 2 and made the whole list zigzag. Multicol fills
   top-to-bottom, and the heading and footer span the full width. */
.hd-sub-mega{
  display:block;min-width:34rem;
  columns:2;column-gap:1.5rem;column-fill:balance}
.hd-sub-mega .hd-sub-head{column-span:all;margin-bottom:.375rem}
.hd-sub-mega .hd-sub-foot,.hd-sub-mega a.hd-flyout-all,.hd-sub-mega a[href$="/subjects/"]:last-child{
  column-span:all;margin-top:.375rem;padding-top:.5rem;border-top:1px solid var(--h-hair)}
.hd-sub-mega a,.hd-sub-mega .hd-dgroup,.hd-sub-mega .hd-drow{
  break-inside:avoid;-webkit-column-break-inside:avoid;display:block}

/* Nested launcher panels open outside the first column on desktop. */
.hd-launch-menu{overflow:visible;max-width:calc(100vw - 2rem)}
.hd-sub,.hd-back-menu{overflow:hidden;max-width:calc(100vw - 2rem)}
.hd-launch-menu a,.hd-sub a,.hd-back-menu a,.hd-flyout a{min-width:0;overflow-wrap:anywhere}
@media (max-width:640px){
  .hd-flyout{min-width:0;max-width:100%;width:auto}
  .hd-launch-menu{width:min(20rem,calc(100vw - 2rem))}
}

/* ================= BW overrides (Mo, 2026-07-25) ================= */
/* Sign in keeps the canonical toolkit treatment (matches Mo's reference shot). */

/* Burger duplicates the search control; both call bwCmd(true). Keep one. */
@media (min-width:1221px){.hd-burger{display:none !important}}

/* Search stays left of the account control, per reference. */

/* Never collapse the account control to a bare arrow. */
@media (max-width:640px){
  .hd-acct-label{display:inline !important}
  .hd-acct-ar{display:none}
  .hd-acct{padding:0 .5rem}
}

/* Elite / founder badge: mini gold icon only, no letters, no glyphs. */
.hd-elite{display:inline-flex;align-items:center;margin-left:.4rem;vertical-align:middle}
.hd-elite-ico{
  display:inline-block;width:.875rem;height:.875rem;flex:0 0 auto;
  background:linear-gradient(150deg,#f6e27a 0%,#e3b341 45%,#b8860b 100%);
  -webkit-mask-image:url(/logo/bw-logo-sparkle-mask.png);mask-image:url(/logo/bw-logo-sparkle-mask.png);
  -webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
  -webkit-mask-position:center;mask-position:center;
}
.hd-elite[data-tier="elite"] .hd-elite-ico{
  background:linear-gradient(150deg,#eae6dd 0%,#c9c6bd 45%,#8f8c85 100%);
}
.hd-elite-word,.hd-elite-star,.hd-elite-div{display:none !important}

/* Mobile palette: real sheet, real tap targets. */
@media (max-width:640px){
  .cmd-inner{width:100%;max-width:none;margin:0;border-radius:14px 14px 0 0;
    position:fixed;left:0;right:0;bottom:0;top:auto;max-height:88vh;display:flex;flex-direction:column}
  .cmd-list{overflow-y:auto;-webkit-overflow-scrolling:touch}
  .cmd-card{padding:.75rem .875rem;min-height:3rem}
  .cmd-top,.cmd-search{flex:0 0 auto}
}

/* The 468 pages style .hd-elite themselves (foil background, padding, borders)
   with inline !important rules. bw-header.js rebuilds the node icon-only; these
   resets neutralise the container so no slab or foil survives around the icon. */
.hd-elite{
  display:inline-flex !important;align-items:center !important;
  background:none !important;border:0 !important;box-shadow:none !important;
  padding:0 !important;margin-left:.4rem !important;gap:0 !important;
  width:auto !important;height:auto !important;min-width:0 !important;
  font-size:0 !important;letter-spacing:normal !important;
}
.hd-elite-ico{display:inline-block !important;width:.875rem !important;height:.875rem !important}

/* Search matched neither the 44px touch floor nor its neighbour at 38px. */
.hd-search{width:2.375rem;height:2.375rem;border-radius:999px}
@media (pointer:coarse){
  .hd-search{width:2.75rem;height:2.75rem}
  .hd-acct{height:2.75rem;border-radius:999px}
}

/* ---- bar layout guard (2026-07-25) ---- */
/* Retiring the old hd-* rules from theme.css/nav.css also removed the flex
   layout for the bar, so search and account wrapped to a second row on the
   left. The canonical sheet must own this, not the legacy stylesheets. */
.hd-bar{display:flex;align-items:center;gap:.75rem;flex-wrap:nowrap;width:100%}
.hd-brandwrap{flex:0 0 auto;display:flex;align-items:center;gap:.5rem}
.hd-nav{display:flex;align-items:center;flex:1 1 auto;min-width:0;justify-content:center}
.hd-search,.hd-acct{flex:0 0 auto}
.hd-acct{margin-left:.25rem}

/* ---- deck1 is the row: brand+nav, then search and account hard right ---- */
/* .hd-search and .hd-acct are children of .hd-deck1, not .hd-bar, so with
   .hd-deck1 as display:block they dropped to a second line on the left. */
.hd-deck1{display:flex;align-items:center;gap:.625rem;width:100%}
.hd-deck1 > .hd-bar{flex:1 1 auto;min-width:0}
.hd-deck1 > .hd-search,.hd-deck1 > .hd-acct{flex:0 0 auto}
.hd-deck1 > .hd-search{margin-left:auto}

/* ---- Sign in: dark pill, hairline border, white label (Mo's reference) ---- */
.hd-acct{
  background:rgba(18,16,26,.92) !important;
  border:1px solid rgba(255,255,255,.16) !important;
  color:#fff !important;
  border-radius:10px;height:2.25rem;padding:0 .9375rem;
  font-size:.8125rem;font-weight:600;box-shadow:none !important;
}
.hd-acct:hover{background:rgba(34,30,46,.95) !important;border-color:rgba(255,255,255,.30) !important;filter:none}
.hd-acct .hd-acct-ar{display:inline}

/* The homepage inline <style> sets .hd-deck1 display:block and loads after
   this sheet, so the row rules need to be marked to win. */
@media (min-width:1221px){.hd-deck1{display:flex !important;align-items:center !important;gap:.625rem !important;width:100% !important;flex-wrap:nowrap !important}}
.hd-deck1 > .hd-bar{flex:1 1 auto !important;min-width:0 !important;width:auto !important}
.hd-deck1 > .hd-search{flex:0 0 auto !important;margin-left:auto !important}
.hd-deck1 > .hd-acct{flex:0 0 auto !important}

/* ---- decorative aurora: contain it instead of deleting it ---- */
/* The blobs were switched off because they dragged page width. overflow-x:clip
   contains them without creating a scroll container, so the motion comes back
   and the horizontal scrollbar does not. */
html{overflow-x:clip}
body{overflow-x:clip;position:relative}
.blob,#aurora,.cluecards-aura{pointer-events:none;will-change:transform}

/* ---- kill the frosted haze band under the bar (2026-07-25) ---- */
/* backdrop-filter:blur(18px) saturate(1.3) on .hd-deck1 renders as a washed
   out box over the dark hero and dulls the aurora behind it. The bar keeps
   its own solid surface, so the blur buys nothing. */
.hd-deck1{-webkit-backdrop-filter:none !important;backdrop-filter:none !important}
.hd-header,.hd-deck1,.hd-deck2{-webkit-backdrop-filter:none !important;backdrop-filter:none !important}

/* ---- hero headline: no solid box behind the second line ---- */
/* An unclassed <span> inside the h1 carries background-color oklch(.16 .016 300),
   which paints a dark rectangle behind "YOU MISS THE CLUE." The drop-shadow on
   it is the intended glow; the fill is not. */
h1 span:not([class]):not([style*="background-clip"]){background-color:transparent !important}
.hero-line1,.hero-line2{background-color:transparent !important}

/* ---- soften every hard seam (2026-07-25) ---- */
/* The decorative blobs must stay radial glows, never a flat fill: a solid
   colour under filter:blur() renders as a smeared rectangle with visible
   edges, which is what put the haze band across the hero. */
.blob{border-radius:50% !important;background-color:transparent !important;mix-blend-mode:normal !important}
.blob-1,.blob-2,.blob-3,.blob-4,.blob-5{background-color:transparent !important}
/* No rule under the home bar, and no hard edge where the hero meets the page. */
[data-variant="home"] .hd-deck1{border-bottom:0 !important;box-shadow:none !important}
.hd-header{border-bottom:0 !important}

/* ---- feather the glow layer instead of clipping it flat ---- */
/* .bg-blobs is position:fixed with overflow:hidden at viewport height, so the
   radial glows were cut off dead straight, which reads as a hard band across
   the page. Fade the layer out at its edges so there is no cut line. */
.bg-blobs{
  -webkit-mask-image:linear-gradient(to bottom, #000 0%, #000 46%, rgba(0,0,0,.55) 72%, transparent 96%);
  mask-image:linear-gradient(to bottom, #000 0%, #000 46%, rgba(0,0,0,.55) 72%, transparent 96%);
  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
  -webkit-mask-size:100% 100%;mask-size:100% 100%;
}
/* Section joins: no hard rule where one band meets the next. */
section + section,section + div[class*="section"]{border-top:0 !important}
[class*="hero"]{box-shadow:none !important}

/* ---- pull the glow up to the top of the page ---- */
/* The colour should sit behind the hero, not halfway down. Anchor the blobs
   to the upper band and let them fall off before the hex grid. */
.blob-1{top:-26vh !important;bottom:auto !important}
.blob-2{top:2vh !important;bottom:auto !important}
.blob-3{top:-6vh !important;bottom:auto !important}
.blob-4{top:10vh !important;bottom:auto !important}
.blob-5{top:-14vh !important;bottom:auto !important}

/* ---- never blank out gradient text ---- */
/* Elements that clip a gradient to their glyphs must keep their background
   image, or the text renders transparent on transparent and vanishes. */
[style*="background-clip"],[class*="grad"],.cta h2,.cta h3,.curtain h2{
  background-image:revert !important;-webkit-background-clip:text;background-clip:text;
}
/* The closing call to action must be legible regardless of gradient support. */
.cta .btn,.cta a[class*="btn"],a.btn-gold,.start-free,a[href="/free"]{
  color:#fff !important;border-color:rgba(255,255,255,.35) !important;
}

/* ---- the closing CTA must never be dark-on-dark ---- */
/* "Start free" is dark ink on a gold fill. A blanket gold-removal pass took the
   fill and left the ink, so the primary call to action rendered invisible. */
a:where([href="/free"],[href="/free/"],.start-free,.btn-gold),
button:where(.btn-gold,.start-free){
  background:linear-gradient(150deg,#ffeaa7 0%,#f0cf7a 48%,#dcb45c 100%) !important;
  color:#1a140a !important;
  border:1px solid rgba(255,246,208,.55) !important;
  font-weight:700;
}
a:where([href="/free"],[href="/free/"],.start-free,.btn-gold):hover,
button:where(.btn-gold,.start-free):hover{filter:brightness(1.06)}

/* ================= MOBILE (2026-07-25) =================
   The desktop nav was rendering on phones and running off screen. Three of my
   own rules caused it: .hd-burger{display:none!important} removed the mobile
   affordance, flex-wrap:nowrap!important stopped the bar collapsing, and the
   deck1 row rules applied at every width. Scope them to desktop and give the
   phone its own layout. */
@media (max-width:1220px){
  /* the horizontal nav is desktop only */
  #hd-header .hd-nav{display:none !important}
  #hd-header .hd-navitem,#hd-header .hd-navlink{display:none !important}
  /* the bar is brand on the left, search and account on the right */
  .hd-deck1{display:flex !important;align-items:center !important;flex-wrap:nowrap !important;
            gap:.5rem !important;padding:0 1rem !important;min-height:3.5rem}
  .hd-deck1 > .hd-bar{flex:1 1 auto !important;min-width:0 !important}
  .hd-deck1 > .hd-search{margin-left:auto !important;flex:0 0 auto !important}
  .hd-deck1 > .hd-acct{flex:0 0 auto !important}
  /* search is the menu on phones, so it must be a real target */
  .hd-search{width:2.75rem !important;height:2.75rem !important}
  .hd-acct{height:2.5rem !important;padding:0 .875rem !important}
  /* overflow:hidden here clipped .hd-launch-menu, which is absolutely
     positioned inside this wrapper, so the All Subjects and Clinical Hubs
     dropdown was invisible on phones. The brand word does its own ellipsis. */
  .hd-brandwrap{min-width:0}
  .hd-word{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  /* iOS: dvh so the glow layer is not clipped to zero by the toolbars */
  .bg-blobs{height:100dvh !important;min-height:100vh}
}
/* a header must never collapse to zero height */
#hd-header{display:block !important}

/* ---- the hamburger is gone at every width ---- */
/* Search opens the same palette the burger did, and that palette is the mobile
   nav. Two controls for one action, and Mo wants the burger gone. */
.hd-burger{display:none !important}
@media (max-width:1220px){
  .hd-deck1 > .hd-bar{flex:1 1 auto !important}
  .hd-deck1 > .hd-search{margin-left:auto !important}
  .hd-deck1 > .hd-acct{margin-right:0 !important}
}

/* ---- launch menu on phones: one column, inside the viewport ---- */
/* The panel is a three column grid on desktop. At 390px those columns ran off
   screen, so it stacks and clamps to the viewport instead. */
@media (max-width:1220px){
  .hd-launch-menu,.hd-sub,.hd-back-menu{
    left:.75rem !important;right:.75rem !important;
    width:auto !important;max-width:calc(100vw - 1.5rem) !important;
    max-height:min(72vh,72dvh) !important;overflow-y:auto !important;
    -webkit-overflow-scrolling:touch;
  }
  .hd-launch-menu .hd-flywrap,.hd-launch-menu > div{
    display:block !important;grid-template-columns:none !important;
  }
  .hd-fly{width:auto !important;max-width:100% !important;border-left:0 !important}
  .hd-flyout{position:static !important;width:auto !important;max-width:100% !important;
             box-shadow:none !important;background:transparent !important}
  .hd-fly-head{padding:.625rem .75rem}
  .hd-flyout a{display:block;padding:.625rem .75rem;min-height:2.75rem}
}

/* ---- iOS: never let the page composite to white ---- */
/* mask-image on a position:fixed layer creates an isolated group in WebKit.
   If anything in that group blends, the backdrop resolves to white and the
   whole page washes out. Pin the base colour and keep the layer behind. */
html{background-color:#020617 !important}
body{background-color:#020617 !important}
.bg-blobs{
  z-index:0 !important;isolation:isolate;
  background-color:transparent !important;
  mix-blend-mode:normal !important;
  pointer-events:none;
}
.blob,.blob-1,.blob-2,.blob-3,.blob-4,.blob-5{mix-blend-mode:normal !important}
/* Safari needs the prefixed property or the mask is ignored entirely, which
   previously left a hard clipped edge instead of a fade. */
@supports not ((-webkit-mask-image:linear-gradient(#000,#000)) or (mask-image:linear-gradient(#000,#000))){
  .bg-blobs{-webkit-mask-image:none;mask-image:none}
}

/* ---- skip link: clip, never offset (2026-07-25) ---- */
/* left:-9999px drags page width at every viewport and fails the width audit at
   all six breakpoints. clip-path hides it without extending the layout. */
.bw-skip,.skip-link,a[href="#main"]:not(:focus):not(:active){
  position:absolute !important;left:0 !important;top:0 !important;
  width:1px !important;height:1px !important;overflow:hidden !important;
  clip-path:inset(50%) !important;clip:rect(0 0 0 0) !important;
  white-space:nowrap !important;
}
.bw-skip:focus,.bw-skip:focus-visible,.skip-link:focus{
  width:auto !important;height:auto !important;clip-path:none !important;clip:auto !important;
  padding:.625rem 1rem !important;background:#111018 !important;color:#fff !important;
  z-index:9999 !important;border-radius:0 0 8px 0 !important;
}

/* ---- cluecard fan collapses below 560px ---- */
/* DEPLOY-CORRECTIONS 5: the fanned stack overflowed at 320. A rule existed but
   something more specific was winning, so this matches the same specificity the
   fan is set with (.cc-card.is-back) rather than stacking another override. */
@media (max-width:560px){
  .cc-deck,.cc-fan,.cluecard-stack{position:static !important;height:auto !important;
    display:flex !important;flex-direction:column !important;gap:.75rem !important;
    transform:none !important}
  .cc-card,.cc-card.is-back,.cc-card.is-mid,.cc-card.is-front{
    position:static !important;transform:none !important;rotate:none !important;
    width:100% !important;max-width:100% !important;margin:0 !important;
    left:auto !important;right:auto !important;top:auto !important;
  }
  .cc-card.is-back,.cc-card.is-mid{display:none !important}
}
/* blob-2 is deleted from markup; make sure no stylesheet resurrects it */
.blob-2{display:none !important}

.blob-3{display:none !important}
/* keep every remaining decorative layer inside the viewport */
.bg-blobs,.blob{max-width:100vw}

/* ---- launch panel must fit the narrowest phone ---- */
/* At 320 the panel and its columns ran 10px past the viewport. Clamp width
   directly rather than relying on left/right insets the panel can override. */
@media (max-width:1220px){
  .hd-launch-menu,.hd-sub,.hd-back-menu{
    box-sizing:border-box !important;
    width:calc(100vw - 1.5rem) !important;
    max-width:calc(100vw - 1.5rem) !important;
    left:.75rem !important;right:auto !important;
  }
  .hd-launch-menu *,.hd-sub *,.hd-back-menu *{max-width:100% !important;box-sizing:border-box}
  .hd-fly,.hd-fly-head,.hd-flyout,.hd-flyout a{width:auto !important;max-width:100% !important}
}

/* ---- cluecard stack fits the narrowest phone (2026-07-25) ---- */
/* Width audit at 320: ARTICLE.cc-card, HEADER.cc-head, SPAN.cc-mark, SPAN.cc-subj
   all ran past the viewport. The fan positions cards with transforms and fixed
   widths, so clamp the box rather than stacking another transform on top. */
@media (max-width:560px){
  .cc-deck,.cc-fan,.cluecard-stack,.cc-wrap{
    position:static !important;height:auto !important;transform:none !important;
    display:flex !important;flex-direction:column !important;gap:.75rem !important;
    max-width:100% !important;overflow:visible !important;
  }
  .cc-card,.cc-card.is-back,.cc-card.is-mid,.cc-card.is-front{
    position:static !important;transform:none !important;rotate:none !important;
    left:auto !important;right:auto !important;top:auto !important;bottom:auto !important;
    width:auto !important;max-width:100% !important;margin:0 !important;
    box-sizing:border-box !important;
  }
  .cc-card.is-back,.cc-card.is-mid{display:none !important}
  .cc-head,.cc-mark,.cc-subj,.cc-body{
    max-width:100% !important;box-sizing:border-box !important;
    min-width:0 !important;overflow-wrap:anywhere;
  }
  .cc-head{display:flex !important;flex-wrap:wrap !important;gap:.375rem !important}
}

/* ============================================================
   No membership badges in the header.
   Owner decision 2026-07-26: "no badges on any headers", "no
   elite no founder on it", "get rid of the founder and Icon".

   Three paths build one: the pre-paint inline script on each
   page, bw-header.js beside the wordmark, and member-ui.js which
   swaps .hd-elite for .brand-pro on founder and tutor accounts.
   Suppressed here, the one place all three render through. Every
   part is named so no fragment survives as a stray dot or coin
   next to the wordmark. Delete this block to bring them back.
   ============================================================ */
.hd-elite,
.hd-elite-ico,
.hd-elite-star,
.hd-elite-div,
.hd-elite-word,
.brand-pro,
.brand-pro-mark,
.brand-pro-star,
.brand-pro-div,
.brand-pro-word{display:none !important}
