:root{
  --ink:#14181f; --muted:#5a6472; --line:#e4e7ec;
  --paper:#fff; --soft:#f7f8fa;
  --accent:#c8102e; --accent-deep:#9e0c24;
  --ink-soft:#2b323c;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0; background:var(--paper); color:var(--ink);
  font:400 17px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Roboto,Helvetica,Arial,sans-serif;
}
a{color:var(--accent-deep)}
.site-header{border-bottom:1px solid var(--line); padding:1rem 0}
.site-header .wrap,.site-footer .wrap,#bmhub{max-width:880px; margin:0 auto; padding-left:1.25rem; padding-right:1.25rem}
.site-header .wrap{display:flex; align-items:center; justify-content:space-between; gap:1rem}
.brand{font-weight:700; letter-spacing:-.01em; text-decoration:none; color:var(--ink)}
.brand span{color:var(--accent)}
.site-header nav{display:flex; gap:1rem; flex-wrap:wrap; font-size:.9rem}
.site-header nav a{color:var(--muted); text-decoration:none}
.site-header nav a:hover,.site-header nav a[aria-current="page"]{color:var(--ink)}

#bmhub{padding-bottom:56px}
#bmhub .hub-head{padding:40px 0 26px; border-bottom:2px solid var(--line)}
#bmhub .eyebrow{font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--accent); font-weight:700; margin:0 0 10px}
#bmhub h1.hub-title{font-family:Georgia,"Times New Roman",serif; font-weight:600; font-size:clamp(28px,4.5vw,40px); line-height:1.15; margin:0 0 14px; letter-spacing:-.02em}
#bmhub .hub-sub{margin:0 0 14px; max-width:62ch; color:var(--ink-soft)}
#bmhub .notice{font-size:13.5px; color:var(--muted); border-left:3px solid var(--accent); padding:8px 12px; background:var(--soft); border-radius:0 6px 6px 0; margin:8px 0}

#bmhub .controls{position:sticky; top:0; z-index:20; background:var(--paper); padding:14px 0 12px; border-bottom:1px solid var(--line)}
#bmhub .searchwrap{position:relative}
#bmhub input.q-search{width:100%; padding:13px 44px 13px 16px; font-size:17px; border:2px solid var(--ink); border-radius:8px; background:#fff; color:var(--ink)}
#bmhub input.q-search:focus{outline:3px solid rgba(200,16,46,.2); outline-offset:1px}
#bmhub .searchwrap svg{position:absolute; right:14px; top:50%; transform:translateY(-50%); width:20px; height:20px; stroke:var(--muted); fill:none; stroke-width:2}
#bmhub .chiprow{display:flex; flex-wrap:wrap; gap:8px; margin-top:10px; align-items:center}
#bmhub button.chip{font-size:13.5px; padding:7px 13px; border-radius:99px; border:1.5px solid var(--ink); background:#fff; color:var(--ink); cursor:pointer; font-weight:600}
#bmhub button.chip[aria-pressed="true"]{background:var(--ink); color:#fff}
#bmhub select.g-sel{font-size:13.5px; padding:7px 10px; border-radius:8px; border:1.5px solid var(--line); background:#fff; color:var(--ink); max-width:100%}
#bmhub .meta-row{display:flex; justify-content:space-between; align-items:center; margin-top:9px; font-size:13.5px; color:var(--muted); gap:10px; flex-wrap:wrap}
#bmhub .meta-row button{background:none; border:none; color:var(--accent-deep); cursor:pointer; font-size:13.5px; text-decoration:underline; padding:2px}
#bmhub .count b{color:var(--ink)}

#bmhub section.grp{margin-top:34px}
#bmhub .grp-head{display:flex; align-items:baseline; gap:10px; border-bottom:1px solid var(--line); padding-bottom:6px; margin-bottom:6px}
#bmhub .grp-no{font-family:Georgia,serif; color:var(--accent); font-size:15px; letter-spacing:.06em; white-space:nowrap}
#bmhub h2.grp-title{font-family:Georgia,serif; font-size:21px; font-weight:600; margin:0; line-height:1.25}
#bmhub .grp-note{font-size:14px; color:var(--muted); margin:0 0 10px}

