.public-home-shell {
    margin: 0 auto;
    max-width: 900px;
    padding: clamp(20px, 5vh, 56px) clamp(16px, 4vw, 36px) 32px;
}

.public-home-card {
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: 24px;
    box-shadow: var(--shadow);
    padding: clamp(24px, 4vw, 44px) clamp(20px, 5vw, 56px);
    text-align: center;
}

.public-home-eyebrow { color: var(--muted); font-size: .95rem; margin: 0 0 14px; }
.public-home-card h1 { color: var(--moss); font-size: clamp(2.5rem, 7vw, 4rem); letter-spacing: -.04em; line-height: 1.1; margin: 0 0 24px; }
.public-home-intro { font-size: clamp(1.15rem, 3vw, 1.4rem); line-height: 1.6; margin: 0 auto; max-width: 30em; }
.public-home-actions { margin-top: 24px; }
.public-home-actions .primary-button { display: inline-flex; justify-content: center; max-width: 100%; text-decoration: none; white-space: normal; }
.public-home-actions .public-home-returning { margin: 16px 0 8px; }
.public-home-sign-in { border: 2px solid var(--moss); border-radius: 12px; color: var(--moss); display: inline-flex; align-items: center; justify-content: center; font-weight: 800; min-height: 48px; min-width: 180px; padding: 9px 20px; text-decoration: none; }
.public-home-sign-in:hover { background: var(--moss-pale); }
.public-home-actions a:focus-visible { outline: 3px solid var(--moss-dark); outline-offset: 4px; }
.public-home-note { color: var(--muted); font-size: .95rem; line-height: 1.5; margin: 24px auto 0; max-width: 34em; }
.public-home-note span { display: block; margin-top: 6px; }

@media (max-width: 480px) {
    .public-home-actions .primary-button, .public-home-sign-in { width: 100%; }
    .public-home-card h1 { margin-bottom: 16px; }
    .public-home-note { margin-top: 20px; }
}
