#pg-numerology,#pg-demons{background:#070605;color:#e6d7b8;}
#pg-demons .num-hero{background-image:url('media/demon-hero-spirits.jpg');background-position:right center;}
.demon-filters{display:grid;grid-template-columns:1.4fr 0.8fr;gap:0.8rem;margin-bottom:0.85rem;}
.demon-ranks{display:flex;flex-wrap:wrap;gap:0.45rem;margin:0 0 1.15rem;}
.demon-ranks .fb{border-radius:999px;background:transparent;color:#d7b56a;border:1px solid rgba(201,168,76,0.5);padding:0.42rem 0.8rem;}
.demon-ranks .fb.active{color:#f6e7c1;border-color:#c6a15a;background:#1a140c;}
.demon-card-row{justify-content:flex-end;}
.num-card-art .demon-seal-fallback{height:100%;display:grid;place-items:center;}
.num-card-art .demon-seal-fallback svg{width:112px;height:112px;}
.num-card-art .seal-thumb{width:100%;height:100%;display:block;object-fit:contain;background:#0c0b09;}
#dGrid .num-card{content-visibility:auto;contain-intrinsic-size:auto 340px;}
#pg-demons .nr{grid-column:1/-1;padding:2rem;text-align:center;font-family:'Cinzel',serif;letter-spacing:0.16em;text-transform:uppercase;color:#b7a88a;}
.num-hero{position:relative;min-height:520px;display:flex;align-items:center;padding:3.4rem 4vw 2.8rem;background:#070605 url('media/num-hero-book.jpg') 72% center / cover no-repeat;overflow:hidden;}
.num-hero::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,6,5,0.97) 0%,rgba(7,6,5,0.92) 34%,rgba(7,6,5,0.55) 58%,rgba(7,6,5,0.35) 100%);pointer-events:none;}
.num-hero-copy{position:relative;z-index:1;width:min(640px,100%);min-width:0;}
.num-kicker{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);}
.num-hero h1,.num-hero h2{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:clamp(3.5rem,5.4vw,5.5rem);letter-spacing:0.04em;text-transform:uppercase;line-height:0.95;margin-bottom:0.15rem;background:linear-gradient(180deg,#f8e7b8,#d7b56a 48%,#a07838);-webkit-background-clip:text;background-clip:text;color:transparent;}
.num-sub{font-family:'Cinzel',serif;font-size:0.78rem;letter-spacing:0.34em;text-transform:uppercase;color:#d7b56a;margin:0.85rem 0 1rem;}
.num-lead{font-size:1.12rem;line-height:1.65;color:#e7dcc4;max-width:34rem;margin-bottom:1.4rem;}
.num-pill{display:inline-flex;align-items:center;justify-content:center;min-width:220px;padding:0.72rem 1.4rem;border:1px solid #c6a15a;border-radius:999px;background:linear-gradient(#1a140c,#0d0b09);color:#f0e2c0;font-family:'Cinzel',serif;font-size:0.68rem;letter-spacing:0.18em;text-transform:uppercase;text-decoration:none;cursor:pointer;}
.num-pill:hover{border-color:#f0d48a;color:#fff6df;}
.num-sheet{max-width:1180px;margin:0 auto;padding:1.3rem 1.2rem 3rem;}
.num-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:0.9rem;}
.num-card{background:linear-gradient(180deg,#14110e,#0c0b09);border:1px solid rgba(201,168,76,0.45);border-radius:8px;overflow:hidden;box-shadow:inset 0 0 0 1px rgba(0,0,0,0.4);}
.num-card-art{height:188px;background-size:cover;background-position:center;position:relative;}
.num-card-art::after{content:'';position:absolute;inset:auto 0 0 0;height:36px;background:linear-gradient(transparent,#100e0c);}
.num-badge{position:absolute;top:10px;left:10px;width:28px;height:28px;border:1px solid #c6a15a;border-radius:50%;display:grid;place-items:center;color:#e8c96a;background:rgba(0,0,0,0.45);font-size:0.85rem;z-index:1;}
.num-card-body{padding:0.85rem 0.9rem 1rem;}
.num-card-body h3,.num-mini strong,.num-calc h3,.num-more h3,.num-panel h3,.num-owned h3{font-family:'Cinzel',serif;font-weight:500;letter-spacing:0.08em;text-transform:uppercase;color:#f0e2c0;}
.num-card-body h3{font-size:0.78rem;line-height:1.35;min-height:2.5em;margin-bottom:0.4rem;}
.num-card-body p,.num-calc-head p,.num-panel-lead,#soonText{font-size:0.92rem;line-height:1.45;color:#cbbfa6;}
.num-card-row{display:flex;align-items:center;justify-content:space-between;gap:0.55rem;margin-top:0.85rem;flex-wrap:wrap;}
.num-price,.num-mini em{font-family:'Cinzel',serif;font-style:normal;color:#f3e6c4;border:1px solid rgba(201,168,76,0.7);border-radius:999px;padding:0.28rem 0.7rem;font-size:0.72rem;letter-spacing:0.04em;white-space:nowrap;}
.num-details{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;background:#120f0c;color:#f6e7c1;-webkit-text-fill-color:#f6e7c1;border:1px solid #c6a15a;border-radius:999px;padding:0.42rem 0.85rem;font-family:'Cinzel',serif;font-size:0.72rem;font-weight:500;letter-spacing:0.08em;line-height:1;text-transform:uppercase;white-space:nowrap;cursor:pointer;text-decoration:none;}
.num-details:hover,.num-arrow:hover{border-color:#f0d48a;color:#fff6df;}
.num-mid{display:grid;grid-template-columns:1.35fr 0.85fr;gap:0.9rem;margin-top:0.9rem;}
.num-calc,.num-quote,.num-panel,.num-owned,.num-mini{border:1px solid rgba(201,168,76,0.45);border-radius:8px;background:linear-gradient(180deg,#14110e,#0c0b09);}
.num-calc{padding:1.1rem 1.15rem 1.2rem;}
.num-calc-head{display:flex;gap:0.75rem;align-items:flex-start;margin-bottom:0.9rem;}
.num-calc-head .num-badge{position:static;}
.num-calc h3{font-size:0.92rem;margin-bottom:0.25rem;}
.num-fields{display:grid;grid-template-columns:1fr 1fr;gap:0.8rem;margin-bottom:0.9rem;}
.num-fields label,.num-panel .ffl{display:block;font-family:'Cinzel',serif;font-size:0.62rem;letter-spacing:0.12em;text-transform:uppercase;color:#d7b56a;margin-bottom:0.35rem;}
.num-input{width:100%;background:#0a0908;border:1px solid rgba(201,168,76,0.55);border-radius:4px;color:#f3e6c4;padding:0.72rem 0.8rem;font-family:'EB Garamond',serif;font-size:1rem;}
.num-input:focus{outline:1px solid #e8c96a;}
.num-quote{position:relative;min-height:280px;overflow:hidden;display:flex;align-items:flex-end;}
.num-quote img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top;}
.num-quote::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,6,5,0.15),rgba(7,6,5,0.72));}
.num-quote blockquote{position:relative;z-index:1;margin:1rem;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.45rem;line-height:1.35;color:#f6edd8;text-align:right;}
.num-more{margin-top:1.6rem;}
.num-more h3{text-align:center;font-size:0.78rem;letter-spacing:0.22em;margin-bottom:0.9rem;}
.num-more h3 span{border-bottom:1px solid rgba(201,168,76,0.45);padding-bottom:0.35rem;}
.num-carousel{display:grid;grid-template-columns:auto 1fr auto;gap:0.45rem;align-items:center;}
.num-arrow{width:36px;height:36px;border-radius:50%;border:1px solid rgba(201,168,76,0.7);background:#120f0c;color:#f0e2c0;cursor:pointer;font-size:1.3rem;}
.num-track{display:flex;gap:0.7rem;overflow:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:0.2rem;}
.num-track::-webkit-scrollbar{display:none;}
.num-mini{flex:0 0 180px;scroll-snap-align:start;min-height:210px;padding:1rem 0.7rem;text-align:center;color:inherit;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0.7rem;text-decoration:none;}
.num-mini strong{font-size:0.68rem;line-height:1.35;}
.pent{width:74px;height:74px;border:1px solid #c6a15a;border-radius:50%;background:radial-gradient(circle,#2a2114,#100e0c 70%);position:relative;}
.pent::before{content:'';position:absolute;inset:16px;background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><polygon points='50,8 61,38 94,38 68,58 78,90 50,70 22,90 32,58 6,38 39,38' fill='none' stroke='%23e8c96a' stroke-width='3'/></svg>") center/contain no-repeat;}
.pent.pair::before{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><circle cx='38' cy='58' r='16' fill='none' stroke='%23e8c96a' stroke-width='3'/><circle cx='64' cy='42' r='16' fill='none' stroke='%23e8c96a' stroke-width='3'/></svg>");}
.pent.book::before{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><path d='M20 22h28c8 0 12 6 12 14v44c-8-6-16-8-24-8H20zM80 22H52c-8 0-12 6-12 14v44c8-6 16-8 24-8h16z' fill='none' stroke='%23e8c96a' stroke-width='3'/></svg>");}
.num-panel,.num-owned{margin-top:0.9rem;padding:1.1rem 1.15rem 1.2rem;}
.num-panel h3,.num-owned h3{font-size:0.92rem;margin-bottom:0.45rem;}
.num-panel .ff{margin-top:0.7rem;}
.num-panel .premium-grid{display:grid;grid-template-columns:1fr 1fr;gap:0.7rem;}
.num-owned[hidden],.num-panel[hidden]{display:none;}
#nRes{margin-top:1rem;}
#nRes .npt{color:#d7b56a;}
.premium-note{font-size:0.9rem;line-height:1.55;color:#b7a88a;margin-top:0.7rem;}
.premium-price{font-family:'Cinzel',serif;color:#f0e2c0;margin:0.6rem 0;}
.score-line{font-family:'Cormorant Garamond',serif;font-size:2.4rem;color:#e8c96a;}
.reading{margin-top:0.8rem;}
.reading h3{font-family:'Cinzel',serif;font-size:0.72rem;letter-spacing:0.12em;text-transform:uppercase;color:#d7b56a;margin:0.9rem 0 0.3rem;}
.reading p{font-size:1.02rem;line-height:1.65;white-space:pre-wrap;}
.pay-wait{color:#b7a88a;font-style:italic;}
.purchase-list{display:flex;flex-wrap:wrap;gap:0.45rem;}
@media(max-width:980px){
  .num-cards{grid-template-columns:1fr 1fr;}
  .num-mid,.num-panel .premium-grid,.num-fields{grid-template-columns:1fr;}
  .num-hero{background-position:center top;min-height:520px;align-items:flex-end;padding:1.6rem 1rem 1.8rem;}
  .num-hero::before{background:linear-gradient(180deg,rgba(7,6,5,0.25),rgba(7,6,5,0.88) 58%);}
  .num-hero h1,.num-hero h2{font-size:2.7rem;letter-spacing:0.02em;}
}
@media(max-width:640px){
  .num-cards{grid-template-columns:1fr;}
  .num-hero{padding:2rem 1rem 1.5rem;}
  .num-card-row{flex-wrap:wrap;}
  .demon-filters{grid-template-columns:1fr;}
}
.seo-body{margin:0;background:#070605;color:#e6d7b8;font-family:'EB Garamond',Georgia,serif;}
.seo-top{display:flex;gap:1.4rem;align-items:center;padding:0.9rem 4vw;border-bottom:1px solid rgba(201,168,76,0.45);background:#100e0c;position:sticky;top:0;z-index:2;}
.seo-top a{color:#e8c96a;font-family:'Cinzel',serif;letter-spacing:0.14em;text-transform:uppercase;font-size:0.72rem;text-decoration:none;}
.seo-wrap{max-width:820px;margin:0 auto;padding:1.6rem 1.2rem 4rem;}
.seo-crumb{font-size:0.95rem;color:#b7a88a;margin-bottom:1rem;}
.seo-crumb a{color:#e8c96a;}
.seo-wrap h1{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:clamp(2.2rem,5vw,3.4rem);line-height:1.05;color:#f8e7b8;margin:0 0 1rem;}
.seo-wrap h2{font-family:'Cinzel',serif;font-weight:500;font-size:1rem;letter-spacing:0.08em;text-transform:uppercase;color:#f0e2c0;margin:1.6rem 0 0.45rem;}
.seo-wrap h3{font-family:'Cinzel',serif;font-weight:500;font-size:0.92rem;color:#e8c96a;margin:1rem 0 0.3rem;}
.seo-wrap p{font-size:1.12rem;line-height:1.65;color:#e7dcc4;margin:0 0 0.8rem;}
.seo-box{margin-top:1.4rem;padding:1rem 1rem 1.2rem;border:1px solid rgba(201,168,76,0.45);border-radius:8px;background:linear-gradient(180deg,#14110e,#0c0b09);}
.seo-grid{display:grid;grid-template-columns:1fr 1fr;gap:0.7rem;}
.seo-box label{display:block;font-family:'Cinzel',serif;font-size:0.68rem;letter-spacing:0.08em;text-transform:uppercase;color:#d7b56a;margin:0.4rem 0 0.7rem;}
.seo-warn{color:#e7c27a;}
.seo-ok{color:#d7e7c4;}
.seo-links{margin:0 0 0.8rem;padding-left:1.1rem;}
.seo-links a{color:#e8c96a;}
.seo-kicker{font-family:'Cinzel',serif;font-size:0.72rem;letter-spacing:0.16em;text-transform:uppercase;color:#d7b56a;margin:0 0 0.4rem;}
.seo-seal{margin:0.4rem 0 1rem;}
.seo-seal img{width:min(320px,100%);height:auto;background:#0c0b09;display:block;}
.seo-seal figcaption{font-size:0.95rem;color:#b7a88a;margin-top:0.45rem;}
.seo-dir{max-width:1280px;margin:0 auto;padding:2.2rem 1.5rem 3rem;border-top:1px solid rgba(201,168,76,0.28);}
.seo-dir h2{font-family:'Cinzel',serif;font-size:0.72rem;letter-spacing:0.16em;text-transform:uppercase;color:#C9A84C;margin:1.2rem 0 0.7rem;}
.seo-dir ul{display:flex;flex-wrap:wrap;gap:0.35rem 1rem;list-style:none;margin:0;padding:0;}
.seo-dir a{color:#e6d7b8;text-decoration:none;}
.seo-dir a:hover{color:#e8c96a;}
.seo-result{margin-top:1rem;padding-top:0.6rem;border-top:1px solid rgba(201,168,76,0.3);}
.num-pill:disabled{opacity:0.45;cursor:not-allowed;}
@media(max-width:640px){.seo-grid{grid-template-columns:1fr;}}
@media print{
  body *{visibility:hidden;}
  .reading.print-target,.reading.print-target *{visibility:visible;}
  .reading.print-target{position:absolute;left:0;top:0;width:100%;background:#fff;color:#1c140c;}
}
