:root{
  --bg0:#070A13;
  --bg1:#0E1230;
  --card:#111835;
  --card2:#0B1026;
  --text:#F5F7FF;
  --muted:#B7C0E6;
  --gold:#F7C95C;
  --pink:#FF4FD8;
  --cyan:#41E0FF;
  --lime:#59FFB3;
  --line:rgba(255,255,255,.10);
  --shadow: 0 12px 32px rgba(0,0,0,.45);
  --radius: 18px;
  --container: 1200px;
  --h: 74px;
  --ribbonH: 42px;
  --grad: linear-gradient(135deg, var(--gold), var(--pink), var(--cyan));
  --grad2: linear-gradient(135deg, rgba(247,201,92,.18), rgba(255,79,216,.10), rgba(65,224,255,.12));
  --font: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:var(--font);
  color:var(--text);
  background:
    radial-gradient(900px 600px at 15% 10%, rgba(65,224,255,.18), transparent 60%),
    radial-gradient(800px 560px at 80% 15%, rgba(255,79,216,.16), transparent 62%),
    radial-gradient(900px 640px at 50% 110%, rgba(247,201,92,.14), transparent 62%),
    linear-gradient(180deg, var(--bg0), var(--bg1));
  overflow-x:hidden;
  /* Make room for fixed ribbon + fixed header */
  padding-top: calc(var(--h) + var(--ribbonH));
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}

.container{width:min(var(--container), 92vw); margin:0 auto}
.pill{
  display:inline-flex; align-items:center; gap:8px;
  padding:8px 14px; border-radius:999px;
  background:rgba(255,255,255,.06);
  border:1px solid var(--line);
  color:var(--muted); font-weight:700; font-size:12px; letter-spacing:.4px;
}
.pill i{color:var(--gold)}

.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  padding:10px 14px;
  border-radius:14px;
  font-weight:900; letter-spacing:.2px;
  border:1px solid transparent;
  cursor:pointer;
  transition: transform .15s ease, box-shadow .15s ease, background .15s ease, border-color .15s ease;
  user-select:none;
  white-space:nowrap;
  font-size: 14px;
}
.btn:active{transform:translateY(1px)}
.btn-ghost{background:rgba(255,255,255,.06); border-color:var(--line); color:var(--text)}
.btn-ghost:hover{border-color:rgba(255,255,255,.20)}
.btn-grad{
  background:var(--grad);
  color:#08101A;
  box-shadow: 0 10px 22px rgba(255,79,216,.16);
}
.btn-grad:hover{transform:translateY(-1px); box-shadow: 0 14px 32px rgba(65,224,255,.16)}

/* Header (Ribbon / Celebration) */
.ribbon-top{
  background:rgba(0,0,0,.22);
  border-bottom:1px solid rgba(255,255,255,.06);
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 1101;
}
.ribbon-top .row{
  display:flex; align-items:center; justify-content:space-between;
  padding:10px 0;
  gap:14px;
}
.ribbon-kv{display:flex; gap:12px; flex-wrap:wrap}
.ribbon-kv span{
  display:inline-flex; align-items:center; gap:8px;
  font-size:12px; color:var(--muted); font-weight:700;
}
.ribbon-kv i{color:var(--cyan)}
.ribbon-links{display:flex; gap:14px; flex-wrap:wrap}
.ribbon-links a{font-size:12px; color:var(--muted); font-weight:800}
.ribbon-links a:hover{color:var(--text)}

.site-header{
  position:fixed;
  top: var(--ribbonH);
  left: 0; right: 0;
  z-index:1100;
  height:var(--h);
  background:rgba(7,10,19,.72);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.site-header .inner{
  height:100%;
  display:flex; align-items:center; justify-content:space-between;
  gap:14px;
}
.brand{display:flex; align-items:center; gap:12px}
.brand img{height:44px; width:auto}
.brand .badge40{
  display:inline-flex; align-items:center; gap:8px;
  padding:7px 12px; border-radius:999px;
  background:var(--grad2);
  border:1px solid rgba(255,255,255,.10);
  font-weight:1000; color:var(--text);
  box-shadow: 0 10px 22px rgba(0,0,0,.22);
  white-space:nowrap;
}
.badge40 b{color:var(--gold)}

.nav-desk{
  display:flex; gap:4px; flex-wrap:wrap;
  justify-content:center;
}
.nav-desk a{
  padding:8px 10px;
  border-radius:12px;
  color:var(--muted);
  font-weight:900;
  font-size:13px;
}
.nav-desk a.active, .nav-desk a:hover{
  color:var(--text);
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.08);
}

