/* ============================================================
   KEY4GAMES — base / reset / a11y
   ============================================================ */
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:'Inter',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  background:var(--bg);
  color:var(--text);
  font-size:15px;
  line-height:1.55;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
body::before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:0;
  background:
    radial-gradient(600px 420px at 8% -4%, rgba(139,92,246,.16), transparent 60%),
    radial-gradient(700px 460px at 96% -6%, rgba(225,75,200,.10), transparent 60%);
}
::selection{background:rgba(139,92,246,.45)}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}
input,select,textarea{font-family:inherit}
:focus-visible{outline:2px solid var(--violet);outline-offset:2px;border-radius:6px}
img,svg{display:block;max-width:100%}
[hidden]{display:none!important}

.wrap{max-width:1220px;margin:0 auto;padding:0 24px;position:relative;z-index:1}
.site-main{display:block;position:relative;z-index:1}

/* page heading (archives / legal / lists) */
.page-head{padding:6px 0 2px}
.page-head h1{font-family:'Space Grotesk','Inter',sans-serif;font-size:clamp(24px,3vw,34px);font-weight:700;letter-spacing:.02em}
.page-head h1 em{font-style:normal;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.pcount{color:var(--muted);font-size:13.5px}

/* breadcrumb (used by catalog, product, legal) */
.crumbs{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:13px;margin:0 0 22px;flex-wrap:wrap;padding-top:22px}
.crumbs a{color:var(--muted);transition:.2s}
.crumbs a:hover{color:var(--text)}
.crumbs b{color:var(--text);font-weight:600}
.crumbs svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;opacity:.6}

/* ============ ACCESSIBILITY HELPERS ============ */
.screen-reader-text{
  border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);
  height:1px;width:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important;word-wrap:normal!important;
}
.skip-link{
  position:absolute;left:-9999px;top:0;z-index:200;
  background:var(--grad);color:#fff;font-weight:600;font-size:14px;
  padding:10px 18px;border-radius:0 0 10px 0;
}
.skip-link:focus{left:0}

/* ============ SCROLL REVEAL (no-JS safe) ============ */
.rv{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}
.rv.in{opacity:1;transform:none}
/* If JS never runs, never hide content (SEO + a11y). main.js sets html.js ASAP. */
html:not(.js) .rv{opacity:1;transform:none}

@media (prefers-reduced-motion:reduce){
  *{transition:none!important;animation:none!important;scroll-behavior:auto!important}
  .rv{opacity:1;transform:none}
}
