/* ═══════════════════════════════════════════════════════════════════════════
   FINEFIGHT — PUBLIC / AUTH role styling (register: spacious)
   Public is deliberately generous: large type, wide rhythm, restrained
   decoration. No fear imagery, no fake seals, no invented statistics.
   ═══════════════════════════════════════════════════════════════════════════ */
[data-density="public"] .sec { padding: 4.5rem 0; }
[data-density="public"] .sec-tight { padding: 2.5rem 0; }
.hero-ghost { color: rgba(255,255,255,.82) !important; }
.hero-ghost:hover { background: rgba(255,255,255,.08) !important; color: #fff !important; }
[data-density="public"] .topnav-inner { height: 70px; }
.auth-split-single { grid-template-columns: 1fr; }
[data-density="public"] .display { letter-spacing: -.03em; }
@media (max-width: 900px) {
  .auth-split { grid-template-columns: 1fr; }
  .auth-pane { border-left: 0; }
}
@container (max-width: 767px) {
  [data-density="public"] .sec { padding: 2.5rem 0; }
  [data-density="public"] .d-5xl { font-size: var(--t-3xl); }
  [data-density="public"] .d-4xl { font-size: var(--t-2xl); }
  .auth-pane { padding: 24px 18px 34px; }
  .auth-foot { position: sticky; bottom: 0; }
}

/* ── Public footer — 4 columns on desktop, stacked on narrow ──────────── */
.pub-foot-grid {
  display: grid;
  grid-template-columns: 1.4fr repeat(3, minmax(0, 1fr));
  gap: 34px;
}
@container (max-width: 900px) {
  .pub-foot-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px; }
}
@container (max-width: 560px) {
  .pub-foot-grid { grid-template-columns: minmax(0, 1fr); gap: 22px; }
}
/* The public nav collapses its link row below the brand rather than clipping. */
@container (max-width: 767px) {
  .topnav-inner { gap: 10px; }
  .brand-word i { display: none; }
  .hero .display.d-5xl { font-size: var(--t-3xl); }
}
