/* Job Fair Hero (acf/job-fair-hero). Shared tokens: css/job-fair-base.css
   Order: intro, info strip (date/time/location as high as possible), then the three
   photos as rounded rectangles with the green/yellow corner accents. */
.jf-block.jf-hero { position: relative; overflow: hidden; padding-top: 3rem; }
.jf-block.jf-hero .jf-hero__quarter { position: absolute; top: 28px; width: 34px; aspect-ratio: 1; pointer-events: none; }
.jf-block.jf-hero .jf-hero__quarter--blue { left: max(24px, calc((100% - 1400px) / 2)); background: #0351a3; border-radius: 0 0 100% 0; }
.jf-block.jf-hero .jf-hero__quarter--yellow { right: max(24px, calc((100% - 1400px) / 2)); background: #ffbf00; border-radius: 0 0 0 100%; }

.jf-block.jf-hero .jf-hero__intro { position: relative; text-align: center; }
.jf-block.jf-hero .jf-hero__title { margin-top: 1.25rem; font-size: clamp(44px, 5.8vw, 82px); line-height: .99; font-weight: 800; letter-spacing: -.045em; color: var(--jf-ink); }
.jf-block.jf-hero .jf-hero__title-accent { color: var(--jf-brand); }
.jf-block.jf-hero .jf-hero__lead { max-width: 42rem; margin: 1.5rem auto 0; font-size: 1.25rem; line-height: 1.455; color: var(--jf-muted); }
.jf-block.jf-hero .jf-hero__button { margin-top: 1.75rem; }

.jf-block.jf-hero .jf-hero__photos-wrap { max-width: 1440px; margin: 2.5rem auto 0; padding-inline: 24px; }
.jf-block.jf-hero .jf-hero__photos { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 12px; }
.jf-block.jf-hero .jf-hero__photo { position: relative; height: clamp(290px, 29vw, 430px); overflow: hidden; border-radius: 12px; }
.jf-block.jf-hero .jf-hero__photo img { width: 100%; height: 100%; object-fit: cover; object-position: top; }
.jf-block.jf-hero .jf-hero__photo--conversation img { object-position: 73% center; }
.jf-block.jf-hero .jf-hero__triangle { position: absolute; left: 0; bottom: 0; width: 65px; height: 65px; background: #34ad65; clip-path: polygon(0 0, 100% 100%, 0 100%); }
.jf-block.jf-hero .jf-hero__quarter-photo { position: absolute; right: 0; bottom: 0; width: 82px; height: 82px; background: #ffbf00; border-top-left-radius: 100%; border-top: 5px solid #fff; border-left: 5px solid #fff; }

.jf-block.jf-hero .jf-hero__strip { display: grid; gap: 1.25rem; padding: 1.5rem; border-radius: 12px; background: var(--jf-ice); font-size: 1rem; line-height: 1.5rem; color: var(--jf-navy); }
.jf-block.jf-hero .jf-hero__strip-item { display: flex; align-items: center; gap: 1rem; }
.jf-block.jf-hero .jf-hero__strip-label { font-weight: 600; }

@media (min-width: 768px) {
  .jf-block.jf-hero { padding-top: 4rem; }
  .jf-block.jf-hero .jf-hero__lead { font-size: 22px; }
  .jf-block.jf-hero .jf-hero__photos-wrap { margin-top: 3rem; }
  .jf-block.jf-hero .jf-hero__strip { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; padding: 1.75rem 2rem; }
  .jf-block.jf-hero .jf-hero__strip-item:nth-child(1) { padding-right: 1.25rem; }
  .jf-block.jf-hero .jf-hero__strip-item:nth-child(2) { padding-inline: 1.5rem; border-left: 1px solid var(--jf-rule); }
  .jf-block.jf-hero .jf-hero__strip-item:nth-child(3) { padding-left: 1.5rem; border-left: 1px solid var(--jf-rule); }
}
@media (min-width: 1024px) {
  .jf-block.jf-hero .jf-hero__strip { font-size: 1.125rem; line-height: 1.75rem; }
}
@media (max-width: 767px) {
  .jf-block.jf-hero .jf-hero__quarter { top: 16px; }
  .jf-block.jf-hero .jf-hero__quarter--blue { left: 16px; }
  .jf-block.jf-hero .jf-hero__quarter--yellow { right: 16px; }
  .jf-block.jf-hero .jf-hero__photos-wrap { padding-inline: 16px; }
  .jf-block.jf-hero .jf-hero__photos { gap: 6px; grid-template-columns: .8fr 1fr .8fr; }
  .jf-block.jf-hero .jf-hero__photo { height: 250px; }
  .jf-block.jf-hero .jf-hero__triangle { width: 30px; height: 30px; }
  .jf-block.jf-hero .jf-hero__quarter-photo { width: 38px; height: 38px; border-width: 3px; }
  .jf-block.jf-hero .jf-hero__strip-item + .jf-hero__strip-item { border-top: 1px solid var(--jf-rule); padding-top: 16px; }
}
@media (max-width: 379px) {
  .jf-block.jf-hero .jf-hero__title { font-size: 39px; }
  .jf-block.jf-hero .jf-hero__photo { height: 205px; }
}
