#cwlp{
  --ink:#0f0709; --ink-2:#170b0e; --ink-3:#22101400; --bone:#ece2d0; --ash:#9b8f86; --line:rgba(236,226,208,.12);
  --acc:#c4161c; --acc-2:#ff3b3b; --glow:rgba(196,22,28,.45); --wax:#e2b45a;
  --fell:"IM Fell English SC",Georgia,serif; --fell-i:"IM Fell English",Georgia,serif;
  --sans:"Manrope",system-ui,-apple-system,"Segoe UI",sans-serif;
  position:relative; isolation:isolate; overflow:hidden;
  background:var(--ink); color:var(--bone); font-family:var(--sans);
  font-size:17px; line-height:1.6; -webkit-font-smoothing:antialiased;
  width:100vw; margin-left:calc(50% - 50vw); /* breaks out of narrow WP content columns */
  transition:--acc .6s;
}
#cwlp *,#cwlp *::before,#cwlp *::after{box-sizing:border-box;margin:0;padding:0;border:0;font:inherit;color:inherit;background:none;text-decoration:none;list-style:none}
#cwlp ::selection{background:var(--acc);color:#fff}
#cwlp a:focus-visible,#cwlp button:focus-visible,#cwlp summary:focus-visible{outline:2px solid var(--wax);outline-offset:3px;border-radius:6px}

/* grain + vignette */
#cwlp::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:
   radial-gradient(1200px 700px at 50% -10%, color-mix(in srgb,var(--acc) 28%,transparent), transparent 60%),
   radial-gradient(900px 600px at 50% 110%, rgba(0,0,0,.8), transparent 70%);
  transition:background .6s}
#cwlp::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.07;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

#cwlp .wrap{max-width:1120px;margin:0 auto;padding:0 20px}
#cwlp .narrow{max-width:720px}

/* ---------- top strip ---------- */
#cwlp .strip{display:flex;justify-content:center;gap:10px;align-items:center;padding:10px 16px;font-size:13.5px;
  color:var(--bone);background:color-mix(in srgb,var(--acc) 22%,#000);border-bottom:1px solid var(--line);text-align:center}
#cwlp .strip b{color:var(--wax);font-weight:700}

/* ---------- hero ---------- */
#cwlp .hero{padding:30px 0 56px}
#cwlp .hero-grid{display:grid;grid-template-columns:1fr;grid-template-areas:"text" "wheel" "buy";gap:26px;align-items:center}
#cwlp .h-text{grid-area:text}#cwlp .h-wheel{grid-area:wheel;padding-top:6px}#cwlp .hero-buy{grid-area:buy;margin-top:4px}
#cwlp .wordmark{font-family:var(--fell);font-size:clamp(54px,11vw,112px);line-height:.86;letter-spacing:-.01em;
  text-align:center;color:var(--bone);text-shadow:0 0 40px var(--glow)}
#cwlp .wordmark span{display:block;font-family:var(--fell-i);font-style:italic;font-size:.34em;letter-spacing:0;color:var(--ash);margin-top:14px;line-height:1.2;text-shadow:none}
#cwlp .lede{text-align:center;max-width:560px;margin:18px auto 0;color:#d6cbbb;font-size:18px}

/* stage */
#cwlp .stage{position:relative;width:min(100%,460px);margin:0 auto;aspect-ratio:1}
#cwlp .stage canvas{width:100%;height:100%;display:block;filter:drop-shadow(0 30px 60px rgba(0,0,0,.7)) drop-shadow(0 0 40px var(--glow))}
#cwlp .pointer{position:absolute;left:50%;top:-6px;transform:translateX(-50%);width:34px;height:46px;z-index:3;filter:drop-shadow(0 4px 6px rgba(0,0,0,.6))}
#cwlp .hub{position:absolute;inset:0;margin:auto;width:21%;height:21%;border-radius:50%;z-index:2;cursor:pointer;
  background:radial-gradient(circle at 35% 30%,#3a1a1f,#0b0506 70%);border:2px solid color-mix(in srgb,var(--acc) 70%,#000);
  display:grid;place-items:center;font-family:var(--fell);font-size:clamp(15px,3.6vw,20px);color:var(--bone);
  box-shadow:0 0 0 6px rgba(0,0,0,.45),0 0 30px var(--glow);transition:transform .15s}
#cwlp .hub:hover{transform:scale(1.05)}
#cwlp .hub:disabled{cursor:default;opacity:.85;transform:none}
#cwlp .flash{position:absolute;inset:-20%;border-radius:50%;pointer-events:none;opacity:0;z-index:4;
  background:radial-gradient(circle,rgba(255,30,30,.55),transparent 65%)}
#cwlp .flash.on{animation:cwflash .9s ease-out}
@keyframes cwflash{0%{opacity:1}100%{opacity:0}}
#cwlp .shake{animation:cwshake .6s cubic-bezier(.36,.07,.19,.97)}
@keyframes cwshake{10%,90%{transform:translate(-2px,1px)}20%,80%{transform:translate(4px,-2px)}30%,50%,70%{transform:translate(-7px,3px) rotate(-.6deg)}40%,60%{transform:translate(7px,-3px) rotate(.6deg)}}

