:root{--ink:#140f36;--night:#291f61;--panel:#30266b;--line:rgba(140,120,250,.30);--indigo:#8c78fa;--gold:#ffcc52;--cream:#f4f1ff;--mist:#b9b2dd;--max:1120px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--cream);background:var(--ink);font-family:ui-rounded,"Avenir Next",Avenir,"Helvetica Neue",sans-serif;line-height:1.6}a{color:inherit}.shell{width:min(var(--max),calc(100% - 40px));margin:auto}

.site-header{position:sticky;top:0;z-index:5;background:rgba(20,15,54,.86);backdrop-filter:blur(16px);border-bottom:1px solid #ffffff10}
.nav{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{color:var(--indigo);text-decoration:none;font-weight:900;letter-spacing:.12em;font-size:1.05rem}
.brand small{display:block;color:var(--gold);font-size:.58rem;letter-spacing:.2em;margin-top:-3px}
.nav-links{display:flex;gap:20px;list-style:none;padding:0;margin:0;font-size:.9rem;color:var(--mist)}
.nav-links a{text-decoration:none}.nav-links a:hover,.nav-links a[aria-current=page]{color:var(--indigo)}

.hero{overflow:hidden;position:relative;min-height:670px;display:grid;align-items:center;background:radial-gradient(circle at 76% 36%,#4b3aa5 0,transparent 28%),radial-gradient(circle at 14% 86%,#332672 0,transparent 34%),linear-gradient(135deg,#140f36,#291f61 78%)}
.hero:before{content:"";position:absolute;inset:0;opacity:.15;background-image:linear-gradient(90deg,transparent 49%,rgba(140,120,250,.35) 50%,transparent 51%),linear-gradient(0deg,transparent 49%,rgba(140,120,250,.35) 50%,transparent 51%);background-size:44px 44px;mask-image:linear-gradient(to bottom,#000,transparent 90%)}
.hero-grid{position:relative;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:50px;padding:80px 0}
.eyebrow{color:var(--indigo);text-transform:uppercase;letter-spacing:.16em;font-weight:800;font-size:.8rem}
h1,h2,h3{line-height:1.05;margin:0 0 20px}
h1{font-size:clamp(3.1rem,8vw,6.5rem);letter-spacing:-.06em}
h1 span{display:block;background:linear-gradient(100deg,var(--indigo),var(--gold));-webkit-background-clip:text;background-clip:text;color:transparent}
.hero p{color:var(--mist);max-width:38rem;font-size:1.15rem}
.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.button{display:inline-block;text-decoration:none;font-weight:800;border-radius:999px;padding:13px 20px;background:linear-gradient(135deg,var(--indigo),var(--gold));color:#1e1442;box-shadow:0 10px 30px #8c78fa40}
.button.ghost{color:var(--cream);background:transparent;border:1px solid var(--line);box-shadow:none}

.phone{width:min(320px,82vw);aspect-ratio:9/18.5;margin:auto;padding:16px;border:7px solid #2f2758;border-radius:45px;background:#0c0824;box-shadow:0 30px 80px #0009;transform:rotate(5deg)}
.phone-screen{height:100%;overflow:hidden;border-radius:29px;padding:26px 16px;background:radial-gradient(circle at 50% 48%,#4a3d92,#241b58 62%,#150f38)}
.phone-title{color:var(--gold);font-weight:950;font-size:1.24rem;letter-spacing:.08em}
.phone-sub{color:var(--indigo);font-size:.7rem;font-weight:bold;letter-spacing:.08em}
.timer{margin:16px 0 14px;display:flex;justify-content:space-between;align-items:center;color:var(--mist);font-weight:800;font-size:.72rem;letter-spacing:.1em}
.timer b{color:var(--gold);font-size:.95rem}

/* Moulded purple board with glossy studded bricks and coloured exit gates. */
.tray{position:relative;height:47%;padding:11px;border-radius:22px;background:linear-gradient(180deg,#7563e6,#5745b8);box-shadow:inset 0 -5px 0 #46368f,0 10px 24px #00000059}
.well{height:100%;border-radius:14px;padding:7px;background:#30266b;box-shadow:inset 0 3px 9px #00000073}
.bricks{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:1fr;gap:5px;height:100%}
.bricks i{display:block;border-radius:6px;background:#3b2f7d;box-shadow:inset 0 -3px 0 #2a2059}
.bricks i.r{background:#e6383f;box-shadow:inset 0 -4px 0 #a8262c,inset 0 4px 0 #ff6b70}
.bricks i.b{background:#2980eb;box-shadow:inset 0 -4px 0 #1c5aa8,inset 0 4px 0 #63a8f5}
.bricks i.y{background:#f7b529;box-shadow:inset 0 -4px 0 #b8821a,inset 0 4px 0 #ffd473}
.bricks i.g{background:#40b854;box-shadow:inset 0 -4px 0 #2c8039,inset 0 4px 0 #75dd85}
.bricks i.w{background:#ede8db;box-shadow:inset 0 -4px 0 #b0a999,inset 0 4px 0 #fffdf6}
.bricks i.span2{grid-column:span 2}
.gates{display:flex;justify-content:space-around;margin-top:9px}
.gates i{width:22px;height:8px;border-radius:3px;background:#e6383f}
.gates i:nth-child(2){background:#2980eb}
.gates i:nth-child(3){background:#f7b529}
.gates i:nth-child(4){background:#40b854}

.section{padding:100px 0}
.section.alt{background:#1c1547}
.section h2{font-size:clamp(2rem,5vw,3.5rem)}
.lead{max-width:42rem;color:var(--mist);font-size:1.1rem}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:42px}
.card{padding:26px;background:linear-gradient(140deg,#332a72,#1d1748);border:1px solid var(--line);border-radius:20px}
.number{display:block;color:var(--gold);font-weight:900;font-size:1.7rem;margin-bottom:16px}
.card p{color:var(--mist);margin:0}

.legal{padding:80px 0 110px}
.legal article{max-width:780px;margin:auto}
.legal h1{font-size:clamp(2.5rem,7vw,4.6rem)}
.legal h2{color:var(--indigo);font-size:1.25rem;margin-top:42px}
.legal p,.legal li{color:var(--mist)}
.legal strong{color:var(--cream)}
.legal a{color:var(--gold)}
.last-updated{color:var(--gold);font-weight:700}
.support-box{max-width:800px;margin:50px auto 0;padding:45px;border:1px solid var(--line);border-radius:28px;background:radial-gradient(circle at top right,#4a3aa0,#1e1748 68%)}
.support-box p{color:var(--mist)}

.site-footer{border-top:1px solid #ffffff15;padding:32px 0;color:var(--mist);font-size:.85rem}
.footer-row{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.footer-links{display:flex;gap:16px}
.footer-links a{text-decoration:none}

@media(max-width:720px){.nav-links{gap:12px;font-size:.78rem}.hero-grid{grid-template-columns:1fr;text-align:center;padding:65px 0}.hero p{margin-inline:auto}.actions{justify-content:center}.phone{margin-top:15px;transform:rotate(2deg)}.cards{grid-template-columns:1fr}.section{padding:70px 0}}
