/* Wagick birth chart: form, tarot-card reveal, and the "for your signs" sections. */
.ax-eyebrow{display:flex;align-items:center;justify-content:center;gap:10px;color:var(--gold);font-family:"Cinzel",Georgia,serif;font-size:12px;letter-spacing:.22em;text-transform:uppercase}
.ax-eyebrow svg{width:9px;height:9px;flex:none;opacity:.8}

/* ---------- form & chart sheet ---------- */
.ax-form .ax-eyebrow{justify-content:flex-start;margin:0 0 8px}
.ax-form h2{font-size:26px}
.ax-lede{font-size:19px;line-height:1.35;color:var(--muted);margin:2px 0 14px}
.ax-form .row{display:grid;grid-template-columns:1fr 1.4fr;gap:12px}
@media (max-width:560px){.ax-form .row{grid-template-columns:1fr}}
.ax-why{margin:10px 0 0}
.ax-placewrap{position:relative}
.ax-places{position:absolute;z-index:3;left:0;right:0;top:100%;margin:4px 0 0;padding:4px;list-style:none;background:var(--sunk);border:1px solid var(--gold-soft);border-radius:8px;box-shadow:0 14px 30px rgba(0,0,0,.5);max-height:260px;overflow:auto}
.ax-places li{padding:8px 10px;border-radius:6px;cursor:pointer;font-size:15px}
.ax-places li:hover,.ax-places li[aria-selected="true"]{background:rgba(201,166,107,.16);color:var(--gold)}
.ax-chips{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:12px 0}
.ax-chip{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--gold-soft);border-radius:999px;padding:5px 14px 5px 6px;font-size:14px;color:var(--muted);background:rgba(201,166,107,.06)}
.ax-chip b{color:var(--ink);font-weight:500}
.ax-chip.dim{border-style:dashed;opacity:.75}
.ax-cg{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:radial-gradient(circle at 50% 40%,#2E261C,#17130E);box-shadow:inset 0 0 0 1px rgba(201,166,107,.55);color:var(--gold);font-size:15px;line-height:1;flex:none}
.ax-cg svg{width:10px;height:10px}
.ax-rm{margin-left:auto;align-self:center;font-size:14px;color:var(--muted)}
.ax-filled{font-size:12px;color:var(--gold);font-weight:400;letter-spacing:.02em}

/* ---------- reveal ---------- */
html.ax-lock{overflow:hidden}
.ax-reveal{position:fixed;inset:0;z-index:40;overflow-y:auto;display:flex;justify-content:center;
  background:radial-gradient(90% 60% at 50% 38%,rgba(58,44,26,.55),transparent 70%),radial-gradient(140% 100% at 50% 0%,#17120D,#070605 75%);
  padding:calc(env(safe-area-inset-top,0px) + 28px) 16px calc(env(safe-area-inset-bottom,0px) + 28px)}
.ax-specks{position:fixed;inset:0;pointer-events:none}
.ax-specks i{position:absolute;width:var(--s);height:var(--s);border-radius:50%;background:#F1E2BC;opacity:.15;animation:axTwinkle 4.2s ease-in-out var(--d) infinite}
@keyframes axTwinkle{50%{opacity:.75;transform:scale(1.4)}}
.ax-x{position:fixed;top:calc(env(safe-area-inset-top,0px) + 14px);right:16px;z-index:2;width:42px;height:42px;border-radius:50%;border:1px solid var(--gold-soft);background:rgba(17,15,13,.7);color:var(--gold);font-size:24px;line-height:1}
.ax-stage{position:relative;width:100%;max-width:880px;margin:auto 0;text-align:center}
.ax-title{margin:10px 0 2px;font-family:"Cinzel",Georgia,serif;font-weight:600;font-size:clamp(30px,5vw,46px);letter-spacing:.12em;text-transform:uppercase;color:var(--gold-hi,#E8D3A2);text-shadow:0 0 28px rgba(201,166,107,.35)}
.ax-when{margin:0 0 26px;font-size:20px;color:var(--muted)}
.ax-row{--cw:clamp(98px,calc((100vw - 72px)/3),232px);display:flex;justify-content:center;gap:clamp(10px,2.4vw,30px);perspective:1400px}
.ax-card{position:relative;width:var(--cw);aspect-ratio:7/12;flex:none;color:var(--gold);outline:none}
.ax-in{position:absolute;inset:0;transform-style:preserve-3d}
.ax-face{position:absolute;inset:0;border-radius:10px;overflow:hidden;backface-visibility:hidden;-webkit-backface-visibility:hidden;
  background:radial-gradient(120% 70% at 50% 30%,#2A2219,#16130F 70%);box-shadow:0 18px 38px rgba(0,0,0,.6),inset 0 0 0 1px rgba(201,166,107,.55)}
.ax-face::before{content:"";position:absolute;inset:6px;border:1px solid var(--gold-soft);border-radius:6px;pointer-events:none}
.ax-face::after{content:"";position:absolute;inset:10px;border:1px solid rgba(201,166,107,.18);border-radius:4px;pointer-events:none}
.ax-back{transform:rotateY(180deg);color:var(--gold-soft)}
.ax-back svg{width:100%;height:100%}
.ax-card.ax-up .ax-face:not(.ax-back){box-shadow:0 22px 46px rgba(0,0,0,.65),inset 0 0 0 1px rgba(232,211,162,.85),0 0 34px rgba(201,166,107,.28)}
.ax-art{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;padding:13% 9% 11%;text-align:center}
.ax-num{font-family:"Cinzel",Georgia,serif;font-size:calc(var(--cw)*.062);letter-spacing:.2em;color:var(--gold-soft)}
.ax-picon{width:calc(var(--cw)*.12);margin-top:4%;color:var(--gold)}
.ax-picon svg{display:block;width:100%}
.ax-sky{position:relative;width:86%;aspect-ratio:1;margin:4% 0 2%;display:grid;place-items:center}
.ax-const{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.ax-const line{stroke:var(--gold-soft);stroke-width:.6;stroke-dasharray:1;stroke-dashoffset:1;opacity:.85}
.ax-const circle{fill:#F1E2BC;opacity:0;transform-box:fill-box;transform-origin:center}
.ax-card.ax-up .ax-const line{animation:axDraw .5s ease-out calc(var(--i)*70ms) forwards}
.ax-card.ax-up .ax-const circle{animation:axStar .45s ease-out calc(var(--i)*60ms) forwards}
@keyframes axDraw{to{stroke-dashoffset:0}}
@keyframes axStar{0%{opacity:0;transform:scale(.2)}60%{opacity:1;transform:scale(1.6)}100%{opacity:.9;transform:scale(1)}}
.ax-glyph{position:relative;font-size:calc(var(--cw)*.3);line-height:1;color:var(--gold-hi,#E8D3A2);text-shadow:0 0 18px rgba(201,166,107,.55);font-family:"Segoe UI Symbol","Noto Sans Symbols","Apple Symbols",serif}
.ax-q{font-family:"Cinzel",Georgia,serif;margin:18% 0 10%;opacity:.5}
.ax-name{display:block;margin-top:auto;font-family:"Cinzel",Georgia,serif;font-weight:600;font-size:calc(var(--cw)*.088);letter-spacing:.1em;color:var(--gold-hi,#E8D3A2)}
.ax-sub{display:block;font-family:"Cormorant Garamond",Georgia,serif;font-style:italic;font-size:calc(var(--cw)*.078);line-height:1.15;color:var(--ink);margin-top:2px}
.ax-el{display:block;font-size:calc(var(--cw)*.05);letter-spacing:.16em;text-transform:uppercase;color:var(--gold-soft);margin-top:4px}
.ax-line{display:block;font-family:"Cormorant Garamond",Georgia,serif;font-size:calc(var(--cw)*.07);line-height:1.2;color:var(--muted);margin-top:5%}
.ax-empty .ax-art{justify-content:center}
.ax-empty .ax-name{margin-top:0;color:var(--gold-soft)}
@media (max-width:560px){.ax-line,.ax-el{display:none}.ax-sub{font-size:calc(var(--cw)*.095)}}
.ax-burst{position:absolute;left:50%;top:42%;pointer-events:none}
.ax-burst i{position:absolute;width:4px;height:4px;margin:-2px;border-radius:50%;background:#F1E2BC;box-shadow:0 0 8px #E8D3A2;animation:axSpark .9s ease-out forwards}
@keyframes axSpark{to{transform:translate(var(--dx),var(--dy)) scale(.2);opacity:0}}
.ax-after{opacity:0;transform:translateY(12px);transition:opacity .6s,transform .6s;margin-top:30px}
.ax-done .ax-after{opacity:1;transform:none}
.ax-sum{margin:0;font-family:"Cinzel",Georgia,serif;letter-spacing:.08em;color:var(--gold)}
.ax-sum b{font-weight:600}
.ax-say{font-size:20px;line-height:1.35;color:var(--ink);max-width:560px;margin:8px auto 18px}
.ax-after .actions{justify-content:center}
@media (prefers-reduced-motion:reduce){.ax-specks i{animation:none}.ax-const line{stroke-dashoffset:0}.ax-const circle{opacity:.9}.ax-card .ax-const *{animation:none!important}.ax-after{transition:none}}

/* ---------- front page band ---------- */
.ax-band{position:relative;margin:44px 0 8px;padding:26px 24px 24px;border:1px solid var(--gold-soft);border-radius:6px;
  background:radial-gradient(70% 90% at 15% 0%,rgba(201,166,107,.10),transparent 60%),var(--surface);
  box-shadow:inset 0 0 0 5px #1E1A15,inset 0 0 0 6px rgba(201,166,107,.25)}
.ax-band-head{text-align:center}
.ax-band h2{margin:8px 0 0;font-family:"Cinzel",Georgia,serif;font-weight:600;font-size:clamp(22px,3vw,30px);letter-spacing:.08em;color:var(--gold-hi,#E8D3A2)}
.ax-band .ax-chips{justify-content:center}
.ax-editlink{font-size:14px}
.ax-band .ax-say{margin:0 auto 18px}
.ax-witches{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin:0 0 18px}
.ax-witch{width:170px;border:0;background:none;color:var(--ink);display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px;text-align:center}
.ax-witch b{font-weight:500;font-size:15px;margin-top:6px}
.ax-witch .portrait{width:72px;height:72px}
.ax-witch:hover .portrait{box-shadow:0 0 0 4px #1E1A15,0 0 0 5px var(--gold),0 0 18px rgba(201,166,107,.4)}
.ax-why{display:inline-flex;align-items:center;gap:5px;font-size:12px;letter-spacing:.04em;color:var(--gold)}
.ax-why svg{width:8px;height:8px;flex:none}
.ax-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}
.ax-grid .card .ph{aspect-ratio:16/10}
.card .ax-tag{margin-bottom:2px}
.tag.ax-tag{border-color:var(--gold-soft);color:var(--gold)}
/* teaser */
.ax-tease{display:flex;align-items:center;gap:32px;padding:28px 32px}
.ax-tease-copy{flex:1;text-align:left}
.ax-tease .ax-eyebrow{justify-content:flex-start}
.ax-tease p{font-size:19px;line-height:1.4;color:var(--muted);margin:6px 0 16px;max-width:520px}
.ax-tease-cards{position:relative;width:190px;height:150px;flex:none}
.ax-mini{position:absolute;left:50%;top:6px;width:76px;aspect-ratio:7/12;margin-left:-38px;--cw:76px;color:var(--gold-soft);
  transform:rotate(calc((var(--i) - 1)*14deg)) translateX(calc((var(--i) - 1)*44px));transform-origin:50% 120%;transition:transform .45s cubic-bezier(.2,.7,.2,1)}
.ax-mini .ax-face{transform:none}
.ax-tease:hover .ax-mini{transform:rotate(calc((var(--i) - 1)*18deg)) translateX(calc((var(--i) - 1)*52px)) translateY(-6px)}
@media (max-width:640px){.ax-tease{flex-direction:column;text-align:center;gap:6px;padding:22px 18px}.ax-tease-copy{text-align:center}.ax-tease .ax-eyebrow{justify-content:center}.ax-tease p{margin-left:auto;margin-right:auto}.ax-band{padding:22px 16px}}

/* ---------- witches page strip ---------- */
.ax-wstrip{display:flex;align-items:center;flex-wrap:wrap;gap:8px 10px;margin:4px 0 16px;padding:10px 14px;border:1px solid var(--line);border-radius:10px;background:var(--surface);font-size:15px;color:var(--muted)}
.ax-wpill{border:1px solid var(--gold-soft);background:none;border-radius:999px;padding:4px 12px;color:var(--gold);font-size:14px}
.ax-wpill:hover{background:rgba(201,166,107,.12)}
.ax-wstrip .linkbtn{margin-left:auto;font-size:14px}
.ax-acct-signs{margin-left:6px;color:var(--gold);letter-spacing:.1em}
/* on the customer profile */
.ax-prow{--cw:clamp(92px,calc((100vw - 110px)/3),200px);justify-content:flex-start}
.ax-prow .ax-card.ax-up .ax-const line{animation:none;stroke-dashoffset:0}
.ax-prow .ax-card.ax-up .ax-const circle{animation:none;opacity:.9}
