.speak-hero{
  position:relative;
  min-height:92vh;
  display:flex;
  align-items:flex-end;
  overflow:hidden;
}
.speak-hero-media{ position:absolute; inset:0; }
.speak-hero-media img{ width:100%; height:100%; object-fit:cover; }
.speak-hero::after{
  content:''; position:absolute; inset:0;
  background:linear-gradient(to top, rgba(11,10,8,.88) 10%, rgba(11,10,8,.35) 55%, rgba(11,10,8,.05) 100%);
}
.speak-hero-copy{
  position:relative; z-index:2;
  color:var(--on-black);
  padding:60px var(--gutter) 80px;
  max-width:820px;
  display:flex; flex-direction:column; gap:22px;
}
.speak-hero-copy .lede{ color:var(--on-black-soft); }

.speak-note-section{ padding-top:clamp(56px,7vw,90px); padding-bottom:clamp(56px,7vw,90px); }
.speak-note{ border-top:1px solid var(--line); padding-top:10px; max-width:260px; }
.speak-note-main{ max-width:760px; }

.topics-section{ padding-top:clamp(70px,9vw,120px); }
.topics-section > .wrap > .display-l{ margin:16px 0 48px; max-width:20ch; }
.topics-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line); }
.topic-card{ background:var(--bg); padding:36px 30px; display:flex; flex-direction:column; gap:14px; }
.topic-number{ font-family:var(--serif); font-size:14px; color:var(--ink-faint); }
@media (max-width:900px){ .topics-grid{ grid-template-columns:1fr; } }

.formats-media img{ width:100%; height:100%; object-fit:cover; min-height:400px; }
.formats-copy{ display:flex; flex-direction:column; gap:18px; }
.formats-list{ display:flex; flex-direction:column; gap:10px; margin-top:6px; }
.formats-list li{
  font-family:var(--sans); font-size:14px; color:var(--on-black-soft);
  padding-left:18px; position:relative;
}
.formats-list li::before{ content:'—'; position:absolute; left:0; color:var(--gold); }
@media (max-width:900px){
  .formats-section .grid-12{ display:flex; flex-direction:column; gap:36px; }
  .formats-media, .formats-copy{ grid-column:auto !important; }
}

.booking-inner{ display:flex; justify-content:space-between; align-items:center; gap:40px; flex-wrap:wrap; }
.booking-copy{ max-width:600px; display:flex; flex-direction:column; gap:14px; }
@media (max-width:760px){ .booking-inner{ flex-direction:column; align-items:flex-start; } }
