body.home { overflow: auto; touch-action: manipulation; }
.home-wrap {
  min-height: 100%;
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 34px;
  padding: calc(var(--st) + 60px) 24px calc(var(--sb) + 40px);
}
.home-wrap h1 { margin: 0; font-size: clamp(32px, 5vw, 52px); text-align: center; }
.cards { display: flex; flex-wrap: wrap; justify-content: center; gap: 26px; }
.card-link {
  width: min(400px, 88vw);
  display: flex; flex-direction: column; align-items: center; gap: 8px;
  padding: 30px 26px 28px; border-radius: 30px;
  background: var(--card); color: var(--ink); text-decoration: none;
  box-shadow: 0 12px 36px rgba(31, 42, 68, 0.12);
  transition: transform 0.18s cubic-bezier(0.2, 1.4, 0.4, 1), box-shadow 0.18s;
}
.card-link:hover { transform: translateY(-4px); box-shadow: 0 18px 44px rgba(31, 42, 68, 0.16); }
.card-link:active { transform: scale(0.97); }
.art { width: 100%; max-width: 300px; height: auto; margin-bottom: 6px; }
.card-link .name { font-size: 32px; font-weight: 700; }
.card-link .desc { font-size: 18px; color: var(--muted); text-align: center; }

.brand { display: flex; flex-direction: column; align-items: center; gap: 2px; margin-bottom: -10px; }
.logo {
  font-size: clamp(54px, 9vw, 92px); font-weight: 700; line-height: 1; letter-spacing: -0.02em;
  background: linear-gradient(90deg, #4f6bed, #12a37a 55%, #f2b200);
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
.tagline { font-size: clamp(18px, 2.4vw, 24px); font-weight: 600; color: var(--muted); }
.home-wrap h1 { font-size: clamp(26px, 3.6vw, 38px); }
