:root{--ink:#172033;--muted:#637083;--line:#e1e7ef;--panel:#fff;--page:#f7f9fc;--blue:#1767c8;--blue-dark:#0e4d9b;--teal:#0f8f8c;--coral:#e15b3f;--soft-teal:#e7f7f5;--shadow:0 10px 28px rgba(23,32,51,.07);font-family:"Open Sans",Helvetica,Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-height:100vh;margin:0;padding:24px;background:var(--page);color:var(--ink);font-size:16px;line-height:1.45}a{color:inherit}.page-shell{width:min(1180px,100%);margin:0 auto}.page-header{display:flex;justify-content:space-between;align-items:center;gap:24px;min-height:auto;padding:18px 0 20px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:0;width:auto;color:var(--ink);font-size:0;text-decoration:none}.brand-mark{display:flex;align-items:center;width:auto;height:auto}.brand-mark img{width:auto;max-width:220px;height:auto;max-height:86px;object-fit:contain;filter:invert(1)}.heading-copy{max-width:620px;text-align:right}.eyebrow{margin:0 0 6px;color:var(--coral);font-size:12px;font-weight:800;letter-spacing:0;text-transform:uppercase}.heading-copy h1{margin:0;color:var(--blue-dark);font-size:34px;line-height:1.1;letter-spacing:0}.heading-copy>p:last-child{margin:8px 0 0;color:var(--muted);font-size:20px;font-weight:800}.intro{display:flex;justify-content:space-between;align-items:center;gap:24px;margin:20px 0 14px;padding:16px;border:1px solid var(--line);border-radius:8px;background:var(--panel)}.intro h2{margin:0 0 5px;color:var(--blue-dark);font-size:18px}.intro p{max-width:760px;margin:0;color:var(--muted);font-size:15px;font-weight:700}.all-bookings,.book-button{display:inline-flex;align-items:center;justify-content:center;width:fit-content;min-height:40px;padding:9px 14px;border-radius:8px;background:var(--blue);color:#fff;font-size:14px;font-weight:900;text-decoration:none}.all-bookings:hover,.all-bookings:focus-visible,.book-button:hover,.book-button:focus-visible{background:var(--blue-dark);outline:none}.day-nav{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px;padding:16px;border:1px solid var(--line);border-radius:8px;background:var(--panel)}.day-nav a{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:8px 13px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);font-size:14px;font-weight:800;text-decoration:none}.day-nav a:first-child{border-color:var(--blue);background:var(--blue);color:#fff}.day-nav a:last-child{border-color:var(--teal);background:var(--teal);color:#fff}.timetable{margin:0;scroll-margin-top:18px}.day-heading{display:flex;align-items:center;gap:10px;padding:11px 18px;border:1px solid #d8eeeb;border-bottom:0;border-radius:8px 8px 0 0;background:#f7fbfb;color:#08706e}.day-heading p,.day-heading h2{margin:0;font-size:13px;font-weight:900;text-transform:uppercase}.day-heading h2::before{content:"· ";color:#8bbab8}.table-wrap{overflow:hidden;margin-bottom:20px;border:1px solid var(--line);border-radius:0 0 8px 8px;background:var(--panel);box-shadow:var(--shadow)}table{width:100%;border-collapse:collapse}thead{background:#f1f6fc}th{padding:14px 18px;color:var(--blue-dark);font-size:12px;font-weight:800;text-align:left;text-transform:uppercase}td{padding:14px 18px;border-top:1px solid #eff3f8;color:var(--ink);font-size:15px;line-height:1.35;vertical-align:middle}tbody tr{min-height:86px}tbody tr:hover{background:#fbfdff}td:first-child{width:132px;color:var(--blue-dark);font-weight:900}td:nth-child(2) strong{display:block;font-size:16px;line-height:1.28}td:nth-child(3){width:140px;color:var(--muted);font-size:13px;font-weight:800}td:nth-child(4){width:105px;color:var(--muted);font-size:13px;font-weight:900}.activity-tag{display:inline-flex;align-items:center;width:auto;min-height:22px;margin-top:8px;padding:3px 8px;border-radius:999px;background:#f1f0fb;color:#454985;font-size:12px;font-weight:900}.activity-tag-teal{background:var(--soft-teal);color:#08706e}.book-cell{width:112px;text-align:left}.book-button{min-width:76px}.booking-note{margin:0 0 14px;padding:13px 16px;border:1px solid #cfe0ef;border-left:1px solid #cfe0ef;border-radius:8px;background:#fff}.booking-note h2{margin:0 0 5px;color:var(--blue-dark);font-size:15px}.booking-note p{margin:0;color:var(--ink);font-size:15px;font-weight:700}.site-footer,footer{padding:22px 0 6px;border:0;color:var(--muted);font-size:13px;text-align:center}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
@media(max-width:900px){body{padding:16px}.page-header{align-items:flex-start}.table-wrap{overflow:visible;border:0;background:transparent;box-shadow:none}thead{display:none}table,tbody,tr,td{display:block;width:100%}tbody{display:grid;gap:12px}tr{padding:14px 16px;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:var(--shadow)}td,td:first-child,td:nth-child(3),td:nth-child(4),.book-cell{width:100%;padding:5px 0;border:0}td:first-child{font-size:18px}.book-cell{padding-top:12px}.book-button{width:100%}td::before{display:none}}
@media(max-width:680px){body{padding:12px}.page-header{flex-direction:column;gap:14px}.heading-copy{text-align:left}.heading-copy h1{font-size:31px}.heading-copy>p:last-child{font-size:15px}.intro{align-items:flex-start;flex-direction:column}.day-nav{display:grid;grid-template-columns:1fr 1fr;padding:12px}.day-nav a{width:100%;text-align:center}.day-heading{align-items:flex-start;flex-direction:column;gap:1px}.day-heading h2::before{content:""}}
@media(max-width:430px){.day-nav{grid-template-columns:1fr}}
.book-cell{width:132px}.book-button{min-width:100px}
@media(max-width:900px){.book-cell{width:100%}.book-button{width:100%}}
.session-meta{display:block;margin-top:7px;color:var(--muted);font-size:13px;font-weight:700}.booking-note p+p{margin-top:9px}td:nth-child(3){width:180px}
.booking-note-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.booking-note-grid section+section{padding-left:22px;border-left:1px solid var(--line)}.booking-note h3{margin:0 0 7px;color:var(--ink);font-size:14px}.booking-note ul{margin:0;padding-left:19px;color:var(--muted);font-size:14px;font-weight:700}.booking-note li+li{margin-top:5px}.booking-note-grid p{margin:0;color:var(--muted);font-size:14px;font-weight:700}
@media(max-width:800px){.booking-note-grid{grid-template-columns:1fr;gap:16px}.booking-note-grid section+section{padding-top:16px;padding-left:0;border-top:1px solid var(--line);border-left:0}}