/* alert above wheel (like the real overlay) */
#cwlp .alert{position:absolute;left:50%;top:-16px;transform:translate(-50%,-100%) scale(.96);opacity:0;z-index:5;white-space:nowrap;
  padding:8px 14px;border-radius:999px;background:rgba(10,4,6,.92);border:1px solid color-mix(in srgb,var(--acc) 70%,transparent);
  font-size:14px;font-weight:600;transition:all .3s;box-shadow:0 10px 30px rgba(0,0,0,.5)}
#cwlp .alert.on{opacity:1;transform:translate(-50%,-100%) scale(1)}
#cwlp .alert b{color:var(--wax)}

#cwlp .result{min-height:58px;margin-top:18px;text-align:center}
#cwlp .result .r-kind{font-size:13px;font-weight:700;color:var(--ash);letter-spacing:.02em}
#cwlp .result .r-text{font-family:var(--fell);font-size:clamp(22px,4.6vw,30px);line-height:1.15}
#cwlp .result.danger .r-text{color:var(--acc-2);text-shadow:0 0 18px rgba(255,40,40,.5)}
#cwlp .result.mystery .r-text{color:var(--wax)}

/* trigger buttons */
#cwlp .try{margin-top:16px;text-align:center}
#cwlp .try p{font-size:14px;color:var(--ash);margin-bottom:10px}
#cwlp .chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
#cwlp .chip{cursor:pointer;padding:9px 14px;border-radius:999px;border:1px solid var(--line);background:rgba(255,255,255,.03);
  font-size:14px;font-weight:600;transition:border-color .2s,background .2s}
#cwlp .chip:hover{border-color:var(--acc);background:color-mix(in srgb,var(--acc) 14%,transparent)}
#cwlp .chip:disabled{opacity:.45;cursor:default}

/* presets */
#cwlp .presets{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:18px}
#cwlp .preset{cursor:pointer;display:flex;align-items:center;gap:8px;padding:6px 12px 6px 6px;border-radius:999px;font-size:13px;font-weight:600;color:var(--ash);border:1px solid transparent}
#cwlp .preset i{width:20px;height:20px;border-radius:50%;display:block;box-shadow:inset 0 0 0 2px rgba(0,0,0,.35)}
#cwlp .preset[aria-pressed="true"]{color:var(--bone);border-color:var(--line);background:rgba(255,255,255,.04)}

/* buy box */
#cwlp .buy{display:flex;flex-direction:column;align-items:center;gap:12px;margin-top:30px}
#cwlp .price{display:flex;align-items:baseline;gap:10px}
#cwlp .price .amt{font-family:var(--fell);font-size:46px;line-height:1;color:var(--bone)}
#cwlp .price .per{font-size:14px;color:var(--ash)}
#cwlp .btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;cursor:pointer;
  padding:17px 30px;border-radius:12px;font-weight:800;font-size:17px;letter-spacing:.01em;color:#fff!important;
  background:linear-gradient(180deg,var(--acc-2),var(--acc));box-shadow:0 10px 30px var(--glow),inset 0 1px 0 rgba(255,255,255,.25);
  transition:transform .15s,box-shadow .2s;min-width:min(100%,320px)}
#cwlp .btn:hover{transform:translateY(-2px);box-shadow:0 16px 40px var(--glow),inset 0 1px 0 rgba(255,255,255,.25)}
#cwlp .assure{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 16px;font-size:13.5px;color:var(--ash)}
#cwlp .assure span::before{content:"✓ ";color:var(--wax)}

/* ---------- sections ---------- */
#cwlp section{padding:76px 0;border-top:1px solid var(--line)}
#cwlp h2{font-family:var(--fell);font-size:clamp(34px,6vw,52px);line-height:1.02;letter-spacing:-.005em;margin-bottom:14px}
#cwlp .sub{color:#cfc3b2;max-width:600px;font-size:17.5px}

/* triggers */
#cwlp .trig{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;background:var(--line);margin-top:34px;border:1px solid var(--line);border-radius:14px;overflow:hidden}
#cwlp .trig div{background:var(--ink-2);padding:22px 18px}
#cwlp .trig .ic{font-size:26px;line-height:1;display:block;margin-bottom:12px}
#cwlp .trig h3{font-weight:800;font-size:16px;margin-bottom:4px}
#cwlp .trig p{font-size:14.5px;color:var(--ash);line-height:1.5}

/* slice types */
#cwlp .kinds{display:grid;grid-template-columns:1fr;gap:18px;margin-top:34px}
#cwlp .kind{padding:26px 24px;border-radius:16px;background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.01));border:1px solid var(--line)}
#cwlp .kind .tag{font-family:var(--fell);font-size:28px;line-height:1.1;margin-bottom:8px}
#cwlp .kind.k-danger .tag{color:var(--acc-2)}
#cwlp .kind.k-myst .tag{color:var(--wax)}
#cwlp .kind p{color:#cfc3b2;font-size:15.5px}

