*{box-sizing:border-box;margin:0;padding:0}
:root{--bg:#f0f0f0;--text:#1c1c1c;--accent:#9d72da;--red:#f1423e;--red2:#d63d35;--black:#0c0c0c;--ink2:#17181c;--bd:#e5e7eb;--muted:#6b6b70}
body{font:16px/1.55 "Open Sans","Helvetica Neue",Helvetica,Roboto,sans-serif;color:var(--text);background:var(--bg)}
a{text-decoration:none;color:inherit}
img{max-width:100%;height:auto;display:block}
.wrap{max-width:1180px;margin:0 auto;padding:0 22px}
header{background:var(--black);position:sticky;top:0;z-index:20}
.hdr{display:flex;align-items:center;justify-content:space-between;height:60px}
.logo{font-weight:800;font-size:22px;color:var(--red);text-transform:uppercase;letter-spacing:.04em}
nav ul{list-style:none;display:flex;gap:26px}nav a{color:#dcdcdc;font-weight:600;font-size:13px;text-transform:uppercase;letter-spacing:.04em}nav a:hover{color:var(--red)}
/* HERO - dark dramatic */
.hero{background:linear-gradient(180deg,#ffffff 0%,#eef0f2 100%);color:var(--text);overflow:hidden;position:relative;border-bottom:3px solid var(--red)}
.hero .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:20px;align-items:center;min-height:460px;padding-top:40px;padding-bottom:40px}
.hero-eyebrow{color:var(--red);font-weight:800;letter-spacing:.18em;text-transform:uppercase;font-size:13px}
.hero h1{font-weight:800;font-size:58px;line-height:.98;letter-spacing:-.02em;margin:14px 0 0}
.hero h1 span{color:var(--red)}
.hero p{margin-top:18px;color:#4a4a52;font-size:17px;max-width:460px}
.hero-cta{display:inline-block;margin-top:24px;background:var(--accent);color:#fff;border:2px solid #fff;border-radius:6px;padding:14px 26px;font-weight:700;font-size:14px;text-transform:uppercase;letter-spacing:.04em}
.hero-cta:hover{background:#8a5fca}
.hero-img{justify-self:center}.hero-img img{width:100%;max-width:480px;height:auto;filter:drop-shadow(0 16px 28px rgba(0,0,0,.16))}

/* section shell */
.sec{padding:60px 0}
.sec-head{text-align:center;margin-bottom:34px}
.sec-head .kicker{color:var(--red);font-weight:800;letter-spacing:.16em;text-transform:uppercase;font-size:12px}
.sec-head h2{font-weight:800;font-size:34px;letter-spacing:-.01em;margin-top:6px}
.sec-head p{color:var(--muted);margin-top:8px}
/* POWER selector - dark band */
.power{background:var(--ink2);color:#fff}
.pgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.ptile{background:#111217;border:1px solid #26272e;border-top:3px solid var(--red);border-radius:8px;padding:26px 18px;text-align:center}
.ptile:hover{border-top-color:#fff}
.pnum{display:block;font-weight:800;font-size:46px;color:var(--red);line-height:1}
.plabel{display:block;margin-top:8px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:13px}
.pdesc{display:block;margin-top:8px;color:#a9a9b0;font-size:14px}
/* TYPES */
.tgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px}
.tcard{background:#fff;border:1px solid var(--bd);border-radius:8px;padding:16px;text-align:center;display:flex;flex-direction:column;align-items:center}
.tcard:hover{border-color:var(--red)}
.tcard-img{width:100%;aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:6px}.tcard-img img{max-width:100%;max-height:100%;width:auto;height:auto}
.tname{margin-top:10px;font-weight:700;font-size:16px}.tcount{color:var(--muted);font-size:13px}
/* PLATFORMS - dark grid */
.platforms{background:var(--black);color:#fff}
.platforms .sec-head h2{color:#fff}
.grid-p{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:16px}
.pcard{background:#141519;border:1px solid #26272e;border-radius:8px;padding:16px;display:flex;flex-direction:column;text-align:center}
.pcard:hover{border-color:var(--red);background:#191a1f}
.pcard-img{background:#fff;border-radius:6px;padding:10px;aspect-ratio:4/3;display:flex;align-items:center;justify-content:center}.pcard-img img{max-width:100%;max-height:100%;width:auto;height:auto}
.pcard-name{margin-top:12px;font-weight:800;font-size:19px;color:#fff}
.pcard-meta{color:#9a9aa2;font-size:13px;margin-top:2px}
/* ABOUT */
.about{background:#fff;border-top:1px solid var(--bd)}
.prose{max-width:780px;margin:0 auto}.prose p{margin-bottom:12px;color:#2c2c33}.prose h3{margin:20px 0 6px;font-weight:700;font-size:19px}.prose strong{color:var(--text)}
footer{background:var(--black);color:#b6b6bd;padding:44px 0;font-size:14px}
.fcols{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:22px;margin-bottom:24px}
.fcols h4{color:#fff;font-size:13px;text-transform:uppercase;letter-spacing:.06em;margin-bottom:10px}
.fcols a{color:#c7c7cd;display:block;margin:5px 0;font-size:14px}.fcols a:hover{color:var(--red)}
.disc{color:#7d7d85;font-size:12px;border-top:1px solid #23242a;padding-top:16px}
@media(max-width:820px){.hdr{height:auto;flex-wrap:wrap;gap:6px;padding:10px 0}nav ul{gap:16px}nav a{font-size:12px}.hero .wrap{grid-template-columns:1fr;text-align:center;min-height:0}.hero h1{font-size:38px}.hero p{margin-left:auto;margin-right:auto}.hero-img{order:-1;max-width:300px}.pgrid{grid-template-columns:repeat(2,1fr)}.sec-head h2{font-size:26px}}
/* platform pages */
.phero{background:linear-gradient(180deg,#ffffff,#eef0f2);color:var(--text);padding:40px 0 34px;border-bottom:3px solid var(--red)}
.crumbs{color:#7a7a82;font-size:13px;margin-bottom:14px}.crumbs a{color:#4d5460}.crumbs a:hover{color:var(--red)}
.ptag{display:inline-block;background:var(--red);color:#fff;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;padding:5px 10px;border-radius:5px}
.phero h1{font-weight:800;font-size:40px;margin:12px 0 10px}
.phero p{color:#3a3a42;max-width:760px;font-size:16px}
.mgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:18px}
.mcard{background:#fff;border:1px solid var(--bd);border-radius:8px;padding:16px;display:flex;flex-direction:column}
.mcard:hover{border-color:var(--red)}
.mcard-img{aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:6px;margin-bottom:10px}
.mcard-img img{max-width:100%;max-height:100%;width:auto;height:auto}
.mcard h3{font-size:16px;font-weight:600;line-height:1.35;margin-bottom:6px}
.mcard .price{font-weight:800;color:var(--text);margin-bottom:12px}
.mcard .btn{margin-top:auto;display:block;text-align:center;background:var(--accent);color:#fff;border:2px solid #fff;border-radius:6px;padding:11px;font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:.03em}
.mcard .btn:hover{background:#8a5fca}
.backlink{margin-top:26px}.backlink a{color:var(--red);font-weight:700}
@media(max-width:820px){.phero h1{font-size:30px}}
