*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
:root{
  --pink:#b4637a;--pk-lt:#d5a4b3;--pk-pale:#f5ece8;--pk-hot:#8c475c;
  --coral:#c7866a;--peach:#dfc4a8;--sky:#b8c7d9;--lav:#b8a8c6;--mint:#bfd6cc;
  --cream:#fbf7f2;--white:#fff;
  --td:#2f2732;--tm:#5d5362;--ts:#877b87;--tmu:#948a96;
  --focus-strong:#6b3446;
  --focus-glow:0 0 0 2px #fbf7f2,0 0 0 5px rgba(107,52,70,.45);
  --gold:#bfa57a;
  --sp:rgba(180,99,122,.10);--ss:rgba(47,39,50,.07);
  --fb:'Cormorant Garamond',Georgia,serif;--fd:'Cormorant Garamond',Georgia,serif;--f:'Manrope',sans-serif;
  --chest-wood:#8B5E3C;--chest-dark:#6B3F22;--chest-gold:#D4A843;--chest-band:#5C3A1E;
  --page-max:1080px;--reading-max:1220px;--spread-max:1600px;
  --anchor-pad:calc(6.2rem + env(safe-area-inset-top, 0px));
  --flow-sticky-top:calc(6.35rem + env(safe-area-inset-top, 0px));
}
@media(min-width:721px){
  :root{
    --anchor-pad:calc(5.75rem + env(safe-area-inset-top, 0px));
    --flow-sticky-top:calc(6.15rem + env(safe-area-inset-top, 0px));
  }
}
html{scroll-behavior:smooth;overflow-x:hidden;scroll-padding-top:var(--anchor-pad)}
body{font-family:var(--f);background:var(--cream);color:var(--td);overflow-x:hidden;font-weight:400;line-height:1.72;font-size:17px;letter-spacing:.002em}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto !important}
  .hbg .fh{animation:none !important;opacity:.07}
  .rbtn::after{animation:none !important}
  .sc{animation:none !important}
  .shuf-orbit{animation:none !important}
  .shuf-mist{animation:none !important}
  .tc:not(.fl):hover{filter:inherit !important}
  .tc-deal{animation:none !important;opacity:1 !important}
  .sr{transition:none !important}
  .qcat:active,.sp:active,.trk:active{transform:none !important}
  #crow .tc:not(.fl):active{opacity:1 !important;transition:none !important}
  .chest-lid-group{transition-duration:.01ms !important}
  .trk,.tcloud.show .trk{transition:none !important}
  .carea-spread-complete .ritual-cardmat-inner{animation:none !important}
  .prev.prev-arrive{animation:none !important}
  .hero-card-preview{animation:none !important}
  .hero-btn:hover,.ppb:hover,.prev .ppb-unlock:hover,.path-card:hover{transform:none !important}
}
.skip-links{
  position:absolute;
  left:-9999px;
  top:0;
  z-index:100001;
  display:flex;
  flex-direction:column;
  gap:.35rem;
  align-items:flex-start;
}
.skip-links:focus-within{
  left:max(.75rem,env(safe-area-inset-left));
  top:max(.75rem,env(safe-area-inset-top));
}
.skip-links .skip-link{
  position:static;
  padding:.65rem 1.2rem;
  background:var(--td);
  color:#fff;
  font-weight:600;
  font-size:.875rem;
  border-radius:12px;
  text-decoration:none;
  box-shadow:0 8px 28px rgba(47,39,50,.25);
}
.skip-link:focus,
.skip-link:focus-visible{
  outline:2px solid var(--gold);
  outline-offset:3px;
}
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible,
[role="button"]:focus-visible{
  outline:2px solid var(--focus-strong);
  outline-offset:3px;
}
.hero-btn.primary:focus-visible,
.rbtn:focus-visible,
.ppb:focus-visible,
.ppb.alt:focus-visible,
.pw-gate__submit:focus-visible,
.mobile-soft-cta:focus-visible{
  outline:2px solid #fff;
  outline-offset:2px;
  box-shadow:var(--focus-glow);
}
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
.pw-gate__input:focus-visible{
  outline:2px solid var(--focus-strong);
  outline-offset:2px;
}
.qinput:focus,
.fi select:focus{
  outline:none;
}
.qinput:focus-visible,
.fi select:focus-visible{
  border-color:var(--pink);
  box-shadow:0 0 0 3px rgba(180,99,122,.2);
  outline:2px solid var(--focus-strong);
  outline-offset:2px;
}
.tnav-links a:focus-visible{
  outline-offset:2px;
}
.path-card:focus-visible,
.qcat:focus-visible,
.trk:focus-visible,
.sp:focus-visible{
  outline:2px solid var(--focus-strong);
  outline-offset:3px;
  box-shadow:0 0 0 3px rgba(180,99,122,.15);
}
/* .tc:focus-visible — see tarot cards section below for outline + radius */

/* floating hearts */
.hbg{position:fixed;inset:0;pointer-events:none;z-index:0;overflow:hidden}
.hbg .fh{position:absolute;opacity:0;animation:fhu var(--d,14s) ease-in-out infinite var(--dl,0s)}
@keyframes fhu{0%{transform:translateY(105vh) rotate(0) scale(.4);opacity:0}8%{opacity:var(--p,.1)}92%{opacity:var(--p,.1)}100%{transform:translateY(-8vh) rotate(var(--r,30deg)) scale(1);opacity:0}}

.wrap{position:relative;z-index:1}
section{padding:3rem 1.4rem;max-width:var(--page-max);margin:0 auto}
h1,h2,h3,h4{font-family:var(--fd);font-weight:500;line-height:1.16;color:var(--td);letter-spacing:-.015em}
h2{font-size:clamp(1.7rem,4vw,2.5rem)}h3{font-size:clamp(1.1rem,2.5vw,1.5rem)}
.brand{font-family:var(--fb);font-weight:400;color:var(--pink);line-height:1.1}
.brand .to{font-size:.55em;color:var(--ts);margin:0 .05em}.brand .num{color:var(--pk-lt);font-size:.65em}
.tag{font-family:var(--f);font-size:.7rem;letter-spacing:.24em;text-transform:uppercase;color:var(--pink);font-weight:700}
.sr{opacity:0;transform:translateY(18px);transition:opacity .6s,transform .6s}.sr.v{opacity:1;transform:none}

/* top nav */
.tnav{position:sticky;top:0;z-index:20;backdrop-filter:blur(10px);background:rgba(251,247,242,.88);border-bottom:1px solid rgba(191,165,122,.18)}
.tnav-in{max-width:var(--page-max);margin:0 auto;padding:.55rem 1rem;display:flex;align-items:center;justify-content:space-between;gap:.7rem}
.tnav-brand{font-family:var(--fb);font-size:1.2rem;color:var(--pink);text-decoration:none;white-space:nowrap}
.tnav-links{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.35rem}
.tnav-links a{color:var(--tm);text-decoration:none;font-size:.68rem;padding:.3rem .65rem;border-radius:100px;border:1px solid #eee;background:#fff}
.tnav-links a:hover{border-color:var(--pk-lt);color:var(--pink);background:var(--pk-pale)}
@media(max-width:720px){
  .tnav-in{flex-direction:column;align-items:stretch}
  .tnav-brand{text-align:center}
  .tnav-links{justify-content:center}
}

/* ═══ HERO ═══ */
.hero{text-align:center;padding:4rem 1.4rem 1.8rem;position:relative;max-width:var(--page-max);margin:0 auto}
.hero::before{content:'';position:absolute;top:-60px;left:50%;transform:translateX(-50%);width:500px;height:500px;background:radial-gradient(circle,rgba(232,89,139,.06) 0%,transparent 70%);pointer-events:none}
.hh{font-size:2.2rem;display:inline-block;opacity:.85;filter:drop-shadow(0 3px 10px rgba(180,99,122,.14))}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-2px)}}
.hero .brand{font-size:clamp(3.2rem,8vw,5.2rem);margin:.35rem 0 .15rem;letter-spacing:-.02em}
.hero .qt{font-family:var(--fd);font-style:italic;color:var(--tm);font-size:1.08rem;margin:.45rem 0 .9rem;opacity:.92}
.hero .loc{font-size:.68rem;color:var(--tmu);letter-spacing:.13em;text-transform:uppercase}

