:root{--ink:#191812;--paper:#f5f0e5;--red:#e8402a;--yellow:#f3c443;--muted:#716d63;--line:#d7d0c2}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif}header{height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 6vw;border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(245,240,229,.94);backdrop-filter:blur(12px);z-index:9}.brand{display:flex;align-items:center;gap:8px;font-weight:700;text-decoration:none;color:var(--ink)}.brand span{background:var(--red);color:white;padding:8px 6px;font-family:'DM Serif Display';font-size:18px;transform:rotate(-3deg)}.brand i{font-weight:400;color:var(--red)}nav{display:flex;gap:30px}nav a{color:var(--ink);text-decoration:none;font-size:14px}.pill,.secondary{border:1px solid var(--ink);background:transparent;padding:10px 19px;border-radius:99px;font-weight:600;cursor:pointer}.hero{min-height:650px;padding:8vw 8vw 6vw;display:grid;grid-template-columns:1.15fr .85fr;gap:6vw;align-items:center;overflow:hidden}.eyebrow{font-size:12px;font-weight:700;letter-spacing:.16em;color:var(--red)}h1,h2{font-family:'DM Serif Display';font-weight:400;margin:.18em 0;line-height:.96}h1{font-size:clamp(52px,7.4vw,110px);letter-spacing:-.04em}h1 em{color:var(--red);font-weight:400}.lede{font-size:19px;max-width:600px;line-height:1.65;color:var(--muted)}.actions{display:flex;gap:12px;margin-top:30px;flex-wrap:wrap}.primary{display:inline-block;background:var(--red);color:white;border:0;padding:14px 22px;border-radius:3px;text-decoration:none;font-weight:700;cursor:pointer}.secondary{padding:13px 21px}.hero-card{height:430px;background:var(--yellow);position:relative;display:flex;align-items:center;justify-content:center;transform:rotate(2deg);box-shadow:18px 18px 0 var(--ink)}.rings{position:absolute;width:310px;height:310px;border:35px solid var(--red);border-radius:50%}.rings:after{content:'';position:absolute;inset:48px;border:18px solid var(--ink);border-radius:50%}.quote{z-index:1;background:var(--paper);max-width:270px;padding:28px;font-family:'DM Serif Display';font-size:25px;transform:rotate(-5deg)}.tomato{position:absolute;right:-20px;bottom:-25px;background:var(--red);color:white;width:100px;height:100px;border-radius:50%;display:grid;place-content:center;text-align:center;font-weight:800;transform:rotate(8deg)}section:not(.hero){padding:90px 7vw}.section-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:35px;gap:30px}.section-head h2{font-size:50px}.section-head>p{color:var(--muted)}.movies{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.movie{position:relative}.poster{aspect-ratio:3/4;background:#ccc;overflow:hidden}.poster img{width:100%;height:100%;object-fit:cover;transition:.4s}.movie:hover img{transform:scale(1.04)}.score{position:absolute;top:12px;left:12px;background:var(--paper);padding:8px 10px;font-weight:800}.movie h3{margin:14px 0 4px;font-family:'DM Serif Display';font-size:25px}.meta{font-size:13px;color:var(--muted)}.community{background:var(--ink);color:var(--paper)}.community .eyebrow{color:var(--yellow)}.reviews{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:#504e47;border:1px solid #504e47}.review{background:var(--ink);padding:28px}.review-top{display:flex;justify-content:space-between;color:var(--yellow);font-weight:700}.review h3{font-family:'DM Serif Display';font-size:25px;margin:18px 0 8px}.review p{color:#c8c2b7;line-height:1.6}.like{background:none;border:0;color:#aaa;padding:0;cursor:pointer}.like.on{color:var(--red)}.recs{background:var(--red);color:white;display:grid;grid-template-columns:1fr 1fr;gap:8vw}.rec-copy h2{font-size:55px}.rec-copy>p{line-height:1.7}.light{background:var(--paper);color:var(--ink)}.rec-list{display:grid;gap:12px}.rec{background:rgba(255,255,255,.11);padding:18px;border-left:4px solid var(--yellow)}.rec strong{display:block;font-family:'DM Serif Display';font-size:22px}.rec small{opacity:.75}footer{padding:38px 6vw;display:flex;justify-content:space-between;align-items:center;gap:20px}footer p,footer small{color:var(--muted)}dialog{border:0;padding:0;background:var(--paper);color:var(--ink);width:min(520px,92vw);box-shadow:12px 12px 0 var(--red)}dialog::backdrop{background:rgba(20,18,14,.72)}#modalBody{padding:42px}.close{position:absolute;right:12px;top:8px;border:0;background:none;font-size:28px;cursor:pointer}form{display:grid;gap:14px}form h2{font-size:38px}label{font-size:13px;font-weight:700}input,textarea,select{width:100%;padding:12px;border:1px solid var(--line);background:white;font:inherit}textarea{min-height:120px;resize:vertical}.switch{font-size:13px;color:var(--muted);text-align:center}.switch button{border:0;background:none;color:var(--red);font-weight:700;cursor:pointer}#toast{position:fixed;right:20px;bottom:20px;background:var(--ink);color:white;padding:14px 20px;transform:translateY(100px);transition:.25s;z-index:20}#toast.show{transform:none}.empty{color:#999;padding:20px}@media(max-width:800px){nav{display:none}.hero{grid-template-columns:1fr;padding:80px 6vw}.hero-card{height:330px}.movies{grid-template-columns:repeat(2,1fr)}.reviews,.recs{grid-template-columns:1fr}.section-head{align-items:start;flex-direction:column}footer{flex-direction:column;text-align:center}}@media(max-width:480px){.movies{grid-template-columns:1fr}h1{font-size:55px}.hero-card{box-shadow:10px 10px 0 var(--ink)}section:not(.hero){padding:65px 6vw}}
