.pg .pg-who .spk-open {
  font: inherit; color: inherit; background: none; border: 0; padding: 0; margin: 0; text-align: left; cursor: pointer;
}

.pg .spk-card { position: relative; margin: -10px -14px; padding: 10px 14px; border-radius: 8px; border: 1px solid transparent; transition: background-color .15s, border-color .15s; }
.pg .spk-card .spk-open::before { content: ''; position: absolute; inset: 0; border-radius: inherit; }
.pg .spk-card:hover, .pg .spk-card:focus-within { background: rgba(120, 175, 235, .07); border-color: var(--line-2); }
.pg .spk-card:hover .pg-who, .pg .spk-card:focus-within .pg-who { color: var(--sky); }

@media (max-width: 1000px) { .pg .spk-card { margin: 0 -10px -6px; padding: 6px 10px; } }
.pg .pg-who .spk-open::after { content: ''; display: inline-block; width: .5em; height: .5em; margin-left: .45em; vertical-align: .12em;
  border-top: 1.5px solid currentColor; border-right: 1.5px solid currentColor; transform: rotate(45deg); opacity: .7; }
.pg .pg-who .spk-open:focus-visible { outline: none; }
.pg .spk-card:has(.spk-open:focus-visible) { outline: 2px solid var(--cyan); outline-offset: 2px; }

html.spk-lock { overflow: hidden; }
.spk-dlg {
  width: min(760px, calc(100vw - 32px)); max-height: calc(100dvh - 48px); padding: 0; border: 1px solid var(--line-2); border-radius: 14px;
  background: #07101d; color: var(--text); font-family: var(--font); box-shadow: 0 24px 80px rgba(0, 0, 0, .6);
}
.spk-dlg::backdrop { background: rgba(0, 4, 12, .72); }
.spk-box { position: relative; max-height: calc(100dvh - 50px); overflow-y: auto; overscroll-behavior: contain; padding: 36px 40px 40px; }
.spk-bar { position: sticky; top: 0; z-index: 1; height: 0; display: flex; justify-content: flex-end; }
.spk-x {
  position: relative; flex: none; margin: -16px -20px 0 0; width: 44px; height: 44px; border: 0; border-radius: 50%;
  background: #18233a; color: var(--text); cursor: pointer; font-size: 0; box-shadow: 0 0 0 6px #07101d;
}
.spk-x::before, .spk-x::after { content: ''; position: absolute; left: 13px; top: 21px; width: 18px; height: 2px; background: currentColor; }
.spk-x::before { transform: rotate(45deg); }
.spk-x::after { transform: rotate(-45deg); }
.spk-x:hover, .spk-x:focus-visible { background: #24324d; }
.spk-x:focus-visible { outline: 2px solid var(--cyan); outline-offset: 2px; }
.spk-head { padding-right: 40px; display: flex; gap: 24px; align-items: flex-end; padding-bottom: 24px; border-bottom: 1px solid var(--line); }
.spk-photo { flex: none; width: 132px; aspect-ratio: 3 / 4; object-fit: cover; border-radius: 8px; background: rgba(255, 255, 255, .04); }
.spk-photo[hidden] { display: none; }
.spk-who { min-width: 0; }
.spk-field { font-size: .9375rem; line-height: 1.4; color: var(--sky); }
.spk-name { margin-top: 6px; font-size: 1.75rem; font-weight: 700; line-height: 1.3; color: #fff; overflow-wrap: break-word; }
.spk-aff { margin-top: 6px; font-size: 1.0625rem; line-height: 1.5; color: var(--muted); overflow-wrap: break-word; }
.spk-sec { padding-top: 24px; }
.spk-sec[hidden], .spk-title[hidden] { display: none; }
.spk-h { font-size: .9375rem; font-weight: 700; line-height: 1.4; color: var(--sky); letter-spacing: .02em; }
.spk-title { margin-top: 10px; font-size: 1.1875rem; font-weight: 700; line-height: 1.5; color: #fff; overflow-wrap: break-word; }
.spk-txt { margin-top: 10px; font-size: 1.0625rem; line-height: 1.75; color: var(--text); white-space: pre-line; overflow-wrap: break-word; word-break: keep-all; }

@media (max-width: 700px) {
  .spk-dlg { width: 100vw; max-width: 100vw; max-height: 100dvh; height: 100dvh; margin: 0; border: 0; border-radius: 0; }
  .spk-box { max-height: 100dvh; padding: 24px 20px 40px; }
  .spk-x { margin: -8px -8px 0 0; }
  .spk-head { gap: 16px; padding-bottom: 20px; }
  .spk-photo { width: 96px; }
  .spk-name { font-size: 1.375rem; }
  .spk-aff { font-size: 1rem; }
  .spk-txt { font-size: 1rem; }
}
@media (prefers-reduced-motion: no-preference) {
  .spk-dlg[open] { animation: spk-in .22s var(--ease); }
  @keyframes spk-in { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
}
