:root{--gold:#FFC107;--red:#D7191F;--navy:#1F3A6B;--dark:#121212;--light:#F5F6F8;--grey:#7A7A7A;--ink:#1b1b1f;--line:#d9dce2;--ok:#1d7a3e}
*{box-sizing:border-box;margin:0;padding:0}
body{background-image:none;font-family:'Poppins',system-ui,sans-serif;background:var(--light);color:var(--ink);line-height:1.55;-webkit-font-smoothing:antialiased}
a{color:var(--navy)}
.top{background:#1a0d08 url(/img/hero-bg.webp) center 45%/cover;color:#fff;padding:10px 16px;position:relative;border-bottom:4px solid var(--red)}
.top::before{content:"";position:absolute;inset:0;background:rgba(18,10,6,.72)}
.top .in{position:relative}
.brand{display:flex;align-items:center;gap:6px}
.brand img{height:40px;width:auto}
.brand span{margin-left:6px}
@media(max-width:480px){.brand span{display:none}}
.top .in{max-width:760px;margin:auto;display:flex;justify-content:space-between;align-items:center;gap:12px}
.top a{color:#fff;text-decoration:none;font-weight:700}
.top b{color:var(--gold)}
.wrap{max-width:760px;margin:auto;padding:24px 16px 120px}
h1{font-weight:800;letter-spacing:-.02em;font-size:clamp(1.6rem,5vw,2.3rem);line-height:1.1;margin-bottom:.4rem}
h1 em{color:var(--red);font-style:normal}
h1{font-weight:900}
.sub{color:#555;margin-bottom:1.2rem}
.card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:20px;margin-bottom:16px}
.card h2{font-size:1.05rem;margin-bottom:12px;display:flex;gap:.5rem;align-items:center}
.card h2 span{background:var(--gold);border-radius:50%;width:26px;height:26px;display:grid;place-items:center;font-size:.8rem}
.f{margin-bottom:14px}
.f label,.f legend{display:block;font-weight:600;font-size:.92rem;margin-bottom:5px}
.f .req{color:var(--red)}
.f input[type=text],.f input[type=email],.f input[type=tel],.f input[type=date],.f input:not([type]),.f select,.f textarea{width:100%;font:inherit;padding:11px 12px;border:1.5px solid var(--line);border-radius:12px;background:#fff}
.f textarea{min-height:84px;resize:vertical}
.f input:focus,.f select:focus,.f textarea:focus{outline:3px solid rgba(255,193,7,.45);border-color:var(--gold)}
.f select:disabled{background:#f0f1f3;color:#999}
.hint{font-size:.8rem;color:#666;margin-top:4px}
.hint.auto{color:var(--ok)}
.err{font-size:.82rem;color:var(--red);margin-top:4px;display:none}
.f.invalid .err{display:block}
.f.invalid input,.f.invalid select,.f.invalid textarea{border-color:var(--red)}
.opts{display:flex;flex-wrap:wrap;gap:8px}
.opts label{display:flex;align-items:center;gap:6px;border:1.5px solid var(--line);border-radius:999px;padding:8px 14px;font-weight:500;cursor:pointer;margin:0}
.opts input{accent-color:var(--navy)}
.opts label:has(input:checked){border-color:var(--navy);background:#eef2fa}
fieldset{border:0}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:560px){.grid2{grid-template-columns:1fr}}
.consent{display:flex;gap:10px;align-items:flex-start;font-size:.9rem}
.consent input{margin-top:4px;width:18px;height:18px;accent-color:var(--navy);flex:none}
.btn{display:inline-flex;justify-content:center;align-items:center;gap:8px;font:inherit;font-weight:700;padding:14px 22px;border-radius:999px;border:0;cursor:pointer;text-decoration:none}
.btn-gold{background:var(--gold);color:var(--dark)}
.btn:disabled{opacity:.5;cursor:not-allowed}
.q{position:sticky;top:0;z-index:20;border-radius:16px;padding:12px 16px;margin-bottom:16px;font-size:.92rem;display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap}
.q.wait{background:#1F3A6B;color:#fff}
.q.go{background:#1d7a3e;color:#fff}
.q.stop{background:var(--red);color:#fff}
.q b.big{font-family:'Bebas Neue',Impact,sans-serif;font-size:1.6rem;letter-spacing:.04em;color:var(--gold)}
.submitbar{position:fixed;left:0;right:0;bottom:0;background:#fff;border-top:1px solid var(--line);padding:12px 16px calc(12px + env(safe-area-inset-bottom))}
.submitbar .in{max-width:760px;margin:auto;display:flex;gap:12px;align-items:center;justify-content:space-between}
.submitbar small{color:#555;font-size:.8rem;line-height:1.3}
.alert{background:#fde8e8;border:1px solid #f3b4b4;color:#8a1111;padding:12px 14px;border-radius:12px;margin-bottom:14px;display:none}
.ph{background:#fff3c4;border:1px dashed #b38900;border-radius:4px;padding:0 .3em;font-weight:600}
.spin{width:18px;height:18px;border:3px solid rgba(0,0,0,.2);border-top-color:currentColor;border-radius:50%;animation:s 1s linear infinite}
@keyframes s{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.spin{animation:none}}

.paygrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
.paygrid h3{grid-column:1/-1;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:#666;margin-top:6px}
.paygrid label{display:flex;align-items:center;gap:8px;border:1.5px solid var(--line);border-radius:14px;padding:10px 12px;cursor:pointer;font-size:.88rem;font-weight:600;min-height:52px;background:#fff}
.paygrid label:has(input:checked){border-color:var(--navy);background:#eef2fa;box-shadow:0 0 0 2px var(--gold) inset}
.paygrid img{height:22px;width:auto;max-width:60px;object-fit:contain}
.paygrid input{accent-color:var(--navy)}
.paygrid small{display:block;font-weight:400;color:#777;font-size:.72rem}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
body{background:var(--light) url(/img/pattern.webp) center/1100px repeat}
