:root{--colour-primary: #183664;--colour-primary-dark: #0e2547;--colour-secondary: #9cd4ff;--colour-accent: #95b5e6;--colour-link: #4587d0;--colour-text: #444444;--colour-muted: #707070;--colour-bg: #eef1f6;--colour-card: #ffffff;--colour-border: #e0e0e0;--radius: 1.1rem;--radius-pill: 3em;--shadow: 0 6px 24px rgba(24, 54, 100, .08);--font-headings: "Poppins", system-ui, sans-serif;--font-body: "Open Sans", system-ui, sans-serif}*{box-sizing:border-box}body{margin:0;font-family:var(--font-body);color:var(--colour-text);background:var(--colour-bg);line-height:1.6}h1,h2,h3{font-family:var(--font-headings);color:var(--colour-primary);line-height:1.2}h1{font-size:clamp(1.9rem,5vw,2.75rem)}h2{font-size:clamp(1.45rem,4vw,2.25rem)}h3{font-size:1.25rem}.band{background:linear-gradient(135deg,var(--colour-primary) 0%,#2c4f8f 100%);color:#fff;border-radius:1.5rem;padding:2rem 1.75rem;margin-bottom:2.5rem;box-shadow:var(--shadow)}.band h1,.band h2,.band h3{color:#fff}.band a{color:var(--colour-secondary)}.band .muted{color:var(--colour-accent)}.band .button{background:#fff;color:var(--colour-primary)}.band .button:hover{background:var(--colour-secondary);color:var(--colour-primary-dark)}.band .button-secondary{background:transparent;color:#fff;border:2px solid #fff}.band .button-secondary:hover{background:#fff;color:var(--colour-primary)}a{color:var(--colour-link);overflow-wrap:anywhere}.site{min-height:100vh;display:flex;flex-direction:column}.site-header{position:sticky;top:0;z-index:10;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem 1rem;padding:.9rem 1.5rem;background:var(--colour-card);border-bottom:1px solid var(--colour-border);box-shadow:0 2px 12px #1836640f}.site-title{display:flex;align-items:center;gap:.6rem;font-family:var(--font-headings);font-size:1.35rem;font-weight:700;color:var(--colour-primary);text-decoration:none}.site-logo{height:42px;width:auto;position:relative;top:-2px}.site-nav{display:flex;flex-wrap:wrap;gap:.25rem 1.25rem}.nav-link{font-family:var(--font-headings);font-weight:600;font-size:.95rem;color:var(--colour-text);text-decoration:none;padding-bottom:2px}.nav-link:hover{color:var(--colour-primary)}.nav-link-active{color:var(--colour-primary);border-bottom:3px solid var(--colour-secondary)}.site-main{flex:1;width:100%;max-width:960px;margin:0 auto;padding:2rem 1.5rem}.site-footer{margin-top:2rem;padding:2rem 1.5rem;text-align:center;background:var(--colour-primary);color:#fff}.site-footer a{color:var(--colour-secondary)}.footer-logo{height:52px;width:auto;margin-bottom:.75rem}.hero-logo{height:76px;width:auto;margin-bottom:1rem}.hero{display:grid;place-items:center;text-align:center;padding:clamp(2.5rem,7vw,4.5rem) 1rem;margin:-2rem calc(50% - 50vw) 2.5rem;border-radius:0 0 var(--radius) var(--radius);background-image:url(/img/landscape.jpg);background-size:cover;background-position:center 60%}.hero-card{max-width:34rem;padding:1.75rem 2rem 2rem;border-radius:var(--radius);background:#ffffffe0;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);box-shadow:var(--shadow)}.hero h1{color:var(--colour-primary-dark);font-size:2rem;margin:0 0 .5rem}.tagline{color:var(--colour-muted);font-size:1.1rem;margin:0}.hero-actions{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap;margin-top:1.75rem}.hero-card .button{background:var(--colour-primary);color:#fff}.hero-card .button:hover{background:var(--colour-primary-dark)}.hero-card .button-secondary{background:transparent;color:var(--colour-primary);border:2px solid var(--colour-primary)}.hero-card .button-secondary:hover{background:var(--colour-primary);color:#fff}.section{margin-bottom:2.5rem}.section h1,.section h2{color:var(--colour-primary)}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.25rem;margin-top:1.25rem}.card{background:var(--colour-card);border:1px solid var(--colour-border);border-radius:var(--radius);padding:1.5rem;box-shadow:var(--shadow);transition:transform .2s ease,box-shadow .2s ease}.card:hover{transform:translateY(-3px);box-shadow:0 12px 32px #18366424}.card h3{margin-top:0}.event-meta{color:var(--colour-muted);font-size:.95rem}.event-price{display:inline-block;font-family:var(--font-headings);font-weight:600;font-size:.95rem;background:var(--colour-secondary);color:var(--colour-primary);border-radius:var(--radius-pill);padding:.25rem .9rem}.event-sessions{margin:.75rem 0 1rem;padding:.85rem 1rem;background:var(--colour-bg);border-radius:8px;display:grid;gap:.75rem}.event-session{border-top:1px solid var(--colour-border);padding-top:.6rem}.event-session:first-child{border-top:none;padding-top:0}.event-session-day{margin:0 0 .35rem;font-family:var(--font-headings);font-weight:600;color:var(--colour-primary)}.event-slot{display:grid;grid-template-columns:1fr auto;column-gap:.75rem;padding:.2rem 0}.event-slot-group{font-weight:600}.event-slot-time{color:var(--colour-muted);font-variant-numeric:tabular-nums}.event-slot-note{grid-column:1 / -1;color:var(--colour-muted);font-size:.92rem}.event-image{display:block;width:100%;max-height:420px;object-fit:contain;border-radius:8px;margin-bottom:1rem;background:var(--colour-bg)}@media (min-width: 680px){.event-card{display:flex;gap:1.5rem;align-items:flex-start}.event-card .event-image{flex:0 0 240px;width:240px;max-height:none;margin-bottom:0}.event-card-body{flex:1;min-width:0}}.contact-email{overflow-wrap:anywhere}.committee-card{text-align:center}.committee-photo{width:120px;height:120px;border-radius:50%;object-fit:cover;margin-bottom:.75rem;border:4px solid var(--colour-secondary);background:var(--colour-border)}.button{display:inline-block;font-family:var(--font-headings);font-weight:600;background:var(--colour-primary);color:#fff;padding:.65rem 1.6rem;border-radius:var(--radius-pill);text-decoration:none;border:none;cursor:pointer;overflow-wrap:anywhere;max-width:100%;transition:background .2s ease,color .2s ease}.button:hover{background:var(--colour-primary-dark)}.button-secondary{background:transparent;color:var(--colour-primary);border:2px solid var(--colour-primary)}.button-secondary:hover{background:var(--colour-primary);color:#fff}.muted{color:var(--colour-muted)}
