:root{--bg:#eef1f7;--ink:#14183a;--muted:#5d6480;--white:#ffffff;--r:22px}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;line-height:1.5}
a{color:inherit}
.l-es{display:none}
body.lang-es .l-es{display:inline}
body.lang-es .l-en{display:none}
.wrap{max-width:1120px;margin:0 auto;padding:0 16px}
.top{display:flex;justify-content:space-between;align-items:center;padding:20px 0;gap:12px;flex-wrap:wrap}
.brand{font-weight:800;letter-spacing:.04em;text-decoration:none;font-size:20px;display:flex;align-items:center;gap:10px}
.brand i{width:14px;height:14px;border-radius:4px;display:inline-block}
.top-right{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.top nav{display:flex;gap:6px;flex-wrap:wrap}
.top nav a{text-decoration:none;min-height:44px;display:inline-flex;align-items:center;padding:0 14px;border-radius:999px;background:var(--white);font-weight:600;font-size:14px}
.lang{display:inline-flex;align-items:center;justify-content:center;line-height:1;text-decoration:none;min-height:44px;min-width:56px;padding:0 16px;border:0;border-radius:999px;background:var(--ink);color:#fff;font:700 14px system-ui,sans-serif;cursor:pointer}
.hero{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center;padding:40px 0 30px}
h1{font-size:clamp(2.3rem,6vw,3.9rem);line-height:1.05;margin:0 0 16px;letter-spacing:-.02em}
.lead{color:var(--muted);font-size:1.1rem;max-width:36ch}
.btn{display:inline-flex;align-items:center;min-height:48px;padding:0 22px;border-radius:14px;text-decoration:none;font-weight:700;margin:6px 8px 0 0}
.btn.p{background:var(--ink);color:#fff}
.btn.s{background:var(--white)}
.board{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;background:var(--white);padding:14px;border-radius:28px;box-shadow:0 20px 50px #14183a18}
.tile{aspect-ratio:1;border-radius:16px;display:grid;place-items:center;font-size:30px;font-weight:800;color:#fff}
.tile.e{background:#e7eaf3}
.sec{padding:44px 0 10px}
.sec h2{font-size:clamp(1.7rem,3.2vw,2.3rem);margin:0 0 6px;letter-spacing:-.02em}
.sec .sub{color:var(--muted);margin:0 0 24px}
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}
.game{border-radius:var(--r);padding:24px;color:#fff;min-height:230px;display:flex;flex-direction:column;text-decoration:none;transition:transform .2s,box-shadow .2s}
.game:hover{transform:translateY(-5px);box-shadow:0 18px 40px #14183a30}
.game .badge{font-size:12px;font-weight:800;letter-spacing:.08em;background:#ffffff33;align-self:flex-start;padding:4px 10px;border-radius:999px}
.game .icon{font-size:52px;margin:auto 0 10px;line-height:1}
.game h3{margin:0;font-size:1.4rem}
.game p{margin:6px 0 0;opacity:.92;font-size:15px}
.books{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}
.book{background:var(--white);border-radius:var(--r);padding:22px;display:flex;flex-direction:column;min-height:190px;text-decoration:none;border:2px dashed #cfd5e6}
.book:hover{border-color:var(--ink)}
.book .age{font-size:12px;font-weight:800;color:var(--muted);letter-spacing:.06em}
.book h3{margin:8px 0 6px;font-size:1.2rem}
.book p{margin:0;color:var(--muted);font-size:14px}
.book .go{margin-top:auto;padding-top:14px;font-weight:700;font-size:14px}
.cta{margin:48px 0 0;background:var(--ink);color:#fff;border-radius:28px;padding:34px 28px;display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap}
.cta a{background:#fff;color:var(--ink);text-decoration:none;min-height:48px;display:inline-flex;align-items:center;padding:0 22px;border-radius:14px;font-weight:700}
footer{padding:30px 0 40px;color:var(--muted);font-size:14px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px}
footer a{min-height:44px;display:inline-flex;align-items:center}
@media (max-width:820px){.hero{grid-template-columns:1fr}.tiles,.books{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.tiles,.books{grid-template-columns:1fr}.board{gap:8px}}

.brand img{height:44px;width:auto;display:block}
