.public-center-visit {
    --m-line: var(--color-border-primary);
    --m-surface: var(--color-bg-primary);
    --m-surface2: var(--color-bg-secondary);
    --m-text: var(--color-text-primary);
    --m-muted: var(--color-text-secondary);
    --m-link: var(--color-primary);
    --m-red: #922b37;
    --m-redbg: #fff0f1;
    width: min(760px, 100%);
    margin: 0 auto;
    padding: 24px 20px 64px;
    color: var(--m-text);
}
.public-center-visit .m-icon-button { display: inline-flex; padding: 10px; border-radius: 10px; color: var(--m-link); }
.public-center-visit svg { width: 22px; height: 22px; flex-shrink: 0; }
.public-center-visit .public-visit-back { margin-bottom: 20px; }
.public-center-visit .m-eyeline { color: var(--m-link); font-size: .8rem; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; margin: 0; }
.public-center-visit .m-lead { color: var(--m-muted); line-height: 1.7; }
.public-center-visit .m-visit-flow h1 { font-size: clamp(1.8rem, 4vw, 2.4rem); font-weight: 800; line-height: 1.2; }
.public-center-visit .m-visit-flow h2 { font-size: 1.25rem; font-weight: 750; line-height: 1.4; }
.public-center-visit .m-card { border: 1px solid var(--m-line); border-radius: 20px; background: var(--m-surface); }
.public-center-visit .m-muted { color: var(--m-muted); }
.public-center-visit .m-button { display: inline-flex; align-items: center; justify-content: center; gap: 12px; padding: 14px 20px; border: 1px solid transparent; border-radius: 12px; font: inherit; font-weight: 750; cursor: pointer; }
.public-center-visit .m-primary { background: var(--color-primary); color: var(--color-on-primary, #fff); }
.public-center-visit .m-full { width: 100%; margin-top: 12px; }
.public-center-visit a:focus-visible, .public-center-visit button:focus-visible, .public-center-visit input:focus-visible, .public-center-visit summary:focus-visible { outline: 3px solid var(--m-link); outline-offset: 3px; }