.head-actions{display:flex; gap:10px; align-items:center}
.hamburger{
  display:none;
  width:44px; height:44px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.06);
  color:var(--text);
  cursor:pointer;
}

/* Mobile drawer */
.drawer-overlay{
  position:fixed; inset:0;
  background:rgba(0,0,0,.55);
  opacity:0; pointer-events:none;
  transition:opacity .18s ease;
  z-index:1100;
}
.drawer-overlay.open{opacity:1; pointer-events:auto}
.drawer{
  position:fixed; top:0; right:0; bottom:0;
  width:min(420px, 100vw);
  transform:translateX(100%);
  transition: transform .22s ease;
  z-index:1200;
  background:linear-gradient(180deg, rgba(17,24,53,.98), rgba(7,10,19,.98));
  border-left:1px solid rgba(255,255,255,.10);
  padding:18px;
  overflow:auto;
}
.drawer.open{transform:translateX(0)}
.drawer-top{
  display:flex; align-items:center; justify-content:space-between;
  gap:12px;
  padding-bottom:12px;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.drawer-close{width:44px;height:44px;border-radius:14px;border:1px solid rgba(255,255,255,.14); background:rgba(255,255,255,.06); color:var(--text); cursor:pointer}
.drawer-nav{display:grid; gap:8px; padding:14px 0}
.drawer-nav a{
  padding:12px 12px; border-radius:14px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.06);
  color:var(--muted); font-weight:900;
}
.drawer-nav a.active{color:var(--text); border-color:rgba(65,224,255,.25)}
.drawer-actions{display:grid; gap:10px; padding-top:10px}

/* Hero (Celebration) */
.hero{
  padding:42px 0 28px;
}
.hero-grid{
  display:grid;
  grid-template-columns: 1.15fr .85fr;
  gap:24px;
  align-items:stretch;
}
.hero-card{
  position:relative;
  border-radius: var(--radius);
  border:1px solid rgba(255,255,255,.10);
  background: linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.03));
  box-shadow: var(--shadow);
  overflow:hidden;
}
.hero-left{padding:28px}
.hero-left h1{
  margin:14px 0 10px;
  font-size:44px;
  line-height:1.08;
  letter-spacing:-.6px;
}
.hero-left h1 .shine{
  background:var(--grad);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.hero-left p{
  margin:0;
  color:var(--muted);
  font-size:16px;
  max-width: 64ch;
}
.hero-cta{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:16px;
}
.hero-cta .btn{flex:0 0 auto}
.confetti{
  position:absolute; inset:0; pointer-events:none;
  opacity:.70;
  background-image:
    radial-gradient(circle at 12% 18%, rgba(255,79,216,.60) 0 2px, transparent 3px),
    radial-gradient(circle at 24% 40%, rgba(65,224,255,.55) 0 2px, transparent 3px),
    radial-gradient(circle at 35% 22%, rgba(247,201,92,.60) 0 2px, transparent 3px),
    radial-gradient(circle at 56% 30%, rgba(89,255,179,.50) 0 2px, transparent 3px),
    radial-gradient(circle at 68% 16%, rgba(255,79,216,.55) 0 2px, transparent 3px),
    radial-gradient(circle at 82% 44%, rgba(65,224,255,.55) 0 2px, transparent 3px),
    radial-gradient(circle at 92% 18%, rgba(247,201,92,.55) 0 2px, transparent 3px);
  filter: blur(.2px);
  mask-image: linear-gradient(180deg, rgba(0,0,0,.9), transparent 80%);
}
.hero-right{
  display:grid;
  grid-template-rows: 1fr auto;
}
.hero-media{
  position:relative;
  min-height: 280px;
}
.hero-media img{
  width:100%; height:100%;
  object-fit: cover;
  opacity:.88;
}
.hero-media::after{
  content:'';
  position:absolute; inset:0;
  background: radial-gradient(600px 380px at 70% 20%, rgba(65,224,255,.18), transparent 60%),
              linear-gradient(180deg, rgba(7,10,19,0) 10%, rgba(7,10,19,.65) 100%);
}
.hero-mini{
  display:flex;
  gap:10px;
  padding:14px;
  border-top:1px solid rgba(255,255,255,.08);
}
.mini{
  flex:1;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.08);
  border-radius:16px;
  padding:12px;
}
.mini .k{font-size:12px; color:var(--muted); font-weight:900}
.mini .v{margin-top:6px; font-size:16px; font-weight:1000}

/* Sections / Blocks */
.section{padding:34px 0}
.section-head{
  display:flex; align-items:flex-end; justify-content:space-between;
  gap:14px;
  margin-bottom:14px;
}
.section-head h2{
  margin:0;
  font-size:24px;
  letter-spacing:-.2px;
}
.section-head p{margin:0;color:var(--muted);font-weight:700}

