/* Continuous camera, energy and atmosphere; all layers are real-time. */
.dw-cinematic .dw-opening{height:calc(max(850px,100svh) + 90svh);position:relative;background:#10051f}
.dw-cinematic .dw-opening .dw-hero{position:sticky;top:0;min-height:850px;height:100svh;max-height:none;--journey:0}
.dw-cinematic .dw-hero .dw-hero-scene{animation:dw-living-scene 18s ease-in-out infinite alternate;transform-origin:54% 48%}
.dw-cinematic .dw-hero .dw-hero-top{position:relative;z-index:3;transform:translate3d(0,calc(var(--journey)*-100px),0) scale(calc(1 - var(--journey)*.06));opacity:calc(1 - var(--journey)*.7);transform-origin:50% 0}
.dw-cinematic .dw-hero .dw-hero-bottom{transform:translate3d(0,calc(var(--journey)*-20px),0)}
.dw-cinematic .dw-hero .dw-title{animation:dw-title-emerge 1.5s cubic-bezier(.1,.7,.1,1) both}
.dw-cinematic .dw-hero .dw-title-small{animation:dw-title-emerge 1.2s cubic-bezier(.1,.7,.1,1) both}
.dw-cinematic .dw-hero .dw-hero-halo{animation:dw-halo-breathe 7s ease-in-out infinite alternate;border-color:#df80ff45;box-shadow:0 0 100px #ca42ff20,inset 0 0 120px #4ed3ff0f}
.dw-cinematic .dw-arcane-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;opacity:0;transition:opacity 1.5s;z-index:-4}
.dw-cinematic .dw-scene-ready>.dw-arcane-canvas{opacity:1}
.dw-cinematic .dw-hero .dw-arcane-canvas{z-index:-3}
.dw-cinematic .dw-hero-shade{z-index:-2;background:linear-gradient(180deg,#160425c9,transparent 28%,transparent 48%,#14042094 71%,#140620 98%)}
.dw-cinematic .dw-hero:after{content:'';position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(ellipse at 53% 48%,#75dfff18,transparent 55%);animation:dw-light-pulse 5s ease-in-out infinite}
.dw-cinematic .dw-spell-orbits{position:absolute;left:53%;top:49%;width:min(65vw,1000px);height:min(65vw,1000px);pointer-events:none;z-index:1;transform:translate(-50%,-50%);opacity:.55;mask-image:radial-gradient(ellipse,#000 20%,transparent 71%)}
.dw-cinematic .dw-spell-orbits i{position:absolute;inset:7%;border:1px solid #6ee4ff7a;border-radius:50%;box-shadow:0 0 25px #76d7ff55,inset 0 0 25px #66e5ff30;animation:dw-orbit-x 17s linear infinite}
.dw-cinematic .dw-spell-orbits i:nth-child(2){inset:13%;border-color:#ed73ffad;animation:dw-orbit-y 13s linear infinite reverse;box-shadow:0 0 35px #e852fa55}
.dw-cinematic .dw-spell-orbits i:nth-child(3){inset:22%;border-style:dashed;animation:dw-orbit-x 23s linear infinite reverse}
.dw-cinematic .dw-spell-orbits i:before{content:'';position:absolute;left:50%;top:-5px;width:10px;height:10px;background:#c0f6ff;border-radius:50%;box-shadow:0 0 12px #b1f5ff,0 0 35px #4eceff,0 0 65px #41a9ff}
.dw-cinematic .dw-spell-orbits i:nth-child(2):before{background:#f7bcff;box-shadow:0 0 12px #f7bcff,0 0 35px #dc49ff,0 0 65px #a733f5}
.dw-cinematic .dw-feature{box-shadow:0 28px 80px #09001470,0 0 0 1px #e774ff14}
.dw-cinematic .dw-feature>img{animation:dw-card-camera 13s ease-in-out infinite alternate;transform-origin:center 38%}
.dw-cinematic .dw-feature:nth-child(2)>img{animation-delay:-5s}.dw-cinematic .dw-feature:nth-child(3)>img{animation-delay:-9s}
.dw-cinematic .dw-feature:after{opacity:.8;background:linear-gradient(110deg,transparent 28%,#e8bfff22 48%,transparent 67%);background-size:250% 100%;animation:dw-card-reflection 9s ease-in-out infinite}
.dw-cinematic .dw-features,.dw-cinematic .dw-schools,.dw-cinematic .dw-box{overflow:clip}
.dw-cinematic .dw-features:before,.dw-cinematic .dw-box:before{content:'';position:absolute;inset:-20%;background:radial-gradient(ellipse at 22% 30%,#d721d71f,transparent 40%),radial-gradient(ellipse at 78% 75%,#347ced20,transparent 40%);animation:dw-aurora-drift 16s ease-in-out infinite alternate;pointer-events:none;z-index:-1}
.dw-cinematic .dw-depth-layer{transform:translate3d(0,var(--depth-shift,0px),0) scale(var(--depth-scale,1.07));transition:transform .25s linear;will-change:transform}
.dw-cinematic .dw-box-scene{perspective:1200px}.dw-cinematic .dw-box-scene:after{content:'';position:absolute;inset:10% 14%;border:1px solid #c074ef44;border-radius:50%;box-shadow:0 0 80px #9729f829;animation:dw-orbit-y 21s linear infinite;pointer-events:none;z-index:-1}
.dw-cinematic .dw-edition-art img{animation:dw-box-float 7s ease-in-out infinite;filter:drop-shadow(0 22px 30px #0007)}
.dw-cinematic .dw-coming img{animation:dw-box-float 9s ease-in-out infinite;animation-delay:-3s}.dw-cinematic .dw-coming:nth-child(2) img{animation-delay:-6s}
.dw-cinematic .dw-school-panels{position:relative;isolation:isolate}
.dw-cinematic .dw-magic-live{position:absolute;right:0;top:0;width:61%;height:650px;pointer-events:none;z-index:1;mask-image:radial-gradient(ellipse,#000 40%,transparent 73%)}
.dw-cinematic .dw-magic-live .dw-arcane-canvas{z-index:0}
.dw-cinematic .dw-school-panels:has(.dw-magic-live.dw-scene-ready) .dw-school-art img{opacity:0}
.dw-cinematic .dw-school-copy{z-index:2}
.dw-cinematic .dw-school-tabs button{position:relative}
.dw-cinematic .dw-school-tabs button[aria-selected=true]:after{content:'';height:3px;position:absolute;bottom:-2px;left:0;width:calc(var(--magic-progress,0)*100%);background:linear-gradient(90deg,#ef51ff,#7ef0ff);box-shadow:0 0 16px #bf57ff}
.dw-cinematic .dw-school-panel{animation:dw-spell-copy .8s cubic-bezier(.2,.7,.2,1)}
.dw-cinematic .dw-school-art img{animation:dw-box-float 8s ease-in-out infinite}
.dw-cinematic .dw-schools[data-magic='1']{background:radial-gradient(ellipse at 68% 55%,#3b217a66,transparent 65%),#170724}
.dw-cinematic .dw-schools[data-magic='2']{background:radial-gradient(ellipse at 68% 55%,#7c164055,transparent 65%),#170724}
.dw-cinematic .dw-atmosphere{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:5;opacity:.8}
.dw-cinematic .dw-motion-control{position:fixed;bottom:14px;right:14px;z-index:10001;display:flex;align-items:center;gap:10px;background:#210d36dd;border:1px solid #d281ff7a;border-radius:30px;color:#f5e7ff;padding:10px 15px;font:500 13px/1.5 var(--dw-body);cursor:pointer;backdrop-filter:blur(16px);box-shadow:0 4px 30px #18052b66;min-height:44px}
.dw-cinematic .dw-motion-control>span:first-child{color:#79e8ff;font:500 17px/1 Arial;min-width:15px;text-align:center}
.dw-cinematic .dw-motion-control:hover{border-color:#e7bcff;background:#42165ddd}
@keyframes dw-living-scene{from{transform:scale(1.03) translate3d(-.7%,0,0)}to{transform:scale(1.11) translate3d(.7%,-1%,0)}}
@keyframes dw-title-emerge{from{opacity:0;filter:blur(18px);transform:translateY(40px) scale(1.12);clip-path:inset(0 0 100%)}to{opacity:1;filter:blur(0);transform:translateY(0) scale(1);clip-path:inset(0 0 0)}}
@keyframes dw-halo-breathe{from{transform:scale(.94) rotate(-7deg);opacity:.4}to{transform:scale(1.06) rotate(7deg);opacity:1}}
@keyframes dw-light-pulse{0%,100%{opacity:.2}50%{opacity:1}}
@keyframes dw-orbit-x{0%{transform:perspective(900px) rotateX(67deg) rotateY(12deg) rotateZ(0deg)}50%{transform:perspective(900px) rotateX(48deg) rotateY(-28deg) rotateZ(180deg)}100%{transform:perspective(900px) rotateX(67deg) rotateY(12deg) rotateZ(360deg)}}
@keyframes dw-orbit-y{0%{transform:perspective(900px) rotateX(21deg) rotateY(65deg) rotateZ(0deg)}50%{transform:perspective(900px) rotateX(-21deg) rotateY(45deg) rotateZ(180deg)}100%{transform:perspective(900px) rotateX(21deg) rotateY(65deg) rotateZ(360deg)}}
@keyframes dw-card-camera{from{transform:scale(1.01) translateY(0)}to{transform:scale(1.12) translateY(-2%)}}
@keyframes dw-card-reflection{0%,15%{background-position:160% 0}65%,100%{background-position:-70% 0}}
@keyframes dw-aurora-drift{from{transform:translate(-3%,-2%) rotate(-6deg)}to{transform:translate(4%,3%) rotate(6deg)}}
@keyframes dw-box-float{0%,100%{transform:translateY(8px) rotate(-1.5deg)}50%{transform:translateY(-12px) rotate(1.5deg)}}
@keyframes dw-spell-copy{from{opacity:0;filter:blur(5px);transform:translateY(20px)}to{opacity:1;filter:blur(0);transform:translateY(0)}}
@media(max-width:1199px){.dw-cinematic .dw-magic-live{height:570px}}
@media(max-width:959px){.dw-cinematic .dw-magic-live{width:53.5%;height:570px}.dw-cinematic .dw-spell-orbits{width:100vw;height:100vw}.dw-cinematic .dw-opening{height:calc(max(850px,100svh) + 65svh)}}
@media(max-width:699px){.dw-cinematic .dw-opening{height:auto}.dw-cinematic .dw-opening .dw-hero{position:relative;height:auto;min-height:860px;grid-template-rows:auto minmax(180px,1fr) auto auto;padding-top:25px}.dw-cinematic .dw-hero .dw-arcane-canvas{height:70%;mask-image:linear-gradient(#000 70%,transparent)}.dw-cinematic .dw-spell-orbits{width:120vw;height:120vw;top:35%;opacity:.65}.dw-cinematic .dw-hero .dw-hero-top{transform:none;opacity:1}.dw-cinematic .dw-hero .dw-hero-bottom{transform:none}.dw-cinematic .dw-hero .dw-hero-intro{line-height:1.6}.dw-cinematic .dw-hero .dw-actions{display:grid;grid-template-columns:1fr 1fr;margin-top:20px}.dw-cinematic .dw-hero .dw-actions .dw-button{min-width:0;gap:9px;padding:13px 12px;font-size:14px}.dw-cinematic .dw-hero .dw-age{margin-bottom:15px}.dw-cinematic .dw-hero .dw-hero-meta{padding:17px 0}.dw-cinematic .dw-magic-live{width:calc(100% + 40px);right:-20px;height:380px}.dw-cinematic .dw-motion-control{bottom:12px;right:12px;width:44px;height:44px;padding:10px;justify-content:center}.dw-cinematic .dw-motion-control>span:last-child{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.dw-cinematic .dw-preview-note{max-width:calc(100vw - 74px)}.dw-cinematic .dw-depth-layer{will-change:auto}}
.dw-cinematic.dw-motion-paused .dw-opening{height:auto}.dw-cinematic.dw-motion-paused .dw-opening .dw-hero{position:relative}.dw-cinematic.dw-motion-paused *,.dw-cinematic.dw-motion-paused *:before,.dw-cinematic.dw-motion-paused *:after{animation-play-state:paused!important}
.dw-cinematic.dw-motion-paused .dw-arcane-canvas,.dw-cinematic.dw-motion-paused .dw-atmosphere,.dw-cinematic.dw-motion-paused .dw-spell-orbits{display:none}
.dw-cinematic.dw-motion-paused .dw-school-art img{opacity:1!important}.dw-cinematic.dw-motion-paused .dw-hero .dw-hero-top,.dw-cinematic.dw-motion-paused .dw-hero .dw-hero-bottom{transform:none;opacity:1}.dw-cinematic.dw-motion-paused .dw-title,.dw-cinematic.dw-motion-paused .dw-title-small{animation:none!important;filter:none;clip-path:none;opacity:1}.dw-cinematic.dw-motion-paused .dw-will-reveal{opacity:1!important;translate:none!important}.dw-cinematic.dw-motion-paused .dw-depth-layer{transform:none}

/* 04 / A continuous arcane journey. Original artwork stays the focal point. */
.dw-cinematic .dw-opening{background:#11061e}
.dw-cinematic .dw-hero-halo{display:none}
.dw-cinematic .dw-spell-orbits{opacity:.32;top:51%;mask-image:radial-gradient(ellipse,#000 10%,transparent 69%)}
.dw-cinematic .dw-cast-control{grid-row:2;align-self:end;justify-self:end;position:relative;z-index:4;display:flex;align-items:center;gap:13px;color:#edddff;background:#24123994;border:1px solid #d395ff66;border-radius:40px;padding:8px 20px 8px 9px;margin:20px 0 40px;min-height:52px;font:400 13px/1.5 var(--dw-body);cursor:pointer;backdrop-filter:blur(18px);box-shadow:0 0 55px #7b3dcc24;transition:border-color .3s,background .3s,box-shadow .3s}
.dw-cinematic .dw-cast-control>span:first-child{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;font:400 29px/1 Arial;color:#a9efff;border:1px solid #bb7bef6b;background:#67369535;box-shadow:0 0 22px #a64ce622;animation:dw-cast-sigil 12s linear infinite}
.dw-cinematic .dw-cast-control:hover{border-color:#99e8ff;background:#582680a6;box-shadow:0 0 50px #b458ec36}
.dw-cinematic .dw-cast-control:active{scale:.98}
.dw-cinematic .dw-cast-ripple{position:absolute;width:50vw;height:50vw;left:53%;top:52%;border:2px solid #baf6ffb0;border-radius:50%;box-shadow:0 0 55px #83daff88,inset 0 0 60px #d667ff6b;opacity:0;z-index:1;pointer-events:none;transform:translate(-50%,-50%)}
.dw-cinematic .dw-features{background:radial-gradient(ellipse at 45% 0%,#71228536,transparent 57%),#130620}
.dw-cinematic .dw-feature-grid{perspective:1600px;--unfold:1}
.dw-cinematic .dw-feature{--fan:-1;transform:perspective(1200px) translateY(calc(var(--unfold)*50px)) rotateX(calc(var(--tilt-x,0deg) + var(--unfold)*12deg)) rotateY(var(--tilt-y,0deg)) rotateZ(calc(var(--fan)*var(--unfold)*7deg));transform-origin:50% 100%;transition:transform .45s ease-out,border-color .5s,box-shadow .5s;border-radius:4px 28px 4px 28px}
.dw-cinematic .dw-feature:nth-child(2){--fan:0}.dw-cinematic .dw-feature:nth-child(3){--fan:1}
.dw-cinematic .dw-feature:hover{border-color:#c48cffa1;box-shadow:0 35px 90px #0300099e,0 0 50px #a42eee25}
.dw-cinematic .dw-story{background:radial-gradient(ellipse at 15% 30%,#512a782f,transparent 60%),#10061c}
.dw-cinematic .dw-story .dw-container{width:min(1500px,calc(100% - 96px))}
.dw-cinematic .dw-story .dw-section-head{max-width:1320px;margin-inline:auto}
.dw-cinematic .dw-story-viewport:after{content:'';position:absolute;inset:0;z-index:4;pointer-events:none;background:linear-gradient(105deg,transparent 33%,#c3a5ff12 48%,transparent 63%);background-size:230% 100%;animation:dw-card-reflection 13s ease-in-out infinite}
.dw-cinematic .dw-story-viewport>.dw-arcane-canvas{z-index:1}
.dw-cinematic .dw-story-viewport.dw-scene-ready>.dw-story-still{opacity:0}
.dw-cinematic .dw-story-reticle{animation:dw-reticle-drift 28s linear infinite;opacity:.8}
.dw-cinematic .dw-story-reticle i:nth-child(2){animation:dw-reticle-drift 19s linear infinite reverse}
.dw-cinematic .dw-story-reticle:before,.dw-cinematic .dw-story-reticle:after{content:'';position:absolute;left:50%;top:-3px;width:5px;height:5px;background:#c4f8ff;box-shadow:0 0 15px #66e0ff,0 0 25px #bc66ff;transform:rotate(45deg)}
.dw-cinematic .dw-story-reticle:after{top:auto;bottom:-3px;background:#dca9ff}
.dw-cinematic .dw-story-caption{transition:translate 1s,opacity 1s}
.dw-cinematic .dw-stage-copy{opacity:.68;transform:translate3d(0,28px,0);transition:opacity .8s,transform 1.2s cubic-bezier(.2,.65,.2,1)}
.dw-cinematic .dw-stage.is-active .dw-stage-copy{opacity:1;transform:translateZ(0)}
.dw-cinematic .dw-stage.is-active .dw-stage-no{color:#b4f0ff}
.dw-cinematic .dw-box-scene{isolation:isolate}
.dw-cinematic .dw-box-scene:before{content:'';position:absolute;width:65%;aspect-ratio:1;left:17.5%;top:5%;border:1px solid #aa6ce64d;border-radius:50%;background:repeating-conic-gradient(from 0deg,#bba0f62e 0deg .3deg,transparent .3deg 5deg);mask-image:radial-gradient(transparent 62%,#000 62.5%,#000 65%,transparent 65.5%);animation:dw-reticle-drift 48s linear infinite;z-index:1;pointer-events:none}
.dw-cinematic .dw-box-scene:after{inset:15% 20%;opacity:.55}
.dw-cinematic .dw-faq-seal:before{animation:dw-reticle-drift 35s linear infinite}
.dw-cinematic .dw-faq-answer:not([hidden]){animation:dw-answer-open .38s ease both}
.dw-cinematic .dw-section-head .dw-word{vertical-align:top}
.dw-cinematic .dw-gamepage-image{will-change:transform;mask-image:linear-gradient(#000 88%,transparent)}
@keyframes dw-cast-sigil{to{transform:rotate(360deg)}}
@keyframes dw-reticle-drift{to{transform:rotate(360deg)}}
@keyframes dw-answer-open{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}

/* These rules deliberately follow the earlier responsive composition. */
@media(min-width:960px){
 .dw .dw-story-layout{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:6%}
 .dw .dw-story-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:0;position:static}
 .dw .dw-stage-copy{width:100%;margin:0}
 .dw .dw-stage{padding:60px 0;min-height:78svh}
}
@media(min-width:700px) and (max-width:959px){
 .dw .dw-story-layout{grid-template-columns:1fr;gap:20px}
 .dw .dw-story-theater{top:0;z-index:6;padding-top:14px;background:#10061cf5;backdrop-filter:blur(20px)}
 .dw .dw-story-viewport{height:42svh;max-height:420px;min-height:280px}
 .dw .dw-story-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:0;margin-top:0}
 .dw .dw-story-nav a{font-size:13px;padding:15px 12px}
 .dw .dw-stage{min-height:75svh;padding:55px 0;align-items:center;scroll-margin-top:calc(42svh + 80px)}
 .dw .dw-stage-copy{width:100%;max-width:650px;margin:0 auto}
 .dw .dw-stage-copy h3{font-size:2.3rem}.dw .dw-stage-copy p{max-width:100%}
 .dw .dw-stage-no{margin-bottom:20px}
 .dw .dw-faq-heading{position:static}.dw .dw-faq-seal{display:none}
}
@media(max-width:699px){
 .dw-cinematic .dw-story .dw-container{width:calc(100% - 40px)}
 .dw-cinematic .dw-opening .dw-hero{min-height:900px;grid-template-rows:auto minmax(180px,1fr) auto auto}
 .dw-cinematic .dw-cast-control{justify-self:center;margin:20px 0 28px;font-size:12px;padding:7px 17px 7px 8px;min-height:45px}
 .dw-cinematic .dw-cast-control>span:first-child{width:29px;height:29px;font-size:25px}
 .dw-cinematic .dw-cast-ripple{width:90vw;height:90vw}
 .dw-cinematic .dw-feature{transform:perspective(1000px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));border-radius:4px 22px 4px 22px}
 .dw .dw-story-layout{grid-template-columns:1fr;gap:0}
 .dw .dw-story-theater{top:0;z-index:6;padding-top:10px;background:#10061cf7;backdrop-filter:blur(16px);margin-inline:-10px}
 .dw .dw-story-viewport{height:32svh;min-height:190px;max-height:280px;clip-path:polygon(0 0,calc(100% - 16px) 0,100% 16px,100% 100%,16px 100%,0 calc(100% - 16px))}
 .dw .dw-story-watermark{font-size:3.5rem;top:13px;left:17px}
 .dw .dw-story-caption{left:18px;right:18px;bottom:20px;gap:5px}
 .dw .dw-story-counter{font-size:10px}.dw .dw-story-label{font-size:14px}
 .dw .dw-story-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:0;padding:0}
 .dw .dw-story-nav a{display:flex;flex-direction:column;align-items:center;gap:3px;font-size:11px;line-height:1.35;padding:10px 7px 12px;text-align:center}
 .dw .dw-story-nav a>span:first-child{margin:0;line-height:16px;font-size:11px}
 .dw .dw-story-nav-label{max-width:110px}
 .dw .dw-stage{min-height:70svh;padding:35px 0;scroll-margin-top:calc(min(32svh,280px) + 110px);align-items:center}
 .dw .dw-stage:last-child{padding-bottom:55px}
 .dw .dw-stage-copy{width:100%;margin:0}
 .dw .dw-stage-no{position:static;font:400 13px/1.5 var(--dw-body);letter-spacing:.15em;color:#c687f6;-webkit-text-stroke:0;margin-bottom:18px}
 .dw .dw-stage-copy h3{font-size:1.85rem;line-height:1.2;margin-bottom:20px}
 .dw .dw-stage-copy p{font-size:16px;line-height:1.75}
 .dw .dw-stage-copy .dw-text-link{font-size:14px;gap:12px}
 .dw .dw-faq{grid-template-columns:1fr;gap:25px;padding-top:45px;margin-top:65px}
 .dw .dw-faq-heading{position:static}.dw .dw-faq-heading .dw-eyebrow{margin-bottom:18px}
 .dw .dw-faq-seal{display:none}
 .dw .dw-faq-question{font-size:16px;gap:12px;padding:23px 0}
 .dw .dw-faq-answer{font-size:16px;line-height:1.8;padding:0 24px 26px 27px}
 .dw .dw-faq-item h3{font:inherit!important}
}
@media(max-height:600px) and (min-width:700px){
 .dw .dw-story-theater{top:25px}.dw .dw-story-viewport{height:65svh;min-height:240px}
 .dw .dw-story-nav-label{display:none}.dw .dw-story-nav{margin-top:0}
}
.dw-cinematic.dw-motion-paused .dw-cast-ripple{display:none}
.dw-cinematic.dw-motion-paused .dw-stage-copy{transform:none;opacity:1}
.dw-cinematic.dw-motion-paused .dw-story-still{transition:none;transform:none}
.dw-cinematic.dw-motion-paused .dw-story-still.is-active{opacity:1}
.dw-cinematic.dw-motion-paused .dw-feature,.dw-cinematic.dw-motion-paused .dw-tilt{transform:none}
.dw-cinematic.dw-motion-paused .dw-faq-answer{animation:none!important}

/* 4.0.3 / Scroll-led magic: three reading beats, then natural release. */
.dw-cinematic .dw-schools{overflow:visible}
.dw-cinematic .dw-magic-track{position:relative}
.dw-cinematic .dw-magic-pin{position:relative;padding-block:8px 20px}
.dw-cinematic .dw-magic-pinned .dw-magic-pin{position:sticky;top:var(--magic-top,16px)}
.dw-cinematic .dw-magic-pin .dw-school-panels{display:grid}
.dw-cinematic .dw-magic-pin .dw-school-panel{grid-area:1/1;min-height:0;align-items:center}
.dw-cinematic .dw-magic-pin .dw-school-panel[hidden]{display:grid;visibility:hidden;pointer-events:none}
.dw-cinematic .dw-magic-pin .dw-school-art img{height:clamp(320px,60svh,620px)}
.dw-cinematic .dw-magic-pin .dw-magic-live{height:100%}
.dw-cinematic .dw-magic-pin .dw-school-copy{padding-block:24px}
.dw-cinematic .dw-magic-pin .dw-school-copy h3{font-size:clamp(2rem,3.4vw,3.5rem);margin-bottom:20px}
.dw-cinematic .dw-magic-pin .dw-school-copy>p:not(.dw-eyebrow){font-size:1rem;line-height:1.75}
.dw-cinematic .dw-magic-pin .dw-school-copy .dw-eyebrow{margin-bottom:18px}
.dw-cinematic .dw-magic-pin .dw-school-copy .dw-button{margin-top:6px}
.dw-cinematic .dw-magic-linear .dw-school-panels{display:block}
.dw-cinematic .dw-magic-linear .dw-school-panel{visibility:visible;pointer-events:auto;padding-block:24px;scroll-margin-top:24px}
.dw-cinematic .dw-magic-linear .dw-magic-live{display:none}
.dw-cinematic .dw-magic-linear .dw-school-art img{opacity:1!important}
.dw-cinematic.dw-motion-paused .dw-magic-pin .dw-school-panel{animation:none!important;opacity:1;filter:none;transform:none}
@media(max-width:699px){
 .dw-cinematic .dw-magic-pin .dw-school-art{margin:0}
 .dw-cinematic .dw-magic-pin .dw-school-art img{height:clamp(140px,24svh,210px);object-fit:contain}
 .dw-cinematic .dw-magic-pin .dw-magic-live{height:clamp(140px,24svh,210px);width:100%;right:0}
 .dw-cinematic .dw-magic-pin .dw-school-tabs button{min-height:58px;padding:10px 6px;font-size:.875rem}
 .dw-cinematic .dw-magic-pin .dw-school-tabs button>span{margin-bottom:4px}
 .dw-cinematic .dw-magic-pin .dw-school-copy{padding:10px 0 0}
 .dw-cinematic .dw-magic-pin .dw-school-copy h3{font-size:1.75rem;margin-bottom:12px}
 .dw-cinematic .dw-magic-pin .dw-school-copy .dw-eyebrow{margin-bottom:10px;font-size:.75rem}
 .dw-cinematic .dw-magic-pin .dw-school-copy>p:not(.dw-eyebrow){margin-bottom:16px;line-height:1.65}
 .dw-cinematic .dw-magic-pin .dw-school-copy .dw-button{min-height:46px;font-size:.875rem;padding:11px 16px}
}

/* Four repeatable spell signatures; the initial arcane lens is unchanged. */
.dw-cinematic .dw-hero[data-spell="fire"] .dw-cast-ripple{border-color:#ffd06c;box-shadow:0 0 80px #ff4b0bdd,inset 0 0 100px #ff9e2888;background:radial-gradient(ellipse at 50% 80%,#ffab3655,transparent 65%);border-radius:45% 55% 47% 53%}
.dw-cinematic .dw-hero[data-spell="water"] .dw-cast-ripple{border-color:#b0f7ff;box-shadow:0 0 45px #008dffcc,inset 0 0 75px #45e8ff99,0 0 0 22px #008dff18,0 0 0 44px #5cdfff22;background:radial-gradient(ellipse,transparent 45%,#2cbcff35 65%,transparent 72%)}
.dw-cinematic .dw-hero[data-spell="violet"] .dw-cast-ripple{border-color:#e6b6ff;box-shadow:0 0 95px #9533ffdd,inset 0 0 110px #da45ff99;background:conic-gradient(from 30deg,transparent,#b02aff55,transparent,#7029ff77,transparent);border-radius:46% 54% 50% 50%}
.dw-cinematic .dw-schools{padding-bottom:36px}

/* Home-page return control stays above the motion toggle on every viewport. */
.dw-cinematic .dw-back-top{position:fixed;right:14px;bottom:calc(72px + env(safe-area-inset-bottom,0px));z-index:10001;display:flex;align-items:center;gap:10px;max-width:calc(100vw - 28px);min-height:46px;padding:11px 17px;background:#251039ed;border:1px solid #af7be5;border-radius:28px;color:#f8f0ff;font:500 13px/1.5 var(--dw-body);box-shadow:0 5px 30px #08021566;backdrop-filter:blur(16px);cursor:pointer}
.dw-cinematic .dw-back-top[hidden]{display:none!important}
.dw-cinematic .dw-back-top>span:first-child{font-size:22px;line-height:1;color:#82eaff}
.dw-cinematic .dw-back-top:hover{background:#452067;border-color:#8ceaff}
.dw-cinematic .dw-back-top:focus-visible{outline:2px solid #8ceaff;outline-offset:4px}
