:root{
  --cream:#FFF3E4; --pink:#FA4F8B; --pinkdeep:#E8397A; --salmon:#F98CA8; --yellow:#FFD93D; --yellow2:#FFC629;
  --purple:#7C4DE0; --orange:#FF7A2F; --ink:#2A1B3D; --white:#FFFDF9; --muted:#6E5A7E; --paper:#FFFFFF;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Nunito,system-ui,sans-serif;color:var(--ink);background:var(--cream);line-height:1.5;overflow-x:hidden}
h1,h2,h3{font-family:Fraunces,Georgia,serif;font-weight:900;line-height:1;margin:0;letter-spacing:-.01em}
.outl{color:var(--ink);text-shadow:-2px -2px 0 #fff,2px -2px 0 #fff,-2px 2px 0 #fff,2px 2px 0 #fff,0 3px 0 #fff,3px 0 0 #fff,-3px 0 0 #fff,0 -3px 0 #fff}
.outl-w{color:#fff;text-shadow:-2px -2px 0 var(--ink),2px -2px 0 var(--ink),-2px 2px 0 var(--ink),2px 2px 0 var(--ink),0 3px 0 var(--ink),3px 0 0 var(--ink),-3px 0 0 var(--ink),0 -3px 0 var(--ink)}
a{color:inherit}button{font:inherit;cursor:pointer}
.wrap{max-width:1120px;margin:0 auto;padding:0 20px}
.btn{display:inline-block;border:2px solid var(--ink);background:var(--yellow);color:var(--ink);padding:11px 22px;border-radius:999px;font-family:Nunito;font-weight:800;font-size:.98rem;text-decoration:none;transition:transform .12s}
.btn:hover{transform:translateY(-2px)}
.btn.white{background:#fff}.btn.ink{background:var(--ink);color:#fff}.btn.pink{background:var(--pink);color:#fff}
/* nav */
.nav{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0}
.logo{font-family:Fraunces;font-weight:900;font-style:italic;font-size:1.4rem;text-decoration:none;color:var(--pink)}
.navlinks{display:flex;gap:22px;font-size:.92rem;font-weight:700}
.navlinks a{text-decoration:none}
@media(max-width:640px){.navlinks{display:none}}
/* hero */
.hero{position:relative;background:var(--pink);border-radius:36px;padding:170px 24px 170px;min-height:640px;display:flex;flex-direction:column;justify-content:center;text-align:center;color:#fff;overflow:hidden;margin-top:6px}
.hero h1{font-size:clamp(44px,8vw,104px);color:#fff;text-shadow:0 4px 0 rgba(42,27,61,.35)}.hero h1 em{font-style:italic;font-weight:700}
.hero p{max-width:520px;margin:18px auto 26px;font-size:1.1rem;color:#fff}
.cta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.hero .btn{border-color:#fff}
.hero .btn.white{background:#fff;color:var(--pink);border-color:#fff}
.hero .btn.line{background:transparent;color:#fff}


@media(max-width:760px){.s1,.s3,.hero{padding:80px 18px 70px;min-height:420px}}
.heart{position:relative;margin:-31px auto 0;z-index:2;width:62px;height:62px;border-radius:50%;background:#fff;border:3px solid var(--salmon);display:grid;place-items:center;font-size:1.5rem}

.formbox{overflow:visible}

.tag{position:absolute;pointer-events:none;display:inline-block;font-family:Fraunces,Georgia,serif;font-weight:800;font-size:clamp(13px,1.25vw,17px);line-height:1.15;text-align:center;padding:12px 20px;color:var(--ink);border:2.5px solid var(--ink);box-shadow:0 0 0 4px #fff,0 10px 16px rgba(42,27,61,.22);z-index:1}
.tag em{font-style:italic;font-weight:700}
.tag small{display:block;font-family:Nunito;font-weight:700;font-size:.72em;letter-spacing:.08em;text-transform:uppercase;opacity:.75;margin-top:2px}
.tag.tpill{border-radius:999px}.tag.rect{border-radius:12px}.tag.arch{border-radius:999px 999px 14px 14px;padding-top:18px}
.tag.ticket{border-radius:10px;border-style:dashed}
.tag.white{background:#fff}.tag.cream{background:var(--cream)}.tag.purple{background:var(--purple);color:#fff}.tag.pink{background:var(--pink);color:#fff}
.tag.orange{background:var(--orange);color:#fff}.tag.yellow{background:var(--yellow)}.tag.sky{background:#CFE6FF}
.tape{position:absolute;width:150px;height:34px;background:repeating-linear-gradient(135deg,rgba(255,255,255,.75) 0 8px,rgba(255,255,255,.55) 8px 16px);border-left:2px dashed rgba(255,255,255,.7);border-right:2px dashed rgba(255,255,255,.7);pointer-events:none;z-index:2}
.t1{left:-20px;top:22px;transform:rotate(-24deg)}.t2{right:-24px;bottom:26px;transform:rotate(-24deg)}
.dd-wrap{position:absolute;pointer-events:none;z-index:1}
.dd{width:100%;height:auto;display:block;overflow:visible}
.burst{filter:drop-shadow(0 8px 10px rgba(42,27,61,.22))}
.p1{left:2%;top:4%;width:180px;transform:rotate(-8deg)}
.p2{left:22%;top:8%;transform:rotate(-5deg)}
.p3{left:42%;top:5%;transform:rotate(3deg)}
.p4{left:62%;top:9%;transform:rotate(6deg)}
.p5{right:2%;top:5%;transform:rotate(8deg)}
.p6{left:3%;top:66%;transform:rotate(4deg)}
.p7{left:26%;top:76%;transform:rotate(-4deg)}
.p8{left:56%;top:80%;transform:rotate(6deg)}
.p9{right:4%;top:70%;transform:rotate(-7deg)}
.p10{left:8%;top:44%;width:44px}.p11{right:8%;top:42%;width:34px;transform:rotate(15deg)}.p12{left:40%;top:90%;width:120px}.p13{left:18%;top:88%;width:28px}
.p14{right:20%;top:60%;width:110px;transform:scaleX(-1) rotate(-10deg)}
.hero{overflow:visible}
.w1{left:0;top:-6px;transform:rotate(-8deg)}.w2{right:0;top:20px;transform:rotate(7deg)}.w3{left:50%;top:-30px;width:110px;transform:translateX(-50%)}
.f1{left:-50px;top:-46px;transform:rotate(-6deg)}.f2{right:-24px;top:-22px;transform:rotate(8deg)}.f3{right:30px;bottom:24px;width:34px}
.formbox{overflow:visible}
@media(max-width:1000px){.tag{font-size:12px;padding:9px 14px}.p1{width:130px}.p14{display:none}}
@media(max-width:760px){.p2,.p4,.p6,.p8,.p11,.p13,.p5,.w1,.w2,.w3,.f1,.f2,.f3{display:none}.p3{left:auto;right:4%;top:6%}.p7{left:4%;top:80%}.p9{top:80%}.tape{width:100px;height:24px}}
@media(max-width:480px){.p3,.p9{display:none}}
/* ribbon */
.ribbon{position:relative;height:150px;margin:24px 0 8px;overflow:visible}
.ribbon svg{position:absolute;left:-6vw;top:0;width:112vw;height:100%;overflow:visible}
.ribbon text{font-family:Fraunces;font-weight:900;font-size:26px;letter-spacing:.08em;fill:var(--ink)}
.rib-back{fill:none;stroke:var(--yellow);stroke-width:46;stroke-linecap:round}
/* how */
.how{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:8px}
@media(max-width:820px){.how{grid-template-columns:repeat(2,1fr)}}
.howcard{background:#fff;border-radius:22px;padding:18px;display:flex;gap:12px;align-items:flex-start;border:2px solid #FFD3E0}
.howcard .ic{width:52px;height:52px;flex:none;border-radius:16px;background:var(--salmon);display:grid;place-items:center;font-size:1.5rem}
.howcard b{display:block;font-family:Fraunces;font-weight:800;color:var(--pink);font-size:1.05rem}
.howcard span{font-size:.9rem;color:var(--muted)}
/* sections */
section{padding:44px 0}
.sec-head{text-align:center;margin-bottom:30px;position:relative;padding-top:10px}
.sec-head h2{font-size:clamp(38px,6.5vw,76px);display:inline-block}.sec-head h2 em{font-style:italic;font-weight:700;color:var(--pink)}
.sec-head p{color:var(--muted);margin:10px 0 0}
.pill{display:inline-block;background:var(--salmon);color:#fff;border-radius:999px;padding:4px 14px;font-family:Nunito;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em;margin-bottom:14px}
.badge{position:absolute;width:86px;height:86px;border-radius:50%;display:grid;place-items:center;font-family:Fraunces;font-weight:700;font-size:.7rem;text-transform:uppercase;text-align:center;line-height:1.1;border:3px dashed #fff;padding:8px}
.b1{left:0;top:10px;background:var(--salmon);color:#fff;transform:rotate(-12deg)}
.b2{right:0;top:-10px;background:var(--yellow);color:var(--ink);transform:rotate(10deg)}
@media(max-width:700px){.badge{display:none}}
.count{display:inline-block;margin-top:12px;background:#fff;border:2px solid var(--ink);border-radius:999px;padding:6px 16px;font-family:Fraunces;font-weight:600}
/* wall cards */
.wall{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:28px 24px;align-items:start;padding-top:10px}
.card{margin:0;padding:24px 22px 18px;border-radius:26px;color:#fff;position:relative;transition:transform .15s;box-shadow:0 10px 24px rgba(42,27,61,.14)}
.card:nth-child(4n+1){background:var(--purple);transform:rotate(-2deg)}
.card:nth-child(4n+2){background:var(--orange);transform:rotate(1.5deg)}
.card:nth-child(4n+3){background:var(--salmon);transform:rotate(-1deg)}
.card:nth-child(4n+4){background:var(--yellow);transform:rotate(2deg);color:var(--ink)}
.card:hover{animation:wiggle .5s ease-in-out;z-index:2}
@keyframes wiggle{0%,100%{transform:rotate(0)}25%{transform:rotate(1.5deg) scale(1.02)}75%{transform:rotate(-1.5deg) scale(1.02)}}
.card .num{position:absolute;top:14px;right:16px;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.35);display:grid;place-items:center;font-family:Fraunces;font-weight:700;font-size:.85rem}
.card:nth-child(4n+4) .num{background:rgba(42,27,61,.12)}
.card h3{font-size:1.5rem;font-family:Fraunces;font-weight:800;margin:0 40px 12px 0;line-height:1.1}
.card h3::before{content:"I failed at";display:block;font-family:Nunito;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;opacity:.85;margin-bottom:8px;font-weight:800}
.card p{margin:0 0 14px;font-size:.96rem;line-height:1.45}
.card img{display:block;width:100%;border-radius:14px;margin:0 0 14px;border:3px solid #fff}
.meta{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:.85rem;flex-wrap:wrap;border-top:1.5px dashed rgba(255,255,255,.5);padding-top:10px}
.card:nth-child(4n+4) .meta{border-color:rgba(42,27,61,.3)}
.who{font-weight:700}
.links{display:flex;gap:6px}
.links a{display:inline-flex;align-items:center;text-decoration:none;font-weight:700;background:#fff;color:var(--ink);border-radius:999px;padding:3px 10px;font-size:.8rem}
.rip{position:absolute;top:-12px;left:18px;background:#fff;color:var(--ink);border-radius:999px;padding:3px 12px;font-family:Nunito;font-weight:800;font-size:.75rem;letter-spacing:.06em;border:2px solid var(--ink)}
.empty{text-align:center;padding:40px;border:3px dashed var(--salmon);border-radius:22px;color:var(--muted)}
/* form */
.formbox{background:#fff;border-radius:30px;padding:30px;max-width:700px;margin:0 auto;position:relative;border:3px solid var(--salmon)}
.formbox h2{font-size:clamp(28px,5vw,44px);margin-bottom:6px}
.hint{color:var(--muted);margin:0 0 18px;font-size:.95rem}
.field{margin-bottom:14px}
label{display:block;font-weight:700;margin-bottom:6px;font-size:.92rem}
input,textarea{width:100%;font:inherit;color:var(--ink);background:var(--cream);border:2px solid #FFD3E0;border-radius:14px;padding:11px 14px}
input:focus,textarea:focus{outline:3px solid var(--yellow);outline-offset:1px;border-color:var(--pink)}
textarea{min-height:96px;resize:vertical}
.row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:520px){.row{grid-template-columns:1fr}}
.opt{font-weight:500;color:var(--muted)}
.check{display:flex;align-items:center;gap:10px;font-weight:600;cursor:pointer}
.check input{width:22px;height:22px;accent-color:var(--pink)}
.charc{font-size:.8rem;color:var(--muted);text-align:right;margin-top:4px}
.sent{display:none;text-align:center;padding:20px 0 6px}
.sent.show{display:block}
.sent h3{font-size:1.6rem;margin-bottom:8px}
.copybox{margin-top:12px;text-align:left;background:var(--cream);border:2px dashed var(--salmon);border-radius:14px;padding:12px;font-size:.9rem;white-space:pre-wrap;max-height:200px;overflow:auto}
.smallbtns{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:12px}
.smallbtns .btn{padding:8px 14px;font-size:.95rem}
footer{padding:30px 20px 220px;color:var(--muted)}
.foot{max-width:760px;margin:0 auto;background:#fff;border:3px solid var(--salmon);border-radius:28px;padding:24px;display:flex;gap:22px;align-items:center;position:relative}
.polaroid{position:relative;background:#fff;padding:12px 12px 34px;border:1px solid #e8dccf;box-shadow:0 12px 24px rgba(42,27,61,.18);transform:rotate(-5deg);flex:none;width:170px}
.pfp{width:100%;aspect-ratio:1;object-fit:cover;display:block}
.cap{position:absolute;left:0;right:0;bottom:8px;text-align:center;font-family:Fraunces;font-style:italic;font-weight:700;font-size:.85rem;color:var(--ink)}
.ptape{left:50%;top:-14px;transform:translateX(-50%) rotate(-3deg);width:90px;height:24px;background:repeating-linear-gradient(135deg,rgba(255,217,61,.85) 0 8px,rgba(255,217,61,.6) 8px 16px)}
.foottext h3{font-size:1.5rem;color:var(--ink);margin-bottom:10px}
.foottext h3 .caps{letter-spacing:.06em}
.foottext p{margin:0 0 6px;font-size:1.05rem;font-family:Fraunces;font-weight:600;color:var(--ink)}
.foottext .fuel{color:var(--muted);font-family:Nunito;font-weight:600;font-size:.95rem;margin-bottom:14px}.fuel em{color:var(--pink);font-style:italic}
.foottext a{font-weight:700;color:var(--pink);text-decoration:none}
.footlinks{display:flex;gap:8px;flex-wrap:wrap}
.footlinks a{background:var(--cream);border:2px solid var(--ink);color:var(--ink);border-radius:999px;padding:4px 12px;font-size:.85rem}
@media(max-width:560px){.foot{flex-direction:column;text-align:center}.footlinks{justify-content:center}.polaroid{transform:rotate(-3deg)}}
/* dragon fruit tip */
.tip{position:fixed;right:14px;bottom:14px;z-index:40;display:flex;align-items:center;flex-direction:column;gap:2px}
.tipfruit{width:128px;height:128px;background:none;border:0;padding:0;animation:bob 3.2s ease-in-out infinite;filter:drop-shadow(0 8px 10px rgba(42,27,61,.25))}
.tipfruit:hover{animation:jiggle .5s ease-in-out infinite}
.tipfruit svg{width:100%;height:100%;overflow:visible}
@keyframes bob{0%,100%{transform:translateY(0) rotate(-5deg)}50%{transform:translateY(-12px) rotate(5deg)}}
@keyframes jiggle{0%,100%{transform:rotate(-8deg) scale(1.06)}50%{transform:rotate(8deg) scale(1.06)}}
.tiplabel{background:#fff;border:2px solid var(--ink);border-radius:999px;padding:6px 14px;font-family:Fraunces;font-weight:800;font-size:.95rem;white-space:nowrap}
.paycard{display:none;position:fixed;right:14px;bottom:200px;z-index:41;width:min(300px,calc(100vw - 28px));background:#fff;border:3px solid var(--salmon);border-radius:22px;box-shadow:0 12px 30px rgba(42,27,61,.2);padding:16px;text-align:center}
.paycard.show{display:block}
.paycard img{border-radius:12px;width:200px}
.paycard h3{font-size:1.3rem;margin-bottom:6px}
.paycard .upi{font-size:.85rem;color:var(--muted);margin:6px 0 10px;word-break:break-all}
.paycard .x{position:absolute;top:8px;right:10px;background:none;border:0;font-size:1.3rem;color:var(--ink)}
@media(max-width:600px){.tipfruit{width:96px;height:96px}.paycard{left:14px;right:14px;width:auto;bottom:150px}}
.upibtn{display:none}.deskhint{display:block}
@media(hover:none) and (pointer:coarse){.upibtn{display:inline-block}.deskhint{display:none}}
/* admin */
#admin{display:none;position:fixed;inset:0;z-index:100;background:var(--cream);overflow:auto;padding:20px}
#admin.show{display:block}
.admin-inner{max-width:900px;margin:0 auto}
.admin-inner .formbox{max-width:none;margin-bottom:22px}
.arow{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-bottom:2px dashed #FFD3E0}
.arow .t{font-weight:700}.arow small{display:block;color:var(--muted);font-weight:500}
.status{margin-top:10px;font-weight:700;min-height:1.4em}
.preview{margin-top:8px;max-width:180px;border-radius:10px;display:none}
@media(prefers-reduced-motion:reduce){.tipfruit,.card:hover{animation:none}}