/* modes */
#cwlp .modes{display:grid;grid-template-columns:1fr;gap:22px;margin-top:34px}
#cwlp .mode{padding:28px 24px;border-radius:16px;border:1px solid var(--line);background:var(--ink-2)}
#cwlp .mode h3{font-family:var(--fell);font-size:30px;line-height:1.1;margin-bottom:8px}
#cwlp .mode p{color:#cfc3b2;font-size:15.5px}
#cwlp .goal{margin-top:20px}
#cwlp .goal .lbl{display:flex;justify-content:space-between;font-size:13.5px;font-weight:700;margin-bottom:8px}
#cwlp .goal .lbl em{font-style:normal;color:var(--wax)}
#cwlp .goal .bar{height:14px;border-radius:999px;background:rgba(255,255,255,.07);overflow:hidden;box-shadow:inset 0 0 0 1px var(--line)}
#cwlp .goal .bar i{display:block;height:100%;width:62%;border-radius:inherit;background:linear-gradient(90deg,var(--acc),var(--acc-2));box-shadow:0 0 18px var(--glow);transition:width .6s}
#cwlp .names{display:flex;flex-wrap:wrap;gap:6px;margin-top:18px}
#cwlp .names span{font-size:13px;padding:5px 10px;border-radius:8px;background:rgba(255,255,255,.05);border:1px solid var(--line)}
#cwlp .names span.win{background:color-mix(in srgb,var(--wax) 22%,transparent);border-color:var(--wax);color:#fff;font-weight:700}

/* video */
#cwlp .video{margin-top:30px;border-radius:16px;overflow:hidden;border:1px solid var(--line);max-width:420px;box-shadow:0 30px 60px rgba(0,0,0,.6)}
#cwlp .video video{display:block;width:100%;height:auto}

/* control list */
#cwlp .ctrl{display:grid;grid-template-columns:1fr;gap:0;margin-top:30px;border-top:1px solid var(--line)}
#cwlp .ctrl li{display:grid;grid-template-columns:150px 1fr;gap:16px;padding:16px 0;border-bottom:1px solid var(--line);font-size:15.5px}
#cwlp .ctrl li b{font-weight:800}
#cwlp .ctrl li span{color:#cfc3b2}

/* steps */
#cwlp .steps{counter-reset:s;display:grid;grid-template-columns:1fr;gap:14px;margin-top:34px}
#cwlp .steps li{counter-increment:s;position:relative;padding:22px 22px 22px 76px;border-radius:14px;border:1px solid var(--line);background:var(--ink-2)}
#cwlp .steps li::before{content:counter(s);position:absolute;left:22px;top:18px;font-family:var(--fell);font-size:40px;line-height:1;color:var(--acc-2)}
#cwlp .steps h3{font-weight:800;font-size:17px;margin-bottom:2px}
#cwlp .steps p{color:var(--ash);font-size:15px}

/* box contents */
#cwlp .box{margin-top:30px;display:grid;grid-template-columns:1fr;gap:10px}
#cwlp .box li{display:flex;gap:12px;align-items:flex-start;font-size:16px}
#cwlp .box li::before{content:"";flex:0 0 9px;height:9px;margin-top:9px;transform:rotate(45deg);background:var(--acc-2);box-shadow:0 0 10px var(--glow)}

/* faq */
#cwlp details{border-bottom:1px solid var(--line)}
#cwlp details:first-of-type{border-top:1px solid var(--line);margin-top:28px}
#cwlp summary{cursor:pointer;padding:20px 40px 20px 0;font-weight:700;font-size:17px;position:relative}
#cwlp summary::-webkit-details-marker{display:none}
#cwlp summary::after{content:"+";position:absolute;right:4px;top:14px;font-size:28px;font-weight:400;color:var(--acc-2);transition:transform .25s}
#cwlp details[open] summary::after{transform:rotate(45deg)}
#cwlp details p{padding:0 0 22px;color:#cfc3b2;font-size:15.5px;max-width:640px}

/* final cta */
#cwlp .final{text-align:center;padding:96px 0 120px}
#cwlp .final h2{font-size:clamp(40px,8vw,74px)}
#cwlp .final .sub{margin:0 auto}
#cwlp .final .buy{margin-top:32px}

/* sticky mobile bar */
#cwlp .sticky{position:fixed;left:0;right:0;bottom:0;z-index:9999;display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:rgba(12,5,7,.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  border-top:1px solid var(--line);transform:translateY(110%);transition:transform .35s}
#cwlp .sticky.show{transform:none}
#cwlp .sticky .t{font-family:var(--fell);font-size:20px;line-height:1.05}
#cwlp .sticky .t small{display:block;font-family:var(--sans);font-size:12.5px;color:var(--ash)}
#cwlp .sticky .btn{padding:13px 20px;font-size:15.5px;min-width:0}

