.presenters-grid {
 display:grid;
 grid-template-columns:repeat(3,minmax(0,1fr));
 gap:24px;
 }

.presenter-card {
 border:1px solid var(--border);
 border-radius:16px;
 overflow:hidden;
 }

.presenter-portrait {
 position:relative;
 display:grid;
 place-items:center;
 height:220px;
 background:linear-gradient(135deg,#f9f2f5,#f1e8ee);
 }

.presenter-portrait .host-photo {
 width:154px;
 height:154px;
 box-shadow:0 0 0 8px #fff8;
 }

.presenter-portrait > span {
 position:absolute;
 bottom:24px;
 left:calc(50% + 40px);
 display:grid;
 place-items:center;
 width:40px;
 height:40px;
 border-radius:50%;
 color:#fff;
 background:var(--primary);
 border:3px solid #f7eff3;
 }

.presenter-copy {
 padding:25px;
 }

.presenter-copy .eyebrow {
 font-size:calc(8px * var(--text-scale,1));
 letter-spacing:.1em;
 }

.presenter-copy h2 {
 font-size:calc(28px * var(--text-scale,1));
 margin:9px 0 14px;
 }

.presenter-copy > p {
 color:var(--muted);
 font-size:calc(13px * var(--text-scale,1));
 line-height:1.8;
 min-height:96px;
 }

.presenter-programs {
 border-top:1px solid var(--border);
 margin-top:20px;
 padding-top:18px;
 }

.presenter-programs h3 {
 font-size:calc(14px * var(--text-scale,1));
 margin-bottom:12px;
 }

.presenter-programs a {
 display:grid;
 grid-template-columns:minmax(0,1fr) 18px;
 gap:4px 8px;
 padding:12px;
 background:#f6f7f8;
 border-radius:8px;
 margin-top:8px;
 transition:background .2s;
 }

.presenter-programs a:hover {
 background:#ffeff0;
 }

.presenter-programs strong {
 font-size:calc(12px * var(--text-scale,1));
 }

.presenter-programs a > span {
 grid-column:1;
 color:var(--muted);
 font-size:calc(10px * var(--text-scale,1));
 }

.presenter-programs .icon {
 grid-column:2;
 grid-row:1 / 3;
 align-self:center;
 width:17px;
 height:17px;
 color:var(--primary);
 }

.presenter-social {
 display:flex;
 margin-top:15px;
 }

.team-callout {
 margin:30px 0;
 padding:28px;
 background:#f6f2f6;
 border-radius:14px;
 display:flex;
 justify-content:space-between;
 gap:20px;
 align-items:center;
 }

.team-callout h2 {
 font-size:calc(25px * var(--text-scale,1));
 }

.team-callout p {
 font-size:calc(13px * var(--text-scale,1));
 color:var(--muted);
 margin-top:8px;
 }

@media(max-width:950px) {
 .presenters-grid {
 grid-template-columns:repeat(2,minmax(0,1fr));
 }
 }

@media(max-width:600px) {
 .presenters-grid {
 grid-template-columns:1fr;
 gap:18px;
 }
 .presenter-copy > p {
 min-height:0;
 }
 .team-callout {
 flex-direction:column;
 align-items:flex-start;
 padding:23px;
 }
 }


.host-uploaded { overflow:hidden; }.host-uploaded>img { display:block;width:100%;height:100%;object-fit:cover;object-position:center; }.presenter-copy>p { white-space:pre-line;overflow-wrap:anywhere; }
.presenter-copy h2,.presenter-copy .eyebrow,.program-card .host-name,.on-air-info p,.mini-program span { overflow-wrap:anywhere; }
