/* Zamira Motion System: moving border, glare, spotlight, aurora and liquid actions. */
@property --zamira-border-angle{syntax:"<angle>";initial-value:0deg;inherits:false}
:root{--zm-violet:#9b5cff;--zm-violet-deep:#5022a9;--zm-cyan:#4ce7df;--zm-gold:#f0ce6b;--zm-ink:#070615;--zm-curve:28px}
html{font-size:clamp(15px,.28vw + 14px,18px)}body{overflow-x:hidden}body.modal-open{overflow:hidden}:where(h1,h2,h3){text-wrap:balance;overflow-wrap:anywhere}:where(p,li,blockquote){overflow-wrap:anywhere}

.zamira-aurora{position:fixed;z-index:-1;inset:-22vh -18vw;pointer-events:none;opacity:.32;background:radial-gradient(ellipse at 18% 24%,rgba(94,234,212,.16),transparent 28%),radial-gradient(ellipse at 80% 18%,rgba(155,92,255,.2),transparent 32%),radial-gradient(ellipse at 55% 82%,rgba(240,206,107,.1),transparent 28%);filter:blur(50px);animation:zm-aurora 20s ease-in-out infinite alternate}
.zamira-cursor-light{position:fixed;z-index:3;width:520px;aspect-ratio:1;left:0;top:0;border-radius:50%;pointer-events:none;opacity:0;translate:-50% -50%;background:radial-gradient(circle,rgba(135,83,255,.12),rgba(76,231,223,.055) 26%,transparent 68%);mix-blend-mode:screen;transition:opacity .35s ease}body.zamira-pointer-active .zamira-cursor-light{opacity:1}

.zamira-fx-card{position:relative;isolation:isolate;--zm-radius:var(--radius,var(--zm-curve));--zm-glow-opacity:.72}
.zamira-fx-border{position:absolute;z-index:8;inset:0;border-radius:inherit;padding:1px;pointer-events:none;opacity:var(--zm-glow-opacity);background:conic-gradient(from var(--zamira-border-angle),transparent 0 16%,var(--zm-violet) 23%,var(--zm-cyan) 31%,transparent 39% 57%,var(--zm-gold) 67%,var(--zm-violet) 76%,transparent 85%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;filter:drop-shadow(0 0 7px rgba(155,92,255,.38));animation:zm-border-orbit 7s linear infinite}
.zamira-fx-card:is(:hover,:focus-within){--zm-glow-opacity:1}.zamira-fx-card:is(:hover,:focus-within)>.zamira-fx-border{animation-duration:3s;filter:drop-shadow(0 0 10px rgba(76,231,223,.52))}
.zamira-glare-surface{position:absolute;z-index:6;inset:0;border-radius:inherit;pointer-events:none;opacity:0;background:radial-gradient(circle 230px at var(--zm-x,50%) var(--zm-y,50%),rgba(255,255,255,.15),rgba(76,231,223,.07) 25%,rgba(155,92,255,.05) 42%,transparent 68%);mix-blend-mode:screen;transition:opacity .35s ease}.zamira-fx-card:is(:hover,:focus-within)>.zamira-glare-surface{opacity:1}
.zamira-tilt{transform:perspective(1100px) rotateX(var(--zm-rx,0deg)) rotateY(var(--zm-ry,0deg)) translateY(var(--zm-lift,0));transform-style:preserve-3d;transition:transform .42s cubic-bezier(.2,.75,.25,1),box-shadow .35s ease}.zamira-tilt:is(:hover,:focus-within){--zm-lift:-5px;box-shadow:0 30px 85px rgba(0,0,0,.34),0 0 30px rgba(120,67,215,.13)}
.zamira-reveal{opacity:0;transform:translateY(30px) scale(.985);transition:opacity .85s ease,transform .85s cubic-bezier(.16,.84,.28,1)}.zamira-reveal.is-visible{opacity:1;transform:none}

:where(.button,.liquid-button,.dark-button,.outline-button,.nav-cta,.tarot-enter,.tarot-share,.mobile-premium-cta){position:relative;isolation:isolate;overflow:hidden;transition:transform .28s ease,box-shadow .3s ease,filter .3s ease}
:where(.button,.liquid-button,.dark-button,.outline-button,.nav-cta,.tarot-enter,.tarot-share,.mobile-premium-cta):before{content:"";position:absolute;z-index:1;inset:0;border-radius:inherit;padding:1px;pointer-events:none;background:conic-gradient(from var(--zamira-border-angle),transparent 0 28%,rgba(76,231,223,.8) 34%,rgba(155,92,255,.9) 43%,transparent 50% 78%,rgba(240,206,107,.7) 85%,transparent 92%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:zm-border-orbit 6s linear infinite;opacity:.82}
:where(.button,.liquid-button,.dark-button,.outline-button,.nav-cta,.tarot-enter,.tarot-share,.mobile-premium-cta):after{content:none}
:where(.button,.liquid-button,.dark-button,.outline-button,.nav-cta,.tarot-enter,.tarot-share):is(:hover,:focus-visible){transform:translateY(-3px) scale(1.015);box-shadow:0 14px 40px rgba(104,55,196,.3),0 0 24px rgba(76,231,223,.15)}

:where(.article-card,.horoscope-feature,.daily-energy,.zodiac-pick,.sign-card,.sign-invite,.tarot-card,.reflection-box,.inline-invite,.article-cinematic,.article-layout,.service-grid>a,.featured-video,.philosophy-grid,.celestial-portal,.premium-final,.tarot-table,.tarot-reveal,.tarot-zamira-invite,.arcana-image,.arcana-dialog,.sign-dialog){border-color:transparent}
:where(.page-hero,.horoscope-hero,.article-header,.arcana-library-head,.tarot-ritual-heading){isolation:isolate}
:where(.page-hero,.horoscope-hero,.article-header,.arcana-library-head,.tarot-ritual-heading):after{content:"";position:absolute;z-index:-1;width:min(760px,94vw);height:300px;left:-12%;top:10%;pointer-events:none;background:radial-gradient(ellipse,rgba(147,83,255,.18),rgba(76,231,223,.055) 34%,transparent 70%);filter:blur(25px)}

:where(.sign-dialog,.arcana-dialog){overflow-x:hidden;overscroll-behavior:contain}:where(.sign-dialog-shell,.arcana-dialog-shell){width:100%;max-width:100%;overflow-x:clip}:where(.sign-dialog,.arcana-dialog)[open]{animation:zm-modal-in .58s cubic-bezier(.16,.84,.28,1) both}:where(.sign-dialog,.arcana-dialog)::backdrop{background:rgba(2,1,8,.88);backdrop-filter:blur(14px);animation:zm-backdrop-in .35s ease both}

.cards-grid>:only-child{grid-column:1/-1}
:where(.sign-dialog-shell,.arcana-dialog-shell):before{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;background:linear-gradient(115deg,transparent 10%,rgba(255,255,255,.055) 38%,transparent 58%);translate:-110% 0;animation:zm-modal-sheen 1.2s .16s ease both}

.site-header{transition:height .35s ease,background .35s ease,border-color .35s ease,box-shadow .35s ease,backdrop-filter .35s ease}.site-header.is-scrolled{background:rgba(5,4,16,.88);border-color:rgba(155,92,255,.24);box-shadow:0 16px 50px rgba(0,0,0,.3);backdrop-filter:blur(22px) saturate(1.25)}
.main-nav>a:not(.nav-cta){position:relative}.main-nav>a:not(.nav-cta):after{content:"";position:absolute;left:12px;right:12px;bottom:5px;height:1px;scale:0 1;background:linear-gradient(90deg,var(--zm-violet),var(--zm-cyan));transition:scale .28s;transform-origin:left}.main-nav>a:not(.nav-cta):hover:after,.main-nav>a:not(.nav-cta):focus-visible:after{scale:1}

@keyframes zm-border-orbit{to{--zamira-border-angle:360deg}}@keyframes zm-liquid-orbit{to{transform:rotate(360deg)}}
@keyframes zm-aurora{0%{transform:translate3d(-2%,-1%,0) rotate(-3deg) scale(1)}50%{transform:translate3d(3%,2%,0) rotate(2deg) scale(1.06)}100%{transform:translate3d(-1%,4%,0) rotate(5deg) scale(.98)}}
@keyframes zm-modal-in{from{opacity:0;transform:perspective(900px) translateY(36px) rotateX(5deg) scale(.95)}to{opacity:1;transform:none}}@keyframes zm-backdrop-in{from{opacity:0}to{opacity:1}}@keyframes zm-modal-sheen{to{translate:115% 0}}

@media(max-width:840px){.zamira-cursor-light{display:none}.zamira-tilt{transform:none!important}.zamira-glare-surface{background:linear-gradient(115deg,transparent 25%,rgba(255,255,255,.07) 48%,transparent 70%);translate:-110% 0;opacity:.55;animation:zm-touch-sheen 8s ease-in-out infinite}.site-header.menu-open{background:rgba(5,4,16,.98)}}
@media(max-width:520px){:root{--zm-curve:22px}.zamira-fx-border{padding:1px;filter:drop-shadow(0 0 4px rgba(155,92,255,.32))}:where(.page-hero,.horoscope-hero,.article-header,.arcana-library-head,.tarot-ritual-heading):after{left:-25%;height:220px}}
@keyframes zm-touch-sheen{0%,72%,100%{translate:-110% 0}86%{translate:110% 0}}
@media(prefers-reduced-motion:reduce){.zamira-aurora,.zamira-fx-border,.zamira-glare-surface,:where(.button,.liquid-button,.dark-button,.outline-button,.nav-cta,.tarot-enter,.tarot-share,.mobile-premium-cta):before,:where(.sign-dialog-shell,.arcana-dialog-shell):before{animation:none!important}.zamira-reveal{opacity:1;transform:none;transition:none}.zamira-tilt{transform:none!important}}
