html{font-family:var(--font-sans, "Geist", "Inter", system-ui, sans-serif);scroll-behavior:smooth}body{margin:0;background:var(--pg-bg, #fff);color:var(--fg-2, #1A2A33)}.hub-shell{max-width:1200px;margin:0 auto;padding:0 48px}@media(max-width:800px){.hub-shell{padding:0 24px}}.hub-topbar{position:sticky;top:0;z-index:50;background:#ffffffeb;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--pg-line)}.hub-topbar__inner{display:flex;align-items:center;justify-content:space-between;padding:18px 0}.hub-topbar__brand img{height:44px;display:block}.hub-topbar__cta{font-size:14px;font-weight:500;color:var(--fg-2);text-decoration:none;opacity:.8;transition:opacity .2s,color .2s}.hub-topbar__cta:hover{opacity:1;color:var(--med-bright-teal)}@media(max-width:600px){.hub-topbar__cta{display:none}}.hub-hero{padding:clamp(72px,12vh,140px) 0 clamp(48px,8vh,96px)}.hub-hero__inner{max-width:920px}.hub-hero__eyebrow{display:inline-block;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--med-bright-teal);font-weight:600;margin-bottom:24px}.hub-hero__title{font-size:clamp(40px,5.5vw,80px);font-weight:600;letter-spacing:-.025em;line-height:1.02;color:var(--med-dark-teal);margin:0 0 28px}.hub-hero__lead{font-size:clamp(17px,1.4vw,21px);line-height:1.55;color:var(--fg-3, #808080);max-width:720px;margin:0}.hub-events{padding:0 0 96px}.hub-events--past{padding-top:64px;border-top:1px solid var(--pg-line);margin-top:32px}.hub-events__head{margin-bottom:32px;display:flex;align-items:baseline;gap:24px;flex-wrap:wrap}.hub-events__eyebrow{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--med-bright-teal);font-weight:700}.hub-events__title{font-size:clamp(24px,2.8vw,38px);font-weight:500;margin:0;color:var(--med-dark-teal);letter-spacing:-.02em}.hub-events__grid{list-style:none;padding:0;margin:0;display:grid;gap:28px;grid-template-columns:repeat(auto-fit,minmax(min(360px,100%),1fr))}.hub-card{display:block;background:#fff;border:1px solid var(--pg-line);border-radius:24px;overflow:hidden;text-decoration:none;color:inherit;transition:transform .35s var(--ease-emphasized, cubic-bezier(.2,0,0,1)),border-color .35s,box-shadow .35s;box-shadow:0 0 0 6px #3681a90a,0 12px 32px -10px #06567526}.hub-card:hover{transform:translateY(-4px);border-color:#3681a973;box-shadow:0 0 0 8px #3681a914,0 24px 48px -12px #06567540}.hub-card__media{aspect-ratio:16/9;overflow:hidden;background:linear-gradient(135deg,var(--med-dark-teal) 0%,var(--med-bright-teal) 100%);position:relative}.hub-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease-emphasized, cubic-bezier(.2,0,0,1))}.hub-card:hover .hub-card__media img{transform:scale(1.04)}.hub-card__body{padding:28px 28px 32px}.hub-card__badge{display:inline-block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;padding:5px 10px;border-radius:999px;margin-bottom:16px}.hub-card__badge--upcoming{background:var(--med-bteal-20, #D7E6EE);color:var(--med-dark-teal)}.hub-card__badge--live{background:var(--sec-coral, #F5856D);color:#fff}.hub-card__badge--past{background:#0000000f;color:var(--fg-3, #808080)}.hub-card__name{font-size:clamp(24px,2.4vw,32px);font-weight:600;letter-spacing:-.02em;line-height:1.1;color:var(--med-dark-teal);margin:0 0 6px}.hub-card__full{font-size:15px;color:var(--fg-3);margin:0 0 20px}.hub-card__meta{list-style:none;padding:0;margin:0 0 20px;display:grid;gap:8px}.hub-card__meta li{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--fg-2)}.hub-card__meta li svg{color:var(--med-bright-teal);flex:none}.hub-card__meta-line{font-size:14px;color:var(--fg-3);margin:0}.hub-card__desc{font-size:15px;line-height:1.55;color:var(--fg-3);margin:0 0 24px}.hub-card__cta{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:600;color:var(--med-bright-teal);transition:gap .25s var(--ease-emphasized, cubic-bezier(.2,0,0,1))}.hub-card:hover .hub-card__cta{gap:12px;color:var(--med-dark-teal)}.hub-card--past .hub-card__body{padding:24px 28px}.hub-card--past:hover{transform:translateY(-2px)}.hub-footer{padding:32px 0;border-top:1px solid var(--pg-line);font-size:13px;color:var(--fg-3)}.hub-footer p{margin:0}.hub-footer a{color:var(--med-bright-teal);text-decoration:none;font-weight:500}.hub-footer a:hover{color:var(--med-dark-teal)}