.grid-3{display:grid; grid-template-columns: repeat(3, 1fr); gap:14px}
.card{
  background: rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.09);
  border-radius: var(--radius);
  overflow:hidden;
  box-shadow: 0 8px 20px rgba(0,0,0,.22);
}
.card .media{height:160px; position:relative}
.card .media img{width:100%; height:100%; object-fit:cover}
.card .media::after{content:''; position:absolute; inset:0; background: linear-gradient(180deg, rgba(7,10,19,0) 20%, rgba(7,10,19,.55) 100%)}
.card .body{padding:14px}
.card .body h3{margin:0 0 6px; font-size:16px}
.card .body p{margin:0; color:var(--muted); font-size:13px}

.ribbon-strip{
  border:1px solid rgba(255,255,255,.10);
  background: var(--grad2);
  border-radius: 999px;
  padding:14px 16px;
  display:flex;
  align-items:center;
  gap:16px;
  justify-content:space-between;
  flex-wrap:wrap;
}
.ribbon-strip .items{display:flex; gap:14px; flex-wrap:wrap}
.ribbon-strip .items span{display:inline-flex; align-items:center; gap:8px; color:var(--muted); font-weight:900; font-size:13px}
.ribbon-strip i{color:var(--gold)}

.bento{
  display:grid;
  grid-template-columns: 1.2fr .8fr .8fr;
  grid-auto-rows: 170px;
  gap:14px;
}
.bento .tile{
  position:relative;
  border-radius: var(--radius);
  overflow:hidden;
  border:1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.05);
}
.bento .tile img{width:100%; height:100%; object-fit:cover; opacity:.86}
.bento .tile::after{content:''; position:absolute; inset:0; background: linear-gradient(180deg, rgba(7,10,19,0) 22%, rgba(7,10,19,.72) 100%)}
.bento .tile .cap{position:absolute; left:14px; right:14px; bottom:12px}
.bento .tile .cap h3{margin:0 0 4px; font-size:16px}
.bento .tile .cap p{margin:0; color:var(--muted); font-size:13px}
.bento .wide{grid-column: 1 / 2; grid-row: 1 / 3}
.bento .tall{grid-column: 2 / 3; grid-row: 1 / 3}

.steps{
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  gap:12px;
}
.step{
  border-radius: var(--radius);
  padding:14px;
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.09);
}
.step .n{font-weight:1000; color:var(--gold); font-size:12px; letter-spacing:.7px}
.step h3{margin:8px 0 6px; font-size:15px}
.step p{margin:0; color:var(--muted); font-size:13px}

.timeline{
  border-left:2px solid rgba(65,224,255,.26);
  padding-left:16px;
  display:grid;
  gap:12px;
}
.tli{
  position:relative;
  padding:12px 14px;
  border-radius: 14px;
  border:1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.04);
}
.tli::before{
  content:'';
  position:absolute;
  left:-24px; top:16px;
  width:10px; height:10px;
  border-radius:999px;
  background: var(--cyan);
  box-shadow: 0 0 14px rgba(65,224,255,.35);
}
.tli h3{margin:0 0 6px; font-size:15px}
.tli p{margin:0; color:var(--muted); font-size:13px}

.table-wrap{overflow:auto; border-radius: var(--radius); border:1px solid rgba(255,255,255,.10)}
table{width:100%; border-collapse:collapse; background: rgba(255,255,255,.04)}
th,td{padding:14px 12px; border-bottom:1px solid rgba(255,255,255,.06); text-align:left}
th{color:var(--gold); font-size:12px; letter-spacing:.6px; text-transform:uppercase}
td{color:var(--muted); font-weight:700}
td b{color:var(--text)}

.faq{display:grid; gap:10px}
details{
  border:1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.04);
  border-radius: 16px;
  padding: 10px 12px;
}
summary{cursor:pointer; font-weight:1000}
details p{margin:10px 0 0; color:var(--muted); font-weight:700; font-size:13px}

/* New blocks for stronger page variation */
.stats-tiles{
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  gap:12px;
}
.stat-tile{
  border-radius: var(--radius);
  border:1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.05);
  padding:14px;
  box-shadow: 0 10px 22px rgba(0,0,0,.18);
}
.stat-tile .k{color:var(--muted); font-weight:900; font-size:12px}
.stat-tile .v{margin-top:8px; font-weight:1100; font-size:22px}
.stat-tile .v .tag{font-size:12px; color:rgba(245,247,255,.80); font-weight:900}

