/* TSN editorial timeline, matching the supplied 9 November layout. */
.cultural-timeline{max-width:1160px;margin:0 auto var(--section-gap);padding:0 40px;box-sizing:border-box}
.timeline-heading{text-align:center;max-width:850px;margin:0 auto 100px}
.timeline-heading h2{margin:0;color:var(--color-accent);font:400 clamp(34px,3.2vw,48px)/1.08 var(--font-display);letter-spacing:0}
.timeline-heading>p{max-width:640px;margin:16px auto 22px;font:500 18px/1.5 var(--font-body);color:var(--color-accent)}
.timeline-heading .jtext-link{font-size:14px;color:var(--color-muted)}
.timeline-opening{position:relative;isolation:isolate;min-height:410px;margin-bottom:88px}
.timeline-opening>.jphoto{position:absolute;left:0;top:0;min-width:0;width:78%;height:100%;aspect-ratio:auto}
.timeline-opening-date{position:absolute;right:0;top:0;bottom:0;box-sizing:border-box;width:30%;padding:32px;background:var(--color-ink);color:var(--color-paper);border-radius:0 4px 4px 0}
.timeline-date{display:flex;flex-direction:column;gap:4px;width:260px;max-width:82%;box-sizing:border-box;padding:20px;background:var(--color-paper);color:var(--color-ink)}
.timeline-date strong{font:500 32px/1.1 var(--font-body);letter-spacing:-1px}
.timeline-date>span{font:500 13px/1.4 var(--font-body);letter-spacing:0}
.timeline-date>span:last-child{max-width:23ch}
.timeline-date.is-navy{width:auto;max-width:none;padding:0;background:var(--color-clear);color:inherit}
.timeline-opening-date>.jtext-link{margin-top:28px;font-size:12px;white-space:normal}
.cultural-timeline .timeline-opening-date>.jtext-link{color:var(--color-paper)}
.timeline-opening-copy{position:absolute;z-index:1;box-sizing:border-box;width:64%;left:20%;bottom:0;padding:24px 28px;background:var(--color-paper)}
.timeline-artists>.programme-tag{font-size:12px;line-height:1.5;color:var(--color-muted);margin:0 0 14px;letter-spacing:0}
.timeline-artists>p:last-child{margin:0;font:500 22px/1.32 var(--font-body);letter-spacing:-.5px}
.timeline-opening-copy .timeline-artists>p:last-child{font-size:18px}
.cultural-timeline .jtext-link{color:var(--color-muted);font-size:13px;white-space:normal;margin-top:16px}
.timeline-events{position:relative;max-width:1000px;margin:auto}
.timeline-event{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:96px;padding-bottom:110px}
.timeline-event::before{content:'';position:absolute;left:50%;top:0;bottom:0;width:1px;background:var(--color-rule);z-index:-1}
.timeline-event::after{content:'';position:absolute;left:calc(50% - 4px);top:0;width:9px;height:9px;border-radius:50%;background:var(--color-ink)}
.timeline-visual{position:relative;min-width:0}
.timeline-visual>.jphoto{height:100%}
.timeline-visual>.timeline-date{position:absolute;left:20px;bottom:20px}
.timeline-event-copy{min-width:0;padding:8px 0 24px}
.timeline-event-copy h3{margin:0 0 20px;font:500 24px/1.3 var(--font-body);letter-spacing:-.6px}
.timeline-teachers{min-height:620px}
.timeline-teachers>.timeline-visual{margin-left:70px;height:460px}
.timeline-teachers>.timeline-event-copy{max-width:340px}
.timeline-launch{gap:16px 20px;padding-top:0}
.timeline-launch::before{top:-110px;bottom:-1px}
.timeline-launch::after{top:-110px}
.timeline-launch>.timeline-event-copy{background:var(--color-paper);padding-bottom:12px;align-self:end}
.timeline-launch>.timeline-event-copy:first-child{padding-right:48px}
.timeline-launch>.timeline-event-copy:nth-child(2){padding-left:48px}
.timeline-launch>.timeline-visual,.timeline-launch>.jphoto{height:340px}
.timeline-forum{align-items:center;min-height:700px;padding-bottom:90px}
.timeline-forum>.timeline-event-copy{max-width:320px;margin-left:auto}
.timeline-forum .timeline-artists{margin-top:70px}
.timeline-forum-photos{display:grid;gap:20px;margin-right:70px}
.timeline-forum-photos>.jphoto{height:300px}
.timeline-forum-photos>.timeline-visual{height:340px}
.timeline-links{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 48px;margin:10px auto 0}
.timeline-portraits{position:absolute;left:0;top:0;width:78%;height:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;overflow:clip}
.timeline-portraits .artist-portrait{height:100%;aspect-ratio:auto}
.artist-portrait img{object-position:50% 22%}
.artist-name{position:absolute;left:10px;top:12px;max-width:calc(100% - 20px);box-sizing:border-box;padding:6px 8px;background:var(--color-paper);color:var(--color-ink);font:500 12px/1.3 var(--font-body);letter-spacing:0;z-index:1}
.hero-consult>.link-arrow,.hero-location>a>.link-arrow{font-size:22px}
@media(max-width:1100px){.timeline-opening-date{padding:24px;width:32%}.timeline-date strong{font-size:26px}.timeline-opening-copy{width:66%;left:14%;padding:24px}.timeline-opening{min-height:430px}.timeline-event{column-gap:64px}.timeline-teachers>.timeline-visual{margin-left:32px}.timeline-forum-photos{margin-right:32px}.timeline-launch{column-gap:20px}.timeline-launch>.timeline-event-copy:first-child{padding-right:24px}.timeline-launch>.timeline-event-copy:nth-child(2){padding-left:24px}}
@media(max-width:700px){.cultural-timeline{margin-inline:20px;padding:0}.timeline-heading{margin-bottom:48px;text-align:center}.timeline-heading h2{font-size:34px}.timeline-heading>p{font-size:16px;margin-top:14px}.timeline-heading .jtext-link{font-size:12px}.timeline-opening{display:flex;flex-direction:column;min-height:0;margin-bottom:64px}.timeline-opening>.jphoto{position:relative;inset:auto;aspect-ratio:1.55;order:0}.timeline-opening-date{position:static;width:100%;padding:24px;order:1;border-radius:0 0 3px 3px}.timeline-opening-date>.jtext-link{margin-top:12px}.timeline-opening-copy{top:auto;width:100%;margin:0;padding:28px 0 0;order:2}.timeline-opening-copy .timeline-artists>p:last-child{font-size:18px}.timeline-events{padding-left:22px}.timeline-event{display:flex;flex-direction:column;gap:24px;min-height:0;padding-bottom:56px}.timeline-event::before{left:-18px}.timeline-event::after{left:-22px;top:0}.timeline-teachers>.timeline-visual{margin:0;width:85%;height:360px}.timeline-teachers>.timeline-event-copy{max-width:none}.timeline-event-copy{padding:0}.timeline-event-copy h3{font-size:21px;line-height:1.4}.timeline-artists>p:last-child{font-size:20px;line-height:1.4}.timeline-date{left:14px!important;bottom:14px!important;padding:16px;max-width:86%;width:230px}.timeline-date strong{font-size:26px}.timeline-date>span{font-size:12px}.timeline-launch::before{top:0;bottom:0}.timeline-launch::after{top:0}.timeline-launch>.timeline-event-copy:first-child,.timeline-launch>.timeline-event-copy:nth-child(2){padding:0}.timeline-launch>.timeline-event-copy:nth-child(2){order:3}.timeline-launch>.timeline-visual{height:300px;order:1}.timeline-launch>.jphoto{height:240px;order:2}.timeline-forum>.timeline-event-copy{max-width:none;margin:0}.timeline-forum .timeline-artists{margin-top:24px}.timeline-forum-photos{margin-right:0;width:85%;align-self:flex-end;gap:16px}.timeline-forum-photos>.jphoto{height:230px}.timeline-forum-photos>.timeline-visual{height:310px}.timeline-links{display:grid;justify-content:start;gap:0;margin-top:0}.cultural-timeline .jtext-link{font-size:13px}}
@media(max-width:700px){.timeline-opening>.jphoto{width:100%;height:auto;aspect-ratio:1.55}.timeline-opening-copy{position:static;left:auto;bottom:auto}}
/* Phone: a single left-hand spine; all activity content stays to its right. */
@media(max-width:700px){.timeline-flow{position:relative;padding-left:24px}.timeline-flow::before{content:'';position:absolute;left:4px;top:0;bottom:0;width:1px;background:var(--color-rule)}.timeline-events{padding-left:0}.timeline-event::before{display:none}.timeline-event::after,.timeline-opening::after{content:'';position:absolute;left:-24px;top:0;width:9px;height:9px;border-radius:50%;background:var(--color-ink)}.timeline-event::after{left:-24px}.timeline-teachers>.timeline-visual,.timeline-forum-photos{width:100%}}
@media(max-width:700px){.timeline-portraits{position:relative;inset:auto;width:100%;height:220px;order:0}.artist-name{left:5px;top:7px;max-width:calc(100% - 10px);padding:5px;font-size:10px}}
