
:root{
  --bg-primary:#0a0a0f; --bg-secondary:#12121a; --bg-card:#1a1a26;
  --accent-red:#c0392b; --accent-red-hover:#e74c3c;
  --accent-purple:#6c3483; --accent-gold:#d4ac0d;
  --text-primary:#f0f0f0; --text-secondary:#a0a0b0; --text-heading:#ffffff;
  --border-color:#2a2a3a; --overlay:rgba(0,0,0,0.85);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bg-primary);color:var(--text-primary);
  font-family:'Inter',system-ui,sans-serif;font-size:16px;line-height:1.7;}
h1,h2,h3,h4{font-family:'Crimson Text',Georgia,serif;color:var(--text-heading);line-height:1.25;margin-bottom:0.6em}
h1{font-size:2.6rem} h2{font-size:1.9rem} h3{font-size:1.4rem} h4{font-size:1.1rem}
p{margin-bottom:1em;color:var(--text-primary)}
a{color:var(--accent-red-hover);text-decoration:none}
a:hover{color:var(--accent-red);text-decoration:underline}
img{max-width:100%;height:auto;display:block;border-radius:6px}
.container{max-width:1180px;margin:0 auto;padding:0 24px}
section{padding:64px 0}
ul{padding-left:1.2em;margin-bottom:1em}
li{margin-bottom:.4em}

/* nav */
.navbar{position:sticky;top:0;z-index:100;background:rgba(10,10,15,0.97);
  border-bottom:1px solid var(--border-color);backdrop-filter:blur(8px)}
.nav-wrap{display:flex;align-items:center;justify-content:space-between;
  max-width:1180px;margin:0 auto;padding:14px 24px}
.logo{font-family:'Crimson Text',serif;font-size:1.35rem;color:var(--accent-red);font-weight:700}
.logo:hover{text-decoration:none;color:var(--accent-red-hover)}
.nav-links{display:flex;gap:24px;list-style:none;align-items:center;margin:0;padding:0}
.nav-links a{color:var(--text-primary);font-weight:500;font-size:.95rem}
.nav-links a.active,.nav-links a:hover{color:var(--accent-red);text-decoration:none}
.nav-toggle{display:none;background:none;border:0;color:var(--text-heading);font-size:1.6rem;cursor:pointer}
@media (max-width:820px){
  .nav-toggle{display:block}
  .nav-links{position:absolute;top:100%;left:0;right:0;flex-direction:column;
    background:rgba(10,10,15,0.99);padding:18px 24px;display:none;border-bottom:1px solid var(--border-color)}
  .nav-links.open{display:flex}
}

/* buttons */
.btn{display:inline-block;padding:14px 32px;border-radius:4px;font-weight:700;
  font-size:1rem;cursor:pointer;border:0;text-decoration:none;transition:all .2s;letter-spacing:.3px}
