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

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

/* 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. */
/* Rose-pink page wash — matches /tarot/tarot-card-of-the-day/ exactly.
   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 pa-page". */

/* 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. */
.pa-page .pa-hero-top{
  position:relative;
  padding:2rem 2rem 1.5rem;
  max-width:920px;
  margin:0 auto;
  text-align:center;
}
.pa-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. */
.pa-page .hero-c{
  display:grid !important;
  grid-template-columns:1.25fr .9fr !important;
}
.pa-page .hero-c > .copy,
.pa-page .hero-c > .chat-preview-v2{min-width:0}

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

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

.pa-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;
  transition:background .2s, color .2s, transform .2s, box-shadow .2s;
}
.pa-page .btn-secondary:hover{
  background:#FFFFFF;
  color:#6B1F2C;
  border-color:#6B1F2C;
  transform:translateY(-1px);
  box-shadow:0 6px 14px rgba(74,22,32,.18);
}
.pa-page .btn-secondary:focus-visible{outline:2px solid #D4AC68;outline-offset:3px}
@media(max-width:480px){
  .pa-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:.95rem;
      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:62px;height:62px;flex-shrink:0;
      border-radius:99px;
      background:
        radial-gradient(circle at 30% 25%,rgba(212,172,104,.22),rgba(58,31,56,.7) 70%),
        radial-gradient(circle at 70% 80%,rgba(107,31,44,.35),transparent 60%);
      box-shadow:
        inset 0 0 0 1px rgba(212,172,104,.45),
        inset 0 0 12px rgba(212,172,104,.18),
        0 3px 10px rgba(0,0,0,.45),
        0 0 18px rgba(212,172,104,.18);
      display:flex;align-items:center;justify-content:center;
      position:relative;
    }
    .cb-medallion svg{width:100%;height:100%; display:block}

    /* ─── Animated celestial medallion ─── */
    .cb-medallion .med-ring-outer{
      transform-box:fill-box; transform-origin:center;
      animation:medRingSpin 80s linear infinite;
    }
    .cb-medallion .med-ring-inner{
      transform-box:fill-box; transform-origin:center;
      animation:medRingSpinRev 110s linear infinite;
    }
    .cb-medallion .med-orbit{
      transform-box:fill-box; transform-origin:center;
      animation:medRingSpin 9s linear infinite;
    }
    .cb-medallion .med-moon{
      transform-box:fill-box; transform-origin:center;
      animation:medMoonBreath 4s ease-in-out infinite;
    }
    .cb-medallion .med-halo-glow{
      transform-box:fill-box; transform-origin:center;
      animation:medHaloPulse 5s ease-in-out infinite;
    }
    .cb-medallion .med-hex{
      transform-box:fill-box; transform-origin:center;
      animation:medHexBreath 6s ease-in-out infinite;
    }
    .cb-medallion .med-tw{
      animation:medTwinkle 2.4s ease-in-out infinite;
    }
    .cb-medallion .med-tw-1{animation-delay:0s}
    .cb-medallion .med-tw-2{animation-delay:.7s}
    .cb-medallion .med-tw-3{animation-delay:1.4s}
    .cb-medallion .med-tw-4{animation-delay:2.1s}

    @keyframes medRingSpin{
      from{transform:rotate(0)}
      to{transform:rotate(360deg)}
    }
    @keyframes medRingSpinRev{
      from{transform:rotate(0)}
      to{transform:rotate(-360deg)}
    }
    @keyframes medMoonBreath{
      0%,100%{transform:scale(1); filter:drop-shadow(0 0 1.5px rgba(240,216,154,.55))}
      50%{transform:scale(1.06); filter:drop-shadow(0 0 4px rgba(240,216,154,.85))}
    }
    @keyframes medHaloPulse{
      0%,100%{opacity:.55}
      50%{opacity:1}
    }
    @keyframes medHexBreath{
      0%,100%{opacity:.22}
      50%{opacity:.5}
    }
    @keyframes medTwinkle{
      0%,100%{opacity:.2; transform:scale(.7)}
      50%{opacity:1; transform:scale(1.25)}
    }
    @media (prefers-reduced-motion: reduce){
      .cb-medallion .med-ring-outer,
      .cb-medallion .med-ring-inner,
      .cb-medallion .med-orbit,
      .cb-medallion .med-moon,
      .cb-medallion .med-halo-glow,
      .cb-medallion .med-hex,
      .cb-medallion .med-tw{animation:none}
    }
    .cb-titles{
      display:flex;flex-direction:column;align-items:center;
      gap:.15rem;
      min-width:0;
      flex:1;
      text-align:center;
    }
    .cb-title-row{
      display:flex;align-items:center;justify-content:center;gap:.65rem;
    }
    .cb-orn{
      color:var(--gold);
      font-size:.78rem;
      opacity:.75;
    }
    .chat-bar-v2 .title{
      font-family:'Cinzel Decorative',serif;
      font-weight:700;
      font-size:1.1rem;
      letter-spacing:.09em;
      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.55rem;
      color:#F5EBD3;
      line-height:1;
      letter-spacing:.01em;
      margin-top:.15rem;
      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-weight:700;
      font-size:.82rem;
      letter-spacing:.2em;
      text-transform:uppercase;
      color:var(--gold-deep);
      margin-bottom:.45rem;
    }
    .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.55rem;
      line-height:1.5;
      color:#1A1224;
      margin:0;
      letter-spacing:.005em;
    }
    .pa-excerpt blockquote em{color:var(--burgundy);font-weight:600}
    .pa-excerpt blockquote em{color:var(--burgundy);font-style:italic}

    /* 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)}
    }
