.sage-magic{--ember:#e89048;--ember-hot:#f4a766;--ember-deep:#b9601f;--intensity:.7;--speed:1}.sage-magic .scene{isolation:isolate;place-items:center;width:100%;min-height:min(720px,90vh);padding:clamp(2rem,6vw,4rem) clamp(1rem,4vw,2rem);display:grid;position:relative;overflow:hidden}.sage-magic .ambient{pointer-events:none;z-index:0;background:radial-gradient(38% 30% at 32% 62%, color-mix(in oklab, var(--ember) calc(18% * var(--intensity)), transparent), transparent 70%), radial-gradient(28% 22% at 32% 62%, color-mix(in oklab, var(--ember-hot) calc(14% * var(--intensity)), transparent), transparent 70%);filter:blur(10px);mix-blend-mode:multiply;animation:sage-magic-ambient-breathe calc(9s / var(--speed)) ease-in-out infinite alternate;position:absolute;inset:-10%}@keyframes sage-magic-ambient-breathe{0%{opacity:.35;transform:translateY(2px)scale(1)}to{opacity:.7;transform:translate(-4px,-4px)scale(1.03)}}.sage-magic .stage-row{z-index:1;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:center;gap:clamp(2rem,5vw,5rem);width:min(1180px,100%);display:grid;position:relative}@media (max-width:880px){.sage-magic .stage-row{grid-template-columns:1fr;gap:2rem}.sage-magic .copy{text-align:center;order:2}.sage-magic .stage{order:1}}.sage-magic .stage{aspect-ratio:1;cursor:pointer;width:100%;max-width:520px;margin-inline:auto;position:relative}.sage-magic .halo{pointer-events:none;border:1px dashed color-mix(in oklab, var(--ember-deep) calc(35% * var(--intensity)), transparent);opacity:0;animation:sage-magic-halo-spin calc(80s / var(--speed)) linear infinite, sage-magic-halo-breathe calc(7s / var(--speed)) ease-in-out infinite alternate;border-radius:50%;position:absolute;inset:6%}.sage-magic .halo.h2{border-color:color-mix(in oklab, var(--ember) calc(28% * var(--intensity)), transparent);animation-duration:calc(56s / var(--speed)), calc(6s / var(--speed));animation-direction:reverse,alternate;animation-delay:-2s,-1.4s;inset:14%}.sage-magic .halo.h3{border-style:dotted;border-color:color-mix(in oklab, var(--ember-hot) calc(40% * var(--intensity)), transparent);animation-duration:calc(42s / var(--speed)), calc(5s / var(--speed));animation-delay:-5s,-2.8s;inset:22%}@keyframes sage-magic-halo-spin{to{transform:rotate(360deg)}}@keyframes sage-magic-halo-breathe{0%{opacity:0}45%{opacity:calc(1.1 * var(--intensity))}to{opacity:calc(.15 * var(--intensity))}}.sage-magic .floor-pool{pointer-events:none;background:radial-gradient(50% 90% at 50% 100%, color-mix(in oklab, var(--ember-hot) calc(35% * var(--intensity)), transparent) 0%, color-mix(in oklab, var(--ember) calc(18% * var(--intensity)), transparent) 35%, transparent 78%);filter:blur(8px);mix-blend-mode:multiply;height:18%;animation:sage-magic-floor-pulse calc(4.5s / var(--speed)) ease-in-out infinite alternate;position:absolute;bottom:4%;left:8%;right:8%}@keyframes sage-magic-floor-pulse{0%{opacity:.3;transform:scaleX(.9)}to{opacity:1;transform:scaleX(1.08)}}.sage-magic .sage-wrap{place-items:center;display:grid;position:absolute;inset:0}.sage-magic .sage-stack{transform-origin:50% 90%;width:78%;max-width:520px;animation:sage-magic-breath calc(7s / var(--speed)) ease-in-out infinite alternate;filter:drop-shadow(0 10px 18px color-mix(in oklab, var(--ember) 18%, transparent)) drop-shadow(0 0 22px color-mix(in oklab, var(--ember) calc(22% * var(--intensity)), transparent));place-items:center;transition:filter .45s cubic-bezier(.22,1,.36,1);display:grid;position:relative}.sage-magic .stage:hover .sage-stack{filter:drop-shadow(0 0 38px color-mix(in oklab, var(--ember-hot) calc(55% * var(--intensity)), transparent)) drop-shadow(0 0 80px color-mix(in oklab, var(--ember) calc(38% * var(--intensity)), transparent))}.sage-magic .sage-img{grid-area:1/1;width:100%;height:auto;transition:opacity .52s cubic-bezier(.22,1,.36,1),filter .7s cubic-bezier(.22,1,.36,1);display:block}.sage-magic .sage-img.sage-chant,.sage-magic .stage:hover .sage-idle{opacity:0}.sage-magic .stage:hover .sage-chant{opacity:1}@keyframes sage-magic-breath{0%{transform:translateY(0)scale(1)}to{transform:translateY(-9px)scale(1.03)}}.sage-magic .sage-sway{transform-origin:50% 95%;animation:sage-magic-sway calc(11s / var(--speed)) ease-in-out infinite alternate;place-items:center;display:grid;position:absolute;inset:0}@keyframes sage-magic-sway{0%{transform:rotate(-1.8deg)}to{transform:rotate(1.8deg)}}.sage-magic .orbit-frame{pointer-events:none;transform-origin:50%;transition:transform .9s cubic-bezier(.22,1,.36,1);position:absolute;inset:0}.sage-magic .stage:hover .orbit-frame{transform:scale(.66)}.sage-magic .stage:hover .orbit-frame.of2{transform:scale(.58)}.sage-magic .stage:hover .orbit-frame.of3{transform:scale(.72)}.sage-magic .stage:hover .orbit-frame.of4{transform:scale(.54)}.sage-magic .stage:hover .orbit-frame.of5{transform:scale(.62)}.sage-magic .orbit{pointer-events:none;transform-origin:50%;transition:transform .9s cubic-bezier(.22,1,.36,1);position:absolute;inset:0}.sage-magic .orbit.o1{--orbit-dur:6.2s}.sage-magic .orbit.o2{--orbit-dur:7.4s}.sage-magic .orbit.o3{--orbit-dur:5.4s}.sage-magic .orbit.o4{--orbit-dur:8s}.sage-magic .orbit.o5{--orbit-dur:6.8s}@keyframes sage-magic-orbit-spin{to{transform:rotate(360deg)}}.sage-magic .rune{aspect-ratio:1;pointer-events:none;background:radial-gradient(circle, color-mix(in oklab, var(--ember-hot) calc(70% * var(--intensity)), transparent) 0%, color-mix(in oklab, var(--ember) calc(35% * var(--intensity)), transparent) 30%, transparent 72%);filter:blur(3px);mix-blend-mode:screen;opacity:0;width:14%;animation:sage-magic-rune-pulse calc(3.2s / var(--speed)) ease-in-out infinite;position:absolute}.sage-magic .rune.r1{animation-delay:0s;top:21.16%;left:25.06%}.sage-magic .rune.r2{animation-delay:-.5s;top:44.56%;left:60.16%}.sage-magic .rune.r3{animation-delay:-1s;top:49.24%;left:21.16%}.sage-magic .rune.r4{animation-delay:-1.6s;top:59.38%;left:60.16%}.sage-magic .rune.r5{animation-delay:-2.2s;top:60.16%;left:33.64%}@keyframes sage-magic-rune-pulse{0%,to{opacity:calc(.04 * var(--intensity));transform:scale(.7)}35%{opacity:calc(1 * var(--intensity));transform:scale(1.28)}55%{opacity:calc(.5 * var(--intensity));transform:scale(1.05)}75%{opacity:calc(.2 * var(--intensity));transform:scale(.92)}}.sage-magic .heart-pulse{aspect-ratio:1;pointer-events:none;background:radial-gradient(circle, color-mix(in oklab, #ffeec0 calc(80% * var(--intensity)), transparent) 0%, color-mix(in oklab, var(--ember-hot) calc(35% * var(--intensity)), transparent) 35%, transparent 78%);filter:blur(4px);mix-blend-mode:screen;width:12%;animation:sage-magic-heart-pulse calc(3.2s / var(--speed)) ease-in-out infinite alternate;position:absolute;top:51.02%;left:40.88%}@keyframes sage-magic-heart-pulse{0%{opacity:calc(.25 * var(--intensity));transform:scale(.85)}to{opacity:calc(1 * var(--intensity));transform:scale(1.22)}}.sage-magic .hat-twinkle{aspect-ratio:1;pointer-events:none;background:radial-gradient(circle, #fff8d8cc 0%, color-mix(in oklab, #f6e09a calc(55% * var(--intensity)), transparent) 28%, transparent 65%);mix-blend-mode:screen;opacity:0;width:10%;animation:sage-magic-twinkle calc(6s / var(--speed)) ease-in-out infinite;position:absolute;top:27.84%;left:63.72%}@supports (color:lab(0% 0 0)){.sage-magic .hat-twinkle{background:radial-gradient(circle, lab(97.5131% -1.40157 16.3214/.8) 0%, color-mix(in oklab, #f6e09a calc(55% * var(--intensity)), transparent) 28%, transparent 65%)}}@keyframes sage-magic-twinkle{0%,75%,to{opacity:0;transform:scale(.5)}85%{opacity:calc(1 * var(--intensity));transform:scale(1.45)}94%{opacity:calc(.22 * var(--intensity));transform:scale(.9)}}.sage-magic .motes{pointer-events:none;z-index:1;position:absolute;inset:0;overflow:hidden}.sage-magic .mote{background:radial-gradient(circle, color-mix(in oklab, var(--ember-hot) 70%, transparent) 0%, color-mix(in oklab, var(--ember) 25%, transparent) 55%, transparent 78%);filter:blur(.6px);opacity:0;width:6px;height:6px;animation:sage-magic-mote-rise var(--mote-dur,12s) linear infinite, sage-magic-mote-sway calc(var(--mote-dur,12s) * .45) ease-in-out infinite alternate;animation-delay:var(--mote-delay,0s);will-change:transform, opacity;border-radius:50%;position:absolute;bottom:-10%}@keyframes sage-magic-mote-rise{0%{opacity:0;transform:translateY(0)scale(.6)}8%{opacity:calc(.6 * var(--intensity))}55%{opacity:calc(.35 * var(--intensity))}to{opacity:0;transform:translateY(-110vh)scale(1.05)}}@keyframes sage-magic-mote-sway{0%{margin-left:-10px}to{margin-left:10px}}.sage-magic .mote.big{filter:blur(1.8px);background:radial-gradient(circle, color-mix(in oklab, var(--ember-hot) 65%, transparent) 0%, transparent 78%);width:11px;height:11px}.sage-magic .copy{z-index:2;max-width:28rem;position:relative}.sage-magic .copy .eyebrow{text-transform:uppercase;letter-spacing:.18em;color:var(--muted-foreground);margin:0 0 .85rem;font-size:.75rem;font-weight:500}.sage-magic .copy h2{font-family:var(--font-playfair), ui-serif, Georgia, serif;letter-spacing:-.015em;margin:0 0 1.3rem;font-size:clamp(2.25rem,5vw,3.5rem);font-weight:500;line-height:1.05}.sage-magic .copy h2 em{color:color-mix(in oklab, var(--savory-sage) 85%, var(--ember) 25%);font-style:italic;font-weight:400}.sage-magic .copy p.lead{color:var(--muted-foreground);max-width:26rem;margin:0 0 1.5rem;font-size:1.0625rem;line-height:1.7}.sage-magic .copy p.quiet{font-family:var(--font-playfair), ui-serif, Georgia, serif;color:color-mix(in oklab, var(--ember-deep) 70%, var(--foreground));max-width:24rem;margin:0 0 2rem;font-size:1.05rem;font-style:italic;font-weight:400;line-height:1.55}@media (max-width:880px){.sage-magic .copy,.sage-magic .copy p.lead,.sage-magic .copy p.quiet{margin-inline:auto}}.sage-magic .cta{background:var(--savory-sage);height:44px;color:var(--coconut-cream);box-shadow:0 8px 24px -16px #81826380, 0 0 0 0 color-mix(in oklab, var(--ember) 0%, transparent);border-radius:999px;align-items:center;gap:.5rem;padding:0 1.25rem;font-size:.95rem;font-weight:500;text-decoration:none;transition:background .2s,box-shadow .6s;display:inline-flex}.sage-magic .cta:hover{background:color-mix(in oklab, var(--savory-sage) 90%, black);box-shadow:0 8px 24px -16px #81826399, 0 0 0 6px color-mix(in oklab, var(--ember) 18%, transparent)}.sage-magic .cta .arrow{transition:transform .2s;display:inline-flex}.sage-magic .cta:hover .arrow{transform:translate(2px)}.sage-magic .stage:hover .orbit{animation:sage-magic-orbit-spin var(--orbit-dur) linear infinite}.sage-magic .stage:hover .orbit.o2,.sage-magic .stage:hover .orbit.o4{animation-direction:reverse}.sage-magic .stage:hover .rune{animation-duration:calc(1.6s / var(--speed));filter:blur(4px) drop-shadow(0 0 18px color-mix(in oklab, var(--ember-hot) calc(80% * var(--intensity)), transparent)) drop-shadow(0 0 32px color-mix(in oklab, var(--ember) calc(50% * var(--intensity)), transparent));background:radial-gradient(circle, color-mix(in oklab, var(--ember-hot) calc(100% * var(--intensity)), transparent) 0%, color-mix(in oklab, var(--ember) calc(70% * var(--intensity)), transparent) 30%, transparent 75%)}.sage-magic .stage:hover .halo{animation-duration:calc(28s / var(--speed)), calc(3.4s / var(--speed))}.sage-magic .stage:hover .halo.h2{animation-duration:calc(20s / var(--speed)), calc(3s / var(--speed))}.sage-magic .stage:hover .halo.h3{animation-duration:calc(14s / var(--speed)), calc(2.6s / var(--speed))}.sage-magic .stage:hover .ambient{animation-duration:calc(4.2s / var(--speed))}.sage-magic .stage:hover .floor-pool{animation-duration:calc(2.4s / var(--speed))}.sage-magic .stage:hover .heart-pulse{animation-duration:calc(1.6s / var(--speed))}.sage-magic .charge-ring{pointer-events:none;background:radial-gradient(circle, transparent 52%, color-mix(in oklab, var(--ember-hot) calc(40% * var(--intensity)), transparent) 76%, color-mix(in oklab, var(--ember) calc(20% * var(--intensity)), transparent) 84%, transparent 95%);filter:blur(10px);mix-blend-mode:screen;opacity:0;border-radius:50%;transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .9s cubic-bezier(.22,1,.36,1);position:absolute;inset:14%;transform:scale(.85)}.sage-magic .stage:hover .charge-ring{opacity:1;animation:sage-magic-charge-ring-pulse calc(1.6s / var(--speed)) ease-in-out infinite alternate;transform:scale(1)}@keyframes sage-magic-charge-ring-pulse{0%{filter:blur(10px);transform:scale(.96)}to{filter:blur(14px);transform:scale(1.04)}}.sage-magic .eye-glow{pointer-events:none;background:radial-gradient(ellipse 60% 100% at 28% 50%, color-mix(in oklab, var(--ember-hot) calc(95% * var(--intensity)), transparent) 0%, color-mix(in oklab, var(--ember) calc(50% * var(--intensity)), transparent) 35%, transparent 70%), radial-gradient(ellipse 60% 100% at 72% 50%, color-mix(in oklab, var(--ember-hot) calc(95% * var(--intensity)), transparent) 0%, color-mix(in oklab, var(--ember) calc(50% * var(--intensity)), transparent) 35%, transparent 70%);filter:blur(3px);mix-blend-mode:screen;opacity:0;width:24%;height:5%;transition:opacity .7s;position:absolute;top:33%;left:38%}.sage-magic .stage:hover .eye-glow{opacity:1;animation:sage-magic-eye-flicker calc(2.4s / var(--speed)) ease-in-out infinite alternate}@keyframes sage-magic-eye-flicker{0%{opacity:.55}50%{opacity:1}72%{opacity:.78}to{opacity:1}}.sage-magic .stage:hover .orbit.o1{--orbit-dur:3.4s}.sage-magic .stage:hover .orbit.o2{--orbit-dur:4.2s}.sage-magic .stage:hover .orbit.o3{--orbit-dur:2.8s}.sage-magic .stage:hover .orbit.o4{--orbit-dur:4.8s}.sage-magic .stage:hover .orbit.o5{--orbit-dur:3.6s}.sage-magic .orb-glow{aspect-ratio:1;pointer-events:none;background:radial-gradient(circle, color-mix(in oklab, #fff0c8 calc(95% * var(--intensity)), transparent) 0%, color-mix(in oklab, var(--ember-hot) calc(80% * var(--intensity)), transparent) 22%, color-mix(in oklab, var(--ember) calc(45% * var(--intensity)), transparent) 45%, transparent 78%);filter:blur(8px);mix-blend-mode:screen;opacity:0;width:18%;transition:opacity .6s cubic-bezier(.22,1,.36,1);position:absolute;top:51.14%;left:50.36%}.sage-magic .stage:hover .orb-glow{opacity:1;animation:sage-magic-orb-pulse calc(2.4s / var(--speed)) ease-in-out infinite alternate}@keyframes sage-magic-orb-pulse{0%{filter:blur(7px);opacity:calc(.7 * var(--intensity));transform:scale(.92)}to{filter:blur(11px);opacity:calc(1 * var(--intensity));transform:scale(1.12)}}.sage-magic .orb-cast{aspect-ratio:1;pointer-events:none;background:radial-gradient(circle, color-mix(in oklab, var(--ember-hot) calc(35% * var(--intensity)), transparent) 0%, transparent 60%);filter:blur(20px);mix-blend-mode:screen;opacity:0;width:44%;transition:opacity .7s cubic-bezier(.22,1,.36,1);position:absolute;top:38.14%;left:37.36%}.sage-magic .stage:hover .orb-cast{opacity:1;animation:sage-magic-orb-pulse calc(2.4s / var(--speed)) ease-in-out infinite alternate}.sage-magic .gem-glow{aspect-ratio:1;pointer-events:none;background:radial-gradient(circle, color-mix(in oklab, #ffe0a0 calc(75% * var(--intensity)), transparent) 0%, color-mix(in oklab, var(--ember-hot) calc(45% * var(--intensity)), transparent) 30%, transparent 72%);filter:blur(5px);mix-blend-mode:screen;opacity:0;width:12%;transition:opacity .6s;position:absolute;top:41.66%;left:26.06%}.sage-magic .stage:hover .gem-glow{opacity:1;animation:sage-magic-gem-flicker calc(1.8s / var(--speed)) ease-in-out infinite alternate}@keyframes sage-magic-gem-flicker{0%{opacity:calc(.55 * var(--intensity));transform:scale(.92)}60%{opacity:calc(1 * var(--intensity));transform:scale(1.08)}75%{opacity:calc(.7 * var(--intensity));transform:scale(1)}to{opacity:calc(1 * var(--intensity));transform:scale(1.06)}}.sage-magic .staff-flick{aspect-ratio:1;pointer-events:none;background:radial-gradient(circle, color-mix(in oklab, #fff1c0 calc(95% * var(--intensity)), transparent) 0%, color-mix(in oklab, var(--ember-hot) calc(60% * var(--intensity)), transparent) 40%, transparent 75%);filter:blur(2px);mix-blend-mode:screen;opacity:0;width:4%;animation:sage-magic-staff-flick calc(1.6s / var(--speed)) ease-in-out infinite;transition:opacity .6s;animation-play-state:paused;position:absolute}.sage-magic .stage:hover .staff-flick{animation-play-state:running}.sage-magic .staff-flick.s1{animation-delay:0s;top:51.9%;left:32.4%}.sage-magic .staff-flick.s2{animation-delay:-.55s;top:62.04%;left:34.74%}.sage-magic .staff-flick.s3{animation-delay:-1.1s;top:72.96%;left:37.08%}@keyframes sage-magic-staff-flick{0%,to{opacity:calc(.05 * var(--intensity));transform:scale(.6)}40%{opacity:calc(1 * var(--intensity));transform:scale(1.25)}70%{opacity:calc(.35 * var(--intensity));transform:scale(.9)}}@media (prefers-reduced-motion:reduce){.sage-magic .ambient,.sage-magic .halo,.sage-magic .floor-pool,.sage-magic .sage-img,.sage-magic .sage-stack,.sage-magic .sage-sway,.sage-magic .rune,.sage-magic .heart-pulse,.sage-magic .hat-twinkle,.sage-magic .mote,.sage-magic .orbit,.sage-magic .orbit-frame,.sage-magic .charge-ring,.sage-magic .eye-glow,.sage-magic .orb-glow,.sage-magic .orb-cast,.sage-magic .gem-glow,.sage-magic .staff-flick{animation:none!important}.sage-magic .rune,.sage-magic .heart-pulse,.sage-magic .hat-twinkle{opacity:calc(.6 * var(--intensity))}}
