/* 嘉宾与征集内容沿用专题页字体、配色及间距。 */
.nav-links .language-switch { flex-shrink: 0; white-space: nowrap; }
.guest-forum + .guest-forum { margin-top: 52px; }
.guest-forum-heading { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px 16px; padding-bottom: 18px; margin-bottom: 24px; border-bottom: 1px solid var(--line-strong); }
.guest-forum-heading h3 { margin: 0; color: var(--cyan-bright); font-size: clamp(20px, 2.3vw, 26px); line-height: 1.5; }
.guest-forum-note { color: var(--muted); font-size: 14px; line-height: 1.6; }
.guest-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); column-gap: 26px; row-gap: 34px; }
.guest-forum-main .guest-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.guest-card { min-width: 0; text-align: center; }
.guest-photo-frame { position: relative; width: min(100%, 190px); margin-inline: auto; aspect-ratio: 1; overflow: hidden; border: 1px solid var(--line-strong); border-radius: 50%; background: #0b2037; }
.guest-forum-main .guest-photo-frame { width: min(100%, 220px); }
.guest-photo { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% var(--guest-photo-y, 35%); transform: translate(var(--guest-photo-x, 0%), var(--guest-photo-offset-y, 0%)) scale(var(--guest-photo-zoom, 1)); transform-origin: 50% var(--guest-photo-y, 35%); }
/* 完整原图按自身比例移动，只有外层圆框裁切；避免先裁方图再移动产生截断。 */
.guest-photo[data-full-source] { position: absolute; width: var(--guest-render-width); height: var(--guest-render-height); left: var(--guest-render-left); top: var(--guest-render-top); max-width: none; object-fit: fill; transform: none; }
.guest-name { margin: 16px 0 5px; color: var(--white); font-size: 19px; font-weight: 650; line-height: 1.4; overflow-wrap: anywhere; }
.guest-title { margin: 0; color: var(--cyan); font-size: 14px; line-height: 1.6; }
.guest-unit { margin: 5px 0 0; color: var(--muted); font-size: 14px; line-height: 1.65; overflow-wrap: anywhere; }
.guest-original { color: var(--dim); font-size: 13px; margin-left: .45em; font-weight: 400; white-space: nowrap; }
.call-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: start; }
.call-grid .call-card { min-width: 0; }
.call-grid .call-card h3 { margin-top: 0; }
.call-grid .call-card p + p { margin-top: 12px; }
.call-card-abstract { grid-column: span 2; }
.call-template-link { overflow-wrap: anywhere; text-decoration: underline; text-underline-offset: 3px; }
.call-template-qr { margin-top: 20px; }
.call-template-qr img { display: block; width: 180px; height: 180px; padding: 8px; background: white; border-radius: 8px; margin-bottom: 10px; }
.contact-strip { display: flex; flex-wrap: wrap; gap: 6px 20px; }
.abstract-requirements { margin-top: 20px; border-top: 1px solid var(--line); padding-top: 18px; }
.abstract-requirements summary { color: var(--cyan); cursor: pointer; font-size: 16px; }
.abstract-format { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 28px; margin: 20px 0 0; }
.abstract-format div { min-width: 0; }
.abstract-format dt { color: var(--ice); font-weight: 600; margin-bottom: 4px; }
.abstract-format dd { margin: 0; color: var(--muted); font-size: 15px; line-height: 1.85; }
.abstract-download { margin-top: 22px; display: flex; gap: 14px; flex-wrap: wrap; align-items: center; }
.abstract-download span { color: var(--dim); font: 13px var(--mono); }
.ticket-price-early { display: none; }
html[data-early-bird="true"] .ticket-price-early { display: grid; }
html[data-early-bird="true"] .ticket-price-standard b { color: var(--white); }
html:not([data-early-bird="true"]) .ticket-price-standard b { color: var(--amber); }
html:not([data-early-bird="true"]) .ticket-card[data-ticket] { grid-template-columns: minmax(112px, .6fr) minmax(112px, .55fr) minmax(0, 1fr); }
@media (max-width: 1200px) {
  .guest-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px 22px; }
  .nav-links { gap: 16px; }
}
@media (max-width: 900px) {
  .call-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .call-card-abstract { grid-column: 1 / -1; }
  .guest-grid, .guest-forum-main .guest-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px 18px; }
  html:not([data-early-bird="true"]) .ticket-card[data-ticket] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .call-grid { grid-template-columns: 1fr; }
  .call-card-abstract { grid-column: auto; }
  .guest-grid, .guest-forum-main .guest-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px 16px; }
  .guest-name { font-size: 17px; margin-top: 12px; }
  .guest-title, .guest-unit { font-size: 13px; }
  .guest-original { display: block; margin-left: 0; margin-top: 3px; }
  .guest-forum + .guest-forum { margin-top: 38px; }
  .guest-forum-heading { align-items: start; gap: 12px; }
  .abstract-format { grid-template-columns: 1fr; }
  .abstract-download .button { white-space: normal; }
  html:not([data-early-bird="true"]) .ticket-card[data-ticket] { grid-template-columns: 1fr; }
}
