@import url('https://fonts.googleapis.com/css2?family=Nunito+Sans:wght@700;800;900&family=Inter:wght@400;500;600;700&display=swap');

/* === Reset === */
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Inter',sans-serif;min-height:100vh;display:flex;flex-direction:column;background:#fff;color:#1e2a3a;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}

/* === Utility === */
.font-display{font-family:'Nunito Sans',sans-serif;font-weight:900}
.text-gold{color:hsl(42,100%,50%)}
.text-center{text-align:center}
.container{max-width:640px;margin:0 auto;padding:0 16px}
.container-wide{max-width:800px;margin:0 auto;padding:0 20px}

/* === Top (white with logo) === */
.top{background:#fff;display:flex;flex-direction:column;align-items:center;padding:40px 16px 24px}
.logo{width:80px;height:80px;border-radius:16px;box-shadow:0 20px 60px rgba(15,25,50,.3);animation:fadeUp .8s cubic-bezier(.16,1,.3,1) both}
@media(min-width:768px){.logo{width:96px;height:96px}}

/* === Curve === */
.curve-wrap{background:linear-gradient(180deg,#0f1928,#1a2840)}
.curve-svg{display:block;width:100%;margin-top:-1px}

/* === Hero === */
.hero{background:linear-gradient(180deg,#0f1928,#1a2840);flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0 16px 64px;text-align:center}
.hero-subtitle{font-size:12px;font-weight:500;letter-spacing:3px;text-transform:uppercase;opacity:.7;color:hsl(220,30%,75%)}
.hero h1{font-family:'Nunito Sans',sans-serif;font-weight:900;font-size:clamp(1.4rem,5vw,1.875rem);text-transform:uppercase;letter-spacing:2px;line-height:1.2;margin-top:12px;color:#fff;animation:fadeUp .8s cubic-bezier(.16,1,.3,1) .15s both}
.hero-amount{font-family:'Nunito Sans',sans-serif;font-weight:900;font-size:clamp(3.2rem,12vw,4.5rem);line-height:1;margin-top:16px;color:hsl(42,100%,50%);animation:fadeUp .8s cubic-bezier(.16,1,.3,1) .25s both}
.ds-row{display:flex;align-items:center;gap:12px;margin-top:8px;animation:fadeUp .8s cubic-bezier(.16,1,.3,1) .3s both}
.ds-text{font-family:'Nunito Sans',sans-serif;font-weight:900;font-size:clamp(1.6rem,6vw,2.25rem);color:hsl(220,30%,80%)}
.coin{width:32px;height:32px;animation:coinFloat 3s ease-in-out infinite}
.coin-delay{animation-delay:1.5s}

/* === CTA === */
.cta{display:inline-block;margin-top:32px;background:linear-gradient(135deg,hsl(35,100%,52%),hsl(28,100%,55%),hsl(35,100%,52%));border-radius:9999px;padding:16px 56px;font-family:'Nunito Sans',sans-serif;font-weight:900;font-size:clamp(1rem,4vw,1.25rem);text-transform:uppercase;letter-spacing:3px;color:#fff;text-decoration:none;box-shadow:0 8px 32px hsla(35,100%,50%,.4),0 2px 8px hsla(35,100%,50%,.2);animation:pulseGlow 2.5s ease-in-out infinite,fadeUp .8s cubic-bezier(.16,1,.3,1) .4s both;transition:transform .15s}
.cta:active{transform:scale(.95)}
.cta:hover{filter:brightness(1.1)}

/* === Cookie banner === */
.cookie-banner{position:fixed;bottom:0;left:0;right:0;z-index:50;background:rgba(255,255,255,.95);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid hsl(220,15%,90%);padding:16px;box-shadow:0 -4px 20px rgba(0,0,0,.08);text-align:center}
.cookie-banner p{font-size:12px;color:hsl(220,10%,45%);line-height:1.6;max-width:28rem;margin:0 auto}
.cookie-banner a{color:hsl(220,90%,52%);text-decoration:underline}
.cookie-btn{display:inline-block;margin-top:12px;background:hsl(220,90%,52%);color:#fff;border:none;border-radius:9999px;padding:8px 32px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:2px;cursor:pointer;transition:all .15s}
.cookie-btn:active{transform:scale(.95)}
.hidden{display:none!important}

/* === Legal / text pages === */
.page-header{background:linear-gradient(180deg,#0f1928,#1a2840);padding:32px 16px;text-align:center}
.page-header .logo-sm{width:48px;height:48px;border-radius:10px;margin:0 auto 12px}
.page-header h1{font-family:'Nunito Sans',sans-serif;font-weight:900;font-size:1.5rem;color:#fff;text-transform:uppercase;letter-spacing:1px}
.page-content{padding:32px 20px 80px;max-width:720px;margin:0 auto;line-height:1.8;font-size:14px;color:#3a4555}
.page-content h2{font-family:'Nunito Sans',sans-serif;font-weight:800;font-size:1.1rem;color:#1e2a3a;margin:28px 0 12px;text-transform:uppercase;letter-spacing:.5px}
.page-content p{margin-bottom:12px}
.page-content ul{margin:0 0 16px 20px}
.page-content ul li{margin-bottom:6px}
.page-content a{color:hsl(220,90%,52%);text-decoration:underline}
.back-link{display:inline-block;margin-top:24px;padding:10px 28px;border-radius:9999px;background:hsl(220,90%,52%);color:#fff;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:1px;text-decoration:none;transition:all .15s}
.back-link:active{transform:scale(.95)}

/* === Review cards === */
.reviews-grid{display:grid;grid-template-columns:1fr;gap:16px;margin:24px 0}
@media(min-width:600px){.reviews-grid{grid-template-columns:1fr 1fr}}
.review-card{background:#f7f8fa;border-radius:12px;padding:20px;border:1px solid hsl(220,15%,92%)}
.review-card .stars{color:hsl(42,100%,50%);font-size:18px;margin-bottom:8px}
.review-card .author{font-weight:700;font-size:13px;margin-bottom:4px;color:#1e2a3a}
.review-card .date{font-size:11px;color:hsl(220,10%,55%);margin-bottom:8px}
.review-card p{font-size:13px;line-height:1.6;color:#3a4555}
.review-card a{color:hsl(220,90%,52%);font-size:13px;font-weight:600;text-decoration:none;display:inline-block;margin-top:8px}

/* === Animations === */
@keyframes fadeUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@keyframes coinFloat{0%,100%{transform:translateY(0) rotate(-5deg)}50%{transform:translateY(-14px) rotate(5deg)}}
@keyframes pulseGlow{0%,100%{box-shadow:0 8px 32px hsla(35,100%,50%,.35)}50%{box-shadow:0 8px 48px hsla(35,100%,50%,.6)}}
