:root{--bg:#17110e;--panel:#211916;--panel2:#271d18;--line:#4b3830;--cream:#f4eadd;--soft:#c5b9b0;--orange:#f35b39;--orangeLight:#ffa066;--gold:#efb65f;--violet:#bc21e8;--violet2:#f239fb;--ease:cubic-bezier(.2,.8,.2,1);color-scheme:dark}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:35px}body{margin:0;min-width:320px;background:var(--bg);color:var(--cream);font-family:Manrope,"Segoe UI",Arial,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;background-image:radial-gradient(circle at 9% 8%,rgba(243,91,57,.06),transparent 35%),radial-gradient(circle at 93% 60%,rgba(116,36,105,.042),transparent 35%)}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--gold);outline-offset:4px}svg{width:20px;height:20px}::selection{background:var(--violet);color:white}.ambient{position:fixed;pointer-events:none;border-radius:100%;filter:blur(100px);opacity:.24;z-index:-1}.ambient-one{width:470px;height:470px;top:-290px;right:-190px;background:#7f254e;animation:ambientShift 15s ease-in-out infinite alternate}.ambient-two{width:380px;height:380px;left:-220px;bottom:-150px;background:#6c2c1a;animation:ambientShift 18s ease-in-out -7s infinite alternate}.reading-progress{position:fixed;inset:0 auto auto 0;width:0;height:3px;background:linear-gradient(90deg,var(--orange),var(--violet2));box-shadow:0 0 12px var(--orange);z-index:40;pointer-events:none}.site-shell{width:min(1280px,calc(100% - 86px));margin:0 auto}.topbar{display:flex;align-items:center;justify-content:space-between;min-height:75px;border-bottom:1px solid var(--line);gap:18px}.brand{display:inline-flex;align-items:center;gap:11px;font-size:25px;font-weight:900;letter-spacing:-1.2px;line-height:1}.brand-logo{width:39px;height:39px;filter:drop-shadow(0 0 4px rgba(243,91,57,.24));transition:transform .4s var(--ease)}.brand:hover .brand-logo{transform:rotate(20deg)}.top-right{display:flex;align-items:center;gap:22px}.community-status{font-size:11px;letter-spacing:2px;white-space:nowrap;font-weight:800}.community-status i,.chip-dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--orange);box-shadow:0 0 12px var(--orange);vertical-align:middle;margin-right:9px;animation:heartbeat 2.5s ease-in-out infinite}.share-circle,.motion-toggle{background:transparent;color:var(--cream);border:1px solid #665148;transition:transform .3s,border-color .3s,background .3s}.share-circle{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;flex-shrink:0}.share-circle:hover{transform:rotate(-12deg) scale(1.08);border-color:var(--orange);background:#36231b}.motion-icon{font-size:15px;line-height:1}.motion-toggle{border-radius:20px;padding:8px 11px;font-size:10px;font-weight:800;white-space:nowrap;letter-spacing:.5px}.motion-toggle:hover{border-color:var(--orange)}
.hero{display:grid;grid-template-columns:.92fr 1.08fr;gap:24px;min-height:406px;border-bottom:1px solid var(--line);align-items:center}.hero-copy{padding:30px 0 38px}.eyebrow,.section-index{display:flex;align-items:center;gap:12px;letter-spacing:2.2px;font-size:11px;font-weight:800;color:var(--orange)}.short-line{display:inline-block;width:31px;height:2px;background:var(--orange)}.eyebrow-serial{color:#a89c92;margin-left:12px}.hero h1,.section-head h2,.banner h2,.dialog-box h2{font-family:Unbounded,Manrope,Arial,sans-serif;font-weight:900;letter-spacing:-3px;line-height:1.08}.hero h1{margin:25px 0 17px;font-size:clamp(45px,5.5vw,78px)}.title-line{display:block;white-space:nowrap}.title-accent{color:var(--orange);position:relative;text-shadow:0 0 35px rgba(243,91,57,.14)}.hero-arrow{font-family:Manrope,sans-serif;display:inline-block;vertical-align:top;font-size:.68em;margin-left:2px;transition:transform .4s}.hero:hover .hero-arrow{transform:translate(5px,-5px)}.hero-lead{max-width:440px;margin:0 0 26px;color:#d0c5bd;font-size:15px;line-height:1.8}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.cta{min-height:53px;display:inline-flex;justify-content:center;align-items:center;gap:12px;border-radius:4px;font-size:11px;font-weight:900;letter-spacing:.1px;position:relative;overflow:hidden;transition:transform .25s var(--ease),box-shadow .3s,border .3s;background:transparent;white-space:nowrap}.cta:hover,.banner-button:hover{transform:translateY(-4px)}.cta:active,.banner-button:active{transform:translateY(1px) scale(.99)}.cta-primary{background:var(--orange);color:#fff;padding:0 16px 0 13px;border:1px solid #ff7452;box-shadow:inset 0 1px rgba(255,255,255,.22)}.cta-primary:before{content:"";position:absolute;inset:-50% auto -50% -80%;width:38%;transform:skewX(-25deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.34),transparent);animation:buttonSweep 5.5s ease-in-out 1s infinite}.cta-primary:hover{box-shadow:0 9px 30px rgba(243,91,57,.28)}.cta-primary>span{position:relative}.play-circle{width:30px;height:30px;background:#211612;color:var(--cream);display:grid;place-items:center;border-radius:50%;font-size:12px}.cta-ghost{border:1px solid #59453a;color:var(--cream);padding:0 16px}.cta-ghost:hover{border-color:var(--orange);background:#31221c}.smallprint{font-size:12px;color:#bfb3a9;margin:23px 0 0}.smallprint span{color:var(--orange);font-size:25px;vertical-align:-3px;margin-right:8px;display:inline-block;animation:spinSlow 12s linear infinite}
.hero-art{height:410px;min-width:0;position:relative;isolation:isolate;overflow:hidden;display:block;transform:translateZ(0);border-radius:0 0 4px 4px;background:radial-gradient(ellipse at 61% 55%,#4d1659 0%,#261326 48%,transparent 77%),#17110e}.witch-hero-image{position:absolute;inset:0;background-image:url('assets/witch-hero.webp');background-size:100% auto;background-position:center top;background-repeat:no-repeat;z-index:2;transform:translate3d(var(--parallaxX,0px),var(--parallaxY,0px),0) scale(1.03);animation:witchFloat 7s ease-in-out infinite alternate;will-change:transform;mask-image:linear-gradient(to bottom,#000 0%,#000 69%,transparent 94%)}.hero-art:before{content:"";position:absolute;inset:15% 6% 5%;border-radius:50%;z-index:0;background:radial-gradient(circle,rgba(165,0,203,.38),transparent 64%);filter:blur(25px);animation:cauldronBreath 4s ease-in-out infinite alternate}.art-orbit{position:absolute;left:15%;top:1%;width:76%;aspect-ratio:1;border:1px dashed rgba(236,70,244,.23);border-radius:50%;z-index:0;animation:spinSlow 48s linear infinite}.art-orbit:after,.art-orbit:before{content:'✦';position:absolute;color:#d94bf4;font-size:23px}.art-orbit:before{left:12%;top:15%}.art-orbit:after{right:0%;bottom:28%}.art-spark-field{position:absolute;inset:0;overflow:hidden;z-index:4;pointer-events:none}.spark{position:absolute;color:#f25dff;filter:drop-shadow(0 0 6px #bf12e3);animation:sparkle var(--d,4s) ease-in-out var(--delay,0s) infinite;opacity:.4;font-size:var(--size,15px)}.magic-flare{position:absolute;z-index:5;pointer-events:none;color:#f64cff;text-shadow:0 0 17px #eb13ef;animation:heartbeat 3.4s ease-in-out infinite}.f1{left:35%;top:18%;font-size:29px}.f2{left:68%;top:5%;font-size:22px;animation-delay:.8s}.f3{right:7%;bottom:27%;font-size:24px;animation-delay:1.8s}.bubble-container{position:absolute;z-index:5;left:43%;bottom:19%;height:70px;width:41%;pointer-events:none}.bubble-container i{position:absolute;left:var(--bx);bottom:0;border:2px solid rgba(245,116,250,.7);background:rgba(226,21,228,.16);box-shadow:inset 0 0 9px #fa7df7,0 0 12px #c700d9;border-radius:50%;width:var(--s);height:var(--s);animation:bubble 3.8s ease-in var(--lag) infinite}.bubble-container i:nth-child(1){--bx:7%;--s:13px;--lag:0s}.bubble-container i:nth-child(2){--bx:28%;--s:9px;--lag:.9s}.bubble-container i:nth-child(3){--bx:45%;--s:16px;--lag:2.2s}.bubble-container i:nth-child(4){--bx:63%;--s:8px;--lag:1.6s}.bubble-container i:nth-child(5){--bx:80%;--s:12px;--lag:.5s}.bubble-container i:nth-child(6){--bx:94%;--s:6px;--lag:2.9s}.art-bottom-gradient{position:absolute;bottom:0;height:22%;inset-inline:0;z-index:5;pointer-events:none;background:linear-gradient(0deg,rgba(23,17,14,.9),transparent)}.stream-chip{position:absolute;z-index:7;bottom:24px;left:19px;display:flex;align-items:center;min-width:223px;gap:7px;padding:10px 13px;background:rgba(26,14,17,.96);border:1px solid #d84863;border-radius:4px;box-shadow:0 0 17px #4a0e3b}.stream-chip small{display:block;color:#e1d9d6;font-size:9px;letter-spacing:.8px}.stream-chip strong{display:block;margin-top:2px;font-weight:900;letter-spacing:1px;font-size:12px;color:var(--orange)}.stream-chip.is-live .chip-dot{background:#ff354d;animation:heartbeat 1s infinite}.art-hint{position:absolute;z-index:7;right:15px;bottom:32px;font-size:12px;color:#f9d5f6;font-style:italic;transform:rotate(-9deg)}
.platforms-section{padding:28px 0 18px;scroll-margin-top:20px}.section-head{display:flex;justify-content:space-between;align-items:center;gap:20px}.section-index{color:#cbbeb3;letter-spacing:1.8px}.section-index span{color:var(--gold)}.section-head h2{margin:12px 0 17px;font-size:clamp(29px,3.7vw,47px);line-height:1.07;letter-spacing:-1.8px}.section-head h2 em{color:var(--orange);font-style:normal}.asterisk{color:var(--orange)}.handwritten{font-size:16px;font-style:italic;color:#f7e9dd;line-height:1.35;transform:rotate(-4deg);text-align:center}.handwritten span{color:var(--orange);font-size:23px}.platforms-grid{display:grid;grid-template-columns:repeat(60,1fr);gap:12px}.platform-card{--accent:#f35b39;min-height:69px;grid-column:span 20;display:flex;align-items:center;gap:15px;padding:11px 16px;background:linear-gradient(115deg,rgba(37,27,23,.96),rgba(28,21,19,.92));border:1px solid #554037;border-radius:5px;position:relative;overflow:hidden;transition:transform .32s var(--ease),background .3s,border-color .3s,box-shadow .3s;animation:cardEnter .65s both;animation-delay:var(--cardDelay,0ms)}.platform-card:nth-child(n+4){grid-column:span 12}.platform-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--accent);opacity:0;transition:opacity .3s}.platform-card.enabled:hover{transform:translateY(-5px);border-color:var(--accent);background:#2a1f1a;box-shadow:0 15px 30px rgba(0,0,0,.26)}.platform-card.enabled:hover:before{opacity:1}.platform-card.disabled{cursor:default;opacity:.84}.platform-icon{width:51px;height:51px;border:1px solid color-mix(in srgb,var(--accent) 45%,transparent);background:color-mix(in srgb,var(--accent) 12%,#0d0e13);border-radius:12px;color:var(--accent);display:grid;place-items:center;font-size:27px;font-weight:900;flex-shrink:0;transition:transform .4s var(--ease),box-shadow .4s}.platform-card.enabled:hover .platform-icon{transform:rotate(-10deg) scale(1.09);box-shadow:0 0 20px color-mix(in srgb,var(--accent) 20%,transparent)}.platform-info{min-width:0;display:flex;flex:1;flex-direction:column;gap:4px}.platform-info strong{font-size:14px;font-weight:800}.platform-info small{font-size:11px;color:#bfb4ad;line-height:1.4}.platform-action{font-size:10px;letter-spacing:1px;color:#b0a39b}.enabled .platform-action{height:34px;width:34px;border:1px solid #765448;border-radius:50%;display:grid;place-items:center;color:var(--gold);font-weight:900;font-size:24px;transition:transform .3s}.enabled:hover .platform-action{transform:rotate(45deg);color:white;border-color:var(--orange)}.platforms-foot{display:flex;align-items:center;justify-content:space-between;gap:20px;color:#b9aca3;font-size:11px;margin:9px 0 0}.platforms-foot p{margin:0;line-height:1.5}.platforms-foot .asterisk{font-size:19px;vertical-align:-2px;padding-right:6px}.platforms-foot>span{white-space:nowrap;letter-spacing:1px}
.banner{margin:14px 0 15px;min-height:157px;background:linear-gradient(110deg,#ffa36a,#f78c6c 59%,#e94a99 81%,#d46ae9);color:#1c120e;border-radius:4px;position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;gap:18px;padding:16px 34px}.banner:before{content:"";position:absolute;inset:-220px -120px -200px auto;width:650px;border:45px solid rgba(255,222,189,.20);border-radius:50%;pointer-events:none;animation:spinSlow 40s linear infinite}.banner-copy{position:relative;z-index:3;flex:1 1 38%;min-width:290px}.banner-kicker{font-size:10px;font-weight:900;letter-spacing:.5px;margin:0 0 9px}.banner h2{font-size:clamp(25px,3.2vw,42px);line-height:1.07;letter-spacing:-2px;margin:0;white-space:nowrap}.banner h2 span{color:#7c1e1c}.banner-middle{position:relative;z-index:4;flex:0 0 206px;margin-left:-12px;align-self:center}.banner-middle p{font-size:11px;font-weight:800;line-height:1.5;margin:0 0 10px}.banner-button{background:#17110e;color:#fff;border:1px solid #4b3325;border-radius:3px;display:flex;justify-content:space-between;align-items:center;min-width:188px;min-height:42px;gap:18px;padding:0 15px;font-size:10px;font-weight:900;transition:transform .25s,box-shadow .25s}.banner-button:hover{box-shadow:0 12px 22px rgba(28,10,22,.36)}.banner-illustration{position:absolute;z-index:2;right:8%;top:-8px;width:41%;height:calc(100% + 20px);pointer-events:none;overflow:visible}.banner-image{position:absolute;inset:0;background-image:url('assets/witch-qr.webp');background-repeat:no-repeat;background-position:center;background-size:cover;mask-image:linear-gradient(90deg,transparent,#000 20%,#000 74%,transparent 100%);animation:bannerWobble 6s ease-in-out infinite alternate;filter:saturate(1.15)}.banner-id{position:absolute;z-index:5;right:18px;bottom:12px;font-size:10px;font-weight:800;letter-spacing:.5px;white-space:nowrap}.banner-rays{pointer-events:none;position:absolute;inset:0;background:radial-gradient(circle at 76% 50%,rgba(249,44,254,.35),transparent 28%);animation:cauldronBreath 3.7s ease-in-out infinite alternate}.banner-star{position:absolute;color:white;text-shadow:0 0 9px #fff}.banner-star.one{top:15%;left:2%;animation:sparkle 3s infinite}.banner-star.two{bottom:10%;right:6%;animation:sparkle 4.3s 1s infinite}.footer{border-top:1px solid var(--line);padding:18px 0 35px;display:flex;gap:35px;align-items:start}.footer-brand{font-weight:900;font-size:19px;letter-spacing:-.8px}.footer p{margin:0;color:#bcada4;font-size:11px;line-height:1.6}.footer-right{margin-left:auto;text-align:right;display:flex;flex-direction:column;gap:8px;font-size:10px;letter-spacing:1px}.footer-right a{color:var(--orange);font-weight:900}.footer-right a:hover{text-decoration:underline}
/* Modal: functional QR generation, real permanent URL only. */
.qr-dialog{width:min(470px,calc(100vw - 24px));max-height:min(92dvh,800px);padding:0;border:1px solid #6d433d;border-radius:12px;background:#211613;color:var(--cream);box-shadow:0 30px 100px #000a;overflow-y:auto;overscroll-behavior:contain}.qr-dialog::backdrop{background:rgba(8,5,7,.80);backdrop-filter:blur(11px)}.qr-dialog[open]{animation:dialogIn .3s var(--ease)}.dialog-box{padding:21px 24px 25px}.dialog-header{display:flex;justify-content:space-between;align-items:center;color:var(--orange);font-weight:900;font-size:10px;letter-spacing:1px}.close-modal{color:var(--cream);border:1px solid #695043;background:transparent;width:34px;height:34px;border-radius:50%;font-size:25px;line-height:1}.close-modal:hover{background:#613025}.dialog-box h2{font-size:29px;letter-spacing:-1px;margin:14px 0 9px}.dialog-box h2 span{color:var(--orange)}.dialog-intro{font-size:12px;color:#daccc4;line-height:1.6;margin:0 0 13px}.qr-display{background:#f5ebde;max-width:270px;margin:12px auto 15px;padding:12px 12px 10px;color:#17110e;border-radius:6px;box-shadow:0 0 40px #f35b3920}.qr-canvas-box{position:relative;aspect-ratio:1;background:white;display:grid;place-items:center;border-radius:3px}.qr-canvas-box canvas{width:100%;height:100%;image-rendering:pixelated}.qr-placeholder{position:absolute;inset:12px;display:grid;place-items:center;text-align:center;padding:15px;color:#32241d;font-size:13px;font-weight:800;background:#fff}.qr-placeholder[hidden]{display:none}.qr-label{margin-top:7px;display:flex;justify-content:space-between;align-items:end;gap:6px}.qr-label strong{font-size:18px;font-weight:900}.qr-label small{font-size:8px;font-weight:800}.dialog-box label{display:block;margin:15px 0 6px;font-size:10px;font-weight:900;letter-spacing:.5px}.dialog-box input{color:white;background:#140f0e;border:1px solid #6a5146;border-radius:5px;outline:0;padding:12px;width:100%;font-size:13px}.dialog-box input:focus{border-color:var(--orange);box-shadow:0 0 0 3px #f35b3927}.qr-help{color:#c3aea1;font-size:11px;line-height:1.5;min-height:31px;margin:9px 0}.dialog-actions{display:flex;gap:10px}.dialog-actions button{flex:1;padding:11px 8px;border-radius:4px;font-weight:900;font-size:10px;min-height:43px}.dialog-actions button:first-child{border:1px solid #765547;background:transparent;color:var(--cream)}.dialog-actions button:last-child{border:1px solid var(--orange);background:var(--orange);color:white}.dialog-actions button:hover{filter:brightness(1.15)}.toast{position:fixed;z-index:60;bottom:25px;left:50%;transform:translate(-50%,25px);padding:13px 20px;background:#30211c;color:var(--cream);border:1px solid var(--orange);border-radius:8px;box-shadow:0 12px 40px #0008;font-size:13px;font-weight:800;opacity:0;pointer-events:none;transition:opacity .3s,transform .3s;max-width:calc(100% - 28px);text-align:center}.toast.show{opacity:1;transform:translate(-50%,0)}
/* Motion: layered and accessible */
.enter{animation:enter .85s var(--ease) both}.hero-copy{animation-delay:.10s}.hero-art{animation-delay:.25s}.reveal{opacity:1}.js-ready .reveal:not(.visible){opacity:0;transform:translateY(27px)}.js-ready .reveal{transition:opacity .75s var(--ease),transform .75s var(--ease)}.js-ready .reveal.visible{opacity:1;transform:none}
@keyframes enter{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes ambientShift{to{transform:translate(95px,-45px) scale(1.2)}}@keyframes heartbeat{50%{opacity:.6;transform:scale(.73);box-shadow:0 0 18px var(--orange)}}@keyframes spinSlow{to{transform:rotate(360deg)}}@keyframes buttonSweep{0%,65%{left:-80%}90%,100%{left:130%}}@keyframes witchFloat{from{transform:translate3d(var(--parallaxX,0px),calc(var(--parallaxY,0px) + 3px),0) scale(1.045)}to{transform:translate3d(var(--parallaxX,0px),calc(var(--parallaxY,0px) - 9px),0) scale(1.03)}}@keyframes cauldronBreath{from{opacity:.55;transform:scale(.97)}to{opacity:1;transform:scale(1.10)}}@keyframes sparkle{0%,100%{opacity:0;transform:scale(.35) rotate(0deg)}35%,65%{opacity:1;transform:scale(1.2) rotate(90deg)}}@keyframes bubble{0%{transform:translateY(0) scale(.5);opacity:0}18%{opacity:.8}75%{opacity:.85}100%{transform:translateY(-72px) translateX(11px) scale(1.28);opacity:0}}@keyframes cardEnter{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes bannerWobble{from{transform:translateY(5px) rotate(-1deg)}to{transform:translateY(-6px) rotate(1deg)}}@keyframes dialogIn{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:1120px){.site-shell{width:min(100% - 48px,1280px)}.hero{grid-template-columns:.9fr 1.1fr}.hero h1{font-size:clamp(43px,5.4vw,64px)}.hero-art{height:370px}.banner{padding-left:24px}.banner-copy{min-width:245px}.banner-middle{flex-basis:175px}.banner h2{font-size:31px}.banner-illustration{right:3%;width:44%}}
@media(max-width:810px){.site-shell{width:min(100% - 32px,650px)}.topbar{min-height:71px}.brand{font-size:22px}.community-status{display:none}.top-right{gap:9px}.hero{grid-template-columns:1fr;gap:0}.hero-copy{padding:27px 4px 20px}.hero h1{font-size:clamp(45px,9vw,72px)}.hero-art{height:auto;aspect-ratio:1.66;margin:0 -3px 15px;max-height:410px}.hero-lead{margin-bottom:22px}.platforms-section{padding-top:24px}.section-head h2{font-size:clamp(29px,6.5vw,45px)}.platform-card{grid-column:span 30}.platform-card:nth-child(n+4){grid-column:span 30}.platforms-grid{gap:10px}.banner{min-height:240px;align-items:flex-start;padding:21px 23px;flex-direction:column;gap:12px}.banner-copy,.banner-middle{min-width:0;flex:auto;margin:0}.banner h2{font-size:clamp(30px,5.7vw,38px)}.banner-middle p{max-width:250px}.banner-illustration{right:0;width:63%;top:28px;height:calc(100% - 30px)}.banner-id{bottom:9px}.footer{gap:14px}.footer p{display:none}}
@media(max-width:515px){.site-shell{width:calc(100% - 28px)}.topbar{min-height:64px}.brand{font-size:19px;gap:6px}.brand-logo{height:32px;width:32px}.motion-toggle{padding:7px 9px}.motion-toggle #motionText{display:none}.share-circle{width:34px;height:34px}.share-circle svg{width:17px}.hero-copy{padding-top:28px}.eyebrow{font-size:9px}.hero h1{font-size:clamp(39px,10vw,53px);letter-spacing:-2px;margin:20px 0 16px}.hero-lead{font-size:13px;line-height:1.7}.cta{min-height:47px;font-size:10px}.cta-primary{padding:0 10px;gap:8px}.cta-ghost{padding:0 10px;gap:7px}.cta-ghost svg{width:15px}.play-circle{height:25px;width:25px}.smallprint{font-size:11px;margin-top:17px}.hero-art{aspect-ratio:1.56;min-height:218px}.stream-chip{left:5px;bottom:8px;min-width:0;padding:7px 9px;gap:2px}.stream-chip small{font-size:7px}.stream-chip strong{font-size:9px}.chip-dot{width:7px;height:7px}.art-hint{right:5px;bottom:9px;font-size:9px}.section-head h2{font-size:clamp(26px,7vw,38px);letter-spacing:-1.5px}.section-index{font-size:9px}.handwritten{font-size:10px;max-width:105px}.platform-card{grid-column:span 60;min-height:62px;padding:8px 12px}.platform-card:nth-child(n+4){grid-column:span 60}.platform-icon{width:44px;height:44px;font-size:24px}.platform-info strong{font-size:13px}.platform-info small{font-size:11px}.platforms-foot{font-size:10px}.banner{min-height:332px;padding:18px 18px}.banner h2{font-size:clamp(25px,7.2vw,38px)}.banner-middle{align-self:flex-start}.banner-middle p{max-width:175px;font-size:10px}.banner-button{min-width:170px;font-size:9px;min-height:37px}.banner-illustration{width:95%;top:auto;bottom:-7px;right:-11%;height:190px;opacity:.91}.banner-id{font-size:8px}.footer{padding-bottom:25px}.footer-brand{font-size:16px}.footer-right{font-size:9px}}
@media(max-width:375px){.hero h1{font-size:37px}.cta{font-size:9px}.hero-actions{gap:8px}.section-head h2{font-size:26px}.handwritten{display:none}.dialog-actions{flex-direction:column}.banner h2{font-size:26px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.js-ready .reveal:not(.visible){opacity:1;transform:none}}
html.motion-off{scroll-behavior:auto}html.motion-off *,html.motion-off *::before,html.motion-off *::after{animation:none!important;transition:none!important}html.motion-off .reveal,html.motion-off .enter{opacity:1!important;transform:none!important}

/* CHASIKOFF HUB v3 — layout repair, keep approved design */
@media(min-width:811px){
  .banner-copy{flex:0 0 40%;min-width:0}
  .banner-middle{flex:0 0 195px;margin-left:0}
  .banner-illustration{width:40%;right:0}
}
.platforms-grid{grid-template-columns:repeat(12,minmax(0,1fr));min-width:0;width:100%;gap:12px}
.platform-card{min-width:0;max-width:100%;grid-column:span 4}
.platform-card:nth-child(n+4){grid-column:span 3}
.hero-copy,.platforms-section,.section-head,.banner-copy,.banner-middle{min-width:0}
@media(max-width:810px){
  .hero{grid-template-columns:minmax(0,1fr)}
  .platform-card,.platform-card:nth-child(n+4){grid-column:span 6}
  .banner{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto 1fr;align-items:start;align-content:start;gap:0;min-height:363px;padding:21px 23px}
  .banner-copy,.banner-middle{position:relative;width:100%;max-width:100%;min-width:0;margin:0;flex:initial;align-self:start}
  .banner-copy{grid-row:1}
  .banner-middle{grid-row:2;margin-top:11px}
  .banner-middle p{max-width:255px}
  .banner-illustration{top:auto;bottom:-5px;right:-2%;width:70%;height:210px;opacity:.98}
  .banner-image{background-size:cover;background-position:right center}
  .banner-id{right:12px;bottom:8px}
}
@media(max-width:515px){
  .platform-card,.platform-card:nth-child(n+4){grid-column:span 12}
  .site-shell{max-width:calc(100% - 28px)}
  .hero h1{font-size:clamp(34px,9.1vw,50px);letter-spacing:-2px}
  .hero-arrow{font-size:.60em;margin-left:0}
  .section-head{align-items:flex-end;gap:8px}
  .section-head h2{font-size:clamp(24px,6.7vw,35px);letter-spacing:-1.4px}
  .handwritten{font-size:10px;max-width:96px;flex:0 0 96px}
  .banner{min-height:390px;padding:20px 19px;gap:0}
  .banner h2{font-size:clamp(22px,6.8vw,34px);letter-spacing:-1.7px}
  .banner-middle{margin-top:14px}
  .banner-middle p{font-size:11px;line-height:1.5;max-width:270px;margin-bottom:12px}
  .banner-button{min-height:40px;min-width:188px}
  .banner-illustration{width:100%;height:180px;bottom:0;right:0;top:auto;opacity:1}
  .banner-image{background-size:auto 188px;background-position:right -55px bottom 0;mask-image:linear-gradient(90deg,transparent,#000 20%,#000 97%)}
  .banner-id{bottom:5px;right:9px;font-size:8px}
}
@media(max-width:365px){
  .hero-art{min-height:0;aspect-ratio:1.56}
  .hero h1{font-size:33px}
  .hero-actions{gap:8px}
  .cta{font-size:9px;gap:6px;padding-inline:8px}
  .cta-ghost{padding-inline:9px}
  .banner h2{font-size:23px}
}

/* CHASIKOFF HUB: public visitor edition */
#motionText{display:none!important}
.motion-toggle{width:42px;height:42px;padding:0;display:grid;place-items:center;border-radius:50%;flex-shrink:0}
.platforms-grid.is-short .platform-card{grid-column:span 6}
.qr-help a{font-weight:900;color:var(--orange);text-decoration:underline;text-underline-offset:3px}
@media(max-width:810px){.platforms-grid.is-short .platform-card{grid-column:span 6}}
@media(max-width:515px){
  .platforms-grid.is-short .platform-card{grid-column:span 12}
  .motion-toggle{width:34px;height:34px}
}

/* CHASIKOFF platform vector icons */
.platform-icon img{display:block;width:29px;height:29px;max-width:78%;max-height:78%;object-fit:contain;filter:drop-shadow(0 0 3px var(--accent))}
@media(max-width:515px){.platform-icon img{width:27px;height:27px}}

/* CHASIKOFF V4 — interactive magical glyphs and portal transitions */
.platform-card,.cta,.share-circle,.banner-button {position:relative;isolation:isolate}
.platform-card > :not(.click-spark){position:relative;z-index:2}
.platform-card{touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:transform .2s ease,box-shadow .3s ease,border-color .3s ease}
.platform-action,.enabled .platform-action{flex:0 0 48px;width:48px;height:48px;border:0;background:none;display:grid;place-items:center;overflow:visible}
.platform-action img{display:block;width:46px;height:46px;object-fit:contain;filter:drop-shadow(0 0 5px rgba(248,71,195,.25));animation:neonIdle 3.7s ease-in-out infinite;transition:transform .35s cubic-bezier(.17,.89,.32,1.35),filter .35s}
.platform-card.enabled:hover .platform-action,.platform-card.enabled:focus-visible .platform-action{transform:none;border:0;background:none}
.platform-card.enabled:hover .platform-action img,.platform-card.enabled:focus-visible .platform-action img{transform:rotate(-8deg) scale(1.18);filter:drop-shadow(0 0 9px #e82bbf)}
.platform-card.is-activating{transform:scale(.985);border-color:#f878ba;box-shadow:0 0 0 1px #f878ba40,0 0 22px rgba(236,54,167,.36)}
.platform-card.is-activating .platform-action img{animation:neonJump .55s cubic-bezier(.2,.9,.2,1)}
.click-spark{position:absolute!important;z-index:1!important;pointer-events:none!important;width:54px;height:54px;transform:translate(-50%,-50%) scale(.1);border:1px solid #ffd7a3;border-radius:50%;background:radial-gradient(circle,rgba(255,255,240,.65) 0%,rgba(246,75,184,.34) 25%,transparent 66%);box-shadow:0 0 12px #f04ab3,0 0 25px #ff994666;animation:tapBloom .58s ease-out both}
.share-glyph{width:26px;height:26px;object-fit:contain;display:block;filter:drop-shadow(0 0 6px #ec34dc55);transition:transform .35s ease,filter .35s ease;animation:neonIdle 4s ease-in-out infinite}
.share-circle .share-glyph{width:34px;height:34px;max-width:90%;max-height:90%}
.share-circle:hover .share-glyph,.cta-ghost:hover .share-glyph{transform:rotate(-7deg) scale(1.14);filter:drop-shadow(0 0 10px #ed4cce)}
.share-circle.is-activating .share-glyph,.cta-ghost.is-activating .share-glyph{animation:neonJump .52s both}
.cta.is-activating,.banner-button.is-activating{box-shadow:0 0 18px #f44ca868!important;transform:scale(.975)}
.banner-button{overflow:hidden}
.banner-arrow-glyph{display:block;width:35px;height:35px;object-fit:contain;filter:drop-shadow(0 0 5px #ea34d950);animation:neonIdle 3.2s ease-in-out infinite;transition:transform .3s ease}
.banner-button:hover .banner-arrow-glyph{transform:rotate(-12deg) scale(1.13)}
.banner-button.is-activating .banner-arrow-glyph{animation:neonJump .52s both}
.qr-dialog{isolation:isolate}
.qr-dialog::before{content:"";position:absolute;right:-75px;top:-85px;width:240px;height:240px;z-index:0;border-radius:50%;pointer-events:none;background:conic-gradient(from 25deg,transparent,#9f1d8445,#f35b3933,transparent,#ce46c747,transparent);filter:blur(24px);animation:portalAura 9s linear infinite}
.dialog-box{position:relative;z-index:1}
.qr-dialog[open]{animation:portalEnter .56s cubic-bezier(.16,1,.3,1) both}
.qr-dialog[open]::backdrop{animation:portalBack .4s ease-out both}
.qr-dialog[open] .qr-canvas-box{animation:qrManifest .72s cubic-bezier(.18,.9,.22,1.15) .09s both}
.qr-dialog[open].is-closing{animation:portalExit .22s ease-in both!important}
.qr-dialog[open].is-closing::backdrop{animation:portalBackdropExit .22s both}
.qr-dialog[open].is-closing .qr-canvas-box{animation:none}
.qr-dialog .qr-modal-glyph{position:absolute;right:22px;top:61px;width:58px;height:58px;object-fit:contain;pointer-events:none;opacity:.95;filter:drop-shadow(0 0 10px rgba(245,57,217,.4))}
.qr-dialog[open] .qr-modal-glyph{animation:qrWiggle .85s cubic-bezier(.2,.8,.3,1) both}
.qr-dialog .dialog-box h2{padding-right:55px}
.qr-display{position:relative;box-shadow:0 0 18px #fd7e9d33,0 0 45px #a342e622}
.qr-display::before{content:"";position:absolute;inset:-5px;pointer-events:none;border:1px solid #f34fa27c;border-radius:9px;animation:qrFramePulse 4s ease-in-out infinite}
.qr-dialog .dialog-actions button{transition:transform .22s,box-shadow .22s,filter .22s}
.qr-dialog .dialog-actions button:active{transform:scale(.97)}
@keyframes neonIdle{0%,100%{filter:drop-shadow(0 0 3px rgba(243,66,183,.21))}50%{filter:drop-shadow(0 0 8px rgba(252,77,202,.55))}}
@keyframes neonJump{0%{transform:scale(1) rotate(0)}30%{transform:scale(.83) rotate(-12deg)}66%{transform:scale(1.28) rotate(11deg)}100%{transform:scale(1) rotate(0)}}
@keyframes tapBloom{0%{opacity:.95;transform:translate(-50%,-50%) scale(.12)}100%{opacity:0;transform:translate(-50%,-50%) scale(4.5)}}
@keyframes portalEnter{0%{opacity:0;transform:translateY(32px) scale(.82);filter:brightness(1.8)}64%{opacity:1;filter:brightness(1.2)}100%{opacity:1;transform:translateY(0) scale(1);filter:brightness(1)}}
@keyframes portalBack{0%{background:rgba(8,5,7,0);backdrop-filter:blur(0)}100%{background:rgba(8,5,7,.8);backdrop-filter:blur(11px)}}
@keyframes portalExit{to{opacity:0;transform:translateY(18px) scale(.93)}}
@keyframes portalBackdropExit{to{background:rgba(8,5,7,0);backdrop-filter:blur(0)}}
@keyframes qrManifest{from{opacity:0;transform:perspective(500px) rotateY(-21deg) scale(.79);filter:brightness(1.7)}to{opacity:1;transform:perspective(500px) rotateY(0) scale(1);filter:brightness(1)}}
@keyframes portalAura{to{transform:rotate(360deg)}}
@keyframes qrWiggle{from{opacity:0;transform:rotate(26deg) scale(.4)}65%{opacity:1;transform:rotate(-8deg) scale(1.13)}to{transform:rotate(0) scale(1)}}
@keyframes qrFramePulse{0%,100%{opacity:.6;box-shadow:0 0 10px #ed3ab044}50%{opacity:1;box-shadow:0 0 17px #ed3ab077}}
@media(max-width:515px){
  .platform-action,.enabled .platform-action{width:43px;height:43px;flex-basis:43px}
  .platform-action img{width:41px;height:41px}
  .qr-dialog .qr-modal-glyph{width:44px;height:44px;right:20px;top:71px}
  .qr-dialog .dialog-box h2{padding-right:43px;font-size:clamp(22px,6.8vw,29px)}
  .banner-arrow-glyph{width:31px;height:31px}
}
@media(hover:none){.platform-card.enabled:hover:not(.is-activating){transform:none}.platform-card.enabled:hover:not(.is-activating) .platform-action img{transform:none}}
/* Keep recognizable platform marks, but give each a CHASIKOFF magic frame. */
.platform-card .platform-icon{box-shadow:inset 0 0 10px rgba(223,50,170,.16),0 0 10px color-mix(in srgb,var(--accent) 12%,transparent);transition:transform .32s,box-shadow .32s,border-color .32s}
.platform-card.is-activating .platform-icon{animation:neonJump .52s ease-out both;box-shadow:0 0 17px #ed39be78,0 0 9px var(--accent)}
.platform-card:focus-visible{outline:2px solid #ffab66;outline-offset:4px}


/* Faster mobile paint on slow connections */
@media(max-width:810px){.js-ready .reveal:not(.visible){opacity:1;transform:none}.ambient{filter:blur(58px);opacity:.18}.witch-hero-image{will-change:auto}}


/* Native CHASIKOFF stream schedule — mobile-first, no embedded calendar UI. */
.schedule-section{padding:37px 0 29px;scroll-margin-top:30px;min-width:0}
.schedule-head{align-items:end;gap:12px}
.schedule-head h2{font-size:clamp(26px,3.35vw,42px);margin:11px 0 17px}
.schedule-head h2 em{font-style:normal;color:var(--orange)}
.schedule-tz{font-size:10px;letter-spacing:.7px;color:#e7b892;font-weight:800;white-space:nowrap;padding-bottom:19px}
.schedule-shell{overflow:hidden;background:linear-gradient(138deg,#21191b,#261821 78%,#221818);border:1px solid #67443e;border-radius:12px;box-shadow:0 22px 70px #0003}
.schedule-feature{position:relative;isolation:isolate;overflow:hidden;padding:27px 32px 28px;background:radial-gradient(ellipse at 93% 43%,#72304974,transparent 40%),linear-gradient(120deg,#3b221c 0%,#28191d 58%,#321a2c 100%);border-bottom:1px solid #70453e;min-height:236px}
.schedule-feature::before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:linear-gradient(90deg,#f35b39,#ffa066 45%,#ec3fc8 100%);z-index:2}
.schedule-feature-top{display:flex;align-items:center;justify-content:space-between;gap:12px;position:relative;z-index:1}
.schedule-live-indicator{display:inline-flex;align-items:center;gap:8px;padding:7px 11px;border:1px solid #e7684d80;background:#6b312641;border-radius:4px;color:#ffb997;font-size:10px;font-weight:900;letter-spacing:1px}
.schedule-live-indicator i{width:7px;height:7px;border-radius:50%;background:#f35b39;box-shadow:0 0 14px #f35b39}
.schedule-tagline{font-size:9px;color:#d5ada5;letter-spacing:1.1px;font-weight:900}
.schedule-feature-body{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(195px,.7fr);align-items:center;gap:16px;margin-top:18px;position:relative;z-index:1}
.schedule-feature-copy{min-width:0}
.schedule-kicker{font-size:10px;font-weight:900;letter-spacing:1.6px;color:#f8a16e;margin-bottom:12px}
.schedule-feature-copy h3{font:900 clamp(24px,3vw,39px)/1.16 Unbounded,Manrope,sans-serif;letter-spacing:-1.6px;max-width:700px;margin:0;text-wrap:balance;overflow-wrap:anywhere}
.schedule-feature-copy h3 span{color:#ff986d}
.schedule-feature-copy p{font-size:12px;color:#dec5bb;line-height:1.65;margin:15px 0 0}
.schedule-timer{justify-self:end;display:flex;flex-direction:column;gap:9px;min-width:0;text-align:right;align-items:flex-end;border-left:1px solid #aa635862;padding-left:21px}
.schedule-timer-caption{font-size:10px;font-weight:900;letter-spacing:1.1px;color:#ebc6b1}
.schedule-timer strong{font:900 clamp(17px,2.5vw,32px)/1.2 Unbounded,Manrope,sans-serif;letter-spacing:-1.5px;font-variant-numeric:tabular-nums;white-space:nowrap;color:#fff2df;text-shadow:0 0 19px #fc865154}
.schedule-timer-bottom{font-size:9px;letter-spacing:1.2px;font-weight:800;color:#c6a4b4}
.schedule-mini-star{color:#fa58c5}
.schedule-list-heading{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:18px 23px 12px}
.schedule-list-heading>span:first-child{font-size:12px;letter-spacing:1.2px;font-weight:900}
.schedule-list-heading b{color:#fa9172;font-size:18px}
.schedule-updated{font-size:9px;font-weight:900;letter-spacing:1px;color:#dbab96;text-align:right}
.schedule-events{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:0 17px 20px}
.schedule-event{display:flex;align-items:center;gap:12px;min-width:0;padding:15px 12px;border-radius:7px;background:#322320;border:1px solid #68423b;transition:border-color .2s,transform .2s}
.schedule-event:hover{border-color:#f18b69;transform:translateY(-2px)}
.schedule-event-date{min-width:52px;flex:0 0 52px;text-align:center;border-right:1px solid #805347;padding-right:11px}
.schedule-event-date strong{display:block;font:900 25px/1.1 Unbounded,Manrope,sans-serif;color:#ffa16f}
.schedule-event-date small{display:block;color:#dfb29a;font-size:10px;font-weight:900;text-transform:uppercase;margin-top:7px}
.schedule-event-info{min-width:0;display:flex;flex-direction:column;gap:6px}
.schedule-event-info strong{font-size:12px;font-weight:900;line-height:1.32;overflow-wrap:anywhere}
.schedule-event-info small{font-size:10px;letter-spacing:.2px;color:#ceb5ac}
.schedule-event:first-child{border-color:#cf755d}
.schedule-empty{grid-column:1/-1;border:1px dashed #704743;border-radius:7px;padding:24px;text-align:center;color:#d6b1a3;font-size:11px;letter-spacing:.6px;font-weight:800;line-height:1.6}
.schedule-empty span{color:#f987ab}
.schedule-footer{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding:14px 22px;border-top:1px solid #553b37;background:#231a1c}
.schedule-footer>span{font-size:10px;color:#b8a09d;font-weight:900;letter-spacing:.7px}
.schedule-footer>span span{color:#f65aae}
.schedule-footer a{font-size:10px;color:#ffa16f;font-weight:900;letter-spacing:.6px;text-decoration:none;transition:color .2s}
.schedule-footer a:hover{color:#ffe1ba}
.stream-chip[href]{cursor:pointer;text-decoration:none;transition:border-color .2s,box-shadow .2s}
.stream-chip[href]:hover{border-color:var(--orange);box-shadow:0 0 22px #9e367e44}
@media(max-width:900px){.schedule-feature{padding:23px}.schedule-feature-body{grid-template-columns:minmax(0,1fr) minmax(160px,.7fr)}.schedule-event{padding:11px 8px;gap:9px}.schedule-event-date{flex-basis:46px;min-width:46px;padding-right:8px}.schedule-events{padding:0 12px 14px;gap:7px}.schedule-event-info strong{font-size:11px}}
@media(max-width:690px){.schedule-section{padding:20px 0}.schedule-tz{padding-bottom:17px;font-size:9px}.schedule-feature{padding:19px 17px 22px;min-height:unset}.schedule-feature-body{display:flex;flex-direction:column;align-items:stretch;gap:21px}.schedule-feature-copy h3{font-size:clamp(22px,6vw,31px)}.schedule-timer{align-items:flex-start;justify-self:stretch;text-align:left;border-left:0;border-top:1px solid #805347;padding:14px 0 0;width:100%;gap:7px}.schedule-timer strong{font-size:clamp(23px,6.1vw,31px)}.schedule-tagline{display:none}.schedule-events{grid-template-columns:1fr}.schedule-event{padding:14px 13px}.schedule-event-info strong{font-size:13px}.schedule-event-date{flex-basis:55px;min-width:55px}.schedule-list-heading{padding:15px 15px 12px}.schedule-footer{padding:14px 16px}}
@media(max-width:420px){.schedule-head h2{font-size:clamp(21px,6.7vw,28px)}.schedule-tz{font-size:8px;letter-spacing:0}.schedule-feature-copy h3{font-size:21px;letter-spacing:-.6px}.schedule-feature-copy p{font-size:11px}.schedule-list-heading>span:first-child{font-size:10px}.schedule-updated{font-size:8px}}


/* Explicit LIVE state controlled by a timed [LIVE] event in the stream calendar. */
.schedule-feature.is-live{background:radial-gradient(ellipse at 80% 36%,#c13e3f8a,transparent 47%),linear-gradient(120deg,#431d1b,#2c181e 64%,#3f1830);box-shadow:inset 0 0 45px #fd5d2c0a}
.schedule-feature.is-live::before{background:linear-gradient(90deg,#ff342b,#fc6d38 65%,#fb2c9f);box-shadow:0 0 15px #ff433988}
.schedule-feature.is-live .schedule-live-indicator{border-color:#ff504b;background:#9b252b6d;color:#fff3e5;box-shadow:0 0 22px #ec222530}
.schedule-feature.is-live .schedule-live-indicator i{background:#ff332f;box-shadow:0 0 11px #ff332f;animation:heartbeat 1.15s ease-in-out infinite}
.schedule-feature.is-live .schedule-timer strong{color:#ff9778;text-shadow:0 0 25px #ff422b7d}
.schedule-watch{position:relative;z-index:3;display:inline-flex;align-items:center;justify-content:center;gap:16px;margin-top:17px;border-radius:5px;background:linear-gradient(96deg,#ff603b,#eb365a);box-shadow:0 6px 20px #fe55354a;border:1px solid #ff9b7c;padding:13px 17px;color:#fff;font:900 11px/1.1 Unbounded,Manrope,sans-serif;letter-spacing:.2px;transition:transform .2s,filter .2s}
.schedule-watch:hover{filter:brightness(1.12);transform:translateY(-2px)}
.schedule-watch span{font-size:18px}
.schedule-watch[hidden]{display:none!important}