.btn-primary{background:var(--accent-red);color:#fff}
.btn-primary:hover{background:var(--accent-red-hover);color:#fff;text-decoration:none;transform:translateY(-1px)}
.btn-ghost{background:transparent;color:var(--text-heading);border:1px solid var(--border-color)}
.btn-ghost:hover{border-color:var(--accent-red);color:var(--accent-red);text-decoration:none}
.btn-lg{padding:18px 44px;font-size:1.2rem}

/* hero */
.hero{position:relative;min-height:78vh;display:flex;align-items:center;justify-content:center;
  text-align:center;background-size:cover;background-position:center;padding:80px 24px}
.hero::before{content:"";position:absolute;inset:0;
  background:linear-gradient(to bottom,rgba(10,10,15,.35) 0%,rgba(10,10,15,.95) 100%)}
.hero-content{position:relative;z-index:2;max-width:760px}
.hero h1{font-size:3.4rem;margin-bottom:.4em}
.hero .sub{color:var(--text-secondary);font-size:1.15rem;margin-bottom:2em;letter-spacing:.5px;text-transform:uppercase}
.hero-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.hero-sm{min-height:38vh}
.hero-sm h1{font-size:2.4rem}

/* stats */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.stat{background:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;padding:24px;text-align:center}
.stat .ico{font-size:2rem;display:block;margin-bottom:8px}
.stat .num{font-size:1.6rem;font-weight:700;color:var(--accent-red);display:block}
.stat .lbl{color:var(--text-secondary);font-size:.9rem}
@media(max-width:700px){.stats{grid-template-columns:repeat(2,1fr)}}

/* cards */
.card{background:var(--bg-card);border:1px solid var(--border-color);
  border-radius:8px;padding:24px;transition:border-color .2s,transform .2s}
.card:hover{border-color:var(--accent-red);transform:translateY(-2px)}
.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.card-grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:28px}
@media(max-width:820px){.card-grid,.card-grid-2{grid-template-columns:1fr}}
.card img{margin-bottom:14px;border-radius:6px;aspect-ratio:16/10;object-fit:cover;width:100%}

/* alternating split sections */
.split{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;
  background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:10px;padding:36px;margin-bottom:32px}
.split.reverse .split-text{order:2}
.split img{aspect-ratio:16/10;object-fit:cover;width:100%}
@media(max-width:820px){.split{grid-template-columns:1fr}.split.reverse .split-text{order:0}}

/* section heading */
.section-head{text-align:center;margin-bottom:42px}
.section-head h2{font-size:2.2rem}
.section-head p{color:var(--text-secondary);max-width:640px;margin:0 auto}

/* download */
.download-panel{background:linear-gradient(135deg,#1a0d10 0%,#1a1a26 100%);
  border:1px solid var(--accent-red);border-radius:10px;padding:48px;text-align:center}
.download-panel .platforms{display:flex;gap:18px;justify-content:center;margin:22px 0;flex-wrap:wrap}
.platform-pill{background:rgba(255,255,255,.05);padding:8px 18px;border-radius:20px;color:var(--text-secondary);font-size:.9rem}

/* table */
table{width:100%;border-collapse:collapse;background:var(--bg-card);border:1px solid var(--border-color);
  border-radius:8px;overflow:hidden;margin:18px 0}
th{background:var(--accent-red);color:#fff;text-align:left;padding:14px 16px;font-family:'Crimson Text',serif;font-size:1.05rem}
td{padding:14px 16px;border-top:1px solid var(--border-color)}
tbody tr:nth-child(even){background:#1e1e2e}

/* accordion / faq */
.faq-item{background:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;margin-bottom:12px;overflow:hidden}
.faq-q{padding:18px 22px;cursor:pointer;font-weight:600;display:flex;justify-content:space-between;align-items:center;
  font-family:'Crimson Text',serif;font-size:1.15rem;color:var(--text-heading)}
.faq-q::after{content:"+";font-size:1.6rem;color:var(--accent-red);transition:transform .2s}
.faq-item.open .faq-q::after{transform:rotate(45deg)}
.faq-a{padding:0 22px;max-height:0;overflow:hidden;transition:max-height .25s,padding .25s;color:var(--text-secondary)}
.faq-item.open .faq-a{padding:0 22px 22px;max-height:600px}

/* breadcrumb */
.crumbs{color:var(--text-secondary);font-size:.9rem;margin-bottom:8px}
.crumbs a{color:var(--text-secondary)}
.crumbs a:hover{color:var(--accent-red)}

/* badge */
.badge{display:inline-block;background:var(--accent-red);color:#fff;padding:4px 12px;border-radius:14px;
  font-size:.78rem;font-weight:600;letter-spacing:.4px;text-transform:uppercase}
.badge-gold{background:var(--accent-gold);color:#1a1a26}
.badge-purple{background:var(--accent-purple)}
.badge-grey{background:#444}
.pill-row{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}
.pill{background:var(--bg-card);border:1px solid var(--border-color);padding:8px 16px;border-radius:18px;font-size:.9rem}

/* route cards (endings) */
.route-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;
  padding:28px;margin-bottom:26px;border-left:4px solid var(--accent-red)}
.route-card.purple{border-left-color:var(--accent-purple)}
.route-card.gold{border-left-color:var(--accent-gold)}
.route-card.grey{border-left-color:#555}
.route-card img{float:right;width:240px;margin:0 0 14px 24px;aspect-ratio:4/3;object-fit:cover}
@media(max-width:700px){.route-card img{float:none;width:100%;margin:0 0 18px 0}}

/* numbered steps */
.steps{list-style:none;padding:0;counter-reset:s}
.steps li{counter-increment:s;padding:14px 14px 14px 56px;background:var(--bg-card);
  border:1px solid var(--border-color);border-radius:6px;margin-bottom:10px;position:relative}
.steps li::before{content:counter(s);position:absolute;left:14px;top:50%;transform:translateY(-50%);
  width:30px;height:30px;background:var(--accent-red);color:#fff;border-radius:50%;
  display:flex;align-items:center;justify-content:center;font-weight:700;font-family:'Crimson Text',serif}

/* timeline */
.timeline{position:relative;padding-left:30px;margin:24px 0}
.timeline::before{content:"";position:absolute;left:9px;top:0;bottom:0;width:2px;background:var(--border-color)}
.tl-item{position:relative;padding:10px 0 18px;color:var(--text-secondary)}
.tl-item::before{content:"";position:absolute;left:-26px;top:14px;width:14px;height:14px;border-radius:50%;
  background:#2ecc71;border:2px solid var(--bg-primary)}
.tl-item.pending::before{background:#555}
.tl-item strong{color:var(--text-heading);font-family:'Crimson Text',serif;font-size:1.1rem;display:block}

/* notice */
.notice{background:rgba(192,57,43,.08);border:1px solid var(--accent-red);
  border-left:4px solid var(--accent-red);border-radius:6px;padding:18px 22px;margin:18px 0;color:var(--text-primary)}
.notice.gold{background:rgba(212,172,13,.07);border-color:var(--accent-gold);border-left-color:var(--accent-gold)}
.notice.purple{background:rgba(108,52,131,.1);border-color:var(--accent-purple);border-left-color:var(--accent-purple)}

/* form */
form{display:grid;gap:14px;max-width:620px}
label{display:block;font-weight:600;color:var(--text-heading);margin-bottom:6px;font-size:.95rem}
input,select,textarea{width:100%;padding:12px 14px;background:var(--bg-card);
  border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-family:inherit;font-size:1rem}
textarea{min-height:160px;resize:vertical}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent-red)}

/* footer */
footer{background:#07070d;border-top:3px solid var(--accent-red);padding:48px 0 0;margin-top:48px}
.footer-grid{max-width:1180px;margin:0 auto;padding:0 24px;
  display:grid;grid-template-columns:repeat(4,1fr);gap:32px}
.footer-grid h4{color:var(--accent-red);margin-bottom:14px;font-size:1.1rem}
.footer-grid ul{list-style:none;padding:0}
.footer-grid li{margin-bottom:8px}
.footer-grid a{color:var(--text-secondary);font-size:.92rem}
.footer-grid a:hover{color:var(--accent-red)}
.footer-grid p{color:var(--text-secondary);font-size:.9rem}
.footer-bottom{border-top:1px solid var(--border-color);margin-top:36px;padding:20px 24px;text-align:center;color:var(--text-secondary);font-size:.85rem}
@media(max-width:820px){.footer-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:500px){.footer-grid{grid-template-columns:1fr}}

/* age gate */
.age-gate{position:fixed;inset:0;background:rgba(5,5,10,.985);z-index:9999;
  display:flex;align-items:center;justify-content:center;text-align:center;padding:24px}
.age-gate-box{max-width:520px;background:var(--bg-card);border:1px solid var(--accent-red);
  border-radius:10px;padding:42px 32px}
.age-gate-box h2{color:var(--accent-red);margin-bottom:14px}
.age-gate-box p{color:var(--text-secondary);margin-bottom:14px}
.age-gate-box .btn{margin:14px 6px 0}
