@font-face{font-family:"Great Vibes";src:url(/fonts/greatvibes.woff2) format("woff2");font-display:swap}
@font-face{font-family:"Cormorant";font-weight:600;src:url(/fonts/cormorant-600.woff2) format("woff2");font-display:swap}
:root{--bg:#faf4ee;--panel:#f1e5d9;--line:#e3d3c4;--brown:#8a6650;--brown-d:#6b4c39;--text:#2f2620;--muted:#6f6158;--err:#b3261e;--ok:#2e7d4f;--field:#fff}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--text);font:16px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
.wrap{max-width:560px;margin:0 auto;padding:18px 16px 32px}
.script{font-family:"Great Vibes",cursive;font-weight:400;color:var(--brown)}
.serif{font-family:"Cormorant",Georgia,"Times New Roman",serif;font-weight:600}
header{text-align:center;position:relative}
h1.script{font-size:64px;line-height:1.05;margin:6px 0 0}
.divider{display:flex;align-items:center;gap:10px;color:#b49580;margin:6px auto 10px;max-width:300px}
.divider:before,.divider:after{content:"";flex:1;height:1px;background:#d9c6b6}
.divider svg{width:14px;height:14px;fill:#b49580}
.hero{display:flex;align-items:center;gap:8px}
.hero h2{font-size:29px;line-height:1.15;margin:0;flex:1;text-align:left}
.jar{width:46%;max-width:210px;flex:none;height:auto}
.sprig{position:absolute;top:8px;width:44px;opacity:.7}
.sprig.l{left:0}.sprig.r{right:0;transform:scaleX(-1)}
.guess{background:var(--panel);border-radius:14px;padding:16px;margin:16px 0 18px;display:flex;gap:14px;align-items:center}
.guess .ico{width:58px;height:58px}
.guess label{display:block;font-size:24px;margin-bottom:6px}
.guess input{font-size:28px;font-weight:700;text-align:center;letter-spacing:1px;height:58px}
.ico{flex:none;width:46px;height:46px;border-radius:50%;background:var(--panel);display:grid;place-items:center;color:var(--brown-d)}
.guess .ico{background:var(--bg);border:1.5px solid var(--brown)}
.ico svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.guess .ico svg{width:28px;height:28px}
.row{display:flex;gap:12px;align-items:flex-start;padding:10px 0;border-bottom:1px dashed var(--line)}
.row .f{flex:1;min-width:0}
.row label{display:block;font-size:15px;font-weight:600;margin:0 0 4px;color:var(--text)}
input[type=text],input[type=email],input[type=tel]{width:100%;height:48px;border:1.5px solid var(--line);border-radius:8px;background:var(--field);padding:0 12px;font:inherit;font-size:17px;color:var(--text);outline:none;transition:border-color .15s}
input:focus{border-color:var(--brown)}
.f.bad input{border-color:var(--err);background:#fff7f6}
.msg{display:none;color:var(--err);font-size:14px;margin-top:4px}
.bad .msg{display:block}
.consent{display:flex;gap:12px;align-items:flex-start;margin:16px 0 4px;font-size:14px;color:var(--muted);cursor:pointer}
.consent b{color:var(--text)}
.consent input{flex:none;width:26px;height:26px;margin:1px 0 0;accent-color:var(--brown)}
.consent.bad b{color:var(--err)}
.consent a{color:var(--brown-d)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
button{display:block;width:100%;margin:22px 0 6px;height:58px;border:0;border-radius:12px;background:var(--brown);color:#fff;font:inherit;font-size:20px;font-weight:700;letter-spacing:.3px;cursor:pointer;box-shadow:0 4px 14px rgba(107,76,57,.25)}
button:active{transform:translateY(1px)}
button[disabled]{opacity:.65;cursor:wait}
.formerr{display:none;background:#fdecea;color:var(--err);border-radius:10px;padding:12px 14px;margin-top:12px;font-size:15px}
.formerr.on{display:block}
.closed{background:var(--panel);border-radius:14px;padding:18px;text-align:center;margin:16px 0}
h3.prizes{text-align:center;letter-spacing:4px;font-weight:500;font-size:17px;margin:30px 0 0}
.prizelist{display:grid;gap:10px;margin-top:12px}
.prize{display:flex;gap:14px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 14px}
.medal{flex:none;width:52px;height:52px;border-radius:50%;background:var(--panel);display:grid;place-items:center}
.medal svg{width:34px;height:34px}
.prize .t{font-size:13px;font-weight:700;letter-spacing:1px;color:var(--brown-d)}
.prize .n{font-size:16px;line-height:1.3}
.prize .v{font-weight:800;font-size:18px;white-space:nowrap;margin-left:auto}
.rules{margin-top:26px;font-size:13px;color:var(--muted)}
.rules h4{letter-spacing:2px;font-size:13px;margin:0 0 6px;color:var(--text)}
.rules ul{margin:0;padding-left:18px}
.rules li{margin:2px 0}
footer{margin-top:30px;text-align:center;border-top:1px solid var(--line);padding-top:18px}
footer .script{font-size:36px;line-height:1}
footer .city{letter-spacing:4px;font-size:13px;margin-top:2px}
footer .partner{margin-top:10px;font-weight:700;letter-spacing:1px;font-size:13px;color:var(--brown-d)}
footer nav{margin-top:14px;font-size:14px}
footer nav a{color:var(--muted);margin:0 8px}
.page h1{font-size:30px;margin:10px 0 14px}
.page h2{font-size:22px;margin:24px 0 6px}
.page p,.page li{color:#40352e}
.page a{color:var(--brown-d)}
.thanks{text-align:center}
.thanks h1.script{font-size:54px}
.big{font-size:56px;font-weight:800;color:var(--brown-d);line-height:1;margin:6px 0 2px}
.card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px;margin:18px 0}
.check{width:64px;height:64px;border-radius:50%;background:#e7f3ec;display:grid;place-items:center;margin:10px auto 0}
.check svg{width:34px;height:34px;stroke:var(--ok);stroke-width:3;fill:none;stroke-linecap:round;stroke-linejoin:round}
@media (min-width:600px){.wrap{padding-top:28px}h1.script{font-size:76px}.prizelist{grid-template-columns:1fr}}
@media (max-width:370px){h1.script{font-size:52px}.hero h2{font-size:24px}}