#cwlp .foot{text-align:center;font-size:13px;color:var(--ash);padding:0 20px 110px}

/* ---------- desktop ---------- */
@media (min-width:900px){
  #cwlp .hero{padding:70px 0 90px}
  #cwlp .hero-grid{grid-template-columns:1.05fr 1fr;grid-template-areas:"text wheel" "buy wheel";gap:20px 60px;align-items:end}
  #cwlp .hero-buy{align-self:start}
  #cwlp .wordmark,#cwlp .lede{text-align:left;margin-left:0}
  #cwlp .buy{align-items:flex-start}
  #cwlp .assure{justify-content:flex-start}
  #cwlp .kinds{grid-template-columns:1fr 1fr}
  #cwlp .modes{grid-template-columns:1fr 1fr}
  #cwlp .steps{grid-template-columns:repeat(3,1fr)}
  #cwlp .box{grid-template-columns:1fr 1fr}
  #cwlp .split{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}
  #cwlp .sticky{display:none}
  #cwlp .foot{padding-bottom:40px}
}
@media (max-width:520px){
  #cwlp{font-size:16px}
  #cwlp section{padding:60px 0}
  #cwlp .ctrl li{grid-template-columns:1fr;gap:2px}
  #cwlp .alert{font-size:12.5px}
}
@media (prefers-reduced-motion:reduce){
  #cwlp .shake{animation:none}
  #cwlp *{transition:none!important}
}
body.cwlp-blank{margin:0;background:#0f0709}
body.cwlp-blank #cwlp{width:auto;margin-left:0}

/* ===================== motion layer ===================== */
@property --acc{syntax:'<color>';inherits:true;initial-value:#c4161c}
@property --acc-2{syntax:'<color>';inherits:true;initial-value:#ff3b3b}
@property --glow{syntax:'<color>';inherits:true;initial-value:rgba(196,22,28,.45)}
#cwlp{transition:--acc .8s ease,--acc-2 .8s ease,--glow .8s ease}

/* icons */
#cwlp .ci{width:17px;height:17px;flex:0 0 auto;color:var(--acc-2)}
#cwlp .chip{display:inline-flex;align-items:center;gap:8px}
#cwlp .trig .ic{width:30px;height:30px;color:var(--acc-2);margin-bottom:14px;display:block;filter:drop-shadow(0 0 8px var(--glow))}
#cwlp .skull{width:.9em;height:.9em;vertical-align:-.08em;margin-right:.3em}
#cwlp .kind .tag{display:flex;align-items:center}

/* triggers: list on phones, 5 even columns on desktop */
#cwlp .trig{grid-template-columns:1fr}
#cwlp .trig div{display:grid;grid-template-columns:44px 1fr;column-gap:12px;align-items:start;padding:18px}
#cwlp .trig .ic{grid-row:span 2;margin:2px 0 0}
@media (min-width:760px){
  #cwlp .trig{grid-template-columns:repeat(5,1fr)}
  #cwlp .trig div{display:block;padding:24px 20px}
  #cwlp .trig .ic{margin-bottom:16px}
}

/* hero atmosphere */
#cwlp .hero{position:relative;isolation:isolate}
#cwlp .hero>.wrap{position:relative;z-index:2}
#cwlp .embers{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none}
#cwlp .fog{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}
#cwlp .fog i{position:absolute;width:75%;height:70%;border-radius:50%;filter:blur(60px);opacity:.55;
  background:radial-gradient(closest-side,color-mix(in srgb,var(--acc) 38%,transparent),transparent)}
#cwlp .fog i:first-child{left:-20%;top:20%;animation:cwfogA 26s ease-in-out infinite alternate}
#cwlp .fog i:last-child{right:-25%;top:-10%;animation:cwfogB 32s ease-in-out infinite alternate}
@keyframes cwfogA{to{transform:translate(30%,-12%) scale(1.25)}}
@keyframes cwfogB{to{transform:translate(-28%,22%) scale(.85)}}
#cwlp .hero::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;opacity:0;transition:opacity .5s;
  background:radial-gradient(420px circle at var(--mx,50%) var(--my,30%),color-mix(in srgb,var(--acc-2) 14%,transparent),transparent 70%)}
#cwlp .hero.lit::after{opacity:1}

/* intro */
#cwlp .wordmark .wd{font-weight:inherit;display:inline-block;white-space:nowrap}
#cwlp .wordmark .ch{font-weight:inherit;display:inline-block}
#cwlp.cw-js .wordmark .ch{opacity:0;filter:blur(14px);transform:translateY(.28em) scale(1.12)}
#cwlp.cw-ready .wordmark .ch{animation:cwch 1.15s cubic-bezier(.2,.7,.2,1) forwards;animation-delay:calc(var(--i)*55ms + 120ms)}
@keyframes cwch{55%{opacity:1;filter:blur(0);color:var(--acc-2);text-shadow:0 0 30px var(--acc-2)}100%{opacity:1;filter:none;transform:none}}
#cwlp.cw-ready .wordmark{animation:cwflicker 7s linear 2.5s infinite}
@keyframes cwflicker{0%,90%,100%{text-shadow:0 0 40px var(--glow)}91%{text-shadow:0 0 6px var(--glow)}92%{text-shadow:0 0 55px var(--acc-2)}93.5%{text-shadow:0 0 10px var(--glow)}95%{text-shadow:0 0 40px var(--glow)}}
#cwlp.cw-js .wordmark span,#cwlp.cw-js .lede,#cwlp.cw-js .hero-buy,#cwlp.cw-js .result,#cwlp.cw-js .try,#cwlp.cw-js .presets{opacity:0;transform:translateY(18px)}
#cwlp.cw-ready .wordmark span{animation:cwup .9s cubic-bezier(.2,.7,.2,1) .85s forwards}
#cwlp.cw-ready .lede{animation:cwup .9s cubic-bezier(.2,.7,.2,1) 1s forwards}
#cwlp.cw-ready .hero-buy{animation:cwup .9s cubic-bezier(.2,.7,.2,1) 1.15s forwards}
#cwlp.cw-ready .result{animation:cwup .9s cubic-bezier(.2,.7,.2,1) 1.5s forwards}
#cwlp.cw-ready .try{animation:cwup .9s cubic-bezier(.2,.7,.2,1) 1.62s forwards}
#cwlp.cw-ready .presets{animation:cwup .9s cubic-bezier(.2,.7,.2,1) 1.74s forwards}
@keyframes cwup{to{opacity:1;transform:none}}
#cwlp.cw-js .stage{opacity:0;transform:scale(.82)}
#cwlp.cw-ready .stage{animation:cwstage 1.8s cubic-bezier(.2,.7,.2,1) .15s forwards}
@keyframes cwstage{0%{opacity:0;transform:scale(.82);filter:brightness(2.2) blur(6px)}60%{opacity:1;filter:brightness(1.1)}100%{opacity:1;transform:none;filter:none}}

/* hub invites a click */
#cwlp .hub:not(:disabled){animation:cwpulse 2.4s ease-in-out infinite}
@keyframes cwpulse{0%,100%{box-shadow:0 0 0 6px rgba(0,0,0,.45),0 0 26px var(--glow)}50%{box-shadow:0 0 0 6px rgba(0,0,0,.45),0 0 0 14px color-mix(in srgb,var(--acc) 18%,transparent),0 0 50px var(--acc-2)}}

/* buttons: light sweep */
#cwlp .btn{position:relative;overflow:hidden;isolation:isolate}
#cwlp .btn::after{content:"";position:absolute;inset:0;z-index:-1;transform:translateX(-130%);
  background:linear-gradient(110deg,transparent 35%,rgba(255,255,255,.38) 50%,transparent 65%);animation:cwshine 5s ease-in-out 2.6s infinite}