/* progress */
.pbar{display:flex;justify-content:center;gap:.4rem;margin:2rem auto 0;max-width:560px;flex-wrap:wrap}
.ps{display:flex;align-items:center;gap:.3rem;font-size:.6rem;color:var(--tmu);font-weight:700;letter-spacing:.02em;transition:color .4s}
.ps.a{color:var(--pink)}
.ps .d{width:20px;height:20px;border-radius:50%;border:2px solid var(--pk-lt);display:flex;align-items:center;justify-content:center;font-size:.55rem;font-weight:700;color:var(--pk-lt);transition:all .4s}
.ps.a .d{background:var(--pink);color:#fff;border-color:var(--pink);box-shadow:0 2px 8px var(--sp)}
.ps.dn .d{background:var(--pk-pale);color:var(--pink);border-color:var(--pink)}
.pdash{width:18px;height:2px;background:var(--pk-pale);border-radius:1px;align-self:center}

/* ═══ QUESTION BOX ═══ */
.qsection{text-align:center;padding-top:1rem}
.qsection h2{margin-bottom:.15rem}
.qsub{color:var(--ts);font-size:.82rem;margin-bottom:1.2rem}
.qcats{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;margin:0 auto 1rem;max-width:760px}
.qcat{background:#fff;border:1.5px solid #eee;border-radius:100px;padding:.4rem 1rem;font-size:.75rem;font-weight:600;cursor:pointer;transition:all .25s;color:var(--tm)}
.qcat:hover{border-color:var(--pk-lt);color:var(--pink)}
.qcat.on{border-color:var(--pink);background:var(--pk-pale);color:var(--pk-hot)}
.qinput{width:100%;max-width:620px;margin:0 auto;background:#fff;border:1.5px solid #eee;border-radius:14px;padding:.9rem 1rem;font-family:var(--f);font-size:.88rem;color:var(--td);resize:none;height:78px;transition:border-color .3s;display:block}
.qinput:focus{outline:none;border-color:var(--pink)}
.qinput::placeholder{color:var(--tmu);font-style:italic}
.qnote{font-size:.68rem;color:var(--tmu);margin-top:.5rem;font-style:italic}

/* ═══ TREASURE CHEST ═══ */
.chsec{text-align:center;padding-top:1rem}
.chsec h2{margin-bottom:.15rem}
.chsub{color:var(--ts);font-size:.82rem;margin-bottom:1.5rem}

.chest-container{position:relative;width:180px;height:170px;margin:0 auto 1rem;cursor:pointer;user-select:none;border-radius:12px}
.chest-container:focus-visible{
  outline:2px solid var(--focus-strong);
  outline-offset:6px;
}
.chest-svg{width:100%;height:100%}
.chest-lid-group{transform-origin:50% 72%;transition:transform .5s cubic-bezier(.34,1.56,.64,1)}
.chest-container.open .chest-lid-group{transform:rotate(-65deg) translateY(-8px)}
.chest-glow{position:absolute;bottom:30px;left:50%;transform:translateX(-50%);width:100px;height:30px;background:radial-gradient(ellipse,rgba(253,203,158,.5),transparent);opacity:0;transition:opacity .4s;filter:blur(6px)}
.chest-container.open .chest-glow{opacity:1}
.chest-tap{font-size:.72rem;color:var(--tmu);margin-bottom:1.5rem;transition:opacity .3s}

/* sparkles */
.spk{position:absolute;width:5px;height:5px;border-radius:50%;pointer-events:none;z-index:5}
@keyframes spkUp{0%{opacity:1;transform:translate(0,0) scale(1)}100%{opacity:0;transform:translate(var(--sx),var(--sy)) scale(0)}}

/* trinkets cloud */
.tcloud{display:flex;flex-wrap:wrap;justify-content:center;gap:.55rem;max-width:720px;margin:0 auto;opacity:0;transform:scale(.85);transition:opacity .4s .15s,transform .4s .15s;pointer-events:none}
.tcloud.show{opacity:1;transform:scale(1);pointer-events:auto}

.trk{width:58px;height:58px;background:#fff;border:1.5px solid #ede6ed;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;transition:all .35s cubic-bezier(.34,1.56,.64,1);opacity:0;transform:translateY(40px) scale(.3)}
.tcloud.show .trk{opacity:1;transform:none}
/* stagger delays via JS */
.trk:hover{transform:scale(1.15)!important;border-color:var(--pk-lt);background:var(--pk-pale)}
.trk.pk{border-color:var(--pink);background:var(--pk-pale);box-shadow:0 0 0 3px rgba(232,89,139,.1);transform:scale(1.08)!important}
.trk .ti{width:26px;height:26px;display:flex;align-items:center;justify-content:center}
.trk .ti svg{width:100%;height:100%;stroke:var(--pk-lt);stroke-width:1.4;fill:none;stroke-linecap:round;stroke-linejoin:round;transition:stroke .3s}
.trk:hover .ti svg,.trk.pk .ti svg{stroke:var(--pink)}
.trk .tn{font-size:.44rem;color:var(--tmu);margin-top:.1rem;text-transform:uppercase;letter-spacing:.06em;font-weight:700}
.tmsg{text-align:center;margin-top:.7rem;font-size:.8rem;color:var(--pink);font-style:italic;min-height:1.3em}
.tmeta{margin:.55rem auto 0;max-width:700px;text-align:center;font-size:.72rem;color:var(--ts);line-height:1.62}

/* suck back */
.trk.suck{animation:suckB .35s ease-in forwards}
@keyframes suckB{0%{opacity:1;transform:scale(1) translate(0,0)}100%{opacity:0;transform:scale(.15) translate(var(--bx,0),var(--by,0))}}

@media(max-width:480px){.tcloud{gap:.4rem}.trk{width:50px;height:50px}.trk .ti{width:22px;height:22px}.trk .tn{font-size:.4rem}}

/* ═══ SPREAD ═══ */
.spsec{text-align:center;padding-top:1rem;max-width:min(var(--spread-max),99vw)}
.spsec h2{margin-bottom:.15rem}
.spsub{color:var(--ts);font-size:.82rem;margin-bottom:1.2rem}
.sps{display:flex;justify-content:center;gap:.6rem;flex-wrap:wrap;margin:0 auto 1.2rem;max-width:880px}
.sp{background:#fff;border:2px solid #eee;border-radius:14px;padding:.9rem 1rem;min-width:125px;cursor:pointer;transition:all .25s;text-align:center}
.sp:hover{border-color:var(--pk-lt);transform:translateY(-2px)}
.sp.on{border-color:var(--pink);background:var(--pk-pale);box-shadow:0 3px 14px var(--sp)}
.sp .si{font-size:1.2rem;display:block;margin-bottom:.15rem}
.sp .sn{font-family:var(--fd);font-size:.9rem;color:var(--td);display:block;font-weight:500}
.sp .sd{font-size:.58rem;color:var(--tmu);display:block;margin-top:.1rem;letter-spacing:.02em}

/* extras */
.ext{background:#fff;border-radius:12px;margin:0 auto 1.2rem;box-shadow:0 2px 8px var(--ss);overflow:hidden;max-width:920px}
.ext summary{cursor:pointer;list-style:none;padding:.7rem 1rem;display:flex;align-items:center;justify-content:space-between;font-size:.78rem;font-weight:500;color:var(--ts)}
.ext summary::-webkit-details-marker{display:none}
.ext summary .ar{transition:transform .3s;color:var(--pk-lt);font-size:.65rem}
.ext[open] summary .ar{transform:rotate(180deg)}
.ext-in{padding:0 1rem 1rem;display:grid;grid-template-columns:1fr 1fr;gap:.7rem}
.fi label{display:block;font-size:.6rem;text-transform:uppercase;letter-spacing:.08em;color:var(--tmu);margin-bottom:.25rem;font-weight:700}
.fi select{width:100%;background:var(--cream);border:1.5px solid #eee;color:var(--td);padding:.45rem .6rem;border-radius:8px;font-family:var(--f);font-size:.8rem;appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10'%3E%3Cpath fill='%23e8598b' d='M5 7L0 2h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;transition:border-color .2s}
.fi select:focus{outline:none;border-color:var(--pink)}
@media(max-width:480px){.ext-in{grid-template-columns:1fr}}

/* ═══ REVEAL BUTTON ═══ */
.rbtn{display:block;width:100%;max-width:400px;margin:.72rem auto 1.35rem;padding:1rem 2rem;background:linear-gradient(135deg,var(--pk-hot),var(--pink));color:#fff;border:none;border-radius:100px;font-family:var(--fd);font-size:1.15rem;font-weight:600;letter-spacing:.02em;cursor:pointer;transition:all .3s;position:relative;overflow:hidden;box-shadow:0 8px 26px rgba(180,99,122,.2)}
.rbtn::after{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.12),transparent);animation:shi 5s ease-in-out infinite}
@keyframes shi{0%,100%{left:-100%}50%{left:100%}}
.rbtn:hover{transform:translateY(-2px);box-shadow:0 10px 32px rgba(232,89,139,.24)}
.rbtn:active{transform:scale(.97)}

/* ═══ SHUFFLE ═══ */
.shuf{display:none;text-align:center;padding:2rem 0}.shuf.on{display:block}
.shuf-c{display:flex;justify-content:center;gap:.35rem;margin-bottom:.8rem}
.sc{width:32px;height:48px;background:linear-gradient(135deg,var(--pk-pale),#fff);border:2px solid var(--pk-lt);border-radius:4px;animation:dan .65s ease-in-out infinite alternate}
.sc:nth-child(2){animation-delay:.1s}.sc:nth-child(3){animation-delay:.2s}.sc:nth-child(4){animation-delay:.3s}.sc:nth-child(5){animation-delay:.4s}
@keyframes dan{0%{transform:translateY(0) rotate(-2deg)}100%{transform:translateY(-8px) rotate(2deg)}}
.shuf-t{font-family:var(--fd);font-style:italic;color:var(--ts);font-size:.9rem}

/* ═══ CARDS ═══ */
.carea{display:none;margin-top:.5rem;text-align:center}.carea.on{display:block}
.finf{font-size:.8rem;color:var(--ts);margin-bottom:.5rem;font-style:italic}
.fcnt{font-size:.68rem;color:var(--pink);font-weight:700;margin-bottom:.8rem}
.crow{--cards-count:3;--card-gap:clamp(.5rem,.85vw,1rem);display:flex;justify-content:center;align-items:stretch;gap:var(--card-gap);flex-wrap:nowrap;-webkit-perspective:1200px;perspective:1200px;margin-bottom:1rem}

.tc{--tc-max:220px;width:min(var(--tc-max),calc((100% - (var(--cards-count) - 1) * var(--card-gap))/var(--cards-count)));aspect-ratio:3/5;height:auto;cursor:pointer;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;transition:transform .6s cubic-bezier(.4,0,.2,1);position:relative;touch-action:manipulation;-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none}
.crow[data-count="3"] .tc{--tc-max:400px}
.crow[data-count="5"] .tc{--tc-max:300px}
.crow[data-count="7"] .tc{--tc-max:220px}
.tc.fl{-webkit-transform:translate3d(0,0,0) rotateY(180deg);transform:translate3d(0,0,0) rotateY(180deg)}
/* Hover feedback must NOT replace .tc-deal's tcDealIn animation (would drop opacity:forwards → invisible card). */
.tc:not(.fl):hover{
  filter:drop-shadow(0 12px 26px rgba(108,52,64,.14)) brightness(1.02);
}
.cf{position:absolute;inset:0;border-radius:12px;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform-style:preserve-3d;transform-style:preserve-3d}

/* CARD BACK — custom illustrated frame (translateZ prevents 3D → 2D flattening from hiding wrong face) */
.cbk{background:linear-gradient(155deg,#533834 0%,#8e654d 48%,#3f2a29 100%);border:none;box-shadow:0 10px 26px rgba(47,39,50,.12);z-index:1;overflow:hidden;padding:5px;border-radius:16px;-webkit-transform:translateZ(1px);transform:translateZ(1px)}
.cbk::before{content:'';position:absolute;inset:0;border-radius:16px;background:linear-gradient(180deg,rgba(255,255,255,.2),transparent 28%,rgba(0,0,0,.18));z-index:3;pointer-events:none}
.cbk-media{position:absolute;inset:5px;z-index:0;border-radius:11px;overflow:hidden;background:linear-gradient(180deg,#38262d,#1f1519)}
.cbk-media img.card-back-img,.cbk-media svg{width:100%;height:100%;display:block;object-fit:cover;object-position:center;pointer-events:none;-webkit-user-drag:none;user-drag:none}
.cbk-media img.card-back-img{opacity:0;transition:opacity .45s ease}
.cbk-media.is-ready img.card-back-img{opacity:1}
.cbk-media .card-back-fallback{width:100%;height:100%;display:block}

/* CARD FRONT — custom illustrated frame */
.cft{-webkit-transform:rotateY(180deg) translateZ(1px);transform:rotateY(180deg) translateZ(1px);background:linear-gradient(155deg,#533834 0%,#977255 46%,#3c2827 100%);border:none;box-shadow:0 12px 30px rgba(47,39,50,.16);overflow:hidden;border-radius:16px;color:#fff;text-align:center;padding:5px}
.cft::before{content:'';position:absolute;inset:0;border-radius:16px;background:linear-gradient(180deg,rgba(255,255,255,.18),transparent 28%,rgba(0,0,0,.16));z-index:4;pointer-events:none}
.cft::after{content:'';position:absolute;inset:0;border-radius:16px;box-shadow:inset 0 1px 0 rgba(255,255,255,.24),inset 0 -1px 0 rgba(0,0,0,.08);z-index:4;pointer-events:none}
.cft-inner{position:absolute;inset:5px;display:grid;grid-template-rows:1fr auto;overflow:hidden;border-radius:11px;background:linear-gradient(180deg,#fffdf9,#f8eee1)}
.cft.rev-face .cft-inner{-webkit-transform:rotate(180deg);transform:rotate(180deg)}
.ctop{z-index:2;pointer-events:none}
.cnm{font-family:var(--fd);font-size:clamp(.82rem,1vw,1.02rem);font-weight:600;line-height:1.12;letter-spacing:-.01em;color:#fff6f0;padding:.52rem .65rem;background:linear-gradient(180deg,rgba(72,42,40,.98),rgba(108,52,64,.95));border-radius:0 0 11px 11px;text-align:center;display:flex;align-items:center;justify-content:center;min-height:2.2em;white-space:normal;overflow-wrap:anywhere;border:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
.cart{position:relative;overflow:hidden;border-radius:11px 11px 0 0;z-index:0;min-height:0;min-width:0;background:linear-gradient(180deg,#fffdf8,#f7eedf)}
.cart svg{width:100%;height:100%;display:block;pointer-events:none}
.cart svg .line,.cart svg .shape,.cart svg .pip{stroke:rgba(93,83,98,.5);stroke-width:1.05;fill:none;stroke-linecap:round;stroke-linejoin:round}
.cart svg .soft{stroke:rgba(191,165,122,.52);stroke-width:.9;fill:none;stroke-linecap:round;stroke-linejoin:round}
.cart svg .fill{fill:rgba(180,99,122,.82);stroke:none}
.cart svg .glyph,.cart svg .label{font-family:var(--fd);fill:rgba(93,83,98,.72);stroke:none}
.cart svg .label{font-size:4.7px;letter-spacing:.7px}
.cart .cart-inner{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;border-radius:11px 11px 0 0;overflow:hidden;background:transparent}
.cart .cart-svg-fallback{width:100%;height:100%;display:none;align-items:center;justify-content:center;background:linear-gradient(180deg,rgba(87,73,80,.92),rgba(28,18,23,.98))}
.cart .cart-svg-fallback svg{width:100%;height:100%;display:block}
.cart .cart-svg-fallback .img-missing{font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,245,237,.9);padding:.75rem;text-align:center}
.cart img.card-img{width:100%;height:100%;object-fit:cover;object-position:center center;display:block;pointer-events:none;-webkit-user-drag:none;user-drag:none;opacity:0;transition:opacity .45s ease}
.cart-inner.cart-inner--image.is-ready .card-img{opacity:1}
.cart-inner.cart-inner--image{position:absolute;inset:0;display:block;border-radius:11px 11px 0 0;overflow:hidden}
.cart-inner.cart-inner--image .cart-loading{position:absolute;inset:0;z-index:3;display:block;pointer-events:none;background:linear-gradient(105deg,rgba(255,253,248,.55) 0%,rgba(247,238,223,.92) 42%,rgba(255,250,244,.6) 100%);background-size:220% 100%;animation:cartFaceShimmer 1.15s ease-in-out infinite}
.cart-inner.cart-inner--image.is-ready .cart-loading{display:none}
.cart-inner.cart-inner--image .cart-img-slot{position:absolute;inset:0;z-index:2}
.cart-inner.cart-inner--image .cart-img-slot .card-img{position:absolute;inset:0;width:100%;height:100%}
@keyframes cartFaceShimmer{0%{background-position:0% 50%}100%{background-position:100% 50%}}
@media (prefers-reduced-motion:reduce){
  .cart-inner.cart-inner--image .cart-loading{animation:none;background:rgba(255,253,248,.72)}
}
.cbk-media.cbk-media--pending .cbk-loading{position:absolute;inset:0;z-index:2;display:block;pointer-events:none;background:linear-gradient(105deg,rgba(56,38,45,.75) 0%,rgba(31,21,25,.95) 50%,rgba(45,30,38,.82) 100%);background-size:220% 100%;animation:cbkShimmer 1.2s ease-in-out infinite}
.cbk-media.cbk-media--pending.is-ready .cbk-loading{display:none}
.cbk-media.cbk-media--pending .cbk-img-slot{position:absolute;inset:0;z-index:1}
.cbk-media.cbk-media--pending .cbk-img-slot .card-back-img{position:absolute;inset:0;width:100%;height:100%}
/* Veil: illustrated back shows softly under shimmer so backs never read as empty/broken while bitmap loads */
.cbk-media.cbk-media--pending .card-back-fallback{
  display:block !important;
  position:absolute;
  inset:0;
  z-index:0;
  opacity:.42;
  pointer-events:none;
  border-radius:11px;
  overflow:hidden;
}
.cbk-media.cbk-media--pending.is-ready:not(.is-error) .card-back-fallback{display:none !important}
.cbk-media.cbk-media--pending.is-error .card-back-fallback{opacity:1 !important}
.cart-inner.cart-inner--image:not(.is-ready) .cart-face-fallback.cart-face-fallback--veil{
  display:flex !important;
  position:absolute;
  inset:0;
  z-index:1;
  align-items:center;
  justify-content:center;
  opacity:.4;
  pointer-events:none;
}
.cart-inner.cart-inner--image.is-ready .cart-face-fallback.cart-face-fallback--veil{display:none !important}
.cart-inner.cart-inner--image.is-error .cart-face-fallback.cart-face-fallback--veil{opacity:1 !important;display:flex !important}
@keyframes cbkShimmer{0%{background-position:0% 50%}100%{background-position:100% 50%}}
@media (prefers-reduced-motion:reduce){
  .cbk-media.cbk-media--pending .cbk-loading{animation:none;background:rgba(56,38,45,.88)}
}

@media(max-width:900px){.crow{flex-wrap:wrap;--card-gap:.55rem}.cnm{font-size:.88rem;padding:.38rem .5rem;min-height:1.85em}}
@media(max-width:550px){.crow{gap:.45rem}.cnm{font-size:.68rem;padding:.28rem .4rem;min-height:1.75em}}
@media(max-width:380px){.cnm{font-size:.56rem;padding:.22rem .32rem;min-height:1.65em}}

/* Tarot spread #crow — fluid widths from viewport (no fixed px ladder); avoids horizontal scroll on narrow phones. */
#crow{
  width:100%;
  max-width:100%;
  min-width:0;
  box-sizing:border-box;
}
#crow .tc{
  box-sizing:border-box;
  flex:0 0 auto;
  width:min(var(--tc-max),calc((100% - (var(--cards-count) - 1) * var(--card-gap)) / var(--cards-count)));
  min-width:0;
  height:auto !important;
  aspect-ratio:3/5;
}
@media(max-width:400px){
  .ritual-cardmat.on .crow{--card-gap:clamp(.32rem,1.2vw,.55rem) !important}
}
/*
 * GUARDRAIL — tarot flip chain: #crow .tc uses preserve-3d + rotateY. WebKit replaces the entire
 * transform stack when :active applies transform, so flips break on iPhone/Safari. Do NOT add
 * transform, translate, or scale here (or on #crow .tc:active). Opacity-only press is intentional.
 */
#crow .tc:not(.fl):active{
  opacity:.96;
  transition:opacity .12s ease;
}

/* ═══ PREVIEW ═══ */
.prev{display:none;background:#fff;border-radius:18px;padding:1.85rem 1.45rem;text-align:center;box-shadow:0 4px 22px rgba(180,99,122,.08);border:1px solid rgba(180,99,122,.22);position:relative;overflow:hidden;margin:.75rem auto 0;max-width:860px}
.prev.on{display:block;animation:popI .35s ease}
@keyframes popI{0%{opacity:0;transform:scale(.96)}100%{opacity:1;transform:scale(1)}}
.prev::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--gold),var(--pink),var(--gold))}
.prev h3{margin-bottom:.3rem;font-size:1.2rem}
.psu{color:var(--ts);font-size:.78rem;font-style:italic;margin-bottom:1rem;line-height:1.5}
.pks{list-style:none;margin:0 auto 1.2rem;text-align:left;max-width:280px}
.pks li{padding:.35rem 0;font-size:.82rem;color:var(--tm);display:flex;align-items:center;gap:.55rem}
.pks li::before{content:'';width:6px;height:6px;background:var(--pink);border-radius:50%;flex-shrink:0}
.pv-actions{display:flex;justify-content:center;gap:.7rem;flex-wrap:wrap}
.ppb{display:inline-block;background:var(--pink);color:#fff;border:none;padding:.8rem 1.8rem;border-radius:100px;font-size:.9rem;font-family:var(--f);font-weight:600;cursor:pointer;transition:all .25s;box-shadow:0 3px 14px rgba(180,99,122,.12)}
.ppb:hover{background:var(--pk-hot);transform:translateY(-2px)}
.ppb.alt{background:#fff;color:var(--tm);border:1.5px solid #eee;box-shadow:none}
.ppb.alt:hover{background:var(--pk-pale);border-color:var(--pk-lt);color:var(--pink)}
.pnt{font-size:.65rem;color:var(--tmu);margin-top:.5rem}
.vlk{display:inline-block;margin-top:.5rem;font-size:.72rem;color:var(--pink);cursor:pointer;text-decoration:underline;text-underline-offset:3px;font-weight:500}
.demo{display:none;margin-top:1rem;text-align:left}
.demo.on{display:block}
.demo .rw{padding:1.25rem 1.05rem;background:linear-gradient(180deg,#fffdfb,#faf4ee);border-radius:18px}
.demo-note{margin-top:.9rem;font-size:.72rem;color:var(--ts);text-align:center}

/* ═══ FULL READING ═══ */
.frd{display:none;margin:.95rem auto 0;max-width:var(--reading-max)}.frd.on{display:block}
.rw{background:#fff;border-radius:20px;padding:2rem 1.65rem;box-shadow:0 8px 28px rgba(47,39,50,.06);border:1px solid rgba(191,165,122,.14)}
.rw>h3{text-align:center;margin-bottom:1.2rem;font-size:1.2rem}
.ci{padding:1rem 0;border-bottom:1px solid #f4eef4}.ci:last-of-type{border-bottom:none}
.cih{display:flex;align-items:center;gap:.6rem;margin-bottom:.4rem}
.cis{font-size:1.3rem}.cin{font-family:var(--fd);font-size:.95rem}.cip{font-size:.55rem;color:var(--pink);text-transform:uppercase;letter-spacing:.07em;font-weight:700}
.cit{color:var(--tm);font-size:.93rem;line-height:1.95}
.rmeta{display:flex;flex-wrap:wrap;gap:.45rem;justify-content:center;margin:-.2rem 0 1.2rem}
.rchip{display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .72rem;border-radius:999px;background:linear-gradient(180deg,#fdf7f1,#f6eee6);border:1px solid rgba(191,165,122,.22);font-size:.68rem;letter-spacing:.04em;text-transform:uppercase;color:var(--tm);font-weight:700}
.rchip strong{font-family:var(--fd);font-size:.77rem;letter-spacing:0;text-transform:none;color:var(--pk-hot);font-weight:600}
.rglance{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;margin:0 0 1.15rem}
.rgl{padding:.82rem .92rem;border-radius:15px;background:linear-gradient(180deg,#fffaf5,#f8f0e7);border:1px solid rgba(191,165,122,.14);box-shadow:0 5px 18px rgba(78,56,56,.04)}
.rgl strong{display:block;font-size:.63rem;letter-spacing:.12em;text-transform:uppercase;color:var(--pink);margin-bottom:.32rem}
.rgl p{font-size:.78rem;line-height:1.6;color:var(--tm)}
.rgl em{font-style:normal;color:var(--pk-hot);font-weight:600}
.clos{margin-top:1.2rem;padding:1.15rem 1.1rem;background:linear-gradient(180deg,#faf5ef,#f5ede6);border-radius:14px;border-left:2px solid var(--gold)}
.clos h4{font-size:.9rem;color:var(--pk-hot);margin-bottom:.25rem;font-family:var(--fd)}
.clos p{color:var(--tm);font-size:.82rem}
.racts{display:flex;gap:.7rem;justify-content:center;margin-top:1.2rem;flex-wrap:wrap}
.ab{padding:.55rem 1.4rem;border-radius:100px;font-family:var(--f);font-size:.78rem;font-weight:600;cursor:pointer;transition:all .2s;border:2px solid}
.ab.p{background:var(--pink);color:#fff;border-color:var(--pink)}.ab.p:hover{background:var(--pk-hot);border-color:var(--pk-hot)}
.ab.g{background:transparent;color:var(--tm);border-color:#eee}.ab.g:hover{border-color:var(--pk-lt);color:var(--pink)}

/* ═══ INFO SECTIONS ═══ */
.isec{text-align:center}
.isec .tag{margin-bottom:.25rem}

.arow{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem;margin-top:1.2rem;text-align:left}
.aimg{border-radius:16px;overflow:hidden;aspect-ratio:4/3;background:var(--pk-pale);display:flex;align-items:center;justify-content:center}
.aimg img{width:100%;height:100%;object-fit:cover}
.atxt p{color:var(--tm);font-size:.85rem;margin-bottom:.5rem}
.svcs{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.3rem}
.svc{background:var(--pk-pale);color:var(--pk-hot);padding:.2rem .6rem;border-radius:100px;font-size:.6rem;font-weight:700;letter-spacing:.03em}
@media(max-width:600px){.arow{grid-template-columns:1fr}}
@media(max-width:720px){.rglance{grid-template-columns:1fr}.rchip{font-size:.64rem}.rgl p{font-size:.76rem}}

/* business details */
.biz-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-top:1.2rem}
.biz-card{background:#fff;border-radius:12px;overflow:hidden;text-align:center;box-shadow:0 2px 10px var(--ss)}
.biz-img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block}
.biz-body{padding:1rem}
.biz-icon{font-size:1.5rem;margin-bottom:.3rem}
.biz-card h4{font-size:.85rem;margin-bottom:.15rem}
.biz-card p{font-size:.75rem;color:var(--ts)}
.biz-card a{color:var(--pink);text-decoration:none;font-weight:600;font-size:.75rem}

/* reviews */
.revs{display:flex;gap:.8rem;margin-top:1.2rem;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:.4rem}
.revs::-webkit-scrollbar{display:none}
.rev{flex:0 0 240px;scroll-snap-align:start;background:#fff;border-radius:12px;padding:1rem;text-align:left;box-shadow:0 2px 14px var(--ss);border-top:2.5px solid var(--pk-lt)}
.rev-s{color:var(--peach);font-size:.75rem;margin-bottom:.3rem}
.rev p{font-size:.78rem;color:var(--tm);font-style:italic;line-height:1.5}
.rev-n{margin-top:.5rem;font-size:.68rem;color:var(--pink);font-weight:600}

/* ═══ FOOTER ═══ */
footer{border-top:2px solid var(--pk-pale);padding:2rem 1.4rem 1.2rem;text-align:center;max-width:var(--page-max);margin:1.5rem auto 0}
.ftb{font-family:var(--fb);font-size:1.6rem;color:var(--pink)}
.ftt{color:var(--tmu);font-size:.72rem;margin-bottom:.8rem}
.fso{margin-bottom:.8rem}
.fso a{display:inline-flex;align-items:center;gap:.3rem;color:var(--tm);text-decoration:none;font-size:.75rem;font-weight:500;padding:.35rem .9rem;border:1.5px solid var(--pk-lt);border-radius:100px;transition:all .2s}
.fso a:hover{background:var(--pk-pale);color:var(--pk-hot)}
.fco{color:var(--tmu);font-size:.68rem;margin-bottom:.3rem}
.fco a{color:var(--tmu);text-decoration:none}.fco a:hover{color:var(--pink)}
.fln{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:.4rem .55rem;margin-bottom:.85rem;max-width:42rem;margin-left:auto;margin-right:auto;padding:0 .5rem}
.fln a{color:var(--ts);text-decoration:none;font-size:.68rem;padding:.2rem .15rem}
.fln a:hover{color:var(--pink);text-decoration:underline;text-underline-offset:3px}
.fln-sep{color:rgba(135,123,135,.5);font-size:.75rem;user-select:none;padding:0 .1rem}
.fln-legal{display:inline-flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.35rem}
.footer-legal-hint{
  font-size:.62rem;
  line-height:1.55;
  color:var(--tmu);
  max-width:32rem;
  margin:0 auto .65rem;
  opacity:.95;
}
.footer-legal-hint a{color:var(--ts);text-decoration:underline;text-underline-offset:2px}
.footer-legal-hint a:hover{color:var(--pink)}
.fdi{color:var(--tmu);font-size:.58rem;max-width:440px;margin:0 auto;line-height:1.6}

/* ═══ TAROTOO-STYLE UPGRADE ═══ */
body{
  background:
    radial-gradient(circle at top left,rgba(232,89,139,.12),transparent 32%),
    radial-gradient(circle at top right,rgba(191,165,122,.15),transparent 26%),
    linear-gradient(180deg,#fffaf6 0%,#f8f0e8 46%,#fbf8f4 100%);
}
body::before{
  content:'';
  position:fixed;
  inset:0;
  pointer-events:none;
  background-image:
    radial-gradient(circle at 12% 22%,rgba(255,255,255,.9) 0 1px,transparent 1.5px),
    radial-gradient(circle at 78% 18%,rgba(255,255,255,.75) 0 1px,transparent 1.6px),
    radial-gradient(circle at 65% 42%,rgba(191,165,122,.35) 0 1px,transparent 2px),
    radial-gradient(circle at 30% 68%,rgba(180,99,122,.18) 0 1px,transparent 2px);
  opacity:.9;
  z-index:0;
}
.wrap{padding-bottom:2rem}
.tnav{
  background:rgba(255,250,246,.78);
  border-bottom:1px solid rgba(191,165,122,.22);
  box-shadow:0 10px 30px rgba(47,39,50,.04);
}
.tnav-links a{
  background:rgba(255,255,255,.72);
  border-color:rgba(191,165,122,.22);
}
.hero{
  padding:2rem 1.4rem 1rem;
  max-width:1180px;
}
.hero::before{
  top:20px;
  width:680px;
  height:680px;
  background:radial-gradient(circle,rgba(232,89,139,.1) 0%,rgba(232,89,139,.03) 38%,transparent 74%);
}
.hero-shell{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);
  gap:1.4rem;
  align-items:stretch;
  padding:1.3rem;
  border-radius:32px;
  background:linear-gradient(145deg,rgba(255,255,255,.95),rgba(250,241,234,.82));
  border:1px solid rgba(191,165,122,.22);
  box-shadow:0 28px 70px rgba(47,39,50,.08);
  overflow:hidden;
  position:relative;
}
.hero-shell::after{
  content:'';
  position:absolute;
  inset:auto -80px -120px auto;
  width:320px;
  height:320px;
  background:radial-gradient(circle,rgba(191,165,122,.16),transparent 70%);
  pointer-events:none;
}
.hero-copy{
  text-align:left;
  padding:1rem;
  position:relative;
  z-index:1;
}
.hero .tag{
  display:inline-flex;
  align-items:center;
  gap:.55rem;
  padding:.45rem .8rem;
  border-radius:999px;
  background:rgba(255,255,255,.8);
  border:1px solid rgba(191,165,122,.24);
}
.hero .brand{
  margin:.7rem 0 .7rem;
  font-size:clamp(3rem,6.8vw,5.5rem);
}
.hero-lede{
  max-width:12.5ch;
  font-family:var(--fd);
  font-size:clamp(2rem,4.4vw,3.4rem);
  line-height:.98;
  letter-spacing:-.04em;
  color:#342832;
}
.hero-copy .qt{
  max-width:560px;
  margin:1rem 0 .55rem;
  font-size:1rem;
}
.hero-copy .loc{font-size:.72rem}
.hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.75rem;
  margin:1.3rem 0 1rem;
}
.hero-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:50px;
  padding:.85rem 1.25rem;
  border-radius:999px;
  text-decoration:none;
  font-weight:700;
  font-size:.82rem;
  letter-spacing:.03em;
  border:1px solid transparent;
  cursor:pointer;
  transition:transform .22s ease,box-shadow .22s ease,background .22s ease,color .22s ease;
}
.hero-btn:hover{transform:translateY(-2px)}
.hero-btn.primary{
  background:linear-gradient(135deg,#8c475c,#b4637a);
  color:#fff;
  box-shadow:0 18px 36px rgba(180,99,122,.22);
}
.hero-btn.secondary{
  background:rgba(255,255,255,.75);
  color:var(--tm);
  border-color:rgba(191,165,122,.22);
}
.hero-trust{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.8rem;
  margin-top:1rem;
}
.hero-trust .trust-item{
  padding:.95rem 1rem;
  border-radius:20px;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(191,165,122,.16);
}
.hero-trust strong{
  display:block;
  font-size:.72rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--pk-hot);
}
.hero-trust span{
  display:block;
  margin-top:.3rem;
  color:var(--tm);
  font-size:.8rem;
  line-height:1.55;
}
.hero-stage{
  position:relative;
  min-height:100%;
  padding:1.2rem;
  border-radius:28px;
  background:
    radial-gradient(circle at 50% 26%,rgba(255,255,255,.82),transparent 34%),
    linear-gradient(160deg,#4c3442 0%,#6e4759 46%,#d9bf9a 100%);
  overflow:hidden;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.14);
}
.hero-stage::before{
  content:'';
  position:absolute;
  inset:12% 14% auto;
  height:56%;
  border-radius:50%;
  background:radial-gradient(circle,rgba(255,255,255,.16) 0%,transparent 70%);
  filter:blur(5px);
}
.hero-orb{
  position:absolute;
  top:12%;
  right:14%;
  width:88px;
  height:88px;
  border-radius:50%;
  background:radial-gradient(circle at 30% 30%,#fff8ec 0%,#f3d7ac 35%,rgba(243,215,172,.18) 70%,transparent 72%);
  box-shadow:0 0 45px rgba(255,243,214,.22);
}
.hero-deck{
  position:relative;
  height:100%;
  min-height:420px;
}
.deck-card{
  position:absolute;
  width:min(46%,210px);
  aspect-ratio:3/5;
  border-radius:22px;
  overflow:hidden;
  box-shadow:0 25px 45px rgba(17,9,13,.28);
  border:1px solid rgba(255,255,255,.16);
}
.deck-card img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.deck-card.back-one{top:16%;left:8%;transform:rotate(-12deg)}
.deck-card.back-two{top:10%;left:32%;transform:rotate(9deg)}
.deck-card.front-main{
  right:10%;
  bottom:14%;
  transform:rotate(7deg);
}
.deck-chip,.deck-note{
  position:absolute;
  max-width:220px;
  padding:.85rem 1rem;
  border-radius:18px;
  background:rgba(255,248,241,.9);
  color:#433540;
  box-shadow:0 18px 35px rgba(20,12,17,.18);
}
.deck-chip{
  left:10%;
  bottom:14%;
  font-size:.72rem;
  line-height:1.55;
}
.deck-chip strong,.deck-note strong{
  display:block;
  margin-bottom:.25rem;
  font-size:.72rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--pk-hot);
}
.deck-note{
  right:8%;
  top:10%;
  font-size:.76rem;
  line-height:1.6;
}
.path-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:.9rem;
  margin-top:1rem;
}
.path-card{
  width:100%;
  padding:1rem;
  border-radius:22px;
  border:1px solid rgba(191,165,122,.2);
  background:rgba(255,255,255,.78);
  box-shadow:0 16px 40px rgba(47,39,50,.05);
  text-align:left;
  cursor:pointer;
  transition:transform .24s ease,border-color .24s ease,box-shadow .24s ease,background .24s ease;
}
.path-card:hover{
  transform:translateY(-4px);
  border-color:rgba(180,99,122,.45);
  box-shadow:0 22px 45px rgba(47,39,50,.08);
}
.path-card.on{
  border-color:rgba(180,99,122,.55);
  background:linear-gradient(180deg,rgba(255,250,248,.96),rgba(247,233,236,.96));
}
.path-kicker{
  display:inline-flex;
  margin-bottom:.65rem;
  font-size:.68rem;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--pink);
}
.path-card strong{
  display:block;
  font-family:var(--fd);
  font-size:1.12rem;
  line-height:1.12;
  color:var(--td);
}
.path-card p{
  margin:.55rem 0 .75rem;
  color:var(--tm);
  font-size:.82rem;
  line-height:1.62;
}
.path-meta{
  display:inline-flex;
  padding:.35rem .6rem;
  border-radius:999px;
  background:rgba(245,236,232,.9);
  color:var(--pk-hot);
  font-size:.66rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.hero-proof{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:.65rem;
  margin:1rem auto 0;
}
.proof-pill{
  padding:.55rem .85rem;
  border-radius:999px;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(191,165,122,.22);
  font-size:.72rem;
  color:var(--tm);
}
.pbar{
  margin:1.2rem auto 0;
  padding:.95rem 1rem;
  border-radius:24px;
  background:rgba(255,255,255,.62);
  border:1px solid rgba(191,165,122,.2);
}
.guide{
  margin-top:1rem;
  max-width:1180px;
}
.guide-shell{
  border-radius:30px;
  padding:2rem;
  background:linear-gradient(145deg,rgba(255,255,255,.92),rgba(249,241,233,.78));
  border:1px solid rgba(191,165,122,.22);
  box-shadow:0 22px 55px rgba(47,39,50,.06);
}
.guide-head{
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:1rem;
  margin-bottom:1.2rem;
}
.guide-head p{
  max-width:520px;
  color:var(--tm);
  font-size:.9rem;
}
.guide-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:.9rem;
}
.guide-card{
  padding:1.1rem 1rem;
  border-radius:22px;
  background:rgba(255,255,255,.74);
  border:1px solid rgba(191,165,122,.16);
}
.guide-num{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:34px;
  height:34px;
  border-radius:50%;
  margin-bottom:.7rem;
  background:rgba(180,99,122,.12);
  color:var(--pink);
  font-weight:700;
}
.guide-card h3{
  font-size:1rem;
  margin-bottom:.35rem;
}
.guide-card p{
  font-size:.8rem;
  color:var(--tm);
  line-height:1.65;
}
/* Reading steps: transparent shells so .ritual-panel is the single soft “room” per step */
.qsection,.chsec,.spsec{
  margin-top:.95rem;
  padding:.55rem .4rem;
  border-radius:0;
  background:transparent;
  border:none;
  box-shadow:none;
}
.qcats,.sps{margin-top:1.15rem}
.qinput{
  background:rgba(255,255,255,.92);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.5);
}
.ext{
  background:rgba(255,255,255,.9);
  border:1px solid rgba(191,165,122,.12);
}
.isec{
  max-width:1180px;
  margin-top:1.5rem;
  padding:2.2rem 1.25rem;
  border-radius:28px;
  background:linear-gradient(145deg,rgba(255,255,255,.9),rgba(250,242,236,.8));
  border:1px solid rgba(191,165,122,.14);
  box-shadow:0 12px 36px rgba(47,39,50,.045);
}
.biz-card,.rev{
  box-shadow:0 6px 18px rgba(47,39,50,.042);
}
footer{
  margin-top:1.8rem;
  padding-top:2.4rem;
}
@media(max-width:1050px){
  .hero-shell{grid-template-columns:1fr}
  .path-grid,.guide-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hero-trust{grid-template-columns:1fr}
  .hero-copy{text-align:center}
  .hero-copy .qt,.guide-head p{max-width:none}
  .hero-actions,.hero-proof{justify-content:center}
}
@media(max-width:720px){
  .hero{padding:1.1rem 1rem .5rem}
  .hero-shell,.guide-shell,.isec{padding:1.3rem}
  .qsection,.chsec,.spsec{padding:.4rem .2rem}
  .path-grid,.guide-grid{grid-template-columns:1fr}
  .guide-head{display:block}
  .hero-stage{min-height:410px}
  .deck-card{width:min(44%,190px)}
  .hero-lede{max-width:none}
}

/* ═══ PREMIUM REDESIGN OVERRIDES ═══
   Cascade risk: this block and later theme bundles restyle .qsection/.chsec/.spsec/.guide/.isec.
   Reading ritual shells are corrected again near end of <style> (#reading-flow > section…) and in
   the “Reading setup flow” section below—keep those in sync if you edit surfaces here. */
:root{
  --paper:#fffdfa;
  --sand:#f6ede1;
  --clay:#a65a42;
  --wine:#6c3440;
  --cedar:#593826;
  --evergreen:#70867c;
  --ink-strong:#241d1c;
}
body{
  background:
    radial-gradient(circle at 8% 12%,rgba(198,134,106,.14),transparent 26%),
    radial-gradient(circle at 88% 18%,rgba(112,134,124,.14),transparent 22%),
    radial-gradient(circle at 50% 0%,rgba(191,165,122,.18),transparent 28%),
    linear-gradient(180deg,#fffdfa 0%,#f7efe4 44%,#fcfaf6 100%);
  color:var(--ink-strong);
}
body::before{
  background-image:
    radial-gradient(circle at 14% 18%,rgba(255,255,255,.95) 0 1px,transparent 1.8px),
    radial-gradient(circle at 80% 12%,rgba(255,255,255,.85) 0 1px,transparent 1.8px),
    radial-gradient(circle at 76% 44%,rgba(112,134,124,.28) 0 1px,transparent 2px),
    radial-gradient(circle at 28% 68%,rgba(166,90,66,.18) 0 1px,transparent 2px);
}
.tnav{
  background:rgba(255,253,250,.84);
  box-shadow:0 6px 22px rgba(36,29,28,.035);
}
.tnav-brand{color:var(--wine)}
.tnav-links a{
  border-color:rgba(166,90,66,.12);
  background:rgba(255,255,255,.74);
}
.tnav-links a:hover{
  border-color:rgba(166,90,66,.34);
  background:#fff8f1;
  color:var(--wine);
}
.hero{
  padding:1.65rem 1.15rem .85rem;
  max-width:1240px;
}
.hero-shell{
  gap:1.35rem;
  padding:1.35rem;
  border-radius:32px;
  background:
    linear-gradient(145deg,rgba(255,255,255,.92),rgba(250,241,232,.84)),
    linear-gradient(180deg,rgba(255,255,255,.3),rgba(255,255,255,0));
  border:1px solid rgba(166,90,66,.12);
  box-shadow:0 20px 56px rgba(36,29,28,.065);
}
.hero-shell::after{
  inset:auto -90px -130px auto;
  width:360px;
  height:360px;
  background:radial-gradient(circle,rgba(112,134,124,.15),transparent 70%);
}
.hero-copy{padding:1rem 1rem .85rem}
.hero .tag{
  background:rgba(255,250,245,.88);
  border-color:rgba(166,90,66,.2);
  color:var(--clay);
}
.hero .brand{
  color:var(--wine);
  margin:.8rem 0 .55rem;
  font-size:clamp(3.1rem,6.6vw,5.9rem);
}
.hero .brand .to{color:#7f716f}
.hero .brand .num{color:#cb9e88}
.hero-lede{
  max-width:12ch;
  font-size:clamp(2.3rem,4.9vw,4rem);
  line-height:.95;
  color:#2b211f;
}
.hero-copy .qt{
  max-width:600px;
  margin:1.05rem 0 .65rem;
  font-size:1.04rem;
  line-height:1.8;
  color:#574847;
}
.hero-copy .loc{
  color:#8f7f77;
  letter-spacing:.18em;
}
.hero-actions{margin:1.45rem 0 1.1rem}
.hero-btn{
  min-height:54px;
  padding:.9rem 1.35rem;
  font-size:.8rem;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.hero-btn.primary{
  background:linear-gradient(135deg,var(--wine),var(--clay));
  box-shadow:0 12px 32px rgba(108,52,64,.18);
}
.hero-btn.secondary{
  border-color:rgba(166,90,66,.18);
  background:rgba(255,255,255,.76);
}
.hero-trust{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.9rem;
}
.hero-trust .trust-item{
  min-height:132px;
  border-radius:24px;
  background:linear-gradient(180deg,rgba(255,255,255,.84),rgba(247,238,230,.9));
  border:1px solid rgba(166,90,66,.12);
}
.hero-trust strong{
  color:var(--clay);
  letter-spacing:.14em;
}
.hero-trust span{font-size:.83rem}
.hero-stage{
  padding:1.15rem;
  border-radius:28px;
  background:
    radial-gradient(circle at 72% 16%,rgba(255,245,226,.58),transparent 18%),
    radial-gradient(circle at 30% 22%,rgba(255,255,255,.16),transparent 26%),
    linear-gradient(165deg,#2d2326 0%,#6a3b43 38%,#a96b4d 75%,#d6b483 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 14px 32px rgba(36,29,28,.09);
}
.hero-stage::before{
  inset:10% 12% auto;
  height:62%;
  background:radial-gradient(circle,rgba(255,255,255,.24) 0%,transparent 70%);
}
.hero-orb{
  top:9%;
  right:11%;
  width:94px;
  height:94px;
  box-shadow:0 0 52px rgba(255,243,214,.26);
}
.hero-deck{min-height:470px}
.deck-card{
  width:min(45%,220px);
  border:1px solid rgba(255,255,255,.18);
  box-shadow:0 18px 40px rgba(19,10,11,.26);
  animation:heroFloat 7s ease-in-out infinite;
}
.deck-card > img,.deck-card > div{width:100%;height:100%;display:block}
.deck-card.back-two{animation-delay:-2s}
.deck-card.front-main{animation-delay:-3.8s}
@keyframes heroFloat{
  0%,100%{transform:translateY(0) rotate(var(--rot,0deg))}
  50%{transform:translateY(-10px) rotate(calc(var(--rot,0deg) + 1deg))}
}
.deck-card.back-one{top:15%;left:7%;--rot:-14deg;transform:rotate(-14deg)}
.deck-card.back-two{top:9%;left:34%;--rot:10deg;transform:rotate(10deg)}
.deck-card.front-main{right:8%;bottom:11%;--rot:7deg;transform:rotate(7deg)}
.deck-chip,.deck-note{
  max-width:235px;
  border-radius:20px;
  background:rgba(255,248,241,.9);
  box-shadow:0 18px 35px rgba(25,15,18,.18);
}
.deck-chip{
  left:7%;
  bottom:10%;
}
.deck-note{
  right:6%;
  top:8%;
}
.deck-back-shell{
  position:relative;
  border-radius:22px;
  background:linear-gradient(160deg,#2c1d25 0%,#5e3340 50%,#25171d 100%);
  overflow:hidden;
}
.deck-back-shell::before{
  content:'';
  position:absolute;
  inset:8px;
  border-radius:16px;
  border:1px solid rgba(246,217,161,.48);
}
.deck-back-shell::after{
  content:'';
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 50% 50%,rgba(246,217,161,.26),transparent 24%),
    radial-gradient(circle at 50% 50%,rgba(255,255,255,.08),transparent 38%);
}
.deck-back-core{
  position:absolute;
  inset:18px;
  border-radius:16px;
  border:1px solid rgba(246,217,161,.22);
}
.deck-back-core::before,
.deck-back-core::after{
  content:'';
  position:absolute;
  inset:50% auto auto 50%;
  transform:translate(-50%,-50%);
  border-radius:50%;
}
.deck-back-core::before{
  width:54%;
  aspect-ratio:1;
  border:1.4px solid rgba(246,217,161,.72);
}
.deck-back-core::after{
  width:26%;
  aspect-ratio:1;
  border:1px solid rgba(246,217,161,.72);
}
.deck-front-shell{
  padding:6px;
  border-radius:22px;
  background:linear-gradient(155deg,#533834 0%,#8f664e 48%,#3f2a29 100%);
}
.deck-front-inner{
  height:100%;
  border-radius:16px;
  background:linear-gradient(180deg,#fffdf8,#f8eee0);
  display:grid;
  grid-template-rows:auto 1fr auto;
  overflow:hidden;
}
.deck-front-top,
.deck-front-bottom{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:32px;
  padding:.35rem .4rem;
  font-family:var(--fd);
  font-size:.64rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#5f3a37;
}
.deck-front-bottom{
  background:linear-gradient(180deg,rgba(245,224,199,.82),rgba(241,214,181,.96));
}
.deck-front-shell svg{width:100%;height:100%;display:block}
.path-grid{
  gap:1rem;
  margin-top:1.2rem;
}
.path-card{
  padding:1rem .95rem;
  border-radius:22px;
  background:linear-gradient(180deg,rgba(255,255,255,.78),rgba(247,238,230,.88));
  border:1px solid rgba(166,90,66,.11);
  box-shadow:0 10px 28px rgba(36,29,28,.042);
}
.path-card:hover{
  border-color:rgba(108,52,64,.32);
  box-shadow:0 14px 34px rgba(36,29,28,.065);
}
.path-card.on{
  border-color:rgba(108,52,64,.46);
  background:linear-gradient(180deg,rgba(255,250,247,.98),rgba(245,231,229,.98));
}
.path-kicker{
  color:var(--clay);
  letter-spacing:.18em;
}
.path-card strong{
  font-size:1.16rem;
  color:#2f2423;
}
.path-meta{
  background:rgba(255,247,239,.96);
  color:var(--wine);
}
.hero-proof{
  gap:.8rem;
  justify-content:flex-start;
  margin-top:1.2rem;
}
.proof-pill{
  background:rgba(255,255,255,.74);
  border-color:rgba(166,90,66,.14);
  color:#5b4b46;
}
.signal-strip{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:.9rem;
  margin-top:1rem;
}
.signal-card{
  padding:.88rem .92rem;
  border-radius:20px;
  background:linear-gradient(180deg,rgba(255,255,255,.68),rgba(248,240,232,.88));
  border:1px solid rgba(166,90,66,.1);
  box-shadow:0 8px 24px rgba(36,29,28,.038);
}
.signal-card span{
  display:block;
  margin-bottom:.45rem;
  font-size:.68rem;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--clay);
}
.signal-card strong{
  display:block;
  font-family:var(--fd);
  font-size:1.06rem;
  line-height:1.1;
  color:#2e2422;
}
.signal-card p{
  margin-top:.45rem;
  color:#5b4d49;
  font-size:.8rem;
  line-height:1.62;
}
.editorial-band{
  display:grid;
  grid-template-columns:minmax(260px,.9fr) minmax(0,1.1fr);
  gap:1.2rem;
  margin-top:1rem;
  padding:1.35rem;
  border-radius:28px;
  background:linear-gradient(135deg,rgba(91,56,38,.96),rgba(108,52,64,.94));
  color:#fff7f0;
  box-shadow:0 22px 54px rgba(36,29,28,.14);
}
.editorial-band h2{
  color:#fff8f4;
  font-size:clamp(1.8rem,3vw,2.6rem);
}
.editorial-band .tag{
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.14);
  color:#f1d3bf;
}
.band-copy p{
  color:rgba(255,248,244,.88);
  font-size:.92rem;
}
.band-copy p + p{margin-top:.8rem}
.pbar{
  margin-top:1rem;
  background:rgba(255,255,255,.7);
  border-color:rgba(166,90,66,.12);
}
.ps.a{color:var(--wine)}
.ps .d{border-color:#d0b8aa;color:#a77b68}
.ps.a .d,.ps.dn .d{
  background:var(--wine);
  border-color:var(--wine);
  color:#fff;
}
.guide{
  margin-top:1.2rem;
  max-width:1240px;
}
.guide-shell{
  padding:1.75rem 1.65rem;
  border-radius:30px;
  background:linear-gradient(145deg,rgba(255,255,255,.9),rgba(247,238,230,.86));
  border:1px solid rgba(166,90,66,.11);
  box-shadow:0 14px 42px rgba(36,29,28,.048);
}
.guide-head{
  align-items:start;
  margin-bottom:1.35rem;
}
.guide-head p{max-width:560px}
.guide-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1rem;
}
.guide-card{
  padding:1.2rem 1.1rem;
  border-radius:24px;
  background:linear-gradient(180deg,rgba(255,255,255,.78),rgba(251,246,239,.92));
  border:1px solid rgba(166,90,66,.12);
}
.guide-num{
  width:40px;
  height:40px;
  background:rgba(108,52,64,.1);
  color:var(--wine);
}
.guide-card h3{font-size:1.06rem}
.guide-card p{font-size:.82rem}
.qsection,.chsec,.spsec{
  max-width:1240px;
  margin-top:.85rem;
  padding:.45rem .3rem;
  border-radius:0;
  background:transparent;
  border:none;
  box-shadow:none;
}
.isec{
  max-width:1240px;
  margin-top:1.55rem;
  padding:2.2rem 1.3rem;
  border-radius:30px;
  background:linear-gradient(145deg,rgba(255,255,255,.9),rgba(248,239,231,.85));
  border:1px solid rgba(166,90,66,.11);
  box-shadow:0 14px 40px rgba(36,29,28,.044);
}
.qsection h2,.chsec h2,.spsec h2,.isec h2{color:#2c2221}
.qsub,.chsub,.spsub{color:#6b5a55}
.qcat,.sp,.ext,.prev,.rw,.biz-card,.rev{
  border-color:rgba(166,90,66,.14);
}
.qcat.on,.sp.on{
  background:#fff6ef;
  color:var(--wine);
  border-color:rgba(108,52,64,.34);
}
.qinput{
  background:rgba(255,255,255,.95);
  border-color:rgba(166,90,66,.14);
}
.story-shell{
  display:grid;
  grid-template-columns:minmax(320px,.95fr) minmax(0,1.05fr);
  gap:1.4rem;
  align-items:stretch;
}
.story-visual{
  position:relative;
  border-radius:28px;
  overflow:hidden;
  min-height:420px;
  background:linear-gradient(165deg,#5c3035 0%,#91503d 48%,#d7b07f 100%);
  box-shadow:0 24px 50px rgba(36,29,28,.12);
}
.story-visual img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  mix-blend-mode:screen;
  opacity:.86;
}
.story-overlay{
  position:absolute;
  left:1rem;
  right:1rem;
  bottom:1rem;
  padding:1rem;
  border-radius:20px;
  background:rgba(255,247,239,.9);
  box-shadow:0 18px 35px rgba(36,29,28,.16);
}
.story-overlay strong{
  display:block;
  margin-bottom:.3rem;
  font-size:.74rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--clay);
}
.story-overlay p{
  color:#594b46;
  font-size:.82rem;
}
.story-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.story-copy p{
  color:#5f514d;
  font-size:.92rem;
}
.story-copy p + p{margin-top:.85rem}
.principles{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.9rem;
  margin-top:1.2rem;
}
.principle{
  padding:1rem;
  border-radius:22px;
  background:linear-gradient(180deg,rgba(255,255,255,.78),rgba(249,242,236,.92));
  border:1px solid rgba(166,90,66,.12);
}
.principle strong{
  display:block;
  margin-bottom:.35rem;
  font-size:.76rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--clay);
}
.principle p{
  margin:0;
  font-size:.82rem;
  color:#5b4d49;
}
.offer-grid{
  display:grid;
  grid-template-columns:1.1fr repeat(3,minmax(0,1fr));
  gap:1rem;
  margin-top:1.25rem;
}
.offer-card{
  border-radius:26px;
  overflow:hidden;
  background:linear-gradient(180deg,rgba(255,255,255,.84),rgba(247,238,230,.94));
  border:1px solid rgba(166,90,66,.12);
  box-shadow:0 18px 44px rgba(36,29,28,.07);
}
.offer-card.feature{
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding:1.35rem;
  background:linear-gradient(160deg,#2d2326 0%,#6a3b43 45%,#b87453 100%);
  color:#fff8f2;
}
.offer-card.feature h3,
.offer-card.feature p,
.offer-card.feature strong{color:inherit}
.offer-card.feature .offer-meta{
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.14);
}
.offer-media{
  aspect-ratio:4/3;
  overflow:hidden;
}
.offer-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.offer-body{padding:1rem}
.offer-card h3{
  font-size:1.06rem;
  margin-bottom:.25rem;
}
.offer-card p{
  color:#5c4e49;
  font-size:.82rem;
  line-height:1.65;
}
.offer-meta{
  display:inline-flex;
  margin-top:.8rem;
  padding:.35rem .62rem;
  border-radius:999px;
  background:#fff7ef;
  color:var(--wine);
  font-size:.68rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.testimonial-shell{
  display:grid;
  grid-template-columns:minmax(300px,.9fr) minmax(0,1.1fr);
  gap:1.1rem;
  align-items:start;
}
.testimonial-lead{
  position:sticky;
  top:96px;
  padding:1.3rem;
  border-radius:28px;
  background:linear-gradient(160deg,#fff9f2 0%,#f5e8dd 100%);
  border:1px solid rgba(166,90,66,.12);
}
.testimonial-lead blockquote{
  margin-top:1rem;
  font-family:var(--fd);
  font-size:clamp(1.4rem,2.4vw,2rem);
  line-height:1.08;
  color:#332725;
}
.testimonial-note{
  margin-top:1rem;
  color:#63544e;
  font-size:.86rem;
}
.revs{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.95rem;
  overflow:visible;
  padding-bottom:0;
}
.rev{
  min-height:100%;
  padding:1.15rem;
  border-radius:22px;
  border-top:1px solid rgba(166,90,66,.14);
  box-shadow:0 18px 44px rgba(36,29,28,.07);
}
.rev-s{color:#c69a5b}
.rev p{
  font-size:.84rem;
  line-height:1.68;
  color:#574945;
}
.rev-n{
  color:var(--wine);
  letter-spacing:.04em;
}
footer{
  max-width:1240px;
  border-top:1px solid rgba(166,90,66,.14);
}
@media(max-width:1100px){
  .signal-strip,
  .offer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .editorial-band,
  .story-shell,
  .testimonial-shell{grid-template-columns:1fr}
  .testimonial-lead{position:static}
  .hero-proof{justify-content:center}
}
@media(max-width:820px){
  .guide-grid,
  .principles,
  .revs{grid-template-columns:1fr}
  .signal-strip,
  .offer-grid{grid-template-columns:1fr}
}
@media(max-width:720px){
  .hero-shell,.guide-shell,.qsection,.chsec,.spsec,.isec{padding:1.35rem}
  .hero-copy{text-align:center}
  .hero-trust{grid-template-columns:1fr}
  .hero-proof{justify-content:center}
  .hero-lede,.hero-copy .qt{max-width:none}
}

/* ═══ BUBBLY PINK MOOD OVERRIDES ═══ */
:root{
  --paper:#fff8fb;
  --sand:#fdeff5;
  --clay:#d96d98;
  --wine:#b84d78;
  --cedar:#7d425b;
  --evergreen:#9bbcc5;
  --ink-strong:#3a2631;
}
body{
  background:
    radial-gradient(circle at 12% 10%,rgba(255,190,218,.42),transparent 26%),
    radial-gradient(circle at 84% 16%,rgba(214,235,243,.34),transparent 22%),
    radial-gradient(circle at 50% 0%,rgba(255,214,230,.38),transparent 30%),
    linear-gradient(180deg,#fff9fc 0%,#fff1f7 42%,#fff9fc 100%);
  color:var(--ink-strong);
}
body::before{
  background-image:
    radial-gradient(circle at 14% 18%,rgba(255,255,255,.96) 0 1px,transparent 1.8px),
    radial-gradient(circle at 80% 12%,rgba(255,255,255,.85) 0 1px,transparent 1.8px),
    radial-gradient(circle at 76% 44%,rgba(217,109,152,.18) 0 1px,transparent 2px),
    radial-gradient(circle at 28% 68%,rgba(155,188,197,.18) 0 1px,transparent 2px);
}
.tnav{
  background:rgba(255,249,252,.84);
  border-bottom-color:rgba(217,109,152,.14);
  box-shadow:0 14px 40px rgba(184,77,120,.08);
}
.tnav-brand{color:var(--wine)}
.tnav-links a{
  border-color:rgba(217,109,152,.12);
  background:rgba(255,255,255,.82);
}
.tnav-links a:hover{
  border-color:rgba(217,109,152,.3);
  background:#fff0f6;
  color:var(--wine);
}
.hero-shell{
  background:
    radial-gradient(circle at 84% 18%,rgba(214,235,243,.46),transparent 22%),
    radial-gradient(circle at 18% 16%,rgba(255,210,228,.5),transparent 26%),
    linear-gradient(145deg,rgba(255,255,255,.95),rgba(255,239,247,.9));
  border-color:rgba(217,109,152,.14);
  box-shadow:0 34px 90px rgba(214,109,152,.12);
}
.hero-shell::after{
  background:radial-gradient(circle,rgba(255,195,220,.28),transparent 70%);
}
.hero .tag{
  background:rgba(255,245,249,.95);
  border-color:rgba(217,109,152,.2);
  color:var(--clay);
}
.hero .brand{color:var(--wine)}
.hero .brand .to{color:#9b7386}
.hero .brand .num{color:#e6a6c0}
.hero-lede{color:#412932}
.hero-copy .qt{color:#6e5661}
.hero-copy .loc{color:#b07c92}
.hero-btn.primary{
  background:linear-gradient(135deg,#d96d98,#ef93b8);
  box-shadow:0 18px 38px rgba(217,109,152,.28);
}
.hero-btn.secondary{
  border-color:rgba(217,109,152,.18);
  background:rgba(255,255,255,.82);
}
.hero-trust .trust-item{
  background:linear-gradient(180deg,rgba(255,255,255,.9),rgba(255,238,246,.94));
  border-color:rgba(217,109,152,.12);
}
.hero-trust strong{color:var(--clay)}
.hero-stage{
  background:
    radial-gradient(circle at 72% 16%,rgba(255,235,244,.72),transparent 18%),
    radial-gradient(circle at 30% 22%,rgba(255,255,255,.16),transparent 26%),
    linear-gradient(165deg,#5e2f46 0%,#b84d78 42%,#ef9dc0 78%,#d7edf2 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 20px 40px rgba(184,77,120,.18);
}
.deck-chip,.deck-note{
  background:rgba(255,248,251,.92);
  color:#5f4450;
  box-shadow:0 18px 35px rgba(184,77,120,.16);
}
.deck-chip strong,.deck-note strong{color:var(--clay)}
.path-card,
.guide-card,
.signal-card,
.offer-card,
.principle,
.testimonial-lead,
.preview-card{
  background:linear-gradient(180deg,rgba(255,255,255,.9),rgba(255,238,246,.94));
  border-color:rgba(217,109,152,.14);
  box-shadow:0 18px 46px rgba(184,77,120,.08);
}
.path-card:hover{
  border-color:rgba(217,109,152,.34);
  box-shadow:0 24px 48px rgba(184,77,120,.12);
}
.path-card.on{
  border-color:rgba(217,109,152,.42);
  background:linear-gradient(180deg,rgba(255,249,252,.98),rgba(255,229,240,.98));
}
.path-kicker,
.signal-card span,
.story-overlay strong,
.principle strong{color:var(--clay)}
.path-meta,
.offer-meta{
  background:rgba(255,242,247,.98);
  color:var(--wine);
}
.proof-pill{
  background:rgba(255,255,255,.8);
  border-color:rgba(217,109,152,.14);
  color:#765a67;
}
.editorial-band{
  background:linear-gradient(135deg,rgba(184,77,120,.98),rgba(239,147,184,.96));
  box-shadow:0 22px 54px rgba(184,77,120,.22);
}
.editorial-band .tag{
  background:rgba(255,255,255,.12);
  border-color:rgba(255,255,255,.2);
  color:#ffe7f1;
}
.pbar{
  background:rgba(255,255,255,.78);
  border-color:rgba(217,109,152,.12);
}
.ps.a{color:var(--wine)}
.ps .d{border-color:#e8b0c6;color:#d878a0}
.ps.a .d,.ps.dn .d{
  background:var(--wine);
  border-color:var(--wine);
}
.guide-shell,
.qsection,.chsec,.spsec,.isec{
  background:
    radial-gradient(circle at top right,rgba(214,235,243,.22),transparent 18%),
    radial-gradient(circle at top left,rgba(255,212,229,.24),transparent 18%),
    linear-gradient(145deg,rgba(255,255,255,.95),rgba(255,240,247,.92));
  border-color:rgba(217,109,152,.14);
  box-shadow:0 28px 68px rgba(184,77,120,.09);
}
.qsection h2,.chsec h2,.spsec h2,.isec h2,
.path-card strong,.signal-card strong,.offer-card h3,.story-copy h2,.testimonial-lead h2{color:#482d39}
.qsub,.chsub,.spsub,.guide-head p,.signal-card p,.story-copy p,.offer-card p,.testimonial-note,.rev p{color:#715964}
.qcat,.sp,.ext,.prev,.rw,.biz-card,.rev{
  border-color:rgba(217,109,152,.14);
}
.qcat:hover,.sp:hover{
  border-color:rgba(217,109,152,.28);
}
.qcat.on,.sp.on{
  background:#fff0f6;
  color:var(--wine);
  border-color:rgba(217,109,152,.32);
}
.qinput,
.ext,
.rw,
.prev,
.story-overlay{
  background:rgba(255,255,255,.94);
  border-color:rgba(217,109,152,.12);
}
.story-visual{
  background:linear-gradient(165deg,#8d4767 0%,#dd7ea8 48%,#f4bed5 100%);
  box-shadow:0 24px 50px rgba(184,77,120,.16);
}
.offer-card.feature{
  background:linear-gradient(160deg,#8d4767 0%,#d96d98 45%,#f1adc8 100%);
}
.offer-card.feature .offer-meta{
  background:rgba(255,255,255,.14);
  border-color:rgba(255,255,255,.18);
}
.testimonial-lead{
  background:linear-gradient(160deg,#fff8fb 0%,#ffeef6 100%);
}
.testimonial-lead blockquote{color:#5a3947}
.rev{
  background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(255,239,247,.96));
  border-top-color:rgba(217,109,152,.18);
}
.rev-s{color:#ef93b8}
.rev-n{color:var(--wine)}
.ftb{color:var(--wine)}
.fso a{
  border-color:rgba(217,109,152,.18);
  background:rgba(255,255,255,.74);
}
.fso a:hover{
  background:#fff0f6;
  color:var(--wine);
}

/* ═══ FINAL POLISH ═══ */
body{
  font-size:17.5px;
  line-height:1.76;
  text-rendering:optimizeLegibility;
}
h1,h2,h3,h4{
  text-wrap:balance;
}
p{
  text-wrap:pretty;
}
.hero .brand{
  letter-spacing:-.03em;
}
.hero-lede{
  max-width:13ch;
  text-shadow:0 10px 26px rgba(255,255,255,.35);
}
.hero-copy .qt{
  max-width:34rem;
  font-size:1.03rem;
}
.hero-copy > *{
  opacity:0;
  animation:riseFade .85s cubic-bezier(.22,1,.36,1) forwards;
}
.hero-copy > *:nth-child(1){animation-delay:.05s}
.hero-copy > *:nth-child(2){animation-delay:.12s}
.hero-copy > *:nth-child(3){animation-delay:.2s}
.hero-copy > *:nth-child(4){animation-delay:.28s}
.hero-copy > *:nth-child(5){animation-delay:.36s}
.hero-copy > *:nth-child(6){animation-delay:.44s}
.hero-stage{
  animation:riseFade 1s cubic-bezier(.22,1,.36,1) .18s both;
}
.hero-orb{
  animation:orbPulse 8s ease-in-out infinite;
}
.deck-chip,.deck-note{
  border:1px solid rgba(255,255,255,.35);
  backdrop-filter:blur(12px);
}
.hero-trust .trust-item,
.path-card,
.guide-card,
.principle,
.offer-card,
.rev,
.proof-pill,
.qcat,
.sp,
.hero-btn,
.ppb,
.ab{
  transition:transform .32s ease,box-shadow .32s ease,border-color .32s ease,background .32s ease,color .32s ease;
}
.hero-trust .trust-item:hover,
.guide-card:hover,
.principle:hover,
.offer-card:hover,
.rev:hover,
.proof-pill:hover{
  transform:translateY(-4px);
  box-shadow:0 24px 48px rgba(184,77,120,.12);
}
.offer-media img,
.story-visual img{
  transition:transform .9s ease,filter .9s ease;
}
.offer-card:hover .offer-media img,
.story-visual:hover img{
  transform:scale(1.04);
}
.story-overlay{
  backdrop-filter:blur(12px);
}
.guide-num{
  box-shadow:0 12px 22px rgba(217,109,152,.18);
}
.qinput{
  min-height:88px;
  line-height:1.65;
}
.qinput::placeholder{
  font-style:normal;
}
.pbar{
  box-shadow:0 14px 40px rgba(184,77,120,.07);
}
.rev p,
.offer-card p,
.story-copy p,
.guide-card p{
  line-height:1.72;
}

/* Consistent section rhythm and cleaner spacing */
.hero{padding:2.1rem 1.25rem 1.2rem}
.path-grid{margin-top:1.05rem}
.guide{margin-top:.95rem}
.qsection,.chsec,.spsec,.isec{margin-top:1rem}
.hero-shell,.guide-shell,.qsection,.chsec,.spsec,.isec{
  padding:clamp(1.35rem,2.4vw,1.95rem);
}
.hero-stage{min-height:520px}
.hero-deck{
  min-height:520px;
  padding:0 .45rem 8.6rem;
}
.deck-card{
  width:min(30%,190px);
  z-index:2;
}
.deck-card.back-one{left:4%;top:19%}
.deck-card.back-two{left:35%;top:7%}
.deck-card.front-main{right:4%;top:19%}
.deck-chip,.deck-note{
  z-index:3;
  max-width:44%;
}
.deck-chip{
  left:5%;
  bottom:4.5%;
}
.deck-note{
  top:auto;
  right:5%;
  bottom:4.5%;
}
.story-shell,.offer-grid,.testimonial-shell{gap:1.2rem}
.story-copy{gap:.4rem}
.story-copy h2{margin-bottom:.25rem}
.story-copy p + p{margin-top:.5rem}
.principles{margin-top:1rem;gap:.75rem}
.principle{padding:1rem .95rem}
.offer-grid{margin-top:1rem}
.offer-body{padding:1rem .95rem 1.1rem}
.offer-card p{margin-top:.35rem}
.testimonial-shell{align-items:stretch}
.testimonial-lead{height:100%;padding:1.2rem}
.testimonial-lead blockquote{margin-top:.75rem}
.testimonial-note{margin-top:.75rem}
.revs{gap:.85rem}
.rev{padding:1rem}
@media(max-width:1050px){
  .hero-stage{min-height:500px}
  .hero-deck{
    min-height:500px;
    padding-bottom:8rem;
  }
  .deck-card{width:min(30%,170px)}
  .deck-card.back-one{left:3.5%;top:20%}
  .deck-card.back-two{left:35%;top:8%}
  .deck-card.front-main{right:3.5%;top:20%}
  .deck-chip,.deck-note{max-width:45%}
}
@media(max-width:700px){
  .hero-stage{min-height:410px}
  .hero-deck{
    min-height:410px;
    padding-bottom:0;
  }
  .deck-card{width:min(31%,140px)}
  .deck-card.back-one{left:4%;top:22%}
  .deck-card.back-two{left:35%;top:10%}
  .deck-card.front-main{right:4%;top:22%}
  .deck-chip,.deck-note{display:none}
}
@keyframes riseFade{
  0%{opacity:0;transform:translateY(22px)}
  100%{opacity:1;transform:translateY(0)}
}
@keyframes orbPulse{
  0%,100%{transform:scale(1);opacity:.92}
  50%{transform:scale(1.08);opacity:1}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .hero-copy > *,
  .hero-stage,
  .hero-orb{
    animation:none !important;
    opacity:1;
    transform:none;
  }
  .deck-card{
    animation:none !important;
  }
  .hero-trust .trust-item,
  .path-card,
  .guide-card,
  .principle,
  .offer-card,
  .rev,
  .proof-pill,
  .qcat,
  .sp,
  .hero-btn,
  .ppb,
  .ab,
  .offer-media img,
  .story-visual img{
    transition:none !important;
  }
}

/* ══════════════════════════════════════════════════════
   HERO STAGE — ANIMATED TAROT CARD + BRAND
   ══════════════════════════════════════════════════════ */

.hero-stage{
  background:
    radial-gradient(ellipse at 50% 40%,rgba(255,230,240,.5) 0%,transparent 55%),
    radial-gradient(ellipse at 25% 70%,rgba(255,220,200,.35) 0%,transparent 45%),
    radial-gradient(ellipse at 75% 25%,rgba(220,200,240,.25) 0%,transparent 45%),
    linear-gradient(160deg,#fff6f0 0%,#fff0f4 40%,#fef0ea 70%,#fdf4f0 100%);
  border-radius:30px;
  box-shadow:inset 0 0 60px rgba(217,109,152,.04);
  overflow:hidden;
  position:relative;
  min-height:500px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:.6rem;
}
/* soft sparkle dots overlay */
.hero-stage::after{
  content:'';position:absolute;inset:0;pointer-events:none;z-index:0;
  background-image:
    radial-gradient(1.5px 1.5px at 15% 20%,rgba(184,77,120,.18),transparent),
    radial-gradient(1px 1px at 82% 15%,rgba(191,165,122,.22),transparent),
    radial-gradient(1.2px 1.2px at 55% 75%,rgba(184,77,120,.15),transparent),
    radial-gradient(1px 1px at 30% 85%,rgba(180,140,200,.18),transparent),
    radial-gradient(1.3px 1.3px at 72% 55%,rgba(191,165,122,.16),transparent),
    radial-gradient(1px 1px at 45% 35%,rgba(184,77,120,.12),transparent),
    radial-gradient(1.5px 1.5px at 88% 80%,rgba(180,140,200,.14),transparent),
    radial-gradient(1px 1px at 10% 60%,rgba(191,165,122,.18),transparent);
  background-size:100% 100%;
  animation:dotTwinkle 6s ease-in-out infinite alternate;
}
@keyframes dotTwinkle{0%{opacity:.6}100%{opacity:1}}

/* animated glow blobs */
.stg-glow{position:absolute;border-radius:50%;pointer-events:none;filter:blur(40px);z-index:0}
.stg-glow-1{width:200px;height:200px;top:10%;left:15%;background:rgba(217,109,152,.12);animation:glowDrift1 12s ease-in-out infinite}
.stg-glow-2{width:160px;height:160px;bottom:15%;right:10%;background:rgba(191,165,122,.14);animation:glowDrift2 15s ease-in-out infinite}
.stg-glow-3{width:120px;height:120px;top:50%;left:50%;transform:translate(-50%,-50%);background:rgba(180,140,200,.08);animation:glowDrift3 10s ease-in-out infinite}
@keyframes glowDrift1{0%,100%{transform:translate(0,0) scale(1)}33%{transform:translate(20px,-15px) scale(1.15)}66%{transform:translate(-10px,10px) scale(.9)}}
@keyframes glowDrift2{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(-25px,-20px) scale(1.2)}}
@keyframes glowDrift3{0%,100%{transform:translate(-50%,-50%) scale(1);opacity:.6}50%{transform:translate(-50%,-50%) scale(1.3);opacity:1}}

/* orbiting ring with dots */
.stg-orbit{
  position:absolute;top:50%;left:50%;
  width:240px;height:240px;
  margin:-120px 0 0 -120px;
  border:1px solid rgba(184,77,120,.08);
  border-radius:50%;
  animation:orbitSpin 30s linear infinite;
  z-index:1;pointer-events:none;
}
@keyframes orbitSpin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}
.orb-dot{
  position:absolute;width:6px;height:6px;border-radius:50%;
}
.orb-dot-1{top:-3px;left:50%;margin-left:-3px;background:rgba(217,109,152,.35);box-shadow:0 0 8px rgba(217,109,152,.3)}
.orb-dot-2{bottom:20%;right:-3px;background:rgba(191,165,122,.4);box-shadow:0 0 8px rgba(191,165,122,.3)}
.orb-dot-3{bottom:-3px;left:30%;background:rgba(180,140,200,.35);box-shadow:0 0 8px rgba(180,140,200,.3)}

/* decorative tarot card */
.stg-card{
  position:relative;z-index:2;
  width:110px;height:160px;
  border-radius:12px;
  background:linear-gradient(160deg,#fff 0%,#fff8f4 50%,#fff0f4 100%);
  border:2px solid rgba(184,77,120,.15);
  box-shadow:
    0 8px 32px rgba(184,77,120,.12),
    0 2px 8px rgba(0,0,0,.04),
    inset 0 0 20px rgba(217,109,152,.04);
  animation:cardFloat 5s ease-in-out infinite;
  display:flex;align-items:center;justify-content:center;
}
@keyframes cardFloat{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-10px) rotate(1deg)}}
.stg-card-inner{
  position:relative;
  width:88px;height:136px;
  border:1.5px solid rgba(184,77,120,.1);
  border-radius:8px;
  display:flex;align-items:center;justify-content:center;
  background:linear-gradient(170deg,rgba(255,240,246,.3),rgba(255,248,242,.5));
}
.stg-card-border{
  position:absolute;inset:6px;
  border:1px solid rgba(184,77,120,.08);
  border-radius:6px;
}
.stg-card-star{
  position:absolute;font-size:.55rem;color:rgba(191,165,122,.5);
}
.stg-card-star-tl{top:10px;left:10px}
.stg-card-star-tr{top:10px;right:10px}
.stg-card-star-bl{bottom:10px;left:10px}
.stg-card-star-br{bottom:10px;right:10px}
.stg-card-symbol{
  font-size:2rem;
  animation:symbolPulse 3s ease-in-out infinite;
  filter:drop-shadow(0 2px 8px rgba(217,109,152,.25));
}
@keyframes symbolPulse{0%,100%{transform:scale(1);opacity:.9}50%{transform:scale(1.12);opacity:1}}

/* brand text below card */
.stg-brand{
  position:relative;z-index:2;
  text-align:center;
  animation:brandGentleFloat 7s ease-in-out infinite;
}
@keyframes brandGentleFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
.stg-name{
  display:block;
  font-family:var(--fb);
  font-size:clamp(1.6rem,4vw,2.2rem);
  color:#b84d78;
  line-height:1.05;
  letter-spacing:-.02em;
  font-weight:600;
  text-shadow:0 2px 12px rgba(184,77,120,.1);
}
.stg-to{font-size:.48em;color:#9a8a85;margin:0 .06em;font-weight:400}
.stg-111{
  display:block;
  font-family:var(--fb);
  font-size:clamp(1.8rem,5vw,2.8rem);
  color:rgba(191,165,122,.55);
  line-height:.85;
  letter-spacing:.08em;
  font-weight:500;
}
.stg-sub{
  display:block;
  margin-top:.55rem;
  font-family:var(--f);
  font-size:.58rem;
  letter-spacing:.28em;
  text-transform:uppercase;
  color:rgba(184,77,120,.38);
  font-weight:700;
}

/* floating mystical symbols */
.stg-sym{
  position:absolute;pointer-events:none;user-select:none;z-index:1;
  line-height:1;opacity:0;
  animation:symFloat var(--d,11s) ease-in-out infinite var(--dl,0s);
}
@keyframes symFloat{
  0%{opacity:0;transform:translateY(0) rotate(0deg) scale(.7)}
  8%{opacity:var(--o,.28)}
  75%{opacity:var(--o,.28)}
  100%{opacity:0;transform:translateY(calc(-40px - var(--y,30px))) rotate(var(--r,15deg)) scale(.5)}
}
.stg-sym-1{font-size:1rem;  color:rgba(184,77,120,.2); top:12%;left:8%;  --d:10s;--dl:0s;--r:20deg;--o:.25;--y:35px}
.stg-sym-2{font-size:1.4rem;color:rgba(191,165,122,.22);top:8%;right:12%; --d:14s;--dl:-3s;--r:-14deg;--o:.2;--y:40px}
.stg-sym-3{font-size:.8rem; color:rgba(180,140,200,.22);bottom:14%;left:14%;--d:9s;--dl:-6s;--r:25deg;--o:.3;--y:25px}
.stg-sym-4{font-size:.65rem;color:rgba(184,77,120,.18);bottom:20%;right:16%;--d:12s;--dl:-8s;--r:-20deg;--o:.24;--y:30px}
.stg-sym-5{font-size:1.1rem;color:rgba(191,165,122,.2); top:45%;left:5%;  --d:16s;--dl:-11s;--r:10deg;--o:.22;--y:35px}
.stg-sym-6{font-size:.75rem;color:rgba(180,140,200,.2); top:55%;right:7%; --d:11s;--dl:-5s;--r:-18deg;--o:.26;--y:28px}
.stg-sym-7{font-size:.9rem; color:rgba(184,77,120,.16); bottom:35%;left:25%;--d:13s;--dl:-9s;--r:12deg;--o:.2;--y:32px}
.stg-sym-8{font-size:.7rem; color:rgba(191,165,122,.18);top:25%;right:28%; --d:10.5s;--dl:-2s;--r:-8deg;--o:.22;--y:25px}


/* ══════════════════════════════════════════════════════
   ABOUT SECTION — ELEVATED DESIGN
   ══════════════════════════════════════════════════════ */

.story{
  padding-top:2.5rem !important;
  padding-bottom:2.5rem !important;
}
.story-shell{
  gap:2rem !important;
  align-items:center !important;
}
.story-visual{
  min-height:460px !important;
  border-radius:28px !important;
  background:
    linear-gradient(165deg,rgba(245,230,239,.9) 0%,rgba(240,212,223,.85) 48%,rgba(238,218,200,.8) 100%) !important;
  box-shadow:
    0 30px 60px rgba(184,77,120,.1),
    0 8px 16px rgba(0,0,0,.04) !important;
  position:relative;
}
.story-visual::before{
  content:'';
  position:absolute;
  inset:0;
  border-radius:28px;
  border:1px solid rgba(255,255,255,.5);
  pointer-events:none;
  z-index:1;
}
.story-visual img{
  mix-blend-mode:multiply !important;
  opacity:.88 !important;
}
.story-overlay{
  background:rgba(255,255,255,.92) !important;
  backdrop-filter:blur(12px) !important;
  -webkit-backdrop-filter:blur(12px) !important;
  box-shadow:0 12px 32px rgba(184,77,120,.08) !important;
  border:1px solid rgba(255,255,255,.6) !important;
  border-radius:20px !important;
}
.story-overlay strong{
  color:#b84d78 !important;
  font-size:.76rem !important;
  letter-spacing:.16em !important;
}
.story-copy{
  padding:.5rem 0;
}
.story-copy .tag{
  margin-bottom:.6rem;
  font-size:.72rem !important;
}
.story-copy h2{
  font-size:clamp(1.7rem,3.6vw,2.5rem) !important;
  line-height:1.06 !important;
  color:#3a2631 !important;
  margin-bottom:.7rem;
}
.story-copy p{
  font-size:.95rem !important;
  line-height:1.82 !important;
  color:#5a4550 !important;
}
.principles{
  gap:1rem !important;
  margin-top:1.5rem !important;
}
.principle{
  background:
    linear-gradient(180deg,rgba(255,255,255,.92),rgba(255,240,246,.88)) !important;
  border:1px solid rgba(217,109,152,.1) !important;
  border-radius:18px !important;
  padding:1.15rem 1.2rem !important;
  position:relative;
  overflow:hidden;
  transition:transform .3s ease,box-shadow .3s ease !important;
}
.principle::before{
  content:'';position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,#d96d98,#ef93b8,#bfa57a);
  opacity:0;transition:opacity .3s ease;
}
.principle:hover{
  transform:translateY(-3px) !important;
  box-shadow:0 14px 32px rgba(184,77,120,.1) !important;
}
.principle:hover::before{opacity:1}
.principle strong{
  color:#b84d78 !important;
  font-size:.74rem !important;
  letter-spacing:.15em !important;
}
.principle p{
  font-size:.84rem !important;
  line-height:1.65 !important;
}


/* ══════════════════════════════════════════════════════
   SERVICES / OFFERINGS — ELEVATED DESIGN
   ══════════════════════════════════════════════════════ */

.offerings{
  padding-top:2.5rem !important;
  padding-bottom:2.5rem !important;
}
.offerings .tag{
  color:#b84d78 !important;
  font-size:.72rem !important;
}
.offerings h2{
  font-size:clamp(1.7rem,3.6vw,2.5rem) !important;
  line-height:1.06 !important;
  color:#3a2631 !important;
  margin-bottom:.5rem !important;
}
.offer-grid{
  gap:1.15rem !important;
  margin-top:1.5rem !important;
}
.offer-card{
  background:
    linear-gradient(180deg,rgba(255,255,255,.94),rgba(255,248,251,.92)) !important;
  border:1px solid rgba(217,109,152,.1) !important;
  border-radius:24px !important;
  box-shadow:0 12px 36px rgba(184,77,120,.06) !important;
  transition:transform .3s ease,box-shadow .3s ease !important;
  overflow:hidden !important;
}
.offer-card:hover{
  transform:translateY(-4px) !important;
  box-shadow:0 24px 52px rgba(184,77,120,.12) !important;
}
.offer-card.feature{
  background:
    linear-gradient(160deg,#3e2a34 0%,#b84d78 50%,#d96d98 100%) !important;
  border:none !important;
  position:relative;
  overflow:hidden;
}
.offer-card.feature::before{
  content:'';position:absolute;inset:0;
  background:
    radial-gradient(circle at 20% 80%,rgba(255,255,255,.06),transparent 40%),
    radial-gradient(circle at 80% 20%,rgba(255,255,255,.04),transparent 40%);
  pointer-events:none;
}
.offer-card.feature h3{color:#fff !important;font-size:1.18rem !important}
.offer-card.feature p{color:rgba(255,255,255,.85) !important}
.offer-card h3{
  font-size:1.12rem !important;
  color:#3a2631 !important;
  margin-bottom:.3rem;
}
.offer-card p{
  color:#5a4550 !important;
  font-size:.84rem !important;
  line-height:1.7 !important;
}
.offer-meta{
  background:rgba(255,240,246,.92) !important;
  color:#b84d78 !important;
  border:1px solid rgba(217,109,152,.12) !important;
  font-size:.66rem !important;
  letter-spacing:.1em !important;
}
.offer-card.feature .offer-meta{
  background:rgba(255,255,255,.12) !important;
  color:#fff !important;
  border:1px solid rgba(255,255,255,.2) !important;
}
.offer-media{
  border-radius:0 !important;
  overflow:hidden !important;
}
.offer-media img{
  transition:transform .45s ease !important;
}
.offer-card:hover .offer-media img{
  transform:scale(1.04) !important;
}
.offer-body{
  padding:1.1rem 1.15rem !important;
}


/* ══════════════════════════════════════════════════════
   REVIEWS — ELEVATED DESIGN
   ══════════════════════════════════════════════════════ */

.testimonials{
  padding-top:2.5rem !important;
  padding-bottom:2rem !important;
}
.testimonial-lead{
  background:
    linear-gradient(160deg,#fff4f8 0%,#fce8ef 100%) !important;
  border:1px solid rgba(217,109,152,.12) !important;
  border-radius:28px !important;
  box-shadow:0 16px 40px rgba(184,77,120,.06) !important;
}
.testimonial-lead blockquote{
  font-size:clamp(1.5rem,2.6vw,2.1rem) !important;
  color:#3a2631 !important;
}
.rev{
  background:
    linear-gradient(180deg,rgba(255,255,255,.96),rgba(255,248,251,.94)) !important;
  border:1px solid rgba(217,109,152,.08) !important;
  border-top:none !important;
  border-radius:20px !important;
  box-shadow:0 10px 28px rgba(184,77,120,.05) !important;
  transition:transform .28s ease,box-shadow .28s ease !important;
}
.rev:hover{
  transform:translateY(-3px) !important;
  box-shadow:0 18px 40px rgba(184,77,120,.1) !important;
}
.rev-s{
  font-size:.8rem !important;
  letter-spacing:.04em;
}


/* ══════════════════════════════════════════════════════
   GUIDE SECTION — ELEVATED
   ══════════════════════════════════════════════════════ */

.guide-card{
  background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(255,248,251,.9)) !important;
  border:1px solid rgba(217,109,152,.1) !important;
  border-radius:20px !important;
  transition:transform .28s ease,box-shadow .28s ease !important;
}
.guide-card:hover{
  transform:translateY(-3px);
  box-shadow:0 14px 32px rgba(184,77,120,.08);
}
.guide-num{
  background:linear-gradient(135deg,#b84d78,#d96d98) !important;
  color:#fff !important;
  box-shadow:0 6px 16px rgba(184,77,120,.2) !important;
}


/* ══════════════════════════════════════════════════════
   PATH CARDS — ELEVATED
   ══════════════════════════════════════════════════════ */

.path-card{
  border-radius:20px !important;
  transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease !important;
}
.path-card:hover{
  transform:translateY(-4px) !important;
  box-shadow:0 18px 40px rgba(184,77,120,.1) !important;
}


/* ══════════════════════════════════════════════════════
   RESPONSIVE OVERRIDES
   ══════════════════════════════════════════════════════ */

@media(max-width:1050px){
  .stg-orbit{width:190px;height:190px;margin:-95px 0 0 -95px}
  .stg-card{width:95px;height:140px}
}
@media(max-width:720px){
  .hero-stage{min-height:340px !important}
  .stg-name{font-size:1.5rem !important}
  .stg-111{font-size:1.8rem !important}
  .stg-card{width:80px;height:120px}
  .stg-card-inner{width:66px;height:100px}
  .stg-card-symbol{font-size:1.5rem}
  .stg-orbit{width:150px;height:150px;margin:-75px 0 0 -75px}
}

/* FINAL LAYOUT AND HERO ALIGNMENT REFRESH */
:root{
  --layout-max:1240px;
  --layout-pad:clamp(1rem,2.3vw,1.6rem);
  --shell-pad:clamp(1.25rem,2.2vw,2.1rem);
  --measure:62ch;
}
.hero,.guide,.qsection,.chsec,.spsec,.isec,footer{
  max-width:var(--layout-max);
}
.hero,.guide,.qsection,.chsec,.spsec,.isec{
  padding-left:var(--layout-pad) !important;
  padding-right:var(--layout-pad) !important;
}
.hero-shell,.guide-shell,.qsection,.chsec,.spsec,.isec{
  padding:var(--shell-pad) !important;
}

.hero{
  text-align:left !important;
  padding-top:clamp(1.5rem,3vw,2.4rem) !important;
  padding-bottom:1.1rem !important;
}
.hero-shell{
  grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr) !important;
  align-items:center !important;
  gap:clamp(1.2rem,2vw,2.1rem) !important;
}
.hero-copy{
  text-align:left !important;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  padding:clamp(.5rem,1.8vw,1.1rem) !important;
}
.hero .brand{
  font-size:clamp(2.9rem,5.5vw,5.1rem) !important;
  line-height:.92;
}
.hero-lede{
  max-width:18ch !important;
  font-size:clamp(2rem,3.7vw,3.2rem) !important;
  line-height:1 !important;
}
.hero-copy .qt{max-width:var(--measure) !important}
.hero-copy .loc{
  max-width:var(--measure);
  line-height:1.62;
}
.hero-actions{justify-content:flex-start !important}
.hero-trust{
  width:100%;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  align-items:stretch;
  gap:.8rem !important;
}
.hero-trust .trust-item{
  height:100%;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  padding:1rem !important;
}
.hero-stage{min-height:clamp(390px,43vw,560px) !important}
.path-grid{
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:clamp(.75rem,1.3vw,1.05rem) !important;
  margin-top:1.3rem !important;
}
.path-card{
  display:flex;
  flex-direction:column;
  height:100%;
  text-align:left !important;
}
.path-card p{flex:1}
.hero-proof{
  justify-content:center !important;
  width:100%;
  margin:1rem auto 0 !important;
  align-items:center;
  gap:.6rem !important;
}
.proof-pill{text-align:center}

.story{text-align:left}
.story-shell{
  grid-template-columns:minmax(340px,.98fr) minmax(0,1.02fr) !important;
  align-items:center !important;
  gap:clamp(1.2rem,2.2vw,2rem) !important;
}
.story-visual{min-height:460px !important}
.story-overlay{max-width:min(92%,420px)}
.story-copy{
  text-align:left !important;
  align-items:flex-start !important;
}
.story-copy h2{
  max-width:22ch;
  margin-right:auto;
}
.story-copy p{max-width:var(--measure)}
.principles{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  align-items:stretch;
  gap:.85rem !important;
}
.principle{
  height:100%;
  text-align:left !important;
}

.offerings{text-align:left !important}
.offerings > .tag,
.offerings > h2{
  text-align:left !important;
  max-width:var(--measure);
  margin-left:0 !important;
}
.offer-grid{
  grid-template-columns:minmax(270px,1.04fr) repeat(3,minmax(0,1fr)) !important;
  gap:1rem !important;
  align-items:stretch;
}
.offer-card{
  display:flex;
  flex-direction:column;
  height:100%;
}
.offer-card.feature{
  justify-content:space-between;
  text-align:left !important;
}
.offer-body{
  display:flex;
  flex-direction:column;
  flex:1;
}
.offer-body .offer-meta{margin-top:auto}

@media(max-width:1100px){
  .hero-shell{grid-template-columns:1fr !important}
  .hero-copy{
    text-align:center !important;
    align-items:center;
  }
  .hero-actions,.hero-proof{justify-content:center !important}
  .hero-trust{grid-template-columns:1fr !important}
  .path-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
  .story-shell,
  .offer-grid,
  .testimonial-shell{grid-template-columns:1fr !important}
  .story-copy{
    text-align:center !important;
    align-items:center !important;
  }
  .story-copy h2,
  .story-copy p{max-width:none}
  .offerings > .tag,
  .offerings > h2{
    text-align:center !important;
    margin-inline:auto !important;
  }
}
@media(max-width:720px){
  .hero{padding-top:1.1rem !important}
  .hero-shell,.guide-shell,.qsection,.chsec,.spsec,.isec{
    padding:1.2rem !important;
  }
  .path-grid,
  .principles,
  .revs{grid-template-columns:1fr !important}
  .hero-stage{min-height:330px !important}
}

/* ══════════════════════════════════════════════════════
   MOBILE FINAL PASS
   ══════════════════════════════════════════════════════ */
@media(max-width:900px){
  section,
  .hero,
  .qsection,
  .chsec,
  .spsec,
  .isec{
    padding-left:1rem !important;
    padding-right:1rem !important;
  }
  .hero-shell,
  .story-shell,
  .offer-grid,
  .testimonial-shell,
  .signal-strip,
  .path-grid,
  .guide-grid,
  .revs,
  .principles,
  .arow,
  .biz-row{
    grid-template-columns:1fr !important;
  }
  .hero-copy,
  .story-copy{
    text-align:center !important;
    align-items:center !important;
  }
  .hero-actions,
  .hero-proof{
    justify-content:center !important;
  }
  .hero-stage{
    min-width:0 !important;
    width:100% !important;
    max-width:100% !important;
  }
  .testimonial-lead{
    position:static !important;
    top:auto !important;
  }
  .fln{
    gap:.35rem .6rem !important;
  }
  .fln a{
    margin:0 !important;
  }
}
@media(max-width:640px){
  body{font-size:16px}
  .tnav-in{padding:.52rem .78rem !important}
  .tnav-links a{
    font-size:.62rem !important;
    padding:.25rem .58rem !important;
  }
  .hero-shell,
  .guide-shell,
  .qsection,
  .chsec,
  .spsec,
  .isec,
  .prev,
  .rw{
    padding:1rem !important;
    border-radius:20px !important;
  }
  .hero .brand{
    font-size:clamp(2.2rem,12vw,3rem) !important;
  }
  .hero-lede{
    font-size:clamp(1.55rem,8vw,2.2rem) !important;
    max-width:none !important;
  }
  .hero-actions{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:.55rem !important;
  }
  .hero-btn,
  .rbtn{
    width:100% !important;
    max-width:100% !important;
  }
  .pv-actions{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:.55rem !important;
  }
  .ppb{
    width:100% !important;
  }
  .sp{
    min-width:0 !important;
    width:100% !important;
    max-width:280px !important;
    margin-inline:auto !important;
  }
  .pbar{
    max-width:100% !important;
    gap:.25rem !important;
  }
  .ps{
    font-size:.56rem !important;
  }
  .ps .d{
    width:18px !important;
    height:18px !important;
  }
  .qinput{height:88px}
  .prev .pv-actions{
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    max-width:100% !important;
    gap:.55rem !important;
  }
  .prev .ppb-unlock,
  .prev .ppb-keep{width:100% !important;max-width:100% !important}
}
@media(max-width:420px){
  .qcat{
    font-size:.69rem !important;
    padding:.34rem .8rem !important;
  }
  .offer-card h3{font-size:1rem !important}
  .fdi{font-size:.56rem !important}
}

/* ══════════════════════════════════════════════════════
   DECK-MATCHED FINAL THEME
   ══════════════════════════════════════════════════════ */
:root{
  --deck-paper:#f7efe3;
  --deck-paper-deep:#efe1cf;
  --deck-ink:#3b2727;
  --deck-ink-soft:#6f5650;
  --deck-wine:#5d2f3b;
  --deck-wine-soft:#8a4e57;
  --deck-gold:#c4a06a;
  --deck-gold-soft:#ead5b0;
  --deck-copper:#b57351;
  --deck-shadow:rgba(35,20,19,.12);
}
body{
  background:
    radial-gradient(circle at 14% 12%,rgba(196,160,106,.16),transparent 24%),
    radial-gradient(circle at 86% 18%,rgba(181,115,81,.14),transparent 20%),
    radial-gradient(circle at 50% 0%,rgba(93,47,59,.08),transparent 34%),
    linear-gradient(180deg,#faf6ef 0%,#f4eadc 46%,#fbf8f3 100%) !important;
  color:var(--deck-ink) !important;
}
body::before{
  background-image:
    radial-gradient(circle at 12% 18%,rgba(255,255,255,.9) 0 1px,transparent 1.7px),
    radial-gradient(circle at 76% 10%,rgba(255,255,255,.76) 0 1px,transparent 1.7px),
    radial-gradient(circle at 62% 46%,rgba(196,160,106,.22) 0 1px,transparent 2px),
    radial-gradient(circle at 24% 72%,rgba(93,47,59,.14) 0 1px,transparent 2px),
    linear-gradient(90deg,transparent 0,transparent 49.5%,rgba(120,89,70,.025) 50%,transparent 50.5%,transparent 100%);
  opacity:.7 !important;
}
.hbg .fh{
  color:rgba(93,47,59,.22) !important;
  text-shadow:0 0 18px rgba(196,160,106,.12);
}
.sr{
  opacity:1 !important;
  transform:none !important;
  transition:none !important;
}
.tnav{
  background:rgba(250,245,237,.82) !important;
  border-bottom:1px solid rgba(93,47,59,.08) !important;
  box-shadow:0 16px 44px rgba(35,20,19,.06) !important;
}
.tnav-brand{color:var(--deck-wine) !important}
.tnav-links a{
  background:rgba(255,251,245,.84) !important;
  border-color:rgba(93,47,59,.1) !important;
  color:var(--deck-ink-soft) !important;
}
.tnav-links a:hover{
  background:#fff8ef !important;
  border-color:rgba(196,160,106,.42) !important;
  color:var(--deck-wine) !important;
}
.tag{
  color:var(--deck-copper) !important;
  letter-spacing:.22em !important;
}
.hero-shell{
  background:
    radial-gradient(circle at 0% 0%,rgba(255,255,255,.42),transparent 24%),
    linear-gradient(135deg,rgba(255,251,246,.96),rgba(244,233,218,.9)) !important;
  border:1px solid rgba(93,47,59,.08) !important;
  box-shadow:0 34px 90px rgba(35,20,19,.08) !important;
}
.hero-shell::after{
  background:radial-gradient(circle,rgba(196,160,106,.16),transparent 72%) !important;
}
.hero .tag{
  background:rgba(255,250,242,.94) !important;
  border-color:rgba(196,160,106,.28) !important;
}
.hero .brand{
  color:var(--deck-wine) !important;
  text-shadow:none !important;
}
.hero .brand .to{color:#8f7f76 !important}
.hero .brand .num{color:#d6aa82 !important}
.hero-lede{
  color:var(--deck-ink) !important;
  max-width:14ch !important;
  text-shadow:none !important;
}
.hero-copy .qt,
.hero-copy .loc{
  color:var(--deck-ink-soft) !important;
}
.hero-btn.primary,
.rbtn,
.ppb,
.ab.p{
  background:linear-gradient(135deg,var(--deck-wine),var(--deck-copper)) !important;
  color:#fffaf4 !important;
  box-shadow:0 18px 34px rgba(93,47,59,.2) !important;
  border-color:transparent !important;
}
.hero-btn.secondary,
.ppb.alt,
.ab.g{
  background:rgba(255,251,246,.88) !important;
  color:var(--deck-ink-soft) !important;
  border-color:rgba(93,47,59,.12) !important;
}
.hero-btn.secondary:hover,
.ppb.alt:hover,
.ab.g:hover{
  background:#fff4e8 !important;
  color:var(--deck-wine) !important;
  border-color:rgba(196,160,106,.36) !important;
}
.hero-trust .trust-item,
.proof-pill,
.guide-card,
.principle,
.offer-card,
.rev,
.qcat,
.sp,
.ext,
.prev,
.rw,
.testimonial-lead{
  background:linear-gradient(180deg,rgba(255,251,246,.94),rgba(246,236,222,.9)) !important;
  border-color:rgba(93,47,59,.09) !important;
  box-shadow:0 18px 38px rgba(35,20,19,.06) !important;
}
.hero-trust strong,
.guide-num,
.path-kicker,
.principle strong,
.offer-meta,
.rev-n,
.ps.a,
.fcnt,
.vlk{
  color:var(--deck-wine) !important;
}
.proof-pill,
.hero-trust span,
.guide-card p,
.principle p,
.offer-card p,
.rev p,
.qsub,
.chsub,
.spsub,
.story-copy p,
.testimonial-note{
  color:var(--deck-ink-soft) !important;
}
.path-card{
  background:linear-gradient(180deg,rgba(255,252,247,.96),rgba(243,232,218,.92)) !important;
  border:1px solid rgba(93,47,59,.1) !important;
  box-shadow:0 18px 42px rgba(35,20,19,.06) !important;
  position:relative;
  overflow:hidden;
}
.path-card::before{
  content:'';
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:2px;
  background:linear-gradient(90deg,rgba(196,160,106,0),rgba(196,160,106,.95),rgba(196,160,106,0));
}
.path-card:hover{
  border-color:rgba(196,160,106,.38) !important;
  box-shadow:0 24px 54px rgba(35,20,19,.09) !important;
}
.path-card.on{
  background:linear-gradient(180deg,rgba(255,250,245,.98),rgba(239,225,207,.94)) !important;
  border-color:rgba(181,115,81,.32) !important;
}
.path-card strong,
.guide-card h3,
.qsection h2,.chsec h2,.spsec h2,.isec h2,
.story-copy h2,
.offer-card h3,
.testimonial-lead h2{
  color:var(--deck-ink) !important;
}
.path-meta,
.offer-meta{
  background:rgba(255,247,236,.92) !important;
  border:1px solid rgba(196,160,106,.24) !important;
  color:var(--deck-wine) !important;
}
.offer-card.feature{
  background:
    radial-gradient(circle at 82% 18%,rgba(255,237,203,.15),transparent 22%),
    linear-gradient(155deg,#392229 0%,#6b3b43 46%,#ad6f4e 100%) !important;
  box-shadow:0 24px 56px rgba(35,20,19,.16) !important;
}
.offer-card.feature .offer-meta{
  background:rgba(255,255,255,.1) !important;
  border-color:rgba(255,255,255,.16) !important;
  color:#fff6ea !important;
}
.guide-shell,
.qsection,.chsec,.spsec,.isec{
  background:
    linear-gradient(180deg,rgba(255,252,247,.96),rgba(244,234,220,.92)) !important;
  border:1px solid rgba(93,47,59,.08) !important;
  box-shadow:0 28px 70px rgba(35,20,19,.07) !important;
  position:relative;
}
.guide-shell::before,
.qsection::before,.chsec::before,.spsec::before,.isec::before{
  content:'';
  position:absolute;
  inset:10px;
  border-radius:24px;
  border:1px solid rgba(196,160,106,.18);
  pointer-events:none;
}
.qcat.on,.sp.on{
  background:linear-gradient(180deg,rgba(255,248,239,.98),rgba(239,225,207,.94)) !important;
  border-color:rgba(196,160,106,.42) !important;
  color:var(--deck-wine) !important;
}
.qcat:hover,.sp:hover{
  border-color:rgba(196,160,106,.3) !important;
}
.qcats{
  gap:.55rem !important;
}
.tcloud{
  display:none !important;
}
.tcloud.show{
  display:flex !important;
}
.qcat{
  padding:.5rem .88rem !important;
  border-radius:999px !important;
  font-size:.69rem !important;
  font-weight:700 !important;
  letter-spacing:.12em !important;
  text-transform:uppercase !important;
  background:rgba(255,250,245,.9) !important;
}
.qinput,
.ext,
.rw,
.prev,
.story-overlay{
  background:rgba(255,251,246,.94) !important;
  border:1px solid rgba(93,47,59,.08) !important;
}
.pbar{
  background:rgba(255,250,243,.82) !important;
  border:1px solid rgba(93,47,59,.08) !important;
  box-shadow:0 12px 34px rgba(35,20,19,.05) !important;
}
.ps .d{
  border-color:rgba(196,160,106,.38) !important;
  color:var(--deck-copper) !important;
}
.ps.a .d,
.ps.dn .d{
  background:var(--deck-wine) !important;
  border-color:var(--deck-wine) !important;
  color:#fff7f0 !important;
}
.story-visual{
  background:
    radial-gradient(circle at 70% 18%,rgba(255,236,205,.2),transparent 20%),
    linear-gradient(160deg,#4c2e31 0%,#835048 48%,#c79e73 100%) !important;
  box-shadow:0 28px 58px rgba(35,20,19,.14) !important;
}
.story-visual img{
  mix-blend-mode:screen !important;
  opacity:.84 !important;
}
.story-overlay{
  box-shadow:0 18px 36px rgba(35,20,19,.18) !important;
}
.testimonial-lead{
  background:linear-gradient(180deg,rgba(255,250,244,.95),rgba(243,230,216,.92)) !important;
}
.testimonial-lead blockquote{
  color:var(--deck-wine) !important;
}
.rev-s{color:var(--deck-gold) !important}
.fso a{
  background:rgba(255,251,245,.82) !important;
  border-color:rgba(93,47,59,.12) !important;
  color:var(--deck-ink-soft) !important;
}
.fso a:hover{
  background:#fff6eb !important;
  color:var(--deck-wine) !important;
  border-color:rgba(196,160,106,.4) !important;
}
.ftb{color:var(--deck-wine) !important}

.hero-stage{
  min-height:clamp(420px,45vw,620px) !important;
  display:block !important;
  background:
    radial-gradient(circle at 72% 14%,rgba(255,238,205,.18),transparent 16%),
    radial-gradient(circle at 28% 18%,rgba(255,255,255,.07),transparent 24%),
    linear-gradient(160deg,#24171a 0%,#58323e 42%,#8c574d 72%,#c7a174 100%) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 28px 58px rgba(35,20,19,.16) !important;
  overflow:hidden;
}
.hero-stage::after{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(255,255,255,.04),transparent 26%,rgba(18,10,12,.1));
  pointer-events:none;
}
.hero-stage-halo{
  position:absolute;
  inset:13% 18% auto;
  height:56%;
  border-radius:50%;
  background:radial-gradient(circle,rgba(255,229,181,.18),transparent 68%);
  filter:blur(4px);
}
.hero-stage-grid{
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);
  background-size:44px 44px;
  mask-image:linear-gradient(180deg,rgba(0,0,0,.36),transparent 86%);
  opacity:.35;
}
.hero-tarot-fan{
  position:absolute;
  inset:11% 7% 16%;
}
.hero-card-preview{
  position:absolute;
  margin:0;
  width:min(35%,205px);
  aspect-ratio:3/5;
  border-radius:22px;
  overflow:hidden;
  box-shadow:0 28px 54px rgba(14,8,9,.36);
  border:1px solid rgba(255,255,255,.16);
  animation:heroDeckFloat 8.5s ease-in-out infinite;
}
.hero-card-preview img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.hero-card-back{
  left:4%;
  top:22%;
  transform:rotate(-14deg);
  animation-delay:-1.2s;
}
.hero-card-left{
  left:24%;
  top:9%;
  transform:rotate(-5deg);
}
.hero-card-center{
  left:46%;
  top:5%;
  transform:rotate(4deg);
  z-index:2;
  width:min(37%,220px);
  animation-delay:-2.2s;
}
.hero-card-right{
  right:4%;
  top:19%;
  transform:rotate(13deg);
  animation-delay:-3.4s;
}
.hero-stage-note{
  position:absolute;
  max-width:240px;
  padding:.95rem 1rem;
  border-radius:20px;
  background:rgba(255,248,239,.92);
  color:#4f3936;
  box-shadow:0 16px 34px rgba(18,10,12,.2);
  border:1px solid rgba(255,255,255,.18);
  backdrop-filter:blur(10px);
  z-index:3;
}
.hero-stage-note strong{
  display:block;
  margin-bottom:.28rem;
  font-size:.7rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--deck-wine);
}
.hero-stage-note span{
  display:block;
  font-size:.78rem;
  line-height:1.58;
}
.hero-stage-note-top{
  top:8%;
  right:7%;
}
.hero-stage-note-bottom{
  left:7%;
  bottom:7%;
}
@keyframes heroDeckFloat{
  0%,100%{transform:translateY(0) rotate(var(--hero-rot,0deg))}
  50%{transform:translateY(-10px) rotate(calc(var(--hero-rot,0deg) + 1deg))}
}
.hero-card-back{--hero-rot:-14deg}
.hero-card-left{--hero-rot:-5deg}
.hero-card-center{--hero-rot:4deg}
.hero-card-right{--hero-rot:13deg}

@media(max-width:1100px){
  .hero-stage{
    min-height:520px !important;
  }
  .hero-stage-note-top{
    right:5%;
  }
  .hero-stage-note-bottom{
    left:5%;
  }
}
@media(max-width:720px){
  .guide-shell::before,
  .qsection::before,.chsec::before,.spsec::before,.isec::before{
    inset:8px;
    border-radius:18px;
  }
  .hero-stage{
    min-height:360px !important;
  }
  .hero-stage-note{
    display:none;
  }
  .hero-tarot-fan{
    inset:12% 6% 12%;
  }
  .hero-card-preview{
    width:min(34%,140px);
    border-radius:16px;
  }
  .hero-card-center{
    width:min(36%,150px);
  }
}

/* ═══ CELESTIAL PARLOR THEME ═══ */
:root{
  --cosmos-ink:#0d0815;
  --cosmos-plum:#231233;
  --cosmos-teal:#093847;
  --parchment:#f7ebdd;
  --parchment-hi:#fff7ef;
  --ornament:#d6b46a;
  --ornament-soft:rgba(214,180,106,.22);
  --wine-deep:#7a4350;
  --rose-deep:#b68474;
  --ink-deep:#2c1e1b;
  --ink-muted:#65514c;
  --orn:'Cinzel',Georgia,serif;
}
body{
  background:
    radial-gradient(circle at 18% 14%,rgba(39,204,200,.2),transparent 20%),
    radial-gradient(circle at 84% 12%,rgba(246,120,192,.22),transparent 22%),
    radial-gradient(circle at 55% 42%,rgba(53,97,191,.2),transparent 26%),
    linear-gradient(180deg,#07040d 0%,#120a1d 34%,#120720 58%,#06050b 100%) !important;
  color:var(--ink-deep) !important;
}
body::before{
  background-image:
    radial-gradient(circle at 9% 18%,rgba(255,255,255,.95) 0 1px,transparent 1.8px),
    radial-gradient(circle at 23% 72%,rgba(255,255,255,.7) 0 1px,transparent 1.8px),
    radial-gradient(circle at 79% 12%,rgba(255,255,255,.92) 0 1px,transparent 2px),
    radial-gradient(circle at 86% 64%,rgba(255,255,255,.78) 0 1px,transparent 1.8px),
    radial-gradient(circle at 54% 28%,rgba(214,180,106,.42) 0 1.1px,transparent 2px),
    radial-gradient(circle at 44% 82%,rgba(118,215,230,.34) 0 1px,transparent 2px),
    radial-gradient(circle at 70% 36%,rgba(255,177,218,.24) 0 1px,transparent 2px) !important;
  opacity:.96 !important;
}
body::after{
  content:'';
  position:fixed;
  inset:20px;
  border:1px solid rgba(214,180,106,.6);
  box-shadow:inset 0 0 0 1px rgba(214,180,106,.16);
  pointer-events:none;
  z-index:0;
}
.wrap{
  max-width:1200px;
  margin:0 auto;
  padding:0 1rem 3rem;
}
.tnav{
  position:sticky;
  top:1rem;
  width:min(1120px,calc(100% - 2rem));
  margin:1rem auto 0;
  border:1px solid rgba(214,180,106,.55) !important;
  border-radius:30px 30px 0 0;
  background:linear-gradient(180deg,rgba(255,248,239,.98),rgba(243,228,206,.96)) !important;
  box-shadow:0 26px 60px rgba(5,5,10,.34) !important;
  overflow:hidden;
}
.tnav::before{
  content:'';
  position:absolute;
  inset:10px;
  border:1px solid rgba(214,180,106,.24);
  border-radius:20px 20px 0 0;
  pointer-events:none;
}
.tnav-in{
  max-width:none !important;
  padding:1.1rem 1.2rem .8rem !important;
  flex-direction:column;
  gap:.8rem !important;
}
.tnav-brand{
  font-size:clamp(2rem,4vw,3.15rem) !important;
  color:var(--wine-deep) !important;
  position:relative;
  padding:0 .9rem;
  text-align:center;
}
.tnav-brand::before,
.tnav-brand::after{
  content:'✦';
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  font-family:var(--orn);
  font-size:.72rem;
  letter-spacing:0;
  color:rgba(122,67,80,.7);
}
.tnav-brand::before{left:0}
.tnav-brand::after{right:0}
.tnav-links{
  width:100%;
  justify-content:center !important;
  gap:.95rem !important;
  padding-top:.8rem;
  border-top:1px solid rgba(214,180,106,.28);
}
.tnav-links a{
  padding:0 !important;
  background:transparent !important;
  border:none !important;
  border-radius:0 !important;
  font-family:var(--orn);
  font-size:.67rem !important;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--ink-muted) !important;
}
.tnav-links a:hover{
  background:transparent !important;
  color:var(--wine-deep) !important;
}
.hero{
  padding:.1rem 0 0 !important;
  max-width:none !important;
}
.hero-shell{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:0 !important;
  margin-top:-1px;
  padding:0 !important;
  border-radius:0 0 34px 34px !important;
  background:linear-gradient(180deg,var(--parchment-hi),var(--parchment)) !important;
  border:1px solid rgba(214,180,106,.55) !important;
  box-shadow:0 32px 70px rgba(5,5,10,.34) !important;
}
.hero-shell::before{
  content:'';
  position:absolute;
  inset:14px;
  border:1px solid rgba(214,180,106,.22);
  border-radius:22px;
  pointer-events:none;
}
.hero-shell::after{
  display:none !important;
}
.hero-copy{
  text-align:center !important;
  padding:2.4rem 1.5rem 1.9rem !important;
}
.hero .tag{
  display:block !important;
  margin:0 auto .65rem;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  font-family:var(--orn);
  font-size:.72rem !important;
  letter-spacing:.28em !important;
  color:var(--rose-deep) !important;
}
.hero .brand{
  color:var(--wine-deep) !important;
  font-size:clamp(3.15rem,7vw,5.2rem) !important;
  margin:.15rem 0 .55rem !important;
}
.hero .brand .to{color:#958177 !important}
.hero .brand .num{color:#d3b28b !important}
.hero-lede{
  max-width:15ch !important;
  margin:0 auto !important;
  font-size:clamp(2.1rem,4.8vw,4rem) !important;
  line-height:1.01 !important;
  color:var(--ink-deep) !important;
}
.hero-copy .qt{
  max-width:43rem !important;
  margin:1rem auto .55rem !important;
  color:var(--ink-muted) !important;
}
.hero-copy .loc{
  color:#8c766e !important;
  letter-spacing:.16em !important;
}
.hero-actions{
  justify-content:center !important;
  gap:.85rem !important;
  margin:1.35rem 0 1rem !important;
}
.hero-btn,
.rbtn,
.ppb,
.ab.p{
  min-height:52px;
  padding:.88rem 1.45rem !important;
  border-radius:8px !important;
  border:1px solid rgba(103,74,28,.82) !important;
  background:linear-gradient(180deg,#f3dc9f,#b98a3b) !important;
  color:#2b1e17 !important;
  font-family:var(--orn);
  letter-spacing:.12em !important;
  text-transform:uppercase;
  box-shadow:0 18px 30px rgba(10,8,12,.14) !important;
}
.hero-btn.secondary,
.ppb.alt,
.ab.g{
  background:linear-gradient(180deg,rgba(255,251,243,.98),rgba(242,227,205,.98)) !important;
  color:var(--ink-muted) !important;
  border-color:rgba(214,180,106,.45) !important;
}
.hero-trust{
  margin-top:1.1rem !important;
  gap:.9rem !important;
}
.hero-trust .trust-item{
  min-height:0 !important;
  padding:1rem 1rem 1.1rem !important;
  border-radius:18px !important;
  background:linear-gradient(180deg,rgba(255,250,244,.96),rgba(246,232,211,.92)) !important;
  border:1px solid rgba(214,180,106,.3) !important;
  box-shadow:none !important;
}
.hero-trust strong{
  font-family:var(--orn);
  font-size:.72rem;
  letter-spacing:.16em !important;
  color:var(--wine-deep) !important;
}
.hero-trust span{
  color:var(--ink-muted) !important;
  font-size:.82rem !important;
}
.hero-stage{
  min-height:clamp(430px,50vw,630px) !important;
  border-top:1px solid rgba(214,180,106,.4);
  border-radius:0 0 30px 30px !important;
  background:
    radial-gradient(circle at 18% 28%,rgba(67,215,205,.34),transparent 18%),
    radial-gradient(circle at 74% 16%,rgba(246,124,197,.3),transparent 20%),
    radial-gradient(circle at 48% 42%,rgba(90,134,235,.22),transparent 24%),
    radial-gradient(circle at 72% 62%,rgba(65,183,161,.18),transparent 22%),
    linear-gradient(180deg,#07050c 0%,#120d22 26%,#10142d 58%,#09060f 100%) !important;
  box-shadow:none !important;
}
.hero-stage::after{
  background:
    radial-gradient(circle at 12% 18%,rgba(255,255,255,.92) 0 1px,transparent 2px),
    radial-gradient(circle at 77% 12%,rgba(255,255,255,.82) 0 1px,transparent 2px),
    radial-gradient(circle at 26% 68%,rgba(255,255,255,.7) 0 1px,transparent 2px),
    radial-gradient(circle at 74% 72%,rgba(214,180,106,.45) 0 1px,transparent 2px),
    radial-gradient(circle at 58% 48%,rgba(255,255,255,.65) 0 1px,transparent 2px),
    linear-gradient(180deg,rgba(255,255,255,.05),transparent 22%,rgba(2,2,5,.18)) !important;
}
.hero-stage-halo,
.hero-stage-grid{
  display:none !important;
}
.hero-tarot-fan{
  inset:11% 7% 11% !important;
}
.hero-card-preview{
  border-radius:16px !important;
  border:1px solid rgba(255,255,255,.18) !important;
  box-shadow:0 26px 48px rgba(0,0,0,.4) !important;
}
.hero-card-back{left:9% !important;top:18% !important}
.hero-card-left{left:28% !important;top:9% !important}
.hero-card-center{
  left:47% !important;
  top:8% !important;
  width:min(38%,228px) !important;
}
.hero-card-right{right:8% !important;top:18% !important}
.hero-stage-note{
  max-width:250px !important;
  border-radius:14px !important;
  background:rgba(251,241,227,.92) !important;
  border:1px solid rgba(214,180,106,.24) !important;
  box-shadow:0 18px 34px rgba(0,0,0,.24) !important;
}
.hero-stage-note strong{
  font-family:var(--orn);
  color:var(--wine-deep) !important;
}
.hero-stage-note span{
  color:#574847 !important;
}
.path-grid{
  gap:1rem !important;
  margin-top:1.1rem !important;
}
.path-card{
  border-radius:18px !important;
  background:linear-gradient(180deg,rgba(255,248,239,.98),rgba(244,230,207,.94)) !important;
  border:1px solid rgba(214,180,106,.34) !important;
  box-shadow:0 22px 46px rgba(7,6,11,.2) !important;
  text-align:center !important;
}
.path-card::before{
  height:1px !important;
  background:linear-gradient(90deg,transparent,rgba(214,180,106,.95),transparent) !important;
}
.path-kicker,
.guide-num,
.offer-meta,
.rev-n,
.vlk,
.fcnt,
.ps.a{
  color:var(--wine-deep) !important;
}
.path-kicker,
.qcat,
.sp,
.guide-num,
.rchip,
.offer-meta{
  font-family:var(--orn);
  letter-spacing:.13em;
  text-transform:uppercase;
}
.path-card strong,
.guide-card h3,
.story-copy h2,
.offer-card h3,
.testimonial-lead h2,
.qsection h2,.chsec h2,.spsec h2,.isec h2{
  color:var(--ink-deep) !important;
}
.path-card p,
.proof-pill,
.guide-card p,
.story-copy p,
.offer-card p,
.rev p,
.testimonial-note,
.qsub,.chsub,.spsub,
.qnote,.tmeta{
  color:var(--ink-muted) !important;
}
.proof-pill,
.guide-card,
.principle,
.offer-card,
.rev,
.testimonial-lead,
.qcat,.sp,.ext,.prev,.rw{
  background:linear-gradient(180deg,rgba(255,249,242,.95),rgba(245,232,212,.92)) !important;
  border:1px solid rgba(214,180,106,.26) !important;
  box-shadow:0 18px 38px rgba(7,6,11,.12) !important;
}
.guide-shell,
.qsection,.chsec,.spsec,.isec{
  background:linear-gradient(180deg,var(--parchment-hi),var(--parchment)) !important;
  border:1px solid rgba(214,180,106,.45) !important;
  border-radius:30px !important;
  box-shadow:0 28px 62px rgba(5,5,10,.28) !important;
}
.guide-shell::before,
.qsection::before,.chsec::before,.spsec::before,.isec::before{
  border:1px solid rgba(214,180,106,.2) !important;
}
.guide-num{
  background:rgba(214,180,106,.16) !important;
  box-shadow:none !important;
}
.qcat,
.sp{
  border-radius:14px !important;
  font-size:.67rem !important;
}
.qcat.on,.sp.on{
  background:linear-gradient(180deg,#fbedd8,#edd2a2) !important;
  border-color:rgba(185,138,59,.72) !important;
  color:#513621 !important;
}
.qinput{
  min-height:96px !important;
  background:rgba(255,251,246,.97) !important;
  border:1px solid rgba(214,180,106,.3) !important;
}
.pbar{
  background:linear-gradient(180deg,rgba(255,248,239,.95),rgba(244,230,207,.92)) !important;
  border:1px solid rgba(214,180,106,.28) !important;
  box-shadow:0 18px 38px rgba(7,6,11,.16) !important;
}
.ps .d{
  border-color:rgba(185,138,59,.55) !important;
  color:#9b7230 !important;
}
.ps.a .d,
.ps.dn .d{
  background:linear-gradient(180deg,#f3dc9f,#b98a3b) !important;
  border-color:#a17328 !important;
  color:#2b1e17 !important;
}
.story-visual{
  background:
    radial-gradient(circle at 72% 18%,rgba(67,215,205,.22),transparent 20%),
    radial-gradient(circle at 28% 18%,rgba(246,124,197,.18),transparent 22%),
    linear-gradient(180deg,#0b0811 0%,#191026 44%,#0f2331 100%) !important;
  border:1px solid rgba(214,180,106,.26);
}
.story-visual img{
  mix-blend-mode:screen !important;
  opacity:.78 !important;
}
.story-overlay{
  background:rgba(252,243,230,.9) !important;
  border:1px solid rgba(214,180,106,.24) !important;
}
.offer-card.feature{
  background:
    radial-gradient(circle at 78% 16%,rgba(67,215,205,.16),transparent 18%),
    radial-gradient(circle at 25% 18%,rgba(246,124,197,.18),transparent 22%),
    linear-gradient(180deg,#120b19 0%,#2b1533 40%,#11384a 100%) !important;
  color:#f7efe8 !important;
}
.offer-card.feature .offer-meta{
  background:rgba(255,248,239,.12) !important;
  color:#f2dfb0 !important;
  border-color:rgba(214,180,106,.3) !important;
}
.testimonial-lead{
  background:linear-gradient(180deg,rgba(255,248,239,.96),rgba(245,232,212,.92)) !important;
}
.testimonial-lead blockquote{
  color:var(--wine-deep) !important;
}
.rev-s{color:#d8b86b !important}
footer{
  max-width:1120px !important;
  margin:1.2rem auto 0 !important;
  padding:2rem 1.4rem 1.4rem !important;
  border-top:1px solid rgba(214,180,106,.34) !important;
}
.ftb{color:#f5e5c3 !important}
.ftt,.fco,.fdi,.footer-legal-hint{color:rgba(247,235,215,.76) !important}
.fco a,.fln a,.fso a,.footer-legal-hint a{
  color:#f7efe1 !important;
}
.footer-legal-hint a:hover{color:#fff8ef !important}
.fso a{
  background:rgba(255,247,234,.08) !important;
  border-color:rgba(214,180,106,.4) !important;
}
.fso a:hover{
  background:rgba(255,247,234,.16) !important;
  color:#fff8ef !important;
}
#pw-gate{
  background:
    radial-gradient(circle at 18% 16%,rgba(67,215,205,.18),transparent 20%),
    radial-gradient(circle at 82% 14%,rgba(246,124,197,.22),transparent 22%),
    linear-gradient(180deg,#07040c 0%,#140a1d 48%,#08060c 100%) !important;
}
#pw-gate > div{
  background:linear-gradient(180deg,rgba(255,248,239,.98),rgba(243,228,206,.96)) !important;
  border:1px solid rgba(214,180,106,.55) !important;
  border-radius:30px;
  box-shadow:0 28px 56px rgba(5,5,10,.42);
  position:relative;
}
#pw-gate > div::before{
  content:'';
  position:absolute;
  inset:12px;
  border:1px solid rgba(214,180,106,.22);
  border-radius:20px;
  pointer-events:none;
}
#pw-input{
  background:rgba(255,251,245,.96) !important;
  border:1px solid rgba(214,180,106,.38) !important;
  border-radius:12px !important;
}
#pw-btn{
  border-radius:10px !important;
  border:1px solid rgba(103,74,28,.82) !important;
  background:linear-gradient(180deg,#f3dc9f,#b98a3b) !important;
  color:#2b1e17 !important;
  font-family:var(--orn) !important;
  letter-spacing:.14em;
  text-transform:uppercase;
  box-shadow:0 18px 32px rgba(5,5,10,.2) !important;
}
@media(max-width:900px){
  body::after{inset:14px}
  .tnav-brand::before,
  .tnav-brand::after{display:none}
  .hero-trust{grid-template-columns:1fr !important}
  .hero-stage-note{display:none !important}
}
@media(max-width:720px){
  .wrap{padding:0 .7rem 2.2rem}
  .tnav{
    width:calc(100% - 1.4rem);
    top:.7rem;
    margin-top:.7rem;
    border-radius:24px 24px 0 0;
  }
  .tnav-in{padding:.9rem .9rem .7rem !important}
  .tnav-links{
    gap:.7rem !important;
    padding-top:.65rem;
  }
  .tnav-links a{
    font-size:.6rem !important;
    letter-spacing:.14em;
  }
  .hero-copy{
    padding:2rem 1rem 1.55rem !important;
  }
  .hero-shell{
    border-radius:0 0 26px 26px !important;
  }
  .hero-stage{
    min-height:340px !important;
  }
  .hero-card-preview{
    width:min(34%,145px) !important;
    border-radius:12px !important;
  }
  .hero-card-center{
    width:min(36%,155px) !important;
  }
  .guide-shell,.qsection,.chsec,.spsec,.isec{
    border-radius:24px !important;
  }
  footer{
    padding:1.7rem 1rem 1.2rem !important;
  }
}
@media(min-width:721px){
  .tnav-brand{
    font-size:clamp(1.85rem,3vw,2.8rem) !important;
  }
  .tnav-in{
    padding:.9rem 1.15rem .7rem !important;
  }
  .hero-shell{
    grid-template-columns:minmax(0,1.02fr) minmax(360px,.98fr) !important;
    gap:1rem !important;
    padding:14px !important;
  }
  .hero-shell::before{
    inset:12px;
  }
  .hero-copy{
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:flex-start;
    text-align:left !important;
    padding:1.7rem 1rem 1.25rem !important;
  }
  .hero .tag{
    margin:0 0 .45rem !important;
    text-align:left;
  }
  .hero .brand{
    font-size:clamp(2.8rem,5.6vw,4.7rem) !important;
  }
  .hero-lede{
    max-width:10.5ch !important;
    margin:.1rem 0 0 !important;
    font-size:clamp(1.9rem,4vw,3.35rem) !important;
  }
  .hero-copy .qt{
    max-width:34rem !important;
    margin:.85rem 0 .5rem !important;
    font-size:.98rem !important;
  }
  .hero-copy .loc{
    max-width:34rem;
  }
  .hero-actions{
    justify-content:flex-start !important;
    margin:1.05rem 0 .9rem !important;
  }
  .hero-trust{
    width:100%;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:.55rem !important;
  }
  .hero-trust .trust-item{
    padding:.8rem .78rem .86rem !important;
  }
  .hero-stage{
    min-height:100% !important;
    border-top:0;
    border-radius:24px !important;
  }
  .hero-tarot-fan{
    inset:12% 6% 12% !important;
  }
}
/* FINAL DESIGN PASS */
:root{
  --final-night:#07050d;
  --final-plum:#140d22;
  --final-aura:#13323d;
  --final-paper:#f4eadc;
  --final-paper-hi:#fbf5ec;
  --final-gold:#b89452;
  --final-gold-soft:rgba(184,148,82,.24);
  --final-rose:#8c5d64;
  --final-ink:#261c1b;
  --final-muted:#6f5f5a;
  --final-shadow:0 28px 70px rgba(3,2,7,.28);
}
body{
  background:
    radial-gradient(circle at 16% 14%,rgba(56,208,198,.17),transparent 18%),
    radial-gradient(circle at 82% 10%,rgba(230,118,188,.18),transparent 20%),
    radial-gradient(circle at 48% 38%,rgba(82,113,214,.12),transparent 24%),
    linear-gradient(180deg,var(--final-night) 0%,var(--final-plum) 45%,#05040a 100%) !important;
  color:var(--final-ink) !important;
  font-size:17px !important;
  letter-spacing:0 !important;
}
body::after{
  inset:18px !important;
  border:1px solid rgba(184,148,82,.52) !important;
  box-shadow:inset 0 0 0 1px rgba(184,148,82,.14) !important;
}
.wrap{
  max-width:1180px !important;
  padding:0 1rem 3.3rem !important;
}
.tnav{
  width:min(1110px,calc(100% - 2rem)) !important;
  margin:1rem auto 0 !important;
  border:1px solid rgba(184,148,82,.48) !important;
  border-radius:28px 28px 0 0 !important;
  background:linear-gradient(180deg,rgba(251,245,236,.98),rgba(241,228,209,.95)) !important;
  box-shadow:0 22px 60px rgba(4,3,8,.3) !important;
}
.tnav::before{
  inset:10px !important;
  border-radius:18px 18px 0 0 !important;
  border-color:rgba(184,148,82,.18) !important;
}
.tnav-brand{
  color:var(--final-rose) !important;
  font-size:clamp(1.95rem,3.5vw,2.85rem) !important;
}
.tnav-links a{
  color:var(--final-muted) !important;
}
.hero{
  padding-top:.25rem !important;
}
.hero-shell{
  position:relative !important;
  overflow:hidden !important;
  border-radius:0 0 30px 30px !important;
  background:linear-gradient(180deg,var(--final-paper-hi),var(--final-paper)) !important;
  border:1px solid rgba(184,148,82,.5) !important;
  box-shadow:var(--final-shadow) !important;
}
.hero-shell::before{
  inset:13px !important;
  border-color:rgba(184,148,82,.17) !important;
}
.hero-copy{
  padding:2rem 1.2rem 1.5rem !important;
}
.hero .tag{
  color:var(--final-gold) !important;
  letter-spacing:.26em !important;
}
.hero .brand{
  color:var(--final-rose) !important;
  font-size:clamp(2.9rem,6.5vw,4.9rem) !important;
  line-height:.94 !important;
}
.hero .brand .to{color:#8f7a71 !important}
.hero .brand .num{color:#c7a46e !important}
.hero-lede{
  max-width:11ch !important;
  color:var(--final-ink) !important;
  font-size:clamp(2.2rem,4.9vw,3.95rem) !important;
  line-height:.98 !important;
  letter-spacing:-.02em !important;
}
.hero-copy .qt{
  max-width:29rem !important;
  margin-top:1rem !important;
  color:var(--final-muted) !important;
  font-size:1.02rem !important;
  line-height:1.72 !important;
}
.hero-copy .loc{
  color:#8b756d !important;
}
.hero-actions{
  margin:1.25rem 0 .95rem !important;
  gap:.8rem !important;
}
.hero-btn,
.rbtn,
.ppb,
.ab.p{
  border-radius:10px !important;
  background:linear-gradient(180deg,#f0d79d,#b8893c) !important;
  border:1px solid rgba(117,84,29,.88) !important;
  box-shadow:0 14px 28px rgba(19,12,10,.14) !important;
}
.hero-btn.secondary,
.ppb.alt,
.ab.g{
  background:linear-gradient(180deg,#fbf3e7,#efe0ca) !important;
  color:var(--final-muted) !important;
  border-color:rgba(184,148,82,.35) !important;
}
.hero-trust{
  width:100% !important;
  max-width:46rem !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:.75rem !important;
  margin-top:1.1rem !important;
}
.hero-trust .trust-item{
  padding:1rem .95rem 1.05rem !important;
  border-radius:16px !important;
  background:linear-gradient(180deg,rgba(255,250,245,.95),rgba(244,232,215,.94)) !important;
  border:1px solid rgba(184,148,82,.22) !important;
}
.hero-trust strong{
  color:var(--final-rose) !important;
}
.hero-trust span{
  color:var(--final-muted) !important;
}
.hero-stage{
  background:
    radial-gradient(circle at 18% 26%,rgba(55,205,195,.28),transparent 18%),
    radial-gradient(circle at 76% 16%,rgba(240,120,194,.24),transparent 18%),
    radial-gradient(circle at 53% 45%,rgba(89,118,220,.18),transparent 22%),
    linear-gradient(180deg,#08060f 0%,#120d1f 42%,#07131b 100%) !important;
}
.hero-stage-note{
  background:rgba(250,242,229,.93) !important;
  border-color:rgba(184,148,82,.2) !important;
}
.path-grid{
  max-width:1040px !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:1.08rem !important;
  margin:1.5rem auto 0 !important;
}
.path-card{
  min-height:228px !important;
  padding:1.4rem 1.3rem 1.25rem !important;
  text-align:left !important;
  align-items:flex-start !important;
}
.path-card strong{
  font-size:1.45rem !important;
  line-height:1.08 !important;
  max-width:14ch;
}
.path-card p{
  margin-top:.65rem !important;
  flex:1 !important;
}
.path-meta{
  margin-top:1rem !important;
}
.hero-proof{
  max-width:1040px !important;
  justify-content:flex-start !important;
  gap:.6rem !important;
  margin:1rem auto 0 !important;
}
.proof-pill{
  background:rgba(248,237,220,.08) !important;
  color:rgba(248,237,220,.82) !important;
  border:1px solid rgba(184,148,82,.26) !important;
  box-shadow:none !important;
}
.pbar{
  margin-top:1.1rem !important;
  background:linear-gradient(180deg,rgba(249,240,225,.93),rgba(239,225,203,.9)) !important;
}
.guide,.qsection,.chsec,.spsec,.isec{
  margin-top:1.25rem !important;
}
.guide-shell,
.qsection,.chsec,.spsec,.isec{
  padding:1.7rem 1.5rem !important;
  background:linear-gradient(180deg,var(--final-paper-hi),var(--final-paper)) !important;
  border:1px solid rgba(184,148,82,.42) !important;
  box-shadow:var(--final-shadow) !important;
}
.guide-head{
  display:flex !important;
  align-items:flex-end !important;
  justify-content:space-between !important;
  gap:1rem !important;
}
.guide-head h2,
.qsection h2,.chsec h2,.spsec h2,.isec h2,
.story-copy h2,.offer-card h3,.testimonial-lead h2{
  color:var(--final-ink) !important;
  letter-spacing:-.02em !important;
}
.guide-head p,
.qsub,.chsub,.spsub,
.story-copy p,.offer-card p,.rev p,.testimonial-note,
.qnote,.tmeta{
  color:var(--final-muted) !important;
}
.guide-grid{
  gap:.85rem !important;
}
.guide-card,
.principle,
.offer-card,
.rev,
.testimonial-lead,
.qcat,.sp,.ext,.prev,.rw{
  border-radius:18px !important;
  background:linear-gradient(180deg,rgba(255,250,245,.97),rgba(243,231,214,.94)) !important;
  border:1px solid rgba(184,148,82,.22) !important;
  box-shadow:0 18px 36px rgba(8,6,10,.1) !important;
}
.guide-card{
  padding:1rem !important;
}
.guide-num{
  color:var(--final-gold) !important;
  background:rgba(184,148,82,.12) !important;
}
.qcats{
  gap:.65rem !important;
  max-width:900px !important;
}
.qcat,
.sp{
  min-height:48px !important;
  padding:.78rem 1rem !important;
  border-radius:14px !important;
}
.qinput{
  min-height:110px !important;
  padding:1rem 1.05rem !important;
  border-radius:18px !important;
  background:rgba(255,251,246,.98) !important;
}
.story-shell{
  grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr) !important;
  gap:1.2rem !important;
  align-items:stretch !important;
}
.story-visual{
  min-height:510px !important;
  border-radius:24px !important;
}
.story-overlay{
  left:1rem !important;
  bottom:1rem !important;
  max-width:280px !important;
}
.story-copy{
  text-align:left !important;
  align-items:flex-start !important;
}
.story-copy h2{
  max-width:12ch !important;
}
.principles{
  gap:.8rem !important;
  margin-top:1.1rem !important;
}
.principle{
  padding:1rem !important;
}
.offerings{
  text-align:left !important;
}
.offerings > .tag,
.offerings > h2{
  text-align:left !important;
  margin-left:0 !important;
}
.offer-grid{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:1rem !important;
  margin-top:1.2rem !important;
}
.offer-card.feature{
  grid-column:1 / -1 !important;
  display:grid !important;
  grid-template-columns:minmax(0,1.2fr) auto !important;
  align-items:end !important;
  padding:1.35rem 1.4rem !important;
}
.offer-body{
  padding:1rem 1rem 1.15rem !important;
}
.testimonial-shell{
  grid-template-columns:minmax(250px,.88fr) minmax(0,1.12fr) !important;
  gap:1rem !important;
  align-items:stretch !important;
}
.testimonial-lead{
  padding:1.2rem !important;
}
.testimonial-lead blockquote{
  margin-top:.9rem !important;
  color:var(--final-rose) !important;
  font-size:clamp(1.35rem,2.1vw,1.75rem) !important;
  line-height:1.18 !important;
}
.revs{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:1rem !important;
}
.rev{
  min-height:160px !important;
  padding:1rem 1rem 1.05rem !important;
  display:flex !important;
  flex-direction:column !important;
}
.rev p{
  font-size:1.02rem !important;
  line-height:1.4 !important;
}
.rev-n{
  margin-top:auto !important;
}
footer{
  max-width:1110px !important;
  margin:1.3rem auto 0 !important;
  padding:2rem 1.4rem 1.5rem !important;
}
@media(max-width:1100px){
  .hero-shell,
  .story-shell,
  .testimonial-shell{
    grid-template-columns:1fr !important;
  }
  .hero-copy,
  .story-copy{
    align-items:center !important;
    text-align:center !important;
  }
  .hero .tag,
  .offerings > .tag,
  .offerings > h2{
    text-align:center !important;
    margin-inline:auto !important;
  }
  .hero-actions{
    justify-content:center !important;
  }
  .hero-trust.hero-trust--row{
    max-width:none !important;
  }
}
@media(max-width:780px){
  .path-grid,
  .offer-grid,
  .revs,
  .principles{
    grid-template-columns:1fr !important;
  }
  .offer-card.feature{
    grid-template-columns:1fr !important;
    gap:.9rem !important;
  }
  .hero-trust:not(.hero-trust--row){
    grid-template-columns:1fr !important;
  }
  .guide-head{
    flex-direction:column !important;
    align-items:flex-start !important;
  }
  .hero-lede{
    max-width:min(36rem,94vw) !important;
  }
}
@media(max-width:640px){
  body::after{inset:12px !important}
  .wrap{padding:0 .7rem 2.2rem !important}
  .tnav{
    width:calc(100% - 1.4rem) !important;
    top:.7rem !important;
    margin-top:.7rem !important;
  }
  .tnav-in{padding:.9rem .85rem .7rem !important}
  .hero-copy{
    padding:1.8rem 1rem 1.3rem !important;
  }
  .hero-stage{
    min-height:340px !important;
  }
  .guide-shell,
  .qsection,.chsec,.spsec,.isec{
    padding:1.35rem 1rem !important;
    border-radius:22px !important;
  }
}

/* ═══ Hero conversion: primary CTA, trust row, next strip (wins last) ═══ */
.hero h2.hero-lede{
  margin:0;
  font-weight:500;
}
.hero-copy .hero-lede{
  max-width:min(38rem,100%) !important;
}
.hero-copy .hero-price{
  font-weight:600;
  color:#a67c3a;
  white-space:nowrap;
}
.hero-actions{
  flex-direction:column !important;
  align-items:stretch !important;
  align-self:center !important;
  width:100% !important;
  max-width:min(24rem,100%) !important;
  margin-left:auto !important;
  margin-right:auto !important;
  gap:.65rem !important;
}
.hero-btn.primary{
  width:100% !important;
  min-height:58px !important;
  font-size:.94rem !important;
  letter-spacing:.12em !important;
  box-shadow:0 22px 48px rgba(10,8,12,.24),0 0 0 1px rgba(255,255,255,.12) inset !important;
  border:1px solid rgba(245,220,190,.42) !important;
}
.hero-restore-link{
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  width:100%;
  min-height:46px;
  padding:.58rem 1.15rem;
  margin:0;
  font-size:.66rem !important;
  letter-spacing:.16em !important;
  text-transform:uppercase;
  font-family:Cinzel,Georgia,serif;
  color:#4a3c44 !important;
  text-decoration:none !important;
  border:1px solid rgba(184,148,82,.34) !important;
  border-radius:999px !important;
  background:linear-gradient(180deg,rgba(255,252,248,.92),rgba(248,238,228,.88)) !important;
  box-shadow:0 6px 20px rgba(47,39,50,.06) !important;
  transition:color .2s ease,border-color .2s ease,background .2s ease,box-shadow .2s ease;
}
.hero-restore-link:hover{
  color:#5c3040 !important;
  border-color:rgba(140,71,92,.38) !important;
  background:linear-gradient(180deg,#fff,rgba(252,244,236,.95)) !important;
  box-shadow:0 8px 22px rgba(108,52,64,.1) !important;
}
.hero-trust-strip{
  margin:.42rem 0 0 !important;
  padding:0 !important;
  font-family:var(--f) !important;
  font-size:.8125rem !important;
  line-height:1.45 !important;
  color:var(--ts) !important;
  font-weight:400 !important;
  display:flex !important;
  flex-wrap:wrap !important;
  justify-content:center !important;
  align-items:center !important;
  column-gap:.35rem !important;
  row-gap:.2rem !important;
  text-align:center !important;
  max-width:100% !important;
}
.hero-trust-strip__sep{
  color:var(--tmu) !important;
  opacity:.7 !important;
  user-select:none !important;
}
ul.hero-trust.hero-trust--row,
.hero-trust.hero-trust--row{
  list-style:none !important;
  display:flex !important;
  flex-wrap:wrap !important;
  justify-content:center !important;
  align-items:flex-start !important;
  gap:.45rem .95rem !important;
  margin:1.05rem auto 0 !important;
  padding:0 !important;
  max-width:36rem !important;
  grid-template-columns:unset !important;
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
}
.hero-trust--row li{
  position:relative;
  margin:0 !important;
  padding:0 0 0 .72rem !important;
  font-size:.7rem !important;
  letter-spacing:.05em !important;
  line-height:1.45 !important;
  color:#5d4f52 !important;
  text-align:left !important;
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  min-height:0 !important;
}
.hero-trust--row li::before{
  content:'' !important;
  position:absolute;
  left:0;
  top:.55em;
  width:4px;
  height:4px;
  border-radius:50%;
  background:#b4637a;
  opacity:.72;
}
.hero-next{
  width:100%;
  max-width:min(1040px,calc(100% - 2rem));
  margin:1.55rem auto 0;
  padding:.95rem 1.05rem 1.08rem;
  border-radius:22px;
  background:linear-gradient(180deg,rgba(255,250,245,.94),rgba(244,232,215,.9));
  border:1px solid rgba(184,148,82,.32);
  box-shadow:0 10px 28px rgba(5,5,10,.06);
}
.hero-next-title{
  font-family:Cinzel,Georgia,serif;
  font-size:.65rem;
  font-weight:600;
  letter-spacing:.22em;
  text-transform:uppercase;
  text-align:center;
  color:#7d622e;
  margin:0 0 .7rem;
  line-height:1.35;
}
.hero-next h3.hero-next-title{
  font-family:Cinzel,Georgia,serif;
  font-size:.65rem;
  font-weight:600;
  letter-spacing:.22em;
  text-transform:uppercase;
  text-align:center;
  line-height:1.35;
  color:#7d622e;
  margin:0 0 .7rem;
}
.hero-next-track{
  list-style:none;
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  align-items:center;
  gap:.45rem;
  margin:0;
  padding:0;
}
.hero-next-track li{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  padding:.4rem .72rem;
  border-radius:999px;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(184,148,82,.22);
  font-size:.74rem;
  color:#4a3f42;
  white-space:nowrap;
}
.hero-next-track .hero-next-n{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:1.35rem;
  height:1.35rem;
  border-radius:50%;
  font-size:.62rem;
  font-weight:700;
  letter-spacing:0;
  background:rgba(180,99,122,.12);
  color:#8c475c;
}
@media(max-width:520px){
  .hero-next-track li{
    font-size:.7rem;
    padding:.38rem .6rem;
  }
}

/* ═══ Preview → purchase (premium paywall) ═══ */
.prev{
  display:none;
  position:relative;
  max-width:min(640px,100%) !important;
  margin:1.5rem auto 0 !important;
  padding:0 !important;
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  text-align:left !important;
  overflow:visible !important;
}
.prev.on{display:block !important;animation:popI .4s ease}
.prev::before{display:none !important}
.prev-glow{
  pointer-events:none;
  position:absolute;
  inset:-20% -15% auto;
  height:55%;
  background:radial-gradient(ellipse 80% 70% at 50% 0%,rgba(180,99,122,.12),transparent 55%);
  opacity:.58;
}
.prev-card{
  position:relative;
  z-index:1;
  padding:clamp(1.5rem,4vw,2.2rem) clamp(1.2rem,4vw,1.95rem) clamp(1.65rem,4vw,2.3rem);
  border-radius:26px;
  background:
    linear-gradient(165deg,rgba(255,252,248,.97) 0%,rgba(250,242,234,.98) 45%,rgba(255,248,252,.96) 100%);
  border:1px solid rgba(184,148,82,.38);
  box-shadow:
    0 4px 0 rgba(255,255,255,.65) inset,
    0 28px 56px rgba(47,39,50,.09),
    0 1px 0 rgba(180,99,122,.08);
}
.prev-head{
  text-align:center;
  margin-bottom:1.55rem;
}
.prev-eyebrow{
  font-family:Cinzel,Georgia,serif;
  font-size:.62rem;
  letter-spacing:.26em;
  text-transform:uppercase;
  color:#9a7b4a;
  margin:0 0 .55rem;
}
.prev-title{
  font-family:var(--fd,'Cormorant Garamond',Georgia,serif);
  font-size:clamp(1.45rem,4.2vw,1.85rem);
  font-weight:500;
  color:#2a2228;
  margin:0 0 .65rem;
  letter-spacing:-.02em;
  line-height:1.12;
}
.prev-lead{
  font-size:.84rem;
  line-height:1.65;
  color:#6b5a62;
  margin:0 auto .95rem;
  max-width:34rem;
}
.prev-glimpse{
  margin-top:1rem;
  padding:1rem 1.1rem 1.05rem;
  border-radius:18px;
  background:linear-gradient(180deg,rgba(255,255,255,.88),rgba(250,244,238,.92));
  border:1px solid rgba(180,99,122,.14);
  box-shadow:0 8px 24px rgba(180,99,122,.06);
  text-align:left;
}
.prev-glimpse-label{
  display:block;
  font-family:Cinzel,Georgia,serif;
  font-size:.58rem;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:#8c475c;
  margin-bottom:.45rem;
}
.prev .psu{
  margin:0 !important;
  font-size:.92rem !important;
  line-height:1.65 !important;
  font-style:italic !important;
  color:#4f4248 !important;
}
.prev-split{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:clamp(.85rem,2.5vw,1.2rem);
  margin-bottom:1.55rem;
}
@media(max-width:640px){
  .prev-split{grid-template-columns:1fr}
}
.prev-panel{
  padding:1rem 1.05rem 1.1rem;
  border-radius:18px;
  border:1px solid rgba(191,165,122,.22);
  background:linear-gradient(180deg,rgba(255,255,255,.72),rgba(252,247,241,.9));
  min-height:100%;
}
.prev-panel--now{border-color:rgba(112,134,124,.28)}
.prev-panel--unlock{
  border-color:rgba(180,99,122,.2);
  background:linear-gradient(180deg,rgba(255,250,252,.9),rgba(252,240,244,.88));
}
.prev-panel-head{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:.4rem .6rem;
  margin:0 0 .65rem;
}
.prev-panel-title{
  font-family:var(--fd,'Cormorant Garamond',Georgia,serif);
  font-size:.98rem;
  font-weight:600;
  color:#342832;
  letter-spacing:-.01em;
}
.prev-tag{
  font-family:Cinzel,Georgia,serif;
  font-size:.55rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  padding:.28rem .55rem;
  border-radius:999px;
  white-space:nowrap;
}
.prev-tag--mist{
  background:rgba(112,134,124,.12);
  color:#4d6560;
  border:1px solid rgba(112,134,124,.2);
}
.prev-tag--gold{
  background:rgba(184,148,82,.14);
  color:#6b5428;
  border:1px solid rgba(184,148,82,.35);
}
.prev-panel-list{
  list-style:none;
  margin:0;
  padding:0;
}
.prev-panel-list li{
  position:relative;
  padding:.4rem 0 .4rem 1rem;
  font-size:.78rem;
  line-height:1.55;
  color:#5d5362;
  border-bottom:1px solid rgba(191,165,122,.12);
}
.prev-panel-list li:last-child{border-bottom:none}
.prev-panel-list li::before{
  content:'';
  position:absolute;
  left:0;
  top:.7em;
  width:5px;
  height:5px;
  border-radius:50%;
  background:#b4637a;
  opacity:.55;
}
.prev-offering{margin-top:.35rem;margin-bottom:.25rem}
.prev-offering-card{
  text-align:center;
  padding:1.25rem 1.15rem 1.35rem;
  border-radius:22px;
  background:
    linear-gradient(165deg,#2f2329 0%,#3d2a32 38%,#2a1f24 100%);
  border:1px solid rgba(214,180,106,.35);
  box-shadow:
    0 20px 40px rgba(20,12,16,.25),
    inset 0 1px 0 rgba(255,255,255,.06);
  position:relative;
  overflow:hidden;
}
.prev-offering-card::after{
  content:'';
  position:absolute;
  inset:-40%;
  background:radial-gradient(circle at 30% 20%,rgba(180,99,122,.18),transparent 42%);
  pointer-events:none;
}
.prev-offering-verse{
  position:relative;
  z-index:1;
  font-size:.8rem;
  line-height:1.68;
  color:rgba(252,246,240,.88);
  margin:0 auto 1.1rem;
  max-width:26rem;
  font-weight:400;
}
.prev-offering-verse strong{
  color:#f0d79d;
  font-weight:600;
}
.prev-price-display{
  position:relative;
  z-index:1;
  display:flex;
  align-items:baseline;
  justify-content:center;
  gap:.55rem;
  margin-bottom:1.15rem;
}
.prev-price-num{
  font-family:var(--fd,'Cormorant Garamond',Georgia,serif);
  font-size:clamp(2.6rem,9vw,3.4rem);
  font-weight:500;
  line-height:1;
  color:#fdf6ec;
  letter-spacing:-.03em;
}
.prev-price-num::before{content:'$'}
.prev-price-copy{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  text-align:left;
  gap:.12rem;
}
.prev-price-currency{
  font-family:Cinzel,Georgia,serif;
  font-size:.58rem;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:rgba(240,215,157,.75);
}
.prev-price-once{
  font-size:.68rem;
  color:rgba(252,246,240,.65);
  letter-spacing:.04em;
}
.prev .pv-actions{
  position:relative;
  z-index:1;
  display:flex !important;
  flex-direction:column !important;
  align-items:stretch !important;
  flex-wrap:nowrap !important;
  gap:.62rem;
  max-width:min(22rem,100%);
  width:100%;
  margin:.25rem auto 0;
  padding:0 .15rem;
  box-sizing:border-box;
}
.prev-cta-block--primary,
.prev-cta-block--secondary{
  width:100%;
  flex:0 0 auto;
}
.prev-cta-or{
  margin:0;
  padding:.15rem 0 .05rem;
  text-align:center;
  font-family:Cinzel,Georgia,serif;
  font-size:.58rem;
  letter-spacing:.26em;
  text-transform:uppercase;
  color:rgba(252,246,240,.48);
  line-height:1.3;
  flex:0 0 auto;
}
.prev-cta-block--secondary{
  padding-top:.85rem;
  margin-top:.2rem;
  border-top:1px solid rgba(255,252,248,.14);
}
.prev-social-proof{
  display:block;
  width:100%;
  margin:0 0 .55rem;
  padding:0 .25rem;
  font-family:var(--f);
  font-size:.8125rem;
  line-height:1.35;
  letter-spacing:.02em;
  text-align:center;
  text-decoration:none;
  color:rgba(252,246,240,.78);
  transition:color .2s ease;
}
.prev-social-proof:hover{
  color:var(--pk-lt);
}
.prev-social-proof__stars{
  color:var(--gold);
  letter-spacing:.06em;
  margin-right:.28em;
}
.prev-social-proof:focus-visible{
  outline:2px solid var(--focus-strong);
  outline-offset:3px;
  border-radius:6px;
}
.prev-unlock-payrow{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:.55rem .85rem;
  width:100%;
}
.prev .prev-unlock-payrow .ppb-unlock{
  flex:1 1 auto;
  min-width:min(100%,12.5rem);
}
.prev-paypal-mark-wrap{
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  color:rgba(252,246,240,.58);
  line-height:0;
}
.prev-paypal-mark{
  display:block;
  width:52px;
  height:auto;
}
@media(max-width:599px){
  .prev-unlock-payrow{
    flex-direction:column;
    align-items:stretch;
  }
  .prev .prev-unlock-payrow .ppb-unlock{
    min-height:56px;
    width:100% !important;
    max-width:100% !important;
    flex:1 1 100%;
    min-width:0;
  }
  .prev-paypal-mark-wrap{
    padding-top:.12rem;
  }
}
.prev .ppb-unlock{
  display:flex !important;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:.28rem;
  width:100% !important;
  min-height:58px;
  padding:.92rem 1.2rem !important;
  border-radius:14px !important;
  border:1px solid rgba(240,215,157,.45) !important;
  background:linear-gradient(180deg,#c4788f,#8c475c 55%,#6c3440) !important;
  color:#fffefb !important;
  font-family:var(--fd,'Cormorant Garamond',Georgia,serif) !important;
  box-shadow:0 14px 32px rgba(108,52,64,.35),inset 0 1px 0 rgba(255,255,255,.12) !important;
  letter-spacing:.04em !important;
  text-transform:none !important;
  cursor:pointer;
  transition:transform .2s ease,box-shadow .2s ease,filter .2s ease;
}
.prev .ppb-unlock:hover{
  transform:translateY(-2px);
  filter:brightness(1.04);
  box-shadow:0 18px 38px rgba(108,52,64,.4),inset 0 1px 0 rgba(255,255,255,.14),0 0 32px rgba(180,99,122,.38),0 0 56px rgba(191,165,122,.12) !important;
}
.prev .ppb-unlock:disabled{
  opacity:.72;
  transform:none;
  cursor:wait;
}
.prev .ppb-line1{
  font-size:clamp(1rem,3.8vw,1.14rem);
  font-weight:600;
  letter-spacing:.02em;
  text-wrap:balance;
  max-width:100%;
  line-height:1.22;
  text-align:center;
}
.prev .ppb-line2{
  font-family:Manrope,sans-serif !important;
  font-size:.7rem !important;
  font-weight:500 !important;
  letter-spacing:.05em !important;
  opacity:.9;
  line-height:1.35;
  text-align:center;
}
.prev .ppb-keep,
.prev .ppb.alt.ppb-keep{
  width:100% !important;
  min-height:50px;
  padding:.78rem 1.05rem !important;
  border-radius:12px !important;
  background:rgba(255,252,248,.08) !important;
  border:1px solid rgba(255,252,248,.22) !important;
  color:rgba(252,246,240,.88) !important;
  font-family:Manrope,sans-serif !important;
  font-size:.78rem !important;
  font-weight:500 !important;
  letter-spacing:.04em !important;
  text-transform:none !important;
  box-shadow:none !important;
  cursor:pointer;
  transition:background .2s ease,border-color .2s ease;
}
.prev .ppb-keep:hover,
.prev .ppb.alt.ppb-keep:hover{
  background:rgba(255,252,248,.14) !important;
  border-color:rgba(240,215,157,.35) !important;
  color:#fff !important;
}
.prev .pnt{
  text-align:center;
  margin:1rem auto 0 !important;
  max-width:22rem;
  font-size:.68rem !important;
  line-height:1.5 !important;
  letter-spacing:.04em !important;
  color:#8a7a82 !important;
}
.prev .vlk.vlk-btn{
  display:block;
  width:100%;
  margin:.75rem auto 0;
  padding:.35rem;
  background:none !important;
  border:none !important;
  font:inherit;
  font-size:.72rem !important;
  color:#b4637a !important;
  text-decoration:underline;
  text-underline-offset:3px;
  cursor:pointer;
  text-align:center;
}
.prev .vlk.vlk-btn:hover{color:#8c475c !important}
.prev-trust-panel{
  margin:1.35rem 0 0;
  padding:1.15rem 1.1rem 1.15rem;
  border-radius:18px;
  background:linear-gradient(180deg,rgba(255,252,248,.92),rgba(248,240,232,.88));
  border:1px solid rgba(191,165,122,.22);
  box-shadow:0 8px 28px rgba(47,39,50,.06);
}
.prev-trust-heading{
  font-family:var(--fd,'Cormorant Garamond',Georgia,serif);
  font-size:.95rem;
  font-weight:600;
  color:#5c4a52;
  margin:0 0 .65rem;
  letter-spacing:.02em;
}
.prev-trust-steps{
  margin:0;
  padding:0 0 0 1.15rem;
  font-size:.74rem;
  line-height:1.62;
  color:#6b5e66;
}
.prev-trust-steps li{margin-bottom:.45rem}
.prev-trust-steps li:last-child{margin-bottom:0}
.prev-trust-steps a{color:#a05068;text-decoration:underline;text-underline-offset:2px}
.prev-trust-steps a:hover{color:#8c475c}
.prev-trust-chips{
  display:flex;
  flex-wrap:wrap;
  gap:.4rem .55rem;
  margin:.75rem 0 0;
  padding:0;
  list-style:none;
  justify-content:center;
}
.prev-trust-chips li{
  font-size:.62rem;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:#8a7a82;
  padding:.2rem .55rem;
  border-radius:999px;
  background:rgba(255,255,255,.55);
  border:1px solid rgba(191,165,122,.2);
}
.prev-pay-foot{
  margin-top:1rem;
  max-width:26rem;
  margin-left:auto;
  margin-right:auto;
}
.prev-pay-foot .pnt{
  margin-top:0 !important;
  margin-bottom:.35rem !important;
}
.pnt-static{
  text-align:center;
  margin:0 auto;
  max-width:24rem;
  font-size:.68rem !important;
  line-height:1.58 !important;
  letter-spacing:.02em !important;
  color:#6e5f66 !important;
  font-style:normal;
  font-weight:500;
}
.prev-soft-faq{
  margin:1rem auto 0;
  max-width:26rem;
  border-radius:14px;
  border:1px solid rgba(191,165,122,.2);
  background:rgba(255,252,248,.65);
  overflow:hidden;
}
.prev-soft-faq summary{
  cursor:pointer;
  list-style:none;
  padding:.55rem .85rem;
  font-size:.72rem;
  font-weight:600;
  letter-spacing:.04em;
  color:#7a6a72;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.5rem;
}
.prev-soft-faq summary::-webkit-details-marker{display:none}
.prev-soft-faq summary::after{
  content:'+';
  font-weight:500;
  color:#b4637a;
  opacity:.85;
}
.prev-soft-faq[open] summary::after{content:'−'}
.prev-soft-faq-body{
  padding:0 .9rem .85rem;
  border-top:1px solid rgba(191,165,122,.15);
}
.prev-soft-faq-body p{
  margin:.65rem 0 0;
  font-size:.72rem;
  line-height:1.58;
  color:#6b5e66;
  text-align:left;
}
.prev-soft-faq-body strong{color:#5c4a52;font-weight:600}
.prev-soft-faq-body a{color:#a05068;text-decoration:underline;text-underline-offset:2px}
.prev-soft-faq-body a:hover{color:#8c475c}
.prev-soft-faq-more{
  margin-top:.75rem !important;
  font-size:.68rem !important;
  letter-spacing:.04em;
}
.prev-soft-faq-item{
  margin-top:.45rem;
  border-radius:10px;
  border:1px solid rgba(191,165,122,.18);
  background:rgba(255,255,255,.5);
  overflow:hidden;
}
.prev-soft-faq-item:first-of-type{margin-top:.55rem}
.prev-soft-faq-item summary{
  cursor:pointer;
  list-style:none;
  padding:.48rem .72rem;
  font-size:.7rem;
  font-weight:600;
  letter-spacing:.02em;
  color:#6a5a62;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.5rem;
}
.prev-soft-faq-item summary::-webkit-details-marker{display:none}
.prev-soft-faq-item summary::after{
  content:'+';
  flex-shrink:0;
  font-weight:500;
  color:#b4637a;
  opacity:.85;
  font-size:.75rem;
}
.prev-soft-faq-item[open] summary::after{content:'−'}
.prev-soft-faq-item p{
  margin:0;
  padding:0 .72rem .55rem;
  font-size:.7rem;
  line-height:1.55;
  color:#635660;
  text-align:left;
}
.prev-unlock-reassurance{
  margin:.85rem 0 0;
  max-width:22rem;
  margin-left:auto;
  margin-right:auto;
  font-size:.68rem;
  line-height:1.52;
  color:#6f5f66;
  text-align:center;
  font-style:italic;
}
.charm-chosen-pill{
  margin:.7rem auto 0;
  max-width:min(22rem,100%);
  padding:.4rem .85rem;
  border-radius:999px;
  font-size:.72rem;
  letter-spacing:.02em;
  text-align:center;
  color:#5c3040;
  background:linear-gradient(180deg,rgba(255,250,245,.96),rgba(244,232,215,.94));
  border:1px solid rgba(184,148,82,.38);
  box-shadow:0 6px 16px rgba(47,39,50,.05);
}
.charm-chosen-pill[hidden]{display:none !important}
.prev-restore-note{
  text-align:center;
  max-width:24rem;
  margin:1rem auto 0;
  font-size:.7rem;
  line-height:1.55;
  color:#8a7a82;
}
.prev .demo{
  margin-top:1.15rem;
  border-radius:20px;
  overflow:hidden;
}
.prev .demo.on{
  border:1px solid rgba(191,165,122,.28);
  box-shadow:0 14px 36px rgba(47,39,50,.08);
}

/* ═══ Homepage IA: studio below funnel (supplementary) ═══ */
.studio-below{
  margin-top:2.5rem;
  padding:0 1rem 1rem;
  max-width:1180px;
  margin-left:auto;
  margin-right:auto;
}
.studio-divider{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.85rem;
  max-width:min(520px,88vw);
  margin:0 auto 1rem;
}
.studio-divider-line{
  flex:1;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(184,148,82,.55),transparent);
}
.studio-divider-mark{
  font-size:.85rem;
  color:rgba(140,71,92,.55);
  line-height:1;
}
.studio-divider-caption{
  text-align:center;
  font-family:Cinzel,Georgia,serif;
  font-size:.62rem;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:#8a7a82;
  margin:0 0 1.75rem;
}
.studio-inperson{
  margin-top:0 !important;
  padding:1.6rem 1.35rem 1.5rem !important;
  background:linear-gradient(180deg,rgba(252,248,242,.97),rgba(245,236,226,.94)) !important;
  border:1px solid rgba(184,148,82,.28) !important;
  box-shadow:0 12px 40px rgba(47,39,50,.05) !important;
}
.studio-inperson-head{
  text-align:center;
  max-width:36rem;
  margin:0 auto 1.35rem;
}
.studio-inperson-tag{
  color:#9a7b4a !important;
}
.studio-inperson-title{
  font-family:var(--fd,'Cormorant Garamond',Georgia,serif);
  font-size:clamp(1.5rem,3.8vw,2rem);
  font-weight:500;
  color:#2a2228;
  margin:.35rem 0 .65rem;
  letter-spacing:-.02em;
}
.studio-inperson-lede{
  margin:0;
  font-size:.86rem;
  line-height:1.65;
  color:#5d5362;
}
.studio-spotlight{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);
  gap:1rem 1.25rem;
  align-items:center;
  margin-bottom:1.35rem;
  padding:0 0 1.2rem;
  border-bottom:1px solid rgba(184,148,82,.18);
}
@media(max-width:720px){
  .studio-spotlight{grid-template-columns:1fr;text-align:center}
  .studio-spotlight-note{max-width:none !important;margin-left:auto;margin-right:auto}
}
.studio-spotlight-visual{
  position:relative;
  border-radius:20px;
  overflow:hidden;
  border:1px solid rgba(184,148,82,.25);
  box-shadow:0 16px 36px rgba(47,39,50,.08);
  min-height:180px;
  background:#2a2228;
}
.studio-spotlight-visual img{
  width:100%;
  height:100%;
  min-height:200px;
  object-fit:cover;
  display:block;
  vertical-align:middle;
}
.studio-spotlight-visual picture{display:block;width:100%;height:100%}
.studio-spotlight-visual picture img{min-height:200px}
.studio-spotlight-cap{
  position:absolute;
  left:0;right:0;bottom:0;
  padding:.55rem .85rem;
  font-family:Cinzel,Georgia,serif;
  font-size:.58rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:rgba(255,250,245,.92);
  background:linear-gradient(0deg,rgba(20,14,18,.78),transparent);
}
.studio-spotlight-note{
  margin:0;
  font-size:.84rem;
  line-height:1.6;
  color:#6b5a62;
  font-style:italic;
  max-width:22rem;
}
.studio-cards{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1rem;
  margin-bottom:1.25rem;
}
@media(max-width:900px){
  .studio-cards{grid-template-columns:1fr;max-width:26rem;margin-left:auto;margin-right:auto}
}
.studio-card{
  display:flex;
  flex-direction:column;
  border-radius:18px;
  overflow:hidden;
  border:1px solid rgba(184,148,82,.22);
  background:linear-gradient(180deg,rgba(255,255,255,.9),rgba(252,247,241,.94));
  box-shadow:0 10px 28px rgba(47,39,50,.05);
  transition:transform .2s ease,box-shadow .2s ease;
}
.studio-card:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 34px rgba(47,39,50,.08);
}
.studio-card-media{
  aspect-ratio:4/3;
  background:#f5ebe3;
  overflow:hidden;
}
.studio-card-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.studio-card-media picture{display:block;width:100%;height:100%}
.studio-card-body{padding:1rem .95rem 1.1rem;flex:1;display:flex;flex-direction:column}
.studio-card-title{
  font-family:var(--fd,'Cormorant Garamond',Georgia,serif);
  font-size:1.05rem;
  font-weight:600;
  color:#342832;
  margin:0 0 .45rem;
  line-height:1.2;
}
.studio-card-text{
  margin:0;
  font-size:.78rem;
  line-height:1.58;
  color:#5d5362;
  flex:1;
}
.studio-card-meta{
  margin:.65rem 0 0;
  font-size:.68rem;
  letter-spacing:.04em;
  color:#8c475c;
  font-weight:600;
}
.studio-card-meta a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.studio-card-meta a:hover{color:#6c3440}
.studio-strip{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:.35rem .65rem;
  padding:.85rem 1rem;
  border-radius:16px;
  background:rgba(255,255,255,.55);
  border:1px dashed rgba(184,148,82,.35);
}
.studio-strip-a{
  font-size:.72rem;
  color:#6c3440;
  text-decoration:none;
  font-weight:600;
  letter-spacing:.03em;
}
.studio-strip-a:hover{text-decoration:underline;text-underline-offset:3px;color:#8c475c}
.studio-strip-sep{color:rgba(90,80,88,.35);font-size:.75rem}
.studio-reviews-below{
  margin-top:1.15rem !important;
  padding:1.35rem 1.25rem 1.5rem !important;
}
.testimonial-shell--studio .testimonial-lead blockquote{
  margin-bottom:.5rem;
}
.testimonial-shell--studio .testimonial-note{
  margin-top:.35rem;
  max-width:36rem;
  margin-left:auto;
  margin-right:auto;
}
.testimonial-shell--studio .testimonial-note a{
  white-space:nowrap;
}
@media(max-width:520px){
  .testimonial-shell--studio .testimonial-note a{white-space:normal}
}

/* ═══ Reading setup flow: ritual panels, sticky progress, mobile polish ═══
   Order note: rules here compete with “PREMIUM” / theme sections above; many use !important.
   Final ritual-step transparency overrides live at end of stylesheet—do not remove that block
   without checking theme !important on .qsection/.chsec/.spsec. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.flow-wrap{
  max-width:min(var(--spread-max),100%);
  margin:0 auto;
  padding:0 .3rem 1.75rem;
}
.flow-progress{
  position:sticky;
  top:var(--flow-sticky-top);
  z-index:15;
  margin:0 -.3rem .72rem;
  padding:.48rem .45rem .55rem;
  width:100%;
  max-width:none;
  box-sizing:border-box;
  background:linear-gradient(180deg,rgba(251,247,242,.94),rgba(251,247,242,.78));
  -webkit-backdrop-filter:saturate(140%) blur(14px);
  backdrop-filter:saturate(140%) blur(14px);
  border-bottom:1px solid rgba(184,148,82,.2);
  box-shadow:0 6px 20px rgba(47,39,50,.045);
}
.flow-progress .pbar{
  margin:0 auto !important;
  max-width:100%;
  flex-wrap:nowrap;
  gap:.28rem;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  padding:.15rem .1rem .25rem;
  justify-content:flex-start;
  scrollbar-width:thin;
}
@media(min-width:640px){
  .flow-progress .pbar{justify-content:center;flex-wrap:wrap;overflow:visible}
}
.flow-progress .ps{
  flex:0 0 auto;
  padding:.38rem .45rem;
  min-width:4.6rem;
  flex-direction:column;
  align-items:center;
  gap:.12rem;
}
.flow-progress .ps-label{
  display:block;
  font-size:.56rem;
  letter-spacing:.05em;
  font-weight:700;
  max-width:5.4rem;
  text-align:center;
  line-height:1.15;
}
.flow-progress .ps .d{
  width:24px !important;
  height:24px !important;
  font-size:.58rem !important;
}
.flow-progress .ps-label{
  font-size:.58rem !important;
  letter-spacing:.07em !important;
  font-weight:700 !important;
}
.ritual-step{scroll-margin-top:var(--anchor-pad)}
#reading-flow{scroll-margin-top:var(--anchor-pad)}
#home-guide{scroll-margin-top:var(--anchor-pad)}
#visit-studio{scroll-margin-top:var(--anchor-pad)}
.qsection.ritual-step,.chsec.ritual-step,.spsec.ritual-step{margin-top:1.05rem !important}
.ritual-panel{
  text-align:center;
  padding:1.05rem .82rem 1.12rem !important;
  border-radius:22px !important;
  background:linear-gradient(165deg,rgba(255,252,248,.99),rgba(250,243,236,.92)) !important;
  border:1px solid rgba(184,148,82,.18) !important;
  box-shadow:0 8px 26px rgba(47,39,50,.04) !important;
  max-width:640px;
  margin-left:auto;
  margin-right:auto;
}
.ritual-panel--spread{max-width:min(720px,100%)}
.ritual-panel-head .tag{margin-bottom:.35rem !important}
.ritual-field{
  margin:.72rem 0;
  padding:.72rem .58rem .78rem;
  border-radius:16px;
  background:linear-gradient(180deg,rgba(255,252,248,.88),rgba(252,246,238,.68));
  border:1px solid rgba(184,148,82,.14);
  box-shadow:0 4px 16px rgba(47,39,50,.028);
}
.ritual-field-label{
  display:block;
  font-family:Cinzel,Georgia,serif;
  font-size:.62rem;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:#8c475c;
  margin-bottom:.72rem;
}
.qcats{
  display:flex !important;
  flex-wrap:wrap !important;
  justify-content:center !important;
  align-items:stretch !important;
  gap:8px !important;
  max-width:100% !important;
}
.qcat{
  display:inline-flex !important;
  min-height:44px !important;
  min-width:44px !important;
  padding:.55rem .95rem !important;
  border-radius:14px !important;
  border-width:2px !important;
  font-size:.8rem !important;
  letter-spacing:.02em !important;
  justify-content:center;
  align-items:center;
  text-align:center;
  line-height:1.2;
  font-family:Manrope,sans-serif !important;
  width:auto !important;
  flex:0 1 auto;
  box-sizing:border-box;
  -webkit-tap-highlight-color:transparent;
  cursor:pointer;
  background:#fff;
  border-style:solid;
  border-color:#eee;
  color:var(--tm,#5d5362);
}
.qcat.on{
  border-color:#b4637a !important;
  background:linear-gradient(180deg,#fff6f4,#f5ece8) !important;
  color:#6c3440 !important;
  box-shadow:0 0 0 2px rgba(180,99,122,.14),0 6px 18px rgba(180,99,122,.1) !important;
}
.qcat:focus-visible{
  outline:2px solid var(--focus-strong);
  outline-offset:3px;
}
.ritual-input-label{
  display:block;
  font-size:.66rem;
  letter-spacing:.11em;
  text-transform:uppercase;
  color:#6b5a62;
  margin:.85rem 0 .4rem;
  font-weight:700;
}
.ritual-optional-mark{font-weight:500;opacity:.75;letter-spacing:.06em;text-transform:none;font-size:.62rem}
.qinput{
  min-height:100px !important;
  border-radius:18px !important;
  border-width:2px !important;
  padding:1rem 1.1rem !important;
  font-size:.94rem !important;
  line-height:1.55 !important;
}
.qinput:focus{
  box-shadow:0 0 0 4px rgba(180,99,122,.12);
  outline:none;
}
.qinput:focus-visible{
  outline:2px solid var(--focus-strong);
  outline-offset:2px;
}
.qhint{
  font-size:.75rem;
  color:var(--tm);
  margin:.5rem auto 0;
  max-width:32rem;
  line-height:1.5;
  font-style:italic;
}
.qnote{margin-top:.65rem !important}
.ritual-chest-block{margin-top:.2rem}
.charm-arena{
  margin-top:.72rem;
  padding:.78rem .52rem .88rem;
  border-radius:18px;
  background:
    radial-gradient(ellipse 85% 65% at 50% 18%,rgba(180,99,122,.07),transparent 52%),
    linear-gradient(180deg,rgba(255,252,250,.94),rgba(248,240,244,.9));
  border:1px solid rgba(180,99,122,.13);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.45);
}
.charm-arena-eyebrow{
  font-family:Cinzel,Georgia,serif;
  font-size:.58rem;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:#8c475c;
  margin:0 0 .72rem;
}
.tcloud{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:8px !important;
  max-width:100% !important;
  justify-items:stretch;
  align-items:stretch;
}
@media(min-width:600px){
  .tcloud{grid-template-columns:repeat(4,minmax(0,1fr)) !important}
}
@media(min-width:900px){
  .tcloud{grid-template-columns:repeat(5,minmax(0,1fr)) !important}
}
.trk{
  width:100% !important;
  max-width:none !important;
  aspect-ratio:1/1 !important;
  height:auto !important;
  min-height:0 !important;
  border-radius:14px !important;
  border-width:2px !important;
  -webkit-tap-highlight-color:transparent;
  font:inherit;
  padding:0 !important;
  margin:0 !important;
  background:#fff;
  border-style:solid;
  border-color:#ede6ed;
  cursor:pointer;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  transition:transform .15s ease,border-color .2s ease,box-shadow .2s ease,background .2s ease;
}
.tcloud .trk:active{
  transform:scale(1.045);
}
.trk .ti{width:30px !important;height:30px !important}
.trk .tn{font-size:.48rem !important;margin-top:.12rem !important}
.trk:focus-visible{
  outline:2px solid var(--focus-strong);
  outline-offset:3px;
}
.trk.pk{
  box-shadow:0 0 0 3px rgba(180,99,122,.16),0 6px 18px rgba(180,99,122,.12) !important;
}
.chest-tap{
  font-size:.78rem !important;
  margin:.35rem auto 1rem !important;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.35rem;
}
.chest-tap-icon{opacity:.55}
.chest-container:focus-visible{
  outline:2px solid #8c475c;
  outline-offset:4px;
  border-radius:12px;
}
.sps{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:.78rem !important;
  max-width:100% !important;
  margin:.95rem 0 !important;
}
@media(min-width:600px){
  .sps{grid-template-columns:repeat(3,minmax(0,1fr)) !important}
}
.sp{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  text-align:center !important;
  min-height:132px !important;
  padding:1.05rem .88rem 1rem !important;
  border-radius:17px !important;
  border-width:2px !important;
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
  font:inherit;
  background:linear-gradient(180deg,#fff,rgba(252,248,244,.96)) !important;
  box-sizing:border-box;
  border-style:solid;
  border-color:#eee;
  transition:transform .2s,border-color .2s,box-shadow .2s;
}
.sp-glyph{
  font-size:1.38rem;
  line-height:1.15;
  margin-bottom:.32rem;
  opacity:.72;
}
.sp.on .sp-glyph{opacity:1}
.sp .sn{font-size:1.08rem !important;margin-top:.12rem;font-weight:600 !important;letter-spacing:.01em !important}
.sp .sd{font-size:.74rem !important;margin-top:.42rem !important;line-height:1.52 !important;max-width:18rem;color:#5d4f55 !important}
.sp.on{
  border-color:rgba(180,99,122,.48) !important;
  background:linear-gradient(180deg,rgba(255,250,252,1),rgba(252,236,242,.94)) !important;
  box-shadow:0 8px 22px rgba(180,99,122,.1) !important;
  transform:translateY(-1px);
}
.sp:focus-visible{
  outline:2px solid var(--focus-strong);
  outline-offset:3px;
}
.ritual-skymap{
  margin:1.05rem auto 0 !important;
  max-width:100% !important;
  border-radius:16px !important;
  border:1px solid rgba(184,148,82,.22) !important;
  background:linear-gradient(180deg,rgba(255,252,248,.85),rgba(248,240,230,.74)) !important;
  overflow:hidden;
  text-align:left;
  box-shadow:0 4px 18px rgba(47,39,50,.032);
}
.ritual-skymap-summary{
  padding:1.05rem 2.5rem 1.05rem 1.2rem !important;
  align-items:flex-start !important;
  position:relative;
  list-style:none;
}
.ritual-skymap-summary::-webkit-details-marker{display:none}
.ritual-skymap-title{
  font-family:var(--fd,'Cormorant Garamond',Georgia,serif);
  font-size:1.02rem;
  font-weight:600;
  color:#3a2f35;
  display:block;
  padding-right:.5rem;
}
.ritual-skymap-optional{font-style:normal;font-weight:500;font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;color:#9a7b4a;margin-left:.35rem}
.ritual-skymap-hint{
  display:block;
  font-size:.72rem;
  color:#7a6d72;
  margin:.25rem 0 0;
  font-weight:400;
}
.ritual-skymap-summary .ar{
  position:absolute;
  right:.85rem;
  top:50%;
  transform:translateY(-50%);
  transition:transform .3s;
}
.ritual-skymap[open] .ritual-skymap-summary .ar{transform:translateY(-50%) rotate(180deg)}
.ritual-skymap .ext-in{
  padding:.5rem 1.15rem 1.35rem !important;
  gap:12px !important;
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
}
@media(max-width:720px){
  .ritual-skymap .ext-in{grid-template-columns:1fr !important}
}
.ritual-skymap-field .ritual-select-wrap{
  display:block;
  width:100%;
  border-radius:12px;
  border:1.5px solid rgba(191,165,122,.28);
  background:var(--cream);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.6);
  overflow:hidden;
  box-sizing:border-box;
}
.ritual-skymap-field .ritual-select-wrap:focus-within{
  border-color:var(--pink);
  box-shadow:0 0 0 3px rgba(180,99,122,.12),inset 0 1px 0 rgba(255,255,255,.6);
  outline:2px solid var(--focus-strong);
  outline-offset:2px;
}
.ritual-skymap-field select{
  display:block;
  width:100%;
  min-height:48px;
  margin:0;
  padding:.55rem .75rem !important;
  border:none !important;
  border-radius:0 !important;
  background:transparent !important;
  background-image:none !important;
  font-family:var(--f) !important;
  font-size:.85rem !important;
  color:var(--td) !important;
  cursor:pointer;
  -webkit-appearance:menulist-button;
  appearance:auto;
  box-sizing:border-box;
}
.ritual-skymap-field select:focus{
  outline:none !important;
}
.ritual-reveal-cta{
  margin-top:1.05rem;
  padding:.82rem .75rem .95rem;
  border-radius:18px;
  background:linear-gradient(180deg,rgba(252,244,238,.88),rgba(248,232,240,.38));
  border:1px solid rgba(180,99,122,.14);
}
.ritual-reveal-prep{
  margin:0 auto .85rem;
  max-width:26rem;
  font-size:.82rem;
  line-height:1.55;
  color:#5d4f52;
  font-style:italic;
}
.ritual-flow-error{
  max-width:min(36rem,100%);
  margin:.65rem auto 0;
  padding:.7rem 1.05rem;
  font-size:.78rem;
  line-height:1.58;
  color:#5c3540;
  text-align:center;
  font-style:italic;
  border-radius:14px;
  background:rgba(180,99,122,.09);
  border:1px solid rgba(180,99,122,.3);
  box-shadow:inset 0 1px 0 rgba(255,252,250,.75);
}
.prev-pay-error{
  margin-top:.85rem;
  margin-bottom:.25rem;
}
#ritual-cat-group.flow-step-invalid{
  outline:2px solid rgba(180,99,122,.32);
  outline-offset:6px;
  border-radius:18px;
  padding-bottom:.2rem;
}
#ritual-chest-block.charm-step-invalid{
  outline:2px solid rgba(180,99,122,.3);
  outline-offset:4px;
  border-radius:20px;
  padding:.25rem;
}
#spread-pick.flow-step-invalid{
  outline:2px solid rgba(180,99,122,.3);
  outline-offset:6px;
  border-radius:18px;
  padding:.35rem;
}
.flow-wrap .rbtn{
  max-width:100% !important;
  width:100%;
  min-height:52px;
  font-size:1.06rem !important;
  padding:.92rem 1.35rem !important;
  border-radius:999px !important;
  box-shadow:0 10px 34px rgba(180,99,122,.24) !important;
}
.flow-wrap .rbtn:focus-visible{
  outline:3px solid #e8c87a;
  outline-offset:3px;
}
.ritual-cardmat.on{
  margin-top:.82rem !important;
  padding:.88rem .42rem 1.02rem !important;
  border-radius:18px !important;
  background:linear-gradient(180deg,rgba(255,255,255,.95),rgba(250,245,238,.9)) !important;
  border:1px solid rgba(184,148,82,.16) !important;
  box-shadow:0 8px 26px rgba(47,39,50,.036) !important;
}
.ritual-cardmat-inner{max-width:var(--reading-max);margin:0 auto;padding:0 .15rem;min-width:0;width:100%;box-sizing:border-box}
.ritual-cardmat .finf{font-size:.86rem !important;margin-bottom:.52rem !important;max-width:26rem;margin-left:auto;margin-right:auto;line-height:1.58 !important}
.ritual-cardmat .fcnt{
  min-height:1.35em;
  font-family:Cinzel,Georgia,serif;
  font-size:.65rem !important;
  letter-spacing:.11em;
  text-transform:uppercase;
  color:#8c475c !important;
  margin-bottom:.65rem !important;
}

/* ═══ Shuffle: atmospheric interlude ═══ */
.shuf{
  position:relative;
  padding:1.65rem .72rem 1.55rem !important;
  overflow:hidden;
}
.shuf-veil{
  position:absolute;
  inset:0;
  background:radial-gradient(ellipse 80% 70% at 50% 40%,rgba(180,99,122,.08),transparent 55%),
    radial-gradient(circle at 20% 80%,rgba(212,168,67,.06),transparent 40%),
    linear-gradient(180deg,rgba(252,248,244,.97),rgba(245,236,230,.94));
  pointer-events:none;
}
.shuf-stage{
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:1rem;
}
.shuf-orbit{
  position:relative;
  width:min(240px,72vw);
  height:min(240px,72vw);
  margin:-.5rem auto .25rem;
  pointer-events:none;
  animation:shufOrbit 18s linear infinite;
}
.shuf-orbit span{
  position:absolute;
  width:3px;
  height:3px;
  border-radius:50%;
  background:rgba(180,99,122,.22);
  box-shadow:0 0 8px rgba(180,99,122,.14);
}
.shuf-orbit span:nth-child(1){top:8%;left:50%;transform:translateX(-50%)}
.shuf-orbit span:nth-child(2){bottom:12%;left:18%}
.shuf-orbit span:nth-child(3){bottom:20%;right:16%;background:rgba(212,168,67,.26);box-shadow:0 0 7px rgba(212,168,67,.12)}
@keyframes shufOrbit{to{transform:rotate(360deg)}}
.shuf-mist{
  position:absolute;
  inset:-20% -10%;
  background:radial-gradient(ellipse 50% 40% at 50% 100%,rgba(255,255,255,.32),transparent 70%);
  pointer-events:none;
  opacity:.48;
  animation:shufMist 3.5s ease-in-out infinite alternate;
}
@keyframes shufMist{0%{opacity:.28;transform:translateY(3px)}100%{opacity:.52;transform:translateY(-3px)}}
.shuf-c{
  position:relative;
  z-index:2;
  flex-wrap:wrap;
  justify-content:center;
  max-width:340px;
  gap:.4rem .35rem !important;
  margin-bottom:.5rem !important;
}
.sc{
  width:28px !important;
  height:44px !important;
  border-radius:5px !important;
  background:linear-gradient(145deg,#4a3038,#2a1a22 48%,#3d2830) !important;
  border:1px solid rgba(212,168,67,.28) !important;
  box-shadow:0 4px 14px rgba(30,14,20,.2),inset 0 1px 0 rgba(255,255,255,.06) !important;
  animation:dan .7s ease-in-out infinite alternate !important;
}
.sc:nth-child(6){animation-delay:.25s}
.sc:nth-child(7){animation-delay:.35s}
.shuf-t{
  position:relative;
  z-index:2;
  font-size:.92rem !important;
  letter-spacing:.02em;
  color:#5d4a52 !important;
  max-width:20rem;
  margin:0 auto;
  line-height:1.5;
}

/* ═══ Card row: sacred spacing & complete moment ═══ */
.ritual-cardmat.on .crow{
  --card-gap:clamp(.58rem,1.65vw,1.05rem) !important;
  margin-bottom:.95rem !important;
  padding:.18rem 0 .32rem;
  transition:filter .8s ease,box-shadow .8s ease;
}
.crow.crow-complete{
  filter:drop-shadow(0 0 22px rgba(180,99,122,.12));
}
.carea-spread-complete .ritual-cardmat-inner{
  animation:careaGlow 1.2s ease forwards;
}
@keyframes careaGlow{
  0%{box-shadow:inset 0 0 0 rgba(180,99,122,0)}
  40%{box-shadow:inset 0 0 50px rgba(180,99,122,.06)}
  100%{box-shadow:inset 0 0 0 rgba(180,99,122,0)}
}
.carea-spread-complete .finf{
  color:#6c3440 !important;
  font-weight:500;
}

/* ═══ Tarot cards: deal-in, flip, backs ═══ */
.tc{
  -webkit-transform-style:preserve-3d;
  transform-style:preserve-3d;
  transition:-webkit-transform .88s cubic-bezier(0.25,0.46,0.2,0.94),transform .88s cubic-bezier(0.25,0.46,0.2,0.94),filter .5s ease !important;
  filter:drop-shadow(0 10px 20px rgba(35,22,28,.1));
  will-change:transform;
}
.tc-deal{
  opacity:0;
  animation:tcDealIn .75s cubic-bezier(0.22,1,0.36,1) forwards;
  animation-delay:calc(var(--deal-i,0)*0.1s);
}
@keyframes tcDealIn{
  from{opacity:0;transform:translateY(20px) scale(0.94)}
  to{opacity:1;transform:translateY(0) scale(1)}
}
.tc.tc-pressing{
  filter:drop-shadow(0 12px 24px rgba(108,52,64,.14));
}
.tc.fl{
  -webkit-animation:none !important;
  animation:none !important;
  opacity:1 !important;
  -webkit-transform:translate3d(0,0,0) rotateY(180deg) !important;
  transform:translate3d(0,0,0) rotateY(180deg) !important;
  filter:drop-shadow(0 14px 28px rgba(108,52,64,.16));
  will-change:auto;
}
.tc:not(.fl):hover{
  filter:drop-shadow(0 12px 26px rgba(108,52,64,.14)) brightness(1.02);
}
.tc:focus-visible{
  outline:2px solid var(--focus-strong);
  outline-offset:4px;
  border-radius:18px;
  z-index:3;
}
.cbk{
  box-shadow:
    0 0 0 1px rgba(212,168,67,.18),
    0 12px 28px rgba(35,22,28,.12) !important;
}
.cbk-media::after{
  content:'';
  position:absolute;
  inset:0;
  border-radius:11px;
  pointer-events:none;
  opacity:.4;
  background-image:
    radial-gradient(1.5px 1.5px at 15% 25%,rgba(255,248,240,.7),transparent),
    radial-gradient(1px 1px at 45% 15%,rgba(255,255,255,.35),transparent),
    radial-gradient(1px 1px at 75% 35%,rgba(212,168,67,.45),transparent),
    radial-gradient(1.5px 1.5px at 85% 65%,rgba(255,255,255,.3),transparent),
    radial-gradient(1px 1px at 25% 80%,rgba(180,99,122,.35),transparent),
    radial-gradient(1px 1px at 60% 88%,rgba(255,255,255,.25),transparent);
  z-index:2;
}
.cft{
  box-shadow:
    0 0 0 1px rgba(255,255,255,.06),
    0 14px 32px rgba(35,22,28,.14) !important;
}
.tc.fl .cft::after{
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.28),
    inset 0 -1px 0 rgba(0,0,0,.06),
    0 0 40px rgba(180,99,122,.08) !important;
}
.cnm{
  letter-spacing:.015em;
}

/* ═══ Preview arrival ═══ */
.prev.prev-arrive{
  animation:prevArrive .75s cubic-bezier(0.22,1,0.36,1) both;
}
#prev.prev.on.prev-arrive{
  animation:prevArrive .78s cubic-bezier(0.22,1,0.36,1) both !important;
}
@keyframes prevArrive{
  from{opacity:0;transform:translateY(16px) scale(0.98)}
  to{opacity:1;transform:translateY(0) scale(1)}
}

/* ═══ Reading text (preview / full) ═══ */
.demo .rw,
#rc.rw{
  border-radius:22px !important;
  padding:clamp(1.5rem,4vw,2.25rem) clamp(1.15rem,3vw,1.85rem) !important;
  background:linear-gradient(175deg,#fffefb 0%,#faf5ee 48%,#fff9f5 100%) !important;
  border:1px solid rgba(184,148,82,.22) !important;
  box-shadow:0 20px 50px rgba(47,39,50,.07),inset 0 1px 0 rgba(255,255,255,.85) !important;
}
.demo .rw>h3,
#rc.rw>h3{
  font-size:clamp(1.15rem,3.5vw,1.45rem) !important;
  letter-spacing:-.02em;
  margin-bottom:.75rem !important;
}
.demo .rw .cit,
#rc.rw .cit{
  font-size:.93rem !important;
  line-height:1.78 !important;
  color:#4a3f45 !important;
}
.demo .rw .clos,
#rc.rw .clos{
  border-radius:14px !important;
  padding:1rem 1.05rem !important;
  background:linear-gradient(180deg,rgba(255,252,248,.95),rgba(248,238,232,.9)) !important;
  border-left-width:3px !important;
}
.demo .rw .cin,
#rc.rw .cin{font-size:1.02rem !important}
.demo-note{margin-top:1.1rem !important;line-height:1.55 !important}

@media(max-width:480px){
  .trk{max-width:72px;height:72px !important}
  .tcloud{grid-template-columns:repeat(auto-fill,minmax(68px,1fr)) !important}
  .shuf-orbit{width:200px;height:200px}
  .sc{width:24px !important;height:40px !important}
}

/* ═══ Mobile: nav ergonomics, section rhythm, soft reading CTA ═══ */
.mobile-soft-cta{
  position:fixed;
  left:50%;
  bottom:max(.85rem, env(safe-area-inset-bottom));
  transform:translate3d(-50%,calc(100% + 28px),0);
  z-index:18;
  padding:.62rem 1.45rem;
  min-height:48px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-family:var(--f);
  font-size:.68rem;
  font-weight:600;
  letter-spacing:.11em;
  text-transform:uppercase;
  border-radius:100px;
  color:#fff;
  text-decoration:none;
  background:linear-gradient(135deg,#8c475c,#b4637a);
  border:1px solid rgba(255,255,255,.2);
  box-shadow:0 12px 32px rgba(108,52,64,.3),0 0 0 1px rgba(0,0,0,.06) inset;
  opacity:0;
  pointer-events:none;
  visibility:hidden;
  transition:transform .4s cubic-bezier(.22,1,.36,1),opacity .32s ease,visibility 0s linear .35s;
}
.mobile-soft-cta.is-visible{
  transform:translate3d(-50%,0,0);
  opacity:1;
  pointer-events:auto;
  visibility:visible;
  transition:transform .4s cubic-bezier(.22,1,.36,1),opacity .32s ease,visibility 0s;
}
@media(min-width:721px){
  .mobile-soft-cta{display:none !important}
}
@media(prefers-reduced-motion:reduce){
  .mobile-soft-cta{transition:none}
}
@media(max-width:720px){
  .hero{padding-bottom:2.15rem !important}
  .hero-next{
    margin-top:1.4rem !important;
    padding-top:1.35rem;
    border-top:1px solid rgba(184,148,82,.2);
  }
  .path-grid{
    margin-top:1.55rem !important;
    gap:1.05rem !important;
  }
  section.guide{
    margin-top:1.35rem !important;
    padding-top:1.55rem !important;
    padding-bottom:1.85rem !important;
    border-top:1px solid rgba(184,148,82,.1);
  }
  .guide-shell{
    padding:1.35rem 1.05rem !important;
  }
  .guide-head{
    margin-bottom:1.05rem !important;
  }
  .guide-grid{
    gap:.82rem !important;
  }
  .flow-wrap{
    margin-top:1.05rem !important;
    padding:1.05rem .55rem 1.55rem !important;
    border-top:1px solid rgba(184,148,82,.14);
  }
  .studio-below{
    margin-top:2rem !important;
    padding-top:1.25rem !important;
    border-top:1px solid rgba(184,148,82,.09);
    opacity:.88;
  }
  .wrap .tnav .tnav-in{
    gap:.5rem !important;
    padding-bottom:.6rem !important;
  }
  .wrap .tnav .tnav-links{
    flex-wrap:nowrap !important;
    justify-content:flex-start !important;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior-x:contain;
    gap:.42rem !important;
    padding:.48rem .35rem .52rem !important;
    margin:0 -.3rem;
    border-top:1px solid rgba(184,148,82,.22) !important;
    scrollbar-width:none;
  }
  .wrap .tnav .tnav-links::-webkit-scrollbar{display:none}
  .wrap .tnav .tnav-links a{
    flex:0 0 auto;
    min-height:44px;
    display:inline-flex !important;
    align-items:center !important;
    box-sizing:border-box;
    padding:.42rem .72rem !important;
    border-radius:100px !important;
    background:rgba(255,252,248,.94) !important;
    border:1px solid rgba(184,148,82,.3) !important;
    font-family:var(--f,'Manrope',sans-serif) !important;
    font-size:.57rem !important;
    letter-spacing:.11em !important;
    text-transform:uppercase !important;
    color:var(--final-muted,#5d5362) !important;
  }
  .wrap .tnav .tnav-links a:hover,
  .wrap .tnav .tnav-links a:focus-visible{
    color:var(--final-rose,#b4637a) !important;
    border-color:rgba(180,99,122,.38) !important;
    background:#fff !important;
  }
}

/* ═══ Password gate — reading room threshold ═══ */
.pw-gate{
  position:fixed;
  inset:0;
  z-index:9999;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:
    max(1.35rem, env(safe-area-inset-top, 0px))
    max(1.15rem, env(safe-area-inset-right, 0px))
    max(1.35rem, env(safe-area-inset-bottom, 0px))
    max(1.15rem, env(safe-area-inset-left, 0px));
  font-family:var(--f,'Manrope',sans-serif);
  color:var(--td);
}
.pw-gate__veil{
  position:absolute;
  inset:0;
  background:
    radial-gradient(ellipse 90% 55% at 50% -15%, rgba(232,89,139,.11), transparent 52%),
    radial-gradient(circle at 18% 78%, rgba(191,165,122,.1), transparent 42%),
    radial-gradient(circle at 88% 40%, rgba(213,164,179,.08), transparent 38%),
    linear-gradient(168deg, #fff9fc 0%, #f7eef2 45%, #faf7f8 100%);
  pointer-events:none;
}
.pw-gate__panel{
  position:relative;
  width:100%;
  max-width:22.5rem;
  margin:0 auto;
  padding:clamp(1.75rem, 5vw, 2.35rem) clamp(1.35rem, 4vw, 1.85rem) clamp(1.5rem, 4vw, 1.95rem);
  border-radius:clamp(22px, 5vw, 30px);
  background:linear-gradient(168deg, rgba(255,252,250,.98), rgba(248,240,244,.96));
  border:1px solid rgba(184,148,82,.32);
  box-shadow:
    0 32px 90px rgba(47,39,50,.11),
    0 12px 40px rgba(180,99,122,.06),
    inset 0 1px 0 rgba(255,255,255,.9);
  text-align:center;
}
.pw-gate__panel::before{
  content:'';
  position:absolute;
  inset:10px;
  border-radius:20px;
  border:1px solid rgba(184,148,82,.14);
  pointer-events:none;
}
.pw-gate__eyebrow{
  font-family:var(--f);
  font-size:.62rem;
  letter-spacing:.26em;
  text-transform:uppercase;
  color:var(--pink);
  font-weight:700;
  margin:0 0 .85rem;
}
.pw-gate__brand{
  font-family:var(--fb,'Cormorant Garamond',Georgia,serif);
  font-size:clamp(2rem, 7vw, 2.55rem);
  font-weight:400;
  color:var(--pink);
  line-height:1.05;
  letter-spacing:-.03em;
  margin:0 0 .9rem;
}
p.pw-gate__brand{margin-bottom:.9rem}
.pw-gate__brand .pw-gate__to{font-size:.55em;color:var(--ts)}
.pw-gate__brand .pw-gate__num{font-size:.65em;color:var(--pk-lt)}
.pw-gate__lead{
  font-family:var(--fd,'Cormorant Garamond',Georgia,serif);
  font-size:.95rem;
  line-height:1.62;
  color:var(--tm);
  margin:0 0 1.35rem;
  max-width:19rem;
  margin-left:auto;
  margin-right:auto;
}
.pw-gate__form{margin:0;padding:0;border:0}
.pw-gate__label{
  display:block;
  font-size:.58rem;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--ts);
  font-weight:700;
  margin:0 0 .45rem;
  text-align:center;
}
.pw-gate__field-wrap{
  position:relative;
  margin:0 0 .5rem;
}
.pw-gate__input{
  width:100%;
  box-sizing:border-box;
  padding:.88rem 1.15rem;
  border:1.5px solid rgba(214,196,206,.65);
  border-radius:100px;
  font-family:inherit;
  font-size:.92rem;
  text-align:center;
  color:var(--td);
  background:rgba(255,255,255,.92);
  outline:none;
  transition:border-color .25s ease, box-shadow .25s ease, background .25s ease;
}
.pw-gate__input::placeholder{
  color:var(--tmu);
  font-style:italic;
  letter-spacing:.02em;
}
.pw-gate__input:hover{border-color:rgba(180,99,122,.28)}
.pw-gate__input:focus{
  border-color:rgba(180,99,122,.55);
  box-shadow:0 0 0 3px rgba(180,99,122,.12);
  background:#fff;
  outline:2px solid var(--focus-strong);
  outline-offset:2px;
}
.pw-gate__field-wrap--error .pw-gate__input,
.pw-gate__input.pw-gate__input--error{
  border-color:rgba(180,99,122,.5);
  background:rgba(255,250,252,.98);
  box-shadow:0 0 0 3px rgba(180,99,122,.1);
}
.pw-gate__hint{
  font-size:.68rem;
  line-height:1.55;
  color:var(--tmu);
  margin:0 0 1.15rem;
  font-style:italic;
  max-width:18rem;
  margin-left:auto;
  margin-right:auto;
}
.pw-gate__submit{
  display:block;
  width:100%;
  margin:0;
  padding:.88rem 1.25rem;
  border:none;
  border-radius:100px;
  font-family:var(--fd,'Cormorant Garamond',Georgia,serif);
  font-size:1.05rem;
  font-weight:600;
  letter-spacing:.02em;
  color:#fffefb;
  cursor:pointer;
  background:linear-gradient(145deg, #c4788f, #8c475c 52%, #6c3440);
  border:1px solid rgba(240,215,157,.35);
  box-shadow:0 14px 32px rgba(108,52,64,.22), inset 0 1px 0 rgba(255,255,255,.12);
  transition:transform .2s ease, box-shadow .2s ease, filter .2s ease;
}
.pw-gate__submit:hover{
  transform:translateY(-1px);
  filter:brightness(1.03);
  box-shadow:0 18px 38px rgba(108,52,64,.26), inset 0 1px 0 rgba(255,255,255,.14);
}
.pw-gate__submit:focus-visible{
  outline:2px solid var(--gold);
  outline-offset:3px;
}
.pw-gate__submit:active{transform:translateY(0)}
.pw-gate__err{
  min-height:1.35rem;
  margin:.65rem 0 0;
  font-size:.72rem;
  line-height:1.45;
  color:#9a5c6e;
  opacity:0;
  transform:translateY(-4px);
  transition:opacity .35s ease, transform .35s ease;
  pointer-events:none;
}
.pw-gate__err.pw-gate__err--visible{
  opacity:1;
  transform:translateY(0);
}
.pw-gate__contact{
  margin:1.25rem 0 0;
  padding-top:1.1rem;
  border-top:1px solid rgba(184,148,82,.18);
  font-size:.68rem;
  color:var(--ts);
  line-height:1.5;
}
.pw-gate__contact a{
  color:var(--pink);
  text-decoration:underline;
  text-underline-offset:3px;
  font-weight:600;
}
.pw-gate__contact a:hover{color:var(--pk-hot)}
@media(max-width:380px){
  .pw-gate__panel{padding-left:1.15rem;padding-right:1.15rem}
  .pw-gate__lead{font-size:.9rem}
}

/* ═══ Layout polish: hierarchy, reading focus, rhythm (premium pass) ═══ */
.hero-shell{position:relative}
.hero-lede{
  max-width:min(40ch, 94vw) !important;
  line-height:1.14 !important;
  font-size:clamp(1.32rem, 4vw, 2rem) !important;
  letter-spacing:-.02em;
  font-weight:500;
}
.hero-copy .qt{
  max-width:min(32rem, 94vw) !important;
  font-size:clamp(.94rem, 2.6vw, 1.06rem) !important;
  line-height:1.62 !important;
  margin-top:1.1rem !important;
  font-family:var(--fd,'Cormorant Garamond',Georgia,serif);
  font-style:italic;
  color:var(--ink-muted,#5d5362) !important;
}
.hero-actions{
  flex-direction:column;
  align-items:center;
  gap:.65rem !important;
}
@media(min-width:520px){
  .hero-actions{
    flex-direction:row;
    flex-wrap:wrap;
    justify-content:center;
  }
}
.hero-restore-link{
  font-size:.78rem !important;
  letter-spacing:.06em !important;
}
.hero-secondary{
  width:100%;
  max-width:min(1100px, 100%);
  margin:0 auto;
  padding:0 1.1rem 2.1rem;
  box-sizing:border-box;
}
.hero-next{
  margin-left:auto !important;
  margin-right:auto !important;
}
.path-chooser{
  margin-top:1.45rem;
  padding-top:1.15rem;
  border-top:1px solid rgba(184,148,82,.18);
}
.path-chooser-intro{
  text-align:center;
  font-family:var(--orn,'Cinzel',Georgia,serif);
  font-size:.62rem;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--wine-deep,#7a4350);
  margin:0;
  line-height:1.4;
}
.path-chooser-sub{
  text-align:center;
  font-size:.78rem;
  line-height:1.5;
  color:#75686e;
  margin:.45rem auto 0;
  max-width:26rem;
  font-style:italic;
}
.path-grid{
  margin-top:.95rem !important;
}
.path-card{
  box-shadow:0 10px 26px rgba(47,39,50,.07) !important;
  border-color:rgba(184,148,82,.22) !important;
}
.path-card strong{
  font-size:1.02rem !important;
  line-height:1.18 !important;
}
.path-card p{
  font-size:.78rem !important;
  line-height:1.5 !important;
  margin:.45rem 0 .6rem !important;
}
.guide-head-tagline{
  font-style:italic;
  opacity:.95;
}
@media(max-width:720px){
  .guide-head{
    flex-direction:column;
    align-items:flex-start;
    gap:.5rem;
  }
  .guide-head-tagline{
    max-width:none;
    font-size:.88rem !important;
  }
}
section.guide{
  margin-top:1.95rem !important;
  padding-left:.5rem;
  padding-right:.5rem;
}
.guide-shell{
  box-shadow:0 8px 26px rgba(47,39,50,.045) !important;
  border-color:rgba(184,148,82,.16) !important;
}
.guide-head{
  margin-bottom:1.12rem !important;
}
.guide-grid{
  gap:.92rem !important;
}
.guide-card{
  padding:.95rem .88rem !important;
  border-color:rgba(184,148,82,.13) !important;
  box-shadow:0 4px 14px rgba(47,39,50,.028) !important;
}
.flow-wrap{
  margin-top:1.2rem !important;
  padding:1.2rem .85rem 1.85rem !important;
  border-radius:0 0 28px 28px;
  background:
    radial-gradient(ellipse 78% 48% at 50% 0%, rgba(180,99,122,.075), transparent 58%),
    linear-gradient(180deg, rgba(255,252,250,.998), rgba(251,247,242,.88) 38%, rgba(251,247,242,.32) 100%);
  border:1px solid rgba(184,148,82,.16);
  border-top:1px solid rgba(184,148,82,.09);
  box-shadow:0 12px 38px rgba(47,39,50,.034);
  box-sizing:border-box;
}
.flow-progress{
  border-radius:0 0 14px 14px;
  margin-left:auto !important;
  margin-right:auto !important;
  max-width:min(900px, calc(100% - .5rem));
  box-shadow:0 5px 18px rgba(47,39,50,.038) !important;
}
.qsection.ritual-step,
.chsec.ritual-step,
.spsec.ritual-step{
  margin-top:1.32rem !important;
}
.ritual-panel{
  padding:1.12rem .92rem 1.22rem !important;
  box-shadow:0 10px 30px rgba(47,39,50,.042) !important;
}
.ritual-reveal-cta{
  margin-top:.95rem;
  padding-top:.72rem;
  border-top:1px solid rgba(184,148,82,.1);
}
.ritual-reveal-prep{
  max-width:28rem;
  margin-left:auto;
  margin-right:auto;
}
.studio-below{
  margin-top:2.5rem !important;
  padding-top:1.45rem !important;
  opacity:.9;
}
.studio-divider-caption{
  letter-spacing:.2em !important;
  font-size:.56rem !important;
  color:#928690 !important;
}
.studio-inperson-lede{
  max-width:38rem;
  margin-left:auto;
  margin-right:auto;
}
/* Mobile ritual polish — breakpoint must match script const H2H_VIEWPORT_NARROW_MAX (main <script> top). */
@media(max-width:720px){
  .hero-copy{
    padding:1.35rem 1rem 1.05rem !important;
  }
  .hero-secondary{
    padding:0 .85rem 1.65rem;
  }
  .hero-stage{
    min-height:clamp(288px, 58vw, 380px) !important;
  }
  .path-grid{
    grid-template-columns:1fr !important;
    gap:.85rem !important;
  }
  .path-card{
    padding:.82rem .92rem !important;
    text-align:left !important;
  }
  .flow-wrap{
    border-radius:0 0 22px 22px;
  }
  :root{
    --anchor-pad:calc(5.45rem + env(safe-area-inset-top,0px));
    --flow-sticky-top:calc(5.78rem + env(safe-area-inset-top,0px));
  }
  .chsec.sr.ritual-step:not(.v),
  .spsec.sr.ritual-step:not(.v){
    opacity:0 !important;
    transform:translateY(12px) !important;
    pointer-events:none !important;
    transition:opacity .44s cubic-bezier(.22,1,.36,1),transform .44s cubic-bezier(.22,1,.36,1) !important;
  }
  .chsec.sr.ritual-step.v,
  .spsec.sr.ritual-step.v{
    opacity:1 !important;
    transform:none !important;
    pointer-events:auto !important;
  }
  /* Sticky nav + flow progress: extra scroll-margin so in-page scroll/anchors clear chrome */
  #reading-flow{
    scroll-margin-top:calc(var(--anchor-pad) + .55rem);
  }
  #reading-flow .ritual-step,
  #carea.carea.on,
  #prev.prev.on,
  #frd.frd.on,
  #demo.demo.on{
    scroll-margin-top:calc(var(--anchor-pad) + .55rem);
  }
  .flow-progress{
    padding-bottom:max(.5rem,env(safe-area-inset-bottom,0px)) !important;
  }
  .flow-wrap .pbar{
    padding-bottom:.18rem;
  }
  .qsection.ritual-step,
  .chsec.ritual-step,
  .spsec.ritual-step{
    margin-top:.88rem !important;
  }
  .ritual-panel{
    padding:1rem .62rem 1.08rem !important;
  }
  .ritual-field{
    margin:.65rem 0 !important;
    padding:.65rem .5rem .7rem !important;
  }
  .ritual-reveal-cta{
    margin-top:.82rem !important;
    padding-top:.68rem !important;
  }
  .ritual-cardmat.on{
    padding:.75rem .32rem .92rem !important;
    margin-top:.72rem !important;
  }
  .ritual-cardmat.on .ritual-cardmat-inner{
    padding-left:.22rem;
    padding-right:.22rem;
  }
  .ritual-cardmat.on .finf{
    font-size:.8rem !important;
    margin-bottom:.42rem !important;
    max-width:24rem !important;
  }
  .ritual-cardmat.on .fcnt{
    margin-bottom:.62rem !important;
  }
  .spsec .shuf.on{
    min-height:min(228px,42svh);
    box-sizing:border-box;
    padding-bottom:.35rem;
  }
  .qcat{
    min-height:52px !important;
    padding:.78rem .88rem !important;
  }
  .sp{
    min-height:60px !important;
    padding-top:.92rem !important;
    padding-bottom:.92rem !important;
  }
  .trk{
    min-width:56px !important;
    min-height:56px !important;
  }
  .ppb.ppb-unlock{
    min-height:56px !important;
    padding-top:.95rem !important;
    padding-bottom:.95rem !important;
  }
  .pw-gate__panel{
    max-height:min(86dvh,38rem);
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior:contain;
    padding-bottom:max(1.35rem,calc(1rem + env(safe-area-inset-bottom,0px)));
  }
  .qcat:active,.sp:active{
    transform:scale(.987);
    transition:transform .1s ease;
  }
  #frd.frd.on .rw{
    padding:clamp(1.12rem,3.6vw,1.75rem) clamp(.88rem,3vw,1.45rem) !important;
  }
  .prev.on{
    padding:1.28rem .92rem !important;
    margin-top:.62rem !important;
  }
  #rc.rw,
  .demo .rw{
    padding:clamp(1.05rem,3.2vw,1.45rem) clamp(.82rem,2.6vw,1.35rem) !important;
  }
}
@media(max-width:720px) and (prefers-reduced-motion:reduce){
  .chsec.sr.ritual-step:not(.v),
  .spsec.sr.ritual-step:not(.v),
  .chsec.sr.ritual-step.v,
  .spsec.sr.ritual-step.v{
    transition:none !important;
  }
}

/* END-OF-CASCADE: theme bundles (mid-file) use !important to paint .qsection/.chsec/.spsec like .isec.
   These selectors win for #reading-flow only—keep this block LAST among ritual-related overrides
   or heavy theme shells will stack again on reading steps. */
#reading-flow > section.qsection.ritual-step,
#reading-flow > section.chsec.ritual-step,
#reading-flow > section.spsec.ritual-step{
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  border-radius:0 !important;
  padding:.5rem .35rem !important;
  margin-top:.82rem !important;
}
#reading-flow > section.qsection.ritual-step::before,
#reading-flow > section.chsec.ritual-step::before,
#reading-flow > section.spsec.ritual-step::before{
  content:none !important;
  display:none !important;
}
@media(max-width:720px){
  #reading-flow > section.qsection.ritual-step,
  #reading-flow > section.chsec.ritual-step,
  #reading-flow > section.spsec.ritual-step{
    padding:.32rem .12rem !important;
    margin-top:.72rem !important;
  }
}
