/* Home 2026 (front page). Rows built in WPBakery carry the class "lh" plus one per section.
   Type: Lato, as on the rest of the site. Weight carries the hierarchy: no tracking, no all-caps. */
.lh {
  --lh-sky: #ebf5fa;
  --lh-ink: #081f31;
  --lh-muted: #4c5d6a;
  --lh-line: #d2dde3;
  --lh-gold: #f5b33b;
  --lh-amber-ink: #a04400;
  --lh-teal: #016770;
  --lh-red: #e2352e;
  color: var(--lh-ink);
  font-family: "Lato", BlinkMacSystemFont, -apple-system, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  font-size: 16px;
  line-height: 1.55;
}
/* .wpb_row.lh: Salient sizes headings with ".col h2" */
.wpb_row.lh h1, .wpb_row.lh h2, .wpb_row.lh h3, .wpb_row.lh h4 {
  font-family: inherit;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: none;
  color: var(--lh-ink);
  margin: 0;
  padding: 0;
  text-wrap: balance;
}
.wpb_row.lh h1 { font-size: clamp(2.6rem, 6.2vw, 4.6rem); line-height: 1.08; margin-bottom: 1.4rem; }
.wpb_row.lh h2 { font-size: clamp(2rem, 4.5vw, 3rem); line-height: 1.1; }
.wpb_row.lh h3 { font-size: 1.1rem; line-height: 1.25; }
.lh p { margin: 0; padding: 0; }
.lh ul.lh-list, .lh .lh-board ul { list-style: none; margin: 0; padding: 0; }
.lh .lh-board ul li, .lh ul.lh-list li { list-style: none; margin: 0; }
.lh a { color: inherit; }
.lh a:focus-visible, .lh button:focus-visible { outline: 2px solid var(--lh-amber-ink); outline-offset: 3px; border-radius: 2px; }
.lh .wpb_text_column { margin-bottom: 0; }
.lh .wpb_text_column .wpb_wrapper > *:last-child { margin-bottom: 0; padding-bottom: 0; }
.lh .lh-label { font-size: .9rem; font-weight: 700; color: var(--lh-muted); }
.lh .lh-lede { max-width: 34rem; color: var(--lh-muted); font-size: 1.08rem; }

/* buttons: nectar_btn with el_class "lh-btn lh-btn-gold|lh-btn-ghost", and the program's ticket links */
.lh .lh-btn, .lh a.nectar-button.lh-btn {
  display: inline-flex;
  align-items: center;
  padding: .8rem 1.3rem !important;
  margin: 0 .6rem .6rem 0;
  border-radius: 999px !important;
  font-family: inherit;
  font-weight: 700;
  font-size: .95rem;
  line-height: 1.2;
  letter-spacing: 0;
  text-transform: none;
  text-decoration: none;
  white-space: nowrap;
  box-shadow: none;
  transition: background-color .2s, color .2s, border-color .2s;
}
.lh a.nectar-button.lh-btn span { font: inherit; letter-spacing: 0; text-transform: none; }
.lh .lh-btn-gold { background-color: var(--lh-gold) !important; color: var(--lh-ink) !important; border: 1.5px solid var(--lh-gold) !important; }
.lh .lh-btn-gold:hover { background-color: var(--lh-ink) !important; border-color: var(--lh-ink) !important; color: #fff !important; }
.lh .lh-btn-ghost { background-color: transparent !important; color: var(--lh-ink) !important; border: 1.5px solid var(--lh-ink) !important; }
.lh .lh-btn-ghost:hover { background-color: var(--lh-ink) !important; color: #fff !important; }

/* section heads: heading on the left, a link or a line of text on the right */
.lh .lh-section-head { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: 1rem 2rem; margin-bottom: 2rem; }
.lh .lh-section-head > p { max-width: 30rem; color: var(--lh-muted); }
.lh .lh-section-head > p.lh-wide { max-width: none; }
.lh .lh-more { font-weight: 700; color: var(--lh-amber-ink); text-decoration: none; }
.lh .lh-more:hover { text-decoration: underline; text-underline-offset: 4px; }

/* key art */
.lh-keyart .img-with-aniamtion-wrap, .lh-keyart img { width: 100%; }
.lh-keyart img { display: block; max-width: 1600px; margin-inline: auto; }

/* hero */
.lh .lh-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin: 2rem 0; padding: 1.1rem 0; border-block: 1px solid var(--lh-line); }
.lh .lh-facts dt { margin: 0 0 .3rem; font-size: .9rem; font-weight: 700; color: var(--lh-muted); }
.lh .lh-facts dd { margin: 0; padding: 0; font-weight: 700; }
.lh-hero h1 em { font-style: normal; color: var(--lh-amber-ink); }
.lh-hero .nectar-video-box { margin-bottom: .8rem; }
.lh-hero .nectar-video-box img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 6px; box-shadow: 0 18px 40px -22px rgba(8, 31, 49, .55); }
.lh .lh-badge { display: flex; align-items: center; gap: .5rem; font-weight: 700; color: var(--lh-ink); }
.lh .lh-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--lh-red); flex: none; }
.lh .lh-gala-time { margin-top: .45rem; font-size: .9rem; line-height: 1.45; color: var(--lh-muted); }
.lh .lh-gala-time a { color: var(--lh-ink); font-weight: 700; text-decoration: none; }
.lh .lh-gala-time a:hover { text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 690px) { .lh .lh-facts { grid-template-columns: minmax(0, 1fr); } }