@keyframes cwshine{0%{transform:translateX(-130%)}28%,100%{transform:translateX(130%)}}
#cwlp .btn:active{transform:translateY(1px) scale(.98)}

/* scroll reveals */
#cwlp.cw-js [data-rv]{opacity:0;transform:perspective(900px) translateY(36px) rotateX(9deg);filter:blur(6px);transform-origin:50% 100%;
  transition:opacity .9s cubic-bezier(.2,.7,.2,1) var(--d,0ms),transform 1.05s cubic-bezier(.2,.7,.2,1) var(--d,0ms),filter .9s ease var(--d,0ms)}
#cwlp.cw-js [data-rv].in{opacity:1;transform:none;filter:none}
#cwlp.cw-js h2[data-rv]{transform:none;opacity:1;filter:blur(12px);letter-spacing:.07em;clip-path:inset(-30% 100% -30% 0);
  transition:clip-path 1.15s cubic-bezier(.75,0,.2,1),filter 1.2s ease,letter-spacing 1.3s cubic-bezier(.2,.7,.2,1)}
#cwlp.cw-js h2[data-rv].in{filter:none;letter-spacing:-.005em;clip-path:inset(-30% -10% -30% -2%)}
#cwlp.cw-js .ctrl li[data-rv]{transform:translateX(-26px)}
#cwlp.cw-js .ctrl li[data-rv].in{transform:none}

/* section divider draws in */
#cwlp section{position:relative;border-top:0}
#cwlp section::before{content:"";position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--acc-2) 70%,transparent),transparent);transition:transform 1.6s cubic-bezier(.7,0,.2,1)}
#cwlp.cw-js section:not(.in)::before{transform:scaleX(0)}

/* trigger icons draw themselves */
#cwlp.cw-js .trig [data-rv] .ic *{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.3s cubic-bezier(.6,0,.2,1) calc(var(--d,0ms) + .25s)}
#cwlp.cw-js .trig [data-rv].in .ic *{stroke-dashoffset:0}
#cwlp .trig div{transition:background .3s}
#cwlp .trig div:hover{background:color-mix(in srgb,var(--acc) 10%,var(--ink-2))}
#cwlp .trig div:hover .ic{animation:cwwiggle .5s ease}
@keyframes cwwiggle{30%{transform:rotate(-12deg) scale(1.15)}60%{transform:rotate(8deg)}}

