*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:#f3f4f6;color:#111827;font:400 17px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif}
.wrap{max-width:1240px;margin:0 auto;padding:48px 24px 64px}
h1{margin:0 0 32px;font-size:44px;line-height:1.15;font-weight:700;letter-spacing:-.01em}
.grid{list-style:none;margin:0;padding:0;display:grid;gap:24px;grid-template-columns:repeat(3,minmax(0,1fr))}
.tile{display:flex;flex-direction:column;height:100%;background:#fff;border-radius:16px;overflow:hidden;color:inherit;text-decoration:none;box-shadow:0 1px 3px rgba(17,24,39,.08),0 4px 16px rgba(17,24,39,.06);transition:transform .18s ease,box-shadow .18s ease}
a.tile:hover{transform:translateY(-3px);box-shadow:0 2px 6px rgba(17,24,39,.1),0 12px 32px rgba(17,24,39,.12)}
a.tile:focus-visible{outline:3px solid #2563eb;outline-offset:3px}
.pic{display:block;aspect-ratio:16/10;background:#e5e7eb;overflow:hidden}
.pic img{display:block;width:100%;height:100%;object-fit:cover;object-position:top center}
.txt{display:flex;flex-direction:column;gap:4px;padding:16px 20px 20px;flex:1}
.name{font-size:20px;line-height:1.3;font-weight:700}
.desc{font-size:16px;line-height:1.45;color:#4b5563}
.open{margin-top:auto;padding-top:12px;font-size:16px;font-weight:600;color:#2563eb}
.soon .open{color:#9ca3af}
@media (max-width:1023px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:639px){.wrap{padding:32px 16px 48px}h1{font-size:34px;margin-bottom:24px}.grid{grid-template-columns:1fr;gap:20px}}
