/* Speaker, MC, organizer and guest profile pages. */
.people-review-intro{margin-bottom:34px}
.people-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:23px}
.people-card{margin:0;padding:0;min-width:0;border:1px solid var(--line);background:white;overflow:hidden}
.people-card-link{display:grid;grid-template-columns:145px minmax(0,1fr);height:100%;color:var(--ink);text-decoration:none}
.people-card .person-photo{aspect-ratio:auto;min-height:225px;height:100%}
.people-card-copy{padding:23px 22px;display:flex;flex-direction:column;min-width:0}
.people-card-copy h3{font:500 24px/1.5 var(--serif);margin:7px 0 8px;overflow-wrap:anywhere;letter-spacing:.02em}
.people-card-copy .label{font-size:10px;letter-spacing:.04em}
.people-card-role{font-size:11px;line-height:1.8;color:var(--muted);margin:0 0 12px;min-height:0}
.people-card-summary{font-size:12px;line-height:1.8;margin:0 0 18px;color:var(--muted)}
.people-card-more{display:flex;align-items:center;justify-content:space-between;gap:8px;border-top:1px solid var(--line);padding-top:12px;margin-top:auto;font-size:11px;color:var(--blue)}
.people-card-more svg{width:18px;height:18px}
.people-card-link:hover .people-card-more{color:#876729}
.person-photo{position:relative;aspect-ratio:4 / 5;background:#e8eef4;overflow:hidden}
.person-photo img{display:block;width:100%;height:100%;object-fit:cover;aspect-ratio:4 / 5}
.photo-pending{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:15px;color:#687b91;background:#e9eef4;min-height:180px}
.photo-pending svg{width:43px;height:43px;color:var(--gold)}
.photo-pending span{font-size:11px}
.person-hero{background:white;border-bottom:1px solid var(--line)}
.person-hero-grid{display:grid;grid-template-columns:320px minmax(0,1fr);grid-template-areas:'portrait intro';align-items:center;gap:64px;padding:39px 0 43px}
.person-intro{grid-area:intro;min-width:0}
.person-intro .eyebrow{color:var(--blue);font-size:11px;letter-spacing:.16em;margin-bottom:16px}
.person-label{font-size:12px;letter-spacing:.06em;color:var(--blue)}
.person-intro h1{font-family:var(--serif);font-weight:500;font-size:40px;line-height:1.5;letter-spacing:.045em;margin:10px 0 16px;overflow-wrap:anywhere}
.person-role{font-size:13px;color:var(--muted);max-width:35em;line-height:1.9;margin:0 0 25px}
.person-summary{font:500 21px/1.9 var(--serif);max-width:26em;margin:0 0 19px}
.person-figure{grid-area:portrait;margin:0;min-width:0}
.person-figure figcaption{font-size:10px;line-height:1.7;color:var(--muted);margin-top:11px}
.person-figure figcaption a{color:inherit}
.profile-layout{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:62px;align-items:start}
.profile-content{min-width:0}
.profile-block .section-title{font-size:29px}
.profile-block p{font-size:14px;line-height:2.1;margin-bottom:18px}
.profile-areas{display:flex;gap:8px;flex-wrap:wrap;margin-top:25px}
.profile-areas span{font-size:11px;padding:5px 11px;background:#e9eff5;color:var(--blue)}
.profile-appearance{padding:29px;background:white;border:1px solid #d8c7a5;border-top:3px solid var(--gold);scroll-margin-top:25px}
.profile-appearance .eyebrow{font-size:10px;margin-bottom:8px}
.profile-appearance h2{font:500 23px/1.5 var(--serif);margin-bottom:20px}
.profile-time{font:500 20px/1.6 var(--numeric);font-variant-numeric:lining-nums tabular-nums;color:var(--blue);margin:0 0 9px;overflow-wrap:anywhere}
.profile-format{font-size:11px;color:var(--muted);border-bottom:1px solid var(--line);padding-bottom:17px;margin-bottom:20px}
.profile-appearance h3{font:500 21px/1.8 var(--serif);margin-bottom:16px}
.profile-appearance>p:not(.profile-time):not(.profile-format){font-size:13px;line-height:1.95}
.profile-points{padding-left:19px;font-size:12px;color:var(--muted);line-height:1.9;margin:20px 0}
.profile-points li+li{margin-top:9px}
.profile-session-note{padding-top:16px;border-top:1px solid var(--line);font-size:10px!important}
.profile-appearance-links{display:grid;gap:10px;margin-top:22px}
.profile-appearance-links .btn{font-size:12px;padding:10px}
.profile-official-links{display:grid;gap:11px;max-width:510px}
.profile-official-links .btn{justify-content:space-between;text-align:left;font-weight:500}
.profile-reading{border-top:1px solid var(--line)}
.profile-reading-link{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px 0;border-bottom:1px solid var(--line);font-size:13px;text-decoration:none}
.profile-reading-link svg{width:17px;height:17px}
.profile-books{border-top:1px solid var(--line);margin-top:28px;padding-top:20px}
.profile-books h3{font-size:14px;font-weight:500;margin:0 0 10px}
.profile-books ul{padding-left:18px;font-size:12px;color:var(--muted);line-height:2}
.profile-review{border-top:1px solid #d6dfe9;border-bottom:1px solid #d6dfe9;padding:16px 0;margin-top:32px;font-size:12px;color:var(--muted);overflow-wrap:anywhere}
.profile-review summary{cursor:pointer;color:var(--blue);font-size:12px;min-height:24px}
.profile-review h3{font-size:13px;font-weight:600;margin:19px 0 9px}
.profile-review p{margin:17px 0}
.profile-review ul{padding-left:19px;line-height:1.9}
.profile-review li+li{margin-top:8px}
.profile-bottom-links{display:flex;gap:12px;flex-wrap:wrap;padding-top:42px}
.profile-talk-links{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}
.profile-talk-links .btn{font-size:12px}
.signature a{color:inherit;text-decoration-color:var(--gold)}
@media(max-width:980px){.people-card-link{grid-template-columns:115px minmax(0,1fr)}.people-card-copy{padding:19px 17px}.people-card-copy h3{font-size:21px}.person-hero-grid{grid-template-columns:270px minmax(0,1fr);gap:36px}.profile-layout{grid-template-columns:minmax(0,1fr) 310px;gap:33px}.profile-appearance{padding:23px}}
@media(max-width:760px){.people-grid{grid-template-columns:1fr;gap:18px}.people-card-link{grid-template-columns:105px minmax(0,1fr)}.people-card .person-photo{min-height:210px}.people-card-copy{padding:18px 17px}.people-card-copy h3{font-size:22px;line-height:1.6;margin:7px 0}.people-card-summary{font-size:12px;margin-bottom:15px}.people-card-role{font-size:10px}.people-card-copy .label{font-size:10px}.people-card-more{font-size:10px;gap:5px}.people-card-more svg{width:16px;height:16px}.person-hero-grid{grid-template-columns:minmax(0,1fr);grid-template-areas:'intro' 'portrait';gap:22px;padding:27px 0 30px}.person-intro h1{font-size:31px;line-height:1.6;margin:8px 0 12px}.person-intro .eyebrow{font-size:10px;margin-bottom:11px}.person-label{font-size:11px}.person-role{font-size:12px;margin-bottom:19px}.person-summary{font-size:19px;line-height:1.9;margin-bottom:8px}.person-intro .section-link{font-size:12px}.person-figure{max-width:270px;width:100%;justify-self:center}.person-figure .person-photo{aspect-ratio:4 / 5}.profile-layout{grid-template-columns:minmax(0,1fr);gap:30px}.profile-appearance{grid-row:1;padding:23px;scroll-margin-top:16px}.profile-appearance h2{font-size:23px;margin-bottom:16px}.profile-time{font-size:20px}.profile-block .section-title{font-size:25px}.profile-block p{font-size:14px;line-height:2}.profile-bottom-links{padding-top:30px}.profile-bottom-links .btn{width:100%;font-size:12px}.profile-official-links .btn{font-size:12px}.profile-areas span{font-size:10px}.people-review-intro{font-size:12px;margin-bottom:29px}.photo-pending{min-height:180px}.photo-pending span{font-size:10px}.profile-talk-links .btn{width:100%}}
@media(max-width:360px){.people-card-link{grid-template-columns:88px minmax(0,1fr)}.people-card-copy{padding:16px 13px}.people-card-copy h3{font-size:20px}.people-card .person-photo{min-height:210px}.people-card-more{font-size:9px}.person-intro h1{font-size:28px}.person-figure{max-width:240px}.profile-appearance{padding:20px}.profile-time{font-size:19px}}
@media print{.profile-review,.preview-bar{display:none}.profile-layout{display:block}.person-hero-grid{grid-template-columns:220px 1fr;grid-template-areas:'portrait intro'}.people-card{break-inside:avoid}.profile-appearance{margin-top:25px}}

/* Keep portraits at their natural card ratio; long roles must not crop faces. */
.people-card-link{grid-template-rows:auto 1fr auto;align-items:start}
.people-card .person-photo{aspect-ratio:4 / 5;min-height:0;height:auto;align-self:start}
.people-card .photo-pending{min-height:0;height:100%;aspect-ratio:4 / 5}
.people-card-copy{padding:20px 22px 8px}
.people-card-role{margin-bottom:0}
.people-card-summary{grid-column:1 / -1;padding:18px 22px 0;margin:0 0 17px}
.people-card-more{grid-column:1 / -1;margin:0 22px 17px;align-self:end}
@media(max-width:980px){.people-card-copy{padding:16px 17px 8px}.people-card-summary{padding:17px 17px 0}.people-card-more{margin:0 17px 17px}}
@media(max-width:760px){.people-card-copy{padding:15px 16px 7px}.people-card-summary{padding:16px 17px 0;margin-bottom:15px}.people-card-more{font-size:11px}.people-card .person-photo{min-height:0}.people-card-copy h3{font-size:21px}.people-card .photo-pending span{font-size:9px}}
@media(max-width:360px){.people-card-copy{padding:13px 12px 7px}.people-card-copy h3{font-size:19px}.people-card .person-photo{min-height:0}.people-card-summary{padding:15px 14px 0}.people-card-more{margin-right:14px;margin-left:14px}}

@media(max-width:360px){.page-people .page-hero h1{font-size:28px;letter-spacing:.01em}}

.profile-appearance .profile-topic-label{font-size:11px!important;color:var(--blue);margin-bottom:8px}

@media(max-width:760px){.person-intro .person-name-satoshi{font-size:clamp(24px,7.7vw,31px)}}

/* Shared crop windows retain the supplied photos and align the four speakers. */
.person-photo-cropped img{position:absolute;max-width:none;aspect-ratio:auto;object-fit:fill}
.people-card .person-photo-cropped{height:auto;min-height:0;align-self:start}
