:root{
  --ink:#050506; --ink2:#0e0e10; --panel:#131316; --line:#28282e;
  --bone:#f3efe8; --bone-dim:#9d968f; --accent:#2f6bff; --accent-dim:#0d2a66; --accent-bright:#4f86ff; --flash:#f4f8ff;
  --neon:#f8f8fb;
  --font-logo:'UnifrakturCook', cursive;
  --font-display:'Cormorant Garamond', serif;
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth; scroll-padding-top:80px;}
body{background:var(--ink); color:var(--bone); font-family:'Inter',sans-serif; overflow-x:hidden; cursor:none;
  padding-top:env(safe-area-inset-top,0px); padding-bottom:env(safe-area-inset-bottom,0px);}
@media(hover:none){ body{cursor:auto;} .cursor-dot,.cursor-ring{display:none;} }
body.admin-page{cursor:auto;}
body.admin-page button, body.admin-page a{cursor:pointer;}
::selection{background:var(--accent); color:#fff;}
h1,h2,h3,.display{font-family:var(--font-display); font-style:italic; font-weight:600; letter-spacing:.2px; line-height:.98;}
a{color:inherit; text-decoration:none;}
img{max-width:100%; display:block;}
button{font-family:inherit; cursor:none;}
.wrap{max-width:1180px; margin:0 auto; padding:0 28px;}

/* ---------- premium fx layers ---------- */
.cursor-dot{position:fixed; top:0; left:0; width:6px; height:6px; border-radius:50%; background:var(--accent);
  z-index:99999; pointer-events:none; transform:translate(-50%,-50%); box-shadow:0 0 10px var(--accent);}
.cursor-ring{position:fixed; top:0; left:0; width:36px; height:36px; border-radius:50%; border:1px solid var(--neon);
  z-index:99998; pointer-events:none; transform:translate(-50%,-50%); transition:width .25s,height .25s,border-color .25s,opacity .25s;
  opacity:.55;}
.cursor-ring.hover{width:60px; height:60px; border-color:var(--accent); opacity:.9;}
.grain{position:fixed; inset:0; z-index:9000; pointer-events:none; opacity:.05; mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  animation:grainMove 1s steps(4) infinite;}
@keyframes grainMove{0%{transform:translate(0,0)} 25%{transform:translate(-2%,1%)} 50%{transform:translate(1%,-2%)} 75%{transform:translate(-1%,2%)} 100%{transform:translate(0,0)}}
.embers{position:fixed; inset:0; z-index:1; pointer-events:none; overflow:hidden;}
.embers span{position:absolute; bottom:-10px; width:3px; height:3px; border-radius:50%; background:var(--accent);
  box-shadow:0 0 8px var(--accent); opacity:0; animation:rise linear infinite;}
@keyframes rise{
  0%{transform:translateY(0) translateX(0); opacity:0;}
  10%{opacity:.8;}
  90%{opacity:.3;}
  100%{transform:translateY(-110vh) translateX(var(--drift,20px)); opacity:0;}
}

/* ---------- CURTAIN INTRO ---------- */
#curtain{position:fixed; inset:0; z-index:9999; display:flex; pointer-events:none;}
.panel{flex:1; background:#000; position:relative; overflow:hidden; transition:transform 1.1s cubic-bezier(.76,0,.24,1);}
.panel::after{content:''; position:absolute; inset:0; background:radial-gradient(ellipse at 50% 50%, rgba(8,20,50,.45), transparent 60%);}
#curtain.open #pL{transform:translateX(-100%);}
#curtain.open #pR{transform:translateX(100%);}
#curtain.hide{display:none;}
#flash{position:fixed; inset:0; background:var(--flash); opacity:0; z-index:10000; pointer-events:none;}
#flash.strike{animation:strike 1.5s steps(1) forwards;}
@keyframes strike{
  0%{opacity:0} 3%{opacity:1} 6%{opacity:.1} 9%{opacity:.85} 13%{opacity:0}
  30%{opacity:0} 33%{opacity:.9} 36%{opacity:.2} 39%{opacity:.7} 43%{opacity:0}
  60%{opacity:0} 63%{opacity:1} 68%{opacity:.15} 74%{opacity:.6} 80%{opacity:0} 100%{opacity:0}
}
body.shake{animation:shakeKey .12s linear;}
@keyframes shakeKey{
  0%,100%{transform:translate(0,0)} 25%{transform:translate(-3px,2px)}
  50%{transform:translate(3px,-2px)} 75%{transform:translate(-2px,3px)}
}
#boltSvg{position:fixed; inset:0; width:100%; height:100%; z-index:10001; pointer-events:none;}
#boltSvg path{fill:none; stroke:var(--bone); stroke-width:2.4;
  filter:drop-shadow(0 0 14px rgba(150,190,255,.85));
  stroke-dasharray:900; stroke-dashoffset:900; opacity:0;}
#boltSvg.draw .bolt1{animation:draw 1.1s .2s cubic-bezier(.2,.8,.2,1) forwards, boltFlick 1.5s .2s forwards;}
#boltSvg.draw .bolt2{stroke-width:1.6; animation:draw .8s .55s cubic-bezier(.2,.8,.2,1) forwards, boltFlick 1.5s .55s forwards;}
#boltSvg.draw .bolt3{stroke-width:1.6; animation:draw .8s .8s cubic-bezier(.2,.8,.2,1) forwards, boltFlick 1.5s .8s forwards;}
@keyframes draw{to{stroke-dashoffset:0}}
@keyframes boltFlick{0%{opacity:0} 4%{opacity:1} 10%{opacity:.2} 16%{opacity:1} 40%{opacity:.6} 75%{opacity:.3} 100%{opacity:0}}
#curtainLogo{position:fixed; inset:0; z-index:10002; display:flex; align-items:center; justify-content:center; pointer-events:none; opacity:0;}
#curtainLogo .t{font-family:var(--font-logo); font-style:normal; font-size:clamp(52px,10vw,130px); letter-spacing:3px; color:var(--bone);
  text-shadow:0 0 30px rgba(248,248,251,.5), 0 0 60px rgba(47,107,255,.4); animation:neonFlicker 2.4s .9s infinite;}
