/* R17.9: wind, flame, earth and water join into a personal medallion.
   Recent patterns emerge into their own space; the lifelong blend stays whole. */
.fq-reveal{max-width:740px;margin:0 auto;text-align:center;padding:8px 0 20px}
.fq-reveal>.fq-eyebrow{margin-bottom:13px}
.fq-reveal h1{font-size:clamp(2.1rem,4.4vw,3.1rem);line-height:1.13;margin:0 0 16px;letter-spacing:-.025em}
.fq-reveal-status{font-size:.94rem;line-height:1.65;color:var(--muted,#617069);min-height:1.65em;margin:0 auto 10px}
.fq-reveal-stage{position:relative;width:min(100%,400px);height:410px;margin:0 auto;isolation:isolate}
.fq-reveal-orbit{position:absolute;width:272px;height:272px;left:50%;top:7px;transform:translateX(-50%);border:1px solid #b8c5b64d;border-radius:50%;background:radial-gradient(circle,#ecdfcd35,transparent 67%);pointer-events:none}
.fq-reveal-orbit:before,.fq-reveal-orbit:after{content:"";position:absolute;border-radius:50%;inset:14px;border:1px dashed #b9c6b33d}
.fq-reveal-orbit:after{inset:35px;border-style:solid;border-color:#d3b59a40}
.fq-reveal-trails{position:absolute;inset:0;z-index:0;pointer-events:none}
.fq-reveal-trail{position:absolute;width:240px;height:132px;top:139px;left:50%;border:1px solid var(--trail-color);border-radius:50%;opacity:0;transform:translate(-50%,-50%) rotate(var(--trail-angle));box-shadow:0 0 0 6px #fff9ef18}
.fq-reveal-trail:before,.fq-reveal-trail:after{content:"";position:absolute;width:6px;height:6px;background:var(--trail-color);border-radius:50%;top:50%;left:-3px;box-shadow:0 0 0 4px #fff9ef70}
.fq-reveal-trail:after{left:auto;right:-3px;width:3px;height:3px;opacity:.6}
.fq-reveal-source{--from-x:0px;--from-y:-91px;position:absolute;left:50%;top:139px;width:88px;transform:translate(-50%,-50%) translate(var(--from-x),var(--from-y));z-index:4}
.fq-reveal-source-vata{--from-x:-118px;--from-y:-30px}
.fq-reveal-source-kapha{--from-x:118px;--from-y:-30px}
.fq-reveal-source img{display:block;width:100%;height:88px;object-fit:contain;filter:drop-shadow(0 7px 8px #36554813)}
.fq-reveal-source>span{display:block;margin-top:1px;font:1rem Georgia,serif;color:var(--ink,#254b3a)}
.fq-reveal-bloom{position:absolute;left:50%;top:139px;width:0;height:0;z-index:1;opacity:0}
.fq-reveal-bloom i{display:block;position:absolute;left:-23px;top:-58px;width:46px;height:116px;transform:rotate(var(--petal-angle)) translateY(-39px);border:1px solid #ab997c60;border-radius:52% 52% 43% 43%;background:linear-gradient(0deg,transparent,#f5e6ce20);transform-origin:center}
.fq-reveal-orb{position:absolute;left:50%;top:139px;width:174px;height:174px;transform:translate(-50%,-50%) scale(.65);border-radius:50%;opacity:0;z-index:3;filter:drop-shadow(0 12px 18px #3e5e4820)}
.fq-reveal-orb:before{content:"";position:absolute;inset:-8px;border:1px solid #ac98777a;border-radius:50%;box-shadow:0 0 0 3px #fff8eb70}
.fq-reveal-orb:after{content:"";position:absolute;inset:-4px;border:1px dashed #b5a2837a;border-radius:50%;pointer-events:none}
.fq-reveal-orb-color,.fq-reveal-orb-light,.fq-reveal-orb-line{position:absolute;inset:0;border-radius:50%;display:block}
.fq-reveal-orb-color{background:var(--personal-blend);box-shadow:inset 0 0 24px 7px #fff6e9b3;overflow:hidden}
.fq-reveal-orb-color:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 40% 35%,#fffaf3b3,transparent 68%);border-radius:inherit}
.fq-reveal-orb-light{inset:7px;border:1px solid #fff6e9a0;background:radial-gradient(ellipse at 50% 25%,#fff8ed8a 0%,transparent 75%);box-shadow:inset 0 -6px 17px #fbf2e24d}
.fq-reveal-orb-line{inset:16px 22px;border:1px solid #fff9ef85;transform:rotate(-28deg);border-radius:38% 62% 48% 52% / 58% 43% 57% 42%}
.fq-reveal-orb-line:before{content:"";position:absolute;inset:13px -8px;border:1px solid #fff9ef5e;border-radius:58% 42% 61% 39% / 37% 61% 39% 63%;transform:rotate(48deg)}
.fq-reveal-motifs{position:absolute;inset:0;border-radius:50%;isolation:isolate}
.fq-reveal-motif{position:absolute;top:50%;left:50%;width:var(--motif-size);height:var(--motif-size);transform:translate(-50%,-50%) translate(var(--motif-x),var(--motif-y));object-fit:contain;opacity:.97;mix-blend-mode:multiply}
.fq-reveal-orb-bead{position:absolute;bottom:10px;left:50%;width:5px;height:5px;transform:translateX(-50%) rotate(45deg);background:#fff5e0;box-shadow:0 0 0 3px #fff9ef25}
.fq-reveal-natural-label{position:absolute;top:241px;left:0;width:100%;margin:0;font:1.05rem Georgia,serif;color:var(--ink,#254b3a);opacity:0}
.fq-reveal-natural-label>span{display:block;font-size:.69rem;line-height:1.6;letter-spacing:.08em;color:var(--muted,#617069);margin-top:4px}
.fq-reveal-landing{position:absolute;left:50%;top:302px;width:248px;height:75px;border-radius:50%;transform:translateX(-50%);border:1px solid #c18f7040;background:radial-gradient(ellipse,#f5e0d340,transparent 70%);opacity:0}
.fq-reveal-landing:after{content:"";position:absolute;inset:7px;border:1px dashed #c18f702b;border-radius:50%}
.fq-reveal-recent{position:absolute;left:50%;top:139px;width:72px;z-index:2;opacity:0;transform:translate(-50%,-50%) scale(.35)}
.fq-reveal-recent img{display:block;object-fit:contain;width:var(--recent-size,64px);height:var(--recent-size,64px);margin:auto;filter:drop-shadow(0 5px 7px #ad735718)}
.fq-reveal-recent>span{display:block;margin-top:1px;font:.82rem Georgia,serif;color:var(--ink,#254b3a)}
.fq-reveal-recent-label{position:absolute;top:386px;left:0;width:100%;margin:0;font-size:.72rem;color:var(--muted,#617069);letter-spacing:.025em;opacity:0}
.fq-reveal-quiet{position:absolute;top:331px;left:0;width:100%;font-size:.84rem;color:var(--muted,#617069);opacity:0}
.fq-reveal-note{font-size:.84rem;line-height:1.65;color:var(--muted,#617069);max-width:360px;margin:10px auto 9px}
.fq-reveal-skip{min-height:44px;min-width:140px;padding:8px 14px;border-radius:999px}
.fq-reveal-skip:focus-visible{outline:2px solid var(--ink,#254b3a);outline-offset:3px}
.fq-reveal.is-running .fq-reveal-source{animation:fq-reveal-join 1450ms cubic-bezier(.45,0,.2,1) both}
.fq-reveal.is-running .fq-reveal-trail{animation:fq-reveal-weave 1700ms ease-in-out var(--trail-delay) both}
.fq-reveal.is-running .fq-reveal-bloom{animation:fq-reveal-flower 1300ms ease-out 700ms both}
.fq-reveal.is-running .fq-reveal-orb{animation:fq-reveal-blend 1350ms cubic-bezier(.22,.6,.35,1) 600ms both}
.fq-reveal.is-running .fq-reveal-motifs{animation:fq-reveal-motifs 900ms ease-out 1050ms both}
.fq-reveal.is-running .fq-reveal-orbit{animation:fq-reveal-halo 1800ms ease-out both}
.fq-reveal.is-running .fq-reveal-natural-label{animation:fq-reveal-caption 400ms ease 1400ms both}
.fq-reveal.is-running .fq-reveal-recent{animation:fq-reveal-emerge 800ms cubic-bezier(.15,.65,.3,1) calc(1780ms + var(--recent-delay,0ms)) both}
.fq-reveal.is-running .fq-reveal-landing{animation:fq-reveal-caption 450ms ease 1950ms both}
.fq-reveal.is-running .fq-reveal-recent-label,.fq-reveal.is-running .fq-reveal-quiet{animation:fq-reveal-caption 350ms ease 2250ms both}
@keyframes fq-reveal-join{0%,18%{opacity:1;transform:translate(-50%,-50%) translate(var(--from-x),var(--from-y)) scale(1)}75%{opacity:.9;transform:translate(-50%,-50%) translate(calc(var(--from-x) * .1),calc(var(--from-y) * .1)) scale(.65)}100%{opacity:0;transform:translate(-50%,-50%) scale(.45)}}
@keyframes fq-reveal-weave{0%{opacity:0;transform:translate(-50%,-50%) rotate(calc(var(--trail-angle) - 38deg)) scale(.8)}30%{opacity:.48}75%{opacity:.34}100%{opacity:.14;transform:translate(-50%,-50%) rotate(var(--trail-angle)) scale(.94)}}
@keyframes fq-reveal-flower{from{opacity:0;transform:rotate(-15deg) scale(.75)}to{opacity:.72;transform:rotate(0) scale(1)}}
@keyframes fq-reveal-blend{0%{opacity:0;transform:translate(-50%,-50%) scale(.45) rotate(-24deg)}45%{opacity:.86}78%{opacity:1;transform:translate(-50%,-50%) scale(1.025) rotate(2deg)}100%{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(0)}}
@keyframes fq-reveal-motifs{from{opacity:0;transform:scale(.75) rotate(-8deg)}to{opacity:1;transform:scale(1) rotate(0)}}
@keyframes fq-reveal-halo{0%{opacity:.45;transform:translateX(-50%) scale(.85)}70%{opacity:1;transform:translateX(-50%) scale(1.04)}100%{opacity:.5;transform:translateX(-50%) scale(1)}}
@keyframes fq-reveal-caption{from{opacity:0}to{opacity:1}}
@keyframes fq-reveal-emerge{0%{opacity:0;transform:translate(-50%,-50%) scale(.35)}22%{opacity:.9}80%{opacity:1;transform:translate(-50%,-50%) translate(var(--recent-x),209px) scale(1.025)}100%{opacity:1;transform:translate(-50%,-50%) translate(var(--recent-x),202px) scale(1)}}
.fq-reveal.is-reduced .fq-reveal-source{display:none}
.fq-reveal.is-reduced .fq-reveal-orb{opacity:1;transform:translate(-50%,-50%)}
.fq-reveal.is-reduced .fq-reveal-trail{opacity:.14;transform:translate(-50%,-50%) rotate(var(--trail-angle)) scale(.94)}
.fq-reveal.is-reduced .fq-reveal-bloom{opacity:.72}
.fq-reveal.is-reduced .fq-reveal-natural-label,.fq-reveal.is-reduced .fq-reveal-recent-label,.fq-reveal.is-reduced .fq-reveal-quiet,.fq-reveal.is-reduced .fq-reveal-landing{opacity:1}
.fq-reveal.is-reduced .fq-reveal-recent{opacity:1;transform:translate(-50%,-50%) translate(var(--recent-x),202px)}
@media(max-width:420px){.fq-reveal{padding-top:0}.fq-reveal h1{font-size:2.1rem}.fq-reveal-status{max-width:260px;font-size:.86rem;min-height:2.9em;margin-bottom:4px}.fq-reveal-source{width:72px}.fq-reveal-source img{height:72px}.fq-reveal-source-vata{--from-x:-88px}.fq-reveal-source-kapha{--from-x:88px}.fq-reveal-source>span{font-size:.88rem}.fq-reveal-orbit{width:250px;height:250px;top:15px}.fq-reveal-orb{width:160px;height:160px}.fq-reveal-motifs{transform:scale(.92)}.fq-reveal.is-running .fq-reveal-motifs{animation-name:fq-reveal-motifs-small}.fq-reveal-note{font-size:.8rem;max-width:270px}}
@keyframes fq-reveal-motifs-small{from{opacity:0;transform:scale(.7) rotate(-8deg)}to{opacity:1;transform:scale(.92) rotate(0)}}
@media(prefers-reduced-motion:reduce){.fq-reveal *{animation:none!important;transition:none!important}.fq-reveal .fq-reveal-source{display:none}.fq-reveal .fq-reveal-orb{opacity:1;transform:translate(-50%,-50%)}.fq-reveal .fq-reveal-trail{opacity:.14;transform:translate(-50%,-50%) rotate(var(--trail-angle)) scale(.94)}.fq-reveal .fq-reveal-bloom{opacity:.72}.fq-reveal .fq-reveal-natural-label,.fq-reveal .fq-reveal-recent-label,.fq-reveal .fq-reveal-quiet,.fq-reveal .fq-reveal-landing{opacity:1}.fq-reveal .fq-reveal-recent{opacity:1;transform:translate(-50%,-50%) translate(var(--recent-x),202px)}}