.split{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:14px;
  align-items:stretch;
}
.split .panel{
  border-radius: var(--radius);
  border:1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.04);
  overflow:hidden;
}
.split .panel.media{min-height: 220px; position:relative}
.split .panel.media img{width:100%; height:100%; object-fit:cover; opacity:.90}
.split .panel.media::after{content:''; position:absolute; inset:0; background: linear-gradient(180deg, rgba(7,10,19,0) 18%, rgba(7,10,19,.70) 100%)}
.split .panel.body{padding:16px}
.split h3{margin:0 0 8px; font-size:18px}
.split p{margin:0 0 12px; color:var(--muted); font-weight:700; font-size:13px}
.split ul{margin:0; padding-left:18px; color:var(--muted); font-weight:800; font-size:13px; line-height:1.6}
.split li{margin:6px 0}

.quote{
  border-radius: 999px;
  border:1px solid rgba(255,255,255,.10);
  background: var(--grad2);
  padding:14px 16px;
  display:flex;
  gap:12px;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
}
.quote .q{margin:0; font-weight:1000; letter-spacing:-.2px}
.quote .who{color:var(--muted); font-weight:900; font-size:12px}

.cloud{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.cloud .chip{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 12px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.04);
  color:var(--muted);
  font-weight:900;
  font-size:12px;
}
.cloud .chip i{color:var(--cyan)}

/* Footer (Celebration) */
footer{
  margin-top:30px;
  border-top:1px solid rgba(255,255,255,.10);
  background: linear-gradient(180deg, rgba(7,10,19,.0), rgba(7,10,19,.75));
  padding: 34px 0 28px;
}
.foot-grid{
  display:grid;
  grid-template-columns: 1.6fr 1fr 1fr 1fr;
  gap:18px;
}
.foot-brand{
  border:1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.04);
  border-radius: var(--radius);
  padding:16px;
}
.foot-brand img{height:44px}
.foot-brand p{margin:10px 0 0; color:var(--muted); font-weight:700; font-size:13px; line-height:1.55}
.foot-col{
  border:1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.03);
  border-radius: var(--radius);
  padding:16px;
}
.foot-col h4{margin:0 0 10px; font-size:14px; letter-spacing:.3px}
.foot-links{display:grid; gap:10px}
.foot-links a{color:var(--muted); font-weight:800; font-size:13px}
.foot-links a:hover{color:var(--text)}
.icon-row{display:flex; gap:12px; flex-wrap:wrap; align-items:center}
.icon-row a{
  width:42px; height:42px;
  display:inline-flex; align-items:center; justify-content:center;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.05);
  color: var(--text);
  transition: transform .15s ease, border-color .15s ease;
}
.icon-row a:hover{transform: translateY(-1px); border-color: rgba(65,224,255,.30)}
.icon-row i{font-size:18px; line-height:1}

.foot-bottom{
  margin-top:16px;
  padding-top:14px;
  border-top:1px solid rgba(255,255,255,.08);
  display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap;
  color:rgba(245,247,255,.72);
  font-weight:800; font-size:12px;
}

/* Floating CTA */
.float-cta{
  position:fixed;
  right:16px;
  bottom:16px;
  z-index:1500;
  display:flex;
}
.float-cta a{
  border-radius:999px;
  padding:12px 14px;
  background: var(--grad);
  color:#08101A;
  box-shadow: 0 14px 36px rgba(255,79,216,.20);
  font-weight:1000;
}

@media (max-width: 1040px){
  .nav-desk{display:none}
  .hamburger{display:inline-flex; align-items:center; justify-content:center}
  .hero-grid{grid-template-columns:1fr; }
  .hero-right{grid-template-rows: 260px auto}
  .grid-3{grid-template-columns:1fr 1fr}
  .steps{grid-template-columns:1fr 1fr}
  .bento{grid-template-columns: 1fr 1fr; grid-auto-rows: 160px}
  .bento .wide{grid-column: 1 / -1; grid-row: 1 / 3}
  .bento .tall{grid-column: 1 / -1; grid-row: auto}
  .foot-grid{grid-template-columns: 1fr 1fr}
  .stats-tiles{grid-template-columns: 1fr 1fr}
  .split{grid-template-columns: 1fr}
}
@media (max-width: 640px){
  .hero-left h1{font-size:34px}
  .hero-cta{gap:10px}
  .hero-cta .btn{flex:1; min-width: 150px}
  .grid-3{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr}
  .ribbon-top{display:none}
  :root{ --ribbonH: 0px; }
  .stats-tiles{grid-template-columns: 1fr}
  .quote{border-radius: 20px}
}

