/* Hosts — set like the foot of the printed programme */
.hosts{padding-block:clamp(64px,8vw,104px) 0;}
.hosts-title{display:flex;align-items:center;gap:20px;font:500 12px/1 var(--sans);letter-spacing:.34em;text-transform:uppercase;color:var(--gold-deep);}
.hosts-title::before,.hosts-title::after{content:'';flex:1;height:1px;background:var(--gold-line);}
.host-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:34px;text-align:center;}
.host-name{font:400 clamp(20px,2vw,24px)/1.3 var(--serif);color:var(--ink);}
.host-role{margin-top:6px;font:300 15px/1.4 var(--sans);color:var(--muted);}
@media (max-width:640px){ .host-list{grid-template-columns:1fr;gap:26px;} }

/* Venue */
.venue-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(32px,6vw,96px);align-items:start;}
.venue .sec-head{margin-bottom:0;}
.venue-list{border-top:1px solid var(--gold-line);}
.venue-list > div{display:grid;grid-template-columns:110px minmax(0,1fr);gap:20px;padding:20px 0;border-bottom:1px solid var(--gold-hair);}
.venue-list dt{font:500 15px/1.5 var(--sans);color:var(--gold-deep);font-variant-numeric:tabular-nums;}
.venue-list dd{font:400 17px/1.5 var(--sans);color:var(--ink);}
.venue-list dd span{display:block;font-weight:300;font-size:15px;color:var(--muted);}
.venue-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px;}
@media (max-width:860px){ .venue-grid{grid-template-columns:1fr;} }
@media (max-width:480px){ .venue-actions .btn{flex:1 1 100%;} .venue-list > div{grid-template-columns:86px minmax(0,1fr);} }
