/* Atmospheric treatment and the optional multi-reading journey. AGPL-3.0-only. */
:root{--moon-glow:rgba(236,198,142,.13)}
.hero-backdrop{filter:saturate(1.08) contrast(1.04)}
.hero:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 70% 28%,rgba(230,179,117,.12),transparent 36%),radial-gradient(ellipse at 34% 63%,rgba(166,115,209,.10),transparent 56%)}
.hero-eyebrow{letter-spacing:.2em;text-shadow:0 0 18px rgba(235,201,157,.4)}
.hero .title-dot{filter:drop-shadow(0 0 7px #e0b97a)}
.service-card{transition:border-color .25s,box-shadow .25s,transform .25s}
.service-card:hover,.service-card:focus-within{border-color:rgba(239,202,152,.68);box-shadow:0 10px 45px rgba(20,9,31,.6),inset 0 0 34px rgba(186,124,198,.08)}
.service-symbol{filter:drop-shadow(0 0 12px rgba(242,197,145,.18))}
.modal-panel{background:linear-gradient(150deg,#231830,#140f22 55%,#1c122a)}
.modal-toolbar-brand{text-shadow:0 0 12px rgba(235,205,158,.16)}
.modal-kicker{letter-spacing:.17em}
.reading-result>.modal-kicker:before{content:"✧";margin-right:7px}
.reading-result{animation:reading-reveal .48s ease-out both}
@keyframes reading-reveal{0%{opacity:.65;transform:translateY(10px)}100%{opacity:1;transform:translateY(0)}}
.detailed-card{position:relative;box-shadow:0 14px 31px rgba(8,5,17,.2),inset 0 0 45px rgba(235,184,134,.015)}
.detailed-card:before{content:"✧";position:absolute;right:15px;top:12px;color:rgba(226,183,123,.22);font-size:22px;pointer-events:none}
.detailed-card .tarot-face{box-shadow:inset 0 0 0 4px #d4ab7140,0 0 26px rgba(197,121,207,.13)}
.forecast-panel{background:radial-gradient(ellipse at 88% 6%,rgba(227,181,108,.1),transparent 43%),linear-gradient(135deg,#36243e,#251932)!important}
.journey-back{display:inline-flex;align-items:center;min-height:44px;border:1px solid rgba(228,194,142,.39);background:#352541;color:#f1d6ac;font:700 12px var(--sans);padding:10px 13px;border-radius:9px;margin:3px 0 10px;cursor:pointer;max-width:100%}
.journey-back:hover{background:#503459}
.journey-breadcrumb{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;padding:13px 14px;margin:0 0 18px;background:rgba(221,174,116,.06);border:1px solid rgba(225,187,140,.22);border-radius:10px}
.journey-breadcrumb span{color:#e2c5ac;font-size:12px;font-weight:700}.journey-breadcrumb b{color:#d0b19f;font-size:12px}
.mystic-journey{position:relative;margin:34px -4px 6px;padding:34px 24px 26px;border:1px solid rgba(225,191,137,.45);border-radius:16px;background:radial-gradient(ellipse at 50% -8%,rgba(139,76,182,.24),transparent 65%),linear-gradient(158deg,#2b1b3c,#171021 83%);overflow:hidden}
.mystic-journey:before,.mystic-journey:after{content:"";position:absolute;border:1px solid rgba(235,199,139,.16);border-radius:50%;width:280px;height:280px;pointer-events:none;top:-195px;right:-95px}
.mystic-journey:after{width:196px;height:196px;top:-140px;right:-54px;border-style:dashed;opacity:.8}
.mystic-journey-ornament{text-align:center;color:#edc68b;font-size:29px;letter-spacing:17px;margin:0 0 16px;opacity:.85;text-shadow:0 0 22px #be8fcd6b}
.mystic-journey .modal-kicker{text-align:center;margin-bottom:10px}
.mystic-journey h3{font:500 clamp(31px,4vw,43px)/1.1 var(--serif);color:#ffefe2;text-align:center;margin:0 0 13px}
.mystic-journey h3 em{color:#e8c78a}
.mystic-journey-intro{text-align:center;font-size:13px;line-height:1.85;color:#cfc1da;max-width:520px;margin:0 auto 24px}
.mystic-offers{display:grid;gap:12px;position:relative;z-index:1}
.mystic-offer{position:relative;display:flex;align-items:center;width:100%;min-height:91px;border:1px solid rgba(229,193,135,.27);border-radius:11px;padding:15px 17px;background:linear-gradient(110deg,rgba(90,58,115,.36),rgba(32,25,50,.84));color:#f4eadf;text-align:left;cursor:pointer;gap:16px;transition:background .22s,border-color .22s,transform .22s}
.mystic-offer:hover,.mystic-offer:focus-visible{background:#43304f;border-color:#eed39f;transform:translateY(-2px)}
.mystic-offer-glyph{display:grid;place-items:center;flex:0 0 54px;width:54px;height:54px;border:1px solid #d9b8857a;border-radius:50%;font:34px var(--serif);color:#f5d8a1;background:radial-gradient(circle,#503757,#251930);text-shadow:0 0 13px #eabf9f33}
.mystic-offer-copy{display:block;flex:1;min-width:0}.mystic-offer-copy b{display:block;color:#fdf0dd;font:600 25px/1.1 var(--serif);margin-bottom:6px}.mystic-offer-copy small{display:block;color:#c9bad5;font:500 12px/1.6 var(--sans)}
.mystic-offer-arrow{font-size:22px;color:var(--gold);padding:4px}
.mystic-journey-note{font-size:11px;line-height:1.75;color:#b3a4bf;text-align:center;margin:18px 0 0}
.reading-guide-box{box-shadow:0 14px 70px #0002,inset 0 0 25px #9169b007}
@media(max-width:780px){
 .mystic-journey{padding:27px 16px 22px;margin:25px 0 0}
 .mystic-journey-ornament{font-size:23px;letter-spacing:12px}
 .mystic-journey h3{font-size:38px}
 .mystic-offer{min-height:88px;gap:11px;padding:13px 12px}
 .mystic-offer-glyph{flex-basis:48px;width:48px;height:48px;font-size:28px}
 .mystic-offer-copy b{font-size:23px}
 .mystic-offer-copy small{font-size:11px}
 .mystic-offer-arrow{font-size:20px}
 .journey-back{font-size:13px;min-height:48px}
}
@media(max-width:359px){.mystic-offer-glyph{flex-basis:40px;width:40px;height:40px;font-size:24px}.mystic-offer-copy b{font-size:21px}.mystic-journey-ornament{letter-spacing:8px}}
@media(prefers-reduced-motion:reduce){.reading-result{animation:none}.mystic-offer{transition:none}}
