:root{
    --yellow:#ffd23f; --orange:#ff9505; --navy:#133a5e; --cream:#fff9ec;
    --sky:#a5d8ff; --sky2:#d0ebff; --ink:#33556f; --line:#eadfc7;
    --ok:#2e9e5b; --muted:#6b8299;
}
*{margin:0;padding:0;box-sizing:border-box}
body{
    font-family:"Avenir Next",Avenir,"Segoe UI",system-ui,-apple-system,sans-serif;
    color:var(--navy); background:var(--cream); line-height:1.6;
}
a{color:var(--orange)}
.wrap{max-width:960px;margin:0 auto;padding:0 1.25rem}
.narrow{max-width:680px}

/* header */
.site-head{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;max-width:960px;margin:0 auto}
.brand{display:flex;align-items:center;gap:.6rem;font-weight:800;font-size:1.35rem;letter-spacing:-.02em;color:var(--navy);text-decoration:none}
.brand .duck{width:38px;height:38px}
.brand span{color:var(--orange)}
.nav-links a{color:var(--navy);text-decoration:none;font-weight:600;margin-left:1.25rem;font-size:.95rem}
.nav-links a:hover{color:var(--orange)}

/* hero */
.hero{background:linear-gradient(180deg,var(--sky) 0%,var(--sky2) 60%,var(--cream) 100%);text-align:center;padding:1rem 1.25rem 3rem}
.hero .duck-big{width:130px;height:130px;margin:.5rem auto 1rem;animation:bob 3s ease-in-out infinite;display:block}
@keyframes bob{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-10px) rotate(2deg)}}
.hero h1{font-size:clamp(2rem,6vw,3.2rem);letter-spacing:-.02em;margin-bottom:.5rem}
.hero h1 span{color:var(--orange)}
.hero p.sub{font-size:clamp(1.05rem,2.5vw,1.35rem);color:var(--ink);max-width:34rem;margin:0 auto 1.5rem}
.pill{display:inline-block;background:var(--yellow);color:var(--navy);font-weight:800;text-transform:uppercase;letter-spacing:.05em;font-size:.8rem;padding:.4rem 1rem;border-radius:999px;margin-bottom:1rem}

