:root{--culture-ink:#10283b;--culture-muted:#526675;--culture-purple:#65539b;--culture-line:#d9e1e7;--culture-paper:#f5f8fa}
*{box-sizing:border-box}
body{margin:0;min-width:320px;color:var(--culture-ink);background:var(--culture-paper);font:400 1rem/1.7 "Open Sans",Arial,sans-serif}
a{color:inherit}
.skip{position:fixed;z-index:100;top:.5rem;left:.5rem;padding:.65rem .9rem;color:#fff;background:#10283b;transform:translateY(-160%)}
.skip:focus{transform:none}
.wrap{width:min(1120px,calc(100% - 40px));margin:auto}
.page-hero{min-height:390px;padding:88px 0 78px;display:flex;align-items:center}
.page-hero .eyebrow{margin:0 0 .8rem;font-size:.78rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.page-hero h1{max-width:900px;margin:0;font-size:clamp(2.15rem,4.5vw,4.15rem);font-weight:600;line-height:1.08;letter-spacing:-.035em}
.intro{padding:70px 0 44px;background:#fff}
.intro-grid{display:block}
.intro-copy{max-width:960px;font-size:1.06rem}
.intro-copy p{margin:0;color:var(--culture-muted)}
.programme{padding:42px 0 92px}
.programme-head{margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid var(--culture-line)}
.programme-head .eyebrow{margin:0 0 .35rem;color:var(--culture-purple);font-size:.75rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.programme-head h2{margin:0;font-size:clamp(2rem,4vw,3.25rem);line-height:1.08}
.events{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.event{padding:1.45rem 1.5rem 1.55rem;border:1px solid var(--culture-line);border-top:5px solid var(--culture-purple);border-radius:18px;background:#fff;box-shadow:0 12px 32px rgba(16,40,59,.07)}
.event time{display:inline-flex;margin-bottom:.8rem;padding:.28rem .6rem;border-radius:999px;color:#fff;background:var(--culture-purple);font-size:.78rem;font-weight:800;letter-spacing:.04em}
.event h3{margin:0 0 .9rem;font-size:1.24rem;line-height:1.3}
.event .speaker{margin:0;color:var(--culture-ink);font-weight:800}
footer{padding:31px 0;color:rgba(255,255,255,.62);background:#051525;font-size:.8rem}
.foot{display:flex;justify-content:space-between;align-items:center;gap:2rem}
.foot-links{display:flex;flex-wrap:wrap;gap:1.2rem}
footer a{text-decoration:none}
@media(max-width:760px){.wrap{width:min(100% - 28px,1120px)}.page-hero{min-height:330px;padding:62px 0}.intro{padding:52px 0 32px}.events{grid-template-columns:1fr}.foot{align-items:flex-start;flex-direction:column}}
