/* ============================================================
   birth-chart-blueprint.css
   Page-specific styles for /deep-readings/birth-chart-blueprint-v2/
   Loaded after birth-chart-v2.css (provides .ca-page hero base)
   and deep-readings-v2.css (provides .dr-page + medallion animations).
   ============================================================ */

.bcb-page{
  --ink-2:#3D2D44;
  --rose:#B96B7A;
  --rose-deep:#92505E;
}

/* Rose-pink page wash — matches /tarot/tarot-card-of-the-day/ + /personal-astrologer/.
   Three radial gradients (rose top-left, gold top-right, burgundy bottom).
   !important needed to win against body.ca-page's gold-only gradient set
   in birth-chart-v2.css (same specificity, source-order tie). */
/* Rose-pink page background is now provided by deep-readings-v2.css
   (body.dr-page rule). This page inherits it via body class="...dr-page bcb-page". */

/* Pink/rose-tinted background — matches /tarot/tarot-card-of-the-day/ byte-for-byte.
   Three radial gradients (rose top-left, gold top-right, burgundy bottom-center)
   layered over the base parchment. !important needed to win against the
   .ca-page gold-only gradient set in birth-chart-v2.css. */
body.bcb-page{
  background-image:
    radial-gradient(ellipse 70% 50% at 14% 8%, rgba(217, 150, 143, 0.16), transparent 65%),
    radial-gradient(ellipse 55% 40% at 88% 22%, rgba(184, 145, 80, 0.12), transparent 55%),
    radial-gradient(ellipse 70% 55% at 50% 110%, rgba(107, 31, 44, 0.10), transparent 60%) !important;
  /* Inherit background-attachment from .ca-page (fixed) — same as
     /deep-readings/ hub where smart-hide works correctly. */
}

/* Top page-hero block (back-link + Deep Readings dept + rule).
   Matches /tarot/'s page-hero byte-for-byte: max-width:920px so the
   .page-hero-back's left:-130px hangs into the side margin correctly. */
.bcb-page .pa-hero-top{
  position:relative;
  padding:2rem 2rem 1.5rem;
  max-width:920px;
  margin:0 auto;
  text-align:center;
}
.bcb-page .pa-hero-top .page-hero-dept{margin-top:.25rem}

/* Force the 2-col hero grid to actually be 2-col on any viewport > 880px.
   min-width:0 lets the chat column shrink instead of overflowing/collapsing. */
.bcb-page .hero-c{
  display:grid !important;
  grid-template-columns:1.4fr .75fr !important;   /* narrower illustration card */
  align-items:stretch !important;                  /* both columns end at the same Y */
  gap:3rem !important;                             /* more breathing room between button + card */
}
.bcb-page .hero-c > .copy,
.bcb-page .hero-c > .chat-preview-v2,
.bcb-page .hero-c > .bcb-manuscript{min-width:0}

@media(max-width:880px){
  .bcb-page .hero-c{grid-template-columns:1fr !important}
}