#curtainLogo.show{animation:logoIn 1.6s .6s cubic-bezier(.16,1,.3,1) forwards;}
@keyframes logoIn{0%{opacity:0; letter-spacing:30px; filter:blur(8px)} 60%{opacity:1} 100%{opacity:1; letter-spacing:3px; filter:blur(0)}}
@keyframes neonFlicker{
  0%,19%,21%,23%,54%,56%,100%{opacity:1;}
  20%,22%,55%{opacity:.35;}
}
#curtainLogo.hideout{animation:logoOut .6s forwards;}
@keyframes logoOut{to{opacity:0; filter:blur(8px)}}

/* ---------- NAV ---------- */
header{position:fixed; top:0; left:0; right:0; z-index:500; padding:18px 0; background:linear-gradient(180deg, rgba(10,10,11,.9), transparent); transition:background .3s, backdrop-filter .3s;}
header.scrolled{background:rgba(10,10,11,.85); backdrop-filter:blur(10px); border-bottom:1px solid var(--line);}
nav{display:flex; align-items:center; justify-content:space-between;}
.logo{font-family:var(--font-logo); font-style:normal; font-size:28px; letter-spacing:1px; font-weight:400;}
.logo span{color:var(--accent); text-shadow:0 0 14px rgba(47,107,255,.6);}
.navlinks{display:flex; gap:34px; font-size:14px; font-weight:500; color:var(--bone-dim);}
.navlinks a{position:relative; padding-bottom:3px;}
.navlinks a::after{content:''; position:absolute; left:0; bottom:0; width:0; height:1px; background:var(--accent);
  box-shadow:0 0 8px var(--accent); transition:width .3s ease;}
.navlinks a:hover{color:var(--bone);}
.navlinks a:hover::after{width:100%;}
.navcta{border:1px solid var(--accent-dim); color:var(--bone); padding:9px 20px; border-radius:2px; font-size:13px; font-weight:600; transition:.25s;}
.navcta:hover{background:var(--accent); border-color:var(--accent); box-shadow:0 0 24px rgba(47,107,255,.5); transform:translateY(-2px);}
@media(max-width:760px){.navlinks{display:none}}

