
/* Readable speaker introductions and content-first programmes */
#detailDialog .meeting-details #dialogTitle{font-size:clamp(30px,3.3vw,44px);line-height:1.12;letter-spacing:-.035em;margin:13px 28px 22px 0}
#detailDialog .meeting-details>.eyebrow{font-size:15px;letter-spacing:.06em;margin-bottom:14px}
#detailDialog .meeting-speakers{display:grid;gap:20px;margin:27px 0 26px;min-width:0}
#detailDialog .meeting-speakers--group{grid-template-columns:repeat(2,minmax(0,1fr))}
#detailDialog .meeting-speaker{display:grid;grid-template-columns:152px minmax(0,1fr);align-items:center;gap:26px;padding:26px;border:1px solid #DDE3EB;border-radius:22px;background:#F6F3EE;min-width:0}
#detailDialog .meeting-speakers--group .meeting-speaker{grid-template-columns:88px minmax(0,1fr);gap:15px;align-items:start;padding:20px}
#detailDialog .meeting-speaker-portrait{position:relative;display:grid;place-items:center;width:152px;height:152px;aspect-ratio:1;border-radius:50%;overflow:hidden;background:#e5e7ef;box-shadow:0 0 0 5px #fff;color:var(--ink);flex:none}
#detailDialog .meeting-speaker-portrait>span{font:800 35px/1 var(--heading,var(--sans))}
#detailDialog .meeting-speaker-portrait img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:center 20%;border-radius:50%}
#detailDialog .meeting-speakers--group .meeting-speaker-portrait{width:88px;height:88px}
#detailDialog .meeting-speaker-copy{min-width:0}
#detailDialog .meeting-speaker-role{font-family:var(--sans);font-size:13px;font-weight:650;color:var(--pink);line-height:1.45;margin:0 0 7px;letter-spacing:.01em}
#detailDialog .meeting-speaker-name{font-family:var(--heading,var(--sans));font-size:30px;font-weight:800;line-height:1.17;letter-spacing:-.03em;margin:0 0 10px;overflow-wrap:normal}
#detailDialog .meeting-speaker-bio{font-family:var(--sans);font-size:17px;font-weight:400;line-height:1.55;color:var(--muted);margin:0}
#detailDialog .meeting-speakers--group .meeting-speaker-name{font-size:23px;line-height:1.2}
#detailDialog .meeting-speakers--group .meeting-speaker-bio{font-size:16px;line-height:1.5}
#detailDialog .meeting-team{display:grid;gap:7px;margin:26px 0;padding:21px 25px;background:#F6F3EE;border-radius:16px;border-left:3px solid var(--pink)}
#detailDialog .meeting-team>span{font-size:14px;color:var(--muted)}
#detailDialog .meeting-team>strong{font-family:var(--heading,var(--sans));font-size:23px;line-height:1.3}
#detailDialog .meeting-cohosts{display:grid;gap:5px;margin:-9px 0 25px;padding:0 0 0 19px;border-left:2px solid var(--pink)}
#detailDialog .meeting-cohosts strong{font-size:17px;line-height:1.5;font-weight:650}
#detailDialog .meeting-cohosts span{font-size:16px;line-height:1.5;color:var(--muted)}
#detailDialog .meeting-details .event-detail-lead{font-size:18px;line-height:1.65}
#detailDialog .meeting-details .event-detail-note{font-size:15px;line-height:1.55;margin:18px 0;padding:15px 18px}
#detailDialog .meeting-details .meeting-takeaway{font-size:17px;line-height:1.6;margin-top:19px}
#detailDialog .meeting-topics-heading{font-family:var(--heading,var(--sans));font-size:27px;font-weight:750;line-height:1.3;margin:33px 0 18px;letter-spacing:-.025em}
#detailDialog .meeting-topic-list{border-top:1px solid #DDE3EB}
#detailDialog .meeting-topic{border-bottom:1px solid #DDE3EB}
#detailDialog .meeting-topic>summary{display:block;list-style:none;position:relative;padding:23px 38px 23px 0;cursor:pointer;text-align:left}
#detailDialog .meeting-topic>summary::-webkit-details-marker{display:none}
#detailDialog .meeting-topic>summary::after{content:'+';position:absolute;right:2px;top:23px;width:23px;height:23px;display:grid;place-items:center;color:var(--pink);font-size:25px;font-weight:400;line-height:1}
#detailDialog .meeting-topic[open]>summary::after{content:'−'}
#detailDialog .meeting-topic-title{display:block;font-family:var(--heading,var(--sans));font-size:21px;font-weight:700;line-height:1.4;letter-spacing:-.015em;color:var(--ink)}
#detailDialog .meeting-topic-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px 19px;margin-top:10px}
#detailDialog .meeting-topic-time{font-size:13px;font-weight:400;line-height:1.5;letter-spacing:.01em;white-space:nowrap;color:var(--muted);font-variant-numeric:tabular-nums}
#detailDialog .meeting-topic-people{display:flex;flex-wrap:wrap;align-items:center;gap:10px 15px}
#detailDialog .meeting-topic-meta .program-speaker-avatar{width:32px;height:32px;flex-basis:32px}
#detailDialog .meeting-topic-meta .program-speaker-name{font-size:14px;font-weight:550;line-height:1.35}
#detailDialog .meeting-topic-person{font-size:14px;font-weight:500;line-height:1.5;color:var(--muted)}
#detailDialog .meeting-topic-content{padding:0 25px 24px 0}
#detailDialog .meeting-topic-content p{font-size:17px;line-height:1.65;margin:0;color:var(--muted)}
#detailDialog .meeting-topic-content .meeting-topic-result{font-size:15px;margin:10px 0 0;color:var(--ink)}
#detailDialog .meeting-topic--pause>summary{padding-block:17px}
#detailDialog .meeting-topic--pause>summary::after{top:18px}
#detailDialog .meeting-topic--pause .meeting-topic-title{font-size:17px;font-weight:550;color:var(--muted)}
#detailDialog .meeting-topic--pause .meeting-topic-meta{margin-top:6px}
#detailDialog .meeting-topic-points{list-style:none;margin:0;padding:0;border-top:1px solid #DDE3EB}
#detailDialog .meeting-topic-points li{position:relative;padding:21px 0 21px 24px;border-bottom:1px solid #DDE3EB;font-size:20px;font-weight:600;line-height:1.45}
#detailDialog .meeting-topic-points li:before{content:'';position:absolute;left:0;top:31px;width:7px;height:7px;border-radius:50%;background:var(--pink)}
#detailDialog .meeting-details .event-dialog-actions{margin-top:27px}
#detailDialog .meeting-topic>summary:hover .meeting-topic-title{color:var(--pink)}
/* FAQ: real participation questions, grouped by intent */
#faq .faq-grid{grid-template-columns:minmax(0,.82fr) minmax(0,1.25fr);gap:55px;align-items:start}
#faq .faq-intro h2{max-width:420px}
#faq .faq-intro-copy{font-size:18px;line-height:1.6;color:var(--muted);max-width:380px;margin-top:22px}
#faq .faq-groups{min-width:0}
#faq .faq-group+.faq-group{margin-top:30px}
#faq .faq-group-heading{font-family:var(--heading,var(--sans));font-size:20px;line-height:1.35;font-weight:750;letter-spacing:-.02em;margin:0 0 14px;color:var(--ink)}
#faq .faq-list{border-top:1px solid var(--line)}
#faq .faq-list summary{font-family:var(--sans);font-size:19px;line-height:1.45;font-weight:600;letter-spacing:0;padding:20px 35px 20px 0}
#faq .faq-list summary:after{top:19px;right:0;font-size:24px;color:var(--pink)}
#faq .faq-list details p{font-size:17px;line-height:1.65;padding:0 15px 22px 0;color:var(--muted);margin:0}
#faq .faq-list details a{color:var(--ink);text-decoration:underline;text-decoration-color:#a6b6cc;text-underline-offset:4px;text-decoration-thickness:1px}
#faq .faq-list details a:hover{color:var(--pink);text-decoration-color:currentColor}
@media(min-width:1050px){#faq .faq-intro{position:sticky;top:125px}}
@media(max-width:780px){
 #detailDialog .meeting-speakers--group{grid-template-columns:1fr}
 #detailDialog .meeting-speakers--group .meeting-speaker{grid-template-columns:96px minmax(0,1fr);align-items:center}
 #detailDialog .meeting-speakers--group .meeting-speaker-portrait{width:96px;height:96px}
 #faq .faq-grid{grid-template-columns:1fr;gap:30px}
 #faq .faq-intro h2,#faq .faq-intro-copy{max-width:100%}
}
@media(max-width:580px){
 #detailDialog .meeting-details #dialogTitle{font-size:30px;line-height:1.18;margin-right:15px}
 #detailDialog .meeting-details>.eyebrow{font-size:13px;letter-spacing:.035em;padding-right:22px}
 #detailDialog .meeting-speakers{margin:24px 0;gap:14px}
 #detailDialog .meeting-speaker,#detailDialog .meeting-speakers--group .meeting-speaker{grid-template-columns:96px minmax(0,1fr);padding:19px 16px;gap:17px;border-radius:18px;align-items:start}
 #detailDialog .meeting-speaker-portrait,#detailDialog .meeting-speakers--group .meeting-speaker-portrait{width:96px;height:96px}
 #detailDialog .meeting-speaker-copy{display:contents}
 #detailDialog .meeting-speaker-portrait{grid-column:1;grid-row:1/3}
 #detailDialog .meeting-speaker-role{grid-column:2;align-self:end;font-size:12px;line-height:1.4;margin:3px 0 0}
 #detailDialog .meeting-speaker-name,#detailDialog .meeting-speakers--group .meeting-speaker-name{grid-column:2;grid-row:2;font-size:24px;line-height:1.19;margin:0;align-self:start}
 #detailDialog .meeting-speaker-bio,#detailDialog .meeting-speakers--group .meeting-speaker-bio{grid-column:1/-1;font-size:16px;line-height:1.55;margin:0}
 #detailDialog .meeting-speaker{row-gap:8px}
 #detailDialog .meeting-details .event-detail-lead{font-size:18px;line-height:1.6}
 #detailDialog .meeting-topics-heading{font-size:24px;line-height:1.3;margin-top:27px}
 #detailDialog .meeting-topic-title{font-size:20px;line-height:1.4}
 #detailDialog .meeting-topic>summary{padding:20px 29px 20px 0}
 #detailDialog .meeting-topic-time{font-size:13px}
 #detailDialog .meeting-topic>summary::after{top:21px;right:0;font-size:24px}
 #detailDialog .meeting-topic-content{padding-right:0}
 #detailDialog .meeting-topic-content p{font-size:17px}
 #detailDialog .meeting-topic--pause .meeting-topic-title{font-size:17px}
 #detailDialog .meeting-topic-meta{gap:9px 15px}
 #detailDialog .meeting-topic-meta .program-speaker-name{font-size:14px}
 #detailDialog .meeting-team{padding:18px 20px}
 #detailDialog .meeting-team strong{font-size:21px}
 #faq .faq-list summary{font-size:18px;line-height:1.45}
 #faq .faq-list details p{font-size:17px;line-height:1.6;padding-right:0}
 #faq .faq-group-heading{font-size:19px}
 #faq .faq-intro-copy{font-size:18px;line-height:1.55;margin-top:18px}
}
@media(max-width:360px){
 #detailDialog .meeting-speaker,#detailDialog .meeting-speakers--group .meeting-speaker{grid-template-columns:80px minmax(0,1fr);padding:17px 13px;gap:8px 14px}
 #detailDialog .meeting-speaker-portrait,#detailDialog .meeting-speakers--group .meeting-speaker-portrait{width:80px;height:80px}
 #detailDialog .meeting-speaker-name,#detailDialog .meeting-speakers--group .meeting-speaker-name{font-size:22px}
 #detailDialog .meeting-details #dialogTitle{font-size:28px;overflow-wrap:break-word}
 #detailDialog .meeting-topic-title{font-size:19px}
}

