:root{
    --bg:#070a14;
    --bg2:#0d1020;
    --purple:#7a2cff;
    --purple-d:#3a1280;
    --green:#8dff1f;
    --green-d:#3dd10a;
    --gold:#ffc83d;
    --text:#eef1ff;
    --muted:#9aa3c7;
    --card:#11152b;
    --border:rgba(141,255,31,.35);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
    font-family:"Segoe UI",system-ui,-apple-system,Roboto,Arial,sans-serif;
    background:
            radial-gradient(900px 500px at 15% -10%,rgba(122,44,255,.35),transparent 60%),
            radial-gradient(800px 500px at 100% 10%,rgba(141,255,31,.12),transparent 60%),
            var(--bg);
    color:var(--text);
    line-height:1.6;
    min-height:100vh;
    display:flex;
    flex-direction:column;
}
a{color:var(--green);text-decoration:none}
a:hover{text-decoration:underline}

/* Header */
.site-header{
    padding:14px 20px;
    display:flex;justify-content:center;align-items:center;
    border-bottom:1px solid rgba(255,255,255,.06);
    background:rgba(7,10,20,.7);
    backdrop-filter:blur(8px);
    position:sticky;top:0;z-index:10;
}
.brand{
    font-weight:800;letter-spacing:.12em;font-size:1rem;
    color:var(--muted);
}
.brand span{color:var(--green)}

main{flex:1;width:100%}

/* Hero / banner */
.hero{
    max-width:1100px;margin:0 auto;padding:36px 20px 10px;
    display:flex;flex-direction:column;align-items:center;
}
.banner-link{
    display:block;width:100%;
    border-radius:22px;overflow:hidden;
    border:2px solid var(--border);
    box-shadow:0 0 40px rgba(141,255,31,.28),0 0 90px rgba(122,44,255,.35);
    transition:transform .25s,box-shadow .25s;
}
.banner-link:hover{transform:translateY(-3px);box-shadow:0 0 55px rgba(141,255,31,.4),0 0 110px rgba(122,44,255,.45)}
.banner-link picture,.banner-link img{display:block;width:100%;height:auto}
/* Desktop: vertical banner, centered and limited in width */
/* Mobile: horizontal banner, full width */
@media (max-width:768px){
    .hero{padding:20px 14px 6px}
    .hero .banner-link{max-width:100%;border-radius:16px}
}

/* Offer headline under banner */
.offer{
    text-align:center;margin:34px auto 0;max-width:720px;
}
.offer h1{
    font-size:clamp(1.6rem,4.5vw,2.6rem);line-height:1.15;font-weight:900;
}
.offer h1 .hl{
    color:var(--green);
    text-shadow:0 0 18px rgba(141,255,31,.55);
}
.offer h1 .fs{
    display:inline-block;margin-top:10px;
    background:linear-gradient(135deg,var(--purple),#a45bff);
    padding:4px 18px;border-radius:12px;font-size:.7em;
    box-shadow:0 0 22px rgba(122,44,255,.6);
}
.offer p{margin-top:16px;color:var(--muted)}

/* Subscribe */
.subscribe{
    max-width:560px;margin:30px auto 60px;padding:0 20px;
}
.sub-card{
    background:linear-gradient(180deg,var(--card),#0b0e1f);
    border:1px solid var(--border);
    border-radius:20px;padding:28px 24px;
    box-shadow:0 0 30px rgba(141,255,31,.12);
}
.sub-card h2{font-size:1.3rem;text-align:center;margin-bottom:6px}
.sub-card .sub{color:var(--muted);text-align:center;font-size:.95rem;margin-bottom:20px}
.sub-card label.field{display:block;font-size:.85rem;color:var(--muted);margin-bottom:6px}
.sub-card input[type=email]{
    width:100%;padding:14px 16px;border-radius:12px;
    background:#070a16;border:1px solid rgba(255,255,255,.14);
    color:var(--text);font-size:1rem;outline:none;
}
.sub-card input[type=email]:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(141,255,31,.18)}
.check{
    display:flex;gap:10px;align-items:flex-start;margin:16px 0 4px;
    font-size:.88rem;color:var(--muted);cursor:pointer;
}
.check input{
    appearance:none;-webkit-appearance:none;flex:0 0 22px;height:22px;width:22px;margin-top:1px;
    border:2px solid var(--green);border-radius:6px;background:#070a16;cursor:pointer;position:relative;
}
.check input:checked{background:var(--green)}
.check input:checked::after{
    content:"";position:absolute;left:6px;top:1px;width:5px;height:11px;
    border:solid #0a1200;border-width:0 3px 3px 0;transform:rotate(45deg);
}
.error{color:#ff6b8a;font-size:.85rem;margin-top:8px;min-height:1.2em}
.btn{
    width:100%;margin-top:12px;padding:15px 18px;border:0;border-radius:999px;
    font-size:1.05rem;font-weight:900;letter-spacing:.03em;cursor:pointer;
    color:#0a1200;
    background:linear-gradient(180deg,#b8ff4d,var(--green-d));
    box-shadow:0 0 26px rgba(141,255,31,.55);
    transition:transform .15s,box-shadow .15s;
}
.btn:hover{transform:translateY(-2px);box-shadow:0 0 38px rgba(141,255,31,.75)}
.success{
    display:none;text-align:center;padding:10px 4px;
}
.success .tick{
    width:64px;height:64px;margin:0 auto 12px;border-radius:50%;
    background:var(--green);display:flex;align-items:center;justify-content:center;
    box-shadow:0 0 30px rgba(141,255,31,.6);
}
.success .tick svg{width:34px;height:34px}
.success h3{font-size:1.3rem;color:var(--green)}
.success p{color:var(--muted);margin-top:6px}
.sub-card.done form{display:none}
.sub-card.done .success{display:block}

.disclaimer{
    max-width:760px;margin:0 auto 40px;padding:0 20px;text-align:center;
    font-size:.8rem;color:var(--muted);
}

/* Footer */
.site-footer{
    border-top:1px solid rgba(255,255,255,.08);
    background:#05070f;
    padding:26px 20px;
    display:grid;grid-template-columns:1fr auto 1fr;gap:16px;align-items:center;
    font-size:.88rem;color:var(--muted);
}
.site-footer .left{justify-self:start}
.site-footer .center{justify-self:center;text-align:center}
.site-footer .right{justify-self:end;display:flex;gap:16px}
@media (max-width:768px){
    .site-footer{grid-template-columns:1fr;text-align:center}
    .site-footer .left,.site-footer .right,.site-footer .center{justify-self:center}
    .site-footer .center{order:3}
}

/* Legal pages */
.legal{max-width:820px;margin:0 auto;padding:40px 20px 60px}
.legal h1{
    font-size:clamp(1.8rem,5vw,2.4rem);font-weight:900;margin-bottom:6px;
    color:var(--green);text-shadow:0 0 16px rgba(141,255,31,.4);
}
.legal .updated{color:var(--muted);font-size:.9rem;margin-bottom:28px}
.legal h2{font-size:1.2rem;margin:28px 0 8px;color:#fff;border-left:4px solid var(--purple);padding-left:12px}
.legal p,.legal li{color:#cfd5f0}
.legal ul{margin:8px 0 8px 22px}
.legal .back{display:inline-block;margin-bottom:20px;font-weight:700}
