@font-face{font-family:Anton;src:url(/fonts/anton-latin-400-normal.woff2) format('woff2');font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122}
@font-face{font-family:Anton;src:url(/fonts/anton-latin-ext-400-normal.woff2) format('woff2');font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+1E00-1EFF}
@font-face{font-family:Outfit;src:url(/fonts/outfit-latin-wght-normal.woff2) format('woff2');font-weight:100 900;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122}
@font-face{font-family:Outfit;src:url(/fonts/outfit-latin-ext-wght-normal.woff2) format('woff2');font-weight:100 900;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+1E00-1EFF}
:root{--p:#4a0fb0;--pd:#2b0770;--pdd:#1a0550;--v:#6a2bd9;--c:#19e3e8;--y:#ffd21e;--r:#f2294b;--pk:#ff4fa0;--o:#ff7a2f;--w:#fff;--ease:cubic-bezier(.2,.8,.2,1)}
*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
html,body{overflow-x:clip}body{font-family:Outfit,system-ui,sans-serif;background:var(--pd);color:#fff;line-height:1.45;overflow-x:hidden;min-height:100vh}
img,svg{display:block;max-width:100%}img{height:auto}
a{color:inherit}
h1,h2,h3,.an{font-family:Anton,Impact,sans-serif;font-weight:400;text-transform:uppercase;letter-spacing:.01em;line-height:1}
.ico{width:1em;height:1em;fill:currentColor}
/* ---------- botões ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;font:800 1.05rem/1 Outfit;text-transform:uppercase;letter-spacing:.04em;padding:1rem 1.6rem;border-radius:99px;border:4px solid var(--pdd);background:var(--r);color:#fff;cursor:pointer;text-decoration:none;box-shadow:0 6px 0 var(--pdd);transition:transform .15s var(--ease),box-shadow .15s var(--ease);min-height:52px;position:relative}
.btn:hover{transform:translateY(-2px);box-shadow:0 8px 0 var(--pdd)}
.btn:active{transform:translateY(5px);box-shadow:0 1px 0 var(--pdd)}
.btn.y{background:var(--y);color:var(--pdd)}.btn.c{background:var(--c);color:var(--pdd)}.btn.p{background:var(--p)}
.btn.sm{padding:.7rem 1.1rem;font-size:.9rem;min-height:44px}
.btn[disabled]{opacity:.55;pointer-events:none}
.btn.pulse::after{content:"";position:absolute;inset:-8px;border-radius:99px;border:3px solid var(--y);animation:ring 1.8s infinite}
@keyframes ring{0%{transform:scale(.92);opacity:.9}100%{transform:scale(1.12);opacity:0}}
/* ---------- topo ---------- */
.top{position:fixed;inset:0 0 auto 0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:.6rem .9rem;pointer-events:none}
.top>*{pointer-events:auto}
.top .mark{width:46px;height:46px;border-radius:50%;background:var(--y);display:grid;place-items:center;border:3px solid var(--pdd);color:var(--p);box-shadow:0 3px 0 var(--pdd)}
.top .mark svg{width:26px;height:26px}
.top nav{display:flex;gap:.45rem}
.chip{display:inline-flex;align-items:center;gap:.4rem;background:#fff;color:var(--pdd);font:800 .8rem Outfit;text-transform:uppercase;letter-spacing:.05em;padding:.6rem .9rem;border-radius:99px;border:3px solid var(--pdd);text-decoration:none;box-shadow:0 3px 0 var(--pdd);min-height:44px}
.chip.y{background:var(--y)}
/* ---------- hero ---------- */
.hero{position:relative;background:var(--p);overflow:hidden;padding:5.2rem 0 0;isolation:isolate}
.layer{position:absolute;pointer-events:none;will-change:transform}
.fl{animation:flo 6s ease-in-out infinite alternate}.fl2{animation:flo2 7.5s ease-in-out infinite alternate}.fl3{animation:flo 9s ease-in-out infinite alternate-reverse}
@keyframes flo{from{translate:0 -8px;rotate:-3deg}to{translate:0 10px;rotate:3deg}}
@keyframes flo2{from{translate:-6px 6px;rotate:4deg}to{translate:8px -10px;rotate:-3deg}}
.tw{animation:tw 2.4s ease-in-out infinite}.tw:nth-child(2n){animation-delay:.7s}.tw:nth-child(3n){animation-delay:1.3s}
@keyframes tw{0%,100%{transform:scale(.6) rotate(0);opacity:.5}50%{transform:scale(1.1) rotate(45deg);opacity:1}}
.spin{animation:spin 14s linear infinite}@keyframes spin{to{rotate:360deg}}
.bg-blob{position:absolute;border-radius:50%}
.hero-in{position:relative;z-index:3;max-width:560px;margin:0 auto;padding:0 1rem}
.hero .badge-row{display:flex;align-items:center;gap:.7rem;justify-content:flex-start;margin-bottom:.4rem}
.hero .badge-row img{width:74px;height:74px;border-radius:50%;filter:drop-shadow(0 4px 0 var(--pdd))}
.hero .badge-row small{font:800 .72rem Outfit;text-transform:uppercase;letter-spacing:.12em;color:var(--y);display:block}
.hero .badge-row b{font:800 .95rem Outfit;display:block;line-height:1.1}
.wm{width:min(88%,430px);margin:.2rem auto 0;filter:drop-shadow(0 6px 0 rgba(26,5,80,.7));animation:pop 1s var(--ease) both}
@keyframes pop{from{transform:scale(.6) rotate(-6deg);opacity:0}to{transform:none;opacity:1}}
.stage{position:relative;height:330px;margin:-.5rem -1rem 0}
.stage .freud{left:-6%;bottom:0;width:68%;z-index:2;filter:drop-shadow(0 8px 0 rgba(26,5,80,.5))}
.stage .brain{right:0;top:6px;width:36%}
.stage .eye{right:24%;top:-14px;width:34%;z-index:3}
.stage .face1{right:-2%;bottom:6%;width:22%;color:var(--c)}
.stage .face2{right:12%;bottom:0;width:20%;color:var(--pk)}
.stage .psi{left:55%;bottom:12%;width:17%;color:var(--y);z-index:3;filter:drop-shadow(0 4px 0 var(--pdd))}
.pills{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin:.3rem 0 1.1rem}
.pill{font:800 .92rem Outfit;text-transform:uppercase;letter-spacing:.04em;padding:.55rem .95rem;border-radius:99px;border:3px solid var(--pdd);box-shadow:0 4px 0 var(--pdd)}
.pill.r{background:var(--r)}.pill.c{background:var(--c);color:var(--pdd)}.pill.y{background:var(--y);color:var(--pdd)}.pill.pk{background:var(--pk);color:var(--pdd)}
/* ingresso (cartão amarelo com picote) */
.tk{position:relative;background:var(--y);color:var(--pdd);border-radius:26px;padding:1.2rem 1rem 1.3rem;border:4px solid var(--pdd);box-shadow:0 8px 0 var(--pdd);--n:16px;
 -webkit-mask:radial-gradient(circle var(--n) at 0 52%,#0000 98%,#000) left/51% 100% no-repeat,radial-gradient(circle var(--n) at 100% 52%,#0000 98%,#000) right/51% 100% no-repeat;mask:radial-gradient(circle var(--n) at 0 52%,#0000 98%,#000) left/51% 100% no-repeat,radial-gradient(circle var(--n) at 100% 52%,#0000 98%,#000) right/51% 100% no-repeat}
.tkwrap{filter:drop-shadow(0 8px 0 var(--pdd))}
.tkwrap .tk{box-shadow:none;border:0}
.tk .lt{display:flex;justify-content:space-between;align-items:flex-start;gap:.6rem}
.tk h2{font-size:clamp(2.3rem,11vw,3.6rem);color:var(--pd);text-shadow:3px 3px 0 var(--c)}
.tag{display:inline-block;background:var(--r);color:#fff;font:800 .8rem Outfit;text-transform:uppercase;letter-spacing:.06em;padding:.4rem .8rem;border-radius:99px;border:3px solid var(--pdd)}
.cd{display:flex;gap:.4rem;margin:.7rem 0}
.cd div{flex:1;background:var(--pd);color:var(--y);border-radius:14px;text-align:center;padding:.45rem 0 .3rem}
.cd b{font:400 1.9rem/1 Anton;display:block}.cd span{font:800 .62rem Outfit;text-transform:uppercase;letter-spacing:.1em;color:#fff}
.cdl{font:800 .78rem Outfit;text-transform:uppercase;letter-spacing:.08em;margin-top:.5rem}
.pr{display:grid;gap:.5rem;margin:.8rem 0 1rem}
.pr div{display:flex;align-items:center;justify-content:space-between;background:var(--pd);border-radius:16px;padding:.7rem 1rem;font:800 1.02rem Outfit;text-transform:uppercase;color:#fff;border:3px solid var(--pdd)}
.pr div:nth-child(2){background:var(--p)}.pr div:nth-child(3){background:var(--r)}
.pr b{font:400 1.9rem/1 Anton;color:var(--c)}.pr div:nth-child(2) b{color:var(--y)}.pr div:nth-child(3) b{color:#fff}
.pr em{font-style:normal;font-size:.7rem;background:var(--y);color:var(--pdd);border-radius:99px;padding:.15rem .5rem;margin-left:.4rem}
.hero .btn{width:100%;font-size:1.2rem}
.hero-bottom{position:relative;height:130px;margin-top:.6rem}
.hero-bottom .diva{left:50%;bottom:-8px;width:min(70%,330px);transform:translateX(-50%)}
.hero-bottom .st{left:0;bottom:-6px;width:100px;opacity:.95}
/* marquee */
.mq{background:var(--y);color:var(--pdd);border-block:4px solid var(--pdd);overflow:hidden;white-space:nowrap;position:relative;z-index:4;rotate:-1.2deg;margin:-4px 0;width:104%;left:-2%;transform-origin:center}
.mq div{display:inline-block;padding:.55rem 0;animation:mq 22s linear infinite;font:400 1.5rem Anton;text-transform:uppercase;letter-spacing:.04em}
.mq span{margin:0 1rem}.mq i{color:var(--r);font-style:normal}
@keyframes mq{to{transform:translateX(-50%)}}
/* seções */
.sec{position:relative;padding:3.2rem 1rem;overflow:hidden;isolation:isolate}
.sec-in{position:relative;z-index:2;max-width:560px;margin:0 auto}
.sec h2.t{font-size:clamp(2.2rem,10vw,3.4rem);margin-bottom:.4rem;text-shadow:3px 3px 0 var(--pdd)}
.sec .sub{font-weight:600;opacity:.95;margin-bottom:1.1rem}
.s-cyan{background:var(--c);color:var(--pdd)}.s-cyan h2.t{color:var(--pd);text-shadow:3px 3px 0 #fff}
.s-pink{background:var(--r)}.s-purple{background:var(--v)}.s-dark{background:var(--pd)}.s-yellow{background:var(--y);color:var(--pdd)}.s-yellow h2.t{color:var(--pd);text-shadow:3px 3px 0 var(--c)}
.wave{display:block;width:100%;height:40px;margin-bottom:-1px}
/* compra */
.buy{background:#fff;color:var(--pdd);border-radius:28px;padding:1.1rem;border:4px solid var(--pdd);box-shadow:0 8px 0 var(--pdd)}
.cat{display:grid;grid-template-columns:1fr auto;gap:.3rem .8rem;align-items:center;padding:.9rem .2rem;border-bottom:3px dashed #d9cdf6}
.cat:last-of-type{border-bottom:0}
.cat h3{font-size:1.35rem;color:var(--pd)}
.cat .pp{font:400 1.9rem Anton;color:var(--r);grid-row:1/3;grid-column:2;text-align:right;line-height:1}
.cat small{font-weight:700;color:#6a5a99;font-size:.82rem}
.cat .left{grid-column:1/3;font:800 .72rem Outfit;text-transform:uppercase;letter-spacing:.06em;color:var(--v)}
.cat.sold{opacity:.55}.cat.sold .left{color:var(--r)}
.stp{display:flex;align-items:center;gap:.6rem;grid-column:1/3;margin-top:.3rem}
.stp button{width:48px;height:48px;border-radius:50%;border:3px solid var(--pdd);background:var(--y);font:800 1.6rem Outfit;color:var(--pdd);cursor:pointer;box-shadow:0 3px 0 var(--pdd)}
.stp button:active{transform:translateY(3px);box-shadow:none}
.stp output{min-width:2.2rem;text-align:center;font:400 1.8rem Anton}
.tot{display:flex;justify-content:space-between;align-items:center;margin:.8rem 0;font:800 1rem Outfit;text-transform:uppercase}
.tot b{font:400 2.2rem Anton;color:var(--r)}
.note{font-size:.82rem;color:#5b4a8c;font-weight:600}
/* cards da festa */
.cards{display:grid;gap:1rem}
.card{position:relative;border-radius:26px;padding:1.2rem 1.1rem 1.2rem;border:4px solid var(--pdd);box-shadow:0 7px 0 var(--pdd);overflow:hidden;min-height:150px}
.card h3{font-size:1.9rem;position:relative;z-index:2;max-width:70%}
.card p{position:relative;z-index:2;font-weight:600;max-width:60%;margin-top:.4rem}
.card .art{position:absolute;right:-8px;bottom:-8px;width:44%;z-index:1}
.card.c1{background:var(--c);color:var(--pdd)}.card.c2{background:var(--y);color:var(--pdd)}.card.c3{background:var(--pk);color:var(--pdd)}.card.c4{background:var(--v)}
/* lotes timeline */
.lt-list{display:grid;gap:.8rem}
.lote{position:relative;background:var(--pd);border:4px solid var(--pdd);border-radius:22px;padding:.9rem 1rem;box-shadow:0 5px 0 var(--pdd)}
.lote h3{font-size:1.7rem;color:var(--y)}
.lote .dt{font:700 .8rem Outfit;opacity:.85;text-transform:uppercase;letter-spacing:.05em}
.lote .ps{display:flex;gap:.4rem;margin-top:.6rem}
.lote .ps div{flex:1;text-align:center;border-radius:12px;padding:.35rem .2rem;background:var(--p);font:700 .64rem Outfit;text-transform:uppercase}
.lote .ps b{display:block;font:400 1.4rem Anton;color:var(--c)}
.lote.now{background:var(--r);transform:scale(1.02)}.lote.now::before{content:"AGORA";position:absolute;right:12px;top:-12px;background:var(--y);color:var(--pdd);font:800 .75rem Outfit;padding:.3rem .7rem;border-radius:99px;border:3px solid var(--pdd);animation:pop 1s var(--ease) infinite alternate}
.lote.past{opacity:.5;filter:saturate(.4)}
/* local */
.hen{background:var(--y);border:4px solid var(--pdd);border-radius:26px;padding:1.3rem;text-align:center;color:var(--pdd);box-shadow:0 7px 0 var(--pdd)}
.hen img{width:min(80%,320px);margin:.4rem auto 1rem}
.hen address{font-style:normal;font-weight:700}
.partners{display:flex;gap:1rem;align-items:center;justify-content:center;flex-wrap:wrap}
.partners .bx{background:#fff;border-radius:24px;border:4px solid var(--pdd);padding:.8rem;text-align:center;color:var(--pdd);box-shadow:0 5px 0 var(--pdd);font:800 .75rem Outfit;text-transform:uppercase}
.partners img{width:110px;margin:0 auto .3rem}
.partners .ap{background:var(--c)}.partners .ap img{width:90px;border-radius:12px}
details{background:#ffffff1c;border:3px solid #ffffff55;border-radius:18px;padding:.9rem 1rem;margin-bottom:.6rem}
details summary{font-weight:800;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:1rem}
details summary::after{content:"+";font:800 1.4rem/1 Outfit;color:var(--y)}details[open] summary::after{content:"–"}
details p{margin-top:.6rem;font-weight:500}
footer{background:var(--pdd);padding:2.2rem 1rem 3rem;font-size:.85rem}
footer .in{max-width:560px;margin:0 auto}
footer a{color:var(--c);font-weight:700}
footer .lg{width:200px;margin-bottom:1rem}
/* reveal */
.rv{opacity:0;transform:translateY(34px) scale(.97);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.rv.in{opacity:1;transform:none}
.rv.l{transform:translateX(-40px)}.rv.r{transform:translateX(40px)}.rv.in.l,.rv.in.r{transform:none}
/* formulários */
.page{min-height:100vh;background:var(--p);position:relative;overflow:hidden;padding:5rem 1rem 3rem;isolation:isolate}
.box{position:relative;z-index:2;max-width:520px;margin:0 auto;background:#fff;color:var(--pdd);border:4px solid var(--pdd);border-radius:28px;box-shadow:0 8px 0 var(--pdd);padding:1.3rem 1.1rem}
.box h1{font-size:2.3rem;color:var(--pd);text-shadow:3px 3px 0 var(--c);margin-bottom:.8rem}
.box h2{font-size:1.5rem;color:var(--pd);margin:1.2rem 0 .5rem}
label.f{display:block;font:800 .8rem Outfit;text-transform:uppercase;letter-spacing:.05em;margin:.8rem 0 .25rem;color:var(--pd)}
input[type=text],input[type=email],input[type=password],input[type=tel],input[type=date],input[type=search],select{width:100%;font:600 1rem Outfit;padding:.85rem .9rem;border:3px solid var(--pd);border-radius:14px;background:#faf7ff;color:var(--pdd);min-height:50px}
input:focus,select:focus{outline:4px solid var(--c);outline-offset:1px}
.ck{display:flex;gap:.7rem;align-items:flex-start;margin:.8rem 0;font-weight:600;font-size:.9rem;cursor:pointer}
.ck input{width:26px;height:26px;flex:none;accent-color:var(--r);margin-top:.1rem}
.err{background:var(--r);color:#fff;border-radius:14px;padding:.7rem .9rem;font-weight:700;margin:.8rem 0;display:none}
.err.show{display:block}.ok{background:var(--c);color:var(--pdd);border-radius:14px;padding:.7rem .9rem;font-weight:700;margin:.8rem 0}
.tabs{display:flex;gap:.4rem;margin-bottom:1rem}
.tabs button{flex:1;font:800 .95rem Outfit;text-transform:uppercase;padding:.8rem;border-radius:99px;border:3px solid var(--pdd);background:#eee8ff;color:var(--pdd);cursor:pointer;min-height:48px}
.tabs button.on{background:var(--y);box-shadow:0 3px 0 var(--pdd)}
.sum{background:#f3edff;border-radius:18px;padding:.8rem 1rem;margin:.5rem 0;font-weight:700}
.sum div{display:flex;justify-content:space-between;padding:.25rem 0}
.sum .t{border-top:3px dashed #c9b8f2;margin-top:.4rem;padding-top:.5rem;font:400 1.8rem Anton;color:var(--r)}
.opts{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}
.opt{border:4px solid var(--pd);border-radius:18px;padding:.9rem .6rem;text-align:center;font:800 1rem Outfit;text-transform:uppercase;background:#faf7ff;cursor:pointer;min-height:84px;color:var(--pdd)}
.opt small{display:block;font:600 .72rem Outfit;text-transform:none;opacity:.8;margin-top:.2rem}
.opt.on{background:var(--y);box-shadow:0 4px 0 var(--pd)}
.qrbox{text-align:center}
.qrbox img{width:min(78%,300px);margin:.6rem auto;border:6px solid var(--pd);border-radius:20px;background:#fff}
.copy{word-break:break-all;background:#f3edff;border-radius:12px;padding:.6rem;font:600 .72rem monospace;max-height:5.5rem;overflow:auto}
.stat{font:800 1rem Outfit;text-transform:uppercase;display:inline-flex;gap:.5rem;align-items:center;padding:.4rem .9rem;border-radius:99px;background:var(--y);border:3px solid var(--pd)}
.stat i{width:.7rem;height:.7rem;border-radius:50%;background:var(--r);animation:ring 1.2s infinite}
.tcard{background:var(--p);color:#fff;border-radius:22px;padding:1rem;margin:.8rem 0;border:4px solid var(--pdd);position:relative;overflow:hidden}
.tcard h3{font-size:1.6rem;color:var(--y)}
.tcard .code{font:400 1.5rem Anton;letter-spacing:.06em;color:var(--c)}
.tcard .row{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.7rem}
.tcard img.qr{width:150px;background:#fff;border-radius:14px;padding:6px;float:right;margin-left:.6rem}
.tcard.used{filter:grayscale(.8);opacity:.7}
.legal h2{font-size:1.4rem;margin:1.3rem 0 .4rem;color:var(--pd)}.legal p,.legal li{margin:.45rem 0;font-weight:500}.legal ul{padding-left:1.2rem}
.legal a{color:var(--v);font-weight:700}
@media (min-width:720px){.hero-in,.sec-in{max-width:640px}.stage{height:380px}.cards{grid-template-columns:1fr 1fr}.card:nth-child(1),.card:nth-child(4){grid-column:span 1}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}.rv{opacity:1;transform:none}}
details.hold{background:#f3edff;border:3px solid #d9cdf6;border-radius:16px;padding:.7rem .9rem;margin:.8rem 0}
details.hold summary{font:800 .9rem Outfit;color:var(--pd);text-transform:uppercase;letter-spacing:.04em}
details.hold summary::after{color:var(--r)}
.box small{font-weight:600;text-transform:none;letter-spacing:0;opacity:.75}
body{padding-bottom:70px}
