/* GusBit Studio · site. Usa os tokens de gusbit-tokens.css */

*,*::before,*::after{box-sizing:border-box}
*{margin:0}
html{scroll-behavior:smooth;scroll-padding-top:76px}
body{background:var(--gb-bg);color:var(--gb-fg);font:400 17px/1.6 var(--gb-font-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{display:block;max-width:100%;height:auto}
a{color:var(--gb-link)}
p+p{margin-top:12px}

.wrap{max-width:1120px;margin:0 auto;padding:0 24px}
section{padding:96px 0}
section.alt{background:var(--gb-sand)}

/* acessibilidade */
.skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--gb-navy);color:var(--gb-cream);padding:12px 18px;border-radius:var(--gb-radius-s);text-decoration:none;font-weight:600}
.skip:focus{top:12px}
:focus-visible{outline:3px solid var(--gb-blue-400);outline-offset:3px;border-radius:4px}

/* tipografia */
.eyebrow{font:700 13px/1 var(--gb-font-body);letter-spacing:.14em;text-transform:uppercase;color:var(--gb-blue-600);margin-bottom:14px}
h2{font:800 clamp(30px,4.4vw,46px)/1.08 var(--gb-font-display);letter-spacing:-.02em;margin-bottom:18px;text-wrap:balance}
h3{font:700 21px/1.25 var(--gb-font-display);margin:14px 0 8px}
.lead-d{font-size:20px;line-height:1.55;max-width:720px;color:var(--gb-slate)}
.mt{margin-top:44px}

/* botões */
.btn{display:inline-block;font:600 16px/1 var(--gb-font-body);padding:16px 26px;border:0;border-radius:var(--gb-radius-m);cursor:pointer;text-decoration:none;transition:background .15s,transform .15s,box-shadow .15s}
.btn.p{background:var(--gb-blue);color:#fff}
.btn.p:hover{background:var(--gb-blue-600)}
.btn.o{background:transparent;color:inherit;box-shadow:inset 0 0 0 2px currentColor}
.btn.o:hover{background:rgba(255,255,255,.08)}
.btn.sm{padding:11px 18px;font-size:14px}
.btn:active{transform:translateY(1px)}

/* cabeçalho */
.top{position:sticky;top:0;z-index:20;background:rgba(253,246,236,.92);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--gb-line)}
.bar{display:flex;align-items:center;justify-content:space-between;gap:24px;height:68px}
.brand img{height:34px;width:auto}
.top nav{display:flex;align-items:center;gap:28px}
.top nav a:not(.btn){font:500 15px/1 var(--gb-font-body);color:var(--gb-navy);text-decoration:none;padding:6px 0}
.top nav a:not(.btn):hover{color:var(--gb-blue-600)}

/* fundo de pixels (grafismo da marca) */
.pix-bg{position:absolute;inset:0;z-index:0;opacity:.3;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='96' height='96'%3E%3Crect x='0' y='0' width='12' height='12' fill='%23324570'/%3E%3Crect x='12' y='12' width='12' height='12' fill='%23324570'/%3E%3Crect x='24' y='24' width='12' height='12' fill='%23324570'/%3E%3Crect x='48' y='60' width='12' height='12' fill='%23006AFE' fill-opacity='.7'/%3E%3C/svg%3E")}

/* hero e contato (fundos escuros) */
.hero,.contact{background:var(--gb-navy);color:var(--gb-cream);position:relative;overflow:hidden}
.hero .wrap,.contact .wrap{position:relative;z-index:1}
.hero{padding:0}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center;min-height:min(80vh,640px);padding-top:72px;padding-bottom:72px}
.hero .meta{font:500 13px/1.4 var(--gb-font-body);letter-spacing:.14em;text-transform:uppercase;color:var(--gb-ice);margin-bottom:22px}
.hero h1{font:900 clamp(40px,6vw,72px)/1.02 var(--gb-font-display);letter-spacing:-.03em;text-wrap:balance}
.hero h1 span{color:var(--gb-blue-400)}
.hero .lead,.contact .lead{font-size:20px;line-height:1.55;max-width:560px;margin-top:24px;color:var(--gb-cream);opacity:.88}
.actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:36px}
.hero-logo{width:min(100%,420px);justify-self:center}
.contact .eyebrow{color:var(--gb-ice)}
.contact h2{color:var(--gb-cream)}