/* festival hub */
.wpb_row.lh-hub h2 { margin-bottom: 1rem; }
.lh-hub .lh-lede { margin-bottom: 1.6rem; }
.lh .lh-hub-list li { display: grid; grid-template-columns: 9rem minmax(0, 1fr); gap: 1rem; padding: .9rem 0; border-top: 1px solid var(--lh-line); }
.lh .lh-hub-list li:last-child { border-bottom: 1px solid var(--lh-line); }
.lh .lh-hub-list b { font-weight: 900; font-size: 1.05rem; color: var(--lh-amber-ink); }
.lh .lh-hub-list span { color: var(--lh-muted); font-size: .94rem; }

/* program board ([labrff_program]) */
.lh .lh-tabs { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .5rem; margin-bottom: 1.5rem; }
.lh .lh-tab { appearance: none; display: grid; gap: .1rem; padding: .8rem .9rem; border: 1.5px solid var(--lh-line); border-radius: 8px; background: #fff; color: var(--lh-muted); font: inherit; text-align: left; cursor: pointer; transition: border-color .2s, color .2s, background-color .2s; }
.lh .lh-tab:hover { border-color: var(--lh-ink); color: var(--lh-ink); }
.lh .lh-tab[aria-selected="true"] { background: var(--lh-ink); border-color: var(--lh-ink); color: #fff; }
.lh .lh-tab-wd { font-size: .85rem; font-weight: 700; }
.lh .lh-tab-d { font-weight: 900; font-size: 2.2rem; line-height: 1.1; }
.lh .lh-tab[aria-selected="true"] .lh-tab-d { color: var(--lh-gold); }
.lh .lh-tab-tag { font-size: .85rem; }
@media (max-width: 690px) {
  .lh .lh-tabs { gap: .35rem; }
  .lh .lh-tab { padding: .6rem .45rem; text-align: center; }
  .lh .lh-tab-tag { display: none; }
  .lh .lh-tab-d { font-size: 1.7rem; }
}
.lh .lh-board-day { font-weight: 900; font-size: 1.3rem; margin-bottom: .5rem; }
.lh .lh-board-day span { margin-left: .6rem; color: var(--lh-muted); font-size: .9rem; font-weight: 400; }
.lh .lh-slots { border-bottom: 1px solid var(--lh-line); }
.lh .lh-slots > li.lh-slot { display: grid; grid-template-columns: 8rem minmax(0, 1fr) auto; gap: .5rem 1.75rem; align-items: start; padding: 1.35rem 0; border-top: 1px solid var(--lh-line); }
.lh .lh-slot-time { font-weight: 900; font-size: 1.9rem; line-height: 1; color: var(--lh-amber-ink); font-variant-numeric: tabular-nums; white-space: nowrap; }
.lh .lh-slot-time small { margin-left: .25rem; font-size: .9rem; font-weight: 700; color: var(--lh-muted); }
.lh .lh-aud { margin-top: .45rem; color: var(--lh-teal); font-size: .88rem; font-weight: 700; }
.lh .lh-slot-body { display: grid; gap: .55rem; min-width: 0; }
.lh .lh-slot-body .lh-badge { color: var(--lh-muted); font-size: .9rem; }
.lh .lh-slot-title, .lh .lh-films a { font-weight: 900; font-size: 1.3rem; line-height: 1.2; }
.lh .lh-films { display: grid; gap: .55rem; }
.lh .lh-films a { text-decoration: none; }
.lh .lh-films a:hover { color: var(--lh-amber-ink); }
.lh .lh-film-meta { display: block; margin-top: .15rem; color: var(--lh-muted); font-size: .88rem; }
.lh .lh-film-meta i { font-style: normal; color: var(--lh-teal); font-weight: 700; }
.lh .lh-notes { display: grid; gap: .1rem; color: var(--lh-muted); font-size: .9rem; }
.lh .lh-notes b { margin-right: .35rem; color: var(--lh-ink); font-weight: 700; font-variant-numeric: tabular-nums; }
.lh .lh-slot-cta { align-self: center; }
.lh .lh-slot-cta .lh-btn { margin: 0; padding: .55rem 1.1rem !important; font-size: .88rem; }
.lh .lh-quiet { font-size: .8rem; color: var(--lh-muted); white-space: nowrap; }
@media (max-width: 690px) {
  .lh .lh-slots > li.lh-slot { grid-template-columns: minmax(0, 1fr); }
  .lh .lh-slot-cta { align-self: start; }
}

/* competition posters ([film_posters]) and the lineup */
.lh .lh-posters { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.6rem 1rem; list-style: none; margin: 0; padding: 0; }
.lh .lh-posters li { list-style: none; margin: 0; }
@media (min-width: 690px) { .lh .lh-posters { grid-template-columns: repeat(5, minmax(0, 1fr)); } }
.lh .lh-poster { display: grid; gap: .55rem; text-decoration: none; }
.lh .lh-poster img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 4; object-fit: cover; border-radius: 4px; background: var(--lh-sky); transition: transform .3s, box-shadow .3s; }
.lh .lh-poster:hover img { transform: translateY(-4px); box-shadow: 0 14px 30px -18px rgba(8, 31, 49, .6); }
.lh .lh-poster p { color: var(--lh-muted); font-size: .84rem; line-height: 1.4; }
.lh .lh-poster p b { color: var(--lh-amber-ink); font-weight: 700; }
.lh .lh-lineup { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem 2rem; margin-top: 2.5rem; padding-top: 1.5rem; border-top: 1px solid var(--lh-line); }
.lh .lh-lineup div { display: grid; }
.lh .lh-lineup strong { font-weight: 900; font-size: 2.2rem; line-height: 1; font-variant-numeric: tabular-nums; }
.lh .lh-lineup span { font-size: .85rem; color: var(--lh-muted); }
.lh .lh-lineup .lh-more { margin-left: auto; }

/* panels */
.lh .lh-panel { display: grid; gap: .7rem; align-content: start; padding-top: 1.3rem; border-top: 3px solid var(--lh-ink); }
.lh .lh-panel h3 { font-size: 1.35rem; line-height: 1.2; }
.lh .lh-panel .lh-when { color: var(--lh-amber-ink); font-weight: 700; font-size: .9rem; }
.lh .lh-panel ul { display: grid; gap: .3rem; font-size: .92rem; font-weight: 700; }
.lh .lh-panel ul span { color: var(--lh-muted); font-weight: 400; }

/* numbers (Salient milestones on the amber gradient row) */
.wpb_row.lh-numbers h2 { max-width: 40rem; font-size: clamp(1.8rem, 4vw, 2.6rem); margin-bottom: 2rem; }
.lh-numbers .nectar-milestone { text-align: left; }
.lh-numbers .nectar-milestone .number,
.lh-numbers .nectar-milestone .number span { font-family: inherit; font-weight: 900; line-height: 1; letter-spacing: 0; color: var(--lh-ink); font-variant-numeric: tabular-nums; }
.lh-numbers .nectar-milestone .subject { margin-top: .4rem; padding: 0; font-family: inherit; font-size: 1rem; font-weight: 700; letter-spacing: 0; text-transform: none; color: var(--lh-ink); }

/* past editions */
.lh-past .nectar-video-box { margin-bottom: .6rem; }
.lh-past .nectar-video-box img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 6px; }
.wpb_row.lh-past h3 { font-size: 1rem; line-height: 1.3; }
.lh-past .lh-video-sub { color: var(--lh-muted); font-size: .85rem; }

