/* Three comparable days; the approved three-column pattern also stays on mobile. */
#program .program-fit{width:100%;position:relative}
#program .program-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:22px;width:1248px;transform-origin:top left}
#program .program-day{margin:0;min-width:0;border-radius:18px}
#program .program-day>summary{display:flex;flex-direction:column;align-items:stretch;gap:22px;padding:28px;min-height:0}
#program .day-number{display:flex;align-items:center;justify-content:space-between;border:0;border-bottom:1px solid #b9afa1;padding-bottom:16px;font-size:30px;line-height:1.3}
#program .day-number small{margin:0;font-size:17px}
#program .day-title{display:block;font-size:36px;line-height:1.2;letter-spacing:-.03em}
#program .day-title em{display:block}
#program .day-toggle{justify-content:space-between;font-size:17px;min-height:52px;padding:10px 16px}
#program .day-toggle b{position:relative;width:30px;height:30px;flex:none;font-size:0;line-height:0;padding:0;box-sizing:border-box}
#program .day-toggle b::before,#program .day-toggle b::after{content:"";position:absolute;left:50%;top:50%;width:14px;height:1.5px;background:currentColor;transform:translate(-50%,-50%)}
#program .day-toggle b::after{transform:translate(-50%,-50%) rotate(90deg)}
#program .program-day>summary .day-context{padding:0;max-width:none;font-size:17px;line-height:1.6}
#program .day-context .day-result small{font-size:15px}
#program .day-context .day-result p{font-size:17px;line-height:1.6}
#program .day-schedule{padding:8px 28px;background:#fffaf2}
#program .session{padding:22px 0;min-width:0}
#program .session h3{font-size:20px;line-height:1.45;overflow-wrap:anywhere}
#program .session-speaker{font-size:16px;line-height:1.5}
#program #day-3 .vip-day-program{padding:28px}
#program #day-3 .vip-day-program h3{font-size:23px;line-height:1.4}
#program #day-3 .vip-day-program li{font-size:17px;line-height:1.6}
#program #day-3 .vip-grant{font-size:24px}
#program .program-columns p{overflow-wrap:anywhere}

#program .session-time{font-size:18px;line-height:1.4;font-weight:700;color:#ae2633;margin:0 0 10px;font-variant-numeric:tabular-nums}


#program #day-3>summary .vip-day-program{padding:22px 0 0;border-top:1px solid #d7cbbb;background:transparent}
#program #day-3 .vip-day-details{padding:22px 28px;font-size:18px;line-height:1.5}

/* Five VIP program items, with discussion subjects only inside the disclosure. */
#program #day-3 .vip-program-list{list-style:none;margin:0;padding:0;display:grid;gap:22px}
#program #day-3 .vip-program-list>li{position:relative;padding-left:20px;font-size:18px;line-height:1.6}
#program #day-3 .vip-program-list>li::before{content:"—";position:absolute;left:0;color:#c6202b}
#program #day-3 .vip-program-topics{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:12px}
#program #day-3 .vip-program-topics li{font-size:17px;line-height:1.6;padding:0}

/* The full speaker directory is closed until the visitor opens it. */
#speakers .speakers-disclosure>summary{display:flex;align-items:center;justify-content:space-between;gap:24px;list-style:none;cursor:pointer;padding:16px 24px;border-radius:999px;background:#b91d28;color:#fffaf2;max-width:440px;min-height:56px;font-size:20px;font-weight:600}
#speakers .speakers-disclosure>summary::-webkit-details-marker{display:none}
#speakers .speakers-disclosure>summary:focus-visible{outline:2px solid #b91d28;outline-offset:5px}
#speakers .speakers-hide{display:none}
#speakers .speakers-disclosure[open] .speakers-show{display:none}
#speakers .speakers-disclosure[open] .speakers-hide{display:inline}
#speakers .speakers-disclosure>summary b{position:relative;width:30px;height:30px;border:1px solid currentColor;border-radius:50%;flex:none}
#speakers .speakers-disclosure>summary b::before,#speakers .speakers-disclosure>summary b::after{content:"";position:absolute;left:50%;top:50%;width:14px;height:1.5px;background:currentColor;transform:translate(-50%,-50%)}
#speakers .speakers-disclosure>summary b::after{transform:translate(-50%,-50%) rotate(90deg)}
#speakers .speakers-disclosure[open]>summary b::after{transform:translate(-50%,-50%) rotate(0deg)}
@media(max-width:760px){#speakers .speakers-disclosure>summary{font-size:18px;padding:14px 20px;max-width:none}}
