/* Cube Crash — cube-crash.com */
@font-face{
  font-family:'FFF Forward';
  src:url('fonts/fff-forward.ttf') format('truetype');
  font-weight:normal;font-style:normal;font-display:swap;
}
:root{
  --pixel:'FFF Forward','Courier New',monospace;
  --blue:#34699a;        /* blu hero (dal mockup; sotto il futuro video mp4) */
  --ink:#111418;
  --muted:#5c6570;
  --line:#e7e9ec;
  --maxw:1240px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
html,body{margin:0;padding:0}
body{
  font-family:var(--pixel);
  color:var(--ink);background:#fff;line-height:1.5;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}

/* ---------- HEADER ---------- */
.site-header{
  position:sticky;top:0;z-index:20;background:#fff;
  border-bottom:1px solid var(--line);
}
.site-header .bar{
  max-width:var(--maxw);margin:0 auto;padding:10px 20px;
  display:flex;align-items:center;gap:18px;
  animation:bar-in .45s ease-out backwards;
}
@keyframes bar-in{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}
.site-header .logo{display:flex;align-items:center;transition:transform .15s cubic-bezier(.34,1.56,.64,1)}
.site-header .logo:hover{transform:scale(1.06)}
.site-header .logo:active{transform:scale(.96)}
.site-header .logo img{height:40px;width:auto}
.site-header nav{margin-left:auto;display:flex;align-items:center;gap:22px}
.nav-link{
  font-size:15px;font-weight:400;color:var(--ink);position:relative;padding:4px 0;
}
.nav-link::after{
  content:"";position:absolute;left:0;bottom:0;height:2px;width:100%;
  background:var(--ink);transform:scaleX(0);transform-origin:left;
  transition:transform .18s ease-out;
}
.nav-link:hover::after{transform:scaleX(1)}
.btn-dl{
  background:#111;color:#fff;font-size:15px;font-weight:400;
  padding:10px 18px;border-radius:0;display:inline-block;
  box-shadow:3px 3px 0 rgba(0,0,0,.25);
  transition:transform .12s ease-out, box-shadow .12s ease-out, background .12s;
}
.btn-dl:hover{background:#000;transform:translate(-1px,-1px);box-shadow:4px 4px 0 rgba(0,0,0,.3)}
.btn-dl:active{transform:translate(3px,3px);box-shadow:0 0 0 rgba(0,0,0,.25);transition-duration:.05s}

/* ---------- HERO ---------- */
.hero{
  position:relative;background:var(--blue);
  min-height:min(78vh,860px);
  display:flex;align-items:flex-end;justify-content:center;
  overflow:hidden;
}
.hero video{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;
  opacity:0;transition:opacity .8s ease-out;   /* dissolve dal blu quando parte */
}
.hero video.on{opacity:1}
.hero-yt{position:absolute;inset:0;z-index:1;cursor:pointer}
.hero .cta{
  position:relative;z-index:2;display:flex;gap:16px;flex-wrap:wrap;
  justify-content:center;padding:24px 24px 42px;width:100%;
}
/* badge = PNG pixel-art ufficiali (386x130), mostrati a metà.
   Ingresso morbido dal basso (sfalsato) + hover che solleva + pressione che affonda. */
.store-badge{
  display:inline-block;box-shadow:5px 5px 0 rgba(0,0,0,.35);
  transition:transform .15s cubic-bezier(.34,1.56,.64,1), box-shadow .15s ease-out, filter .15s;
  animation:badge-in .55s cubic-bezier(.22,1,.36,1) backwards;
}
.store-badge:nth-child(2){animation-delay:.12s}
.store-badge img{
  width:224px;height:auto;display:block;
  image-rendering:pixelated;
}
.store-badge:hover{filter:brightness(1.12);transform:translateY(-4px);box-shadow:7px 9px 0 rgba(0,0,0,.3)}
.store-badge:active{transform:translate(3px,3px);box-shadow:0 0 0 rgba(0,0,0,.35);filter:brightness(.95);transition-duration:.05s}
@keyframes badge-in{
  from{opacity:0;transform:translateY(26px)}
  to{opacity:1;transform:translateY(0)}
}

/* ---------- FOOTER ---------- */
.site-footer{background:#fff;padding:44px 20px 30px}
.site-footer .grid{
  max-width:var(--maxw);margin:0 auto;
  display:grid;grid-template-columns:1fr auto auto;gap:48px;
}
.f-brand h2{font-size:16px;letter-spacing:.5px;margin:0 0 10px;font-weight:400}
.f-brand p{font-size:12px;color:var(--muted);margin:0 0 18px;max-width:360px;line-height:1.7}
.socials{display:flex;gap:14px}
.socials a{
  color:var(--ink);opacity:.85;display:inline-block;
  transition:transform .15s cubic-bezier(.34,1.56,.64,1), opacity .15s;
}
.socials a:hover{opacity:1;transform:translateY(-3px) scale(1.12)}
.socials a:active{transform:translateY(0) scale(.95)}
.socials svg{width:22px;height:22px}
.f-col h3{font-size:13px;font-weight:400;margin:0 0 12px}
.f-col ul{list-style:none;margin:0;padding:0}
.f-col li{margin-bottom:9px}
.f-col a{
  font-size:12px;color:var(--muted);display:inline-block;
  transition:color .15s, transform .15s ease-out;
}
.f-col a:hover{color:var(--ink);transform:translateX(3px)}
.f-copy{
  max-width:var(--maxw);margin:34px auto 0;padding-top:16px;
  border-top:1px solid var(--line);font-size:11px;color:var(--muted);
}
@media(max-width:799px){
  .site-footer .grid{grid-template-columns:1fr;gap:30px}
}
@media(max-width:520px){
  .hero .cta{flex-direction:column;align-items:center}
  .site-header .bar{padding:10px 14px;gap:12px}
  .site-header nav{gap:14px}
}

/* ---------- ACCESSIBILITÀ: niente animazioni se l'utente le ha disattivate ---- */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none !important;transition:none !important}
  html{scroll-behavior:auto}
}

/* ---------- PAGINE TESTO (privacy/support) ---------- */
.doc{max-width:760px;margin:0 auto;padding:36px 20px 60px;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
.doc h1,.doc h2{font-family:var(--pixel);font-weight:400}
.doc h1{color:var(--blue);font-size:26px}
.doc h2{color:var(--blue);font-size:19px;margin-top:2em}
.doc a{color:var(--blue);text-decoration:underline}
.doc hr{border:none;border-top:1px solid var(--line);margin:2.5em 0}
.doc .muted{color:var(--muted);font-size:.9em}
.doc ul{padding-left:1.2em}
.doc .box{background:#f4f8fb;border:2px solid #dce7ef;border-radius:0;padding:16px 20px;box-shadow:4px 4px 0 #dce7ef}
