@import url('https://fonts.googleapis.com/css2?family=Overpass:wght@400;500;600&family=Inter:ital,wght@0,400;0,500;0,600;0,700;1,400;1,600&family=IBM+Plex+Serif:ital,wght@0,400;0,500;0,600;1,400;1,600&display=swap');
/* Shared typography system — canonical reference for both sites */
:root {
  --font-body: "Inter", Arial, sans-serif;
  --font-display: "IBM Plex Serif", Georgia, serif;
  --font-meta: "Overpass", Arial, sans-serif;
  --type-body-size: 18px;
  --type-body-leading: 1.55;
  --type-display-1-size: 4.6rem;
  --type-display-1-leading: 1.1;
  --type-display-2-size: 1.8rem;
  --type-display-2-leading: 1.1;
  --type-display-4-size: 1.1rem;
  --type-display-4-leading: 1.5;
  --type-display-5-size: 1.5rem;
  --type-display-5-leading: 1.5;
  --type-display-7-size: 1.2rem;
  --type-display-7-leading: 1.5;
}

body { font-family: var(--font-body) !important; font-size: var(--type-body-size); line-height: var(--type-body-leading); font-weight: 400; text-wrap: pretty; orphans: 2; widows: 2; }
h1, h2, h3, h4, h5, h6 { text-wrap: balance; orphans: 2; widows: 2; }
p, li, blockquote, figcaption { text-wrap: pretty; orphans: 2; widows: 2; }
.navbar-nav .nav-link { font-family: var(--font-meta) !important; font-size: var(--type-display-4-size) !important; line-height: var(--type-display-4-leading) !important; font-weight: 400 !important; }
.hero h1 { font-family: var(--font-display) !important; font-size: clamp(48px, 5.6vw, 80px) !important; line-height: 1.02 !important; font-weight: 400 !important; letter-spacing: -0.045em; }
.hero .intro { font-family: var(--font-body) !important; font-size: 22px !important; line-height: 1.45 !important; font-weight: 400 !important; }
.hero .kicker, .hero .label { font-family: var(--font-meta) !important; font-size: 12px !important; line-height: 1.5 !important; font-weight: 400 !important; letter-spacing: 0.12em; }
.homepage-intro { font-family: var(--font-body) !important; font-size: var(--type-display-7-size) !important; line-height: var(--type-display-7-leading) !important; font-weight: 400 !important; }
.section-kicker { display: inline-block; font-family: var(--font-meta) !important; font-size: var(--type-display-4-size) !important; line-height: var(--type-display-4-leading) !important; font-style: normal !important; font-weight: 600 !important; letter-spacing: 0.08em; text-transform: uppercase; }
.event-subtitle { font-family: var(--font-meta) !important; font-size: var(--type-display-5-size) !important; line-height: var(--type-display-5-leading) !important; font-style: normal !important; font-weight: 400 !important; letter-spacing: 0.08em; text-transform: uppercase; }
.display-1 { font-family: var(--font-display) !important; font-size: var(--type-display-1-size) !important; line-height: var(--type-display-1-leading) !important; font-style: italic !important; font-weight: 400; }
.display-2 { font-family: var(--font-body) !important; font-size: var(--type-display-2-size) !important; line-height: var(--type-display-2-leading) !important; font-style: normal; font-weight: 400; }
.display-4 { font-family: var(--font-meta) !important; font-size: var(--type-display-4-size) !important; line-height: var(--type-display-4-leading) !important; font-style: normal; font-weight: 400; }
.display-5 { font-family: var(--font-body) !important; font-size: var(--type-display-5-size) !important; line-height: var(--type-display-5-leading) !important; font-style: normal; font-weight: 400; }
.card-title.display-5, .mbr-section-subtitle.display-5 { font-family: var(--font-meta) !important; text-transform: uppercase; letter-spacing: 0.08em; }
.display-7 { font-family: var(--font-body) !important; font-size: var(--type-display-7-size) !important; line-height: var(--type-display-7-leading) !important; font-style: normal; font-weight: 400; }
em, i, .italic { font-style: italic; font-weight: 400; }
strong, b { font-weight: 600; }
.mbr-iconfont.socicon, [class^="socicon-"], [class*=" socicon-"] { font-family: "Socicon" !important; font-style: normal !important; font-weight: normal !important; line-height: 1 !important; }
[class^="mobi-"], [class*=" mobi-"] { font-family: "Moririse2" !important; font-style: normal !important; font-weight: normal !important; line-height: 1 !important; }
@media (max-width: 768px) {
  .display-1 { font-size: clamp(2.26rem, 6.5vw, var(--type-display-1-size)) !important; }
  .display-2 { font-size: clamp(1.28rem, 3.8vw, var(--type-display-2-size)) !important; }
  .display-4 { font-size: clamp(1.035rem, 2.35vw, var(--type-display-4-size)) !important; }
  .display-5 { font-size: clamp(1.175rem, 3.1vw, var(--type-display-5-size)) !important; }
  .display-7 { font-size: clamp(1.07rem, 2.55vw, var(--type-display-7-size)) !important; }
}