/* Public entry page; color roles shared with the Campbell application theme. */
.fgr-welcome { margin: 0; background: var(--famigire-paper); color: var(--famigire-ink-900); font: 16px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.fgr-welcome * { box-sizing: border-box; }
.fgr-welcome main { width: min(560px,calc(100% - 32px)); margin: 40px auto; padding: 32px; border: 1px solid var(--famigire-accent-soft); border-radius: 24px; background: var(--famigire-paper-strong); box-shadow: var(--famigire-shadow-md); }
.fgr-welcome header { text-align: center; }
.fgr-welcome header img { display: block; margin: 0 auto 16px; object-fit: contain; }
.fgr-welcome h1 { font-size: clamp(25px,5vw,32px); line-height: 1.2; letter-spacing: -.5px; color: var(--famigire-primary-dark); margin: 0 0 12px; }
.fgr-welcome h2 { font-size: 20px; line-height: 1.3; margin: 0 0 12px; color: var(--famigire-primary-dark); }
.fgr-welcome p { color: var(--famigire-ink-700); margin: 0 0 16px; }
.fgr-welcome section { margin-top: 28px; }
.fgr-welcome-button { display: block; padding: 12px 20px; min-height: 48px; text-align: center; border-radius: 10px; background: var(--famigire-accent); color: var(--famigire-on-accent); font-weight: 600; text-decoration: none; }
.fgr-welcome-button:hover { background: var(--famigire-accent-strong); }
.fgr-welcome a:focus-visible { outline: 3px solid var(--famigire-campbell-blue); outline-offset: 3px; }
.fgr-welcome-guests { border-top: 1px solid var(--famigire-accent-soft); padding-top: 24px; }
.fgr-welcome .fgr-welcome-hint { background: var(--famigire-panel); border-radius: 10px; padding: 16px; margin-bottom: 0; }
@media(max-width:480px) { .fgr-welcome main { margin: 16px auto; padding: 24px; } .fgr-welcome header img { width: 112px; height: 112px; } }
