@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 — matches talentxmachina.com */
: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; }

/* Normalize both legacy home templates and the event template. */
.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; }

/* Keep icon fonts out of the text typography overrides. */
.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; }
}