/* Brand-v2 primary CTA button (works on <a> AND <button>). */
.bcb-page .btn-buy{
  display:inline-block;
  font-family:'Cinzel',serif;
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;
  font-size:1rem;
  padding:1.05rem 2.4rem;
  background:linear-gradient(180deg,#D4AC68,#B89150);
  color:#4A1620;
  border:1px solid #8E6E3A;
  border-radius:99px;
  cursor:pointer;
  box-shadow:0 4px 12px rgba(184,145,80,.35),inset 0 1px 0 rgba(255,255,255,.5);
  text-decoration:none;
  text-shadow:0 1px 0 rgba(255,255,255,.25);
  font-style:normal;            /* reset native <button> italic */
  -webkit-appearance:none;
  appearance:none;
  line-height:1.1;
}
.bcb-page .btn-buy:hover{filter:brightness(1.05)}
.bcb-page .btn-buy:focus-visible{outline:2px solid #D4AC68;outline-offset:3px}

/* Secondary button — SOLID burgundy pill, pairs with gold primary.
   Default = filled burgundy with gold-shimmer text. Hover = white fill
   with burgundy text (inverts cleanly without going garish). */
.bcb-page .btn-secondary{
  display:inline-block;
  font-family:'Cinzel',serif;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
  font-size:.92rem;
  padding:1rem 1.9rem;
  background:#6B1F2C;
  color:#F0D89A;
  border:1.5px solid #6B1F2C;
  border-radius:99px;
  cursor:pointer;
  box-shadow:0 4px 10px rgba(74,22,32,.22),inset 0 1px 0 rgba(255,255,255,.08);
  text-decoration:none;
  margin-left:.85rem;
  font-style:normal;
  -webkit-appearance:none;
  appearance:none;
  line-height:1.1;
  transition:background .22s ease, color .22s ease, transform .22s ease, box-shadow .22s ease;
}
.bcb-page .btn-secondary:hover{
  background:#FFFFFF;
  color:#6B1F2C;
  border-color:#6B1F2C;
  transform:translateY(-1px);
  box-shadow:0 6px 14px rgba(74,22,32,.18);
}
.bcb-page .btn-secondary:focus-visible{outline:2px solid #D4AC68;outline-offset:3px}
@media(max-width:480px){
  .bcb-page .btn-secondary{margin-left:0;margin-top:.85rem;display:block;width:100%}
}

    /* --- Hero (Option C v2 — locked) --- */
    .hero-c-wrap{
      position:relative;
      max-width:1160px;
      margin:0 auto;
      padding:2.5rem 1.5rem 1rem;
    }
    .page-hero-back-c{
      position:absolute;
      top:1.5rem;
      left:-130px;
      display:inline-flex;
      align-items:center;
      gap:.4rem;
      font-family:'EB Garamond',serif;
      font-variant:small-caps;
      font-weight:700;
      font-size:.9rem;
      letter-spacing:.18em;
      color:var(--burgundy);
      text-decoration:none;
      padding-bottom:3px;
      border-bottom:1px solid var(--burgundy);
      white-space:nowrap;
      z-index:3;
      transition:color .2s, border-color .2s, left .2s;
    }
    .page-hero-back-c::before{content:"←";font-style:italic}
    .page-hero-back-c:hover{color:var(--rose-deep);border-color:var(--rose)}
    @media(max-width:1280px){.page-hero-back-c{left:-80px}}
    @media(max-width:1180px){.page-hero-back-c{left:-40px}}
    @media(max-width:1100px){.page-hero-back-c{left:0}}
    @media(max-width:640px){
      .page-hero-back-c{position:static;display:inline-flex;margin:0 auto 1.5rem}
      .hero-c-wrap{padding-top:1.5rem}
    }

    .hero-c .copy{padding-right:1rem}
    .hero-c .kicker{
      font-family:'EB Garamond',serif;
      font-variant:small-caps;
      font-weight:800;
      font-size:1.1rem;
      letter-spacing:.28em;
      color:var(--gold-deep);
      margin-bottom:.85rem;
    }
    .hero-c h1{
      font-family:'EB Garamond',serif;
      font-style:italic;
      font-weight:500;
      font-size:clamp(1.85rem,3.2vw,2.55rem);
      line-height:1.08;
      letter-spacing:-.018em;
      color:var(--ink);
      margin:0 0 1rem;
    }
    .hero-c h1 em{color:var(--burgundy);font-weight:600}

    .hero-c .lede-c{
      font-family:'EB Garamond',serif;
      font-weight:500;
      font-size:1.18rem;
      line-height:1.6;
      color:var(--ink-2);
      max-width:580px;
      margin:0 0 1.5rem;
    }
    .hero-c .lede-c em{font-style:italic;color:var(--burgundy)}

    .price-block-c{
      display:flex;align-items:center;flex-wrap:wrap;gap:1rem 1.25rem;
      margin:0 0 1.3rem;
      padding-bottom:1.3rem;
      border-bottom:1px solid rgba(142,110,58,.25);
    }
    .price-block-c .n{
      font-family:'EB Garamond',serif;
      font-weight:600;
      font-size:2.4rem;
      color:var(--burgundy-deep);
      line-height:1;
      letter-spacing:-.01em;
    }
    .price-meta{
      list-style:none;
      margin:0;
      padding:0;
      display:flex;
      align-items:center;
      flex-wrap:wrap;
      gap:.55rem .9rem;
    }
    .price-meta li{
      position:relative;
      font-family:'EB Garamond',serif;
      font-variant:small-caps;
      font-weight:700;
      font-size:1.15rem;
      letter-spacing:.14em;
      color:var(--burgundy-deep);
      padding-left:1.25rem;
    }
    .price-meta li::before{
      content:"✦";
      position:absolute;
      left:0;
      top:50%;
      transform:translateY(-52%);
      font-family:'EB Garamond',serif;
      font-variant:normal;
      font-weight:400;
      font-size:.85rem;
      color:var(--gold);
      letter-spacing:0;
      text-shadow:0 0 6px rgba(212,172,104,.4);
    }

    .hero-script-c{
      text-align:center;
      font-family:'Italianno',cursive;
      font-size:clamp(1.7rem,3.5vw,2.4rem);
      color:var(--burgundy);
      line-height:1;
      margin:1.5rem 0 .5rem;
      -webkit-text-stroke:.4px var(--burgundy);
    }

    /* Chat preview v2 — aubergine frame, cool palette */
    .chat-preview-v2{position:relative}
    .chat-frame{
      background:linear-gradient(180deg,#3A1F38,#2D1F38);
      border:1px solid var(--gold);
      border-radius:14px;
      padding:0;
      overflow:hidden;
      box-shadow:
        0 18px 48px rgba(58,31,56,.35),
        inset 0 0 0 1px rgba(212,172,104,.18);
      position:relative;
    }
    .chat-frame::before{
      content:"";position:absolute;inset:6px;border-radius:9px;
      border:1px solid rgba(212,172,104,.22);
      pointer-events:none;
    }
    .chat-bar-v2{
      display:flex;align-items:center;gap:.85rem;
      padding:.95rem 1.1rem;
      border-bottom:1px solid rgba(212,172,104,.3);
      background:
        linear-gradient(180deg,rgba(212,172,104,.10),transparent),
        radial-gradient(ellipse at 50% 0%,rgba(212,172,104,.12),transparent 70%);
      position:relative;
    }
    .chat-bar-v2::after{
      content:"";position:absolute;left:1rem;right:1rem;bottom:0;
      height:1px;
      background:linear-gradient(90deg,transparent,rgba(212,172,104,.55) 50%,transparent);
    }
    .cb-medallion{
      width:38px;height:38px;flex-shrink:0;
      border-radius:99px;
      background:radial-gradient(circle at 30% 25%,rgba(212,172,104,.18),rgba(58,31,56,.6));
      box-shadow:inset 0 0 0 1px rgba(212,172,104,.4),0 2px 6px rgba(0,0,0,.35);
      display:flex;align-items:center;justify-content:center;
    }
    .cb-medallion svg{width:100%;height:100%}
    .cb-titles{
      display:flex;flex-direction:column;align-items:flex-start;
      gap:.05rem;
      min-width:0;
      flex:1;
    }
    .cb-title-row{
      display:flex;align-items:center;gap:.55rem;
    }
    .cb-orn{
      color:var(--gold);
      font-size:.7rem;
      opacity:.7;
    }
    .chat-bar-v2 .title{
      font-family:'Cinzel Decorative',serif;
      font-weight:500;
      font-size:.95rem;
      letter-spacing:.08em;
      color:var(--gold-bright);
      text-shadow:0 1px 0 rgba(0,0,0,.4);
      white-space:nowrap;
    }
    .cb-script{
      font-family:'Italianno',cursive;
      font-size:1.2rem;
      color:#F5EBD3;
      line-height:1;
      letter-spacing:.01em;
      margin-top:.05rem;
      opacity:.95;
      text-shadow:0 1px 0 rgba(0,0,0,.35);
    }
    .cb-status-pill{
      margin-left:auto;
      display:inline-flex;align-items:center;gap:.4rem;
      padding:.32rem .7rem;
      border-radius:99px;
      background:rgba(212,172,104,.10);
      border:1px solid rgba(212,172,104,.35);
      font-family:'EB Garamond',serif;
      font-variant:small-caps;
      font-weight:700;
      font-size:.72rem;
      letter-spacing:.18em;
      color:var(--gold-bright);
    }
    .cb-status-pill .dot{
      width:7px;height:7px;border-radius:99px;
      background:var(--gold-bright);
      box-shadow:0 0 8px var(--gold-bright);
      animation:pulse 2.2s ease-in-out infinite;
    }
    @keyframes pulse{0%,100%{opacity:.45;transform:scale(.85)}50%{opacity:1;transform:scale(1.2)}}

    @media(max-width:480px){
      .cb-script{display:none}
      .chat-bar-v2 .title{font-size:.82rem}
    }
    .chat-stream{
      padding:1.1rem 1.2rem 2rem;
      position:relative;
      max-height:360px;
      overflow:hidden;
    }

    @keyframes bub-in{
      from{opacity:0;transform:translateY(8px)}
      to{opacity:1;transform:translateY(0)}
    }
    .bub-v2{
      border-radius:12px;
      padding:.7rem .95rem;
      font-family:'EB Garamond',serif;
      font-size:.96rem;
      line-height:1.45;
      margin:0 0 .6rem;
      color:var(--ink);
      background:var(--vellum);
      border:1px solid rgba(212,172,104,.4);
      box-shadow:0 2px 6px rgba(0,0,0,.18);
      max-width:88%;
      animation:bub-in .6s ease-out both;
    }
    .bub-v2:nth-child(2){animation-delay:.2s}
    .bub-v2:nth-child(3){animation-delay:.5s}
    .bub-v2:nth-child(4){animation-delay:.8s}
    .bub-v2 em{font-style:italic;color:var(--burgundy)}
    .bub-v2 .who{
      font-family:'Cinzel',serif;
      font-size:.6rem;
      letter-spacing:.2em;
      text-transform:uppercase;
      color:var(--gold-deep);
      margin-bottom:.3rem;
    }
    .bub-v2.user{
      margin-left:auto;
      background:linear-gradient(180deg,#C99AA8,#B96B7A);
      color:#fff;
      border-color:rgba(255,255,255,.25);
      box-shadow:0 2px 8px rgba(146,80,94,.4);
    }
    .bub-v2.user .who{color:rgba(255,255,255,.85)}

    .chat-fade-v2{
      position:absolute;left:0;right:0;bottom:0;height:90px;
      background:linear-gradient(180deg,transparent,#2D1F38 85%);
      pointer-events:none;
    }
    .chat-cta-v2{
      text-align:center;
      margin-top:.85rem;
      font-family:'EB Garamond',serif;
      font-style:italic;
      font-size:.95rem;
      color:var(--gold-deep);
    }

    /* ============================================================
       BELOW-HERO PAGE STYLES
       ============================================================ */

    .pa-section{
      max-width:1080px;
      margin:0 auto;
      padding:4rem 1.5rem 3rem;
      position:relative;
    }
    .pa-section-head{
      text-align:center;
      margin:0 auto 2.5rem;
      max-width:640px;
    }
    .pa-section-head h2{
      font-family:'EB Garamond',serif;
      font-style:italic;
      font-weight:500;
      font-size:clamp(1.85rem,3.5vw,2.85rem);
      line-height:1.1;
      letter-spacing:-.018em;
      color:var(--ink);
      margin:0 0 .9rem;
    }
    .pa-section-head h2 em{color:var(--burgundy);font-weight:600}
    .pa-section-lede{
      font-family:'EB Garamond',serif;
      font-weight:500;
      font-size:1.1rem;
      line-height:1.55;
      color:var(--ink-2);
      max-width:520px;
      margin:.25rem auto 0;
    }

    /* Trust strip */
    .pa-trust{
      background:linear-gradient(180deg,#FAF1E1,#F4E6C5);
      border-top:1px solid rgba(142,110,58,.25);
      border-bottom:1px solid rgba(142,110,58,.25);
      margin-top:3rem;
      padding:2.2rem 1.5rem;
    }
    .pa-trust-inner{
      display:grid;
      grid-template-columns:1fr auto 1fr auto 1fr;
      gap:1.5rem;
      align-items:center;
      max-width:1080px;
      margin:0 auto;
    }
    .pa-trust-item{text-align:center;padding:0 .5rem}
    .pa-trust-mark{
      font-family:'EB Garamond',serif;
      font-size:1.85rem;
      color:var(--gold);
      margin-bottom:.5rem;
      text-shadow:0 0 10px rgba(212,172,104,.45);
    }
    .pa-trust-item h5{
      font-family:'EB Garamond',serif;
      font-variant:small-caps;
      font-weight:800;
      font-size:1.25rem;
      letter-spacing:.14em;
      color:var(--burgundy-deep);
      margin:0 0 .5rem;
    }
    .pa-trust-item p{
      font-family:'EB Garamond',serif;
      font-weight:500;
      font-size:1.1rem;
      line-height:1.55;
      color:var(--ink);
      margin:0 auto;
      max-width:28ch;
    }
    .pa-trust-rule{
      width:1px;height:60px;
      background:linear-gradient(180deg,transparent,rgba(142,110,58,.5) 50%,transparent);
    }
    @media(max-width:760px){
      .pa-trust-inner{grid-template-columns:1fr;gap:1.5rem}
      .pa-trust-rule{display:none}
    }

    /* Recipe row — 3 ingredient cards + equals + answer */
    .pa-recipe{
      display:grid;
      grid-template-columns:1fr auto 1fr auto 1fr;
      gap:1rem;
      align-items:stretch;
      max-width:1000px;
      margin:0 auto 1rem;
    }
    .pa-recipe-card{
      position:relative;
      background:linear-gradient(180deg,#FFF8E2,#FAF1E1);
      border:1px solid rgba(142,110,58,.4);
      border-radius:10px;
      padding:1.75rem 1.5rem 1.75rem;
      text-align:center;
      box-shadow:0 4px 14px rgba(74,22,32,.07);
    }
    .pa-recipe-card::before{
      content:"";position:absolute;inset:6px;border-radius:6px;
      border:1px solid rgba(212,172,104,.32);pointer-events:none;
    }
    .pa-recipe-mark{
      font-family:'EB Garamond',serif;
      font-size:2rem;
      color:var(--gold);
      line-height:1;
      margin-bottom:.7rem;
      text-shadow:0 0 12px rgba(212,172,104,.45);
    }
    .pa-recipe-eyebrow{
      font-family:'EB Garamond',serif;
      font-variant:small-caps;
      font-weight:800;
      font-size:1.18rem;
      letter-spacing:.14em;
      color:var(--burgundy-deep);
      margin-bottom:.7rem;
      line-height:1.1;
    }
    .pa-recipe-card p{
      font-family:'EB Garamond',serif;
      font-weight:500;
      font-size:1.1rem;
      line-height:1.6;
      color:var(--ink);
      margin:0;
    }
    .pa-recipe-op{
      display:flex;align-items:center;justify-content:center;
      font-family:'Cinzel Decorative',serif;
      font-weight:500;
      font-size:2rem;
      color:var(--gold-deep);
      padding:0 .25rem;
    }
    .pa-recipe-result{
      grid-column:1 / -1;
      margin-top:1rem;
      padding:1.4rem 1rem;
      text-align:center;
      background:linear-gradient(180deg,rgba(58,31,56,.04),rgba(58,31,56,.10));
      border-top:1px solid rgba(142,110,58,.35);
      border-bottom:1px solid rgba(142,110,58,.35);
    }
    .pa-recipe-equals{
      display:inline-block;
      font-family:'Cinzel Decorative',serif;
      font-weight:500;
      font-size:2rem;
      color:var(--gold-deep);
      vertical-align:middle;
      margin-right:.75rem;
    }
    .pa-recipe-answer{
      font-family:'EB Garamond',serif;
      font-style:italic;
      font-weight:500;
      font-size:clamp(1.3rem,2.5vw,1.7rem);
      color:var(--ink);
      vertical-align:middle;
    }
    .pa-recipe-answer em{color:var(--burgundy);font-style:italic;font-weight:600}

    @media(max-width:880px){
      .pa-recipe{grid-template-columns:1fr;gap:.85rem}
      .pa-recipe-op{padding:.1rem 0;font-size:1.5rem}
      .pa-recipe-result{margin-top:.5rem}
    }

    /* Divider + eyebrow between recipe and 6 checks */
    .pa-section-rule{
      width:120px;height:1px;
      margin:3rem auto 1.2rem;
      background:linear-gradient(90deg,transparent,var(--gold) 50%,transparent);
    }
    .pa-checks-eyebrow{
      text-align:center;
      font-family:'EB Garamond',serif;
      font-variant:small-caps;
      font-weight:800;
      font-size:1.45rem;
      letter-spacing:.24em;
      color:var(--gold-deep);
      margin-bottom:2rem;
    }

    /* Six-check grid (legacy content, brand v2 chrome) */
    .pa-checks{
      display:grid;
      grid-template-columns:repeat(2,1fr);
      gap:1.5rem 2.5rem;
      max-width:920px;
      margin:0 auto;
    }
    .pa-check-item{
      display:grid;
      grid-template-columns:54px 1fr;
      gap:1rem;
      align-items:start;
    }
    .pa-check-seal{
      width:54px;height:54px;flex-shrink:0;
      background:radial-gradient(circle at 30% 25%,#FFF8E2,#F4E6C5);
      border-radius:99px;
      box-shadow:inset 0 0 0 1px rgba(212,172,104,.45),0 3px 7px rgba(74,22,32,.10);
    }
    .pa-check-seal svg{width:100%;height:100%;display:block}
    .pa-check-item h4{
      font-family:'EB Garamond',serif;
      font-variant:small-caps;
      font-weight:800;
      font-size:1.18rem;
      letter-spacing:.13em;
      color:var(--burgundy-deep);
      margin:.55rem 0 .4rem;
      line-height:1;
    }
    .pa-check-item p{
      font-family:'EB Garamond',serif;
      font-weight:500;
      font-size:1.12rem;
      line-height:1.65;
      color:var(--ink);
      margin:0;
    }
    .pa-check-item p em{font-style:italic;color:var(--burgundy)}
    @media(max-width:680px){
      .pa-checks{grid-template-columns:1fr;gap:1.4rem}
    }

    /* Sample excerpt blockquote */
    .pa-excerpt{
      position:relative;
      max-width:760px;
      margin:3rem auto 1.5rem;
      padding:2.5rem 2.5rem 2.5rem;
      background:linear-gradient(180deg,#FFF8E2,#FAF1E1);
      border:1px solid rgba(142,110,58,.4);
      border-radius:10px;
      box-shadow:0 6px 22px rgba(74,22,32,.08);
      text-align:center;
    }
    .pa-excerpt::before{
      content:"";position:absolute;inset:8px;border-radius:6px;
      border:1px solid rgba(212,172,104,.32);pointer-events:none;
    }
    .pa-excerpt-orn{
      position:absolute;
      top:-12px;left:50%;transform:translateX(-50%);
      background:var(--vellum);
      width:30px;height:30px;line-height:30px;
      border-radius:99px;
      color:var(--gold);
      font-size:.95rem;
      text-shadow:0 0 8px rgba(212,172,104,.5);
      border:1px solid rgba(142,110,58,.4);
    }
    .pa-excerpt-orn-end{top:auto;bottom:-12px}
    .pa-excerpt-eyebrow{
      font-family:'EB Garamond',serif;
      font-variant:small-caps;
      font-weight:800;
      font-size:1.45rem;
      letter-spacing:.24em;
      color:var(--gold-deep);
      margin-bottom:1.1rem;
    }
    .pa-excerpt blockquote{
      font-family:'EB Garamond',serif;
      font-style:italic;
      font-weight:500;
      font-size:1.3rem;
      line-height:1.55;
      color:#2D1F38;
      margin:0;
      letter-spacing:.005em;
    }
    .pa-excerpt blockquote em{color:var(--burgundy);font-style:italic;font-weight:500}

    /* Delivered pill */
    .pa-delivered-wrap{
      text-align:center;
      margin-top:2rem;
    }
    .pa-delivered{
      display:inline-block;
      font-family:'EB Garamond',serif;
      font-variant:small-caps;
      font-weight:700;
      font-size:1rem;
      letter-spacing:.22em;
      color:var(--burgundy-deep);
      padding:.55rem 1.4rem;
      border:1px solid rgba(142,110,58,.45);
      border-radius:99px;
      background:linear-gradient(180deg,rgba(255,255,255,.6),rgba(212,172,104,.10));
      box-shadow:0 2px 8px rgba(74,22,32,.06);
    }

    /* (kept for any leftover usage but no longer the primary card grid) */
    .pa-cards{
      display:grid;
      grid-template-columns:repeat(2,1fr);
      gap:1.5rem;
      max-width:880px;
      margin:0 auto;
    }
    .pa-card{
      position:relative;
      background:linear-gradient(180deg,#FFF8E2,#FAF1E1);
      border:1px solid rgba(142,110,58,.35);
      border-radius:8px;
      padding:2rem 1.5rem 1.5rem;
      box-shadow:0 4px 14px rgba(74,22,32,.06);
      text-align:center;
    }
    .pa-card::before{
      content:"";position:absolute;inset:6px;border-radius:5px;
      border:1px solid rgba(212,172,104,.3);
      pointer-events:none;
    }
    .pa-numeral{
      font-family:'Cinzel Decorative',serif;
      font-weight:700;
      font-size:2.4rem;
      color:var(--gold);
      line-height:1;
      margin-bottom:.6rem;
      text-shadow:0 0 12px rgba(212,172,104,.35);
    }
    .pa-card h4{
      font-family:'EB Garamond',serif;
      font-variant:small-caps;
      font-weight:800;
      font-size:1.15rem;
      letter-spacing:.14em;
      color:var(--burgundy-deep);
      margin:0 0 .55rem;
    }
    .pa-card p{
      font-family:'EB Garamond',serif;
      font-size:1rem;
      line-height:1.55;
      color:var(--ink-2);
      margin:0;
    }
    @media(max-width:640px){.pa-cards{grid-template-columns:1fr}}

    /* How it works */
    .pa-how{
      background:radial-gradient(ellipse at 50% 0%,rgba(212,172,104,.10),transparent 60%);
    }
    .pa-steps{
      list-style:none;
      margin:0 auto;
      padding:0;
      max-width:680px;
    }
    .pa-steps li{
      display:grid;
      grid-template-columns:92px 1fr;
      gap:1.75rem;
      align-items:start;
      padding:1.85rem 0;
      border-bottom:1px solid rgba(142,110,58,.2);
    }
    .pa-steps li:last-child{border-bottom:none}
    .pa-step-num{
      width:78px;height:78px;
      border-radius:99px;
      background:radial-gradient(circle at 30% 25%,#FFF8E2,#F4E6C5);
      border:1px solid rgba(142,110,58,.45);
      display:flex;align-items:center;justify-content:center;
      font-family:'Cinzel Decorative',serif;
      font-weight:700;
      font-size:1.85rem;
      color:var(--burgundy);
      box-shadow:inset 0 0 0 1px rgba(212,172,104,.4),0 3px 8px rgba(74,22,32,.08);
    }
    .pa-steps h4{
      font-family:'EB Garamond',serif;
      font-style:italic;
      font-weight:500;
      font-size:1.95rem;
      color:var(--ink);
      margin:.55rem 0 .45rem;
      line-height:1.05;
    }
    .pa-steps p{
      font-family:'EB Garamond',serif;
      font-weight:500;
      font-size:1.2rem;
      line-height:1.55;
      color:var(--ink);
      margin:0;
    }

    /* Sample frame */
    .pa-sample-frame{max-width:720px;margin:0 auto}
    .chat-stream-tall{max-height:none !important;overflow:visible !important}
    .pa-sample-frame .chat-fade-v2{display:none}
    .pa-sample-foot{
      text-align:center;
      margin:1.5rem auto 0;
      max-width:640px;
      font-family:'EB Garamond',serif;
      font-style:italic;
      font-size:.98rem;
      color:var(--gold-deep);
    }
    .pa-foot-mark{color:var(--gold);margin:0 .5rem}
    .pa-sample-foot em{color:var(--burgundy);font-style:italic}

    /* Buy band (repeat) */
    .pa-buy-band{
      max-width:680px;
      margin:3rem auto 0;
      padding:3rem 2rem;
      background:linear-gradient(180deg,#FFF8E2,#F4E6C5);
      border:1px solid rgba(142,110,58,.45);
      border-radius:10px;
      text-align:center;
      box-shadow:0 8px 28px rgba(74,22,32,.10),inset 0 0 0 1px rgba(255,255,255,.45);
      position:relative;
    }
    .pa-buy-band::before{
      content:"";position:absolute;inset:8px;border-radius:6px;
      border:1px solid rgba(212,172,104,.35);pointer-events:none;
    }
    .pa-buy-band .page-hero-dept{margin-bottom:.6rem}
    .pa-buy-band h2{
      font-family:'EB Garamond',serif;
      font-style:italic;
      font-weight:500;
      font-size:clamp(1.6rem,3vw,2.2rem);
      color:var(--ink);
      line-height:1.15;
      margin:0 0 1.5rem;
    }
    .pa-buy-band h2 em{color:var(--burgundy);font-weight:600}
    .price-block-center{justify-content:center;border-bottom:none !important;padding-bottom:0 !important;margin-bottom:1.3rem !important}
    .pa-buy-micro{
      font-family:'EB Garamond',serif;
      font-style:italic;
      font-weight:500;
      font-size:1rem;
      color:var(--burgundy-deep);
      margin:.9rem 0 0;
    }

    /* Cross-sell — Other deep readings */
    .pa-cross{
      max-width:1180px;
      margin:5rem auto 0;
      padding:0 1.5rem;
    }
    /* "Other deep readings you might enjoy" eyebrow — bumped larger so it
       reads as a real section heading, not a small-caps tag. */
    .pa-cross .pa-section-head .page-hero-dept{
      font-size:1.55rem;
      letter-spacing:.16em;
    }
    .pa-cross-grid{
      display:grid;
      grid-template-columns:repeat(4,1fr);
      gap:1.4rem;
    }
    .pa-cross-card{
      position:relative;
      display:flex;
      flex-direction:column;
      background:linear-gradient(180deg,#FFF8E2,#FAF1E1);
      border:1px solid rgba(142,110,58,.4);
      border-radius:10px;
      padding:1.5rem 1.2rem 1.4rem;
      text-decoration:none;
      color:inherit;
      box-shadow:0 4px 14px rgba(74,22,32,.06);
      transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
    }
    .pa-cross-card::before{
      content:"";position:absolute;inset:6px;border-radius:6px;
      border:1px solid rgba(212,172,104,.3);pointer-events:none;
    }
    .pa-cross-card:hover{
      transform:translateY(-3px);
      box-shadow:0 10px 26px rgba(74,22,32,.12);
      border-color:rgba(142,110,58,.6);
    }
    .pa-cross-medallion{
      width:104px;height:104px;
      margin:0 auto .9rem;
    }
    .pa-cross-medallion svg{width:100%;height:100%;display:block}

    /* Orbit medallion — sun + planets (no dark background) */
    .pa-cross-orbit .med-sun-orb{
      transform-origin:50px 50px;
      animation:crossSunPulse 3s ease-in-out infinite;
    }
    @keyframes crossSunPulse{
      0%,100%{transform:scale(1);filter:drop-shadow(0 0 4px rgba(240,216,154,.7))}
      50%{transform:scale(1.13);filter:drop-shadow(0 0 10px rgba(240,216,154,1))}
    }
    .pa-cross-orbit .med-sun-rays{
      transform-origin:50px 50px;
      animation:crossSunRotate 24s linear infinite, crossSunRayPulse 3s ease-in-out infinite;
    }
    @keyframes crossSunRotate{to{transform:rotate(360deg)}}
    @keyframes crossSunRayPulse{0%,100%{opacity:.5}50%{opacity:1}}
    .pa-cross-orbit .med-orbit-line{
      fill:none;
      stroke:rgba(142,110,58,.22);
      stroke-width:.4;
    }
    .pa-cross-orbit .med-orbiter{transform-origin:50px 50px}
    .pa-cross-orbit .med-orbiter-1{animation:crossOrbit 7s linear infinite reverse}
    .pa-cross-orbit .med-orbiter-2{animation:crossOrbit 11s linear infinite reverse}
    .pa-cross-orbit .med-orbiter-3{animation:crossOrbit 17s linear infinite reverse}
    .pa-cross-orbit .med-orbiter-4{animation:crossOrbit 25s linear infinite reverse}
    @keyframes crossOrbit{to{transform:rotate(360deg)}}

    /* Numerals medallion — 3-6-9 pulse + halo */
    .dr-svg-numerals .dr-n-num-top{
      transform-origin:48px 30px;
      animation:numPulse 4.5s ease-in-out infinite;
    }
    .dr-svg-numerals .dr-n-num-left{
      transform-origin:28px 68px;
      animation:numPulse 4.5s ease-in-out infinite 1.5s;
    }
    .dr-svg-numerals .dr-n-num-right{
      transform-origin:68px 68px;
      animation:numPulse 4.5s ease-in-out infinite 3s;
    }
    @keyframes numPulse{
      0%,100%{opacity:.7;transform:scale(1)}
      50%{opacity:1;transform:scale(1.18)}
    }
    .dr-svg-numerals .dr-n-halo{
      transform-origin:48px 26px;
      animation:haloPulse 4.5s ease-in-out infinite;
    }
    @keyframes haloPulse{
      0%,100%{transform:scale(1);opacity:.55}
      50%{transform:scale(1.25);opacity:.85}
    }
    .dr-svg-numerals .dr-n-star-1{animation:starTwinkle 3s ease-in-out infinite .2s}
    .dr-svg-numerals .dr-n-star-2{animation:starTwinkle 3s ease-in-out infinite .9s}
    .dr-svg-numerals .dr-n-star-3{animation:starTwinkle 3s ease-in-out infinite 1.6s}
    .dr-svg-numerals .dr-n-star-4{animation:starTwinkle 3s ease-in-out infinite 2.3s}
    .dr-svg-numerals .dr-n-star-5{animation:starTwinkle 3s ease-in-out infinite .5s}
    .dr-svg-numerals .dr-n-star-6{animation:starTwinkle 3s ease-in-out infinite 1.2s}
    .dr-svg-numerals .dr-n-star-7{animation:starTwinkle 3s ease-in-out infinite 1.9s}
    @keyframes starTwinkle{0%,100%{opacity:.25}50%{opacity:1}}
    .pa-cross-eyebrow{
      font-family:'EB Garamond',serif;
      font-variant:small-caps;
      font-weight:800;
      font-size:.85rem;
      letter-spacing:.22em;
      color:var(--gold-deep);
      text-align:center;
      margin-bottom:.45rem;
    }
    .pa-cross-card h4{
      font-family:'EB Garamond',serif;
      font-style:italic;
      font-weight:500;
      font-size:1.35rem;
      color:var(--ink);
      text-align:center;
      margin:0 0 .55rem;
      line-height:1.1;
    }
    .pa-cross-card p{
      font-family:'EB Garamond',serif;
      font-size:1rem;
      line-height:1.5;
      color:var(--ink-2);
      text-align:center;
      margin:0 0 1rem;
      flex:1;
    }
    .pa-cross-foot{
      display:flex;
      flex-direction:column;
      align-items:center;
      gap:.15rem;
      padding-top:.9rem;
      border-top:1px solid rgba(142,110,58,.3);
    }
    .pa-cross-foot .price{
      font-family:'EB Garamond',serif;
      font-weight:700;
      font-size:1.6rem;
      color:var(--burgundy-deep);
      line-height:1.1;
    }
    .pa-cross-foot .meta{
      font-family:'EB Garamond',serif;
      font-variant:small-caps;
      font-weight:800;
      font-size:1.02rem;
      letter-spacing:.18em;
      color:var(--burgundy-deep);
    }
    @media(max-width:980px){.pa-cross-grid{grid-template-columns:repeat(2,1fr)}}
    @media(max-width:540px){.pa-cross-grid{grid-template-columns:1fr}}

    /* Membership upsell */
    .pa-upsell{
      max-width:1080px;
      margin:5rem auto 3rem;
      padding:0 1.5rem;
    }
    .pa-upsell-inner{
      background:linear-gradient(180deg,#3A1F38,#2D1F38);
      border:1px solid var(--gold);
      border-radius:14px;
      padding:2.5rem 3rem;
      display:grid;
      grid-template-columns:auto 1fr;
      gap:2.5rem;
      align-items:center;
      box-shadow:0 22px 60px rgba(58,31,56,.4),inset 0 0 0 1px rgba(212,172,104,.2);
      position:relative;
      overflow:hidden;
    }
    .pa-upsell-inner::before{
      content:"";position:absolute;inset:10px;border-radius:9px;
      border:1px solid rgba(212,172,104,.22);pointer-events:none;
    }
    .pa-upsell-medallion{
      width:140px;height:140px;
      flex-shrink:0;
      animation:drift 5s ease-in-out infinite;
    }
    .pa-upsell-eyebrow{
      font-family:'EB Garamond',serif;
      font-variant:small-caps;
      font-weight:800;
      font-size:.95rem;
      letter-spacing:.3em;
      color:var(--gold-bright);
      margin-bottom:.55rem;
    }
    .pa-upsell h3{
      font-family:'EB Garamond',serif;
      font-style:italic;
      font-weight:500;
      font-size:clamp(1.6rem,2.8vw,2.05rem);
      color:#F5EBD3;
      line-height:1.15;
      margin:0 0 .85rem;
    }
    .pa-upsell h3 em{color:var(--gold-bright);font-weight:600}
    .pa-upsell-copy > p{
      font-family:'EB Garamond',serif;
      font-size:1.05rem;
      line-height:1.55;
      color:rgba(245,235,211,.85);
      margin:0 0 1rem;
    }
    .pa-upsell-benefits{
      list-style:none;padding:0;margin:0 0 1.4rem;
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:.4rem 1.2rem;
    }
    .pa-upsell-benefits li{
      position:relative;
      padding-left:1.4rem;
      font-family:'EB Garamond',serif;
      font-size:1rem;
      color:#F5EBD3;
    }
    .pa-upsell-benefits li::before{
      content:"✦";
      position:absolute;left:0;top:0;
      color:var(--gold-bright);
      font-size:.85rem;
    }
    .btn-buy-aubergine{
      background:linear-gradient(180deg,var(--gold-bright),var(--gold));
      color:var(--aubergine);
      border-color:var(--gold-bright);
    }
    .pa-upsell-copy .btn-buy{margin-bottom:1.4rem !important}
    .pa-upsell-micro{
      font-family:'EB Garamond',serif;
      font-style:italic;
      font-size:.95rem;
      color:rgba(245,235,211,.75);
      margin:0 !important;
      padding-top:0;
      display:block;
    }
    @media(max-width:760px){
      .pa-upsell-inner{grid-template-columns:1fr;text-align:center;padding:2.5rem 1.5rem}
      .pa-upsell-medallion{margin:0 auto}
      .pa-upsell-benefits{grid-template-columns:1fr;text-align:left;max-width:18rem;margin-left:auto;margin-right:auto}
    }

    /* Colophon */
    .pa-colophon{
      text-align:center;
      font-family:'EB Garamond',serif;
      font-style:italic;
      font-size:1.05rem;
      color:var(--gold-deep);
      padding:3rem 1.5rem 4rem;
      letter-spacing:.04em;
    }
    .pa-colophon span{color:var(--gold);font-style:normal;font-size:1.1rem}

    @keyframes drift{
      0%,100%{transform:translateY(0)}
      50%{transform:translateY(-4px)}
    }

    /* ════════════════════════════════════════════════════════════
       BCB-specific: ILLUMINATED MANUSCRIPT PAGE
       A real-feeling vellum book page with masthead, large rotating
       chart wheel (12 zodiac glyphs + 7 planets + aspect triangle),
       illuminated drop-cap paragraph, and ornamental flourishes.
       ════════════════════════════════════════════════════════════ */
    .bcb-page .bcb-manuscript{
      position:relative;
      min-width:0;
      display:flex;
      flex-direction:column;
    }
    .bcb-page .bcb-ms-frame{
      position:relative;
      flex:1;
      display:flex;
      flex-direction:column;
      background:
        radial-gradient(ellipse at 50% 0%, rgba(212,172,104,.10), transparent 70%),
        linear-gradient(180deg,#FFF8E2 0%,#FAF1E1 50%,#F4E6C5 100%);
      border:1px solid rgba(142,110,58,.6);
      border-radius:4px;
      padding:1.4rem 1.75rem 1.25rem;
      box-shadow:
        0 28px 64px rgba(74,22,32,.20),
        0 6px 14px rgba(74,22,32,.10),
        inset 0 0 0 1px rgba(212,172,104,.45);
      overflow:hidden;
    }
    /* Inner hairline frame */
    .bcb-page .bcb-ms-frame::before{
      content:"";position:absolute;inset:10px;border-radius:2px;
      border:1px solid rgba(142,110,58,.35);
      pointer-events:none;
    }
    /* Corner ornaments */
    .bcb-page .bcb-ms-corner{
      position:absolute;
      font-family:'EB Garamond',serif;
      color:#B89150;
      font-size:1.1rem;
      line-height:1;
      opacity:.65;
      z-index:2;
    }
    .bcb-page .bcb-ms-corner.tl{top:14px;left:18px}
    .bcb-page .bcb-ms-corner.tr{top:14px;right:18px}

    /* Masthead */
    .bcb-page .bcb-ms-masthead{
      text-align:center;
      padding:0 0 .9rem;
    }
    .bcb-page .bcb-ms-rule{
      height:1px;
      background:linear-gradient(90deg,transparent,#B89150 50%,transparent);
      margin:.5rem auto;
      max-width:80%;
    }
    .bcb-page .bcb-ms-title-line{
      display:flex;align-items:center;justify-content:center;gap:.7rem;
      margin:.3rem 0;
    }
    .bcb-page .bcb-ms-orn{color:#B89150;font-size:.78rem;opacity:.85}
    .bcb-page .bcb-ms-title{
      font-family:'Cinzel Decorative',serif;
      font-weight:700;
      font-size:1.18rem;
      letter-spacing:.06em;
      color:#6B1F2C;
      text-shadow:0 1px 0 rgba(255,255,255,.4);
    }
    .bcb-page .bcb-ms-script{
      font-family:'Italianno',cursive;
      font-size:1.4rem;
      color:#8E6E3A;
      line-height:1;
      letter-spacing:.01em;
      margin:.2rem 0;
    }

    /* Chart wheel — sized to keep the right column's height matching
       the left column (copy + buttons). flex:1 lets it center vertically
       in whatever space remains after the masthead + flourish. */
    .bcb-page .bcb-ms-wheel-wrap{
      text-align:center;
      margin:.75rem auto .5rem;
      flex:1;
      display:flex;
      align-items:center;
      justify-content:center;
    }
    .bcb-page .bcb-ms-wheel{
      width:240px;height:240px;
      max-width:100%;
      display:inline-block;
      filter:drop-shadow(0 6px 14px rgba(74,22,32,.18));
    }
    /* Rotating wheel group — outer rim + bead ring + 12 house spokes spin
       slowly (60s / turn). Zodiac glyphs sit OUTSIDE this group, so the
       rotation doesn't take them with it — they stay upright + readable.
       transform-box: view-box makes transform-origin use viewBox coordinates,
       so (100, 100) = exact wheel center regardless of Chrome's default. */
    @keyframes bcbWheelRotate{
      from { transform: rotate(0deg);   }
      to   { transform: rotate(360deg); }
    }
    .bcb-page .bcb-wheel-rot{
      transform-box: view-box;
      transform-origin: 100px 100px;
      animation: bcbWheelRotate 60s linear infinite;
    }
    /* Center sigil pulse */
    @keyframes bcbCenterPulse{
      0%,100% { opacity:.85; transform:scale(1); }
      50%     { opacity:1;   transform:scale(1.15); }
    }
    .bcb-page .bcb-center-pulse{
      transform-origin:100px 100px;
      animation: bcbCenterPulse 4s ease-in-out infinite;
    }

    /* Excerpt block with illuminated drop-cap.
       Larger body type + tighter line-height + bigger drop-cap, but the
       wheel above was shrunk so the total card height stays roughly the same. */
    .bcb-page .bcb-ms-excerpt-wrap{
      position:relative;
      padding:.4rem .15rem 0;
      max-height:none;
    }
    .bcb-page .bcb-ms-excerpt{
      font-family:'EB Garamond',serif;
      font-style:italic;
      font-weight:500;
      font-size:1.2rem;
      line-height:1.55;
      color:#1A1224;
      margin:0;
      letter-spacing:.005em;
    }
    .bcb-page .bcb-ms-excerpt em{font-style:italic;color:#6B1F2C;font-weight:600}
    .bcb-page .bcb-dropcap{
      float:left;
      font-family:'Cinzel Decorative',serif;
      font-weight:700;
      font-size:4rem;
      line-height:.82;
      color:#6B1F2C;
      padding:.18rem .55rem 0 0;
      margin-right:.1rem;
      text-shadow:0 1px 0 rgba(255,255,255,.45), 0 0 16px rgba(184,145,80,.4);
      background:linear-gradient(135deg,#6B1F2C 0%,#8E6E3A 50%,#6B1F2C 100%);
      background-clip:text;
      -webkit-background-clip:text;
      -webkit-text-fill-color:transparent;
    }
    .bcb-page .bcb-ms-fade{display:none}

    .bcb-page .bcb-ms-flourish{
      text-align:center;
      margin-top:.65rem;
      font-family:'EB Garamond',serif;
      color:#B89150;
      letter-spacing:.4em;
      font-size:.9rem;
      opacity:.7;
    }

    .bcb-page .bcb-ms-corner-mark{
      text-align:center;
      margin-top:1rem;
      font-family:'EB Garamond',serif;
      font-style:italic;
      font-size:.95rem;
      color:#8E6E3A;
    }

    /* ════════════════════════════════════════════════════════════
       EXAMPLE-READING MODAL (brand v2 aubergine + gold + parchment)
       ════════════════════════════════════════════════════════════ */
    .bcb-page .bcb-modal-backdrop{
      position:fixed;
      inset:0;
      background:radial-gradient(ellipse at 50% 30%, rgba(58,31,56,.78), rgba(45,31,56,.92));
      z-index:9000;
      display:none;
      overflow-y:auto;
      padding:3rem 1rem;
    }
    .bcb-page .bcb-modal-backdrop.open{display:flex;align-items:flex-start;justify-content:center}
    .bcb-page .bcb-modal{
      position:relative;
      max-width:780px;
      width:100%;
      background:
        radial-gradient(ellipse at 50% 0%, rgba(212,172,104,.10), transparent 60%),
        linear-gradient(180deg,#FFF8E2 0%,#FAF1E1 100%);
      border:1px solid #B89150;
      border-radius:6px;
      padding:3rem 3rem 2.5rem;
      box-shadow:
        0 40px 100px rgba(58,31,56,.55),
        inset 0 0 0 1px rgba(212,172,104,.4);
      color:#2D1F38;
    }
    .bcb-page .bcb-modal::before{
      content:"";position:absolute;inset:12px;border-radius:3px;
      border:1px solid rgba(142,110,58,.4);
      pointer-events:none;
    }
    .bcb-page .bcb-modal-close{
      position:absolute;
      top:.85rem;right:1rem;
      width:36px;height:36px;
      border-radius:99px;
      border:1px solid rgba(142,110,58,.5);
      background:rgba(255,255,255,.6);
      color:#6B1F2C;
      font-size:1.4rem;
      line-height:1;
      cursor:pointer;
      display:flex;align-items:center;justify-content:center;
      font-family:'EB Garamond',serif;
      transition:background .2s, color .2s, transform .2s;
      z-index:3;
    }
    .bcb-page .bcb-modal-close:hover{
      background:#6B1F2C;
      color:#F0D89A;
      transform:scale(1.08);
    }
    .bcb-page .bcb-modal-masthead{
      text-align:center;
      padding-bottom:1.4rem;
      margin-bottom:1.4rem;
      border-bottom:1px solid rgba(142,110,58,.4);
    }
    .bcb-page .bcb-modal-eyebrow{
      font-family:'EB Garamond',serif;
      font-variant:small-caps;
      font-weight:800;
      font-size:.95rem;
      letter-spacing:.28em;
      color:#8E6E3A;
      margin-bottom:.6rem;
    }
    .bcb-page .bcb-modal h3{
      font-family:'EB Garamond',serif;
      font-style:italic;
      font-weight:500;
      font-size:clamp(1.6rem,3vw,2.2rem);
      color:#2D1F38;
      line-height:1.15;
      margin:0 0 .55rem;
    }
    .bcb-page .bcb-modal-sub{
      font-family:'EB Garamond',serif;
      font-style:italic;
      font-size:1rem;
      color:#8E6E3A;
    }
    .bcb-page .bcb-modal-chart{
      text-align:center;
      margin:0 auto 2rem;
    }
    .bcb-page .bcb-modal-chart img{
      max-width:420px;
      width:100%;
      height:auto;
      border-radius:6px;
      filter:drop-shadow(0 6px 16px rgba(74,22,32,.18));
    }
    .bcb-page .bcb-modal-section{
      margin:0 0 2rem;
    }
    .bcb-page .bcb-modal-h{
      font-family:'Cinzel',serif;
      font-weight:700;
      font-size:1.2rem;
      letter-spacing:.16em;
      text-transform:uppercase;
      color:#6B1F2C;
      margin:0 0 .9rem;
      padding-bottom:.5rem;
      border-bottom:1px solid rgba(142,110,58,.3);
    }
    .bcb-page .bcb-modal-section p{
      font-family:'EB Garamond',serif;
      font-weight:500;
      font-size:1.08rem;
      line-height:1.7;
      color:#2D1F38;
      margin:0 0 1rem;
    }
    .bcb-page .bcb-modal-section p em{font-style:italic;color:#6B1F2C}
    .bcb-page .bcb-modal-footer{
      text-align:center;
      margin:2rem auto 1.5rem;
      padding:1rem 1.5rem;
      background:rgba(184,145,80,.10);
      border-top:1px solid rgba(142,110,58,.3);
      border-bottom:1px solid rgba(142,110,58,.3);
      font-family:'EB Garamond',serif;
      font-style:italic;
      font-size:.98rem;
      color:#3D2D44;
      line-height:1.55;
    }
    .bcb-page .bcb-modal-footer strong{color:#6B1F2C;font-style:italic;font-weight:600}
    .bcb-page .bcb-modal-mark{color:#B89150;margin:0 .5rem;font-style:normal}
    .bcb-page .bcb-modal-cta{
      text-align:center;
      margin-top:1.5rem;
    }

    /* ─── Embedded full-reading content (premium_reports markup) ──────
       The sample reading is pasted in with the original
       .report-section / .report-heading / .report-body / .report-subheading
       structure used by the live premium-report renderer. These rules
       restyle that markup so it sits comfortably inside the modal card. */
    .bcb-page .bcb-modal .report-section{
      margin:0 0 2.2rem;
    }
    .bcb-page .bcb-modal .report-section + .report-section{
      padding-top:.4rem;
    }
    .bcb-page .bcb-modal .report-heading{
      font-family:'Cinzel',serif;
      font-weight:700;
      font-size:1.2rem;
      letter-spacing:.16em;
      text-transform:uppercase;
      color:#6B1F2C;
      margin:0 0 .9rem;
      padding-bottom:.5rem;
      border-bottom:1px solid rgba(142,110,58,.3);
    }
    /* Venus ♀ and Mars ♂ are missing from Cinzel and fall back to thin
       system symbol fonts. Wrapping them in this span pins them to a
       heavier symbol font, slightly upsizes them, and adds a tiny stroke
       so their visual weight matches the rest of the glyphs. */
    .bcb-page .bcb-modal .report-glyph-thicken{
      font-family:'DejaVu Sans','Segoe UI Symbol','Apple Symbols','Noto Sans Symbols 2',sans-serif;
      font-weight:900;
      font-size:1.05em;
      -webkit-text-stroke:0.6px currentColor;
      letter-spacing:0;
      display:inline-block;
      transform:translateY(-1px);
    }
    .bcb-page .bcb-modal .report-body{
      font-family:'EB Garamond',serif;
      font-weight:500;
      font-size:1.08rem;
      line-height:1.7;
      color:#2D1F38;
    }
    .bcb-page .bcb-modal .report-body p{
      margin:0 0 1rem;
    }
    .bcb-page .bcb-modal .report-body p:last-child{
      margin-bottom:0;
    }
    .bcb-page .bcb-modal .report-body em{
      font-style:italic;
      color:#6B1F2C;
      font-weight:600;
    }
    .bcb-page .bcb-modal .report-subheading{
      font-family:'EB Garamond',serif;
      font-variant:small-caps;
      font-weight:800;
      font-size:1rem;
      letter-spacing:.22em;
      color:#8E6E3A;
      margin:1.6rem 0 .6rem;
      padding-bottom:.3rem;
      border-bottom:1px dashed rgba(142,110,58,.35);
    }
    .bcb-page .bcb-modal .report-subheading:first-child{
      margin-top:.2rem;
    }
    .bcb-page .bcb-modal .report-truncate-note{
      text-align:center;
      color:#8E6E3A;
      font-size:.98rem;
      margin-top:1.25rem;
    }

    @media(max-width:720px){
      .bcb-page .bcb-modal{padding:2rem 1.5rem 1.75rem}
      .bcb-page .bcb-modal-backdrop{padding:1rem .5rem}
      .bcb-page .bcb-modal .report-heading{font-size:1.05rem; letter-spacing:.14em}
      .bcb-page .bcb-modal .report-body{font-size:1.02rem}
    }