/* cards */
.grid{display:grid;gap:20px}
.g4{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.card{background:#fff;border:1px solid var(--gb-line);border-radius:var(--gb-radius-l);padding:28px}
.card p{color:var(--gb-slate);font-size:16px}
.tag{display:inline-block;font:700 14px/1 var(--gb-font-pixel);letter-spacing:.08em;padding:7px 9px;background:var(--gb-blue-50);color:var(--gb-blue-700);border-radius:4px}

/* jogos */
.games{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(380px,100%),1fr));gap:24px}
.game{background:#fff;border:1px solid var(--gb-line);border-radius:var(--gb-radius-l);overflow:hidden;display:flex;flex-direction:column}
.cover{position:relative;aspect-ratio:16/10;background:var(--gb-navy);display:flex;align-items:center;justify-content:center;overflow:hidden}
.cover span{position:relative;z-index:1;font:700 20px/1 var(--gb-font-pixel);letter-spacing:.12em;text-transform:uppercase;color:var(--gb-ice)}
.game-body{padding:28px;display:flex;flex-direction:column;flex:1}
.game-body h3{margin-top:16px}
.game-body p{color:var(--gb-slate);font-size:16px}
.badge{align-self:flex-start;font:700 13px/1 var(--gb-font-pixel);letter-spacing:.1em;text-transform:uppercase;background:var(--gb-spark);color:var(--gb-navy);padding:7px 9px;border-radius:4px}
.stores{list-style:none;padding:0;margin-top:auto;padding-top:22px;display:flex;flex-wrap:wrap;gap:10px}
.stores li{font:600 14px/1 var(--gb-font-body);color:var(--gb-slate);border:1.5px dashed var(--gb-mist);border-radius:var(--gb-radius-s);padding:9px 12px}

/* software (secundário) */
.soft{display:grid;grid-template-columns:1.2fr .8fr;gap:48px;align-items:center}
.soft-list{list-style:none;padding:0;display:grid;gap:16px}
.soft-list li{border-left:4px solid var(--gb-blue);padding:4px 0 4px 20px}
.soft-list b{display:block;font:700 21px/1.25 var(--gb-font-display);margin-bottom:4px}
.soft-list p{color:var(--gb-slate);font-size:16px}

/* sobre */
.eq{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}
.eq .card{display:flex;flex-direction:column}
.eq .big{line-height:1;margin-bottom:6px;color:var(--gb-navy)}
.eq .gus{font:900 56px/1 var(--gb-font-display);letter-spacing:-.02em}
.eq .bit{font:700 56px/1 var(--gb-font-pixel);color:var(--gb-slate)}
.eq .stu{font:700 30px/1.9 var(--gb-font-display);letter-spacing:.5em}

/* rodapé */
footer{background:var(--gb-navy);color:var(--gb-ice);padding:40px 0;font-size:14px}
.foot{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:20px}
.foot img{height:32px;width:auto}

/* telas pequenas */
@media (max-width:820px){
  section{padding:72px 0}
  .soft{grid-template-columns:1fr;gap:32px}
  .hero-grid{grid-template-columns:1fr;min-height:0;padding-top:48px;padding-bottom:56px;gap:28px}
  .hero-logo{order:-1;width:150px;justify-self:start}
  .top nav a:not(.btn){display:none}
  .brand img{height:30px}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .btn{transition:none}
}

.hero.full{min-height:100vh;display:flex;align-items:center}
.hero.full .wrap{width:100%}

.cover img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 62%}

/* novidades */
.news{list-style:none;padding:0;margin-top:32px;display:grid;gap:16px;max-width:760px}
.news li{background:#fff;border:1px solid var(--gb-line);border-radius:var(--gb-radius-l);padding:22px 26px}
.news-empty{color:var(--gb-slate)}
.news-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px;margin-bottom:8px}
.news-head strong{font:700 18px/1.3 var(--gb-font-display)}
.news-ver{font:700 13px/1 var(--gb-font-body);letter-spacing:.02em;background:var(--gb-blue-50);color:var(--gb-blue-700);padding:5px 8px;border-radius:4px}
.news-head time{margin-left:auto;font-size:14px;color:var(--gb-slate)}
.news-note{color:var(--gb-navy);font-size:16px;white-space:pre-line}

/* política de privacidade */
.doc{max-width:760px;padding-top:72px;padding-bottom:96px}
.doc h1{font:800 clamp(32px,5vw,46px)/1.1 var(--gb-font-display);letter-spacing:-.02em;margin-bottom:10px}
.doc .updated{color:var(--gb-slate);font-size:15px;margin-bottom:28px}
.doc h2{font:700 22px/1.25 var(--gb-font-display);letter-spacing:0;margin:40px 0 10px}
.doc p+p{margin-top:12px}
.doc ul{margin:12px 0 0;padding-left:22px}
.doc li{margin-top:6px}
footer a{color:var(--gb-ice)}

.doc ul+p{margin-top:14px}
