/* Nurturing Soul \u2014 Apply popup modal */
.ns-modal{position:fixed;inset:0;z-index:2000;display:none}
.ns-modal.is-open{display:block}
.ns-modal__overlay{position:absolute;inset:0;background:rgba(36,56,44,.55);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);opacity:0;transition:opacity .3s ease}
.ns-modal.is-open .ns-modal__overlay{opacity:1}
.ns-modal__box{position:relative;z-index:1;max-width:40rem;width:calc(100% - 2.4rem);margin:6vh auto 4vh;background:#FBF8F4;border:1px solid rgba(51,43,58,.12);border-radius:20px;box-shadow:0 40px 90px -30px rgba(36,56,44,.5);padding:2.4rem 2.2rem 2.2rem;max-height:88vh;overflow:auto;transform:translateY(14px) scale(.98);opacity:0;transition:transform .32s cubic-bezier(.2,.8,.2,1),opacity .32s ease}
.ns-modal.is-open .ns-modal__box{transform:none;opacity:1}
.ns-modal__close{position:absolute;top:.7rem;right:.9rem;width:2.1rem;height:2.1rem;border:0;background:transparent;font-size:1.7rem;line-height:1;color:var(--ink-soft,#5b6b5f);cursor:pointer;border-radius:50%;transition:background .2s}
.ns-modal__close:hover{background:#efe8dc;color:var(--ink,#24382C)}
.ns-modal__title{font-family:var(--display,'Cormorant Garamond',serif);font-size:1.9rem;font-weight:500;text-align:center;color:var(--ink,#24382C);margin:.2rem 0 .3rem;line-height:1.1}
.ns-modal__lede{text-align:center;color:var(--ink-soft,#5b6b5f);font-size:.95rem;line-height:1.6;margin:0 auto 1.4rem;max-width:26rem}
.ns-modal .kicker{margin-bottom:.5rem}
body.ns-modal-open{overflow:hidden}
@media (max-width:560px){ .ns-modal__box{padding:2rem 1.3rem 1.4rem;margin:3vh auto} .ns-modal__title{font-size:1.6rem} }

/* ===== BOOK PAGE STYLES ===== */
.ns-card{background:rgba(255,255,255,.6);border:1px solid var(--line,#e6ded0);border-radius:16px;transition:transform .3s ease,box-shadow .3s ease}
.ns-card:hover{transform:translateY(-3px);box-shadow:0 24px 50px -30px rgba(51,43,58,.4)}
.ns-card h3{margin:0 0 .5rem}
.ns-card p{margin:0;color:var(--ink-soft,#5b6b5f);font-size:.95rem;line-height:1.6}
.ns-steps{counter-reset:s;list-style:none;max-width:34rem;margin:1rem auto 0;padding:0}
.ns-steps li{counter-increment:s;position:relative;padding:.6rem 0 .6rem 3rem;line-height:1.6;color:var(--ink-soft,#5b6b5f)}
.ns-steps li::before{content:counter(s);position:absolute;left:0;top:.55rem;width:2rem;height:2rem;border-radius:50%;background:var(--terra,#C0705A);color:#FFF9F3;display:flex;align-items:center;justify-content:center;font-family:var(--body);font-size:.95rem;font-weight:500}
.ns-steps strong{color:var(--ink,#24382C)}
.ns-faq h3{font-size:1.15rem;margin:1.3rem 0 .35rem}
.ns-faq p{margin:0;color:var(--ink-soft,#5b6b5f);line-height:1.7}
