:root{
  --paper:#fffaf5; --ink:#211b1d; --muted:#74696d; --pink:#f35b91;
  --pink-dark:#cf356b; --soft:#ffe4ed; --yellow:#fff0a8; --line:#eadfe0;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",system-ui,sans-serif;overflow-x:hidden}
body:before{content:"";position:fixed;inset:0;background:radial-gradient(circle at 15% 10%,#ffdce8 0,transparent 25%),radial-gradient(circle at 90% 70%,#fff1c7 0,transparent 23%);pointer-events:none;z-index:-2}
.grain{position:fixed;inset:0;opacity:.035;pointer-events:none;z-index:30;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.floating-hearts:before,.floating-hearts:after{content:"♥";position:fixed;color:#f35b9120;font-size:180px;z-index:-1;animation:float 9s ease-in-out infinite}
.floating-hearts:before{left:-30px;top:35%}.floating-hearts:after{right:20px;top:70%;font-size:120px;animation-delay:-4s}
.topbar{position:fixed;left:0;right:0;top:0;height:70px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;background:#fffaf5dd;backdrop-filter:blur(16px);border-bottom:1px solid #eadfe080;z-index:20}
.brand{font-family:"Playfair Display",serif;font-size:30px}.brand span{color:var(--pink)}
.progress-wrap{width:min(260px,45vw);font:700 10px "Space Mono",monospace;letter-spacing:.08em;color:#8a7d82}
.progress{height:4px;background:#eee2e5;border-radius:10px;margin-top:7px;overflow:hidden}.progress i{display:block;height:100%;width:20%;background:var(--pink);transition:.5s}
.icon-btn{border:1px solid var(--line);background:white;width:40px;height:40px;border-radius:50%;cursor:pointer}
main{width:min(1080px,90vw);margin:auto}
.screen{min-height:100vh;padding:130px 0 90px;display:none;animation:in .55s ease}.screen.active{display:block}
.hero-grid{min-height:75vh;display:grid;grid-template-columns:1.25fr .75fr;align-items:center;gap:70px}
.kicker{font:700 11px "Space Mono",monospace;letter-spacing:.14em;color:var(--pink-dark);margin:0 0 18px}
h1,h2,h3{font-family:"Playfair Display",Georgia,serif}
h1{font-size:clamp(4rem,9vw,8.5rem);line-height:.82;margin:0;letter-spacing:-.06em}
.pink{color:var(--pink);margin-top:18px}
.lede{font-size:20px;line-height:1.65;color:var(--muted);max-width:650px;margin:32px 0}
.micro{font-size:12px;color:#9b8c92;margin-top:14px}
.primary,.secondary{border:0;border-radius:999px;padding:16px 23px;font:800 14px "DM Sans",sans-serif;cursor:pointer;transition:.2s transform,.2s box-shadow}
.primary{background:var(--ink);color:white;box-shadow:0 12px 30px #211b1d20}.primary:hover,.secondary:hover{transform:translateY(-3px);box-shadow:0 15px 35px #211b1d22}
.secondary{background:white;border:1px solid var(--line);margin-top:32px}.next-btn{display:block;margin-left:auto;margin-right:auto}
.case-card{position:relative;background:#fff;border:1px solid #d9ced0;padding:38px;min-height:420px;box-shadow:12px 16px 0 #f8cad8,0 25px 60px #211b1d16;transform:rotate(2deg)}
.case-card .tape{position:absolute;top:22px;right:-28px;background:var(--yellow);padding:8px 18px;transform:rotate(8deg);font:700 11px "Space Mono"}
.case-number{font:700 13px "Space Mono";margin:40px 0 65px}.case-number strong{font-size:38px;color:var(--pink)}
.case-card p{font:700 10px "Space Mono";letter-spacing:.15em;color:#9b8c92}.case-card h2{font-size:70px;margin:5px 0}
.stamp{display:inline-block;border:3px solid var(--pink);color:var(--pink-dark);font:800 12px "Space Mono";padding:10px;transform:rotate(-8deg);margin-top:45px}.scribble{font:36px "Playfair Display";position:absolute;bottom:25px;right:35px;transform:rotate(-12deg)}
.section-title{text-align:center;font-size:clamp(3rem,7vw,6rem);line-height:.9;letter-spacing:-.05em;margin:0 auto 20px;max-width:850px}.center-copy{text-align:center;color:var(--muted);font-size:17px;max-width:620px;margin:0 auto 50px}
.evidence-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.evidence{position:relative;text-align:left;border:1px solid var(--line);background:#fff;padding:28px;min-height:200px;cursor:pointer;box-shadow:0 10px 30px #211b1d0a;transition:.2s}.evidence:hover{transform:rotate(-1deg) translateY(-5px);box-shadow:0 18px 35px #211b1d14}.evidence small{display:block;font:700 10px "Space Mono";color:var(--pink-dark);margin-bottom:34px}.evidence strong{display:block;font-size:24px}.evidence em{display:block;color:var(--muted);margin-top:9px;line-height:1.5;font-style:normal}.pin{position:absolute;right:18px;top:13px;color:var(--pink)}
.reveal-box{min-height:70px;margin:25px auto 0;padding:20px;background:var(--yellow);max-width:700px;text-align:center;font-weight:700;transform:rotate(-.5deg)}
.b99-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:25px;align-items:stretch;margin-top:50px}.precinct-card{background:#252124;color:#fff;padding:35px;border-radius:4px;box-shadow:10px 10px 0 #f3b3c8}.badge{width:70px;height:70px;border-radius:50%;display:grid;place-items:center;border:4px solid #fff;font:800 28px "Space Mono";margin-bottom:30px}.precinct-card p{font:700 10px "Space Mono";letter-spacing:.15em;color:#d9cbd0}.precinct-card h3{font-size:34px;line-height:1.05;margin:15px 0 35px}.meter{height:13px;background:#ffffff1a;border-radius:10px;overflow:hidden}.meter i{display:block;width:99%;height:100%;background:var(--pink);animation:grow 1.5s ease}.meter-row{display:flex;justify-content:space-between;padding:15px 0;border-bottom:1px solid #ffffff18;font:11px "Space Mono";color:#d8ccd1}.meter-row b{color:#fff}.quotes{display:flex;flex-direction:column;gap:14px}.quotes blockquote{margin:0;background:#fff;border:1px solid var(--line);padding:23px;font-size:16px;line-height:1.55;box-shadow:0 6px 20px #211b1d08}.quotes span{font:800 10px "Space Mono";color:var(--pink-dark);display:block;margin-bottom:8px}
.choices{display:grid;grid-template-columns:repeat(2,1fr);gap:15px;max-width:800px;margin:45px auto}.choice{padding:23px;border:1px solid var(--line);background:#fff;font:700 15px "DM Sans";cursor:pointer;text-align:left;transition:.2s}.choice:hover,.choice.selected{background:var(--soft);border-color:#f3a1ba;transform:translateY(-3px)}.algorithm{max-width:800px;margin:auto;background:#211b1d;color:#fff;padding:25px;text-align:center;min-height:100px}.algorithm span{font:700 10px "Space Mono";color:#f6a4bd}.algorithm strong{display:block;font:700 27px "Playfair Display";margin:9px}.algorithm p{color:#cdbfc5;margin:0}
.final-screen{display:none;place-items:center}.final-screen.active{display:grid}.final-card{background:#fff;border:1px solid var(--line);padding:60px clamp(25px,7vw,90px);max-width:800px;box-shadow:0 25px 80px #211b1d12;position:relative}.final-card h2{font-size:clamp(3rem,7vw,6rem);line-height:.9;margin:0 0 30px}.final-card p{font-size:18px;line-height:1.75;color:var(--muted)}.final-card strong{color:var(--ink)}.tiny-stamp{position:absolute;right:25px;top:25px;color:var(--pink-dark);border:2px solid var(--pink);padding:7px;font:700 9px "Space Mono";transform:rotate(6deg)}.big-verdict{text-align:center;font:800 clamp(2rem,6vw,4rem) "Playfair Display";margin:35px 0}.big-verdict span{color:var(--pink)}.final-line{text-align:center!important;font-family:"Playfair Display";font-size:23px!important}.final-card .primary{display:block;margin:25px auto 0}.verdict{text-align:center!important;color:var(--pink-dark)!important;font-weight:800;animation:pop .5s ease}.hidden{display:none!important}
.gate{position:fixed;inset:0;background:#211b1df2;color:white;z-index:50;display:grid;place-items:center;padding:20px;transition:.5s}.gate.gone{opacity:0;visibility:hidden;pointer-events:none}.gate-inner{max-width:500px;text-align:center}.gate-icon{font-size:55px;margin-bottom:20px}.gate h2{font-size:55px;line-height:.95;margin:0 0 20px}.gate p:not(.kicker){color:#d8cbd0;line-height:1.6}.gate small{display:block;color:#9f9197;margin-top:15px}
.modal{position:fixed;inset:0;background:#211b1d88;backdrop-filter:blur(8px);z-index:40;display:none;place-items:center;padding:20px}.modal.open{display:grid}.modal-card{background:#fff;padding:40px;max-width:520px;position:relative;box-shadow:0 30px 80px #211b1d30}.modal-card h3{font-size:40px;margin:0 0 15px}.modal-card p:last-child{font-size:18px;line-height:1.7;color:var(--muted)}.modal-close{position:absolute;right:15px;top:10px;border:0;background:none;font-size:30px;cursor:pointer}
.toast{position:fixed;left:50%;bottom:25px;transform:translate(-50%,20px);background:#211b1d;color:#fff;padding:12px 18px;border-radius:999px;font:11px "Space Mono";opacity:0;pointer-events:none;transition:.3s;z-index:60}.toast.show{opacity:1;transform:translate(-50%,0)}
.spark{position:fixed;pointer-events:none;z-index:55;font-size:20px;animation:burst 1s ease forwards}
@keyframes in{from{opacity:0;transform:translateY(25px)}to{opacity:1;transform:none}}@keyframes float{50%{transform:translateY(-30px) rotate(8deg)}}@keyframes grow{from{width:0}}@keyframes pop{0%{transform:scale(.7);opacity:0}100%{transform:scale(1);opacity:1}}@keyframes burst{to{transform:translate(var(--x),var(--y)) rotate(240deg);opacity:0}}
@media(max-width:750px){.hero-grid,.b99-layout{grid-template-columns:1fr;gap:35px}.hero-grid{padding-top:30px}.case-card{min-height:330px}.evidence-grid,.choices{grid-template-columns:1fr}.section-title{font-size:3.4rem}.gate h2{font-size:42px}.topbar{padding:0 20px}.progress-wrap{width:180px}.screen{padding-top:105px}}

.evidence-grid{grid-template-columns:repeat(3,1fr)}
.evidence{min-height:185px}
.evidence:nth-child(3n+2){transform:rotate(.45deg)}
.evidence:nth-child(3n){transform:rotate(-.55deg)}
.evidence:nth-child(3n+2):hover,.evidence:nth-child(3n):hover,.evidence:nth-child(3n+1):hover{transform:translateY(-5px) rotate(0)}
.evidence-count{text-align:center;margin-top:20px}
@media(max-width:900px){.evidence-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.evidence-grid{grid-template-columns:1fr}}

.movie-section{margin:48px 0 35px}.movie-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;border-bottom:2px solid var(--ink);padding-bottom:12px;margin-bottom:16px}.movie-heading h3{font:800 27px "Playfair Display";margin:5px 0 0}.movie-tag{font:700 10px "Space Mono";letter-spacing:.16em;color:var(--pink-dark)}.movie-note{font:10px "Space Mono";color:var(--muted);text-align:right}.review-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.review-card{border:1px solid var(--line);background:#fff;padding:0;text-align:left;cursor:pointer;overflow:hidden;transition:transform .2s,box-shadow .2s}.review-card:hover{transform:translateY(-5px) rotate(-.4deg);box-shadow:0 14px 28px #211b1d14}.review-photo{display:block;height:190px;background-image:var(--photo);background-size:cover;background-position:var(--pos);filter:saturate(.9)}.review-info{display:block;padding:15px}.review-info small{display:block;font:700 9px "Space Mono";color:var(--pink-dark);letter-spacing:.12em;margin-bottom:5px}.review-info strong{display:block;font:800 19px "Playfair Display"}.review-info em{display:block;font:10px "Space Mono";color:var(--muted);margin-top:10px;font-style:normal}.modal-text{white-space:pre-line}.modal-card{max-width:580px}.modal-card p:last-child{white-space:pre-line}
@media(max-width:1000px){.review-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:750px){.movie-heading{align-items:start;flex-direction:column}.movie-note{text-align:left}.review-grid{grid-template-columns:1fr 1fr}.review-photo{height:160px}}
@media(max-width:520px){.review-grid{grid-template-columns:1fr}.review-photo{height:210px}}

/* AUTO APPROVAL REVIEW */
.approval-wrap{padding-top:5px}.approval-stage{max-width:820px;margin:45px auto 0;text-align:center}.approval-status{font:700 11px "Space Mono";letter-spacing:.12em;color:var(--pink-dark);margin-bottom:20px}.reviewer-pop{display:grid;grid-template-columns:280px 1fr;align-items:center;gap:38px;background:#fff;border:1px solid var(--line);padding:28px;box-shadow:0 22px 55px #211b1d14;opacity:0;transform:scale(.82) translateY(25px);min-height:300px}.reviewer-pop.show{animation:reviewPop .65s cubic-bezier(.2,.9,.2,1) forwards}.reviewer-photo-wrap{position:relative}.reviewer-photo-wrap img{width:100%;height:300px;object-fit:cover;display:block;filter:saturate(.9)}.approved-badge{position:absolute;right:-12px;top:14px;background:var(--pink);color:white;padding:9px 12px;font:800 10px "Space Mono";transform:rotate(5deg);box-shadow:4px 5px 0 #211b1d18}.reviewer-copy{text-align:left}.reviewer-role{font:700 10px "Space Mono";letter-spacing:.12em;color:var(--pink-dark)}.reviewer-copy h3{font-size:48px;line-height:.95;margin:10px 0 20px}.famous-line{font:700 23px/1.45 "Playfair Display";color:var(--ink);margin:0}.approval-dots{height:28px;display:flex;justify-content:center;gap:7px;margin-top:18px;color:#d8cbd0;font-size:25px}.approval-dot.active{color:var(--pink);transform:scale(1.25)}.approval-dots.complete .approval-dot{color:var(--pink)}@keyframes reviewPop{0%{opacity:0;transform:scale(.82) translateY(25px)}65%{opacity:1;transform:scale(1.04) translateY(-4px)}100%{opacity:1;transform:scale(1) translateY(0)}}@media(max-width:700px){.reviewer-pop{grid-template-columns:1fr;gap:20px;padding:20px}.reviewer-photo-wrap img{height:270px}.reviewer-copy{text-align:center}.reviewer-copy h3{font-size:38px}.famous-line{font-size:20px}}
