@font-face{font-family:Montserrat;src:url(assets/montserrat.ttf) format("truetype");font-weight:100 900;font-display:swap}
@font-face{font-family:"Exo 2";src:url(assets/exo2.ttf) format("truetype");font-weight:100 900;font-display:swap}
:root{--rosa:#f52b70;--escuro:#210719;--grafite:#292938;--suave:#ffc1d9;--linha:#ffc1d945}
*{box-sizing:border-box}
body.home{margin:0;background:var(--escuro);color:white;font:400 1rem/1.65 Montserrat,system-ui,sans-serif}
a:focus-visible{outline:3px solid #ffd000;outline-offset:4px}
.skip{position:absolute;top:.5rem;left:1rem;z-index:20;transform:translateY(-200%);padding:.75rem;background:var(--escuro);color:white}
.skip:focus{transform:none}
.wrap{width:min(100% - 2rem,74rem);margin-inline:auto}
.site-header{display:block;background:var(--escuro);color:white;border-bottom:1px solid var(--linha)}
.site-header .top{display:flex;justify-content:space-between;align-items:center;gap:.5rem 1.5rem;flex-wrap:wrap;padding-block:1rem}
.site-header .brand img{display:block;width:clamp(10rem,24vw,15rem);height:auto}
.site-header nav{display:flex;flex-wrap:wrap;column-gap:1.2rem}
.site-header nav a,.home .footer a{color:white;display:inline-flex;align-items:center;min-height:44px;font:700 .92rem Montserrat,system-ui,sans-serif;text-decoration:none}
.site-header nav a:hover,.home .footer a:hover{text-decoration:underline;text-underline-offset:.3em}
.detail .site-header{position:static;padding:0 1rem;border-radius:0}
.home h1,.home h2,.home h3{font-family:"Exo 2",system-ui,sans-serif;line-height:1.08;margin:0}
.home h1{font-size:clamp(2.55rem,6.4vw,6.25rem);font-weight:800;letter-spacing:-.045em}
.home h1 span,.home .eyebrow,.home .game-action{color:var(--suave)}
.home h2{font-size:clamp(1.8rem,3.5vw,3.25rem)}
.home h3{font-size:clamp(1.35rem,2vw,1.75rem)}
.home .hero{background:radial-gradient(ellipse at 95% 45%,#6c1644,transparent 58%),var(--escuro);border-bottom:1px solid var(--linha)}
.intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(8rem,24%);align-items:center;gap:2rem;padding-block:clamp(2.75rem,8vw,7.5rem)}
.portal{display:block;width:100%;height:auto}
.home .eyebrow{font-size:.88rem;font-weight:700}
.home .button,.home .community-link{display:inline-flex;align-items:center;gap:1rem;min-height:48px;padding:.65rem 1rem;border-radius:.6rem;background:var(--rosa);color:#170410;font-weight:700;text-decoration:none;margin-top:1.25rem}
.home .button:hover,.home .community-link:hover{background:var(--suave)}
.showcase{padding-block:clamp(2.5rem,6vw,5rem)}
.game-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,19rem),1fr));gap:1rem;margin-top:1.4rem}
.game-card{display:flex;flex-direction:column;color:inherit;text-decoration:none;border:1px solid var(--linha);border-radius:1rem;overflow:hidden;background:var(--grafite)}
.game-card:hover{border-color:var(--rosa)}
.game-card:hover h3{text-decoration:underline;text-underline-offset:.2em}
.game-cover{aspect-ratio:16/10;position:relative;overflow:hidden;background:#16121b}
.game-cover img{display:block;width:100%;height:100%;object-fit:cover}
.game-cover.dwarf img{object-fit:contain}
.game-cover .mekuri-key-logo{position:absolute;inset:auto auto 5% 4%;width:47%;height:45%;object-fit:contain}
.game-info{padding:1.25rem}
.game-meta{font-size:.86rem;font-weight:700;color:var(--suave)}
.game-action{font-weight:700}
.home .studio-intro,.home .community{border-top:1px solid var(--linha);padding-block:clamp(2rem,5vw,4rem)}
.home .studio-intro p,.home .community p{max-width:66ch}
.home .tiny{font-size:.78rem;font-weight:700;color:var(--suave)}
.home .contact-email{color:var(--suave)}
.home footer{background:var(--grafite)}
.home .footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:0 1rem;padding-block:1rem}
@media(max-width:38rem){.intro{grid-template-columns:1fr}.portal{display:none}}
