/* Casino theme: luxe felt, gold accents, subtle glow */
:root{
  --bg0:#03150f;
  --bg1:#06281c;
  --felt:#0b4b34;
  --felt2:#073325;
  --gold:#f6d36b;
  --gold2:#c99b2b;
  --red:#d11f3a;
  --ink:#0b0f0f;
  --text:#eaf2ef;
  --muted:rgba(234,242,239,.75);
  --card:rgba(10,16,14,.72);
  --stroke:rgba(246,211,107,.22);
  --shadow:0 18px 60px rgba(0,0,0,.55);
  --radius:18px;
}

*{ box-sizing:border-box; }
html,body{ height:100%; }
body{
  margin:0;
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, "Noto Sans", "Helvetica Neue", sans-serif;
  color:var(--text);
  background: radial-gradient(1200px 800px at 20% 10%, rgba(246,211,107,.12), transparent 55%),
              radial-gradient(900px 600px at 80% 30%, rgba(209,31,58,.10), transparent 60%),
              linear-gradient(140deg, var(--bg0), var(--bg1));
  overflow-x:hidden;
}

/* Background layers */
.bg{ position:fixed; inset:0; z-index:-1; }
.bg__felt{
  position:absolute; inset:-40px;
  background:
    radial-gradient(900px 420px at 50% 0%, rgba(246,211,107,.10), transparent 70%),
    radial-gradient(800px 520px at 50% 120%, rgba(0,0,0,.35), transparent 60%),
    linear-gradient(180deg, rgba(11,75,52,.55), rgba(7,51,37,.65));
  filter:saturate(1.1) contrast(1.05);
}
.bg__felt::before{
  content:"";
  position:absolute; inset:0;
  background:
    radial-gradient(circle at 20% 25%, rgba(255,255,255,.05) 0 1px, transparent 2px),
    radial-gradient(circle at 70% 40%, rgba(255,255,255,.04) 0 1px, transparent 2px),
    radial-gradient(circle at 40% 70%, rgba(255,255,255,.04) 0 1px, transparent 2px);
  background-size: 260px 260px, 320px 320px, 380px 380px;
  mix-blend-mode: overlay;
  opacity:.65;
}

.bg__lights{
  position:absolute; inset:0;
  background:
    radial-gradient(12px 12px at 12% 18%, rgba(246,211,107,.55), transparent 60%),
    radial-gradient(12px 12px at 22% 14%, rgba(246,211,107,.35), transparent 60%),
    radial-gradient(12px 12px at 32% 16%, rgba(246,211,107,.45), transparent 60%),
    radial-gradient(12px 12px at 68% 16%, rgba(246,211,107,.45), transparent 60%),
    radial-gradient(12px 12px at 78% 14%, rgba(246,211,107,.35), transparent 60%),
    radial-gradient(12px 12px at 88% 18%, rgba(246,211,107,.55), transparent 60%);
  filter: blur(0.2px);
  opacity:.85;
}

.bg__sparkles{
  position:absolute; inset:0;
  background:
    radial-gradient(1px 1px at 15% 35%, rgba(255,255,255,.65), transparent 60%),
    radial-gradient(1px 1px at 28% 62%, rgba(255,255,255,.45), transparent 60%),
    radial-gradient(1px 1px at 55% 40%, rgba(255,255,255,.55), transparent 60%),
    radial-gradient(1px 1px at 72% 68%, rgba(255,255,255,.40), transparent 60%),
    radial-gradient(1px 1px at 85% 45%, rgba(255,255,255,.60), transparent 60%);
  opacity:.55;
  animation: twinkle 5.5s ease-in-out infinite;
}
@keyframes twinkle{
  0%,100%{ opacity:.45; transform: translateY(0); }
  50%{ opacity:.85; transform: translateY(-6px); }
}

.wrap{
  min-height:100vh;
  padding: 28px 18px;
  display:grid;
  place-items:center;
}

.hero{
  width:min(560px, 100%);
  text-align:center;
}

.badge{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(0,0,0,.28);
  border: 1px solid rgba(246,211,107,.28);
  box-shadow: 0 10px 30px rgba(0,0,0,.25);
  backdrop-filter: blur(8px);
  margin-bottom: 14px;
}
.badge__dot{
  width: 8px; height: 8px;
  border-radius: 999px;
  background: var(--red);
  box-shadow: 0 0 0 4px rgba(209,31,58,.18), 0 0 14px rgba(209,31,58,.55);
}
.badge__text{
  font-weight: 700;
  letter-spacing: .3px;
  color: rgba(246,211,107,.95);
  font-size: 12px;
  text-transform: uppercase;
}

