/* ===========================================================
   APEX // PHANTOM  —  HUD-style theme
   Unusual but thematic: angular clip-paths, scanlines,
   glitch text, neon orange/red on deep black.
   =========================================================== */

:root{
  --bg:#080709;
  --bg-2:#0e0c10;
  --panel:#121016;
  --line:#2a2230;
  --orange:#ff5b1f;
  --orange-bright:#ff7a3d;
  --red:#e8252b;
  --cyan:#39e6ff;
  --ink:#f4ede6;
  --muted:#8c8390;
  --hud:#ffb37a;
  --glow:0 0 18px rgba(255,91,31,.55);
  --slant: polygon(0 0, 100% 0, 100% 78%, 92% 100%, 0 100%);
  --font:"Rajdhani","Oswald","Arial Narrow",sans-serif;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:
    radial-gradient(1200px 600px at 80% -10%, rgba(255,91,31,.12), transparent 60%),
    radial-gradient(900px 500px at 0% 110%, rgba(57,230,255,.06), transparent 55%),
    var(--bg);
  color:var(--ink);
  font-family:var(--font);
  letter-spacing:.4px;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  -webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;
}
img{-webkit-user-drag:none;-khtml-user-drag:none;-moz-user-drag:none;user-drag:none;pointer-events:none}

/* ---- global scanline + grain overlay ---- */
body::before{
  content:"";
  position:fixed; inset:0; z-index:999; pointer-events:none;
  background:repeating-linear-gradient(
    to bottom, rgba(255,255,255,.025) 0 1px, transparent 1px 3px);
  mix-blend-mode:overlay; opacity:.5;
}
body::after{
  content:"";
  position:fixed; inset:0; z-index:998; pointer-events:none;
  box-shadow:inset 0 0 220px rgba(0,0,0,.9);
}

a{color:inherit;text-decoration:none}
.container{width:min(1180px,92vw);margin:0 auto}

/* ============ HUD corner frame ============ */
.frame-corner{
  position:fixed;width:46px;height:46px;z-index:50;pointer-events:none;
  border:2px solid var(--orange);opacity:.65;
}
.frame-corner.tl{top:14px;left:14px;border-right:0;border-bottom:0}
.frame-corner.tr{top:14px;right:14px;border-left:0;border-bottom:0}
.frame-corner.bl{bottom:14px;left:14px;border-right:0;border-top:0}
.frame-corner.br{bottom:14px;right:14px;border-left:0;border-top:0}

/* ================= NAV ================= */
header.nav{
  position:sticky;top:0;z-index:100;
  backdrop-filter:blur(6px);
  background:linear-gradient(180deg,rgba(8,7,9,.92),rgba(8,7,9,.55));
  border-bottom:1px solid var(--line);
}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:72px}
.brand{display:flex;align-items:center;gap:12px;font-weight:700}
.brand .mark{
  width:34px;height:34px;display:grid;place-items:center;
  background:var(--orange);color:#100; font-weight:800;
  clip-path:polygon(20% 0,100% 0,80% 100%,0 100%);
  box-shadow:var(--glow);
}
.brand b{font-size:20px;letter-spacing:3px}
.brand b span{color:var(--orange)}
.brand small{display:block;font-size:9px;letter-spacing:5px;color:var(--muted);margin-top:-3px}

