*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:4.5rem}
body{background:#faf3e6;color:#4a3622;font-family:Georgia,"Times New Roman",serif;line-height:1.7}
a{color:inherit;text-decoration:none}
.nav{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;background:rgba(250,243,230,.94);backdrop-filter:blur(6px);border-bottom:1px solid #e6d3b0}
.brand{letter-spacing:.2em;text-transform:uppercase;font-size:1rem}
nav{display:flex;gap:1.6rem;font-family:"Helvetica Neue",Arial,sans-serif;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:#7a5c3a}
nav a:hover{color:#3a2a1a}
#menu,.burger{display:none}
.hero{min-height:88vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:3rem 1.25rem;background:radial-gradient(ellipse at 50% 40%,#fdf8ee 0%,#f3e6cf 65%,#e6d3b0 100%)}
.enso{width:min(48vw,180px);color:#3a2a1a;opacity:.88;margin-bottom:2rem;animation:fade 1.6s ease-out both}
h1{font-weight:400;font-size:clamp(2.6rem,9vw,4.4rem);letter-spacing:.14em;text-transform:uppercase}
.tagline{margin-top:.8rem;font-size:clamp(1.05rem,3.6vw,1.3rem);color:#7a5c3a;font-style:italic}
.btn{margin-top:2.2rem;display:inline-block;padding:.75rem 2rem;border:1px solid #4a3622;border-radius:999px;font-family:"Helvetica Neue",Arial,sans-serif;font-size:.75rem;letter-spacing:.25em;text-transform:uppercase;transition:.3s}
.btn:hover{background:#4a3622;color:#faf3e6}
.block{padding:5rem 1.5rem;text-align:center}
.block>p{max-width:36rem;margin:0 auto;font-size:1.1rem;color:#5e4a35}
.alt{background:#f3e6cf}
h2{font-weight:400;font-size:clamp(1.7rem,5vw,2.3rem);letter-spacing:.1em}
.rule{width:48px;height:1px;background:#b08d5c;margin:1.2rem auto 1.6rem}
.note{font-style:italic;margin-bottom:2.5rem!important}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1.5rem;max-width:58rem;margin:0 auto}
.card{background:#fdf8ef;border:1px solid #e8d5b2;border-radius:14px;padding:1.4rem;position:relative}
.art{height:130px;border-radius:10px;margin-bottom:1rem}
.a1{background:radial-gradient(circle at 35% 40%,#d9cfe0 0,#bfb2c9 30%,transparent 31%),radial-gradient(circle at 65% 60%,#cfdcd6 0,#aebfb6 26%,transparent 27%),#e7e0d5}
.a2{background:linear-gradient(100deg,transparent 30%,#d7cbb8 30%,#d7cbb8 50%,transparent 50%),linear-gradient(80deg,transparent 45%,#c4b49c 45%,#c4b49c 65%,transparent 65%),#e7e0d5}
.a3{background:radial-gradient(circle at 50% 55%,transparent 28px,#b8ab98 29px,#b8ab98 33px,transparent 34px),radial-gradient(circle at 50% 55%,#cfc4b3 0,#cfc4b3 10px,transparent 11px),#e7e0d5}
.tag{position:absolute;top:1.9rem;left:1.9rem;font-family:"Helvetica Neue",Arial,sans-serif;font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;background:rgba(248,244,238,.9);padding:.2rem .55rem;border-radius:999px;color:#7a5c3a}
h3{font-weight:400;font-size:1.25rem;letter-spacing:.05em}
.soon{font-family:"Helvetica Neue",Arial,sans-serif;font-size:.72rem;letter-spacing:.25em;text-transform:uppercase;color:#a07a45;margin-top:.3rem}
footer{padding:2rem;text-align:center;font-family:"Helvetica Neue",Arial,sans-serif;font-size:.72rem;letter-spacing:.2em;color:#b08d5c;border-top:1px solid #e6d3b0}
@keyframes fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media (max-width:760px){
  .burger{display:flex;flex-direction:column;gap:5px;cursor:pointer;padding:6px}
  .burger span{width:22px;height:1.5px;background:#4a3622}
  nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:0;background:#faf3e6;border-bottom:1px solid #e6d3b0}
  nav a{padding:1rem 1.5rem;border-top:1px solid #f3e6cf}
  #menu:checked~nav{display:flex}
  .block{padding:3.5rem 1.25rem}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.enso{animation:none}}
.alt2{background:#faf3e6}
.rgrid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.rcard{background:#f3e6cf;border:1px solid #e8d5b2;border-radius:14px;padding:1.5rem 1.4rem;text-align:left}
.rcard h3{margin:.7rem 0 .4rem}
.rcard p{font-size:.98rem;color:#5e4a35;line-height:1.6}
.tag2{font-family:"Helvetica Neue",Arial,sans-serif;font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;background:#fdf8ef;padding:.2rem .6rem;border-radius:999px;color:#7a5c3a}
.bform{max-width:30rem;margin:0 auto;display:flex;flex-direction:column;gap:1rem;text-align:left}
.bform label{display:flex;flex-direction:column;gap:.35rem;font-family:"Helvetica Neue",Arial,sans-serif;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:#7a5c3a}
.bform input,.bform select,.bform textarea{font:inherit;font-family:Georgia,serif;font-size:1rem;letter-spacing:0;text-transform:none;color:#4a3622;background:#fdf8ef;border:1px solid #dcc398;border-radius:10px;padding:.7rem .8rem;width:100%}
.bform input:focus,.bform select:focus,.bform textarea:focus{outline:none;border-color:#a07a45}
.bform .btn{align-self:center;background:none;cursor:pointer;color:#4a3622}
.bform .btn:hover{background:#4a3622;color:#faf3e6}
.fmsg{text-align:center;font-style:italic;color:#5e4a35}
.role{margin-top:.6rem;font-family:"Helvetica Neue",Arial,sans-serif;font-size:.8rem;letter-spacing:.4em;text-transform:uppercase;color:#a07a45}
.ccard{background:#fdf8ef}
.ccard .soon{margin-top:.9rem;color:#a07a45;font-size:.68rem}
.tag2.real{background:#4a3622;color:#faf3e6}
.treat{max-width:30rem;margin:2.5rem auto 0;padding:1.8rem 1.4rem;border:1px solid #e8d5b2;border-radius:14px;background:#f3e6cf}
.treat h3{margin-bottom:.4rem}

.brand{display:flex;align-items:center;gap:.6rem}
.enso-mark{width:22px;height:22px;color:#b8862f}
.hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:auto;padding:0;background:linear-gradient(135deg,#fbf2df 0%,#f1dfbd 100%);text-align:left;align-items:stretch}
.hero-img{position:relative;min-height:560px;max-height:88vh;overflow:hidden}
.hero-img img{width:100%;height:100%;object-fit:cover;object-position:center 40%;display:block}
.hero-img::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(60,38,10,0) 70%,rgba(241,223,189,.55) 100%)}
.hero-text{display:flex;flex-direction:column;justify-content:center;padding:4rem 3.5rem;animation:fade 1.6s ease-out both}
.hero h1{color:#3a2a1a}
.hero .role{color:#a0702a}
.hero .tagline{margin-top:1rem}
.btns{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2.2rem}
.btns .btn{margin-top:0}
.btn.solid{background:#b8862f;border-color:#b8862f;color:#fffaf0}
.btn.solid:hover{background:#94691f;border-color:#94691f}
.rule{background:#c9a063}
@media (max-width:760px){
  .hero{grid-template-columns:1fr;text-align:center}
  .hero-img{min-height:0;max-height:none;aspect-ratio:4/5}
  .hero-img::after{background:linear-gradient(180deg,rgba(60,38,10,0) 75%,rgba(251,242,223,.7) 100%)}
  .hero-text{padding:2.5rem 1.5rem 3.5rem;align-items:center}
  .btns{justify-content:center}
}
.treatwrap{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:2rem;max-width:60rem;margin:2.5rem auto 0;text-align:left;align-items:start}
.treatlist{background:#f3e6cf;border:1px solid #e8d5b2;border-radius:14px;padding:1.8rem 1.6rem}
.thead{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap;margin-bottom:1.2rem}
.tlist{list-style:none;display:flex;flex-direction:column;gap:.8rem}
.tcard{display:flex;gap:1rem;background:#fdf8ef;border:1px solid #e8d5b2;border-radius:12px;padding:1rem 1.1rem}
.num{flex:none;width:2rem;height:2rem;border-radius:50%;background:#b8862f;color:#fffaf0;display:flex;align-items:center;justify-content:center;font-family:"Helvetica Neue",Arial,sans-serif;font-size:.85rem}
.tcard h4{font-weight:400;font-size:1.12rem;letter-spacing:.03em;color:#3a2a1a}
.tcard p{font-size:.96rem;color:#5e4a35;line-height:1.55}
.tcard-img{align-items:flex-start}
.tcard-img>div{flex:1;min-width:0}
.tmeta{margin-top:.45rem;font-family:"Helvetica Neue",Arial,sans-serif;font-size:.78rem!important;letter-spacing:.16em;text-transform:uppercase;color:#7a5c3a!important}
.tthumb{flex:none;width:76px;display:flex;flex-direction:column;align-items:center;gap:.3rem;text-decoration:none;cursor:zoom-in}
.tthumb img{display:block;width:100%;height:auto;border-radius:8px;border:1px solid #e8d5b2;box-shadow:0 4px 12px rgba(74,54,34,.18);transition:transform .2s}
.tthumb:hover img{transform:translateY(-2px)}
.tthumb span{font-family:"Helvetica Neue",Arial,sans-serif;font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:#7a5c3a;text-decoration:underline;text-underline-offset:2px}
.tthumb:focus-visible{outline:2px solid #b8862f;outline-offset:3px;border-radius:8px}
@media (min-width:700px){.tthumb{width:92px}}
@media (max-width:560px){.tcard-img{flex-wrap:wrap}.tthumb{flex-direction:row;width:auto;margin-left:3rem;gap:.7rem}.tthumb img{width:64px}}
.tcommon{margin-top:1.3rem;text-align:center;font-family:"Helvetica Neue",Arial,sans-serif;font-size:.8rem;letter-spacing:.2em;text-transform:uppercase;color:#7a5c3a}
.poster{margin:0}
.poster img{width:100%;height:auto;border-radius:14px;display:block;box-shadow:0 10px 30px rgba(74,54,34,.15)}
.mbs{margin-top:.5rem;font-style:italic;color:#7a5c3a;letter-spacing:.12em}
.fline{font-family:Georgia,serif;font-size:1rem;letter-spacing:.2em;color:#7a5c3a;margin-bottom:.5rem;font-style:italic}
@media (max-width:760px){.treatwrap{grid-template-columns:1fr}.poster{max-width:24rem;margin:0 auto}}
.cgrid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:760px){.cgrid{grid-template-columns:1fr}}
.treatwrap{grid-template-columns:minmax(0,1fr);max-width:40rem}
/* Angel section: soft lavender/white accent */
.block.angel{background:linear-gradient(180deg,#fbf8ff 0%,#f1eaf8 100%);border-top:1px solid #e4d8f0}
.angel h2{color:#4b3470}
.angel .rule{background:#b8862f}
.angelwrap{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:2.5rem;align-items:center;max-width:62rem;margin:2rem auto 0;text-align:left}
.aintro{font-style:italic;font-size:1.15rem;color:#4b3470}
.alist{list-style:none;padding:0;margin:1.2rem 0}
.alist li{padding:.55rem .9rem;margin:.4rem 0;background:#fff;border:1px solid #e4d8f0;border-radius:10px;color:#4a3622}
.alist li::before{content:"\2661";color:#b8862f;margin-right:.6rem}
.aprice{font-size:1.1rem;color:#4a3622;background:#fff;border:1px solid #d9c28f;border-radius:10px;padding:.7rem 1rem;display:inline-block}
.aside{color:#6a5590;font-style:italic;margin:.5rem 0}
.aloc{font-size:.8rem;letter-spacing:.15em;text-transform:uppercase;color:#b8862f;margin:1rem 0 1.4rem}
.angelimg{margin:0}
.angelimg img{width:100%;height:auto;border-radius:14px;box-shadow:0 10px 30px rgba(75,52,112,.18);display:block}
@media (max-width:760px){.angelwrap{grid-template-columns:1fr;gap:1.5rem}.angelimg{max-width:26rem;margin:0 auto}}
.addr{font-size:1.15rem;color:#4a3622;margin-bottom:.3rem}
.maplink{color:#b8862f;font-size:.9rem;text-decoration:underline;text-underline-offset:3px}
/* Heart section: soft pink accent */
.block.heart{background:linear-gradient(180deg,#fff8f8 0%,#f9e6ea 100%);border-top:1px solid #f0d3da}
.heart h2,.heart .aintro{color:#8a3a5a}
.heart .alist li{border-color:#f0d3da}
.heart .angelimg img{box-shadow:0 10px 30px rgba(138,58,90,.18)}
.heart .aside{color:#9a5a72}
/* Crystal sub-tabs */
.subtabs{display:flex;justify-content:center;gap:.5rem;margin:1.5rem 0 1.2rem;flex-wrap:wrap}
.subtabs button{font:inherit;font-size:.95rem;padding:.55rem 1.2rem;border-radius:999px;border:1px solid #d9c28f;background:#fff;color:#4a3622;cursor:pointer}
.subtabs button[aria-selected="true"]{background:#b8862f;border-color:#b8862f;color:#fff}
.subtabs button:focus-visible{outline:2px solid #4b3470;outline-offset:2px}
.lotuswrap{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:2.5rem;align-items:start;max-width:62rem;margin:0 auto;text-align:left}
.lotustext h3{font-size:1.5rem;margin:0 0 .6rem;color:#6a3a6e}
.lotustext h4{margin:1.2rem 0 .6rem;letter-spacing:.12em;text-transform:uppercase;font-size:.85rem;color:#b8862f}
.lintro{font-style:italic;color:#6a3a6e}
.llist{padding-left:1.2rem;margin:.6rem 0 1rem}.llist li{margin:.25rem 0}
.journey{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem;margin-bottom:1rem}
.journey div{background:#fff;border:1px solid #ead9ee;border-radius:10px;padding:.6rem;text-align:center}
.journey strong{display:block;color:#6a3a6e}.journey span{font-size:.82rem}
.lclose{font-style:italic;color:#6a3a6e;margin-top:1rem}
@media (max-width:760px){.lotuswrap{grid-template-columns:1fr}.lotuswrap .angelimg{max-width:26rem;margin:0 auto}}
/* Chat */
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.zchat-btn{position:fixed;right:18px;bottom:18px;z-index:60;background:#b8862f;color:#fff;border:0;border-radius:999px;padding:.8rem 1.2rem;font:inherit;font-weight:600;box-shadow:0 6px 20px rgba(74,54,34,.3);cursor:pointer}
.zchat-btn:focus-visible,.zchat button:focus-visible,.zchat input:focus-visible{outline:2px solid #4a3622;outline-offset:2px}
.zchat{position:fixed;right:18px;bottom:80px;z-index:61;width:min(360px,calc(100vw - 24px));height:min(520px,calc(100vh - 110px));background:#fffaf2;border:1px solid #d9c28f;border-radius:16px;box-shadow:0 14px 40px rgba(74,54,34,.28);display:flex;flex-direction:column;overflow:hidden}
.zchat[hidden]{display:none}
.zchat-head{background:#b8862f;color:#fff;padding:.7rem 1rem;display:flex;justify-content:space-between;align-items:center;font-weight:600}
.zchat-head button{background:none;border:0;color:#fff;font-size:1.5rem;line-height:1;cursor:pointer}
.zchat-log{flex:1;overflow-y:auto;padding:.8rem;display:flex;flex-direction:column;gap:.5rem}
.zmsg{max-width:85%;padding:.55rem .8rem;border-radius:12px;font-size:.92rem;line-height:1.45;text-align:left}
.zmsg.bot{background:#f3e6cf;color:#4a3622;align-self:flex-start}
.zmsg.me{background:#b8862f;color:#fff;align-self:flex-end}
.zmsg a{color:#8a5a12}
.zchat-chips{display:flex;flex-wrap:wrap;gap:.35rem;padding:.4rem .8rem}
.zchat-chips button{font:inherit;font-size:.8rem;border:1px solid #d9c28f;background:#fff;color:#4a3622;border-radius:999px;padding:.3rem .7rem;cursor:pointer}
.zchat-form{display:flex;gap:.4rem;padding:.6rem;border-top:1px solid #ecdcbc}
.zchat-form input{flex:1;font:inherit;font-size:16px;padding:.5rem .7rem;border:1px solid #d9c28f;border-radius:10px;min-width:0}
.zchat-form button{font:inherit;background:#b8862f;color:#fff;border:0;border-radius:10px;padding:.5rem .9rem;cursor:pointer}
@media (max-width:480px){.zchat{right:12px;bottom:74px}}
/* Workshops */
.wgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,22rem),1fr));gap:1.5rem;max-width:62rem;margin:2rem auto 0;text-align:left;align-items:start}
.wcard{background:#fffaf2;border:1px solid #e3d2ad;border-radius:16px;overflow:hidden;box-shadow:0 6px 20px rgba(74,54,34,.08)}
.wthumb{width:100%;height:auto;display:block}
.wbody{padding:1.1rem 1.2rem 1.3rem}
.wbody h3{margin:.5rem 0 .4rem;font-size:1.3rem;color:#2f4a2c}
.wbody h4{margin:1rem 0 .4rem;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:#b8862f}
.wmeta{color:#4a3622}
.wcard details summary{cursor:pointer;color:#8a5a12;font-weight:600;margin-top:.4rem;padding:.4rem 0}
.wcard details summary:focus-visible{outline:2px solid #4a3622;outline-offset:2px}
.wthemes{font-size:.9rem;letter-spacing:.04em;color:#2f4a2c}
.wnote{font-style:italic;font-size:.9rem;color:#6a5a40}
.wbook{background:#eef2e8;border:1px solid #cfdcc4;border-radius:10px;padding:.7rem .9rem;margin:1rem 0}
.wbook p{margin:.2rem 0}.wbook a{color:#2f4a2c;font-weight:600}
.cgrid.c2{grid-template-columns:repeat(2,minmax(0,1fr));max-width:44rem;margin-left:auto;margin-right:auto}@media (max-width:760px){.cgrid.c2{grid-template-columns:1fr}}
/* Archangel: soft blue + gold */
.block.archangel{background:linear-gradient(180deg,#f6f9fd 0%,#e7eef8 100%);border-top:1px solid #d6e1ef}
.archangel h2{color:#2f4f7a}
.wingmark{width:84px;height:42px;color:#7d9cc6;display:block;margin:0 auto .4rem}
.argrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,20rem),1fr));gap:1.5rem;max-width:62rem;margin:2rem auto 1.2rem;text-align:left;justify-content:center}
.arcard{position:relative;background:#fff;border:1px solid #cfdcec;border-top:3px solid #b8862f;border-radius:16px;padding:1.3rem 1.4rem;box-shadow:0 8px 24px rgba(47,79,122,.1)}
.arcard .star{position:absolute;top:.9rem;right:1rem;color:#b8862f;font-size:1.3rem}
.arcard h3{margin:0;color:#2f4f7a;font-size:1.35rem}
.artheme{font-style:italic;color:#6a86ad;margin:.2rem 0 .8rem}
.arlist{list-style:none;padding:0;margin:0}
.arlist li{padding:.4rem 0;border-bottom:1px dashed #dbe5f1;font-size:.95rem}
.arlist li:last-child{border-bottom:0}
.arlist strong{color:#2f4f7a}
.argrid{grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),26rem))}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.altbook{text-align:center;margin-top:1.6rem;color:#5e4a35}
.altbook .btn{margin:0 0 0 .5rem}
.cline{margin:.3rem 0}.cline a{color:#7a5c3a}
.btn.wa{border-color:#25d366;color:#1f6f43}.btn.wa:hover{background:#25d366;color:#fff}
.wa-fab{position:fixed;left:18px;bottom:18px;z-index:59;width:52px;height:52px;border-radius:50%;background:#25d366;color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 20px rgba(74,54,34,.3)}
.wa-fab svg{width:28px;height:28px}.wa-fab:focus-visible{outline:2px solid #4a3622;outline-offset:2px}
.sb-tab{position:fixed;left:0;top:50%;transform:translateY(-50%);z-index:58;writing-mode:vertical-rl;rotate:180deg;background:#4a3622;color:#faf3e6;border:0;border-radius:0 10px 10px 0;border-radius:10px 0 0 10px;padding:1rem .5rem;font-family:"Helvetica Neue",Arial,sans-serif;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;cursor:pointer;box-shadow:0 4px 14px rgba(74,54,34,.25)}
.sb-tab:hover{background:#b8862f}.sb-tab:focus-visible,.sb-x:focus-visible,.sb-drawer a:focus-visible{outline:2px solid #b8862f;outline-offset:2px}
.sb-shade{position:fixed;inset:0;z-index:80;background:rgba(58,42,26,.35)}
.sb-drawer{position:fixed;top:0;left:0;bottom:0;z-index:81;width:min(300px,86vw);background:#fffaf2;border-right:1px solid #e6d3b0;box-shadow:6px 0 28px rgba(74,54,34,.2);transform:translateX(-105%);transition:transform .3s ease;display:flex;flex-direction:column;padding:1.2rem 1.3rem;overflow-y:auto;visibility:hidden}
.sb-drawer.open{transform:none;visibility:visible}
.sb-head{display:flex;justify-content:space-between;align-items:center;font-size:1.1rem;letter-spacing:.14em;text-transform:uppercase;margin-bottom:1.2rem}
.sb-x{background:none;border:0;font-size:1.8rem;line-height:1;color:#4a3622;cursor:pointer;padding:.2rem .5rem}
.sb-feature{display:flex;flex-direction:column;gap:.2rem;padding:1rem;border:1px solid #e3c98f;border-radius:14px;background:#fdf3df;margin-bottom:1rem}
.sb-feature strong{font-weight:400;font-size:1.25rem;letter-spacing:.06em}.sb-feature small{color:#7a5c3a;font-size:.85rem}
.sb-stars{color:#b8862f;letter-spacing:.15em}
.sb-links{display:flex;flex-direction:column;gap:0;font-family:"Helvetica Neue",Arial,sans-serif;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:#7a5c3a}
.sb-links a{padding:.9rem .2rem;border-bottom:1px solid #efe1c6}.sb-links a[aria-current]{color:#3a2a1a;font-weight:600}
@media (prefers-reduced-motion:reduce){.sb-drawer{transition:none}}
.rv-top{max-width:40rem;margin:0 auto}
.rv-badge{display:inline-block;margin:.4rem 0 1.4rem;padding:.45rem 1.1rem;border-radius:999px;background:#fdf3df;border:1px solid #e3c98f;font-family:"Helvetica Neue",Arial,sans-serif;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:#7a5c3a}
.rv-grid{columns:3 18rem;column-gap:1.2rem;max-width:72rem;margin:2.5rem auto 0;text-align:left}
.rv-card{break-inside:avoid;margin:0 0 1.2rem;background:#fffaf2;border:1px solid #ecdcbc;border-radius:14px;padding:1.2rem 1.3rem;box-shadow:0 4px 14px rgba(74,54,34,.06)}
.rv-card blockquote{margin:0 0 .8rem;color:#4a3622;font-size:1rem;line-height:1.6}
.rv-card blockquote::before{content:"\201C";color:#c9a063;font-size:1.6rem;line-height:0;vertical-align:-.45rem;margin-right:.15rem}
.rv-card footer{display:flex;justify-content:space-between;gap:.5rem;font-family:"Helvetica Neue",Arial,sans-serif;font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:#7a5c3a;background:none;padding:0;border:0;text-align:left}
.rv-note{font-size:.85rem;color:#8a6f50;margin-top:2rem}
.ar12{grid-template-columns:repeat(auto-fill,minmax(min(100%,16.5rem),1fr));max-width:66rem;gap:1.2rem}
.ar12 .arcard{border-top:4px solid var(--ac);background:linear-gradient(180deg,var(--tint) 0%,#fff 60%);padding:1.2rem 1.25rem 1.1rem}
.ar12 .arcard h3{font-size:1.2rem;margin-top:.35rem;padding-right:2rem}
.arnum{font-family:"Helvetica Neue",Arial,sans-serif;font-size:.68rem;letter-spacing:.16em;color:var(--ac);font-weight:600}
.arsym{position:absolute;top:.75rem;right:.9rem;width:2.1rem;height:2.1rem;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--tint);color:var(--ac);font-size:1.15rem;border:1px solid color-mix(in srgb,var(--ac) 35%,transparent)}
.ar12 .artheme{margin:.15rem 0 .5rem;color:var(--ac);font-style:italic;font-size:.95rem}
.ardesc{margin:0;font-size:.95rem;line-height:1.55;color:#4a3622}
.ardet{margin-top:.7rem;font-size:.9rem}.ardet summary{cursor:pointer;color:var(--ac);font-family:"Helvetica Neue",Arial,sans-serif;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase}
.ardet .arlist{margin-top:.5rem}
@media (max-width:600px){.ar12{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.ar12 .arcard{padding:.9rem .8rem}.ar12 .arcard h3{font-size:1rem;padding-right:1.6rem}.arsym{width:1.7rem;height:1.7rem;font-size:.95rem;top:.6rem;right:.6rem}.ardesc,.ar12 .artheme{font-size:.85rem}.ar12 .arcard:has(.ardet[open]){grid-column:1/-1}}
.arsym{color:var(--ac2,var(--ac))}
.privnote{font-size:.85rem;color:#6b5640;margin:.9rem 0 0;line-height:1.5;text-align:center}.privnote a,.flinks a{color:#7a5c3a}
.flinks{margin:.8rem 0 0;letter-spacing:.12em}.flinks a{text-decoration:none;display:inline-flex;align-items:center;gap:.3rem}.flinks a:hover{text-decoration:underline}
.fbi{width:1.05em;height:1.05em;vertical-align:-.15em}
.btn.fb{border-color:#1877f2;color:#1a4fa0;display:inline-flex;align-items:center;gap:.4rem}.btn.fb:hover{background:#1877f2;color:#fff}
.rv-fb{text-align:center;margin:.6rem 0 1.4rem}
.pv{max-width:44rem;margin:0 auto;text-align:left;line-height:1.7;color:#4a3622}.pv h3{color:#7a5c3a;margin:1.8rem 0 .4rem;font-weight:500}.pv ul{padding-left:1.2rem}.pv li{margin:.35rem 0}.pv a{color:#7a5c3a}.pv-upd{font-style:italic;color:#8a6f4e;text-align:center}
.btn.fb{justify-content:center;text-align:center}.privnote{margin-bottom:.4rem}@media (max-width:600px){.rv-fb .btn.fb{max-width:100%}}
.btn.fb{display:inline-block}.btn.fb .fbi{margin-right:.35rem}
.credit{margin:.9rem 0 0;font-size:.66rem;letter-spacing:.12em;color:#b08d5c;opacity:.85}.credit a{color:#7a5c3a;text-decoration:none}.credit a:hover{text-decoration:underline}
@media(max-width:700px){.credit{padding-bottom:4.6rem}}
/* Crystal card readings */
.cr{max-width:62rem;margin:0 auto;text-align:center}
.cr-title{font-size:1.5rem;color:#4b3470;margin:.2rem 0 .3rem}
.cr-intro{font-style:italic;color:#6a5590;margin:0 auto 1.2rem;max-width:34rem}
/* READING BACKGROUND: change --reading-bg here to restyle every reading layout at once.
   Per-spread overrides: set bg:"..." on a spread in SPREADS at the top of crystal-readings.js. */
.cr{--reading-bg:radial-gradient(ellipse at 50% 0%,#2a2360 0%,#161234 70%)}
.cr-stage{background:var(--reading-bg);border:1px solid #b8862f;border-radius:18px;padding:1.4rem 1rem 1.6rem;color:#ece8f6;box-shadow:0 12px 34px rgba(22,18,52,.25)}
.cr-deck{position:relative;width:64px;height:92px;margin:0 auto 1.1rem}
.cr-deck span,.cr-back{position:absolute;inset:0;border-radius:8px;border:2px solid #d4af5c;background:#161234 radial-gradient(circle at 50% 50%,rgba(212,175,92,.28) 0 18%,transparent 19%),repeating-linear-gradient(45deg,#1d1845 0 6px,#161234 6px 12px)}
.cr-back::after,.cr-deck span::after{content:"ZEN";position:absolute;top:50%;left:0;right:0;transform:translateY(-50%);font-family:Georgia,serif;letter-spacing:.2em;color:#d4af5c;font-size:.75rem;text-align:center}
.cr-deck span:nth-child(1){transform:rotate(-6deg)}.cr-deck span:nth-child(2){transform:rotate(4deg)}
.cr-deck.shuffle span:nth-child(1){animation:crs1 .6s ease}.cr-deck.shuffle span:nth-child(2){animation:crs2 .6s ease}.cr-deck.shuffle span:nth-child(3){animation:crs3 .6s ease}
@keyframes crs1{50%{transform:translateX(-38px) rotate(-14deg)}}@keyframes crs2{50%{transform:translateX(38px) rotate(12deg)}}@keyframes crs3{50%{transform:translateY(-14px)}}
.cr-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;max-width:40rem;margin:0 auto}
@media (min-width:700px){.cr-actions{grid-template-columns:repeat(3,minmax(0,1fr))}}
.cr-btn{font:inherit;cursor:pointer;border:1px solid #d4af5c;background:rgba(255,255,255,.04);color:#f3e2b6;border-radius:12px;padding:.6rem .5rem;display:flex;flex-direction:column;align-items:center;line-height:1.25;min-height:3.4rem;transition:background .2s}
.cr-btn span{font-size:1rem;letter-spacing:.03em}
.cr-btn small{font-family:"Helvetica Neue",Arial,sans-serif;font-size:.68rem;letter-spacing:.06em;color:#c8bfe6;margin-top:.15rem}
.cr-btn:hover,.cr-btn[aria-pressed="true"]{background:#d4af5c;color:#161234}.cr-btn:hover small,.cr-btn[aria-pressed="true"] small{color:#2a2360}
.cr-btn:focus-visible,.cr-flip:focus-visible,.cr-mini:focus-visible,.cr-gcard:focus-visible,.cr-link:focus-visible{outline:2px solid #fff;outline-offset:3px}
.cr-result{scroll-margin-top:5rem}
.cr-reading{margin-top:1.4rem}
.cr-rtitle{font-weight:400;font-size:1.25rem;letter-spacing:.12em;text-transform:uppercase;color:#d4af5c;margin-bottom:.6rem}
.cr-pos{font-family:"Helvetica Neue",Arial,sans-serif;font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;color:#d4af5c;margin-bottom:.5rem}
.cr-pos small{display:block;font-family:Georgia,serif;font-style:italic;letter-spacing:0;text-transform:none;font-size:.9rem;color:#c8bfe6;margin-top:.1rem}
.cr-in{position:relative;display:block;transform-style:preserve-3d;transition:transform .8s cubic-bezier(.3,.7,.3,1)}
.cr-back,.cr-front{backface-visibility:hidden;-webkit-backface-visibility:hidden}
.cr-front{display:block;transform:rotateY(180deg)}
.cr-front img,.cr-front .cr-ph{display:block;width:100%;height:auto;border-radius:10px}
.on .cr-in{transform:rotateY(180deg)}
.done .cr-in{transform:none;transition:none}.done .cr-back{display:none}.done .cr-front{transform:none}
/* full (1-3 cards) */
.cr-full .cr-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.6rem;justify-items:center}
.cr-item{max-width:300px;width:100%}
.cr-flip{display:block;width:100%;max-width:260px;margin:0 auto;padding:0;border:0;background:none;cursor:zoom-in;perspective:1200px}
.cr-text{text-align:left;margin-top:.9rem;opacity:0;transform:translateY(6px);transition:opacity .6s .5s,transform .6s .5s}
.on .cr-text{opacity:1;transform:none}
.cr-text h5,.cr-lb-text h4{font-weight:400;font-size:1.3rem;letter-spacing:.08em;text-transform:uppercase;color:#f3e2b6;text-align:center}
.cr-kw{font-family:"Helvetica Neue",Arial,sans-serif;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:#c8bfe6;text-align:center;margin:.2rem 0 .6rem}
.cr-text p,.cr-lb-text p{font-size:.98rem;line-height:1.6}
.cr-shadow{color:#b9b0d6;margin-top:.5rem;font-size:.92rem!important}
/* compact (7+ cards) */
.cr-groups{display:grid;gap:1rem;max-width:56rem;margin:0 auto;text-align:left}
.cr-full .cr-groups{display:block;max-width:none;text-align:center}
.cr-gname{font-weight:400;font-size:.8rem;letter-spacing:.2em;text-transform:uppercase;color:#d4af5c;border-bottom:1px solid rgba(212,175,92,.35);padding-bottom:.25rem;margin-bottom:.55rem}
.cr-compact .cr-row{display:grid;grid-template-columns:repeat(3,minmax(0,6.5rem));gap:.6rem;justify-content:center}
.cr-sp-week .cr-row{grid-template-columns:repeat(3,minmax(0,7rem))}
.cr-sp-week .cr-mini:last-child{grid-column:2}
.cr-sp-week .cr-mini:last-child .cr-in{box-shadow:0 0 0 2px #d4af5c,0 0 22px rgba(212,175,92,.45);border-radius:6px}
@media (min-width:700px){.cr-sp-week .cr-row{grid-template-columns:repeat(3,minmax(0,9rem))}.cr-sp-month .cr-groups{grid-template-columns:repeat(2,1fr)}.cr-sp-year .cr-groups{grid-template-columns:repeat(3,1fr)}.cr-sp-month .cr-groups,.cr-sp-year .cr-groups{column-gap:1.6rem}}
@media (min-width:1000px){.cr-sp-month .cr-groups{grid-template-columns:repeat(4,1fr)}}
.cr-mini{font:inherit;color:#ece8f6;background:none;border:0;padding:0;cursor:pointer;perspective:800px;display:flex;flex-direction:column;align-items:center;text-align:center;min-width:0}
.cr-mini .cr-in{width:100%}
.cr-mini .cr-back{border-radius:6px}.cr-mini .cr-front img,.cr-mini .cr-ph{border-radius:6px}
.cr-mlabel{font-family:"Helvetica Neue",Arial,sans-serif;font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:#d4af5c;margin-top:.35rem}
.cr-mname{font-size:.85rem;line-height:1.2;color:#f3e2b6;overflow-wrap:anywhere}
.cr-note{margin-top:1.2rem;font-size:.85rem;font-style:italic;color:#c8bfe6}
.cr-link{font:inherit;color:#f3e2b6;background:none;border:0;padding:0;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.cr-err{margin-top:1rem;color:#f3c8c8}
.cr-ph{aspect-ratio:700/1000;background:#161234;border:2px solid #d4af5c;color:#f3e2b6;display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:.3rem;padding:.4rem;font-size:.85rem;text-align:center}
.cr-ph small{font-size:.65rem;color:#c8bfe6}
.cr-disc{font-size:.8rem;color:#7a5c3a;font-style:italic;margin:.8rem auto 2.4rem;max-width:34rem}
/* gallery */
.cr-gtitle{margin-top:.5rem}
.cr-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:.6rem;margin-top:.4rem}
@media (min-width:700px){.cr-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:.9rem}}
.cr-gcard{position:relative;padding:0;border:0;background:none;cursor:zoom-in;border-radius:8px;transition:transform .2s}
.cr-gcard img,.cr-gcard .cr-ph{display:block;width:100%;height:auto;border-radius:8px;box-shadow:0 4px 12px rgba(22,18,52,.22)}
.cr-gcard:hover{transform:translateY(-3px)}
.cr-gnum{position:absolute;top:4px;right:4px;font-family:"Helvetica Neue",Arial,sans-serif;font-size:.6rem;background:rgba(22,18,52,.8);color:#f3e2b6;border-radius:999px;padding:.05rem .4rem}
.cr-more{margin:2rem auto 0;max-width:36rem;color:#5e4a35}
.cr-more .soon{display:block}
/* lightbox */
.cr-lb{border:1px solid #b8862f;border-radius:16px;padding:0;background:#161234;color:#ece8f6;width:min(56rem,94vw);max-height:92vh;margin:auto;overflow:hidden}
.cr-lb::backdrop{background:rgba(12,9,30,.82)}
.cr-lb[open]{display:flex;flex-direction:column}
.cr-lb-body{overflow:auto;padding:1rem 1rem .5rem;display:grid;gap:1rem;align-items:start}
@media (min-width:760px){.cr-lb-body{grid-template-columns:minmax(0,22rem) minmax(0,1fr);padding:1.6rem}}
.cr-lb-img img,.cr-lb-img .cr-ph{display:block;width:100%;max-width:22rem;height:auto;margin:0 auto;border-radius:12px}
.cr-lb-text{text-align:left}
.cr-lb-text .cr-pos{text-align:center}
.cr-lb-num{font-family:"Helvetica Neue",Arial,sans-serif;font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:#b9b0d6;text-align:center}
.cr-lb-credit{font-size:.75rem!important;color:#8f87ad;margin-top:.8rem}
.cr-lb-x{position:absolute;top:.4rem;right:.5rem;z-index:2;width:2.6rem;height:2.6rem;border-radius:50%;border:1px solid #d4af5c;background:#161234;color:#f3e2b6;font-size:1.6rem;line-height:1;cursor:pointer}
.cr-lb-nav{display:flex;justify-content:space-between;gap:.5rem;padding:.6rem 1rem .9rem;border-top:1px solid rgba(212,175,92,.25)}
.cr-lb-nav button{font:inherit;font-size:.9rem;color:#f3e2b6;background:none;border:1px solid #d4af5c;border-radius:999px;padding:.4rem 1rem;cursor:pointer}
.cr-credits{font-size:.82rem;line-height:1.45;padding-left:2.2rem;margin-top:.6rem;columns:1}
@media (min-width:760px){.cr-credits{columns:2;column-gap:1.6rem}}
.cr-credits li{break-inside:avoid;margin-bottom:.2rem}.cr-credits a{color:#f3e2b6;text-decoration:underline;text-underline-offset:2px}
html.cr-lock{overflow:hidden}
@media (prefers-reduced-motion:reduce){.cr-in,.cr-text,.cr-gcard{transition:none}.cr-deck.shuffle span{animation:none!important}}

/* Collective Energies + moon spreads */
.cr-sp-collective .cr-row,.cr-sp-fullmoon .cr-row,.cr-sp-newmoon .cr-row{display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem;margin:0 auto}
.cr-sp-collective .cr-mini,.cr-sp-fullmoon .cr-mini,.cr-sp-newmoon .cr-mini{flex:0 1 calc((100% - 1.2rem)/3);width:auto;max-width:6.5rem;min-width:0}
.cr-sp-collective .cr-row{max-width:21rem}.cr-sp-fullmoon .cr-row,.cr-sp-newmoon .cr-row{max-width:21rem}
@media (min-width:700px){.cr-sp-collective .cr-mini,.cr-sp-fullmoon .cr-mini,.cr-sp-newmoon .cr-mini{flex:0 0 8.5rem;max-width:8.5rem}
 .cr-sp-collective .cr-row{max-width:36.5rem}.cr-sp-fullmoon .cr-row{max-width:46rem}.cr-sp-newmoon .cr-row{max-width:27.5rem}}
.cr-sp-fullmoon .cr-mini:last-child .cr-in,.cr-sp-newmoon .cr-mini:last-child .cr-in{box-shadow:0 0 0 2px #d4af5c,0 0 22px rgba(212,175,92,.45);border-radius:6px}
.cr-moonbox{grid-column:1/-1;display:flex;flex-direction:column;gap:.35rem}
.cr-moon{flex-direction:row;flex-wrap:wrap;justify-content:center;column-gap:.5rem;row-gap:.1rem}
.cr-moon>span{font-size:1.05rem}.cr-moon>small{margin-top:0}
.cr-micon{width:1.25rem;height:1.25rem;flex:0 0 auto}
.cr-mstat{flex-basis:100%;text-align:center;color:#f3e2b6!important;display:inline-flex;align-items:center;justify-content:center;gap:.3rem}
.cr-lock{width:.8rem;height:.8rem}
.cr-moonbox.is-locked .cr-moon{opacity:.55;cursor:not-allowed;border-style:dashed;background:rgba(0,0,0,.18)}
.cr-moonbox.is-locked .cr-moon:hover{background:rgba(0,0,0,.18);color:#f3e2b6}.cr-moonbox.is-locked .cr-moon:hover small{color:#c8bfe6}
.cr-mexp{margin:0 .3rem .2rem;font-size:.8rem;line-height:1.45;color:#c8bfe6;text-align:center;font-style:italic}
.cr-btn[data-spread="collective"]{grid-column:1/-1}
/* Floating Crystal Readings button: bottom-left, opposite Ask Zen (bottom-right), beside the WhatsApp float */
.cr-float{position:fixed;left:82px;bottom:24px;z-index:58;display:inline-flex;align-items:center;gap:.4rem;background:linear-gradient(180deg,#2a2360,#161234);color:#f3e2b6;border:1px solid #d4af5c;border-radius:999px;padding:.55rem .95rem .55rem .7rem;font-family:"Helvetica Neue",Arial,sans-serif;font-size:.82rem;font-weight:600;letter-spacing:.04em;text-decoration:none;box-shadow:0 6px 20px rgba(22,18,52,.35);transition:opacity .25s,transform .25s,visibility .25s}
.cr-float.cr-float-solo{left:18px}
.cr-float svg{width:1.15rem;height:1.15rem;flex:0 0 auto}
.cr-float:hover{background:#d4af5c;color:#161234}
.cr-float:focus-visible{outline:2px solid #4a3622;outline-offset:3px}
.cr-float-off{opacity:0;visibility:hidden;transform:translateY(12px);pointer-events:none}
@media (max-width:480px){.cr-float{left:78px;bottom:26px;padding:.45rem .7rem .45rem .55rem;font-size:.74rem;gap:.3rem;letter-spacing:.02em}.cr-float.cr-float-solo{left:14px}}
@media (max-width:350px){.cr-float span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.cr-float{padding:.55rem}}
@media (prefers-reduced-motion:reduce){.cr-float{transition:none}}

/* Flow reading (all cards read together) */
.cr-flow{max-width:44rem;margin:1.8rem auto 0;padding:1.2rem 1.2rem 1rem;border:1px solid rgba(212,175,92,.45);border-radius:14px;background:rgba(255,255,255,.035);text-align:left;animation:crflow .8s ease both}
@keyframes crflow{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.cr-flow-title{font-weight:400;font-size:1.2rem;letter-spacing:.12em;text-transform:uppercase;color:#d4af5c;text-align:center;margin-bottom:.2rem}
.cr-flow-intro{font-style:italic;font-size:.9rem;color:#c8bfe6;text-align:center;margin-bottom:.9rem}
.cr-flow-p{font-size:1rem;line-height:1.7;color:#ece8f6;margin-bottom:.8rem}
.cr-flow-sub{font-weight:400;font-size:.8rem;letter-spacing:.2em;text-transform:uppercase;color:#d4af5c;border-bottom:1px solid rgba(212,175,92,.35);padding-bottom:.25rem;margin:.9rem 0 .5rem}
.cr-flow-week:first-of-type .cr-flow-sub{margin-top:0}
.cr-flow-month{border-bottom:1px solid rgba(212,175,92,.25)}
.cr-flow-month summary{cursor:pointer;padding:.55rem 0;font-size:.85rem;letter-spacing:.18em;text-transform:uppercase;color:#d4af5c}
.cr-flow-month summary:focus-visible{outline:2px solid #fff;outline-offset:2px}
.cr-flow-month .cr-flow-p{margin:.1rem 0 .8rem}
.cr-flow-whole{margin-top:.4rem}
@media (prefers-reduced-motion:reduce){.cr-flow{animation:none}}

/* ZEN deck graphic: Buddha head photo fills the front card face */
.cr-deck{width:72px;height:104px}
.cr-deck span:nth-child(3){background:#161234 url(img/zen-card-buddha.jpg) center 40%/cover no-repeat;
  background-image:image-set(url(img/zen-card-buddha.webp) type("image/webp"),url(img/zen-card-buddha.jpg) type("image/jpeg"));box-shadow:0 0 10px rgba(212,175,92,.35)}
.cr-deck span:nth-child(3)::after{content:none}
