.stack-container{position:relative;width:100%;height:100%;perspective:600px}.card-rotate{position:absolute;width:100%;height:100%;cursor:grab}.card-rotate-disabled{position:absolute;width:100%;height:100%;cursor:pointer}.card{border-radius:1rem;overflow:hidden;width:100%;height:100%;display:flex;align-items:center;justify-content:center}.card img{pointer-events:none;user-select:none;-webkit-user-drag:none}.card-image{width:100%;height:100%;object-fit:cover;pointer-events:none}.class-backdrop{opacity:0;animation:class-backdrop calc(var(--n) * 3s) linear infinite;animation-delay:calc((var(--i) - var(--n)) * 3s)}@keyframes class-backdrop{0%,25%{opacity:1}33%,92%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.class-backdrop{animation:none}.class-backdrop:first-child{opacity:1}}@media(prefers-reduced-motion:no-preference){.reveal-ready [data-reveal]:not(.is-revealed){opacity:0}[data-reveal].is-revealed{animation:reveal .9s cubic-bezier(.16,1,.3,1) backwards;animation-delay:calc(var(--reveal-i, 0) * 90ms)}}@keyframes reveal{0%{opacity:0;translate:0 28px;filter:blur(6px)}}.offer::backdrop{background:#0000008c;backdrop-filter:blur(4px)}@media(prefers-reduced-motion:no-preference){.offer[open]{animation:offer-in .5s cubic-bezier(.16,1,.3,1)}.offer[open]::backdrop{animation:offer-fade .4s ease-out}}@keyframes offer-in{0%{opacity:0;translate:0 24px;scale:.96}}@keyframes offer-fade{0%{opacity:0}}[data-anchor]{scroll-margin-top:7rem}body,h1,h2,h3,h4,h5,h6{font-family:IBM Plex Sans Thai,ui-sans-serif,system-ui,sans-serif}.banner-mesh{background:#000 url(/workshop/banner-mesh.svg) right bottom / cover no-repeat}.banner-mesh-tall{background-image:url(/workshop/banner-mesh-tall.svg);background-size:260% auto}.card-raised{box-shadow:0 0 0 2px #000,inset 1.5px 1.5px #ffffff80,inset 0 0 0 1px #ffffff26,inset -1.5px -1.5px 4px #00000059}@property --mx1{syntax: "<percentage>"; inherits: false; initial-value: 15%;}@property --my1{syntax: "<percentage>"; inherits: false; initial-value: 20%;}@property --mx2{syntax: "<percentage>"; inherits: false; initial-value: 85%;}@property --my2{syntax: "<percentage>"; inherits: false; initial-value: 80%;}@property --mx3{syntax: "<percentage>"; inherits: false; initial-value: 50%;}@property --my3{syntax: "<percentage>"; inherits: false; initial-value: 0%;}.cta-mesh{background-color:#ff8433;background-image:radial-gradient(at var(--mx1) var(--my1),#ffc28c 0%,transparent 55%),radial-gradient(at var(--mx2) var(--my2),#ff6a13 0%,transparent 55%),radial-gradient(at var(--mx3) var(--my3),#ffe2bd 0%,transparent 45%);animation:cta-mesh 7s ease-in-out infinite alternate;position:relative;isolation:isolate;text-shadow:0 1px 0 rgb(255 255 255 / .25);box-shadow:0 0 0 1.5px #3d1600,inset 0 2px #fff9,inset 0 -3px 6px #9632004d,0 8px 18px -6px #0000008c,0 2px 4px #0000004d}.cta-mesh:before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;background:linear-gradient(to bottom,#ffffff52,#ffffff14 50%,#0000000a);pointer-events:none}.cta-mesh:active{transform:translateY(1px) scale(.99);box-shadow:0 0 0 1.5px #3d1600,inset 0 2px #ffffff73,inset 0 -2px 4px #6e1e0066,0 3px 8px -4px #00000080}@keyframes cta-mesh{33%{--mx1: 70%;--my1: 90%;--mx2: 20%;--my2: 10%;--mx3: 90%;--my3: 50%}66%{--mx1: 40%;--my1: 0%;--mx2: 60%;--my2: 100%;--mx3: 10%;--my3: 70%}to{--mx1: 90%;--my1: 30%;--mx2: 10%;--my2: 60%;--mx3: 50%;--my3: 100%}}.scribble{clip-path:inset(-50% 100% -50% 0);animation:scribble-1 3s cubic-bezier(.65,0,.35,1) .6s infinite both}.scribble path{fill:none;stroke:#ff6a13;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.scribble-2{animation-name:scribble-2}.scribble-2 path{stroke-width:3.5;opacity:.85}@keyframes scribble-1{0%{clip-path:inset(-50% 100% -50% 0);opacity:1}30%,82%{clip-path:inset(-50% -2% -50% -2%);opacity:1}94%{clip-path:inset(-50% -2% -50% -2%);opacity:0}to{clip-path:inset(-50% 100% -50% 0);opacity:0}}@keyframes scribble-2{0%,22%{clip-path:inset(-50% 100% -50% 0);opacity:1}46%,82%{clip-path:inset(-50% -2% -50% -2%);opacity:1}94%{clip-path:inset(-50% -2% -50% -2%);opacity:0}to{clip-path:inset(-50% 100% -50% 0);opacity:0}}@keyframes perk-marquee{to{transform:translate(-50%)}}@keyframes orbit-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.scribble{animation:none;clip-path:none}.cta-mesh{animation:none}}
