/* v4.1: performance-specific casts and original performer photography. */
.session-intro{font-size:14px;line-height:1.9;margin:16px 0 20px}
.session-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-block:1px solid #a69a85;margin:0 0 8px}
.session-nav a{display:block;text-align:center;padding:12px 4px;color:var(--ink);font-size:15px;text-decoration:none}
.session-nav a+a{border-left:1px solid #c7bfb1}
.session-nav span{display:block;font-size:16px}
.session-nav a:hover{background:#e5dfd3}
.sessions,.session-card{scroll-margin-top:60px}
.sessions>.tickets{padding-top:20px;margin-bottom:62px}
.session-card{margin:0 0 74px;padding:0;border:0}
.session-header{position:relative;background:var(--ink);color:var(--paper);margin-inline:-25px;padding:22px 25px 16px;border-bottom:3px solid #a58c60;isolation:isolate}
.session-header::before{content:"";position:absolute;inset:14px;border:1px solid #6d5a3a;pointer-events:none;z-index:-1}
.session-cover{display:grid;grid-template-columns:42% 58%;align-items:center;min-height:236px;position:relative}
.session-cover-copy{padding-bottom:18px;position:relative;z-index:1}
.session-header h3{font-size:26px;font-weight:400;line-height:1.6;letter-spacing:.06em;white-space:nowrap}
.session-time{font-size:40px;line-height:1.25;margin:19px 0 10px;font-variant-numeric:normal;letter-spacing:0}
.session-time span{display:block;font-size:12px;color:#d3b985;margin:7px 0 0;letter-spacing:.12em}
.session-end{font-size:12px;color:#d0c9be;white-space:nowrap}
.session-photo{display:block;width:100%;height:274px;max-width:100%;object-fit:contain;object-position:center;align-self:start;margin-top:-46px;position:relative;z-index:2}
.session-doors{display:flex;justify-content:space-between;gap:12px;font-size:12px;color:#dfd7c9;border-top:1px solid #65553c;padding-top:12px;margin-top:2px}
.session-doors span{color:#d3b985}
.session-highlights{padding:22px 0 19px;border-bottom:1px solid #b8a98f;display:grid;gap:9px}
.session-highlights p{font-size:18px;line-height:1.7;margin:0}
.session-highlights span{display:block;font-size:11px;line-height:1.7;color:#705b36;letter-spacing:.08em;margin-bottom:2px}
.session-cast>div{padding:18px 0;border-bottom:1px solid #d1c9bd;display:grid;grid-template-columns:58px minmax(0,1fr);gap:12px}
.session-cast dt{font-size:12px;color:#6a5636;margin-top:3px;line-height:1.8}
.session-cast dd{font-size:15px;line-height:1.85;overflow-wrap:anywhere}
.session-cast ul{list-style:none;margin:0;padding:0}
.session-cast li+li{margin-top:14px}
.session-cast small{display:block;font-size:12px;line-height:1.85;color:#554c40;margin-top:3px}
.session-cast>.session-martial-cast{display:block;background:#e8e1d5;margin:16px -10px 0;padding:17px 16px 19px;border:0}
.session-martial-cast dt{display:flex;align-items:center;gap:9px;margin:0 0 13px}
.session-martial-cast dt::before{content:"";width:4px;height:15px;background:#987c4c}
.session-martial-cast li+li{border-top:1px solid #d1c5b3;padding-top:12px;margin-top:12px}
.session-music-cast li+li{margin-top:11px}
.session-purchase{margin-top:24px;font-size:20px;justify-content:space-between;gap:12px}
.session-purchase small{display:block;font-size:12px;line-height:1.6;margin-top:3px}
.session-purchase .arrow{flex:0 0 32px}
.session-notes{margin-top:14px}
.sessions>.overseas-link{margin:22px 0 30px}
.session-nav a:focus-visible,.session-purchase:focus-visible{outline:3px solid #877452;outline-offset:4px}
@media(max-width:359px){.session-header{margin-inline:-20px;padding-inline:20px}.session-header h3{font-size:24px}.session-time{font-size:36px}.session-photo{height:254px}.session-cover{min-height:218px}.session-cast>div{grid-template-columns:48px minmax(0,1fr);gap:10px}.session-highlights p{font-size:17px}}
