/* Profile previews must not override the contrast or decoration of CTA buttons. */
a.person-preview-link:not(.button) { color: inherit; text-decoration: underline; text-decoration-color: #9ba9b766; text-decoration-style: dotted; text-underline-offset: .22em; text-decoration-thickness: 1px; }
a.person-preview-link:not(.button):hover,a.person-preview-link:not(.button):focus-visible { color: #a52e3c; text-decoration-color: currentColor; }
.person-preview-card { position: fixed; z-index: 10000; box-sizing: border-box; width: 350px; max-width: calc(100vw - 24px); max-height: calc(100dvh - 24px); overflow: auto; padding: 24px; border: 1px solid #dfe5ec; border-radius: 18px; background: #fff; color: #182b40; box-shadow: 0 12px 48px #132b4329,0 2px 8px #132b4310; font: 400 14px/1.65 Inter,'Noto Sans KR',sans-serif; text-align: left; letter-spacing: normal; }
.person-preview-card[hidden] { display: none; }
.person-preview-heading { display: flex; gap: 16px; padding-right: 16px; align-items: center; }
.person-preview-photo { width: 76px; height: 90px; border-radius: 10px; object-fit: cover; object-position: center top; flex: 0 0 76px; background: #eef1f4; }
.person-preview-name { display: block; font-size: 22px; line-height: 1.3; letter-spacing: -.03em; margin: 0 0 6px; }
.person-preview-role,.person-preview-office { display: block; font-size: 12px; line-height: 1.5; color: #697789; }
.person-preview-card .person-preview-intro { margin: 18px 0 14px; font-size: 14px; line-height: 1.75; color: #42546a; }
.person-preview-card .person-preview-practice { margin: 0; padding: 12px 0 16px; border-top: 1px solid #e9edf2; font-size: 12px; line-height: 1.8; color: #6a7788; }
.person-preview-card .person-preview-cta { display: inline-flex; align-items: center; gap: 16px; color: #9e2e3b; text-decoration: none; font-size: 13px; font-weight: 700; }
.person-preview-close { position: absolute; right: 9px; top: 9px; width: 30px; height: 30px; padding: 0; display: grid; place-items: center; border: 0; border-radius: 50%; background: transparent; color: #738194; font: 22px/1 sans-serif; cursor: pointer; }
.person-preview-close:hover { background: #f0f3f6; }
.person-preview-card :focus-visible { outline: 2px solid #a52e3c; outline-offset: 3px; }
@media(prefers-reduced-motion:no-preference) { .person-preview-card:not([hidden]) { animation: person-preview-in .12s ease-out; } @keyframes person-preview-in { from { opacity: 0; transform: translateY(3px); } to { opacity: 1; transform: translateY(0); } } }