/* cards: tilt + glare */
#cwlp .tilt{position:relative;overflow:hidden;will-change:transform}
#cwlp .tilt::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .4s;
  background:radial-gradient(380px circle at var(--gx,50%) var(--gy,50%),rgba(255,255,255,.07),transparent 60%)}
#cwlp .tilt:hover::after{opacity:1}
#cwlp .kind,#cwlp .mode{transition:border-color .4s}
#cwlp .kind:hover,#cwlp .mode:hover{border-color:color-mix(in srgb,var(--acc-2) 45%,transparent)}
#cwlp .k-danger:hover .tag{animation:cwglitch .5s steps(2,end) infinite}
@keyframes cwglitch{0%{text-shadow:2px 0 var(--acc-2),-2px 0 #46e0cf;transform:translate(0)}25%{text-shadow:-3px 0 var(--acc-2),2px 0 #46e0cf;transform:translate(1px,-1px)}50%{text-shadow:1px 0 var(--acc-2),-1px 0 #46e0cf;transform:translate(-1px,1px)}75%{text-shadow:-2px 0 var(--acc-2),3px 0 #46e0cf;transform:translate(1px,0)}}
#cwlp .k-myst .tag{font-variant-numeric:tabular-nums;min-height:1.1em}

/* goal fills when seen */
#cwlp.cw-js .goal:not(.in) .bar i{width:0!important}
#cwlp .goal .bar i{transition:width 1.6s cubic-bezier(.2,.7,.2,1) .2s;position:relative;overflow:hidden}
#cwlp .goal .bar i::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.35),transparent);transform:translateX(-100%);animation:cwflow 2.4s linear infinite}
@keyframes cwflow{to{transform:translateX(100%)}}

/* giveaway picker */
#cwlp .names span{transition:background .12s,border-color .12s,color .12s,transform .12s}
#cwlp .names span.win{transform:scale(1.06)}
#cwlp .names span.won{animation:cwpop .7s cubic-bezier(.2,.7,.2,1)}
@keyframes cwpop{0%{transform:scale(1.06)}35%{transform:scale(1.22);box-shadow:0 0 24px var(--wax)}100%{transform:scale(1.06)}}

/* steps numbers ignite */
#cwlp.cw-js .steps li[data-rv]::before{opacity:0;transform:scale(.3);transition:opacity .6s ease calc(var(--d,0ms) + .35s),transform .8s cubic-bezier(.3,1.6,.5,1) calc(var(--d,0ms) + .35s)}
#cwlp.cw-js .steps li[data-rv].in::before{opacity:1;transform:none;text-shadow:0 0 18px var(--glow)}

/* final call: heartbeat glow */
#cwlp .final{position:relative;isolation:isolate;overflow:hidden}
#cwlp .final::before{content:"";position:absolute;left:50%;top:50%;width:760px;height:760px;max-width:140vw;max-height:140vw;z-index:-1;pointer-events:none;
  transform:translate(-50%,-50%);background:radial-gradient(circle,color-mix(in srgb,var(--acc) 34%,transparent),transparent 65%);animation:cwbeat 2.4s ease-in-out infinite}
@keyframes cwbeat{0%,70%,100%{transform:translate(-50%,-50%) scale(.88);opacity:.55}14%{transform:translate(-50%,-50%) scale(1);opacity:1}28%{transform:translate(-50%,-50%) scale(.93);opacity:.75}42%{transform:translate(-50%,-50%) scale(1.04);opacity:1}}

/* reading progress */
#cwlp .prog{position:fixed;top:0;left:0;right:0;height:2px;z-index:99998;transform-origin:0 50%;transform:scaleX(0);
  background:linear-gradient(90deg,var(--acc),var(--acc-2));box-shadow:0 0 12px var(--acc-2);pointer-events:none}

/* checkout curtain */
#cwlp .curtain{position:fixed;inset:0;z-index:100000;display:grid;place-items:center;pointer-events:none;
  background:radial-gradient(circle at var(--cx,50%) var(--cy,50%),var(--acc) 0,#120507 70%);
  clip-path:circle(0 at var(--cx,50%) var(--cy,50%));transition:clip-path .6s cubic-bezier(.7,0,.3,1)}
#cwlp .curtain.on{clip-path:circle(160% at var(--cx,50%) var(--cy,50%));pointer-events:auto}
#cwlp .curtain span{font-family:var(--fell);font-size:clamp(26px,5vw,40px);color:var(--bone);opacity:0;transform:translateY(10px);transition:all .4s .25s}
#cwlp .curtain.on span{opacity:1;transform:none;animation:cwbreathe 1.2s ease-in-out .6s infinite}
@keyframes cwbreathe{50%{opacity:.45}}

@media (prefers-reduced-motion:reduce){
  #cwlp .hub,#cwlp .btn::after,#cwlp .final::before,#cwlp .fog i,#cwlp .goal .bar i::after,#cwlp .wordmark{animation:none!important}
}

