:root{
  --good:#10b981; --good-bg:#ecfdf5;
  --ok:#f59e0b;   --ok-bg:#fffbeb;
  --bad:#ef4444;  --bad-bg:#fef2f2;
}

/* =========================
   Wrapper & Layout Shell
   ========================= */
.bn-wrap{
  max-width:100%;
  margin:12px auto;
  padding:0 6px;
  border-left:1px solid #f1f5f9;
  border-right:1px solid #f1f5f9;
}
@media (min-width:980px){
  .bn-wrap{ max-width:1024px; padding:0 8px; border:none; }
}
@media (min-width:1200px){
  .bn-wrap{ max-width:1200px; padding:0 10px; }
}

/* Single-column card blocks */
.bn-card{
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:10px;
  padding:12px;
  box-shadow:0 1px 6px rgba(0,0,0,.04);
  margin:10px 0;
}

/* Top navigator chips (Explore Other Life Paths) */
.bn-nav-top{ margin-top:6px; }
.bn-tags{ display:flex; gap:.4rem; flex-wrap:wrap; padding-bottom:.25rem; }
.bn-tag{
  background:#fff; border:1px solid #e5e7eb; border-radius:999px;
  padding:.3rem .65rem; text-decoration:none; color:#0078d4; transition:.15s;
}
.bn-tag:hover{ background:#0078d4; color:#fff; border-color:#0078d4; }
.bn-tag.is-active{ background:#0078d4; color:#fff; border-color:#0078d4; }

/* Duo grid (reserved for other pages; harmless here) */
.bn-duo{ display:grid; grid-template-columns:1fr; gap:10px; }
@media (min-width:656px){ .bn-duo{ grid-template-columns:1fr 1fr; } }

/* Status chips */
.bn-chip{ display:inline-block; padding:.2rem .55rem; border-radius:999px; font-weight:700; border:1px solid transparent; line-height:1.1; }
.bn-chip-good{ color:var(--good); background:var(--good-bg); border-color:var(--good); }
.bn-chip-ok{   color:var(--ok);   background:var(--ok-bg);   border-color:var(--ok); }
.bn-chip-bad{  color:var(--bad);  background:var(--bad-bg);  border-color:var(--bad); }

/* Comfortable reading */
.bn-longform{ line-height:1.75; }

/* =========================
   Accessible FAQ Accordion
   ========================= */
.bn-acc{ display:flex; flex-direction:column; gap:.5rem; }
.bn-acc-btn{
  width:100%; text-align:left; border:none; border-radius:10px;
  background:#0078d4; color:#fff; font-weight:700;
  padding:.7rem .9rem; cursor:pointer; transition:.15s;
}
.bn-acc-btn:hover, .bn-acc-btn:focus{ background:#111827; color:#fff; outline:none; }
.bn-acc-panel{
  overflow:hidden; max-height:0; transition:max-height .25s ease;
  background:#fff; border:1px solid #e5e7eb; border-radius:10px;
  margin-top:.35rem; padding:0 1rem;
}
.bn-acc-panel[data-open="1"]{ padding:.7rem 1rem; }
.bn-acc-item[aria-open="true"] .bn-acc-panel{ max-height:600px; }

/* CTA (FAQ palette) */
.bn-btn-normal{
  background:#0078d4; color:#fff; border:1px solid #0078d4;
  border-radius:999px; font-weight:700; text-decoration:none;
  padding:.5rem .85rem; display:inline-block; transition:.15s;
}
.bn-btn-normal:hover, .bn-btn-normal:focus{ background:#111827; color:#fff; border-color:#111827; outline:none; }

/* =========================
   Name pills
   ========================= */
.bn-name-list{ display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:.6rem; list-style:none; padding:0; margin:0; }
.bn-name-pill{
  display:block; padding:.5rem .7rem; border-radius:999px;
  border:1px solid #e5e7eb; text-decoration:none; text-align:center; transition:.15s;
}
.bn-name-pill:hover{ background:#111827; color:#fff; border-color:#111827; }

/* =========================
   Ads helpers
   ========================= */
.bn-ad{ margin:10px 0; }
.bn-ad > ins.adsbygoogle{ display:block !important; max-width:100% !important; }
.bn-ad-fullbleed{ margin-left:-6px; margin-right:-6px; }
@media (min-width:980px){
  .bn-ad-fullbleed{ margin-left:-8px; margin-right:-8px; }
}
@media (min-width:1200px){
  .bn-ad-fullbleed{ margin-left:-10px; margin-right:-10px; }
}
.bn-ad-grid{ display:grid; gap:10px; }
@media (min-width:980px){ .bn-ad-grid{ grid-template-columns:1fr 1fr; } }

/* =========================
   Utilities
   ========================= */
.lead{ font-size:15.5px; color:#333; margin-top:6px; }
.bn-bp__bullets{ margin:12px 0 0 16px; }
.bn-bp__bullets li{ margin:4px 0; }
.bn-bp__quick{
  margin:18px 0 10px; padding:12px; border:1px dashed #e0e0e0;
  border-radius:12px; background:#fcfcfc;
}
.bn-bp__quick-row{ display:flex; gap:8px; flex-wrap:wrap; }
.bn-btn{ display:inline-block; padding:8px 12px; border-radius:8px; border:1px solid #111; background:#111; color:#fff; text-decoration:none; }
.bn-btn--link{ border-color:#3a3a3a; background:#3a3a3a; }
.bn-btn--ghost{ background:#fff; color:#111; border:1px solid #bbb; }
.bn-btn--big{ padding:10px 16px; font-size:15px; }
.bn-bp__steps{ display:flex; gap:8px; flex-wrap:wrap; margin:8px 0 14px; }
.chip{ border:1px solid #ddd; border-radius:999px; padding:6px 10px; background:#fff; font-size:13px; cursor:pointer; }
.chip.is-active{ border-color:#111; font-weight:600; }
.help{ display:block; color:#666; font-size:12px; }
.hint{ color:#555; font-size:13px; margin-top:6px; }
.bn-top{
  position:fixed; right:12px; bottom:12px; width:40px; height:40px;
  border-radius:999px; border:1px solid #e5e7eb; background:#fff;
  box-shadow:0 2px 8px rgba(0,0,0,.08); cursor:pointer;
  display:flex; align-items:center; justify-content:center; font-size:20px; line-height:1;
}
.screen-reader-text{
  position:absolute !important; height:1px; width:1px; overflow:hidden;
  clip:rect(1px,1px,1px,1px); white-space:nowrap;
}

/* =========================
   Planner-specific blocks
   ========================= */
/* Keep .bn-bp minimal – container width handled by .bn-wrap */
.bn-bp{ width:100%; }

/* Panels (tabs/steps) */
.bn-bp__panel{ display:none; }
.bn-bp__panel.is-active{ display:block; }

/* Forms & rows */
.bn-bp__form{
  display:grid; gap:12px; background:#fafafa;
  border:1px solid #eee; padding:16px; border-radius:12px;
}
.bn-bp__row{ display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:12px; }
.bn-bp__grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:8px 14px; }

/* Results */
.bn-bp__results{ margin:16px 0 8px; }
.bn-bp__results ol{ padding-left:18px; display:grid; gap:12px; }
.bn-bp__results li{
  background:#fff; border:1px solid #eee; border-left:4px solid #ddd;
  padding:12px; border-radius:10px;
}
.bn-bp__results li.good{ border-left-color:#29b36b; }
.bn-bp__results li.ok{   border-left-color:#f0b429; }
.bn-bp__results li.bad{  border-left-color:#d66; opacity:.95; }
.bn-bp__results .row{ display:flex; gap:16px; flex-wrap:wrap; }
.bn-bp__loading{ padding:10px; }

/* Summary + helper blocks */
.bn-bp__summary .card{
  background:#fff; border:1px solid #eee; border-left:4px solid #29b36b;
  padding:14px; border-radius:12px; margin:16px 0;
}
.bn-bp__summary ol{ padding-left:18px; }
.bn-bp__how{
  margin:16px 0 6px; padding:12px; border:1px solid #eee;
  border-radius:12px; background:#fff;
}

/* Pills for discovered numbers */
.bn-bp__pillbar{ display:flex; flex-wrap:wrap; gap:8px; margin-top:8px; }
.bn-pill{ padding:6px 10px; border-radius:999px; border:1px solid #ddd; background:#fff; font-size:13px; }
.bn-pill a{ text-decoration:none; }

/* Note/footer */
.bn-bp__note{ font-size:13px; color:#666; margin-top:12px; }
