:root{
  --bg0:#05060A;
  --bg1:#06070A;
  --card: rgba(10, 12, 18, 0.80);
  --stroke: rgba(255,255,255,0.10);

  --text:#EAF2FF;
  --muted:#A9B6D3;

  /* blue tones */
  --ice:#49B9FF;
  --ice2:#2A86FF;

  --shadow: 0 22px 70px rgba(0,0,0,.55);
  --radius: 22px;

  --safeTop: env(safe-area-inset-top, 0px);
  --safeBottom: env(safe-area-inset-bottom, 0px);
}

*{ box-sizing:border-box; }
html,body{ height:100%; }

body{
  margin:0;
  color:var(--text);
  background:
    radial-gradient(900px 520px at 50% 18%, rgba(73,185,255,.14), transparent 62%),
    radial-gradient(700px 420px at 20% 78%, rgba(42,134,255,.10), transparent 60%),
    radial-gradient(900px 700px at 70% 70%, rgba(0,0,0,.55), transparent 60%),
    linear-gradient(180deg, #05060A 0%, #04050A 100%);
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  overflow-x:hidden;
}

/* IG in-app browser safe centering */
.wrap{
  min-height: 100svh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding: calc(18px + var(--safeTop)) 16px calc(22px + var(--safeBottom));
}

/* subtle gritty overlay */
.bg{
  position: fixed;
  inset: 0;
  pointer-events:none;
  background: linear-gradient(180deg, rgba(0,0,0,.10), rgba(0,0,0,.60));
}
.bg::after{
  content:"";
  position:absolute;
  inset:-30%;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='.22'/%3E%3C/svg%3E");
  mix-blend-mode: overlay;
  opacity:.18;
  transform: rotate(6deg);
}

.card{
  width:min(680px, 100%);
  background:
    linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02)),
    var(--card);
  border:1px solid rgba(255,255,255,.10);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  overflow:hidden;
}

/* top blue accent only (no gold) */
.hero{
  padding: 18px 18px 14px;
  position:relative;
}
.hero::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:3px;
  background: linear-gradient(90deg, rgba(73,185,255,0), rgba(73,185,255,.85), rgba(42,134,255,.65), rgba(73,185,255,0));
}

/* logo + text row */
.logoRow{
  display:flex;
  align-items:center;
  gap: 14px;
  padding-top: 10px;
}

/* square logo tile w/ rounded corners */
.logoTile{
  width: 85px;
  height: 85px;
  border-radius: 18px;
  background: rgba(0,0,0,.45);
  border: 1px solid rgba(255,255,255,.10);
  box-shadow:
    0 18px 38px rgba(0,0,0,.55),
    0 0 0 2px rgba(73,185,255,.10);
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}

.logoImg{
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.06); /* fills tile nicely */
}

.heroText{
  min-width: 0;
}

.title{
  margin:0;
  font-family: "Bebas Neue", Inter, system-ui, sans-serif;
  letter-spacing: .08em;
  font-size: clamp(34px, 5.5vw, 52px);
  line-height: 1;
  text-shadow: 0 10px 30px rgba(0,0,0,.60);
}

.subtitle{
  margin: 6px 0 0;
  color: var(--muted);
  font-size: 13px;
  letter-spacing: .02em;
}

.links{
  padding: 14px 16px 14px;
  display:grid;
  gap: 12px;
}

.btn{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 12px;

  width:100%;
  padding: 16px 16px;
  border-radius: 16px;

  background: rgba(10,12,18,.55);
  border: 1px solid rgba(255,255,255,.10);

  color: var(--text);
  text-decoration:none;
  font-weight: 700;
  letter-spacing: .01em;

  box-shadow:
    0 10px 28px rgba(0,0,0,.35),
    inset 0 1px 0 rgba(255,255,255,.07);

  -webkit-tap-highlight-color: transparent;
}

.btn .sub{
  font-weight: 600;
  font-size: 12px;
  color: rgba(233,243,255,.70);
  white-space: nowrap;
}

.btn:hover{
  border-color: rgba(73,185,255,.35);
  box-shadow:
    0 18px 40px rgba(0,0,0,.42),
    0 0 0 2px rgba(73,185,255,.08),
    inset 0 1px 0 rgba(255,255,255,.08);
}

.btn:active{
  transform: scale(.992);
}

.btn.primary{
  background: linear-gradient(90deg, rgba(73,185,255,.22), rgba(42,134,255,.12));
  border-color: rgba(73,185,255,.35);
}

.footer{
  padding: 14px 18px 18px;
  color: rgba(233,243,255,.55);
  font-size: 12px;
  text-align:center;
  border-top: 1px solid rgba(255,255,255,.06);
}

/* Mobile tighten */
@media (max-width: 420px){
  .hero{ padding: 16px 14px 12px; }
  .logoTile{ width: 68px; height: 68px; border-radius: 16px; }
  .links{ padding: 12px 12px 12px; }
  .btn{ padding: 15px 14px; }
  .btn .sub{ font-size: 11px; }
}
