:root{--accent:#5b5bd6;--ink:#1a1a26;--muted:#6b6b80;--surface:#ffffff;--surface-2:#f5f5f9;--border:#e3e3ec}*{box-sizing:border-box}body,html{margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--ink);background:var(--surface);line-height:1.5;font-size:16px}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1{margin:0 0 .5rem}.page{max-width:64rem;padding:2rem 1.5rem}.hero,.page{margin:0 auto}.hero{text-align:center;padding:6rem 1.5rem 4rem;max-width:44rem}.hero h1{font-size:2.6rem;line-height:1.15;letter-spacing:-.02em}.cta-row{display:flex;justify-content:center;gap:.75rem;margin-top:2rem;flex-wrap:wrap}.button{display:inline-block;padding:.65rem 1.4rem;border-radius:8px;font-weight:600;border:1px solid var(--accent)}.button.primary{background:var(--accent);color:#ffffff}.button.secondary{background:var(--surface);color:var(--accent)}.button:hover{text-decoration:none;opacity:.9}.muted{color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));grid-gap:1rem;gap:1rem;margin-top:1.5rem}.card{border-radius:10px}.card .thumb{height:6rem;border-radius:6px;background:var(--surface-2);margin-bottom:.75rem}.skeleton-line{height:.7rem;border-radius:4px;background:var(--surface-2);margin:.45rem 0}.skeleton-line.short{width:55%}.gate-banner{background:var(--ink);color:#ffffff;text-align:center;padding:.6rem 1rem;font-weight:600}.placeholder{border:1px dashed var(--border);border-radius:8px;padding:2rem;background:var(--surface-2);margin-top:1.5rem}.legal{max-width:46rem}.legal h1{margin-bottom:.25rem}.legal h2{margin:2rem 0 .5rem;font-size:1.2rem}.legal h3{margin:1.25rem 0 .25rem;font-size:1rem}.legal li,.legal p{color:var(--ink);font-size:.95rem}.legal ul{padding-left:1.25rem}.legal-footer{margin-top:3rem;padding-top:1rem;border-top:1px solid var(--border);color:var(--muted);font-size:.85rem}.cards{list-style:none;margin:1.5rem 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));grid-gap:1rem;gap:1rem}.card{border:1px solid var(--border);border-radius:8px;padding:1.25rem;background:var(--surface)}.card h3{margin:0 0 .25rem}