nav.links{display:flex;gap:6px;align-items:center}
nav.links a{
  position:relative;padding:10px 18px;font-size:13px;letter-spacing:2px;
  text-transform:uppercase;color:#e8e2dd;transition:.2s;
  clip-path:var(--slant);
}
nav.links a:hover{color:#fff;background:rgba(255,91,31,.12)}
nav.links a.active{color:var(--orange);background:rgba(255,91,31,.1)}
nav.links a::after{
  content:"";position:absolute;left:14px;right:14px;bottom:6px;height:2px;
  background:var(--orange);transform:scaleX(0);transform-origin:left;transition:.25s;
}
nav.links a:hover::after,nav.links a.active::after{transform:scaleX(1)}
nav.links a.cta-pill{
  margin-left:10px;padding:11px 22px;background:var(--orange);color:#140700;
  font-weight:700;letter-spacing:2px;font-size:13px;text-transform:uppercase;
  clip-path:var(--slant);box-shadow:var(--glow);transition:.2s;
}
nav.links a.cta-pill:hover{background:var(--orange-bright);color:#140700;transform:translateY(-2px)}
.burger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:6px}
.burger span{width:26px;height:2px;background:var(--ink)}

/* ================= HERO ================= */
.hero{position:relative;padding:90px 0 70px;overflow:hidden}
.hero .grid-bg{
  position:absolute;inset:0;z-index:-1;
  background-image:
    linear-gradient(rgba(255,91,31,.07) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,91,31,.07) 1px,transparent 1px);
  background-size:46px 46px;
  mask-image:radial-gradient(700px 400px at 70% 30%,#000,transparent 75%);
  animation:drift 22s linear infinite;
}
@keyframes drift{to{background-position:460px 460px}}

.kicker{
  display:inline-flex;align-items:center;gap:10px;
  font-size:12px;letter-spacing:6px;color:var(--hud);text-transform:uppercase;
  border:1px solid var(--line);padding:7px 14px;clip-path:var(--slant);
}
.kicker i{width:8px;height:8px;background:var(--orange);border-radius:50%;
  box-shadow:var(--glow);animation:pulse 1.4s infinite}
@keyframes pulse{50%{opacity:.25}}

.hero h1{
  font-size:clamp(48px,9vw,128px);line-height:.92;margin:22px 0 8px;
  font-weight:700;letter-spacing:2px;text-transform:uppercase;
}
.hero h1 .out{
  color:transparent;-webkit-text-stroke:2px var(--orange);
}
.hero p.lead{max-width:560px;color:var(--muted);font-size:18px;line-height:1.6;margin:18px 0 30px}

.btn-row{display:flex;gap:16px;flex-wrap:wrap;align-items:center}
.btn{
  display:inline-flex;align-items:center;gap:10px;
  padding:16px 30px;font-weight:700;letter-spacing:2px;text-transform:uppercase;
  font-size:14px;clip-path:var(--slant);transition:.2s;cursor:pointer;border:0;
}
.btn-primary{background:var(--orange);color:#140700;box-shadow:var(--glow)}
.btn-primary:hover{background:var(--orange-bright);transform:translateY(-3px)}
.btn-ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}
.btn-ghost:hover{border-color:var(--orange);color:var(--orange)}

/* floating HUD stat card in hero */
.hud-card{
  position:absolute;right:0;top:120px;width:300px;
  background:linear-gradient(160deg,rgba(18,16,22,.95),rgba(10,9,12,.95));
  border:1px solid var(--line);padding:22px;
  clip-path:polygon(0 0,100% 0,100% 88%,90% 100%,0 100%);
}
.hud-card h4{margin:0 0 14px;font-size:12px;letter-spacing:4px;color:var(--hud);text-transform:uppercase}
.hud-stat{display:flex;justify-content:space-between;align-items:baseline;
  padding:9px 0;border-bottom:1px dashed var(--line)}
.hud-stat:last-child{border:0}
.hud-stat b{font-size:26px;color:var(--orange)}
.hud-stat span{font-size:11px;letter-spacing:2px;color:var(--muted);text-transform:uppercase}

/* ================= MARQUEE ================= */
.marquee{
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  background:var(--bg-2);overflow:hidden;white-space:nowrap;padding:14px 0;
  transform:rotate(-1deg) scale(1.03);margin:40px 0;
}
.marquee .track{display:inline-block;animation:scroll 24s linear infinite;font-size:24px;
  letter-spacing:6px;text-transform:uppercase;font-weight:700;color:var(--muted)}
.marquee .track b{color:var(--orange)}
.marquee .track span{margin:0 26px}
@keyframes scroll{to{transform:translateX(-50%)}}

/* ================= SECTION ================= */
section{padding:70px 0;position:relative}
.sec-head{display:flex;align-items:flex-end;justify-content:space-between;
  gap:20px;margin-bottom:42px;flex-wrap:wrap}
.sec-head h2{
  font-size:clamp(30px,5vw,56px);margin:0;text-transform:uppercase;
  letter-spacing:2px;font-weight:700;line-height:1;
}
.sec-head h2 em{color:var(--orange);font-style:normal}
.sec-head .tag{font-size:12px;letter-spacing:5px;color:var(--muted);text-transform:uppercase}

/* feature grid */
.feat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px}
.feat{
  position:relative;padding:28px;background:var(--panel);
  border:1px solid var(--line);clip-path:var(--slant);transition:.25s;overflow:hidden;
}
.feat::before{content:"";position:absolute;left:0;top:0;width:4px;height:100%;background:var(--orange);
  transform:scaleY(0);transform-origin:top;transition:.3s}
.feat:hover{transform:translateY(-6px);border-color:var(--orange)}
.feat:hover::before{transform:scaleY(1)}
.feat .num{font-size:13px;letter-spacing:3px;color:var(--orange);font-weight:700}
.feat h3{margin:14px 0 10px;font-size:22px;letter-spacing:1px;text-transform:uppercase}
.feat p{margin:0;color:var(--muted);line-height:1.6;font-size:15px}
.feat .ico{font-size:30px;margin-bottom:6px}