/* ===================== pricing + custom ===================== */
#cwlp .alt{display:inline-block;margin-top:4px;font-size:14.5px;color:#d6cbbb;border-bottom:1px solid color-mix(in srgb,var(--wax) 50%,transparent);padding-bottom:1px;transition:color .2s,border-color .2s}
#cwlp .alt b{color:var(--wax);font-weight:800}
#cwlp .alt:hover{color:#fff;border-color:var(--wax)}

#cwlp .plans{display:grid;grid-template-columns:1fr;gap:20px;margin-top:36px;max-width:920px}
#cwlp .plan{position:relative;display:flex;flex-direction:column;padding:30px 26px 26px;border-radius:18px;border:1px solid var(--line);background:var(--ink-2)}
#cwlp .plan h3{font-family:var(--fell);font-size:30px;line-height:1.1}
#cwlp .p-price{display:flex;align-items:baseline;gap:10px;margin:10px 0 18px}
#cwlp .p-price span{font-family:var(--fell);font-size:52px;line-height:1}
#cwlp .p-price small{font-size:14px;color:var(--ash)}
#cwlp .plan .box{margin:0 0 26px;grid-template-columns:1fr;gap:11px}
#cwlp .plan .box li{font-size:15.5px}
#cwlp .plan .btn{margin-top:auto;width:100%}
#cwlp .p-note{text-align:center;font-size:13px;color:var(--ash);margin-top:10px}
#cwlp .plan.featured{border-color:color-mix(in srgb,var(--wax) 55%,transparent);
  background:linear-gradient(180deg,color-mix(in srgb,var(--wax) 9%,var(--ink-2)),var(--ink-2) 55%);
  box-shadow:0 0 0 1px color-mix(in srgb,var(--wax) 20%,transparent),0 24px 60px -20px color-mix(in srgb,var(--wax) 35%,transparent)}
#cwlp .plan.featured .box li::before{background:var(--wax);box-shadow:0 0 10px color-mix(in srgb,var(--wax) 60%,transparent)}
#cwlp .ribbon{position:absolute;top:26px;right:22px;padding:4px 12px;border-radius:999px;font-size:12.5px;font-weight:800;color:#1a1006;background:var(--wax)}
#cwlp .btn.gold{color:#1a1006!important;background:linear-gradient(180deg,#f3cf7f,#d4a142);box-shadow:0 10px 30px color-mix(in srgb,var(--wax) 40%,transparent),inset 0 1px 0 rgba(255,255,255,.5)}
#cwlp .btn.gold:hover{box-shadow:0 16px 40px color-mix(in srgb,var(--wax) 50%,transparent),inset 0 1px 0 rgba(255,255,255,.5)}
@media (min-width:760px){ #cwlp .plans{grid-template-columns:1fr 1fr;gap:26px} }

/* custom order popup */
#cwlp .cmodal{position:fixed;inset:0;z-index:99999;display:grid;place-items:center;padding:16px}
#cwlp .cmodal[hidden]{display:none}
#cwlp .cm-back{position:absolute;inset:0;background:rgba(5,2,3,.72);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);opacity:0;transition:opacity .3s}
#cwlp .cm-box{position:relative;width:min(100%,520px);max-height:calc(100dvh - 32px);overflow:auto;padding:30px 24px 24px;border-radius:20px;
  background:linear-gradient(180deg,#1d0c10,#120709);border:1px solid color-mix(in srgb,var(--wax) 35%,transparent);
  box-shadow:0 40px 100px rgba(0,0,0,.7),0 0 60px color-mix(in srgb,var(--acc) 25%,transparent);
  opacity:0;transform:translateY(24px) scale(.96);transition:opacity .3s,transform .4s cubic-bezier(.2,.7,.2,1)}
#cwlp .cmodal.open .cm-back{opacity:1}
#cwlp .cmodal.open .cm-box{opacity:1;transform:none}
#cwlp .cm-box h2{font-size:34px;margin-bottom:6px;padding-right:30px}
#cwlp .cm-sub{color:#cfc3b2;font-size:15px;margin-bottom:18px}
#cwlp .cm-x{position:absolute;top:14px;right:14px;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;cursor:pointer;color:var(--ash);transition:color .2s,background .2s}
#cwlp .cm-x:hover{color:#fff;background:rgba(255,255,255,.07)}
#cwlp .cm-f{display:block;font-size:14px;font-weight:700;margin-bottom:14px}
#cwlp .cm-f em{font-style:normal;font-weight:500;color:var(--ash);margin-left:6px;font-size:12.5px}
#cwlp .cm-f input[type=url],#cwlp .cm-f input[type=text],#cwlp .cm-f textarea{display:block;width:100%;margin-top:6px;padding:12px 14px;border-radius:10px;
  background:rgba(255,255,255,.04);border:1px solid var(--line);font-size:16px;font-weight:500;color:var(--bone);transition:border-color .2s,background .2s}
