:root{--indigo:#2F5DA8;--indigo-d:#1E3F7A;--wash:#6F95CF;--paper:#F3EEE1;--paper2:#E9E1CC;--ink:#1B1B1F;--copper:#C0652B;--copper-l:#E08A4A;--base:#0052FF;
--disp:'Luckiest Guy','Bangers',system-ui,sans-serif;--hand:'Permanent Marker',cursive;--body:'Inter',system-ui,sans-serif;--sh:6px 6px 0 var(--ink)}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;overflow-x:clip}
html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}
body{background:var(--paper);color:var(--ink);font-family:var(--body);font-size:17px;line-height:1.55;overflow-x:clip;
background-image:radial-gradient(rgba(27,27,31,.06) 1px,transparent 1.2px),radial-gradient(rgba(47,93,168,.05) 1px,transparent 1.2px);background-size:22px 22px,13px 13px;background-position:0 0,7px 9px}
body.is-loading{overflow:hidden}
img{max-width:100%;display:block}
a{color:inherit}
.paper-grain{position:fixed;inset:0;pointer-events:none;z-index:90;opacity:.22;mix-blend-mode:multiply;
background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .1 0 0 0 0 .1 0 0 0 0 .12 0 0 0 .55 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
#fx{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:1}

/* ---------- cursor ---------- */
#cursor{position:fixed;left:0;top:0;width:26px;height:26px;margin:-13px 0 0 -13px;z-index:200;pointer-events:none;transition:width .25s,height .25s,margin .25s;display:none}
#cursor svg{width:100%;height:100%;filter:drop-shadow(2px 2px 0 rgba(0,0,0,.25));transition:transform .4s}
#cursor span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-family:var(--disp);font-size:14px;color:#fff;letter-spacing:.06em;opacity:0;transition:opacity .2s;text-shadow:1px 1px 0 var(--ink);white-space:nowrap}
#cursor.big{width:78px;height:78px;margin:-39px 0 0 -39px}#cursor.big span{opacity:1}#cursor.big svg{transform:rotate(90deg)}
#cursor.down svg{transform:scale(.8) rotate(40deg)}
@media (hover:hover) and (pointer:fine){html.has-cursor,html.has-cursor *{cursor:none!important}html.has-cursor #cursor{display:block}}

/* ---------- loader ---------- */
#loader{position:fixed;inset:0;z-index:300;pointer-events:all}
.ld-half{position:absolute;left:0;right:0;height:50.5%;background:var(--indigo);overflow:hidden;
background-image:repeating-linear-gradient(35deg,rgba(30,63,122,.9) 0 2px,transparent 2px 5px),repeating-linear-gradient(-35deg,rgba(111,149,207,.25) 0 1px,transparent 1px 6px)}
.ld-top{top:0;clip-path:polygon(0 0,100% 0,100% 96%,97.5% 100%,95% 96%,92.5% 100%,90% 96%,87.5% 100%,85% 96%,82.5% 100%,80% 96%,77.5% 100%,75% 96%,72.5% 100%,70% 96%,67.5% 100%,65% 96%,62.5% 100%,60% 96%,57.5% 100%,55% 96%,52.5% 100%,50% 96%,47.5% 100%,45% 96%,42.5% 100%,40% 96%,37.5% 100%,35% 96%,32.5% 100%,30% 96%,27.5% 100%,25% 96%,22.5% 100%,20% 96%,17.5% 100%,15% 96%,12.5% 100%,10% 96%,7.5% 100%,5% 96%,2.5% 100%,0 96%)}
.ld-bot{bottom:0;clip-path:polygon(0 4%,2.5% 0,5% 4%,7.5% 0,10% 4%,12.5% 0,15% 4%,17.5% 0,20% 4%,22.5% 0,25% 4%,27.5% 0,30% 4%,32.5% 0,35% 4%,37.5% 0,40% 4%,42.5% 0,45% 4%,47.5% 0,50% 4%,52.5% 0,55% 4%,57.5% 0,60% 4%,62.5% 0,65% 4%,67.5% 0,70% 4%,72.5% 0,75% 4%,77.5% 0,80% 4%,82.5% 0,85% 4%,87.5% 0,90% 4%,92.5% 0,95% 4%,97.5% 0,100% 4%,100% 100%,0 100%)}
.ld-inner{position:absolute;inset:0;display:flex;align-items:flex-end;justify-content:center;padding:0 0 70px}
.ld-bot .ld-inner{align-items:flex-start;padding:70px 0 0}
.ld-brand{font-family:var(--disp);color:var(--paper);font-size:clamp(22px,3vw,38px);letter-spacing:.04em;text-shadow:3px 3px 0 var(--ink)}
.ld-brand b{color:var(--copper-l);font-weight:400}
.ld-count{font-family:var(--disp);color:var(--paper);font-size:clamp(70px,12vw,170px);line-height:1;text-shadow:5px 5px 0 var(--ink)}
.ld-count small{font-size:.4em;color:var(--copper-l)}
.ld-stitch{position:absolute;left:0;top:50%;width:100%;height:40px;transform:translateY(-50%)}
.ld-stitch path{stroke:var(--paper)}
.ld-needle{position:absolute;top:50%;left:0;width:120px;height:30px;transform:translate(-100px,-50%)}
.ld-jeans{position:absolute;width:min(240px,48vw);height:auto;top:50%;left:0;transform:translate(-120%,-108%)}

/* ---------- nav ---------- */
.nav{position:fixed;top:14px;left:50%;transform:translateX(-50%);z-index:80;display:flex;align-items:center;gap:22px;padding:8px 12px 8px 8px;background:var(--paper);border:3px solid var(--ink);border-radius:18px;box-shadow:4px 4px 0 var(--ink);width:min(1100px,calc(100% - 24px));justify-content:space-between}
.nav-logo{display:flex;align-items:center;gap:8px;text-decoration:none;font-family:var(--disp);font-size:22px;color:var(--indigo)}
.nav-logo img{width:44px;height:44px;border-radius:12px;border:2.5px solid var(--ink)}
.nav-links{display:flex;gap:4px}
.nav-links a{font-family:var(--disp);text-decoration:none;font-size:17px;letter-spacing:.03em;padding:6px 12px;border-radius:10px;transition:background .2s,transform .2s}
.nav-links a:hover{background:var(--indigo);color:var(--paper);transform:rotate(-3deg)}
.nav-chain{display:flex;align-items:center;gap:6px;font-weight:800;font-size:14px;background:#fff;border:2.5px solid var(--ink);padding:6px 12px;border-radius:999px;color:var(--base)}
.buy-pill{position:fixed;right:22px;bottom:22px;z-index:85;display:flex;align-items:center;gap:8px;font-family:var(--disp);font-size:20px;letter-spacing:.03em;text-decoration:none;color:#fff;background:var(--copper);border:3px solid var(--ink);border-radius:999px;padding:12px 22px;box-shadow:5px 5px 0 var(--ink);transform:translateY(150%);transition:transform .5s cubic-bezier(.3,1.6,.5,1),background .2s}
.buy-pill.show{transform:translateY(0)}.buy-pill:hover{background:var(--indigo)}
.buy-pill img{background:#fff;border-radius:50%;border:2px solid var(--ink)}
#toast{position:fixed;left:50%;bottom:30px;z-index:250;transform:translate(-50%,200%) rotate(-2deg);background:var(--ink);color:var(--paper);font-family:var(--disp);font-size:20px;letter-spacing:.03em;padding:12px 22px;border-radius:14px;border:3px solid var(--copper-l);transition:transform .45s cubic-bezier(.3,1.6,.5,1);pointer-events:none;white-space:nowrap}
#toast.show{transform:translate(-50%,0) rotate(-2deg)}

/* ---------- shared ---------- */
section{position:relative;z-index:2}
.sec-head{text-align:center;max-width:900px;margin:0 auto 54px;padding:0 20px;position:relative}
.sec-no{display:inline-grid;place-items:center;width:54px;height:54px;border-radius:50%;background:var(--copper);color:#fff;border:3px solid var(--ink);font-family:var(--disp);font-size:22px;box-shadow:3px 3px 0 var(--ink);margin-bottom:12px}
.sec-title{font-family:var(--disp);font-weight:400;font-size:clamp(52px,8vw,118px);line-height:.92;color:var(--indigo);-webkit-text-stroke:3px var(--ink);paint-order:stroke fill;text-shadow:6px 6px 0 var(--ink);letter-spacing:.01em}
.sec-sub{font-family:var(--hand);font-size:clamp(18px,2vw,24px);margin-top:16px;color:var(--indigo-d)}
.scribble{display:block;width:min(380px,70%);margin:6px auto 0;overflow:visible}
.split .w{display:inline-block;white-space:nowrap}.split .ch{display:inline-block;will-change:transform}
.bubble{position:absolute;background:#fff;border:3px solid var(--ink);border-radius:22px;padding:10px 16px;font-family:var(--hand);font-size:18px;line-height:1.15;box-shadow:4px 4px 0 var(--ink);z-index:4;text-align:center}
.bubble::after{content:"";position:absolute;width:22px;height:22px;background:#fff;border-right:3px solid var(--ink);border-bottom:3px solid var(--ink);bottom:-13px;left:30%;transform:rotate(45deg) skew(10deg,10deg)}
.btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--disp);font-size:22px;letter-spacing:.03em;text-decoration:none;border:3.5px solid var(--ink);border-radius:16px;padding:14px 24px;box-shadow:var(--sh);transition:box-shadow .15s,background .2s,translate .15s;cursor:pointer;position:relative;line-height:1}
.btn:active{box-shadow:1px 1px 0 var(--ink);translate:4px 4px}
.btn-buy{background:var(--copper);color:#fff}.btn-buy:hover{background:var(--indigo)}
.btn-buy img,.btn-mega img{background:#fff;border-radius:50%;border:2px solid var(--ink)}
.btn-ca{background:#fff;color:var(--ink)}.btn-ca:hover{background:var(--wash)}
.tba{font-family:var(--body);font-weight:800;font-size:11px;background:var(--ink);color:var(--copper-l);padding:3px 7px;border-radius:6px;letter-spacing:.08em;transform:rotate(6deg)}
.tba[hidden]{display:none}
.social-row{display:flex;gap:12px;flex-wrap:wrap}
.soc{display:inline-flex;align-items:center;gap:8px;text-decoration:none;font-weight:800;font-size:15px;background:#fff;border:3px solid var(--ink);border-radius:999px;padding:9px 16px 9px 10px;box-shadow:3px 3px 0 var(--ink);transition:background .2s}
.soc img{width:24px;height:24px;object-fit:contain}
.soc-x{display:inline-flex}
.soc-x img{background:#fff;border-radius:50%;padding:3px;filter:none;opacity:1}
.soc.disabled{opacity:.85;background:#f4f1ea}
.soc.disabled span::after{content:" · Soon";color:var(--copper);font-weight:800}
.soc:hover{background:var(--paper2)}
.soc-x:hover{animation:shake .45s}.soc-dex:hover{animation:wiggle .6s}.soc-uni:hover{animation:pulse .7s infinite}
@keyframes shake{0%,100%{transform:translateX(0)}20%{transform:translateX(-5px) rotate(-3deg)}40%{transform:translateX(5px) rotate(3deg)}60%{transform:translateX(-4px)}80%{transform:translateX(3px)}}
@keyframes bounce{0%,100%{transform:translateY(0)}30%{transform:translateY(-12px) scaleY(1.06)}50%{transform:translateY(0) scaleY(.92)}70%{transform:translateY(-5px)}}
@keyframes wiggle{0%,100%{transform:rotate(0)}25%{transform:rotate(-9deg)}50%{transform:rotate(8deg)}75%{transform:rotate(-5deg)}}
@keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.09)}}

/* ---------- hero ---------- */
.hero{min-height:100vh;min-height:100svh;padding:110px 24px 60px;overflow:hidden;display:flex;align-items:center}
.hero-world{position:absolute;inset:0;pointer-events:none}
.layer{position:absolute;inset:-30px}
.sun-doodle{position:absolute;right:8%;top:120px;width:150px;opacity:.9}
.cloud{position:absolute;width:200px;opacity:.95}
.c1{left:6%;top:16%;width:170px}.c2{left:46%;top:9%;width:130px;opacity:.75}
.street{position:absolute;left:0;bottom:0;width:100%;height:34%}
.pr{position:absolute;width:70px;height:70px;filter:drop-shadow(3px 3px 0 rgba(27,27,31,.25))}
.pr1{left:4%;top:42%;width:92px;height:92px}.pr2{left:40%;top:16%;width:46px;height:46px}.pr3{right:5%;top:52%;width:40px;height:66px}
.pr4{left:22%;bottom:10%;width:110px}.pr5{right:12%;top:20%;width:66px;height:66px}.pr6{left:52%;bottom:6%;width:44px;height:44px}
.pr7{left:32%;top:40%;width:28px;height:46px}.pr8{right:36%;top:12%;width:44px;height:44px}
.float{animation:float 5s ease-in-out infinite}
.pr2{animation-delay:-.5s}.pr3{animation-delay:-1s;animation-duration:4.2s}.pr4{animation-delay:-1.5s}.pr5{animation-delay:-2s;animation-duration:5.5s}.pr6{animation-delay:-2.5s}.pr7{animation-delay:-3s;animation-duration:4.5s}.pr8{animation-delay:-3.5s}
@keyframes float{0%,100%{translate:0 0;rotate:-6deg}50%{translate:0 -18px;rotate:8deg}}
.hero-stage{position:relative;z-index:3;width:min(1320px,100%);margin:0 auto;display:grid;grid-template-columns:1.25fr 1fr;align-items:center;gap:30px}
.hero-art{position:relative;aspect-ratio:1.12/1;width:100%;max-width:720px;justify-self:center}
.hero-word{position:absolute;left:-3%;bottom:-4%;width:106%;height:auto;z-index:2;filter:drop-shadow(6px 7px 0 rgba(27,27,31,.9))}
.hero-jeans-wrap{position:absolute;left:8%;top:-2%;width:84%;z-index:3}
.hero-jeans{width:100%;height:auto;transform-origin:50% 90%;animation:run .42s ease-in-out infinite alternate}
@keyframes run{from{transform:translateY(0) rotate(-1.5deg) scale(1,1)}to{transform:translateY(-10px) rotate(1.5deg) scale(1.02,.98)}}
.dust{position:absolute;width:120px;z-index:1;opacity:.95}.d1{left:-6%;top:48%;animation:puff 1.6s ease-out infinite}.d2{left:-14%;top:58%;width:80px;animation:puff 1.6s .8s ease-out infinite}
@keyframes puff{0%{transform:translateX(30px) scale(.5);opacity:0}25%{opacity:1}100%{transform:translateX(-80px) scale(1.2);opacity:0}}
.hero-bubble{right:-2%;top:2%;transform:rotate(6deg);font-size:20px}
.hero-bubble::after{left:20%}
.kicker{display:inline-flex;align-items:center;gap:8px;font-weight:800;font-size:14px;letter-spacing:.08em;text-transform:uppercase;background:#fff;border:2.5px solid var(--ink);border-radius:999px;padding:6px 14px;margin-bottom:18px;color:var(--base)}
.tagline{font-family:var(--disp);font-weight:400;font-size:clamp(30px,3.4vw,52px);line-height:1.04;letter-spacing:.01em;color:var(--ink)}
.tagline .w:nth-child(n+4):nth-child(-n+8){color:var(--indigo)}
.tagline .w:nth-last-child(-n+6){color:var(--copper)}
.cta-row{display:flex;gap:14px;flex-wrap:wrap;margin:28px 0 20px}
.scroll-hint{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;font-family:var(--hand);font-size:15px;z-index:3}
.scroll-hint svg{width:22px;height:44px;animation:hint 1.4s ease-in-out infinite}
@keyframes hint{50%{transform:translateY(8px)}}

/* ---------- tape marquee ---------- */
.tape{position:relative;z-index:6;overflow:hidden;background:var(--indigo);border-block:4px solid var(--ink);padding:14px 0;transform:rotate(-2deg);margin:-10px -20px;
background-image:repeating-linear-gradient(35deg,rgba(30,63,122,.8) 0 2px,transparent 2px 5px)}
.tape::before,.tape::after{content:"";position:absolute;left:0;right:0;height:0;border-top:3px dashed var(--copper-l)}
.tape::before{top:6px}.tape::after{bottom:6px}
.tape-b{transform:rotate(1.6deg);background-color:var(--copper);background-image:repeating-linear-gradient(-35deg,rgba(0,0,0,.12) 0 2px,transparent 2px 6px)}
.tape-b::before,.tape-b::after{border-color:var(--paper)}
.tape-track{display:flex;width:max-content;align-items:center;gap:28px;padding-left:28px}
.tape span{font-family:var(--disp);font-size:clamp(26px,3.4vw,46px);color:var(--paper);letter-spacing:.04em;text-shadow:3px 3px 0 var(--ink);white-space:nowrap}
.tape i{width:30px;height:30px;flex:none;border-radius:50%;background:radial-gradient(circle at 50% 50%,var(--copper) 0 30%,var(--copper-l) 32% 60%,var(--ink) 62%);box-shadow:2px 2px 0 var(--ink)}
.tape-b i{background:radial-gradient(circle,var(--indigo) 0 30%,var(--wash) 32% 60%,var(--ink) 62%)}

/* ---------- lore comic ---------- */
.lore{padding:150px 24px 120px}
.comic{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1.2fr 1fr 1fr;grid-template-rows:340px 340px;gap:18px;transform:rotate(-.6deg)}
.panel{position:relative;background:#fff}
.p1{grid-row:span 2}.p4{grid-column:span 2}
.panel-frame{position:absolute;inset:-3px;width:calc(100% + 6px);height:calc(100% + 6px);z-index:5;overflow:visible;pointer-events:none;filter:url(#boil)}
.panel-frame rect{fill:none;stroke:var(--ink);stroke-width:5px;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:0}
.panel-in{position:absolute;inset:0;overflow:hidden;box-shadow:8px 8px 0 var(--ink)}
.halftone-blue{background:radial-gradient(circle,var(--wash) 2.2px,transparent 2.6px) 0 0/11px 11px,#dde6f3}
.halftone-copper{background:radial-gradient(circle,var(--copper-l) 2.4px,transparent 2.8px) 0 0/12px 12px,#f6e3d3}
.p1 .panel-in{background:radial-gradient(circle,rgba(27,27,31,.16) 1.8px,transparent 2.2px) 0 0/10px 10px,#fbf8f0}
.p4 .panel-in{background:linear-gradient(115deg,#fff 0 45%,transparent 45%),radial-gradient(circle,var(--wash) 2px,transparent 2.4px) 0 0/10px 10px,#e6edf7}
.caption{position:absolute;left:12px;top:12px;z-index:4;background:#FFE7A8;border:3px solid var(--ink);padding:5px 12px;font-family:var(--hand);font-size:17px;box-shadow:3px 3px 0 var(--ink);transform:rotate(-1.5deg)}
.pimg-l{position:absolute;left:-10%;bottom:6%;width:120%;opacity:.5}
.pjeans{position:absolute;height:auto}
.pj1{width:92%;left:4%;bottom:12%;transform:scaleX(-1) rotate(4deg)}
.pj2{width:78%;right:-6%;bottom:-8%;transform:rotate(-8deg)}
.pj4{width:44%;right:4%;bottom:4%}
.b-left{left:10%;top:22%;transform:rotate(-3deg)}
.b-right{left:8%;top:30%;transform:rotate(3deg)}
.b-top{right:40%;top:16%;transform:rotate(4deg);font-size:22px}.b-top::after{left:80%}
.sfx{position:absolute;font-family:var(--disp);color:var(--copper-l);-webkit-text-stroke:2.5px var(--ink);paint-order:stroke fill;text-shadow:4px 4px 0 var(--ink);z-index:3}
.sfx-zip{right:10%;top:20%;font-size:52px;transform:rotate(-12deg)}
.sfx-sq{left:8%;bottom:10%;font-size:46px;color:#fff;transform:rotate(-6deg)}
.squeeze{position:absolute;left:50%;top:52%;transform:translate(-50%,-50%);width:78%;height:96px;display:grid;place-items:center;border:4px solid var(--ink);border-radius:16px;background:var(--indigo);box-shadow:5px 5px 0 var(--ink);
background-image:repeating-linear-gradient(35deg,rgba(30,63,122,.8) 0 2px,transparent 2px 5px)}
.squeeze span{font-family:var(--disp);font-size:44px;color:var(--paper);text-shadow:3px 3px 0 var(--ink);display:inline-block}
.moral{list-style:none;position:absolute;left:28px;top:64px;display:flex;flex-direction:column;gap:6px}
.moral li{font-family:var(--disp);font-size:clamp(34px,4vw,56px);line-height:1;color:var(--ink)}
.moral b{font-weight:400;color:var(--indigo);-webkit-text-stroke:2px var(--ink);paint-order:stroke fill}
.moral li:nth-child(3) b{color:var(--copper)}
.lore-text{max-width:960px;margin:90px auto 0;font-family:var(--disp);font-size:clamp(26px,3.1vw,44px);line-height:1.18;text-align:center;letter-spacing:.01em}
.lore-text .w{color:rgba(27,27,31,.16);transition:color .25s}
.lore-text .w.on{color:var(--ink)}.lore-text .w.hl.on{color:var(--indigo)}

/* ---------- chase ---------- */
.chase{height:100vh;height:100svh;overflow:hidden;background:linear-gradient(#f7f3e8 0 62%,var(--paper2) 62%)}
.chase-pin{position:relative;height:100vh;height:100svh;overflow:hidden}
.chase-hud{position:absolute;top:96px;left:0;right:0;z-index:6;display:flex;align-items:center;justify-content:center;gap:18px}
.chase-hud .sec-no{margin:0}
.chase-hud h2{font-family:var(--disp);font-weight:400;font-size:clamp(44px,6vw,86px);color:var(--indigo);-webkit-text-stroke:3px var(--ink);paint-order:stroke fill;text-shadow:5px 5px 0 var(--ink);line-height:1}
.speedo{background:var(--ink);color:var(--copper-l);font-family:var(--disp);font-size:26px;border-radius:12px;padding:6px 12px;line-height:1;text-align:center;min-width:94px;transform:rotate(3deg)}
.speedo small{display:block;font-family:var(--body);font-size:10px;color:var(--paper);letter-spacing:.08em;margin-top:2px}
.chase-sky{position:absolute;inset:0}
.cc1{left:10%;top:30%;width:160px}.cc2{left:55%;top:24%;width:120px;opacity:.7}.cc3{left:80%;top:36%;width:180px}
.chase-world{position:absolute;left:0;bottom:0;height:62%;width:4000px;will-change:transform}
.chase-ground{position:absolute;left:0;bottom:0;width:100%;height:60%}
.sign{position:absolute;bottom:52%;display:flex;flex-direction:column;align-items:center}
.sign-board{font-family:var(--disp);font-size:30px;line-height:1;background:#fff;border:4px solid var(--ink);border-radius:10px;padding:12px 18px 8px;box-shadow:5px 5px 0 var(--ink);text-align:center;transform:rotate(-3deg)}
.sign-board small{display:block;font-family:var(--hand);font-size:15px;color:var(--copper)}
.sign-pole{width:12px;height:120px;background:var(--copper);border:3px solid var(--ink);border-top:0}
.s1{left:300px}.s2{left:1100px}.s2 .sign-board{background:var(--wash);transform:rotate(3deg)}.s3{left:1900px}.s3 .sign-board{background:#FFE7A8}.s4{left:2700px}.s4 .sign-board{background:var(--base);color:#fff}.s4 small{color:#fff}.s5{left:3500px}.s5 .sign-board{background:var(--copper);color:#fff}.s5 small{color:var(--paper)}
.cprop{position:absolute;width:60px;height:60px}
.cp1{left:700px;bottom:80%;width:80px;height:80px}.cp2{left:1500px;bottom:70%}.cp3{left:2300px;bottom:85%}.cp4{left:3100px;bottom:74%;width:90px;height:90px}.cp5{left:3800px;bottom:80%;width:40px}
.finish{position:absolute;left:3700px;bottom:38%;width:90px;height:230px}
.runner{position:absolute;left:12%;bottom:23%;width:min(400px,34vw);z-index:4}
.runner img{width:100%;height:auto;transform-origin:50% 95%}
.runner-shadow{position:absolute;left:18%;right:10%;bottom:-8px;height:18px;border-radius:50%;background:rgba(27,27,31,.22)}
.speedlines{position:absolute;left:-40%;top:20%;width:50%;height:60%}
.speedlines i{position:absolute;left:0;height:5px;border-radius:5px;background:var(--ink);opacity:0}
.speedlines i:nth-child(1){top:5%;width:70%}.speedlines i:nth-child(2){top:25%;width:100%}.speedlines i:nth-child(3){top:48%;width:60%}.speedlines i:nth-child(4){top:70%;width:90%}.speedlines i:nth-child(5){top:90%;width:50%}
.chase-progress{position:absolute;left:8%;right:8%;bottom:30px;height:10px;z-index:6;border-bottom:3px dashed rgba(27,27,31,.3)}
.chase-thread{position:absolute;left:0;bottom:-3px;height:0;border-bottom:4px dashed var(--copper);width:0}
.chase-needle{position:absolute;bottom:-14px;left:0;width:70px;height:18px;transform:translateX(-10px)}

/* ---------- stickers ---------- */
.stickers{padding:150px 24px 140px}
.board{position:relative;max-width:1240px;height:760px;margin:0 auto;border:5px solid var(--ink);border-radius:26px;box-shadow:10px 10px 0 var(--ink);background:var(--indigo);overflow:hidden;
background-image:repeating-linear-gradient(35deg,rgba(30,63,122,.85) 0 2px,transparent 2px 5px),repeating-linear-gradient(-55deg,rgba(111,149,207,.28) 0 1px,transparent 1px 7px);touch-action:pan-y}
.board-stitch{position:absolute;inset:14px;border:3px dashed var(--copper-l);border-radius:16px;pointer-events:none}
.stk{position:absolute;left:var(--x);top:var(--y);rotate:var(--r);user-select:none;-webkit-user-select:none;touch-action:none;transition:filter .2s;will-change:transform}
.stk:hover{filter:drop-shadow(8px 10px 0 rgba(0,0,0,.35))}
.polaroid{background:#fff;padding:10px 10px 6px;border:3px solid var(--ink);box-shadow:5px 5px 0 rgba(27,27,31,.85);width:210px}
.polaroid.wide{width:340px}
.polaroid img{width:100%;height:auto;border:2px solid var(--ink);pointer-events:none}
.polaroid figcaption{font-family:var(--hand);text-align:center;font-size:17px;padding-top:4px}
.polaroid::before{content:"";position:absolute;top:-14px;left:50%;width:80px;height:26px;transform:translateX(-50%) rotate(-4deg);background:rgba(233,225,204,.85);border:1.5px solid rgba(27,27,31,.25)}
.diecut{width:250px;filter:drop-shadow(0 0 0 #fff) drop-shadow(4px 0 0 #fff) drop-shadow(-4px 0 0 #fff) drop-shadow(0 4px 0 #fff) drop-shadow(0 -4px 0 #fff) drop-shadow(5px 6px 0 rgba(27,27,31,.6))}
.diecut img{width:100%;pointer-events:none}
.wordstk{width:300px}
.textstk{display:grid;place-items:center;width:150px;height:150px;border-radius:50%;border:4px solid var(--ink);box-shadow:5px 5px 0 var(--ink);text-align:center}
.textstk span{font-family:var(--disp);font-size:26px;line-height:.95}
.textstk small{font-family:var(--hand);font-size:14px}
.s-copper{background:var(--copper);color:#fff}.s-blue{background:var(--wash);color:var(--ink);border-radius:20px;width:140px;height:120px}.s-cream{background:var(--paper);border-radius:14px;width:130px;height:140px}
.svgstk{width:90px;height:90px}.svgstk.sm{width:62px;height:62px}
.stk.dragging{z-index:50!important;filter:drop-shadow(12px 16px 0 rgba(0,0,0,.35))}
#lightbox{position:fixed;inset:0;z-index:260;background:rgba(27,27,31,.72);display:grid;place-items:center;opacity:0;pointer-events:none;transition:opacity .3s;padding:20px}
#lightbox.open{opacity:1;pointer-events:all}
.lb-card{position:relative;background:#fff;border:5px solid var(--ink);box-shadow:10px 10px 0 var(--copper);padding:16px;transform:scale(.7) rotate(-4deg);transition:transform .5s cubic-bezier(.3,1.6,.5,1);max-width:min(900px,92vw)}
#lightbox.open .lb-card{transform:scale(1) rotate(-1deg)}
.lb-card img{max-height:76vh;width:auto;margin:0 auto}
.lb-close{position:absolute;top:-22px;right:-22px;width:50px;height:50px;border-radius:50%;background:var(--copper);color:#fff;border:4px solid var(--ink);font-size:30px;line-height:1;cursor:pointer}

/* ---------- tag ---------- */
.tag-sec{padding:150px 24px 120px}
.tag-wrap{position:relative;max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:start}
.tag-string{position:absolute;left:-40px;top:-60px;width:300px;height:200px;z-index:3;pointer-events:none}
.tag-string path{stroke-dasharray:1;stroke-dashoffset:0}
.hangtag{position:relative;background:#fbf7ec;border:5px solid var(--ink);border-radius:30px 30px 20px 20px;padding:70px 38px 34px;box-shadow:10px 10px 0 var(--ink);transform-origin:50% 0;rotate:-3deg;
clip-path:polygon(0 60px,60px 0,calc(100% - 60px) 0,100% 60px,100% 100%,0 100%);background-image:linear-gradient(rgba(47,93,168,.08) 1px,transparent 1px);background-size:100% 30px}
.hangtag::before{content:"";position:absolute;inset:12px;border:3px dashed var(--copper);clip-path:inherit;border-radius:20px;pointer-events:none}
.grommet{position:absolute;left:50%;top:22px;width:34px;height:34px;transform:translateX(-50%);border-radius:50%;background:var(--paper2);border:7px solid var(--copper-l);box-shadow:0 0 0 3px var(--ink),inset 0 0 0 3px var(--ink)}
.ht-brand img{width:min(260px,70%);margin:0 auto 8px;filter:drop-shadow(3px 4px 0 var(--ink))}
.ht-model{text-align:center;font-weight:700;font-size:13px;letter-spacing:.12em;margin-bottom:22px;color:var(--indigo-d)}
.ht-row{display:flex;align-items:center;gap:12px;border-bottom:3px dotted var(--ink);padding:14px 4px}
.ht-row span{font-weight:700;text-transform:uppercase;font-size:14px;letter-spacing:.06em;flex:1}
.ht-row b{font-family:var(--disp);font-weight:400;font-size:clamp(22px,2.6vw,32px);color:var(--indigo);display:flex;align-items:center;gap:6px}
.ph{font-style:normal;font-family:var(--body);font-weight:800;font-size:11px;background:var(--copper);color:#fff;border-radius:6px;padding:3px 7px;letter-spacing:.08em}
.ht-barcode{height:56px;margin:24px 0 10px;background:repeating-linear-gradient(90deg,var(--ink) 0 3px,transparent 3px 5px,var(--ink) 5px 6px,transparent 6px 10px,var(--ink) 10px 14px,transparent 14px 16px)}
.ht-price{font-family:var(--disp);font-size:clamp(34px,4.4vw,54px);color:var(--copper);-webkit-text-stroke:2px var(--ink);paint-order:stroke fill;text-align:center;line-height:1}
.ht-price small{font-family:var(--body);font-size:13px;-webkit-text-stroke:0;color:var(--ink);font-weight:800;letter-spacing:.2em;vertical-align:middle}
.ht-fine{text-align:center;font-size:12px;margin-top:8px;opacity:.75}
.carelabel{background:#fff;border:4px solid var(--ink);padding:26px 26px 20px;box-shadow:8px 8px 0 var(--indigo);rotate:2.5deg;margin-top:60px;position:relative;
background-image:repeating-linear-gradient(0deg,rgba(0,0,0,.03) 0 1px,transparent 1px 3px)}
.cl-title{font-family:var(--disp);font-size:28px;border-bottom:3px solid var(--ink);padding-bottom:8px;margin-bottom:14px;letter-spacing:.04em}
.carelabel ul{list-style:none;display:grid;gap:14px}
.carelabel li{display:flex;gap:14px;align-items:center;font-weight:600}
.carelabel li svg{width:40px;height:40px;flex:none;color:var(--indigo)}
.cl-made{margin-top:18px;font-weight:800;letter-spacing:.14em;font-size:13px;text-align:center;border-top:3px solid var(--ink);padding-top:10px}

/* ---------- buy cards ---------- */
.buy{padding:150px 24px 130px}
.cards{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:28px}
.card{position:relative;background:#fff;border:4px solid var(--ink);border-radius:20px 26px 18px 24px/24px 18px 26px 20px;padding:44px 22px 26px;box-shadow:8px 8px 0 var(--ink);transition:transform .3s cubic-bezier(.3,1.6,.5,1),box-shadow .2s}
.card:nth-child(odd){rotate:-1.5deg}.card:nth-child(even){rotate:1.5deg;margin-top:30px}
.card:hover{transform:translateY(-8px) rotate(-1deg);box-shadow:12px 14px 0 var(--indigo)}
.badge{position:absolute;top:-28px;left:20px;width:58px;height:58px;display:grid;place-items:center;font-family:var(--disp);font-size:28px;color:#fff;border-radius:50%;background:radial-gradient(circle,var(--copper) 0 50%,var(--copper-l) 52% 70%,var(--copper) 72%);border:4px solid var(--ink);box-shadow:3px 3px 0 var(--ink);text-shadow:2px 2px 0 var(--ink)}
.card-ico{width:64px;height:64px;margin-bottom:14px;object-fit:contain}
.card h3{font-family:var(--disp);font-weight:400;font-size:28px;line-height:1;margin-bottom:10px;color:var(--indigo)}
.card p{font-size:16px}.card a{font-weight:700;color:var(--indigo-d);text-decoration-thickness:2px;text-decoration-color:var(--copper)}
.big-cta{text-align:center;margin-top:70px}
.btn-mega{font-size:clamp(34px,5vw,64px);padding:22px 44px;border-radius:24px;background:var(--copper);color:#fff;box-shadow:10px 10px 0 var(--ink);border-width:5px}
.btn-mega:hover{background:var(--indigo)}

/* ---------- chart ---------- */
.chart{padding:130px 24px 140px}
.leather{display:flex;align-items:center;gap:16px;max-width:820px;width:100%;margin:0 auto 40px;padding:16px 20px;border:none;cursor:pointer;color:#f7e6d2;text-align:left;font:inherit;
background:radial-gradient(ellipse at 30% 20%,#b7703f,#8a4a22 70%);border-radius:16px;box-shadow:0 0 0 4px var(--ink),8px 8px 0 4px var(--ink);position:relative;transition:transform .2s}
.leather::before{content:"";position:absolute;inset:8px;border:3px dashed #f3d2ac;border-radius:10px;pointer-events:none}
.leather:hover{transform:rotate(-1deg) scale(1.01)}
.lp-mid{flex:1;min-width:0}
.lp-mid small{display:block;font-weight:800;letter-spacing:.14em;font-size:12px;opacity:.85}
.lp-mid code{display:block;font-family:ui-monospace,Menlo,monospace;font-size:clamp(14px,1.8vw,20px);font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#fff}
.lp-r{font-family:var(--disp);font-size:22px;background:var(--ink);color:var(--copper-l);padding:8px 14px;border-radius:10px}
.chart-box{max-width:1100px;margin:0 auto;border:5px solid var(--ink);border-radius:22px;box-shadow:10px 10px 0 var(--indigo);overflow:hidden;background:#fff;min-height:440px;position:relative}
.chart-box iframe{display:block;width:100%;height:600px;border:0}
.chart-soon{padding:40px 30px 46px;text-align:center;background:radial-gradient(circle,rgba(47,93,168,.13) 1.6px,transparent 2px) 0 0/14px 14px}
.soon-doodle{width:min(620px,100%);margin:0 auto 10px;filter:url(#boil);overflow:visible}
.soon-line{stroke-dasharray:1;stroke-dashoffset:1}
.chart-soon h3{font-family:var(--disp);font-weight:400;font-size:clamp(36px,4.6vw,58px);color:var(--indigo);-webkit-text-stroke:2px var(--ink);paint-order:stroke fill;text-shadow:4px 4px 0 var(--ink)}
.chart-soon p{max-width:520px;margin:10px auto 0}

/* ---------- footer ---------- */
.foot{position:relative;z-index:2;padding:80px 24px 120px;background:var(--paper2);border-top:5px solid var(--ink);text-align:center;overflow:hidden}
.pocket{position:relative;width:min(600px,100%);aspect-ratio:600/640;margin:0 auto}
.pocket-svg{position:absolute;inset:0;width:100%;height:100%;filter:drop-shadow(10px 10px 0 var(--ink))}
.pocket-in{position:absolute;inset:10% 10% 26%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px}
.foot-word{width:88%;filter:drop-shadow(0 0 0 #fff) drop-shadow(3px 0 0 #fff) drop-shadow(-3px 0 0 #fff) drop-shadow(0 3px 0 #fff) drop-shadow(0 -3px 0 #fff) drop-shadow(5px 6px 0 var(--ink))}
.foot-tag{font-family:var(--disp);font-size:clamp(22px,3vw,34px);color:var(--paper);text-shadow:3px 3px 0 var(--ink)}
.foot-soc{justify-content:center}
.foot-leather{display:inline-flex;align-items:center;gap:14px;margin:30px auto 0;background:radial-gradient(ellipse,#b7703f,#8a4a22);color:#f7e6d2;padding:12px 22px;border-radius:12px;box-shadow:0 0 0 4px var(--ink),6px 6px 0 4px var(--ink);rotate:-2deg}
.foot-leather b{font-family:var(--disp);font-weight:400;font-size:26px;color:#fff}
.foot-leather span{font-weight:800;letter-spacing:.14em;font-size:12px}
.disclaimer{max-width:820px;margin:34px auto 12px;font-size:14px;line-height:1.6;color:#3a3a40}
.copy{font-size:13px;opacity:.7}

/* ---------- responsive ---------- */
@media (max-width:1100px){.cards{grid-template-columns:repeat(2,1fr);gap:46px 28px}.card:nth-child(even){margin-top:0}}
@media (max-width:900px){
 .nav-links{display:none}
 .hero{padding:96px 18px 70px;align-items:flex-start}
 .hero-stage{grid-template-columns:1fr;gap:12px;text-align:center}
 .hero-art{max-width:460px}
 .hero-copy{display:flex;flex-direction:column;align-items:center}
 .cta-row,.social-row{justify-content:center}
 .hero-bubble{font-size:15px;right:0;top:-4%}
 .comic{grid-template-columns:1fr 1fr;grid-template-rows:auto;transform:none}
 .panel{min-height:300px}.p1{grid-row:auto;grid-column:span 2;min-height:360px}.p4{grid-column:span 2}
 .tag-wrap{grid-template-columns:1fr;gap:20px}.tag-string{display:none}
 .board{height:auto;min-height:0;display:flex;flex-wrap:wrap;justify-content:center;gap:22px;padding:40px 16px}
 .stk{position:relative;left:auto;top:auto}
 .polaroid{width:150px}.polaroid.wide{width:250px}.diecut{width:170px}.wordstk{width:220px}.textstk{width:110px;height:110px}.textstk span{font-size:19px}.s-blue{width:110px;height:96px}.s-cream{width:104px;height:110px}.svgstk{width:64px;height:64px}.svgstk.sm{width:48px;height:48px}
}
@media (max-width:600px){
 body{font-size:16px}
 .nav{padding:6px 8px 6px 6px}.nav-logo img{width:36px;height:36px}.nav-logo{font-size:19px}
 .tagline{font-size:29px}
 .btn{font-size:19px;padding:12px 18px}
 .cta-row{margin:20px 0 16px;gap:10px}
 .pr{transform:scale(.6)}.pr1{left:-4%}.sun-doodle{width:90px;right:-4%;top:90px}.c1{width:110px}.c2{display:none}
 .comic{grid-template-columns:1fr}.p1,.p4{grid-column:auto}.panel{min-height:300px}
 .moral{top:58px;left:18px}.pj4{width:54%}.b-top{right:6%;top:auto;bottom:62%}
 .cards{grid-template-columns:1fr}.card{rotate:0deg!important}
 .runner{width:56vw;bottom:24%;left:6%}
 .sign-board{font-size:22px;padding:10px 12px 6px}.sign-pole{height:80px}
 .chase-hud{top:84px;flex-wrap:wrap;gap:10px}
 .buy-pill{right:12px;bottom:12px;font-size:17px;padding:10px 16px}
 .sec-title{-webkit-text-stroke:2px var(--ink);text-shadow:4px 4px 0 var(--ink)}
 .lp-r{display:none}
 .hangtag{padding:66px 20px 26px}
 .foot{padding-bottom:100px}
 .pocket-in{inset:8% 8% 24%;gap:10px}.foot-soc .soc{padding:6px 10px 6px 6px;font-size:13px}.foot-soc .soc img{width:20px;height:20px}
 .tape span{font-size:24px}
}
@media (prefers-reduced-motion:reduce){
 *,*::before,*::after{animation:none!important;transition:none!important}
 .chase{height:auto}.chase-pin{height:auto;min-height:100vh}
}
figure{margin:0}
@media (max-width:600px){.pj1{width:76%;left:12%;bottom:6%}.board{gap:18px 14px;padding:34px 10px}.p1{min-height:340px}}
@media (max-width:600px){.polaroid{width:134px;padding:7px 7px 4px}.polaroid figcaption{font-size:14px}.polaroid.wide{width:280px}.diecut{width:150px}}