/* ---------- HERO ---------- */
.hero{padding:170px 0 90px; position:relative;}
.hero::before{content:''; position:absolute; top:-100px; left:50%; width:900px; height:600px; transform:translateX(-50%);
  background:radial-gradient(ellipse, rgba(47,107,255,.1), transparent 65%); pointer-events:none; z-index:0;}
.hero-single{position:relative; z-index:1; max-width:720px; margin:0 auto; text-align:center;}
.hero-single .btnrow{justify-content:center;}
.eyebrow{font-size:13px; color:var(--accent); font-weight:600; margin-bottom:16px; letter-spacing:1px;}
.hero h1{font-size:clamp(46px,7vw,88px); margin-bottom:22px; font-style:italic;}
.hero h1 em{font-style:italic; color:var(--accent); text-shadow:0 0 30px rgba(47,107,255,.45); animation:emberGlow 3.5s ease-in-out infinite;}
@keyframes emberGlow{0%,100%{text-shadow:0 0 20px rgba(47,107,255,.35)} 50%{text-shadow:0 0 42px rgba(47,107,255,.75), 0 0 70px rgba(47,107,255,.3)}}
.hero p.lead{font-size:17px; line-height:1.7; color:var(--bone-dim); max-width:52ch; margin:0 auto 30px;}
.btnrow{display:flex; gap:16px; flex-wrap:wrap;}
.btn{padding:14px 26px; border-radius:2px; font-weight:600; font-size:14px; transition:transform .2s, box-shadow .3s, background .25s, border-color .25s; display:inline-block; will-change:transform;}
.btn.primary{background:var(--accent); color:#fff; box-shadow:0 0 0 rgba(47,107,255,0);}
.btn.primary:hover{background:var(--accent-bright); box-shadow:0 8px 30px -6px rgba(47,107,255,.65);}
.btn.ghost{border:1px solid var(--line); color:var(--bone);}
.btn.ghost:hover{border-color:var(--neon); box-shadow:0 0 20px -4px rgba(248,248,251,.35);}
.reveal{opacity:0; transform:translateY(24px); transition:opacity .8s ease, transform .8s ease;}
.reveal.in-view{opacity:1; transform:translateY(0);}

/* ---------- PREVIEW SECTION ---------- */
.preview-section{padding:20px 0 130px; position:relative;}
.section-head{max-width:640px; margin:0 auto 40px; text-align:center;}
.section-head h2{font-size:clamp(32px,4.5vw,50px);}
.section-head h2 em{font-style:italic; color:var(--accent); text-shadow:0 0 26px rgba(47,107,255,.4);}
.section-head .sub-lead{color:var(--bone-dim); font-size:15px; margin-top:10px; max-width:48ch; margin-left:auto; margin-right:auto;}

.preview-frame{position:relative; display:grid; grid-template-columns:1.6fr 1fr; background:#000; border:1px solid var(--line);
  border-radius:4px; overflow:hidden; box-shadow:0 50px 90px -45px rgba(0,0,0,.85);}
@media(max-width:860px){.preview-frame{grid-template-columns:1fr;}}

.corner{position:absolute; width:28px; height:28px; z-index:6; pointer-events:none;
  filter:drop-shadow(0 0 6px rgba(248,248,251,.55)); animation:cornerPulse 3s ease-in-out infinite;}
.corner.tl{top:12px; left:12px; border-top:2px solid var(--neon); border-left:2px solid var(--neon);}
.corner.tr{top:12px; right:12px; border-top:2px solid var(--neon); border-right:2px solid var(--neon);}
.corner.bl{bottom:12px; left:12px; border-bottom:2px solid var(--neon); border-left:2px solid var(--neon);}
.corner.br{bottom:12px; right:12px; border-bottom:2px solid var(--neon); border-right:2px solid var(--neon);}
@keyframes cornerPulse{0%,100%{opacity:.55} 50%{opacity:1}}

.stage-col{background:#000; padding:22px; display:flex; flex-direction:column;}
.stage-col .tabs{margin-bottom:14px;}
.panel-col{position:relative; overflow:hidden; border-left:1px solid var(--line); padding:30px; display:flex; flex-direction:column; justify-content:center;
  background-color:#05070c;
  background-image:
    repeating-linear-gradient(135deg, rgba(255,255,255,.045) 0 1px, transparent 1px 15px),
    repeating-linear-gradient(135deg, rgba(47,107,255,.06) 0 1px, transparent 1px 30px),
    linear-gradient(165deg, #0a0f1c 0%, #050608 75%);}
.panel-rain{position:absolute; inset:0; z-index:0; overflow:hidden; pointer-events:none;}
.panel-rain span{position:absolute; top:-6%; width:2px; height:2px; border-radius:50%; background:var(--accent);
  box-shadow:0 0 7px var(--accent), 0 0 2px #fff; opacity:0; animation:panelFall linear infinite;}
@keyframes panelFall{
  0%{top:-6%; opacity:0;}
  12%{opacity:.9;}
  85%{opacity:.4;}
  100%{top:106%; opacity:0;}
}
.panel-content{position:relative; z-index:1;}
.panel-col h3{font-family:var(--font-logo); font-style:normal; font-weight:400; font-size:26px; letter-spacing:1px;
  margin-bottom:18px; color:var(--bone); text-shadow:0 0 16px rgba(248,248,251,.35);}
@media(max-width:860px){.panel-col{border-left:none; border-top:1px solid var(--line);}}

.tabs{display:flex; gap:8px;}
.tab{flex:1; text-align:center; padding:9px 0; font-size:13px; font-weight:600; border:1px solid var(--line); border-radius:2px; color:var(--bone-dim); transition:.2s;}
.tab.active{background:rgba(248,248,251,.07); border-color:var(--neon); color:var(--bone);
  box-shadow:0 0 16px -2px rgba(248,248,251,.3); text-shadow:0 0 10px rgba(248,248,251,.5);}
.stage{position:relative; flex:1; min-height:460px; background:#000; border:1px solid var(--line); border-radius:4px; overflow:hidden;
  box-shadow:0 0 0 1px rgba(248,248,251,.03); animation:stageGlow 5s ease-in-out infinite; touch-action:none;}
@keyframes stageGlow{0%,100%{box-shadow:0 0 0 1px rgba(248,248,251,.03), inset 0 0 40px rgba(248,248,251,.02)}
  50%{box-shadow:0 0 0 1px rgba(248,248,251,.08), inset 0 0 50px rgba(248,248,251,.05)}}
.stage-inner{position:absolute; inset:0; z-index:1; transform-origin:center center;
  transform:translate(var(--panx,0px),var(--pany,0px)) scale(var(--zoom,1)); transition:transform .18s ease-out;}
.stage-inner.panning{transition:none;}
.stage.zoomed .stage-inner{cursor:grab;}
.stage.zoomed .stage-inner.panning{cursor:grabbing;}
.stage .limb{position:absolute; inset:0; width:100%; height:100%; object-fit:contain; user-select:none; pointer-events:none;
  padding:14px; opacity:0; animation:limbIn .6s ease forwards;}
@keyframes limbIn{from{opacity:0; transform:scale(.97)} to{opacity:1; transform:scale(1)}}
.scanline{position:absolute; left:0; right:0; height:2px; top:0; z-index:2; pointer-events:none;
  background:linear-gradient(90deg, transparent, rgba(248,248,251,.75), rgba(248,248,251,.95), transparent);
  box-shadow:0 0 16px rgba(248,248,251,.7); animation:scan 4.5s linear infinite;}
@keyframes scan{0%{top:0; opacity:0} 5%{opacity:1} 95%{opacity:1} 100%{top:100%; opacity:0}}
#overlayImg{position:absolute; top:45%; left:50%; width:110px; transform:translate(-50%,-50%) rotate(0deg);
  display:none; mix-blend-mode:multiply; filter:contrast(1.15) saturate(.1); opacity:.85; cursor:grab; touch-action:none;}
#overlayImg:active{cursor:grabbing;}
.stage .hint{position:absolute; bottom:10px; left:0; right:0; z-index:4; text-align:center; font-size:11px; color:var(--bone-dim); pointer-events:none;}

.zoom-ctrls{position:absolute; top:10px; right:10px; z-index:5; display:flex; align-items:center; gap:5px;
  background:rgba(5,5,6,.6); backdrop-filter:blur(6px); border:1px solid var(--line); border-radius:20px; padding:5px 6px;}
.zoom-ctrls button{width:24px; height:24px; border-radius:50%; border:1px solid var(--line); background:rgba(255,255,255,.04);
  color:var(--bone); font-size:15px; line-height:1; display:flex; align-items:center; justify-content:center; transition:.2s; cursor:pointer;}
.zoom-ctrls button:hover{border-color:var(--accent); color:#fff; background:rgba(47,107,255,.18); box-shadow:0 0 10px -2px var(--accent);}
.zoom-ctrls #zoomReset{font-size:12px;}
#zoomLabel{font-size:11px; color:var(--bone-dim); min-width:36px; text-align:center; letter-spacing:.3px;}
.upload-row{display:flex; gap:10px;}
.upload-label{flex:1; text-align:center; padding:11px; border:1px dashed var(--line); border-radius:2px; font-size:13px; font-weight:600; color:var(--bone-dim); transition:.2s;}
.upload-label:hover{border-color:var(--neon); color:var(--bone); box-shadow:0 0 14px -4px rgba(248,248,251,.35);}
.controls{display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:16px;}
.controls label{font-size:11px; color:var(--bone-dim); display:block; margin-bottom:6px; font-weight:600;}
input[type=range]{width:100%; accent-color:var(--neon);}
select{width:100%; background:#0d0d0f; border:1px solid var(--line); color:var(--bone); padding:8px; border-radius:2px; font-size:12px;}
.ai-note{margin-top:16px; font-size:12px; color:var(--bone-dim); border-top:1px solid var(--line); padding-top:14px; display:flex; gap:8px; align-items:flex-start;}
.ai-dot{width:7px; height:7px; border-radius:50%; background:var(--neon); margin-top:5px; flex-shrink:0; box-shadow:0 0 10px rgba(248,248,251,.8);}

/* ---------- WORKS ---------- */
.works{padding:120px 0;}
.works-head{display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:36px; gap:20px; flex-wrap:wrap;}
.works-head h2{font-size:clamp(34px,5vw,54px);}
.grid{display:grid; grid-template-columns:repeat(4,1fr); gap:16px; perspective:1000px;}
@media(max-width:900px){.grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.grid{grid-template-columns:1fr}}
.card{aspect-ratio:1/1.15; border-radius:4px; overflow:hidden; position:relative; border:1px solid var(--line);
  background:#111; transform:rotateX(var(--rx,0)) rotateY(var(--ry,0)) translateY(0) scale(1);
  transition:transform .25s ease, box-shadow .35s; will-change:transform;}
.card:hover{box-shadow:0 24px 50px -18px rgba(47,107,255,.4); z-index:2;}
.card::after{content:''; position:absolute; inset:0; background:linear-gradient(140deg, rgba(248,248,251,.12), transparent 40%);
  opacity:0; transition:opacity .3s;}
.card:hover::after{opacity:1;}
.card img{width:100%; height:100%; object-fit:cover;}
.card .tag{position:absolute; left:0; right:0; bottom:0; padding:14px; background:linear-gradient(0deg, rgba(0,0,0,.85), transparent); font-size:13px; font-weight:600;}
.card .tag small{display:block; color:var(--bone-dim); font-weight:400; font-size:11px; margin-top:2px;}
.empty-state{border:1px dashed var(--line); border-radius:6px; padding:60px 30px; text-align:center; color:var(--bone-dim);}
.empty-state p{font-size:18px; color:var(--bone); margin-bottom:8px; font-weight:600;}
.empty-state span{font-size:13px;}

/* ---------- CONTACT ---------- */
.contact{padding:20px 0 130px;}
.contact-grid{display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center;}
@media(max-width:860px){.contact-grid{grid-template-columns:1fr; gap:40px;}}
.contact-info h2{font-size:clamp(32px,4.5vw,50px); margin:14px 0 16px;}
.contact-info h2 em{font-style:italic; color:var(--accent); text-shadow:0 0 26px rgba(47,107,255,.4);}
.contact-info p{color:var(--bone-dim); font-size:15px; line-height:1.7; max-width:44ch; margin-bottom:26px;}
.contact-list{display:flex; flex-direction:column; gap:10px;}
.contact-list a{font-size:15px; font-weight:600; color:var(--bone); position:relative; width:fit-content;}
.contact-list a::after{content:''; position:absolute; left:0; bottom:-2px; width:0; height:1px; background:var(--neon);
  box-shadow:0 0 8px rgba(248,248,251,.6); transition:width .3s;}
.contact-list a:hover::after{width:100%;}
.contact-form{background:var(--panel); border:1px solid var(--line); border-radius:6px; padding:30px; position:relative;}
.contact-form label{display:block; font-size:11px; color:var(--bone-dim); font-weight:600; margin:14px 0 6px;}
.contact-form label:first-child{margin-top:0;}
.contact-form input, .contact-form textarea{width:100%; background:#0d0d0f; border:1px solid var(--line); color:var(--bone);
  padding:11px; border-radius:2px; font-size:14px; font-family:inherit; resize:vertical; transition:.2s;}
.contact-form input:focus, .contact-form textarea:focus{outline:none; border-color:var(--neon); box-shadow:0 0 14px -4px rgba(248,248,251,.35);}
.contact-form button{width:100%; margin-top:20px;}
.form-success{display:none; margin-top:14px; font-size:13px; color:var(--bone); background:rgba(248,248,251,.06);
  border:1px solid var(--neon); border-radius:2px; padding:10px 12px; text-align:center;}
.form-success.show{display:block; animation:limbIn .4s ease;}

/* ---------- FOOTER ---------- */
footer{border-top:1px solid var(--line); padding:26px 0;}
.foot-bottom-row{display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px;}
.foot-bottom-row .logo{font-size:20px;}
.foot-bottom-row span{font-size:12px; color:var(--bone-dim);}

/* ---------- ADMIN ---------- */
.admin-body{max-width:760px; margin:0 auto; padding:60px 24px 100px;}
.admin-body h1{font-size:36px; margin-bottom:6px;}
.admin-body .sub{color:var(--bone-dim); margin-bottom:30px; font-size:14px;}
.admin-box{background:var(--panel); border:1px solid var(--line); border-radius:6px; padding:26px; margin-bottom:30px;}
.admin-box label{display:block; font-size:12px; color:var(--bone-dim); font-weight:600; margin-bottom:6px; margin-top:14px;}
.admin-box label:first-child{margin-top:0;}
.admin-box input[type=text], .admin-box input[type=password], .admin-box select, .admin-box input[type=file]{
  width:100%; background:#0d0d0f; border:1px solid var(--line); color:var(--bone); padding:11px; border-radius:2px; font-size:14px; font-family:inherit;}
.admin-box .save{margin-top:20px; width:100%; background:var(--accent); border:none; color:#fff; padding:13px; border-radius:2px; font-weight:600; font-size:14px;}
.admin-box .save:hover{background:var(--accent-bright);}
.admin-list{display:flex; flex-direction:column; gap:10px;}
.admin-row{display:flex; align-items:center; gap:14px; background:var(--panel); border:1px solid var(--line); border-radius:4px; padding:10px 14px;}
.admin-row img{width:52px; height:52px; object-fit:cover; border-radius:3px;}
.admin-row .info{flex:1;}
.admin-row .info b{font-size:14px; display:block;}
.admin-row .info span{font-size:12px; color:var(--bone-dim);}
.admin-row .del{background:transparent; border:1px solid var(--accent-dim); color:var(--accent); padding:8px 14px; border-radius:2px; font-size:12px; font-weight:600;}
.admin-row .del:hover{background:var(--accent); color:#fff;}
.flash-msg{background:var(--accent-dim); border:1px solid var(--accent); padding:12px 16px; border-radius:4px; margin-bottom:20px; font-size:13px;}
.logout{float:right; font-size:13px; color:var(--bone-dim);}
.logout:hover{color:var(--accent);}

@media (prefers-reduced-motion: reduce){ *{animation-duration:.01ms !important; transition-duration:.01ms !important;} }