/* split / cards generic */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}

/* ================= FOOTER ================= */
footer{border-top:1px solid var(--line);background:var(--bg-2);padding:50px 0 30px;margin-top:30px}
.foot-grid{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap}
footer h5{font-size:12px;letter-spacing:4px;color:var(--hud);text-transform:uppercase;margin:0 0 14px}
footer a{display:block;color:var(--muted);padding:5px 0;font-size:14px;transition:.2s}
footer a:hover{color:var(--orange);transform:translateX(4px)}
.foot-bottom{margin-top:36px;padding-top:20px;border-top:1px solid var(--line);
  display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;color:var(--muted);font-size:12px;letter-spacing:2px}
.disclaimer{font-size:11px;color:#5c545f;max-width:680px;line-height:1.6;margin-top:14px}

/* ================= GLITCH ================= */
.glitch{position:relative;display:inline-block}
.glitch::before,.glitch::after{
  content:attr(data-text);position:absolute;left:0;top:0;width:100%;overflow:hidden;
}
.glitch::before{color:var(--cyan);clip-path:inset(0 0 55% 0);animation:gl1 3s infinite linear alternate}
.glitch::after{color:var(--red);clip-path:inset(55% 0 0 0);animation:gl2 2.4s infinite linear alternate}
@keyframes gl1{0%{transform:translate(0)}20%{transform:translate(-3px,1px)}40%{transform:translate(2px,-1px)}100%{transform:translate(0)}}
@keyframes gl2{0%{transform:translate(0)}25%{transform:translate(3px,-1px)}55%{transform:translate(-2px,1px)}100%{transform:translate(0)}}

/* reveal on scroll */
.reveal{opacity:0;transform:translateY(28px);transition:.7s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1;transform:none}

/* ===== ABOUT page bits ===== */
.timeline{position:relative;margin:30px 0;padding-left:30px}
.timeline::before{content:"";position:absolute;left:6px;top:0;bottom:0;width:2px;background:var(--line)}
.tl-item{position:relative;padding:0 0 34px 24px}
.tl-item::before{content:"";position:absolute;left:-30px;top:4px;width:14px;height:14px;
  background:var(--orange);clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);box-shadow:var(--glow)}
.tl-item h4{margin:0 0 6px;font-size:20px;letter-spacing:1px;text-transform:uppercase}
.tl-item .yr{font-size:12px;letter-spacing:3px;color:var(--orange)}
.tl-item p{color:var(--muted);margin:8px 0 0;line-height:1.6}

.stat-band{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:2px;
  background:var(--line);border:1px solid var(--line);margin:20px 0}
.stat-band .cell{background:var(--bg-2);padding:30px 18px;text-align:center}
.stat-band .cell b{display:block;font-size:42px;color:var(--orange);line-height:1}
.stat-band .cell span{font-size:11px;letter-spacing:3px;color:var(--muted);text-transform:uppercase}

.crew{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:18px}
.crew .op{background:var(--panel);border:1px solid var(--line);padding:24px;clip-path:var(--slant);text-align:center}
.crew .op .av{width:70px;height:70px;margin:0 auto 14px;background:linear-gradient(135deg,var(--orange),var(--red));
  clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);box-shadow:var(--glow)}
.crew .op h4{margin:0;letter-spacing:1px;text-transform:uppercase}
.crew .op span{font-size:12px;color:var(--orange);letter-spacing:2px}
.crew .op p{color:var(--muted);font-size:13px;line-height:1.5;margin:10px 0 0}

/* ===== DOWNLOAD page ===== */
.dl-wrap{display:grid;grid-template-columns:1.4fr 1fr;gap:24px;align-items:start}
.dl-main{background:var(--panel);border:1px solid var(--line);padding:34px;
  clip-path:polygon(0 0,100% 0,100% 92%,96% 100%,0 100%)}
