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

.nd-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.nd-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. */
.nd-page .pa-hero-top{
  position:relative;
  padding:2rem 2rem 1.5rem;
  max-width:920px;
  margin:0 auto;
  text-align:center;
}
.nd-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. */
.nd-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 */
}
.nd-page .hero-c > .copy,
.nd-page .hero-c > .chat-preview-v2,
.nd-page .hero-c > .nd-manuscript{min-width:0}

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

/* Brand-v2 primary CTA button (works on <a> AND <button>). */
.nd-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;
}
.nd-page .btn-buy:hover{filter:brightness(1.05)}
.nd-page .btn-buy:focus-visible{outline:2px solid #D4AC68;outline-offset:3px}

/* Secondary button — outlined burgundy pill, pairs with gold primary.
   Same shape + tracking as .btn-buy so they read as a button pair,
   but inverse fill (parchment background, burgundy border + text). */
.nd-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;
}
.nd-page .btn-secondary:hover{
  background:#FFFFFF;
  color:#6B1F2C;
  border-color:#6B1F2C;
  transform:translateY(-1px);
  box-shadow:0 6px 14px rgba(74,22,32,.18);
}
.nd-page .btn-secondary:focus-visible{outline:2px solid #D4AC68;outline-offset:3px}
@media(max-width:480px){
  .nd-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.
       ════════════════════════════════════════════════════════════ */
    .nd-page .nd-manuscript{
      position:relative;
      min-width:0;
      display:flex;
      flex-direction:column;
    }
    .nd-page .nd-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 */
    .nd-page .nd-ms-frame::before{
      content:"";position:absolute;inset:10px;border-radius:2px;
      border:1px solid rgba(142,110,58,.35);
      pointer-events:none;
    }
    /* Corner ornaments */
    .nd-page .nd-ms-corner{
      position:absolute;
      font-family:'EB Garamond',serif;
      color:#B89150;
      font-size:1.1rem;
      line-height:1;
      opacity:.65;
      z-index:2;
    }
    .nd-page .nd-ms-corner.tl{top:14px;left:18px}
    .nd-page .nd-ms-corner.tr{top:14px;right:18px}

    /* Masthead */
    .nd-page .nd-ms-masthead{
      text-align:center;
      padding:0 0 .9rem;
    }
    .nd-page .nd-ms-rule{
      height:1px;
      background:linear-gradient(90deg,transparent,#B89150 50%,transparent);
      margin:.5rem auto;
      max-width:80%;
    }
    .nd-page .nd-ms-title-line{
      display:flex;align-items:center;justify-content:center;gap:.7rem;
      margin:.3rem 0;
    }
    .nd-page .nd-ms-orn{color:#B89150;font-size:.78rem;opacity:.85}
    .nd-page .nd-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);
    }
    .nd-page .nd-ms-script{
      font-family:'Italianno',cursive;
      font-size:1.4rem;
      color:#8E6E3A;
      line-height:1;
      letter-spacing:.01em;
      margin:.2rem 0;
    }

    /* ND illustration — 3 cycle numbers in triangle layout.
       Sized to match the left column's height (copy + buttons). */
    .nd-page .nd-cycles-wrap{
      flex:1;
      display:flex;
      align-items:center;
      justify-content:center;
      margin:.5rem auto;
    }
    .nd-page .nd-cycles-svg{
      width:100%;
      max-width:300px;
      height:auto;
      filter:drop-shadow(0 6px 14px rgba(74,22,32,.18));
    }
    /* Brighten each of the 4 numbers in sequence. Opacity-only animation
       (no scale) so the glyphs stay perfectly anchored — `transform-box:
       fill-box` on SVG <text> causes Chrome to recompute the glyph bbox
       each frame as it scales, which makes the numbers appear to "shake".
       Opacity breath gives the same visual cadence without that bug.
       6s cycle: Life Path → Year → Month → Day → loop. */
    @keyframes ndNumBreath{
      0%, 100% { opacity: 0.6; }
      50%      { opacity: 1;   }
    }
    .nd-page .nd-cycles-svg .nd-num-top   { animation: ndNumBreath 6s ease-in-out infinite 0s;   }
    .nd-page .nd-cycles-svg .nd-num-left  { animation: ndNumBreath 6s ease-in-out infinite 1.5s; }
    .nd-page .nd-cycles-svg .nd-num-right { animation: ndNumBreath 6s ease-in-out infinite 3s;   }
    .nd-page .nd-cycles-svg .nd-num-center{ animation: ndNumBreath 6s ease-in-out infinite 4.5s; }
    /* Halo around Life Path (top) — expands/contracts in sync */
    .nd-page .nd-cycles-svg .nd-halo{
      transform-box: view-box;
      transform-origin: 120px 50px;
      animation: dr-anim-halo-expand 6s ease-in-out infinite 0s;
    }
    /* Halo around Personal Day (center) — same animation, offset to match its turn */
    .nd-page .nd-cycles-svg .nd-halo-center{
      transform-box: view-box;
      transform-origin: 120px 124px;
      animation: dr-anim-halo-expand 6s ease-in-out infinite 4.5s;
    }
    /* Triangle dash-flow (dashes stream around the triangle) */
    .nd-page .nd-cycles-svg .nd-triangle line{
      animation: dr-anim-dash-flow 7s linear infinite;
    }
    /* Planet glyphs — subtle independent twinkle so the chart side breathes */
    .nd-page .nd-cycles-svg .nd-planet{
      transform-box: fill-box;
      transform-origin: center;
    }
    .nd-page .nd-cycles-svg .nd-pl-1{ animation: dr-anim-twinkle 4.5s ease-in-out infinite .2s; }
    .nd-page .nd-cycles-svg .nd-pl-2{ animation: dr-anim-twinkle 4.5s ease-in-out infinite 1.4s; }
    .nd-page .nd-cycles-svg .nd-pl-3{ animation: dr-anim-twinkle 4.5s ease-in-out infinite 2.6s; }
    .nd-page .nd-cycles-svg .nd-pl-4{ animation: dr-anim-twinkle 4.5s ease-in-out infinite 3.8s; }
    /* Twinkles — independent timing for sparkle feel */
    .nd-page .nd-cycles-svg .nd-tw-1{ animation: dr-anim-twinkle 2.6s ease-in-out infinite .2s; }
    .nd-page .nd-cycles-svg .nd-tw-2{ animation: dr-anim-twinkle 3.0s ease-in-out infinite .9s; }
    .nd-page .nd-cycles-svg .nd-tw-3{ animation: dr-anim-twinkle 2.8s ease-in-out infinite 1.5s;}
    .nd-page .nd-cycles-svg .nd-tw-4{ animation: dr-anim-twinkle 3.2s ease-in-out infinite 2.1s;}
    .nd-page .nd-cycles-svg .nd-tw-5{ animation: dr-anim-twinkle 2.7s ease-in-out infinite .6s; }
    .nd-page .nd-cycles-svg .nd-tw-6{ animation: dr-anim-twinkle 3.1s ease-in-out infinite 1.2s;}
    .nd-page .nd-cycles-svg .nd-tw-7{ animation: dr-anim-twinkle 2.9s ease-in-out infinite 2.5s;}
    .nd-page .nd-cycles-svg .nd-tw-8{ animation: dr-anim-twinkle 3.3s ease-in-out infinite 1.8s;}

    /* ── Modal cycle-numbers grid (4 cells: Life Path / Year / Month / Day) ── */
    .nd-page .nd-modal-cycles{
      display:grid;
      grid-template-columns:repeat(4, 1fr);
      gap:.75rem;
      max-width:600px;
      margin:0 auto 1.75rem;
    }
    @media (max-width:520px){
      .nd-page .nd-modal-cycles{grid-template-columns:repeat(2, 1fr);max-width:340px}
    }
    .nd-page .nd-modal-cycle{
      text-align:center;
      padding:1.1rem .75rem;
      background:linear-gradient(180deg,#FFF8E2,#F4E6C5);
      border:1px solid rgba(142,110,58,.4);
      border-radius:6px;
      box-shadow:0 4px 12px rgba(74,22,32,.08), inset 0 0 0 1px rgba(212,172,104,.3);
    }
    .nd-page .nd-modal-cycle .num{
      font-family:'Cinzel Decorative',serif;
      font-weight:700;
      font-size:2.6rem;
      line-height:1;
      color:#6B1F2C;
      text-shadow:0 0 12px rgba(184,145,80,.35);
    }
    .nd-page .nd-modal-cycle .lbl{
      font-family:'Cinzel',serif;
      font-weight:700;
      font-size:.92rem;
      letter-spacing:.18em;
      text-transform:uppercase;
      color:#6B1F2C;
      margin-top:.5rem;
    }
    .nd-page .nd-modal-intro{
      font-family:'EB Garamond',serif;
      font-weight:500;
      font-size:1.08rem;
      line-height:1.7;
      color:#2D1F38;
      margin:0 0 1.75rem;
      padding-bottom:1.25rem;
      border-bottom:1px solid rgba(142,110,58,.3);
    }
    .nd-page .nd-modal-intro em{font-style:italic;color:#6B1F2C}
    .nd-page .nd-modal-closing{
      text-align:center;
      margin:1.5rem auto 2rem;
      padding:1.2rem 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:1.08rem;
      color:#6B1F2C;
      line-height:1.55;
    }
    /* 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); }
    }
    .nd-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); }
    }
    .nd-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. */
    .nd-page .nd-ms-excerpt-wrap{
      position:relative;
      padding:.4rem .15rem 0;
      max-height:none;
    }
    .nd-page .nd-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;
    }
    .nd-page .nd-ms-excerpt em{font-style:italic;color:#6B1F2C;font-weight:600}
    .nd-page .nd-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;
    }
    .nd-page .nd-ms-fade{display:none}

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

    .nd-page .nd-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)
       ════════════════════════════════════════════════════════════ */
    .nd-page .nd-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;
    }
    .nd-page .nd-modal-backdrop.open{display:flex;align-items:flex-start;justify-content:center}
    .nd-page .nd-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;
    }
    .nd-page .nd-modal::before{
      content:"";position:absolute;inset:12px;border-radius:3px;
      border:1px solid rgba(142,110,58,.4);
      pointer-events:none;
    }
    .nd-page .nd-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;
    }
    .nd-page .nd-modal-close:hover{
      background:#6B1F2C;
      color:#F0D89A;
      transform:scale(1.08);
    }
    .nd-page .nd-modal-masthead{
      text-align:center;
      padding-bottom:1.4rem;
      margin-bottom:1.4rem;
      border-bottom:1px solid rgba(142,110,58,.4);
    }
    .nd-page .nd-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;
    }
    .nd-page .nd-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;
    }
    .nd-page .nd-modal-sub{
      font-family:'EB Garamond',serif;
      font-style:italic;
      font-weight:700;
      font-size:1.05rem;
      letter-spacing:.02em;
      color:#3A1F38;
    }
    .nd-page .nd-modal-chart{
      text-align:center;
      margin:0 auto 2rem;
    }
    .nd-page .nd-modal-chart img{
      max-width:420px;
      width:100%;
      height:auto;
      border-radius:6px;
      filter:drop-shadow(0 6px 16px rgba(74,22,32,.18));
    }
    .nd-page .nd-modal-section{
      margin:0 0 2rem;
    }
    .nd-page .nd-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);
    }
    .nd-page .nd-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;
    }
    .nd-page .nd-modal-section p em{font-style:italic;color:#6B1F2C}
    .nd-page .nd-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;
    }
    .nd-page .nd-modal-footer strong{color:#6B1F2C;font-style:italic;font-weight:600}
    .nd-page .nd-modal-mark{color:#B89150;margin:0 .5rem;font-style:normal}
    .nd-page .nd-modal-cta{
      text-align:center;
      margin-top:1.5rem;
    }
    @media(max-width:720px){
      .nd-page .nd-modal{padding:2rem 1.5rem 1.75rem}
      .nd-page .nd-modal-backdrop{padding:1rem .5rem}
    }
