:root{--dsm-pointer-x:50vw;--dsm-pointer-y:50vh}
.dsm-scroll-progress{position:fixed;inset:0 0 auto;height:3px;transform-origin:0 50%;background:linear-gradient(90deg,#7f1d1d,#dc2626,#ff526a);box-shadow:0 0 18px rgba(220,38,38,.75);z-index:100000;pointer-events:none}
.dsm-ambient{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:0}
.dsm-ambient-orb{position:absolute;width:34vw;height:34vw;min-width:280px;min-height:280px;border-radius:999px;filter:blur(100px);opacity:.08;background:#dc2626;animation:dsm-orb-drift 14s ease-in-out infinite alternate}
.dsm-orb-one{left:-12vw;top:8vh}.dsm-orb-two{right:-14vw;bottom:4vh;animation-delay:-7s;animation-duration:18s}
.dsm-scanline{position:absolute;inset:0;opacity:.055;background:repeating-linear-gradient(to bottom,transparent 0,transparent 5px,rgba(255,255,255,.035) 6px,transparent 7px);animation:dsm-scan 12s linear infinite}
.dsm-particle{position:absolute;display:block;border-radius:50%;background:#ff435a;box-shadow:0 0 12px rgba(220,38,38,.75);opacity:0;animation:dsm-particle-float 11s ease-in-out infinite}
.dsm-cursor-glow{position:fixed;left:-18px;top:-18px;width:36px;height:36px;border-radius:50%;pointer-events:none;z-index:99998;transform:translate(-50%,-50%);border:1px solid rgba(255,70,90,.65);box-shadow:0 0 0 1px rgba(255,255,255,.04),0 0 28px rgba(220,38,38,.22),inset 0 0 14px rgba(220,38,38,.12);mix-blend-mode:screen}
.dsm-cursor-glow::after{content:'';position:absolute;left:50%;top:50%;width:4px;height:4px;border-radius:50%;background:#fff;transform:translate(-50%,-50%);box-shadow:0 0 10px #ff334f}
.dsm-page-transition{position:fixed;inset:0;z-index:99997;pointer-events:none;transform-origin:100% 50%;background:linear-gradient(90deg,transparent 0 10%,rgba(255,255,255,.035) 10% 10.2%,transparent 10.2% 100%),linear-gradient(135deg,#120305,#dc2626 48%,#3f070d)}
.dsm-reveal{opacity:0;transform:translate3d(0,28px,0) scale(.985);filter:blur(5px);transition:opacity .75s cubic-bezier(.22,1,.36,1),transform .85s cubic-bezier(.22,1,.36,1),filter .75s cubic-bezier(.22,1,.36,1);transition-delay:var(--dsm-reveal-delay,0ms)}
.dsm-reveal-visible{opacity:1;transform:translate3d(0,0,0) scale(1);filter:blur(0)}
.dsm-tilt-card{--dsm-tilt-x:0deg;--dsm-tilt-y:0deg;--dsm-glow-x:50%;--dsm-glow-y:50%;transform:perspective(1000px) rotateX(var(--dsm-tilt-x)) rotateY(var(--dsm-tilt-y)) translateZ(0);transform-style:preserve-3d;transition:transform .5s cubic-bezier(.22,1,.36,1),box-shadow .35s ease,border-color .35s ease}
.dsm-tilt-card::before{content:'';position:absolute;inset:0;pointer-events:none;border-radius:inherit;opacity:0;background:radial-gradient(220px circle at var(--dsm-glow-x) var(--dsm-glow-y),rgba(255,55,78,.16),transparent 70%);transition:opacity .35s ease}
.dsm-tilt-card:hover{border-color:rgba(220,38,38,.42)!important;box-shadow:0 18px 55px rgba(0,0,0,.38),0 0 30px rgba(220,38,38,.09)}.dsm-tilt-card:hover::before{opacity:1}
main a,main button{position:relative;overflow:hidden;isolation:isolate;transition:transform .22s cubic-bezier(.22,1,.36,1),box-shadow .25s ease,border-color .25s ease,background-color .25s ease,color .25s ease}
main a:not([disabled]):hover,main button:not([disabled]):hover{transform:translateY(-2px)}
main a:not([disabled]):active,main button:not([disabled]):active{transform:translateY(1px) scale(.985)}
main a::after,main button::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(105deg,transparent 20%,rgba(255,255,255,.16) 45%,transparent 70%);transform:translateX(-130%);transition:transform .65s cubic-bezier(.22,1,.36,1)}
main a:hover::after,main button:hover::after{transform:translateX(130%)}
.dsm-ripple-host{position:relative!important;overflow:hidden!important}.dsm-click-ripple{position:absolute;border-radius:50%;pointer-events:none;background:radial-gradient(circle,rgba(255,255,255,.28) 0%,rgba(220,38,38,.16) 38%,transparent 70%);transform:scale(0);animation:dsm-ripple .65s cubic-bezier(.2,.8,.2,1) forwards;z-index:10}
.dsm-scrolled header{background:rgba(5,5,5,.9)!important;border-color:rgba(220,38,38,.14)!important;box-shadow:0 12px 45px rgba(0,0,0,.28);backdrop-filter:blur(24px)}
.dsm-scrolled header>div{height:82px;transition:height .35s cubic-bezier(.22,1,.36,1)}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}.dsm-cursor-glow,.dsm-ambient,.dsm-page-transition,.dsm-scroll-progress{display:none!important}.dsm-reveal{opacity:1!important;transform:none!important;filter:none!important}}
@media (pointer:coarse){.dsm-cursor-glow{display:none}.dsm-tilt-card{transform:none!important}}
@keyframes dsm-orb-drift{0%{transform:translate3d(-5%,-3%,0) scale(.92)}50%{transform:translate3d(10%,8%,0) scale(1.08)}100%{transform:translate3d(-4%,14%,0) scale(.98)}}
@keyframes dsm-scan{from{transform:translateY(-12%)}to{transform:translateY(12%)}}
@keyframes dsm-particle-float{0%,100%{opacity:0;transform:translate3d(0,30px,0) scale(.5)}18%{opacity:.7}50%{opacity:.25;transform:translate3d(20px,-35px,0) scale(1)}82%{opacity:.55}}
@keyframes dsm-ripple{0%{opacity:.8;transform:scale(0)}100%{opacity:0;transform:scale(1)}}
@media(max-width:768px){.dsm-ambient-orb{opacity:.045;filter:blur(70px)}.dsm-particle{opacity:.35}}