/* card + form */
.card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:1.75rem;box-shadow:0 8px 30px rgba(19,58,94,.07);max-width:520px;margin:0 auto}
.card h2{font-size:1.4rem;margin-bottom:.35rem}
.card .hint{color:var(--muted);font-size:.95rem;margin-bottom:1.1rem}
label{display:block;font-weight:600;font-size:.9rem;margin-bottom:.35rem;text-align:left}
input[type=email],input[type=text],input[type=password]{
    width:100%;padding:.85rem 1rem;border:2px solid var(--line);border-radius:10px;font-size:1.05rem;font-family:inherit;
}
input:focus{outline:none;border-color:var(--orange)}
.consent{display:flex;gap:.6rem;align-items:flex-start;text-align:left;margin:1rem 0;font-size:.85rem;color:var(--ink)}
.consent input{margin-top:.2rem;flex-shrink:0}
.btn{display:inline-block;background:var(--orange);color:#fff;border:none;border-radius:10px;padding:.9rem 1.5rem;font-size:1.05rem;font-weight:800;font-family:inherit;cursor:pointer;text-decoration:none;transition:transform .05s,background .15s}
.btn:hover{background:#e8842c}
.btn:active{transform:translateY(1px)}
.btn.block{width:100%;text-align:center}
.btn.big{font-size:1.15rem;padding:1rem 1.75rem}
.btn.ghost{background:#fff;color:var(--navy);border:2px solid var(--line)}
.btn.ghost:hover{border-color:var(--orange);background:#fff}
.legal-line{font-size:.8rem;color:var(--muted);margin-top:1rem;text-align:center}

/* how it works */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin:2.5rem 0}
.step{text-align:center}
.step .n{width:44px;height:44px;line-height:44px;border-radius:50%;background:var(--yellow);color:var(--navy);font-weight:800;font-size:1.2rem;margin:0 auto .6rem}
.step h3{font-size:1.05rem;margin-bottom:.25rem}
.step p{color:var(--ink);font-size:.92rem}
@media(max-width:640px){.steps{grid-template-columns:1fr;gap:1.5rem}}

/* status / thanks */
.status-num{font-size:2.6rem;font-weight:800;color:var(--orange);line-height:1}
.status-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:1.25rem 0}
.stat-box{background:var(--cream);border:1px solid var(--line);border-radius:12px;padding:1rem;text-align:center}
.stat-box .label{font-size:.8rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.reflink{display:flex;gap:.5rem;margin:.75rem 0}
.reflink input{font-size:.95rem;background:var(--cream)}
.share{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}
.share a{flex:1;min-width:120px;text-align:center;padding:.7rem;border-radius:10px;text-decoration:none;font-weight:700;font-size:.9rem;border:2px solid var(--line);color:var(--navy);background:#fff}
.share a:hover{border-color:var(--orange)}

/* offers */
.offer{border:1px solid var(--line);border-radius:12px;padding:1.1rem 1.25rem;margin-bottom:.85rem;display:flex;justify-content:space-between;align-items:center;gap:1rem;background:#fff}
.offer h4{font-size:1.02rem;margin-bottom:.15rem}
.offer p{font-size:.85rem;color:var(--muted)}
.offer .btn{flex-shrink:0;font-size:.9rem;padding:.6rem 1rem}
.sponsored{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:.5rem}

/* content pages */
.doc{background:#fff;border:1px solid var(--line);border-radius:16px;padding:2rem;margin:2rem auto}
.doc h1{font-size:1.8rem;margin-bottom:.25rem}
.doc h2{font-size:1.15rem;margin:1.5rem 0 .4rem}
.doc p,.doc li{color:var(--ink);font-size:.95rem;margin-bottom:.6rem}
.doc ul,.doc ol{margin-left:1.25rem}
.doc .updated{color:var(--muted);font-size:.85rem;margin-bottom:1rem}

/* flashes */
.flash{padding:.85rem 1.1rem;border-radius:10px;margin-bottom:1rem;font-size:.95rem}
.flash.error{background:#fdecec;color:#a3241f;border:1px solid #f5c6c2}
.flash.success{background:#e8f7ee;color:#1c6b3c;border:1px solid #bfe6cd}
.flash.info{background:#eaf3fb;color:#1d4e79;border:1px solid #c6ddf0}

/* winners */
.winners-list{list-style:none;margin:0}
.winners-list li{display:flex;justify-content:space-between;padding:.7rem 0;border-bottom:1px solid var(--line);font-size:.95rem}
.winners-list .amt{font-weight:800;color:var(--ok)}

/* footer */
.site-foot{text-align:center;padding:2.5rem 1.25rem;color:var(--muted);font-size:.85rem;border-top:1px solid var(--line);margin-top:2rem}
.site-foot a{color:var(--muted);margin:0 .5rem;text-decoration:none}
.site-foot a:hover{color:var(--orange)}

/* admin */
.admin-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin:1.5rem 0}
.admin-stat{background:#fff;border:1px solid var(--line);border-radius:12px;padding:1.1rem;text-align:center}
.admin-stat .num{font-size:1.8rem;font-weight:800;color:var(--navy)}
.admin-stat .label{font-size:.78rem;color:var(--muted);text-transform:uppercase}
table.data{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}
table.data th,table.data td{padding:.6rem .8rem;text-align:left;border-bottom:1px solid var(--line);font-size:.9rem}
table.data th{background:var(--cream);font-size:.78rem;text-transform:uppercase;letter-spacing:.03em;color:var(--muted)}
@media(max-width:640px){.admin-grid{grid-template-columns:1fr 1fr}}
