:root {
  --bg: #1F282B;
  --fg: #ECECEC;
  --accent: #7087FA;
  --muted: #A8ADB2;
  --card-bg: #283336;
  --card-border: #3A4548;
}
* { box-sizing: border-box; margin: 0; padding: 0; }
body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; background: var(--bg); color: var(--fg); min-height: 100vh; display: flex; flex-direction: column; }
main { flex: 1; display: flex; flex-direction: column; max-width: 960px; margin: 0 auto; padding: 80px 24px 48px; gap: 64px; }
header { text-align: center; display: flex; flex-direction: column; align-items: center; gap: 24px; }
.logo { width: min(320px, 75vw); height: auto; object-fit: contain; }
.lede { color: var(--muted); font-size: 17px; line-height: 1.5; max-width: 420px; margin-top: 8px; }
.cards { display: grid; gap: 20px; grid-template-columns: 1fr; }
@media (min-width: 768px) { .cards { grid-template-columns: repeat(3, 1fr); } }
.card { display: flex; flex-direction: column; gap: 12px; padding: 24px; background: var(--card-bg); border: 1px solid var(--card-border); border-radius: 12px; color: var(--fg); text-decoration: none; transition: border-color 0.15s, transform 0.15s; }
.card:hover { border-color: var(--accent); transform: translateY(-2px); }
.card:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.card h2 { font-size: 20px; font-weight: 600; }
.card p { color: var(--muted); font-size: 14px; line-height: 1.5; flex: 1; }
.cta-arrow { font-size: 24px; color: var(--accent); align-self: flex-end; }
footer { text-align: center; color: var(--muted); font-size: 14px; }
footer a { color: var(--muted); }