/* sponsors: the heading leads into the logos of the site footer */
.lh-sponsors .lh-section-head { margin-bottom: 0; }

/* Salient overrides that need more weight than its own button and lightbox styles */
body .wpb_row.lh a.nectar-button.lh-btn { border-radius: 999px !important; }
.lh .nectar-video-box a.play_button_2 { border-radius: 50%; box-shadow: 0 6px 20px rgba(0, 0, 0, .3); transition: transform .3s; }
.lh .nectar-video-box a.play_button_2::before { background-color: rgba(255, 255, 255, .94) !important; opacity: 1 !important; }
.lh .nectar-video-box:hover a.play_button_2 { transform: scale(1.08); }
.lh .nectar-video-box a.play_button_2 svg path { fill: var(--lh-ink) !important; }

/* phones: the two galas and the four numbers sit two by two instead of stacking */
@media (max-width: 690px) {
  .lh-hero .inner_row > .row_col_wrap_12_inner,
  .lh-numbers .inner_row > .row_col_wrap_12_inner { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.6rem 1rem; }
  .lh-hero .inner_row > .row_col_wrap_12_inner::before, .lh-hero .inner_row > .row_col_wrap_12_inner::after,
  .lh-numbers .inner_row > .row_col_wrap_12_inner::before, .lh-numbers .inner_row > .row_col_wrap_12_inner::after { display: none; }
  .lh-hero .inner_row .child_column, .lh-numbers .inner_row .child_column { width: auto !important; margin: 0 !important; }
}