.dl-main h2{margin:0 0 6px;font-size:34px;text-transform:uppercase;letter-spacing:1px}
.tier{display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding:18px;border:1px solid var(--line);margin:14px 0;background:var(--bg-2);transition:.2s}
.tier:hover{border-color:var(--orange);transform:translateX(6px)}
.tier .info h4{margin:0 0 4px;letter-spacing:1px;text-transform:uppercase;font-size:18px}
.tier .info span{color:var(--muted);font-size:13px}
.tier .price{font-size:24px;color:var(--orange);font-weight:700;white-space:nowrap}
.tier.feat-tier{border-color:var(--orange);box-shadow:var(--glow)}
.tier .info .ic{font-size:24px;margin-right:4px}
.tier-actions{display:flex;align-items:center;gap:14px;flex:none}
.btn-sm{padding:12px 20px;font-size:12px}
.tier .free-tag{font-size:12px;letter-spacing:2px;text-transform:uppercase;color:#4dff88;
  border:1px solid #20402c;background:#0c180f;padding:5px 10px;clip-path:var(--slant)}
@media(max-width:560px){
  .tier{flex-wrap:wrap}
  .tier-actions{width:100%;justify-content:space-between}
}

.sys{background:var(--panel);border:1px solid var(--line);padding:26px}
.sys h4{margin:0 0 16px;font-size:13px;letter-spacing:4px;color:var(--hud);text-transform:uppercase}
.sys ul{list-style:none;padding:0;margin:0}
.sys li{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px dashed var(--line);font-size:14px}
.sys li span{color:var(--muted)}
.sys li b{color:var(--ink);font-weight:600}

.dl-bar{margin-top:22px}
.dl-bar .label{display:flex;justify-content:space-between;font-size:12px;letter-spacing:2px;
  color:var(--muted);text-transform:uppercase;margin-bottom:8px}
.bar{height:10px;background:var(--bg);border:1px solid var(--line);overflow:hidden}
.bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--orange),var(--red));
  box-shadow:var(--glow);transition:width 1.2s ease}

.status{display:inline-flex;align-items:center;gap:8px;font-size:12px;letter-spacing:3px;
  text-transform:uppercase;color:#7ef0a0;border:1px solid #20402c;background:#0c180f;padding:6px 12px;clip-path:var(--slant)}
.status i{width:8px;height:8px;border-radius:50%;background:#4dff88;box-shadow:0 0 10px #4dff88;animation:pulse 1.3s infinite}

.faq details{border:1px solid var(--line);background:var(--panel);margin:10px 0;padding:0 18px}
.faq summary{cursor:pointer;padding:16px 0;list-style:none;font-weight:700;letter-spacing:1px;
  text-transform:uppercase;font-size:15px;display:flex;justify-content:space-between}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--orange);font-size:22px}
.faq details[open] summary::after{content:"–"}
.faq p{color:var(--muted);line-height:1.6;padding:0 0 16px;margin:0}

/* ===== SKIN CHANGER page ===== */
.skin-lab{display:grid;grid-template-columns:340px 1fr;gap:24px;align-items:start}
.skin-stage{position:relative;aspect-ratio:1/1;width:100%;max-width:360px;margin-inline:auto;
  background:#0d0b11;border:1px solid var(--line);
  background-size:116%;background-position:center;background-repeat:no-repeat;transition:background-image .2s;
  clip-path:polygon(0 0,100% 0,100% 94%,96% 100%,0 100%)}