#bmhub details.qa{border-bottom:1px solid var(--line)}
#bmhub details.qa summary{list-style:none; cursor:pointer; display:flex; gap:12px; padding:13px 4px; font-weight:600; font-size:16.5px; line-height:1.4; color:var(--ink)}
#bmhub details.qa summary::-webkit-details-marker{display:none}
#bmhub details.qa summary:hover{color:var(--accent-deep)}
#bmhub details.qa summary:focus-visible{outline:3px solid rgba(200,16,46,.25); border-radius:4px}
#bmhub .qno{font-family:Georgia,serif; font-weight:400; color:var(--accent); min-width:34px; font-size:14.5px; padding-top:2px}
#bmhub .qmark{margin-left:auto; color:var(--accent); font-weight:400; transition:transform .15s; padding-top:1px}
#bmhub details[open] .qmark{transform:rotate(45deg)}
#bmhub .qb{padding:0 4px 16px 46px; font-size:16px; color:var(--ink-soft)}
#bmhub .qb p{margin:0 0 10px}
#bmhub .qlinks{display:flex; gap:16px; flex-wrap:wrap; font-size:14px; align-items:center}
#bmhub .qlinks a{color:var(--accent-deep); font-weight:600; text-decoration:none; border-bottom:1.5px solid var(--accent)}
#bmhub .qlinks button{background:none; border:none; color:var(--muted); cursor:pointer; font-size:13.5px; text-decoration:underline; padding:0}
#bmhub .fb-row{display:flex; gap:10px; align-items:center; flex-wrap:wrap; font-size:13.5px; color:var(--muted); margin:10px 0 0}
#bmhub button.vote{background:#fff; border:1.5px solid var(--line); border-radius:99px; padding:4px 12px; cursor:pointer; font-size:14.5px; line-height:1.3; color:var(--ink)}
#bmhub button.vote[aria-pressed="true"]{border-color:var(--accent); background:#fff5f6}
#bmhub .fb-thanks{color:var(--accent-deep); font-weight:600}

#bmhub .cta{margin:30px 0 6px; background:var(--ink); color:#fff; border-radius:10px; padding:22px 24px}
#bmhub .cta.alt{background:var(--soft); color:var(--ink); border:1.5px solid var(--line)}
#bmhub .cta h3{font-family:Georgia,serif; margin:0 0 6px; font-size:19px}
#bmhub .cta p{margin:0 0 14px; font-size:15.5px; max-width:60ch}
#bmhub .cta a.btn{display:inline-block; background:var(--accent); color:#fff; font-weight:700; padding:11px 20px; border-radius:8px; text-decoration:none; font-size:15.5px}
#bmhub .cta.alt a.btn{background:var(--accent); color:#fff}
#bmhub .hub-foot{margin-top:44px; padding-top:16px; border-top:2px solid var(--line); font-size:13px; color:var(--muted)}
#bmhub .noresults{display:none; margin:26px 4px; padding:18px; background:var(--soft); border-radius:8px; font-size:15.5px}

/* Index cards */
.cards{display:grid; gap:1rem; margin:2rem 0 3rem}
@media(min-width:700px){.cards{grid-template-columns:1fr 1fr}}
.card{border:1px solid var(--line); border-radius:12px; padding:1.4rem 1.35rem; background:var(--soft); text-decoration:none; color:inherit; display:block}
.card:hover{border-color:#c5cad3}
.card h2{font-family:Georgia,serif; font-size:1.25rem; margin:0 0 .45rem}
.card p{margin:0; color:var(--muted); font-size:.98rem}
.card .go{display:inline-block; margin-top:.9rem; color:var(--accent-deep); font-weight:700; font-size:.95rem}

.site-footer{border-top:1px solid var(--line); margin-top:2rem; padding:2rem 0 3rem; color:var(--muted); font-size:.88rem}
.site-footer a{color:var(--muted)}
.disclaimer{font-size:.82rem; line-height:1.55; margin-top:1rem}

@media(max-width:560px){
  body{font-size:16px}
  #bmhub .qb{padding-left:8px}
}
@media(prefers-reduced-motion:reduce){#bmhub .qmark{transition:none}}
