:root{
  --navy:#0b1f5c; --navy2:#16307f; --yellow:#ffd60a; --red:#d90429; --ink:#101828; --bg:#f4f7ff; --white:#fff;
  --r:18px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Mukta',system-ui,sans-serif;background:var(--bg);color:var(--ink);line-height:1.5;font-size:17px}
.wrap{max-width:1050px;margin:0 auto;padding:0 16px}
section.wrap{padding-top:40px;padding-bottom:8px}

/* HERO */
.hero{background:radial-gradient(circle at 80% 10%,#2a4bd1 0,transparent 45%),linear-gradient(160deg,var(--navy),#06123a);color:#fff;text-align:center;padding:36px 0 40px;border-bottom:8px solid var(--yellow)}
.kicker{display:inline-block;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.3);padding:6px 16px;border-radius:99px;font-weight:600;font-size:.95rem}
.hero h1{font-family:'Teko',sans-serif;font-weight:700;font-size:clamp(3.6rem,17vw,8rem);line-height:1;margin-top:14px;letter-spacing:1px;color:var(--yellow);text-shadow:4px 4px 0 var(--red)}
.hero h1 span{color:#fff}
.hero h2{font-size:clamp(1.5rem,6vw,2.6rem);font-weight:800;margin-top:6px}
.hero h2 small{font-weight:600;color:var(--yellow)}
.tag{margin-top:10px;font-weight:600;font-size:1.15rem;opacity:.9}
.cta-row{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:22px}
.btn{display:inline-block;border:0;cursor:pointer;font:800 1.1rem 'Mukta',sans-serif;padding:14px 26px;border-radius:99px;text-decoration:none;transition:.15s;text-align:center}
.btn:active{transform:scale(.97)}
.btn-yellow{background:var(--yellow);color:var(--navy);box-shadow:0 6px 0 #b89500}
.btn-ghost{border:2px solid #fff;color:#fff}
.btn-red{background:var(--red);color:#fff;box-shadow:0 6px 0 #8d021b;width:100%;margin-top:18px;font-size:1.25rem}
.btn:disabled{opacity:.6;cursor:wait}
.countdown{display:flex;justify-content:center;gap:10px;margin-top:26px}
.countdown div{background:#fff;color:var(--navy);border-radius:14px;min-width:68px;padding:10px 6px;box-shadow:0 5px 0 rgba(0,0,0,.25)}
.countdown b{display:block;font:700 2rem 'Teko',sans-serif;line-height:1.1}
.countdown span{font-size:.8rem;font-weight:600}
.closed{background:var(--red);padding:10px 22px;border-radius:12px;font-weight:800}
.deadline{margin-top:14px;font-size:1.05rem}
.deadline b{color:var(--yellow)}

/* TITLES */
.sec-title{font-size:clamp(1.7rem,6vw,2.4rem);font-weight:800;color:var(--navy);margin-bottom:18px;display:inline-block;border-bottom:6px solid var(--yellow)}
.sec-title span{color:var(--red)}

/* THEME CARDS */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.card{background:#fff;border-radius:var(--r);padding:22px 12px;text-align:center;border-top:8px solid var(--c);box-shadow:0 6px 18px rgba(11,31,92,.1)}
.card .ico{font-size:2.6rem}
.card h4{color:var(--c);font-size:1.25rem;font-weight:800}
.card p{font-size:.9rem;opacity:.7}

/* PRIZES */
.prizes{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.prize{border-radius:var(--r);text-align:center;padding:18px 8px;color:var(--navy);box-shadow:0 6px 18px rgba(0,0,0,.12)}
.prize i{font-style:normal;font-size:2.4rem;display:block}
.prize b{font:700 2rem 'Teko',sans-serif;display:block;line-height:1.1}
.prize span{font-weight:800}
.p1{background:linear-gradient(135deg,#ffe066,#ffb703)}
.p2{background:linear-gradient(135deg,#f1f3f5,#ced4da)}
.p3{background:linear-gradient(135deg,#ffd0a6,#e08a4b)}
.note{margin-top:10px;font-size:.9rem;opacity:.7}

/* FORM */
.form{background:#fff;border-radius:var(--r);padding:22px 18px 26px;box-shadow:0 10px 30px rgba(11,31,92,.15);border:3px solid var(--navy)}
.fs{margin:22px 0 10px;color:var(--navy);font-size:1.25rem;font-weight:800}
.fs:first-of-type{margin-top:0}
.fs small{font-weight:600;opacity:.6;font-size:.85rem}
.cat-pick{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.pick input{position:absolute;opacity:0;pointer-events:none}
.pick span{display:block;text-align:center;border:3px solid #d5dbee;border-radius:14px;padding:12px 4px;cursor:pointer;transition:.15s;height:100%}
.pick i{font-style:normal;font-size:2rem;display:block}
.pick b{display:block;font-size:1.02rem;line-height:1.2}
.pick small{opacity:.6;font-size:.78rem}
.pick input:checked+span{background:var(--c);border-color:var(--c);color:#fff;transform:translateY(-3px);box-shadow:0 6px 0 rgba(0,0,0,.25)}
.pick input:focus-visible+span{outline:3px solid var(--yellow)}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.grid .full{grid-column:1/-1}
label{font-weight:700;font-size:.95rem;display:block}
label small{font-weight:400;opacity:.65}
input[type=text],input[type=email],input:not([type]),input[type=file],textarea{
  width:100%;margin-top:5px;padding:12px 13px;border:2px solid #cfd6ea;border-radius:12px;font:inherit;font-weight:400;background:#fbfcff}
input:focus,textarea:focus{outline:none;border-color:var(--navy2);box-shadow:0 0 0 4px rgba(22,48,127,.15)}
input[type=file]{padding:12px;background:#fff8d6;border-style:dashed}
.hp{position:absolute;left:-9999px;height:0;width:0;opacity:0}
.agree{display:flex;gap:10px;margin-top:20px;font-weight:400;align-items:flex-start;font-size:.92rem}
.agree input{width:22px;height:22px;margin-top:3px;flex:none;accent-color:var(--red)}
.bar{position:relative;height:30px;background:#e4e8f5;border-radius:99px;overflow:hidden;margin-top:16px}
.bar[hidden]{display:none}
#barfill{height:100%;width:0;background:linear-gradient(90deg,var(--red),#ff7b00);transition:width .2s}
#barpct{position:absolute;inset:0;display:grid;place-items:center;font-weight:800;font-size:.9rem}
.alert{padding:14px 16px;border-radius:12px;font-weight:700;margin:14px 0}
.alert[hidden]{display:none}
.alert.ok{background:#d8f5df;color:#0b5a22;border:2px solid #2fb35a}
.alert.err{background:#ffe0e3;color:#8d021b;border:2px solid var(--red)}

/* RULES */
.rules{background:#fff;border-radius:var(--r);padding:20px 20px 20px 44px;box-shadow:0 6px 18px rgba(11,31,92,.1);border-left:8px solid var(--red)}
.rules li{margin:8px 0;padding-left:4px}
.rules li::marker{color:var(--red);font-weight:800}

/* WINNERS */
.win-cat{margin-bottom:24px;background:#fff;border-radius:var(--r);padding:16px;border-top:8px solid var(--c);box-shadow:0 6px 18px rgba(0,0,0,.1)}
.win-cat h4{color:var(--c);font-size:1.4rem;font-weight:800}
.win-cat h4 small{opacity:.6;font-size:.85rem}
.win-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:12px}
.win{display:flex;flex-direction:column;gap:6px}
.win .rk{background:var(--yellow);color:var(--navy);font-weight:800;border-radius:8px;padding:4px 10px;font-size:.9rem;align-self:flex-start}
.win video{width:100%;border-radius:12px;background:#000;aspect-ratio:16/9}
.win em{opacity:.7;font-size:.9rem}

/* FOOTER */
footer{margin-top:48px;background:var(--navy);color:#fff;text-align:center;padding:28px 16px;border-top:8px solid var(--yellow)}
footer p{color:var(--yellow);font-weight:800;font-size:1.1rem}
footer b{display:block;margin-top:8px}
.adm{display:inline-block;margin-top:14px;color:#9fb0ff;font-size:.8rem}

/* MOBILE */
@media(max-width:720px){
  body{font-size:16px}
  .cards,.prizes,.cat-pick,.win-grid{grid-template-columns:1fr}
  .cards{gap:10px}
  .card{display:flex;align-items:center;gap:14px;text-align:left;padding:14px 16px;border-top:0;border-left:8px solid var(--c)}
  .card .ico{font-size:2.2rem}
  .pick span{display:flex;align-items:center;gap:12px;text-align:left;padding:12px 14px}
  .pick i{font-size:1.8rem}
  .grid{grid-template-columns:1fr}
  .countdown div{min-width:62px}
  .btn{width:100%}
  .cta-row{padding:0 4px}
}
