/* Astral Field sleep meditations — used on library.html and who-we-serve pages */
.astral{background:var(--navy);color:#fff;padding:5rem 2rem;position:relative;overflow:hidden;}
.astral::before{content:"";position:absolute;inset:0;background:radial-gradient(1px 1px at 12% 18%,rgba(255,255,255,.7),transparent 60%),radial-gradient(1px 1px at 72% 12%,rgba(255,255,255,.6),transparent 60%),radial-gradient(1.5px 1.5px at 88% 40%,rgba(240,192,80,.7),transparent 60%),radial-gradient(1px 1px at 30% 70%,rgba(255,255,255,.5),transparent 60%),radial-gradient(1px 1px at 55% 35%,rgba(255,255,255,.5),transparent 60%),radial-gradient(1.5px 1.5px at 8% 85%,rgba(240,192,80,.6),transparent 60%);pointer-events:none;}
.astral > *{position:relative;}
.astral .sec-eyebrow{color:var(--gold-light);}
.astral .sec-h{color:#fff;}
.astral-intro{max-width:720px;margin:0 auto 2.5rem;text-align:center;}
.astral-intro p{font-size:15.5px;line-height:1.8;color:rgba(255,255,255,.82);font-weight:300;margin-bottom:1rem;}
.astral-intro em{font-family:var(--fd);font-size:19px;color:var(--gold-light);}
.astral-tabs{display:flex;justify-content:center;gap:.5rem;margin:0 0 2rem;}
.astral-tab{background:transparent;border:1px solid rgba(240,192,80,.5);color:var(--gold-light);font-family:var(--fb);font-size:13px;letter-spacing:.08em;padding:.55rem 1.4rem;border-radius:30px;cursor:pointer;}
.astral-tab.active{background:var(--gold-light);color:var(--navy);font-weight:500;}
.astral-panel{display:none;}
.astral-panel.active{display:block;}
.astral-players{display:grid;grid-template-columns:1.5fr 1fr;gap:1.5rem;align-items:stretch;max-width:1080px;margin:0 auto 3rem;}
.astral-players .video-embed{max-width:none;margin:0;box-shadow:0 12px 36px rgba(0,0,0,.35);}
.astral-spotify{border-radius:14px;overflow:hidden;min-height:352px;}
.astral-spotify iframe{width:100%;height:100%;min-height:352px;border:0;}
.astral-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:1.25rem;max-width:1080px;margin:0 auto;}
.astral-card{background:rgba(255,255,255,.05);border:1px solid rgba(240,192,80,.18);border-radius:14px;overflow:hidden;display:flex;flex-direction:column;transition:transform .2s,border-color .2s;}
.astral-card:hover{transform:translateY(-3px);border-color:rgba(240,192,80,.5);}
.astral-card img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;display:block;}
.astral-card-body{padding:1rem 1.1rem 1.2rem;display:flex;flex-direction:column;flex:1;}
.astral-card .ac-eyebrow{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-light);margin-bottom:.4rem;}
.astral-card .ac-h{font-family:var(--fd);font-size:20px;line-height:1.25;color:#fff;margin-bottom:.35rem;}
.astral-card .ac-sub{font-size:12.5px;color:rgba(255,255,255,.65);line-height:1.6;font-weight:300;flex:1;}
.astral-card .ac-key{font-size:11.5px;color:rgba(240,192,80,.85);margin-top:.6rem;}
.astral-card .ac-links{margin-top:.75rem;font-size:12px;}
.astral-card .ac-links a{color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.3);margin-right:.9rem;}
.astral-card .ac-links a:hover{color:var(--gold-light);border-color:var(--gold-light);}
.astral-note{text-align:center;font-size:12px;color:rgba(255,255,255,.5);margin-top:2rem;}
.astral-cta{text-align:center;margin-top:2.5rem;}
.astral-cta p{color:rgba(255,255,255,.8);font-size:15px;margin-bottom:1rem;font-weight:300;}
.astral-cta .cta-button-secondary{background:transparent;color:var(--gold-light);border:1px solid var(--gold-light);}
.astral-cta .cta-button-secondary:hover{background:var(--gold-light);color:var(--navy);}
.astral-more{text-align:center;margin-top:2rem;}
.astral-more a{color:var(--gold-light);font-size:14px;text-decoration:none;border-bottom:1px solid rgba(240,192,80,.5);}
@media(max-width:840px){.astral{padding:3.5rem 1.25rem;}.astral-players{grid-template-columns:1fr;}}
