.public-landing-page { min-height: 100dvh; background: var(--page, var(--panel)); color: var(--text); }
.public-landing { width: min(1100px, 100%); margin: 0 auto; padding: 64px 28px; box-sizing: border-box; }
.public-landing-intro { max-width: 780px; margin-bottom: 42px; }
.public-landing-intro h1 { font-size: clamp(38px, 6vw, 68px); line-height: 1.08; letter-spacing: -.04em; margin: 22px 0; }
.public-landing-intro p { color: var(--muted); font-size: 18px; line-height: 1.7; max-width: 660px; }
.public-landing-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.public-landing-card { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; padding: 24px; border: 1px solid var(--line); border-radius: 18px; background: var(--panel); color: var(--text); text-decoration: none; }
.public-landing-card:hover { border-color: var(--accent); }
.public-landing-card strong { font-size: 20px; }
.public-landing-card span, .public-landing-card small { color: var(--muted); }
@media (max-width: 650px) { .public-landing { padding: 36px 20px; } .public-landing-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .public-landing-card { padding: 18px; } }
@media (max-width: 360px) { .public-landing-grid { grid-template-columns: 1fr; } }