/* badges sit directly over the source wordmark to mask it */
.skin-stage .badge{position:absolute;left:14px;right:14px;top:14px;display:flex;justify-content:space-between;gap:8px;z-index:2}
.skin-stage .nameplate{position:absolute;left:0;right:0;bottom:0;padding:32px 16px 12px;z-index:2;
  background:linear-gradient(0deg,#0b0a0e 0%,#0b0a0e 46%,transparent)}
.skin-stage .nameplate h3{margin:0;font-size:19px;letter-spacing:1.5px;text-transform:uppercase}
.skin-stage .nameplate span{font-size:11px;letter-spacing:2px;color:var(--muted)}
.skin-picker{background:var(--panel);border:1px solid var(--line);padding:22px}
.skin-picker h4{margin:0 0 14px;font-size:12px;letter-spacing:4px;color:var(--hud);text-transform:uppercase}
.skin-opt{display:flex;align-items:center;gap:12px;padding:10px;border:1px solid var(--line);
  margin:8px 0;cursor:pointer;transition:.2s;background:var(--bg-2)}
.skin-opt:hover,.skin-opt.active{border-color:var(--orange);transform:translateX(5px)}
.skin-opt.active{box-shadow:var(--glow)}
.skin-opt .sw{width:48px;height:48px;background-size:cover;background-position:center top;
  border:1px solid var(--line);flex:none}
.skin-opt .nm{font-weight:700;letter-spacing:1px;text-transform:uppercase;font-size:14px}
.skin-opt .mt{font-size:11px;color:var(--muted);letter-spacing:2px}
.skin-opt .right{margin-left:auto}

.rar{display:inline-block;font-size:10px;letter-spacing:2px;text-transform:uppercase;padding:3px 9px;border:1px solid}
.rar.leg{color:#ffae42;border-color:#5a3e1a;background:#1c1409}
.rar.epic{color:#c08bff;border-color:#3c2a55;background:#150f1c}
.rar.free{color:#4dff88;border-color:#20402c;background:#0c180f}

/* skin showcase tiles reuse .crew/.op; add rarity row */
.crew .op .body .rar{margin-top:8px}
.crew .op .body .rar.free{color:#4dff88}
.crew .op .body .rar.leg{color:#ffae42}
.crew .op .body .rar.epic{color:#c08bff}

@media(max-width:880px){.skin-lab{grid-template-columns:1fr}}

/* ================= responsive ================= */
/* ===========================================================
   IMAGE HEROES + MEDIA  (centered hero on game artwork)
   =========================================================== */
.hero-home{min-height:94vh;display:flex;align-items:center;overflow:hidden;padding:70px 0}
.hero-bg{position:absolute;inset:0;z-index:-2;background-size:cover;background-position:center top}
.hero-bg::after{content:"";position:absolute;inset:0;
  background:
    linear-gradient(180deg,rgba(8,7,9,.40) 0%,rgba(8,7,9,.55) 42%,rgba(8,7,9,.9) 86%,var(--bg) 100%),
    radial-gradient(1000px 560px at 50% 42%,transparent,rgba(8,7,9,.55));}

.hero-center{position:relative;z-index:2;width:100%;text-align:center;
  display:flex;flex-direction:column;align-items:center}
.hero-center h1{margin:22px 0 10px;text-shadow:0 6px 36px rgba(0,0,0,.7)}
.hero-center p.lead{margin:18px auto 30px;text-align:center;color:#fff;
  text-shadow:0 2px 6px rgba(0,0,0,.85), 0 4px 18px rgba(0,0,0,.7)}
.hero-center .lead b,.hero-center .lead em{color:#fff}
.hero-center .btn-row{justify-content:center}

/* telemetry as a centered HUD strip */
.hud-strip{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin-top:42px}
.hud-chip{display:flex;flex-direction:column;align-items:center;gap:5px;min-width:150px;
  padding:14px 24px;background:rgba(18,16,22,.72);border:1px solid var(--line);
  backdrop-filter:blur(5px);clip-path:var(--slant)}
.hud-chip b{font-size:24px;color:var(--orange);line-height:1}
.hud-chip b.ok{color:#4dff88}
.hud-chip span{font-size:10px;letter-spacing:3px;color:var(--muted);text-transform:uppercase}

/* smaller image hero for inner pages */
.hero-shot{min-height:62vh;display:flex;align-items:center;overflow:hidden}

/* full-width parallax showcase band */
.showcase{position:relative;min-height:420px;display:flex;align-items:center;
  background-size:cover;background-position:center;overflow:hidden}
.showcase::before{content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,var(--bg) 4%,rgba(8,7,9,.72) 45%,rgba(8,7,9,.45) 100%)}
.showcase .container{position:relative;z-index:2}
.showcase h2{font-size:clamp(30px,5vw,58px);text-transform:uppercase;letter-spacing:2px;margin:0 0 14px;line-height:1}
.showcase h2 em{color:var(--orange);font-style:normal}
.showcase p{max-width:520px;color:var(--ink);opacity:.85;line-height:1.6;font-size:17px}

/* crew portraits (real legend art) */
.crew .op{padding:0;overflow:hidden;text-align:left}
.crew .op .shot{width:100%;height:200px;background-size:cover;background-position:center top;
  border-bottom:1px solid var(--line);filter:saturate(1.05)}
.crew .op .body{padding:18px 20px 22px}
.crew .op h4{margin:0}
.crew .op .body span{font-size:12px;color:var(--orange);letter-spacing:2px}

/* feature cards: faint image wash option */
.feat.shot-card{padding:0;overflow:hidden}
.feat.shot-card .shot{height:150px;background-size:cover;background-position:center;border-bottom:1px solid var(--line)}
.feat.shot-card .body{padding:24px 26px 28px}

@media(max-width:880px){
  .hero-home{min-height:auto;padding:60px 0}
  nav.links{position:fixed;inset:72px 0 auto 0;flex-direction:column;background:var(--bg-2);
    border-bottom:1px solid var(--line);padding:18px;gap:4px;transform:translateY(-130%);transition:.3s}
  nav.links.open{transform:none}
  nav.links a,nav.links .cta-pill{width:100%;clip-path:none}
  .burger{display:flex}
  .hud-card{position:relative;top:0;right:0;width:100%;margin-top:34px}
  .dl-wrap{grid-template-columns:1fr}
}
