.public-home-shell { min-height: 100dvh; display: grid; align-items: center; padding: clamp(1rem, 5vw, 3rem); background: radial-gradient(ellipse at top left, var(--app-surface-3), transparent 65%); }
.public-home-card { width: min(100%, 34rem); margin: 0 auto; padding: clamp(1.5rem, 6vw, 3rem); border: 1px solid var(--app-border); border-top: 3px solid var(--app-accent); border-radius: 1.25rem; background: var(--app-surface); box-shadow: 0 1rem 3rem rgb(0 0 0 / 7%); text-align: center; }
.public-home-logo { width: 11rem; height: 11rem; max-width: 100%; object-fit: contain; margin-bottom: 1.25rem; }
.public-home-symbol { display: block; font-size: 3rem; color: var(--app-accent); margin-bottom: 1rem; }
.public-home-card h1 { margin: 0 0 1.25rem; font-size: clamp(1.6rem, 5vw, 2.1rem); overflow-wrap: anywhere; }
.public-home-text { line-height: 1.65; color: var(--app-text-muted); overflow-wrap: anywhere; }
.public-home-social { display: flex; flex-wrap: wrap; justify-content: center; gap: .65rem; margin-top: 1.25rem; }
.public-home-social a { display: inline-grid; place-items: center; width: 2.75rem; height: 2.75rem; border: 1px solid var(--app-border); border-radius: 50%; color: var(--app-heading); font-size: 1.2rem; }
.public-home-social a:hover { color: var(--app-accent); background: var(--app-surface-3); }
.public-home-consult { display: block; margin-top: 2rem; padding: .85rem 1rem; }
.public-home-internal { display: inline-block; margin-top: 1.25rem; color: var(--app-text-muted); font-size: .875rem; }
.public-lookup-form { text-align: left; margin-top: 1.5rem; }
.public-lookup-form label { display: block; margin-bottom: .35rem; }
.public-lookup-form .form-control { margin-bottom: 1rem; }
.public-lookup-form .btn-primary { width: 100%; }
.public-lookup-alternative { margin-top: 1.5rem; text-align: left; }
.public-lookup-alternative summary { color: var(--app-accent); cursor: pointer; }
.public-lookup-back { display: inline-block; margin-top: 1.5rem; font-size: .875rem; }