.title{ margin: 0 0 10px; line-height: 1.05; }
.title__brand{
  display:block;
  font-size: clamp(34px, 6vw, 44px);
  font-weight: 900;
  letter-spacing: .8px;
  background: linear-gradient(180deg, #fff3c9, var(--gold2));
  -webkit-background-clip:text;
  background-clip:text;
  color: transparent;
  text-shadow: 0 18px 50px rgba(0,0,0,.35);
}
.title__sub{
  display:block;
  font-size: clamp(18px, 3.2vw, 22px);
  font-weight: 800;
  letter-spacing: .6px;
  color: rgba(234,242,239,.92);
  margin-top: 6px;
}

.lead{
  margin: 0 0 18px;
  color: var(--muted);
  font-size: 15px;
}

.card{
  position:relative;
  background: var(--card);
  border-radius: var(--radius);
  padding: 18px;
  border: 1px solid var(--stroke);
  box-shadow: var(--shadow);
  backdrop-filter: blur(12px);
  overflow:hidden;
}
.card::before{
  content:"";
  position:absolute;
  inset:-2px;
  background:
    linear-gradient(115deg, rgba(246,211,107,.18), transparent 35%),
    radial-gradient(500px 220px at 50% 0%, rgba(246,211,107,.18), transparent 60%);
  pointer-events:none;
  opacity:.85;
}
.card::after{
  /* subtle card-corner ornaments */
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(120px 120px at 10% 8%, rgba(246,211,107,.10), transparent 60%),
    radial-gradient(120px 120px at 90% 92%, rgba(246,211,107,.10), transparent 60%);
  pointer-events:none;
}

.form{
  position:relative;
  display:grid;
  gap: 12px;
  text-align:left;
}
.label{
  font-size: 12px;
  letter-spacing: .4px;
  color: rgba(246,211,107,.85);
  text-transform: uppercase;
  font-weight: 800;
}

.field{ position:relative; }
input{
  width:100%;
  padding: 13px 42px 13px 14px;
  font-size: 16px;
  border-radius: 14px;
  border: 1px solid rgba(246,211,107,.22);
  outline: none;
  background: rgba(0,0,0,.32);
  color: var(--text);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.04);
}
input::placeholder{ color: rgba(234,242,239,.55); }
input:focus{
  border-color: rgba(246,211,107,.55);
  box-shadow: 0 0 0 4px rgba(246,211,107,.12), inset 0 0 0 1px rgba(255,255,255,.06);
}
.field__icon{
  position:absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 18px;
  opacity:.85;
  color: rgba(246,211,107,.95);
  text-shadow: 0 8px 22px rgba(0,0,0,.5);
}

.btn{
  position:relative;
  width:100%;
  padding: 13px 14px;
  border: 0;
  border-radius: 14px;
  font-size: 16px;
  font-weight: 900;
  letter-spacing: .4px;
  color: #1a1406;
  background: linear-gradient(180deg, #fff0b8, var(--gold2));
  cursor:pointer;
  box-shadow: 0 16px 38px rgba(0,0,0,.45), 0 2px 0 rgba(255,255,255,.22) inset;
  overflow:hidden;
}
.btn:active{ transform: translateY(1px); }
.btn:hover{ filter: brightness(1.02) saturate(1.05); }
.btn__shine{
  content:"";
  position:absolute;
  inset:-40% -60%;
  background: linear-gradient(110deg, transparent 30%, rgba(255,255,255,.55) 45%, transparent 60%);
  transform: translateX(-40%) rotate(8deg);
  animation: shine 2.8s ease-in-out infinite;
  pointer-events:none;
}
@keyframes shine{
  0%{ transform: translateX(-65%) rotate(8deg); opacity:0; }
  15%{ opacity:.35; }
  45%{ opacity:.55; }
  60%{ transform: translateX(70%) rotate(8deg); opacity:0; }
  100%{ transform: translateX(70%) rotate(8deg); opacity:0; }
}

.trust{
  display:flex;
  flex-wrap:wrap;
  gap: 10px;
  justify-content: space-between;
  margin-top: 6px;
}
.trust__item{
  flex: 1 1 30%;
  display:flex;
  align-items:center;
  gap: 8px;
  padding: 10px 10px;
  border-radius: 14px;
  background: rgba(0,0,0,.22);
  border: 1px solid rgba(246,211,107,.14);
}
.trust__icon{ font-size: 16px; }
.trust__text{
  font-size: 12px;
  color: rgba(234,242,239,.88);
  font-weight: 700;
  letter-spacing: .2px;
}

.divider{
  height: 1px;
  margin: 16px 0 14px;
  background: linear-gradient(90deg, transparent, rgba(246,211,107,.35), transparent);
}

.perks{
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  gap: 10px;
  color: rgba(234,242,239,.90);
  font-size: 14px;
  text-align:left;
}
.perks__pip{ color: rgba(246,211,107,.95); font-weight:900; margin-right:8px; }

.small{
  margin: 14px 0 0;
  font-size: 12px;
  color: rgba(234,242,239,.72);
  text-align:center;
}
.small a{
  color: rgba(246,211,107,.95);
  text-decoration: none;
  border-bottom: 1px dashed rgba(246,211,107,.45);
}
.small a:hover{ border-bottom-style: solid; }

.footnote{
  margin: 14px 0 0;
  font-size: 12px;
  color: rgba(234,242,239,.62);
}

@media (max-width: 420px){
  .card{ padding: 16px; }
  .trust{ gap: 8px; }
  .trust__item{ flex: 1 1 calc(50% - 8px); }
}

@media (prefers-reduced-motion: reduce){
  .bg__sparkles, .btn__shine{ animation: none !important; }
}