#cwlp .cm-f textarea{resize:vertical;min-height:110px;line-height:1.5}
#cwlp .cm-f input::placeholder,#cwlp .cm-f textarea::placeholder{color:#6f645d}
#cwlp .cm-f input:focus,#cwlp .cm-f textarea:focus{outline:none;border-color:var(--wax);background:rgba(255,255,255,.06)}
#cwlp .cm-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
#cwlp .cm-color{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 8px 8px 14px;border-radius:10px;border:1px solid var(--line);background:rgba(255,255,255,.04)}
#cwlp .cm-color input{width:44px;height:34px;border-radius:8px;cursor:pointer;padding:0;border:0;background:none}
#cwlp .cm-file input{display:block;width:100%;margin-top:8px;font-size:14px;font-weight:500;color:#cfc3b2}
#cwlp .cm-file input::file-selector-button{margin-right:12px;padding:9px 14px;border-radius:8px;border:1px solid var(--line);background:rgba(255,255,255,.06);color:var(--bone);font:600 14px var(--sans);cursor:pointer}
#cwlp .cm-err{margin:0 0 14px;padding:10px 14px;border-radius:10px;font-size:14px;background:color-mix(in srgb,var(--acc) 22%,transparent);border:1px solid color-mix(in srgb,var(--acc-2) 50%,transparent)}
#cwlp .cm-box .btn{width:100%;margin-top:6px}
/* one plan only: centre it */
#cwlp .plans:not(:has(.featured)){grid-template-columns:minmax(0,480px);justify-content:center;margin-left:auto;margin-right:auto}
#cwlp #cw-pricing:not(:has(.featured)) h2,#cwlp #cw-pricing:not(:has(.featured)) .sub{text-align:center;margin-left:auto;margin-right:auto}

/* ===================== gallery slider ===================== */
#cwlp .gal{margin-top:34px}
#cwlp .gal-stage{position:relative;border-radius:18px;overflow:hidden;border:1px solid var(--line);background:#0a0405;box-shadow:0 30px 80px rgba(0,0,0,.55)}
#cwlp .gal-track{display:flex;transition:transform .55s cubic-bezier(.2,.7,.2,1);touch-action:pan-y;cursor:grab;will-change:transform}
#cwlp .gal-track.drag{transition:none;cursor:grabbing}
#cwlp .gal-slide{position:relative;flex:0 0 100%;margin:0}
#cwlp .gal-slide img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;user-select:none;-webkit-user-drag:none}
#cwlp .gal-slide figcaption{position:absolute;left:0;right:0;bottom:0;padding:44px 22px 18px;display:flex;flex-direction:column;gap:2px;
  background:linear-gradient(0deg,rgba(8,3,5,.92),rgba(8,3,5,.6) 60%,transparent)}
#cwlp .gal-slide figcaption b{font-family:var(--fell);font-weight:400;font-size:26px;line-height:1.1}
#cwlp .gal-slide figcaption span{font-size:15px;color:#d6cbbb}
#cwlp .gal-nav{position:absolute;top:50%;width:48px;height:48px;margin-top:-24px;border-radius:50%;display:grid;place-items:center;cursor:pointer;z-index:2;
  color:var(--bone);background:rgba(10,4,6,.78);border:1px solid var(--line);backdrop-filter:blur(6px);transition:background .2s,border-color .2s,transform .2s}
#cwlp .gal-nav:hover{background:color-mix(in srgb,var(--acc) 40%,rgba(10,4,6,.8));border-color:var(--acc-2);transform:scale(1.06)}
#cwlp .gal-nav.prev{left:14px}#cwlp .gal-nav.next{right:14px}
#cwlp .gal-count{position:absolute;top:14px;right:14px;z-index:2;padding:5px 11px;border-radius:999px;background:rgba(10,4,6,.78);border:1px solid var(--line);font-size:13px;font-weight:700;font-variant-numeric:tabular-nums}
#cwlp .gal-thumbs{display:flex;gap:10px;margin-top:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 2px 8px;scrollbar-width:thin}
#cwlp .gal-thumb{flex:0 0 auto;width:112px;border-radius:10px;overflow:hidden;cursor:pointer;scroll-snap-align:start;opacity:.5;border:2px solid transparent;transition:opacity .2s,border-color .2s,transform .2s}
#cwlp .gal-thumb img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover}
#cwlp .gal-thumb:hover{opacity:.85}
#cwlp .gal-thumb.is-on{opacity:1;border-color:var(--acc-2);transform:translateY(-2px)}
@media (max-width:640px){
  #cwlp .gal-nav{width:40px;height:40px;margin-top:-20px}
  #cwlp .gal-nav.prev{left:8px}#cwlp .gal-nav.next{right:8px}
  #cwlp .gal-slide figcaption{position:static;padding:14px 16px 16px;background:var(--ink-2)}
  #cwlp .gal-slide figcaption b{font-size:22px}
  #cwlp .gal-thumb{width:84px}
}
@media (prefers-reduced-motion:reduce){ #cwlp .gal-track{transition:none} }
