
/* Speaker restoration: additive styles, no changes to the chosen page layout. */
#speakers .roster-card{display:flex;flex-direction:column;height:100%;min-width:0}
#speakers .roster-card-content{display:flex;flex-direction:column;flex:1;padding:22px 22px 24px;min-width:0}
#speakers .roster-card .speaker-name{padding:0;margin:0 0 10px;font-size:22px;line-height:1.25}
#speakers .roster-card .speaker-topic{padding:0;margin:0 0 16px;min-height:0;line-height:1.5;font-size:16px}
#speakers .roster-card .speaker-schedule{padding:0;margin:auto 0 12px;font-size:13px;line-height:1.55}
#speakers .roster-card .speaker-more{align-self:flex-start;margin:0}
#speakers .speaker-picture{aspect-ratio:4/4.65;min-height:0;height:auto;margin:0;overflow:hidden;position:relative;background:#f6f3ee}
#speakers .speaker-picture>img{height:100%;width:100%;object-fit:cover;display:block}
#speakers .roster-editorial{aspect-ratio:4/4.65;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:34px;background:#2C4873;color:#fff;min-width:0}
#speakers .roster-editorial-topic{font:600 10px/1.6 var(--heading);letter-spacing:.12em;text-transform:uppercase;max-width:100%;opacity:.85}
#speakers .roster-editorial-name{font:500 normal clamp(34px,3.3vw,52px)/1.08 var(--serif);margin:26px 0;max-width:100%;overflow-wrap:break-word}
#speakers .roster-editorial-line{width:50px;height:2px;background:#DD118A}
#speakers .roster-invitations{margin-top:66px;padding-top:42px;border-top:1px solid var(--line)}
#speakers .roster-subhead{max-width:790px;margin-bottom:28px}
#speakers .roster-subhead h3{font:700 clamp(26px,3vw,38px)/1.2 var(--heading);margin:0 0 16px}
#speakers .roster-subhead p{font-size:17px;color:var(--muted)}
#speakers .roster-invite-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
#speakers .roster-invite{display:flex;align-items:flex-start;gap:14px;padding:24px;background:#F6F3EE;border-radius:12px;min-width:0}
#speakers .roster-invite>div{min-width:0;display:flex;flex-direction:column;height:100%}
#speakers .roster-invite img{width:72px;height:92px;border-radius:7px;object-fit:cover;flex-shrink:0}
#speakers .roster-invite h3{font:700 19px/1.3 var(--heading);margin:10px 0}
#speakers .roster-invite p{font-size:15px;line-height:1.5;margin:0 0 10px}
#speakers .roster-invite .speaker-schedule{font-size:12px;color:var(--muted);margin-top:auto}
#speakers .roster-status,.dialog-profile .roster-status{display:inline-block;color:#655142;background:#ede4d9;padding:4px 8px;border-radius:4px;font:600 10px/1.4 var(--heading);align-self:flex-start}
#speakers .roster-teams{margin-top:40px;border:1px solid var(--line);border-radius:12px;padding:28px}
#speakers .roster-teams h3{font:700 21px/1.3 var(--heading);margin:0 0 24px}
#speakers .roster-teams-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
#speakers .roster-teams-grid strong{font:700 14px/1.5 var(--heading);display:block;margin-bottom:7px}
#speakers .roster-teams-grid span{font-size:14px;line-height:1.5;display:block}
#speakers .roster-teams .note{margin:24px 0 0;color:var(--muted)}
.dialog-profile .roster-dialog-actions{display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin-top:24px}
.dialog-profile .roster-dialog-picture{width:100%;min-width:0}
.dialog-profile .roster-dialog-picture img{width:100%;height:auto;max-height:650px;object-fit:contain;border-radius:12px}
.dialog-profile .roster-dialog-actions .btn{white-space:normal;text-align:left;max-width:100%}
.dialog-profile .roster-status{margin-bottom:18px}
@media(max-width:1000px){#speakers .roster-invite-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#speakers .roster-teams-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){#speakers .roster-invite-grid{grid-template-columns:1fr}#speakers .roster-card-content{padding:22px}#speakers .roster-invitations{margin-top:42px;padding-top:30px}#speakers .roster-teams{padding:24px 20px}#speakers .roster-teams-grid{gap:20px}#speakers .roster-editorial-name{font-size:45px}#speakers .roster-invite{padding:21px}}
