/* Session pages (/event/<slug>/) and the live parts of /sessions/.
   Built on the approved VEN tokens in pathways/hospitality.css. */

.s-session-head .v-eyebrow a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.s-session-head h1{text-wrap:balance}
.s-session-head .v-lead{margin-top:22px}
.s-session-status{margin-top:18px;font-size:14px;line-height:1.6;color:var(--copper)}
.s-session-status--in_progress{color:var(--steel)}
.s-session-actions{margin-top:30px}
.s-session-image img{aspect-ratio:auto;max-height:520px;object-fit:cover}

.s-session-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(260px,.85fr);gap:72px;align-items:start}
.s-session-body h2{font-size:28px;line-height:1.25}
.s-session-body h2:not(:first-child){margin-top:52px}
.s-session-body>p{margin-top:18px;font-size:16px;line-height:1.75}

.s-rich{margin-top:18px;font-size:16px;line-height:1.75;color:var(--ink);max-width:68ch}
.s-rich>*+*{margin-top:16px}
.s-rich ul,.s-rich ol{padding-left:22px}
.s-rich ul{list-style:disc}
.s-rich ol{list-style:decimal}
.s-rich li+li{margin-top:8px}
.s-rich li>p{margin:0}
.s-rich h3,.s-rich h4{font-size:20px;line-height:1.35;margin-top:28px}
.s-rich a{color:var(--steel);text-decoration:underline}
.s-rich strong{font-weight:600}

.s-points{margin-top:18px;max-width:68ch}
.s-points li{position:relative;padding:14px 0 14px 28px;border-top:1px solid var(--rule);font-size:16px;line-height:1.65}
.s-points li:last-child{border-bottom:1px solid var(--rule)}
.s-points li::before{content:"";position:absolute;left:4px;top:25px;width:8px;height:8px;border-radius:50%;background:var(--steel)}

.s-agenda{margin-top:18px;padding:0;list-style:none;max-width:68ch}
.s-agenda li{padding:20px 0;border-top:1px solid var(--rule)}
.s-agenda li:last-child{border-bottom:1px solid var(--rule)}
.s-agenda h3{font-size:20px;line-height:1.35}
.s-agenda p{font-size:15px;line-height:1.7;margin-top:8px}
.s-agenda .s-agenda-time{margin-top:0;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}

.s-session-facts{position:sticky;top:24px;padding:30px;background:var(--paper);border:1px solid var(--rule);border-radius:var(--radius)}
.s-session-facts dl>div{padding:16px 0;border-top:1px solid var(--rule)}
.s-session-facts dl>div:first-child{padding-top:0;border-top:0}
.s-session-facts dt{font-size:11px;font-weight:500;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}
.s-session-facts dd{margin:6px 0 0;font-size:15px;line-height:1.6;color:var(--ink)}
.s-session-facts .v-note{margin-top:18px}
.s-session-facts .v-note a{color:var(--steel);text-decoration:underline}
.s-tags{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 0;padding:0;list-style:none}
.s-tags li{padding:5px 11px;border:1px solid var(--rule);border-radius:999px;font-size:12px;line-height:1.4;background:var(--chalk)}

.s-host-section{padding-block:80px;background:var(--chalk)}
.s-host{display:grid;grid-template-columns:minmax(0,1fr);gap:48px;max-width:1080px}
.s-host--photo{grid-template-columns:260px minmax(0,1fr);align-items:start}
.s-host-photo{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 25%;border-radius:var(--radius);background:var(--limestone)}
.s-host-copy h2{font-size:34px;line-height:1.2}
.s-host-line{margin-top:10px;font-size:16px;color:var(--steel)}
.s-host-copy .s-rich{margin-top:22px;font-size:15px}
.s-host-copy .v-text-link{margin-top:18px;color:var(--steel)}

.s-recent{padding-block:80px}
.s-recent .v-event-date strong{color:var(--muted)}
.s-empty{padding:35px 0;border-top:1px solid var(--rule);font-size:15px}

@media (max-width:1120px){
  .s-session-grid{gap:48px}
}
@media (max-width:900px){
  .s-session-grid{grid-template-columns:minmax(0,1fr)}
  .s-session-facts{position:static;order:-1}
  .s-host--photo{grid-template-columns:180px minmax(0,1fr);gap:32px}
}
@media (max-width:600px){
  .s-session-facts{padding:22px}
  .s-session-body h2{font-size:24px}
  .s-host-section,.s-recent{padding-block:56px}
  .s-host--photo{grid-template-columns:minmax(0,1fr)}
  .s-host-photo{max-width:220px}
  .s-host-copy h2{font-size:28px}
}
