* {
  box-sizing: border-box;
}

/* The global LPU header parks its off-canvas mobile menu just off the right
   edge, which makes the document ~405px wider than the viewport on phones.
   `clip` (not `hidden`) kills the sideways pan without creating a scroll
   container, so `position: sticky` on .bic-navigation keeps working. */
html,
body {
  overflow-x: clip;
}
.mfp-title {
  display: none !important;
}

.accordion .accordion-header {
  padding: 20px 0 0 !important;
}
.bic-accord-btn.accordion-button::after,
.bic-accord-btn.accordion-button:not(.collapsed)::after {
  background-image: none !important;
}
.accordion-button:not(.collapsed)::after {
  right: 20px;
}
.accordion-button::after {
  right: 20px;
}

.text-orange {
  background: linear-gradient(
    90deg,
    var(--orange-400, #fb923c) 0%,
    #eb5b48 100%
  );
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* ============================================================
   ANCHOR SCROLL OFFSET
   The global LPU header is fixed (105px tall, 55px on mobile) and
   .bic-navigation sticks directly beneath it, so a bare #hash jump
   parks the section top underneath both bars and the heading is lost.
   Offset every jump target by the height of that stack, plus a little
   breathing room. Pure CSS so it also covers the initial scroll when
   landing on index.php#prizes from another page.
   ============================================================ */
:root {
  /* 105px header + 73px nav + 22px gap */
  --bic-anchor-offset: 200px;
}

html {
  scroll-behavior: smooth;
}

/* Respect the OS "reduce motion" setting — a long animated jump is a common
   vestibular trigger, so those users get the instant jump back. */
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
}

section[id] {
  scroll-margin-top: var(--bic-anchor-offset);
}

/* Brochure CTA is hidden here, so the nav bar itself gets ~20px shorter */
@media (max-width: 1279.98px) {
  :root {
    --bic-anchor-offset: 180px;
  }
}

/* Global header drops to 55px and the nav leaves the flow entirely - it is a
   floating toggler here, so only the header height needs clearing */
@media (max-width: 991.98px) {
  :root {
    --bic-anchor-offset: 75px;
  }
}

/* ============================================================
   NAVIGATION
   ============================================================ */
.bic-navigation {
  background-color: rgba(250, 250, 248, 0.96);
  border-bottom: 1px solid rgba(0, 0, 0, 0.07);
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
  position: sticky;
  top: 105px;
  z-index: 2;
}

.bic-navbar {
  padding: 0;
}

/* Inner container: 1280px max, 24px side padding, 16px vertical padding */
.bic-nav-container {
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
  padding: 16px 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

/* --- Nav links --- */
.bic-nav-collapse {
  flex-grow: 0;
}

.bic-nav-links {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 28px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.bic-nav-link {
  padding: 0;

  font-weight: 500;
  font-size: 14px;
  line-height: 20px;
  color: #555555;
  text-align: center;
  white-space: nowrap;
  transition: color 0.2s ease;
}

.bic-nav-link:hover,
.bic-nav-link:focus {
  color: #ff6b35;
}

/* ============================================================
   SHARED CTA BUTTON
   One filled pill for every call to action on the site — the
   look the active gallery tab already had. Anything that needs
   to read as a button joins this selector list instead of
   growing its own background/radius/type rules.
   ============================================================ */
.bic-btn-download,
.bic-btn-primary,
.bic-invest-btn,
.bic-gallery-tab.is-active {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 26px;
  border: 1px solid transparent;
  border-radius: 999px;
  background-color: #ff6b35;
  background-image: linear-gradient(90deg, #ff6b35 0%, #ff9046 100%);

  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 700;
  font-size: 15px;
  line-height: 20px;
  color: #ffffff;
  white-space: nowrap;
  cursor: pointer;
  transition:
    filter 0.2s ease,
    transform 0.1s ease;
}

.bic-btn-download:hover,
.bic-btn-download:focus,
.bic-btn-primary:hover,
.bic-btn-primary:focus,
.bic-invest-btn:hover,
.bic-invest-btn:focus,
.bic-gallery-tab.is-active:hover {
  filter: brightness(0.93);
  color: #ffffff;
}

.bic-btn-download:active,
.bic-btn-primary:active,
.bic-invest-btn:active,
.bic-gallery-tab.is-active:active {
  transform: translateY(1px);
}

.bic-btn-download:focus-visible,
.bic-btn-primary:focus-visible,
.bic-invest-btn:focus-visible,
.bic-gallery-tab:focus-visible {
  outline: 2px solid #ff6b35;
  outline-offset: 2px;
}

/* Icons sit at a single size in every button. */
.bic-btn-download .bic-btn-icon,
.bic-btn-primary .bic-btn-icon,
.bic-btn-outline .bic-btn-icon,
.bic-invest-btn svg {
  flex-shrink: 0;
  width: 16px;
  height: 16px;
  display: block;
}

/* --- Download button ---
   Same pill/gradient as the shared CTA, only tightened for the navbar. */
.bic-btn-download {
  padding: 10px 20px;
  font-size: 14px;
  box-shadow:
    0px 1px 1.5px rgba(0, 0, 0, 0.1),
    0px 1px 1px rgba(0, 0, 0, 0.1);
  text-align: center;
}

.bic-btn-icon {
  flex-shrink: 0;
  width: 14px;
  height: 14px;
  display: block;
}

/* --- Mobile toggler ---
   Bootstrap's .navbar-toggler-icon is a background-image that the LPU
   stylesheets override, so the icon is inline SVG driven by currentColor. */
.bic-nav-toggler {
  order: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  padding: 4px 8px;
  background-color: transparent;
  color: #0f0f0f;
  line-height: 0;
}

.bic-nav-toggler svg {
  display: block;
  width: 26px;
  height: 26px;
}

.bic-nav-toggler:focus {
  box-shadow: none;
}

.bic-nav-toggler:focus-visible {
  outline: 2px solid #ff6b35;
  outline-offset: 2px;
  border-radius: 6px;
}

/* ============================================================
   RESPONSIVE
   ============================================================ */
/* ============================================================
   HERO
   ============================================================ */
.bic-hero {
  position: relative;
  width: 100%;
  min-height: 581px;
  background-image: url("../images/hero-bg.webp");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: right center;
  overflow: hidden;
}

.bic-hero-inner {
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 24px;
}

.bic-hero-content {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  max-width: 588px;
  padding-top: 120px;
  padding-bottom: 57px;
}

.bic-hero-title {
  display: block;
  width: 474px;
  max-width: 100%;
  height: auto;
}

.bic-hero-lead {
  margin: 24px 0 0;
  max-width: 512px;

  font-weight: 400;
  font-size: 18px;
  line-height: 29.25px;
  color: #0f0f0f;
}

.bic-hero-sub {
  margin: 16px 0 0;

  font-weight: 400;
  font-size: 14px;
  line-height: 20px;
  color: #0f0f0f;
}

.bic-hero-actions {
  display: flex;
  gap: 16px;
  margin-top: 40px;
}

/* Primary (filled) button — styling comes from the shared CTA rule. */

/* Outline button: the secondary next to it, so it borrows the CTA's
   pill geometry and type and only swaps the fill for a border. */
.bic-btn-outline {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 26px;
  background-color: #ffffff;
  border: 1px solid #e2ddd7;
  border-radius: 999px;

  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 700;
  font-size: 15px;
  line-height: 20px;
  color: #0f0f0f;
  white-space: nowrap;
  cursor: pointer;
  transition:
    border-color 0.2s ease,
    background-color 0.2s ease;
}

.bic-btn-outline:hover,
.bic-btn-outline:focus {
  border-color: #ffbb9c;
  background-color: #fff8f4;
  color: #0f0f0f;
}

.bic-btn-outline:focus-visible {
  outline: 2px solid #ff6b35;
  outline-offset: 2px;
}

/* ============================================================
   BHARAT 2047 BAND  (full-width orange strip under the hero)
   ============================================================ */
.bic-band {
  background-color: #ff6b35;
  padding: 34px 0;
}

.bic-band-inner {
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 24px;
}

.bic-band-title {
  margin: 0;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 700;
  font-size: 24px;
  line-height: 34px;
  color: #ffffff;
}

.bic-band-text {
  margin: 8px 0 0;
  max-width: 1140px;

  font-weight: 400;
  font-size: 15px;
  line-height: 26px;
  color: #ffffff;
}

@media (max-width: 991px) {
  .bic-band-title {
    font-size: 21px;
    line-height: 30px;
  }
}

@media (max-width: 575px) {
  .bic-band {
    padding: 28px 0;
  }

  .bic-band-title {
    font-size: 19px;
    line-height: 27px;
  }

  .bic-band-text {
    font-size: 14px;
    line-height: 24px;
  }
}

/* ============================================================
   STATS SECTION
   ============================================================ */
.bic-stats {
  background-color: #ffffff;
  padding: 80px 0;
}

.bic-stats-inner {
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 24px;
}

.bic-stats-eyebrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 20px;
  background-color: #fff6ef;
  border: 1.333px solid #fbd9be;
  border-radius: 999px;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 700;
  font-size: 12px;
  line-height: 18.6px;
  color: #f2682a;
}

.bic-stats-heading {
  margin: 12px 0 0;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 700;
  font-size: 36px;
  line-height: 40px;
  color: #1c1917;
  text-align: center;
}

.bic-stats-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 24px;
  margin-top: 48px;
}

/* Cards carry no icon, so the copy is centred in the box instead of
   hanging off a fixed icon at the top. */
.bic-stat-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 10px;
  border-radius: 24px;
  min-height: 120px;
}

.bic-stat-card--blue {
  background-color: #eff6ff;
}
.bic-stat-card--green {
  background-color: #f0fdf4;
}
.bic-stat-card--orange {
  background-color: #fff4ed;
}
.bic-stat-card--purple {
  background-color: #f5f3ff;
}

.bic-stat-number {
  margin: 0;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 700;
  font-size: 32px;
  line-height: 40px;
  color: #1c1917;
  text-align: center;
}

.bic-stat-label {
  margin: 4px 0 0;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 700;
  font-size: 16px;
  line-height: 24px;
  color: #292524;
  text-align: center;
}

/* Text-only cards: the label is the whole card, so give it the weight the
   number would otherwise carry */
.bic-stat-label:first-child {
  font-size: 18px;
  line-height: 26px;
}

/* ============================================================
   PHOTO GALLERY GRID (gallery.php — Magnific Popup lightbox)
   ============================================================ */
.bic-photo-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  margin-top: 40px;
}

.bic-photo-item {
  display: block;
  position: relative;
  overflow: hidden;
  border-radius: 16px;
  background-color: #f5f5f4;
  line-height: 0;
}

.bic-photo-item img {
  display: block;
  width: 100%;
  height: 220px;
  object-fit: cover;
  transition: transform 0.4s ease;
}

.bic-photo-item:hover img,
.bic-photo-item:focus img {
  transform: scale(1.06);
}

.bic-photo-item:focus-visible {
  outline: 2px solid #f2682a;
  outline-offset: 3px;
}

/* --- Masonry variant: mixed-size images (news clippings) ---
   Column flow instead of a grid, so nothing has to be cropped to a
   common height and each clipping stays readable at its own ratio. */
.bic-photo-grid--masonry {
  display: block;
  columns: 4;
  column-gap: 20px;
}

.bic-photo-grid--masonry .bic-photo-item {
  break-inside: avoid;
  margin-bottom: 20px;
  border: 1px solid #eee6de;
  background-color: #ffffff;
}

.bic-photo-grid--masonry .bic-photo-item img {
  height: auto;
}

/* --- Carousel variant: two rows drifting right-to-left (Slick) ---
   The grid rules above stay in force until Slick has taken the track over,
   so the photos never flash as one full-width column while main.js loads. */
.bic-photo-grid--carousel.slick-initialized {
  display: block;
  margin: 40px -10px 0;
}

/* Only the first two rows are worth showing pre-init - the rest would push
   the page down and then snap back the moment the track is built. */
.bic-photo-grid--carousel:not(.slick-initialized) .bic-photo-item:nth-child(n + 9) {
  display: none;
}

/* Slick's `rows` option nests each photo in a row div of its own, so the
   gutters go there - padding on the item itself would show up inside its
   rounded card. */
.bic-photo-grid--carousel .slick-slide > div {
  padding: 10px;
}

@media (max-width: 991px) {
  .bic-photo-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
  }

  .bic-photo-item img {
    height: 180px;
  }

  .bic-photo-grid--masonry {
    columns: 3;
    column-gap: 16px;
  }

  .bic-photo-grid--masonry .bic-photo-item {
    margin-bottom: 16px;
  }

  .bic-photo-grid--carousel:not(.slick-initialized) .bic-photo-item:nth-child(n + 7) {
    display: none;
  }

  .bic-photo-grid--carousel .slick-slide > div {
    padding: 8px;
  }

  .bic-photo-grid--carousel.slick-initialized {
    margin: 40px -8px 0;
  }
}

@media (max-width: 575px) {
  .bic-photo-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
    margin-top: 28px;
  }

  .bic-photo-item {
    border-radius: 12px;
  }

  .bic-photo-item img {
    height: 130px;
  }

  .bic-photo-grid--masonry {
    columns: 2;
    column-gap: 12px;
  }

  .bic-photo-grid--masonry .bic-photo-item {
    margin-bottom: 12px;
  }

  .bic-photo-grid--carousel:not(.slick-initialized) .bic-photo-item:nth-child(n + 5) {
    display: none;
  }

  .bic-photo-grid--carousel .slick-slide > div {
    padding: 6px;
  }

  .bic-photo-grid--carousel.slick-initialized {
    margin: 28px -6px 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .bic-photo-item img {
    transition: none;
  }

  .bic-photo-item:hover img,
  .bic-photo-item:focus img {
    transform: none;
  }
}

/* ============================================================
   ABOUT SECTION
   ============================================================ */
.bic-about {
  background-color: #fff5ef;
  padding: 80px 0;
}

.bic-about-inner {
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 24px;
}

.bic-about-top {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: center;
}

/* Media */
/* Slick writes pixel widths inline on its track and slides. A grid item
   defaults to min-width:auto, so those pixels become the column's minimum and
   the media side grows past its 1fr share - hence min-width:0. */
.bic-about-media {
  min-width: 0;
}

.bic-about-media img {
  display: block;
  width: 100%;
  height: auto;
}

/* --- Media slider (Slick, no arrows) --- */
.bic-about-slider {
  position: relative;
  width: 100%;
  max-width: 100%;
}

/* Before Slick initialises, only the first slide should show, otherwise the
   whole stack flashes down the page on load. */
.bic-about-slider:not(.slick-initialized) .bic-about-slide:nth-child(n + 2) {
  display: none;
}

/* The slides come from different shoots, so lock them to the original art's
   ratio and crop rather than letting each one resize the column. */
.bic-about-slide img {
  aspect-ratio: 584 / 500;
  object-fit: cover;
  border-radius: 16px;
}

.bic-about-slider .slick-dots {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin: 20px 0 0;
  padding: 0;
  list-style: none;
}

.bic-about-slider .slick-dots li button {
  overflow: hidden;
  width: 8px;
  height: 8px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background-color: #e2ddd7;
  text-indent: -9999px;
  cursor: pointer;
  transition:
    width 0.2s ease,
    background-color 0.2s ease;
}

.bic-about-slider .slick-dots li.slick-active button {
  width: 22px;
  border-radius: 999px;
  background-color: #ff6b35;
}

/* Content */
.bic-about-eyebrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 20px;
  background-color: #fff6ef;
  border: 1.333px solid #fbd9be;
  border-radius: 999px;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 700;
  font-size: 12px;
  line-height: 18.6px;
  color: #f2682a;
}

.bic-about-heading {
  margin: 8px 0 0;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 700;
  font-size: 35px;
  line-height: 1.3;
  color: #0f0f0f;
}

.bic-about-text {
  margin: 20px 0 0;

  font-weight: 400;
  font-size: 16px;
  line-height: 26px;
  color: #555555;
}

.bic-about-features {
  margin: 32px 0 0;
  padding: 0;
  list-style: none;
}

.bic-about-features li {
  display: flex;
  gap: 12px;
  align-items: flex-start;
}

.bic-about-features li + li {
  margin-top: 12px;
}

.bic-check-icon {
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  margin-top: 2px;
}

.bic-about-features span {

  font-weight: 500;
  font-size: 14px;
  line-height: 20px;
  color: #333333;
}

.bic-about-btn {
  margin-top: 40px;
}

/* Info cards */
.bic-about-cards {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 27px;
  margin-top: 32px;
}

.bic-about-card {
  background-color: #ffffff;
  border: 0.556px solid #efe8e0;
  border-radius: 16px;
  padding: 24.556px;
  box-shadow:
    0px 1px 1px rgba(22, 19, 15, 0.04),
    0px 14px 17px rgba(22, 19, 15, 0.24);
}

.bic-about-card-title {
  margin: 0;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 700;
  font-size: 18px;
  line-height: 27.9px;
  color: #16130f;
}

.bic-about-card-text {
  margin: 12px 0 0;

  font-weight: 400;
  font-size: 14.5px;
  line-height: 22.475px;
  color: #5d5850;
}

/* ============================================================
   YOUR PATH  (Who can participate)
   ============================================================ */
.bic-path {
  background-color: #ffffff;
  padding: 80px 0;
}

.bic-path-inner {
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 24px;
}

.bic-path-head {
  text-align: center;
}

.bic-path-eyebrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 20px;
  background-color: #fff6ef;
  border: 1.333px solid #fbd9be;
  border-radius: 999px;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 700;
  font-size: 12px;
  line-height: 18.6px;
  color: #f2682a;
}

.bic-path-title {
  margin: 8px 0 0;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 700;
  font-size: 36px;
  line-height: 40px;
  color: #0f0f0f;
}

.bic-path-sub {
  margin: 16px auto 0;
  max-width: 620px;

  font-weight: 400;
  font-size: 16px;
  line-height: 26px;
  color: #57534d;
}

/* --- Eligibility cards --- */
.bic-elig-cards {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 40px;
  margin-top: 64px;
}

.bic-elig-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 204px;
  border: 0.556px solid #efe8e0;
  border-radius: 16px;
  padding: 18.556px 10.556px;
  box-shadow:
    0px 1px 1px rgba(22, 19, 15, 0.04),
    0px 14px 17px rgba(22, 19, 15, 0.24);
  text-align: center;
}

.bic-elig-card--blue {
  background-color: #eff6ff;
}
.bic-elig-card--green {
  background-color: #f0fdf4;
}
.bic-elig-card--orange {
  background-color: #fff4ed;
}
.bic-elig-card--purple {
  background-color: #f5f3ff;
}
.bic-elig-card--cream {
  background-color: #f9f4e4;
}

.bic-elig-num {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border: 1.667px solid #f2682a;
  border-radius: 50%;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 700;
  font-size: 16px;
  line-height: 1;
  color: #f2682a;
}

.bic-elig-card-title {
  margin: 10px 0 0;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 700;
  font-size: 14px;
  line-height: 18.2px;
  color: #16130f;
}

.bic-elig-card-title sup {
  font-size: 11.667px;
  line-height: 0;
}

.bic-elig-card-text {
  margin: 6px 0 0;
  max-width: 183px;

  font-weight: 400;
  font-size: 13px;
  line-height: 20.15px;
  color: #5d5850;
}

/* ============================================================
   GRAND FINALE PREP
   Three stacked blocks: what to bring, process overview, pitch structure.
   ============================================================ */
.bic-gf {
  background-color: #ffffff;
  padding: 80px 0;
}

.bic-gf-inner {
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 24px;
}

.bic-gf-title {
  margin: 0;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 700;
  font-size: 22px;
  color: #1c1917;
  text-align: center;
}

/* Blocks 2 and 3 need breathing room from the block above them */
.bic-gf-title--spaced {
  margin-top: 88px;
}

.bic-gf-sub {
  margin: 10px 0 0;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 400;
  font-size: 18px;
  line-height: 28px;
  color: #57534e;
  text-align: center;
}

/* ---- Block 1: what to bring ---- */
.bic-gf-needs {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  margin-top: 40px;
}

.bic-gf-need {
  padding: 0 32px;
}

.bic-gf-need:first-child {
  padding-left: 0;
}

.bic-gf-need:last-child {
  padding-right: 0;
}

/* Dotted rule between columns — a gradient-dot background rather than a
   border so the dot size stays independent of the 1px border box. */
.bic-gf-need + .bic-gf-need {
  background-image: repeating-linear-gradient(
    to bottom,
    #e8550f 0 5px,
    rgba(255, 255, 255, 0) 5px 11px
  );
  background-size: 2px 100%;
  background-repeat: no-repeat;
  background-position: left top;
}

.bic-gf-need-head {
  display: flex;
  align-items: center;
  gap: 14px;
}

.bic-gf-need-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 46px;
  height: 46px;
  border: 1.5px solid #f6b48d;
  border-radius: 50%;
  color: #e8550f;
}

.bic-gf-need-icon svg {
  width: 24px;
  height: 24px;
  display: block;
}

.bic-gf-need-title {
  margin: 0;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 700;
  font-size: 18px;
  line-height: 26px;
  color: #1c1917;
}

.bic-gf-need-text {
  margin: 18px 0 0;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 26px;
  color: #57534e;
}

/* ---- Block 2: process overview ---- */
.bic-gf-steps {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 28px;
  margin: 62px 0 0;
  padding: 0;
  list-style: none;
}

.bic-gf-step {
  position: relative;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  min-height: 90px;
  padding: 30px 5px 15px;
  border: 1.5px solid transparent;
  border-radius: 16px;
  /* Gradient border: white fill clipped to the padding box, gradient to the
     border box. */
  background:
    linear-gradient(#ffffff, #ffffff) padding-box,
    linear-gradient(135deg, #f7a01c 0%, #e8550f 100%) border-box;
}

/* Dotted connector between the step boxes */
.bic-gf-step + .bic-gf-step::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 100%;
  width: 28px;
  height: 2px;
  transform: translateY(-50%);
  background-image: repeating-linear-gradient(
    to right,
    #e8550f 0 5px,
    rgba(255, 255, 255, 0) 5px 11px
  );
}

.bic-gf-step-num {
  position: absolute;
  top: -21px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border: 1.5px solid #f6b48d;
  border-radius: 50%;
  background-color: #fdece1;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 700;
  font-size: 22px;
  line-height: 1;
  color: #e8550f;
}

.bic-gf-step-name {
  margin: 0;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 700;
  font-size: 16px;
  line-height: 24px;
  color: #1c1917;
  text-align: center;
}

/* ---- Block 3: sample pitch structure ---- */
.bic-gf-pitch {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-top: 44px;
}

.bic-gf-pitch-card {
  padding: 24px 20px;
  border: 1.5px solid transparent;
  border-radius: 16px;
  background:
    linear-gradient(#fcfbfa, #fcfbfa) padding-box,
    linear-gradient(135deg, #f7a01c 0%, #e8550f 100%) border-box;
}

.bic-gf-pitch-title {
  margin: 0;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 700;
  font-size: 16px;
  line-height: 24px;
  color: #1c1917;
}

.bic-gf-pitch-text {
  margin: 14px 0 0;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 400;
  font-size: 15px;
  line-height: 24px;
  color: #57534e;
}

/* ============================================================
   PRIZES & AWARDS
   ============================================================ */
.bic-prizes {
  background-color: #ffffff;
  padding: 72px 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 64px;
}

.bic-prizes-inner {
  width: 100%;
  max-width: 1092px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.bic-prizes-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 20px;
  background-color: #fff6ef;
  border: 1.333px solid #fbd9be;
  border-radius: 999px;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 700;
  font-size: 12px;
  line-height: 18.6px;
  color: #f2682a;
}

.bic-prizes-title {
  margin: 36px 0 0;
  max-width: 860px;

  font-weight: 700;
  font-size: 38px;
  line-height: 1.3;
  color: #0f172a;
}

.bic-prizes-amount {
  margin: 0;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 700;
  font-size: 40px;
  line-height: 45.6px;
  color: #16130f;
}

.bic-prizes-sub {
  margin: 14px 0 0;

  font-weight: 500;
  font-size: 20px;
  line-height: 1.6;
  color: #0f172a;
}

/* Podium */
.bic-prizes-podium {
  width: 100%;
  display: grid;
  grid-template-columns: 5fr 6fr 5fr;
  gap: 18px;
  align-items: end;
  margin-top: 48px;
}

.bic-prize-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  background-color: #ffffff;
  border: 0.667px solid #efe8e0;
  border-radius: 16px;
  padding: 28.667px 20.667px;
  box-shadow:
    0px 1px 1px rgba(22, 19, 15, 0.04),
    0px 14px 17px rgba(22, 19, 15, 0.24);
}

.bic-prize-card--champion {
  background-color: #ea580c !important;
  border-color: #fbd9be;
  padding: 38.667px 20.667px;
}

.bic-prize-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 6px 16px;
  background-color: #ffffff;
  border: 1.333px solid #fbd9be;
  border-radius: 999px;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 700;
  font-size: 12.5px;
  line-height: 19.375px;
  color: #f2682a;
  white-space: nowrap;
}

.bic-prize-emoji {
  margin-top: 14px;
  font-size: 36px;
  line-height: 1.55;
}

.bic-prize-emoji--lg {
  font-size: 50px;
}

.bic-prize-value {
  margin: 8px 0 0;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 700;
  font-size: 32px;
  line-height: 49.6px;
  color: #16130f;
}

.bic-prize-value--champion {
  font-size: 50px;
  line-height: 77.5px;
  color: #ffffff;
}

.bic-prize-note {
  margin: 0;

  font-weight: 400;
  font-size: 12.5px;
  line-height: 19.375px;
  color: #5d5850;
}

.bic-prize-note--champion {
  font-family: "Plus Jakarta Sans", sans-serif;
  color: #ffffff;
}

/* Award chips */
.bic-prizes-awards {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 18px;
  margin-top: 50px;
}

.bic-award-chip {
  display: flex;
  flex-direction: column;
  align-items: center;
  background-color: #fff6ef;
  border: 0.667px solid #fbe3d2;
  border-radius: 16px;
  padding: 18.667px;
  box-shadow:
    0px 1px 1px rgba(22, 19, 15, 0.04),
    0px 5px 10px rgba(22, 19, 15, 0.14);
}

.bic-award-amount {
  margin: 0;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 700;
  font-size: 21px;
  line-height: 32.55px;
  color: #f2682a;
}

.bic-award-label {
  margin: 2px 0 0;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 600;
  font-size: 13px;
  line-height: 16.9px;
  color: #16130f;
  text-align: center;
}

/* Perks */
.bic-prizes-perks-title {
  margin: 48px 0 0;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 600;
  font-size: 15px;
  line-height: 23.25px;
  color: #5d5850;
}

.bic-prizes-perks {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  margin-top: 24px;
}

.bic-perk-pill {
  display: inline-flex;
  align-items: center;
  padding: 10px;
  background-color: #ffffff;
  border: 1.333px solid #fbd9be;
  border-radius: 999px;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 600;
  font-size: 12px;
  line-height: 20.15px;
  color: #f2682a;
  white-space: nowrap;
}

/* Actions */
.bic-prizes-actions {
  display: flex;
  gap: 8px;
  width: 500px;
  max-width: 100%;
}

.bic-prizes-btn {
  flex: 1 1 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 16px 12px;

  font-weight: 500;
  font-size: 16px;
  line-height: 1.2;
  text-decoration: none;
  transition:
    opacity 0.2s ease,
    background-color 0.2s ease;
}

.bic-prizes-btn--terms {
  background-color: #ffffff;
  border-radius: 10px;
  color: #0a0a0a;
}

.bic-prizes-btn--register {
  background-color: #0f172a;
  color: #fafafa;
}

.bic-prizes-btn--register:hover {
  opacity: 0.9;
  color: #fafafa;
}
.bic-prizes-btn--terms:hover {
  opacity: 0.9;
  color: #0a0a0a;
}

/* ============================================================
   COMPETITION THEMES
   ============================================================ */
.bic-themes {
  background-color: #fff5ef;
  padding: 80px 0;
}

.bic-themes-inner {
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 24px;
}

.bic-themes-head {
  text-align: center;
}

.bic-themes-eyebrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 20px;
  background-color: #fff6ef;
  border: 1.333px solid #fbd9be;
  border-radius: 999px;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 700;
  font-size: 12px;
  line-height: 18.6px;
  color: #f2682a;
}

.bic-themes-title {
  margin: 8px 0 0;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 700;
  font-size: 36px;
  line-height: 40px;
  color: #0f0f0f;
}

.bic-themes-sub {
  margin: 12px 0 0;

  font-weight: 400;
  font-size: 14px;
  line-height: 20px;
  color: #777777;
}

.bic-themes-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 16px;
  margin-top: 56px;
}

.bic-theme-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  background-color: #ffffff;
  border: 1px solid rgba(255, 107, 53, 0.2);
  border-top-width: 3px;
  border-radius: 16px;
  padding: 27px 25px 25px;
}

.bic-theme-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 14px;
}

.bic-theme-icon img {
  display: block;
  width: 24px;
  height: 24px;
}

.bic-theme-card--green .bic-theme-icon {
  background-color: rgba(34, 197, 94, 0.08);
}
.bic-theme-card--red .bic-theme-icon {
  background-color: rgba(239, 68, 68, 0.08);
}
.bic-theme-card--purple .bic-theme-icon {
  background-color: rgba(139, 92, 246, 0.08);
}
.bic-theme-card--amber .bic-theme-icon {
  background-color: rgba(245, 158, 11, 0.08);
}
.bic-theme-card--blue .bic-theme-icon {
  background-color: rgba(59, 130, 246, 0.08);
}
.bic-theme-card--sky .bic-theme-icon {
  background-color: rgba(14, 165, 233, 0.08);
}
.bic-theme-card--indigo .bic-theme-icon {
  background-color: rgba(99, 102, 241, 0.08);
}
.bic-theme-card--pink .bic-theme-icon {
  background-color: rgba(236, 72, 153, 0.08);
}
.bic-theme-card--teal .bic-theme-icon {
  background-color: rgba(20, 184, 166, 0.08);
}
.bic-theme-card--orange .bic-theme-icon {
  background-color: rgba(249, 115, 22, 0.08);
}

.bic-theme-name {
  margin: 16px 0 0;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 700;
  font-size: 14px;
  line-height: 19.25px;
  color: #0f0f0f;
}

.bic-theme-desc {
  margin: 8px 0 0;

  font-weight: 400;
  font-size: 12px;
  line-height: 19.5px;
  color: #888888;
}

/* ============================================================
   INVESTMENT ECOSYSTEM
   ============================================================ */
.bic-invest {
  background-color: #ffffff;
  padding: 80px 0;
}

.bic-invest-inner {
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.bic-invest-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 20px;
  background-color: #fff6ef;
  border: 1.333px solid #fbd9be;
  border-radius: 999px;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 700;
  font-size: 13px;
  line-height: 20px;
  color: #f2682a;
}

.bic-invest-sub {
  margin: 18px 0 0;
  max-width: 720px;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 400;
  font-size: 17px;
  line-height: 28px;
  color: #57534e;
  text-align: center;
}

/* Fill and type come from the shared CTA rule. */
.bic-invest-btn {
  margin-top: 30px;
}

/* ---- Investment ecosystem modal ---- */
.bic-inv-modal-content {
  border: 0;
  border-radius: 22px;
  overflow: hidden;
}

.bic-inv-modal-head {
  align-items: flex-start;
  gap: 16px;
  padding: 26px 30px 22px;
  border-bottom: 1px solid #f4e2d6;
  background-color: #fffaf6;
}

.bic-inv-modal-eyebrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 20px;
  background-color: #fff6ef;
  border: 1.333px solid #fbd9be;
  border-radius: 999px;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 700;
  font-size: 12px;
  line-height: 18.6px;
  color: #f2682a;
}

.bic-inv-modal-title {
  margin: 6px 0 0;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 700;
  font-size: 26px;
  line-height: 34px;
  color: #0f0f0f;
}

.bic-inv-modal-close {
  margin: 0;
  flex: 0 0 auto;
}

.bic-inv-modal-body {
  padding: 28px 30px 32px;
}

/* Investor types */
.bic-inv-types {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.bic-inv-type {
  padding: 16px 18px;
  border: 1.5px solid transparent;
  border-radius: 14px;
  background:
    linear-gradient(#fffaf6, #fffaf6) padding-box,
    linear-gradient(135deg, #f7a01c 0%, #e8550f 100%) border-box;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 700;
  font-size: 15px;
  line-height: 22px;
  color: #1c1917;
  text-align: center;
}

/* Two content panels */
.bic-inv-panels {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
  margin-top: 24px;
}

.bic-inv-panel {
  padding: 24px 24px 26px;
  border: 1px solid #f4ded0;
  border-radius: 18px;
  background-color: #fffaf6;
}

.bic-inv-panel-title {
  display: inline-block;
  margin: 0;
  padding: 8px 18px;
  border-radius: 999px;
  background: linear-gradient(135deg, #f7a01c 0%, #e8550f 100%);
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 700;
  font-size: 14px;
  line-height: 20px;
  color: #ffffff;
}

.bic-inv-list {
  margin: 20px 0 0;
  padding: 0;
  list-style: none;
  counter-reset: bic-inv;
}

.bic-inv-list li {
  position: relative;
  padding-left: 44px;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 25px;
  color: #57534e;
}

.bic-inv-list li + li {
  margin-top: 18px;
}

/* Numbered markers for the process list */
.bic-inv-list li::before {
  counter-increment: bic-inv;
  content: counter(bic-inv);
  position: absolute;
  left: 0;
  top: 1px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border: 1.5px solid #f6b48d;
  border-radius: 50%;
  background-color: #fdece1;
  font-weight: 700;
  font-size: 14px;
  color: #e8550f;
}

/* The benefits list reads as statements, not steps — use a dot marker */
.bic-inv-list--plain li::before {
  content: "";
  top: 8px;
  width: 12px;
  height: 12px;
  border-width: 3px;
  background-color: transparent;
  border-color: #e8550f;
}

.bic-inv-list--plain li {
  padding-left: 28px;
}

.bic-inv-list-lead {
  display: block;
  font-weight: 700;
  color: #1c1917;
}

/* ============================================================
   PARTNERS & SPONSORS  (Slick marquee)
   ============================================================ */
.bic-partners {
  background-color: #ffffff;
  border-top: 1px solid rgba(0, 0, 0, 0.07);
  border-bottom: 1px solid rgba(0, 0, 0, 0.07);
  padding: 10px 0;
  overflow: hidden;
}

.bic-partners-title {
  margin: 0;

  font-weight: 700;
  font-size: 18px;
  line-height: 16.5px;
  text-transform: uppercase;
  color: #0f0f0f;
  text-align: center;
}

.bic-partners-track {
  /*margin-top: 32px;*/
}

/* Before Slick initialises, hide overflow so the raw list doesn't flash full-width */
.bic-partners-track:not(.slick-initialized) {
  display: flex;
  flex-wrap: nowrap;
  overflow: hidden;
}

.bic-partner {
  display: flex !important;
  align-items: center;
  justify-content: center;
  height: 30.5px;
  padding: 0 40px;
  border-right: 1px solid rgba(0, 0, 0, 0.14);
}

.bic-partner img {
  display: block;
  height: 90px;
  width: auto;
}

/* Slick slide vertical centering */
.bic-partners-track .slick-track {
  display: flex;
  align-items: center;
}

.bic-partners-track .slick-slide {
  height: auto;
}

/* Static 5-logo strip under the hero — same look as the marquee, no animation */
.bic-partners--strip {
  border-top: 0;
}

.bic-partners-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  margin-top: 32px;
}

/* The marquee's .bic-partner is 30.5px tall and lets the 90px logo overflow;
   a wrapping row needs the real height so stacked rows don't collide. */
.bic-partners-row .bic-partner {
  height: 90px;
}

.bic-partners-row .bic-partner:last-child {
  border-right: 0;
}

@media (max-width: 767.98px) {
  .bic-partners-row .bic-partner {
    height: 60px;
    padding: 0 18px;
  }

  .bic-partners-row .bic-partner img {
    height: 60px;
  }
}

/* ============================================================
   GALLERY  (tabbed Slick carousel)
   ============================================================ */
.bic-gallery {
  background-color: #ffffff;
  padding: 80px 0;
}

.bic-gallery-inner {
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 24px;
}

/* --- Head --- */
.bic-gallery-head {
  text-align: center;
}

.bic-gallery-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 8px 22px;
  background-color: #fff3ec;
  border: 1px solid #ffd9c6;
  border-radius: 999px;

  font-weight: 700;
  font-size: 13px;
  line-height: 18px;
  color: #ff6b35;
}

.bic-gallery-title {
  margin: 24px 0 0;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 700;
  font-size: 44px;
  line-height: 54px;
  color: #0f0f0f;
}

.bic-gallery-sub {
  margin: 14px auto 0;
  max-width: 720px;

  font-weight: 400;
  font-size: 17px;
  line-height: 26px;
  color: #666666;
}

/* --- Tabs --- */
.bic-gallery-tabs {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  margin-top: 32px;
}

/* The inactive tab is the outline button; .is-active is the filled CTA. */
.bic-gallery-tab {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 26px;
  background-color: #ffffff;
  border: 1px solid #e2ddd7;
  border-radius: 999px;

  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 700;
  font-size: 15px;
  line-height: 20px;
  color: #0f0f0f;
  white-space: nowrap;
  cursor: pointer;
  transition:
    border-color 0.2s ease,
    background-color 0.2s ease,
    color 0.2s ease;
}

.bic-gallery-tab:hover {
  border-color: #ffbb9c;
  background-color: #fff8f4;
}

/* --- Panels --- */
.bic-gallery-panel {
  display: none;
  margin-top: 40px;
  text-align: center;
}

.bic-gallery-panel.is-active {
  display: block;
}

.bic-gallery-panel-title {
  margin: 0;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 700;
  font-size: 22px;
  line-height: 30px;
  color: #0f0f0f;
}

.bic-gallery-panel-sub {
  margin: 8px 0 0;

  font-weight: 400;
  font-size: 16px;
  line-height: 24px;
  color: #666666;
}

/* --- Slider --- */
.bic-gallery-slider {
  position: relative;
  margin-top: 28px;
}

/* Before Slick initialises, only the first slide should show */
.bic-gallery-slider:not(.slick-initialized)
  .bic-gallery-slide
  + .bic-gallery-slide {
  display: none;
}

.bic-gallery-slide img {
  display: block;
  width: 100%;
  height: 470px;
  object-fit: cover;
}

/* --- Arrows, sitting on the image --- */
.bic-gallery-arrow {
  position: absolute;
  z-index: 2;
  bottom: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background-color: #1a1a1a;
  color: #ffffff;
  cursor: pointer;
  transition:
    background-color 0.2s ease,
    transform 0.1s ease;
}

.bic-gallery-arrow--prev {
  right: 90px;
}

.bic-gallery-arrow--next {
  right: 24px;
}

.bic-gallery-arrow:hover {
  background-color: #ff6b35;
}

.bic-gallery-arrow:active {
  transform: translateY(1px);
}

.bic-gallery-arrow:focus-visible {
  outline: 2px solid #ffffff;
  outline-offset: -6px;
}

.bic-gallery-arrow svg {
  display: block;
  width: 20px;
  height: 20px;
}

.bic-gallery-caption {
  margin: 20px 0 0;

  font-weight: 400;
  font-size: 14px;
  line-height: 20px;
  color: #888888;
}

@media (max-width: 991px) {
  .bic-gallery-slide img {
    height: 340px;
  }
}

@media (max-width: 575px) {
  .bic-gallery {
    padding: 56px 0;
  }

  .bic-gallery-sub {
    font-size: 15px;
    line-height: 23px;
  }

  /* Every CTA steps down together so they stay a matched set. */
  .bic-gallery-tab,
  .bic-gallery-tab.is-active,
  .bic-btn-primary,
  .bic-btn-outline,
  .bic-invest-btn {
    padding: 10px 18px;
    font-size: 14px;
  }

  .bic-gallery-slide img {
    height: 230px;
  }

  .bic-gallery-arrow {
    width: 42px;
    height: 42px;
    bottom: 14px;
  }

  .bic-gallery-arrow--prev {
    right: 66px;
  }

  .bic-gallery-arrow--next {
    right: 14px;
  }
}

/* ============================================================
   MEDIA COVERAGE  (cards + Magnific Popup)
   ============================================================ */
.bic-media {
  background-color: #fff5ef;
  padding: 80px 0;
}

.bic-media-inner {
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 24px;
}

.bic-media-title {
  margin: 0;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 700;
  font-size: 30px;
  line-height: 40px;
  color: #0f0f0f;
  text-align: center;
}

.bic-media-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-top: 40px;
}

.bic-media-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 30px 26px;
  background-color: #ffffff;
  border: 1px solid #f0ebe6;
  border-radius: 16px;
  box-shadow: 0px 1px 2px rgba(22, 19, 15, 0.04);
  text-align: center;
  transition:
    border-color 0.2s ease,
    box-shadow 0.2s ease;
}

.bic-media-card:hover {
  border-color: #ffd9c6;
  box-shadow: 0px 6px 18px rgba(22, 19, 15, 0.08);
}

.bic-media-source {
  margin: 0;

  font-weight: 700;
  font-size: 12px;
  line-height: 16px;
  text-transform: uppercase;
  color: #ff6b35;
}

.bic-media-headline {
  margin: 14px 0 0;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 700;
  font-size: 17px;
  line-height: 26px;
  color: #0f0f0f;
}

.bic-media-text {
  margin: 12px 0 0;

  font-weight: 400;
  font-size: 14px;
  line-height: 23px;
  color: #9a7561;
}

/* --- "Click here to view" trigger --- */
.bic-media-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: auto;
  padding-top: 18px;

  font-weight: 600;
  font-size: 14px;
  line-height: 20px;
  color: #ff6b35;
  text-decoration: none;
  cursor: pointer;
  transition: color 0.2s ease;
}

.bic-media-link svg {
  display: block;
  width: 14px;
  height: 14px;
}

.bic-media-link:hover,
.bic-media-link:focus {
  color: #e05520;
  text-decoration: underline;
}

.bic-media-link:focus-visible {
  outline: 2px solid #ff6b35;
  outline-offset: 3px;
  border-radius: 4px;
}

@media (max-width: 991px) {
  .bic-media-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 575px) {
  .bic-media {
    padding: 56px 0;
  }

  .bic-media-grid {
    grid-template-columns: 1fr;
  }
}

/* ============================================================
   VENUE
   ============================================================ */
.bic-venue {
  background-color: #ffffff;
  padding: 80px 0;
}

.bic-venue-inner {
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 24px;
}

.bic-venue-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  align-items: start;
}

/* Left column */
.bic-venue-eyebrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 20px;
  background-color: #fff6ef;
  border: 1.333px solid #fbd9be;
  border-radius: 999px;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 700;
  font-size: 12px;
  line-height: 18.6px;
  color: #f2682a;
}

.bic-venue-title {
  margin: 8px 0 0;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 700;
  font-size: 36px;
  line-height: 40px;
  color: #0f0f0f;
}

.bic-venue-photo {
  margin-top: 24px;

  border: 1px solid rgba(0, 0, 0, 0.07);
  border-radius: 16px;
  overflow: hidden;
  box-shadow:
    0px 1px 3px rgba(0, 0, 0, 0.1),
    0px 1px 2px -1px rgba(0, 0, 0, 0.1);
}

.bic-venue-map {
  margin-top: 16px;
  height: 192px;
  border: 1px solid rgba(0, 0, 0, 0.07);
  border-radius: 14px;
  overflow: hidden;
}

.bic-venue-photo img,
.bic-venue-map img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.bic-venue-map img {
  opacity: 0.75;
}

/* Right column card */
.bic-venue-right {
  padding-top: 64px;
}

.bic-venue-card {
  background-color: #ffffff;
  border: 1px solid rgba(0, 0, 0, 0.07);
  border-radius: 16px;
  padding: 33px;
  filter: drop-shadow(0px 1px 1.5px rgba(0, 0, 0, 0.1))
    drop-shadow(0px 1px 1px rgba(0, 0, 0, 0.1));
}

.bic-venue-card-title {
  margin: 0;

  font-weight: 700;
  font-size: 24px;
  line-height: 32px;
  color: #0f0f0f;
}

.bic-venue-info {
  margin-top: 28px;
}

.bic-venue-row {
  display: flex;
  gap: 16px;
  align-items: flex-start;
}

.bic-venue-row + .bic-venue-row {
  margin-top: 24px;
}

.bic-venue-icon {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background-color: #fff3ec;
}

.bic-venue-icon svg {
  display: block;
  width: 16px;
  height: 16px;
}

.bic-venue-label {
  margin: 0;

  font-weight: 600;
  font-size: 14px;
  line-height: 20px;
  color: #0f0f0f;
}

.bic-venue-text {
  margin: 2px 0 0;

  font-weight: 400;
  font-size: 14px;
  line-height: 22.75px;
  color: #666666;
}

.bic-venue-maps-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  height: 52px;
  margin-top: 32px;
  border: 2px solid #f05a1a;
  border-radius: 14px;

  font-weight: 600;
  font-size: 16px;
  line-height: 24px;
  color: #f05a1a;
  text-decoration: none;
  transition: background-color 0.2s ease;
}

.bic-venue-maps-btn svg {
  display: block;
  width: 16px;
  height: 16px;
}

.bic-venue-maps-btn:hover,
.bic-venue-maps-btn:focus {
  background-color: #fff3ec;
  color: #f05a1a;
}

/* ============================================================
   CONTACT US
   ============================================================ */
.bic-contact {
  background-color: #fff5ef;
  padding: 80px 0;
}

.bic-contact-inner {
  width: 100%;
  max-width: 896px;
  margin: 0 auto;
  padding: 0 24px;
}

.bic-contact-head {
  text-align: center;
}

.bic-contact-eyebrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 20px;
  background-color: #fff6ef;
  border: 1.333px solid #fbd9be;
  border-radius: 999px;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 700;
  font-size: 12px;
  line-height: 18.6px;
  color: #f2682a;
}

.bic-contact-title {
  margin: 8px 0 0;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 700;
  font-size: 36px;
  line-height: 40px;
  color: #0f0f0f;
}

.bic-contact-card {
  margin-top: 48px;
  background-color: #ffffff;
  border: 1px solid rgba(0, 0, 0, 0.07);
  border-radius: 24px;
  padding: 41px;
  filter: drop-shadow(0px 1px 1.5px rgba(0, 0, 0, 0.1))
    drop-shadow(0px 1px 1px rgba(0, 0, 0, 0.1));
}

.bic-contact-grid {
  display: grid;
  grid-template-columns: 500fr 234fr;
  gap: 32px;
  align-items: start;
}

/* Coordinator */
.bic-contact-person {
  display: flex;
  gap: 16px;
  align-items: center;
  padding-bottom: 33px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.07);
}

.bic-contact-avatar {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 64px;
  border-radius: 16px;
  background-color: #f05a1a;
}

.bic-contact-avatar img {
  display: block;
  width: 32px;
  height: 32px;
}

.bic-contact-name {
  margin: 0;

  font-weight: 700;
  font-size: 20px;
  line-height: 28px;
  color: #0f0f0f;
}

.bic-contact-role {
  margin: 0;

  font-weight: 400;
  font-size: 14px;
  line-height: 20px;
  color: #777777;
}

/* Detail chips */
.bic-contact-details {
  margin-top: 0px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

.bic-contact-item {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  padding: 17px;
  background-color: #fff5ef;
  border: 1px solid rgba(240, 90, 26, 0.1);
  border-radius: 14px;
}

/* Spans both grid columns — used by the odd item out on the second row */
.bic-contact-item--wide {
  grid-column: 1 / -1;
}

.bic-contact-item-icon {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 10px;
  background-color: rgba(240, 90, 26, 0.1);
}

.bic-contact-item-icon img {
  display: block;
  width: 16px;
  height: 16px;
}

.bic-contact-item-label {
  margin: 0;

  font-weight: 600;
  font-size: 11px;
  line-height: 16.5px;
  text-transform: uppercase;
  color: #aaaaaa;
}

.bic-contact-item-value {
  margin: 2px 0 0;

  font-weight: 600;
  font-size: 14px;
  line-height: 20px;
  color: #0f0f0f;
  word-break: break-word;
}

/* A linked value (the Instagram handle) reads as the value, not as a
   theme-blue link, until you hover it. */
.bic-contact-item-value a {
  color: inherit;
  text-decoration: none;
}

.bic-contact-item-value a:hover,
.bic-contact-item-value a:focus-visible {
  color: #ff6b35;
  text-decoration: underline;
}

/* Right side: QR + buttons */
.bic-contact-side {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
}

.bic-contact-qr {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 160px;
  height: 160px;
  padding: 12px;
  background-color: #0f0f0f;
  border-radius: 16px;
}

.bic-contact-qr img {
  display: block;
  width: 136px;
  height: 136px;
}

.bic-contact-qr-text {
  margin: 0;

  font-weight: 500;
  font-size: 12px;
  line-height: 16.5px;
  color: #888888;
  text-align: center;
}

.bic-contact-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 234px;
  max-width: 100%;
  border-radius: 14px;

  font-weight: 700;
  font-size: 12px;
  line-height: 16px;
  text-decoration: none;
  transition:
    opacity 0.2s ease,
    background-color 0.2s ease;
}

.bic-contact-btn img {
  display: block;
  width: 14px;
  height: 14px;
}

.bic-contact-btn--wa {
  padding: 10px 16px;
  background-color: #25d366;
  color: #ffffff;
}

.bic-contact-btn--wa:hover {
  opacity: 0.92;
  color: #ffffff;
}

.bic-contact-btn--email {
  padding: 11px 17px;
  border: 1px solid #f05a1a;
  color: #f05a1a;
}

.bic-contact-btn--email:hover {
  background-color: #fff3ec;
  color: #f05a1a;
}

/* Solid CTA in the same stack, matching the primary button elsewhere. */
.bic-contact-btn--register {
  padding: 11px 17px;
  background-color: #ff6b35;
  color: #ffffff;
}

.bic-contact-btn--register:hover {
  background-color: #f05a1a;
  color: #ffffff;
}

/* ============================================================
   REGISTRATION HERO
   ============================================================ */
.reg-hero {
  position: relative;
  overflow: hidden;
  /* Split background: white left half, warm grey right half */
  background: linear-gradient(
    to right,
    #ffffff 0,
    #ffffff 50%,
    #f2efe9 50%,
    #f2efe9 100%
  );
}

.reg-hero-circle {
  position: absolute;
  top: -225px;
  left: -264px;
  width: 848px;
  height: 848px;
  border-radius: 50%;
  background-color: rgba(240, 90, 26, 0.04);
  pointer-events: none;
}

.reg-hero-inner {
  position: relative;
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 24px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  min-height: 731px;
}

/* ---- Left column ---- */
.reg-hero-left {
  padding-right: 64px;
}

.reg-hero-title {
  margin: 0;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 700;
  font-size: 35px;
  line-height: 60px;
  color: #0f0f0f;
}

.reg-hero-underline {
  display: block;
  width: 283px;
  max-width: 100%;
  height: 4px;
  margin-top: 14px;
  border-radius: 999px;
  background-color: #f05a1a;
}

.reg-hero-lead {
  margin: 28px 0 0;
  max-width: 380px;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 400;
  font-size: 17px;
  line-height: 27.625px;
  color: #666666;
}

.reg-hero-closes {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin-top: 40px;
  padding: 13px 21px;
  border: 1px solid #e8e5df;
  border-radius: 16px;
}

.reg-hero-closes svg {
  flex-shrink: 0;
  width: 16px;
  height: 16px;
}

.reg-closes-label {
  margin: 0;

  font-weight: 700;
  font-size: 10px;
  line-height: 15px;
  text-transform: uppercase;
  color: #aaaaaa;
}

.reg-closes-value {
  margin: 0;

  font-weight: 700;
  font-size: 14px;
  line-height: 20px;
  color: #0f0f0f;
}

.reg-hero-stats {
  display: flex;
  gap: 32px;
  margin-top: 48px;
  padding-top: 41px;
  border-top: 1px solid #e8e5e0;
}

.reg-stat-num {
  margin: 0;

  font-weight: 700;
  font-size: 24px;
  line-height: 32px;
  color: #0f0f0f;
}

.reg-stat-label {
  margin: 2px 0 0;

  font-weight: 500;
  font-size: 12px;
  line-height: 16px;
  color: #888888;
}

/* ---- Right column ---- */
.reg-hero-right {
  padding-left: 48px;
  padding-top: 64px;
  padding-bottom: 64px;
}

.reg-hero-media {
  position: relative;
  width: 100%;
  height: 400px;
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0px 25px 50px -12px rgba(0, 0, 0, 0.25);
}

.reg-hero-media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.reg-hero-media-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to top,
    rgba(0, 0, 0, 0.5) 0%,
    rgba(0, 0, 0, 0) 50%
  );
}

.reg-hero-badge {
  position: absolute;
  top: 50px;
  right: 30px;
  padding: 12px 20px;
  background-color: rgba(255, 255, 255, 0.95);
  border-radius: 16px;
  box-shadow:
    0px 20px 25px rgba(0, 0, 0, 0.1),
    0px 8px 10px rgba(0, 0, 0, 0.1);
}

.reg-badge-num {
  margin: 0;

  font-weight: 700;
  font-size: 30px;
  line-height: 36px;
  color: #0f0f0f;
}

.reg-badge-text {
  margin: 0;

  font-weight: 500;
  font-size: 12px;
  line-height: 16px;
  color: #888888;
}

.reg-hero-countdown {
  margin-top: 20px;
  padding: 24px;
  background-color: #0f0f0f;
  border-radius: 16px;
}

.reg-cd-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.reg-cd-title {
  display: flex;
  align-items: center;
  gap: 8px;

  font-weight: 700;
  font-size: 11px;
  line-height: 16.5px;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.5);
}

.reg-cd-title svg {
  flex-shrink: 0;
  width: 16px;
  height: 16px;
}

.reg-cd-date {

  font-weight: 700;
  font-size: 10px;
  line-height: 15px;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.3);
  white-space: nowrap;
}

.reg-cd-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  margin-top: 20px;
}

.reg-cd-box {
  padding: 12px 0;
  border-radius: 14px;
  background-color: rgba(255, 255, 255, 0.06);
  text-align: center;
}

.reg-cd-num {
  margin: 0;

  font-weight: 700;
  font-size: 28px;
  line-height: 28px;
  color: #ffffff;
}

.reg-cd-unit {
  margin: 6px 0 0;

  font-weight: 700;
  font-size: 9px;
  line-height: 13.5px;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.35);
}

/* ============================================================
   REGISTRATION — INFO (banner + cards + key dates)
   ============================================================ */
.reg-info {
  background-color: #fafaf8;
}

/* --- Banner --- */
.reg-banner {
  position: relative;
  height: 320px;
  overflow: hidden;
}

.reg-banner-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.reg-banner-overlay {
  position: absolute;
  inset: 0;
  background-color: rgba(15, 15, 15, 0.6);
}

.reg-banner-content {
  position: relative;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 0 24px;
  text-align: center;
}

.reg-banner-eyebrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 20px;
  background-color: #fff6ef;
  border: 1.333px solid #fbd9be;
  border-radius: 999px;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 700;
  font-size: 12px;
  line-height: 18.6px;
  color: #f2682a;
}

.reg-banner-title {
  margin: 0;
  max-width: 672px;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 700;
  font-size: 48px;
  line-height: 60px;
  color: #ffffff;
}

/* --- What you need to know --- */
.reg-know {
  padding: 80px 0;
}

.reg-know-inner {
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 24px;
}

.reg-know-head {
  text-align: center;
}

.reg-know-eyebrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 20px;
  background-color: #fff6ef;
  border: 1.333px solid #fbd9be;
  border-radius: 999px;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 700;
  font-size: 12px;
  line-height: 18.6px;
  color: #f2682a;
}

.reg-know-title {
  margin: 8px 0 0;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 700;
  font-size: 36px;
  line-height: 40px;
  color: #0f0f0f;
}

.reg-know-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-top: 56px;
}

.reg-know-card {
  background-color: #ffffff;
  border: 1px solid rgba(0, 0, 0, 0.07);
  border-radius: 24px;
  padding: 33px;
}

.reg-know-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 16px;
}

.reg-know-icon img {
  display: block;
  width: 24px;
  height: 24px;
}

.reg-know-icon--blue {
  background-color: rgba(59, 130, 246, 0.08);
}
.reg-know-icon--orange {
  background-color: rgba(240, 90, 26, 0.08);
}
.reg-know-icon--yellow {
  background-color: rgba(234, 179, 8, 0.08);
}

.reg-know-card-title {
  margin: 24px 0 0;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 700;
  font-size: 20px;
  line-height: 28px;
  color: #0f0f0f;
}

.reg-know-list {
  margin: 20px 0 0;
  padding: 0;
  list-style: none;
}

.reg-know-list li {
  position: relative;
  padding-left: 18px;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 500;
  font-size: 14px;
  line-height: 22.75px;
  color: #555555;
}

.reg-know-list li + li {
  margin-top: 12px;
}

.reg-know-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 8px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
}

.reg-know-list--blue li::before {
  background-color: #3b82f6;
}
.reg-know-list--orange li::before {
  background-color: #f05a1a;
}
.reg-know-list--yellow li::before {
  background-color: #eab308;
}

/* --- Key dates strip --- */
.reg-keydates {

  border-top: 1px solid rgba(0, 0, 0, 0.06);
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
  padding: 49px 0;
}

.reg-keydates-inner {
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
  padding: 0;
}

.reg-keydates-eyebrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 20px;
  background-color: #fff6ef;
  border: 1.333px solid #fbd9be;
  border-radius: 999px;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 700;
  font-size: 12px;
  line-height: 18.6px;
  color: #f2682a;
}

.reg-keydates-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;

}

.reg-keydate {
  background-color: #ffffff;
  border: 1px solid rgba(0, 0, 0, 0.06);
  border-radius: 16px;
  padding: 21px;
  text-align: center;
}

.reg-keydate-date {
  margin: 0;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 700;
  font-size: 24px;
  line-height: 32px;
  color: #f05a1a;
}

.reg-keydate-label {
  margin: 4px 0 0;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 500;
  font-size: 12px;
  line-height: 16.5px;
  color: #777777;
}

/* ============================================================
   REGISTRATION — STEP BAR
   ============================================================ */
.reg-steps {
  background-color: #ffffff;
  border-top: 1px solid rgba(0, 0, 0, 0.06);
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}

.reg-steps-inner {
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
  padding: 28px 24px;
  display: flex;
  align-items: center;
}

.reg-step {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  align-items: center;
}

.reg-step-item {
  display: flex;
  align-items: center;
  gap: 12px;
}

.reg-step-num {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background-color: #f0ede8;

  font-weight: 700;
  font-size: 14px;
  color: #cccccc;
}

.reg-step-label {
  margin: 0;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 700;
  font-size: 10px;
  line-height: 15px;
  text-transform: uppercase;
  color: #cccccc;
  white-space: nowrap;
}

.reg-step-sub {
  margin: 0;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 400;
  font-size: 12px;
  line-height: 16px;
  color: #cccccc;
  white-space: nowrap;
}

.reg-step--active .reg-step-num {
  background-color: #0f0f0f;
  color: #ffffff;
}
.reg-step--active .reg-step-label {
  color: #0f0f0f;
}
.reg-step--active .reg-step-sub {
  color: #666666;
}

.reg-step-line {
  flex: 1 1 auto;
  height: 1px;
  min-width: 20px;
  margin: 0 12px;
  background-color: #e8e5e0;
}

/* ============================================================
   REGISTRATION — FORM + SIDEBAR
   ============================================================ */
.reg-form-wrap {
  background-color: #ffffff;
  padding: 80px 0;
}

.reg-form-inner {
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 24px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: 40px;
  align-items: start;
}

/* ---- Form card ---- */
.reg-card {
  background-color: #ffffff;
  border: 1px solid rgba(0, 0, 0, 0.07);
  border-radius: 24px;
  box-shadow:
    0px 1px 3px rgba(0, 0, 0, 0.1),
    0px 1px 2px -1px rgba(0, 0, 0, 0.1);
  overflow: hidden;
}

.reg-card-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding: 40px 40px 33px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}

.reg-card-pill {
  display: inline-flex;
  padding: 5px 13px;
  background-color: #fff3ec;
  border: 1px solid rgba(240, 90, 26, 0.2);
  border-radius: 999px;

  font-weight: 700;
  font-size: 10px;
  line-height: 15px;
  text-transform: uppercase;
  color: #f05a1a;
}

.reg-card-title {
  margin: 12px 0 0;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 700;
  font-size: 32px;
  line-height: 40px;
  color: #0f0f0f;
}

.reg-card-sub {
  margin: 8px 0 0;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 500;
  font-size: 14px;
  line-height: 20px;
  color: #999999;
}

.reg-card-headicon {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  border-radius: 16px;
  background-color: #fff5ef;
}

.reg-card-headicon img {
  width: 24px;
  height: 24px;
  display: block;
}

.reg-card-body {
  padding: 40px;
}

.reg-fields {
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 40px;
  row-gap: 36px;
}

.reg-field {
  display: flex;
  flex-direction: column;
}

.reg-label {
  margin-bottom: 10px;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 600;
  font-size: 12px;
  line-height: 16.5px;

  text-transform: uppercase;
  color: #000000;
}

.reg-label span {
  color: #f05a1a;
}

.reg-input {
  width: 100%;
  height: 44.5px;
  padding: 10px 0 12px;
  border: 0;
  border-bottom: 2px solid #e8e5df;
  border-radius: 0;
  background-color: transparent;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 500;
  font-size: 15px;
  color: #0f0f0f;
  outline: none;
  transition: border-color 0.2s ease;
}

.reg-input::placeholder {
  color: #c8c5c0;
}
.reg-input:focus {
  border-bottom-color: #f05a1a;
}

.reg-select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  color: #6b6966;
  background-image: url("../images/form-chevron.svg");
  background-repeat: no-repeat;
  background-position: right 0 center;
  background-size: 16px 16px;
  padding-right: 24px;
  cursor: pointer;
}

.reg-select:valid {
  color: #0f0f0f;
}

/* ---- Inline verify row (email OTP) ---- */

/* .reg-field and .reg-verify-tag both set display, which beats the UA
   [hidden] rule — restate it or el.hidden = true does nothing. */
.reg-field[hidden],
.reg-verify-tag[hidden],
.reg-verify-btn[hidden] {
  display: none;
}

.reg-verify {
  display: flex;
  align-items: flex-end;
  gap: 12px;
}

/* The input keeps the underline; the button sits on the same baseline. */
.reg-verify .reg-input {
  flex: 1 1 auto;
  min-width: 0;
}

.reg-verify-btn {
  flex: 0 0 auto;
  margin-bottom: 6px;
  padding: 8px 16px;
  border: 1px solid #f5cdb4;
  border-radius: 999px;
  background-color: #fff6ef;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 700;
  font-size: 13px;
  line-height: 18px;
  white-space: nowrap;
  color: #e8550f;
  cursor: pointer;
  transition:
    background-color 0.15s ease-in,
    opacity 0.15s ease-in;
}

.reg-verify-btn:hover:not(:disabled) {
  background-color: #fdece1;
}

.reg-verify-btn:disabled {
  opacity: 0.6;
  cursor: default;
}

.reg-verify-btn--solid {
  border-color: #e8550f;
  background-color: #e8550f;
  color: #ffffff;
}

.reg-verify-btn--solid:hover:not(:disabled) {
  background-color: #c8440a;
}

.reg-verify-tag {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 6px;
  padding: 7px 14px;
  border-radius: 999px;
  background-color: #e7f7ee;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 700;
  font-size: 13px;
  line-height: 18px;
  white-space: nowrap;
  color: #157347;
}

.reg-verify-tag svg {
  width: 14px;
  height: 14px;
  display: block;
}

/* File pickers sit on the same underline as the text inputs; only the
   browser-drawn "Choose file" button needs restyling. */
.reg-file {
  padding-top: 8px;
  font-weight: 500;
  cursor: pointer;
}

.reg-file::file-selector-button {
  margin-right: 14px;
  padding: 7px 16px;
  border: 1px solid #f5cdb4;
  border-radius: 999px;
  background-color: #fff6ef;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 700;
  font-size: 13px;
  color: #e8550f;
  cursor: pointer;
  transition: background-color 0.15s ease-in;
}

.reg-file::file-selector-button:hover {
  background-color: #fdece1;
}

.reg-privacy {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  margin-top: 36px;
  padding: 21px;
  background-color: #fff5ef;
  border: 1px solid rgba(240, 90, 26, 0.12);
  border-radius: 16px;
}

.reg-privacy img {
  flex-shrink: 0;
  width: 16px;
  height: 16px;
  margin-top: 2px;
}

.reg-privacy p {
  margin: 0;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 400;
  font-size: 14px;
  line-height: 22.75px;
  color: #666666;
}

.reg-card-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-top: 48px;
  padding-top: 33px;
  border-top: 1px solid #f0ede8;
}

.reg-back {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 20px;
  border-radius: 14px;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 600;
  font-size: 14px;
  color: #777777;
  text-decoration: none;
}

.reg-back img {
  width: 16px;
  height: 16px;
  display: block;
}
.reg-back:hover {
  color: #0f0f0f;
}

.reg-continue {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 14px 32px;
  border: 0;
  border-radius: 14px;
  background-color: #f05a1a;
  box-shadow:
    0px 1px 1.5px rgba(0, 0, 0, 0.1),
    0px 1px 1px rgba(0, 0, 0, 0.1);
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 700;
  font-size: 16px;
  line-height: 24px;
  color: #ffffff;
  text-decoration: none;
  cursor: pointer;
  transition: background-color 0.2s ease;
}

.reg-continue img {
  width: 16px;
  height: 16px;
  display: block;
}
.reg-continue:hover {
  background-color: #d94e12;
}

/* ---- Sidebar ---- */
.reg-side {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

/* The sidebar tracks the form while the page scrolls. It parks just under the
   sticky BIC nav (105px global header + 72px nav bar) with a 16px gap. When
   the cards are taller than the space left, the aside scrolls on its own so
   the "Need Help?" card stays reachable. */
.reg-side {
  position: sticky;
  top: 193px;
  align-self: start;
  max-height: calc(100vh - 193px - 24px);
  overflow-y: auto;
  scrollbar-width: thin;
}

.reg-side-card {
  background-color: #ffffff;
  border: 1px solid rgba(0, 0, 0, 0.07);
  border-radius: 16px;
  padding: 21px;
}

.reg-side-card:first-child {
  padding: 25px;
}

.reg-side-label {
  margin: 0;

  font-weight: 700;
  font-size: 10px;
  line-height: 15px;
  text-transform: uppercase;
  color: #aaaaaa;
}

.reg-side-label--orange {
  color: #f05a1a;
}

.reg-progress {
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 20px 0;
}

.reg-ring {
  position: relative;
  flex-shrink: 0;
  width: 80px;
  height: 80px;
}

.reg-ring svg {
  display: block;
  width: 80px;
  height: 80px;
}

.reg-ring-pct {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;

  font-weight: 700;
  font-size: 15px;
  color: #0f0f0f;
}

.reg-prog-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.reg-prog-item {
  display: flex;
  align-items: center;
  gap: 10px;

  font-weight: 600;
  font-size: 12px;
  color: #cccccc;
}

.reg-prog-item + .reg-prog-item {
  margin-top: 8px;
}

.reg-prog-num {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background-color: #f0ede8;

  font-weight: 900;
  font-size: 9px;
  color: #cccccc;
}

.reg-prog-item--active {
  color: #0f0f0f;
}
.reg-prog-item--active .reg-prog-num {
  background-color: #0f0f0f;
  color: #ffffff;
}

.reg-checklist {
  margin: 16px 0 0;
  padding: 0;
  list-style: none;
}

.reg-checklist li {
  display: flex;
  align-items: center;
  gap: 12px;

  font-weight: 500;
  font-size: 12px;
  color: #666666;
}

.reg-checklist li + li {
  margin-top: 12px;
}

.reg-check-dot {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background-color: #fff5ef;
  border: 1px solid rgba(240, 90, 26, 0.25);
}

.reg-check-dot::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: rgba(240, 90, 26, 0.35);
}

.reg-side-help {
  background-color: #fff5ef;
  border-color: rgba(240, 90, 26, 0.12);
}

.reg-help-hours {
  margin: 8px 0 0;

  font-weight: 400;
  font-size: 12px;
  line-height: 19.5px;
  color: #777777;
}

.reg-help-links {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 16px;
}

.reg-help-links a {
  display: flex;
  align-items: center;
  gap: 10px;

  font-weight: 600;
  font-size: 12px;
  color: #0f0f0f;
  text-decoration: none;
}

.reg-help-links img {
  width: 14px;
  height: 14px;
  display: block;
}
.reg-help-links a:hover {
  color: #f05a1a;
}

/* ============================================================
   REGISTRATION — 3-STEP WIZARD
   ============================================================ */
.reg-pane {
  display: none;
}
.reg-pane--on {
  display: block;
}

/* Completed steps in the top bar + sidebar list */
.reg-step--done .reg-step-num {
  background-color: #fff5ef;
  border: 1px solid rgba(240, 90, 26, 0.3);
  color: #f05a1a;
}

.reg-step--done .reg-step-label {
  color: #666666;
}
.reg-step--done .reg-step-sub {
  color: #999999;
}
.reg-step--done .reg-step-line {
  background-color: rgba(240, 90, 26, 0.35);
}

.reg-prog-item--done {
  color: #666666;
}
.reg-prog-item--done .reg-prog-num {
  background-color: #f05a1a;
  color: #ffffff;
}

.reg-ring-fg {
  transition: stroke-dashoffset 0.4s ease;
}

/* ---- Section heading inside a pane ---- */
.reg-sec-h {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 28px;

  font-weight: 700;
  font-size: 11px;
  line-height: 16px;
  text-transform: uppercase;
  color: #0f0f0f;
}

.reg-sec-h::after {
  content: "";
  flex: 1 1 auto;
  height: 1px;
  background-color: #f0ede8;
}

.reg-fields + .reg-sec-h {
  margin-top: 44px;
}

/* ---- Hints + errors ---- */
.reg-field--full {
  grid-column: 1 / -1;
}

.reg-hint {
  margin: 8px 0 0;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 400;
  font-size: 12px;
  line-height: 18px;
  color: #484848;
}

.reg-hint--above {
  margin: -2px 0 14px;
}

.reg-err {
  display: none;
  margin: 8px 0 0;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 600;
  font-size: 12px;
  line-height: 18px;
  color: #ef4444;
}

.reg-field.is-err .reg-err {
  display: block;
}
.reg-field.is-err .reg-hint {
  display: none;
}
.reg-field.is-err .reg-input {
  border-bottom-color: #ef4444;
}
.reg-field.is-err .reg-theme {
  border-color: rgba(239, 68, 68, 0.35);
}
.reg-field.is-err .reg-check span {
  color: #0f0f0f;
}

/* ---- Theme picker ---- */
.reg-themes {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.reg-theme {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
  padding: 18px 16px;
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 16px;
  background-color: #ffffff;
  text-align: left;
  cursor: pointer;
  transition:
    border-color 0.2s ease,
    background-color 0.2s ease,
    box-shadow 0.2s ease;
}

.reg-theme-ic {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  margin-bottom: 8px;
  border-radius: 10px;
  background-color: #faf9f7;
}

.reg-theme-ic img {
  width: 18px;
  height: 18px;
  display: block;
}

.reg-theme-name {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 700;
  font-size: 13px;
  line-height: 19px;
  color: #0f0f0f;
}

.reg-theme-desc {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 400;
  font-size: 11.5px;
  line-height: 17px;
  color: #999999;
}

.reg-theme:hover {
  border-color: rgba(240, 90, 26, 0.4);
  background-color: #fffcfa;
}

.reg-theme--on {
  border-color: #f05a1a;
  background-color: #fff7f2;
  box-shadow: 0 0 0 1px #f05a1a;
}

.reg-theme--on .reg-theme-ic {
  background-color: #ffffff;
}

.reg-theme--on::after {
  content: "✓";
  position: absolute;
  top: 14px;
  right: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background-color: #f05a1a;

  font-size: 11px;
  font-weight: 700;
  color: #ffffff;
}

/* ---- Notes ---- */
.reg-note {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  margin-top: 36px;
  padding: 18px 20px;
  background-color: #fff8f1;
  border: 1px solid rgba(240, 90, 26, 0.18);
  border-radius: 16px;
}

.reg-note-ic {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background-color: #f05a1a;

  font-weight: 700;
  font-size: 11px;
  line-height: 1;
  color: #ffffff;
}

.reg-note p {
  margin: 0;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 400;
  font-size: 13.5px;
  line-height: 22px;
  color: #666666;
}

.reg-note p b {
  font-weight: 700;
  color: #0f0f0f;
}

.reg-note--green {
  background-color: #f3fbf7;
  border-color: rgba(16, 185, 129, 0.22);
}

.reg-note--green .reg-note-ic {
  background-color: #10b981;
}

/* ---- Footer extras ---- */
.reg-foot-right {
  display: flex;
  align-items: center;
  gap: 20px;
}

.reg-save {
  display: inline-flex;
  align-items: center;
  gap: 8px;

  font-weight: 700;
  font-size: 10px;
  text-transform: uppercase;
  color: #10b981;
  white-space: nowrap;
}

.reg-save i {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: #10b981;
}

/* The [hidden] attribute has to win over the display rules above. */
.reg-save[hidden] {
  display: none;
}

button.reg-back {
  border: 0;
  background: none;
  cursor: pointer;
}

.reg-ghost {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 13px 26px;
  border: 1px solid rgba(0, 0, 0, 0.12);
  border-radius: 14px;
  background-color: #ffffff;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 600;
  font-size: 14px;
  line-height: 22px;
  color: #0f0f0f;
  text-decoration: none;
  cursor: pointer;
  transition:
    border-color 0.2s ease,
    background-color 0.2s ease;
}

.reg-ghost:hover {
  border-color: #f05a1a;
  background-color: #fff7f2;
  color: #f05a1a;
}

/* ---- Participant cards ---- */
.reg-pcard {
  padding: 24px;
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 20px;
  background-color: #ffffff;
}

.reg-pcard + .reg-pcard {
  margin-top: 20px;
}

.reg-pcard--lead {
  border-color: rgba(240, 90, 26, 0.28);
  background-color: #fffdfb;
}

.reg-pcard-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 26px;
  padding-bottom: 18px;
  border-bottom: 1px solid #f0ede8;
}

.reg-pcard-id {
  display: flex;
  align-items: center;
  gap: 12px;
}

.reg-pcard-num {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background-color: #f0ede8;

  font-weight: 700;
  font-size: 13px;
  color: #777777;
}

.reg-pcard--lead .reg-pcard-num {
  background-color: #f05a1a;
  color: #ffffff;
}

.reg-pcard-title {
  margin: 0;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 700;
  font-size: 15px;
  line-height: 21px;
  color: #0f0f0f;
}

.reg-pcard-role {
  margin: 2px 0 0;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 500;
  font-size: 12px;
  line-height: 17px;
  color: #999999;
}

.reg-pcard-del {
  flex-shrink: 0;
  padding: 7px 14px;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 999px;
  background-color: #ffffff;

  font-weight: 600;
  font-size: 11px;
  text-transform: uppercase;
  color: #999999;
  cursor: pointer;
  transition:
    color 0.2s ease,
    border-color 0.2s ease;
}

.reg-pcard-del:hover {
  color: #ef4444;
  border-color: rgba(239, 68, 68, 0.4);
}

.reg-add {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  margin-top: 20px;
  padding: 18px;
  border: 1.5px dashed rgba(240, 90, 26, 0.4);
  border-radius: 16px;
  background-color: #fffaf6;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 700;
  font-size: 14px;
  color: #f05a1a;
  cursor: pointer;
  transition:
    background-color 0.2s ease,
    border-color 0.2s ease;
}

.reg-add:hover {
  background-color: #fff3ec;
  border-color: #f05a1a;
}

.reg-add:disabled {
  border-color: #e8e5df;
  background-color: #faf9f7;
  color: #bbbbbb;
  cursor: not-allowed;
}

.reg-slots {

  font-weight: 500;
  font-size: 12px;
  color: #999999;
}

/* ---- Review ---- */
.reg-rev {
  border: 1px solid rgba(0, 0, 0, 0.07);
  border-radius: 20px;
  overflow: hidden;
}

.reg-rev + .reg-rev {
  margin-top: 16px;
}

.reg-rev-h {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 24px;
  background-color: #faf9f7;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}

.reg-rev-h h3 {
  margin: 0;

  font-weight: 700;
  font-size: 11px;
  text-transform: uppercase;
  color: #0f0f0f;
}

.reg-rev-edit {
  flex-shrink: 0;
  padding: 0;
  border: 0;
  background: none;

  font-weight: 700;
  font-size: 11px;
  text-transform: uppercase;
  color: #f05a1a;
  cursor: pointer;
}

.reg-rev-edit:hover {
  text-decoration: underline;
}

.reg-rev-dl {
  display: grid;
  grid-template-columns: 210px minmax(0, 1fr);
  margin: 0;
  padding: 6px 24px 18px;
}

.reg-rev-dl dt {
  padding: 13px 0;
  border-bottom: 1px solid #f4f2ee;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 700;
  font-size: 11px;
  text-transform: uppercase;
  color: #999999;
}

.reg-rev-dl dd {
  margin: 0;
  padding: 13px 0;
  border-bottom: 1px solid #f4f2ee;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 500;
  font-size: 14px;
  line-height: 21px;
  color: #0f0f0f;
  overflow-wrap: anywhere;
}

.reg-rev-sub {
  grid-column: 1 / -1;
  margin: 18px 0 0;
  padding-bottom: 6px;

  font-weight: 700;
  font-size: 10px;
  text-transform: uppercase;
  color: #f05a1a;
}

/* ---- Declaration checkbox ---- */
.reg-field--check {
  margin-top: 28px;
}

.reg-check {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  cursor: pointer;
}

.reg-check input {
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  margin-top: 2px;
  accent-color: #f05a1a;
  cursor: pointer;
}

.reg-check span {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 400;
  font-size: 13.5px;
  line-height: 22px;
  color: #555555;
}

/* ---- Done pane ---- */
.reg-done {
  text-align: center;
  padding: 20px 0 8px;
}

.reg-seal {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 72px;
  height: 72px;
  margin-bottom: 24px;
  border-radius: 50%;
  background-color: #10b981;
  box-shadow: 0 0 0 10px rgba(16, 185, 129, 0.1);

  font-size: 30px;
  font-weight: 700;
  line-height: 1;
  color: #ffffff;
}

.reg-done .reg-card-sub {
  max-width: 480px;
  margin-inline: auto;
}

.reg-code {
  display: inline-block;
  margin: 28px 0 10px;
  padding: 14px 28px;
  border: 1.5px dashed rgba(240, 90, 26, 0.45);
  border-radius: 14px;
  background-color: #fff5ef;

  font-weight: 700;
  font-size: 22px;
  color: #f05a1a;
}

.reg-code-note {
  margin: 0;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 400;
  font-size: 12px;
  color: #999999;
}

.reg-tl {
  margin: 36px 0 0;
  padding: 0 0 0 24px;
  list-style: none;
  text-align: left;
  border-left: 1px solid #f0ede8;
}

.reg-tl li {
  position: relative;
}
.reg-tl li + li {
  margin-top: 22px;
}

.reg-tl li::before {
  content: "";
  position: absolute;
  left: -29px;
  top: 5px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: #ffffff;
  border: 2px solid #f05a1a;
}

.reg-tl-title {
  margin: 0;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 700;
  font-size: 14px;
  line-height: 20px;
  color: #0f0f0f;
}

.reg-tl-text {
  margin: 3px 0 0;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 400;
  font-size: 13px;
  line-height: 20px;
  color: #777777;
}

.reg-done-ctas {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  margin-top: 40px;
  padding-top: 32px;
  border-top: 1px solid #f0ede8;
}

/* ---- Checklist ticked state ---- */
.reg-checklist li.is-done {
  color: #0f0f0f;
}

.reg-checklist li.is-done .reg-check-dot {
  background-color: #f05a1a;
  border-color: #f05a1a;
}

.reg-checklist li.is-done .reg-check-dot::before {
  background-color: #ffffff;
}

/* ---- Toast ---- */
.reg-toast {
  position: fixed;
  left: 50%;
  bottom: 28px;
  z-index: 1080;
  max-width: calc(100% - 32px);
  padding: 14px 22px;
  border-radius: 14px;
  background-color: #0f0f0f;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18);
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 600;
  font-size: 13.5px;
  color: #ffffff;
  opacity: 0;
  transform: translate(-50%, 16px);
  pointer-events: none;
  transition:
    opacity 0.25s ease,
    transform 0.25s ease;
}

.reg-toast.is-on {
  opacity: 1;
  transform: translate(-50%, 0);
}
.reg-toast--good {
  background-color: #10b981;
}
.reg-toast--bad {
  background-color: #ef4444;
}

/* ============================================================
   COMPETITION STRUCTURE
   ============================================================ */
.bic-structure {
  background-color: #0f0f0f;
  padding: 80px 0;
}

.bic-structure-inner {
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 24px;
}

/* --- Head --- */
.bic-structure-eyebrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 20px;
  background-color: #fff6ef;
  border: 1.333px solid #fbd9be;
  border-radius: 999px;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 700;
  font-size: 12px;
  line-height: 18.6px;
  color: #f2682a;
}

.bic-structure-title {
  margin: 0;
  padding-top: 8px;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 700;
  font-size: 36px;
  line-height: 40px;
  color: #ffffff;
  text-align: center;
}

/* --- Stage summary cards --- */
.bic-stage-cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  margin-top: 56px;
}

.bic-stage-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-height: 335px;
  padding: 33px;
  background-color: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 16px;
}

.bic-stage-emoji {
  display: block;
  padding-bottom: 20px;
  font-size: 48px;
  line-height: 48px;
}

.bic-stage-badge {
  display: inline-flex;
  align-items: center;
  height: 24px;
  margin: 0 0 17.5px;
  padding: 0 12px;
  border-radius: 999px;
  background-color: rgba(240, 90, 26, 0.13);

  font-weight: 700;
  font-size: 12px;
  line-height: 16px;
  color: #f05a1a;
}

.bic-stage-name {
  margin: 0;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 700;
  font-size: 24px;
  line-height: 32px;
  color: #ffffff;
}

.bic-stage-desc {
  margin: 0;
  padding-top: 12px;

  font-weight: 400;
  font-size: 14px;
  line-height: 22.75px;
  color: rgba(255, 255, 255, 0.55);
}

.bic-stage-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin: auto 0 0;
  padding: 24px 0 0;
  list-style: none;
}

.bic-stage-pills li {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 16px;
  height: 35px;
  border-radius: 999px;
  background-color: rgba(240, 90, 26, 0.13);
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 700;
  font-size: 13px;
  line-height: 16px;
  color: #f05a1a;
  white-space: nowrap;
}

/* Stage 2 card: gold accent */
.bic-stage-card--gold .bic-stage-badge {
  background-color: rgba(234, 179, 8, 0.13);
  color: #eab308;
}

.bic-stage-card--gold .bic-stage-pills li {
  color: #eab308;
}

/* --- Accordion shell --- */
.bic-structure-accordion {
  display: flex;
  flex-direction: column;
  gap: 5px;
  margin-top: 40px;
  --bs-accordion-border-width: 0;
  --bs-accordion-border-radius: 0;
  --bs-accordion-inner-border-radius: 0;
  --bs-accordion-btn-focus-box-shadow: none;
  --bs-accordion-btn-icon-width: 24px;
  --bs-accordion-btn-icon-transform: rotate(-180deg);
}

/* Chevron is set here (not via --bs-accordion-btn-icon) so the relative URL
   resolves against this stylesheet rather than the Bootstrap CDN one. */
.bic-accord-btn.accordion-button::after,
.bic-accord-btn.accordion-button:not(.collapsed)::after {
  background-image: url("../images/accordion-chevron.svg");
}

.bic-accord-item {
  background-color: transparent;
}

/* Expanded header */
.bic-accord-btn.accordion-button {
  min-height: 60px;
  padding: 10px 20px 10px 22px;
  background-color: #ea580c;
  border-radius: 0;
  box-shadow: none;
  font-family: "Plus Jakarta Sans", sans-serif;

  font-weight: 700;
  font-size: 20px;
  line-height: 1.6;
  color: #ffffff;
}

/* Collapsed header */
.bic-accord-btn.accordion-button.collapsed {
  background-color: #d9d9d9;
  color: rgba(8, 7, 8, 0.6);
}

.bic-accord-body {
  display: flex;
  flex-direction: column;
  gap: 52px;
  padding: 50px 52px 60px;
  background-color: #f2f2f2;
}

/* --- Stage detail card --- */
.bic-stage1-card {
  padding: 22px 28px 26px;
  background-color: #ffffff;
  border: 0.667px solid #efe8e0;
  border-radius: 16px;
  box-shadow:
    0 1px 1px rgba(22, 19, 15, 0.04),
    0 14px 17px rgba(22, 19, 15, 0.24);
}

.bic-s1-badges {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}

.bic-s1-tag,
.bic-s1-date {
  border: 1.333px solid #fbd9be;
  border-radius: 999px;
  background-color: #fff6ef;
  font-family: "Plus Jakarta Sans", sans-serif;
  color: #f2682a;
  white-space: nowrap;
}

.bic-s1-tag {
  padding: 7px 16px;
  font-weight: 700;
  font-size: 12px;
  line-height: 18.6px;
}

.bic-s1-date {
  padding: 8.333px 15.333px;
  font-weight: 600;
  font-size: 12.5px;
  line-height: 19.375px;
}

.bic-s1-sup {
  font-size: 10.417px;
  line-height: 16.146px;
}

.bic-s1-title {
  margin: 18px 0 0;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 700;
  font-size: 22px;
  line-height: 34.1px;
  color: #16130f;
}

.bic-s1-lists {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 32px;
  margin-top: 6px;
  padding-top: 12px;
}

.bic-s1-list {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
  align-content: start;
}

.bic-s1-list li {
  position: relative;
  padding-left: 19px;

  font-weight: 400;
  font-size: 14.5px;
  line-height: 22.475px;
  color: #5d5850;
}

.bic-s1-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 9px;
  width: 6px;
  height: 6px;
  border-radius: 3px;
  background-color: #f2682a;
}

.bic-s1-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 20px 0 0;
  padding: 18.667px 0 0;
  list-style: none;
  border-top: 0.667px dashed #f4d8c4;
}

.bic-s1-chips li {
  padding: 10.333px 17.333px;
  border: 1.333px solid #fbd9be;
  border-radius: 999px;
  background-color: #ffffff;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 600;
  font-size: 13px;
  line-height: 20.15px;
  color: #f2682a;
  white-space: nowrap;
}

/* --- Presentation layout --- */
.bic-pres {
  display: flex;
  flex-direction: column;
  gap: 41px;
}

.bic-pres-title {
  margin: 0;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 700;
  font-size: 22px;
  color: #16130f;
  text-align: center;
}

.bic-pres-sub {
  margin: 0;
  padding-top: 12px;

  font-weight: 400;
  font-size: 16.5px;
  line-height: 25.575px;
  color: #5d5850;
  text-align: center;
}

.bic-pres-sub strong {
  font-weight: 700;
}

/* Slide-by-slide layout, as a list rather than a table */
.bic-pres-list {
  margin: 0;
  padding: 0;
  list-style: none;
  background-color: #ffffff;
  border: 0.667px solid #efe8e0;
  border-radius: 16px;
  box-shadow:
    0 1px 2px rgba(22, 19, 15, 0.04),
    0 14px 34px -20px rgba(22, 19, 15, 0.24);
  overflow: hidden;
}

.bic-pres-item {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  padding: 16px 20px;
}

.bic-pres-item + .bic-pres-item {
  border-top: 0.667px solid #efe8e0;
}

.bic-pres-item:nth-child(odd) {
  background-color: #fffaf7;
}

.bic-pres-item-num {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background-color: #fff1e9;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 700;
  font-size: 13px;
  line-height: 1;
  color: #ff6b35;
}

.bic-pres-item-body {
  flex: 1 1 auto;
  min-width: 0;
}

.bic-pres-item-title {
  margin: 0;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 600;
  font-size: 14px;
  line-height: 22px;
  color: #16130f;
}

.bic-pres-item-text {
  margin: 2px 0 0;

  font-weight: 400;
  font-size: 14px;
  line-height: 21.7px;
  color: #5d5850;
}

@media (max-width: 575.98px) {
  .bic-pres-item {
    gap: 12px;
    padding: 14px 14px;
  }

  .bic-pres-item-num {
    width: 26px;
    height: 26px;
    font-size: 12px;
  }
}

/* ============================================================
   RESPONSIVE
   ============================================================ */
/* Brochure CTA is hidden below 1280px; it stays available in the page body */
@media (max-width: 1279.98px) {
  .bic-btn-download {
    display: none;
  }
}

@media (max-width: 991.98px) {
  /* Collapsed to a single hamburger, a full-width sticky strip is just an
     empty band across the page. Drop the bar out of the flow and pin the
     toggler to the right, under the 55px global header, as its own box. */
	 .bic-venue-photo{display:none;}
  .bic-navigation {
    position: fixed;
    z-index: 2;
    top: 55px;
    right: 0;
    left: auto;
    width: auto;
    background-color: transparent;
    border-bottom: 0;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    padding-top: 6px;
  }

  .bic-nav-container {
    position: relative;
    width: auto;
    padding: 10px 12px;
  }

  .bic-nav-toggler {
    padding: 0;
    width: 42px;
    height: 42px;
    background-color: #ffffff;
    border: 1px solid rgba(0, 0, 0, 0.08);
    border-radius: 12px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
  }

  /* The open menu hangs off the button as a panel rather than stretching
     full width and pushing the page down. */
  .bic-nav-collapse {
    position: absolute;
    z-index: 1;
    top: calc(100% + 2px);
    right: 12px;
    left: auto;
    width: 240px;
    max-width: calc(100vw - 24px);
    /* Long menus scroll inside the box instead of running off screen. */
    max-height: calc(100vh - 120px);
    overflow-y: auto;
    background-color: #ffffff;
    border: 1px solid rgba(0, 0, 0, 0.08);
    border-radius: 14px;
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.14);
  }

  .bic-nav-links {
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding: 6px 10px;
  }

  .bic-nav-links .nav-item + .nav-item {
    border-top: 1px solid #f2efeb;
  }

  .bic-nav-link {
    display: block;
    padding: 11px 16px;
    text-align: left;
    white-space: normal;
  }

  /* Hero: image drops behind, lighten so text stays readable */
  .bic-hero {
    min-height: auto;
    background-size: cover;
    background-position: 70% center;
  }

  .bic-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
      90deg,
      rgba(250, 250, 248, 0.92) 40%,
      rgba(250, 250, 248, 0.55) 100%
    );
  }

  .bic-hero-content {
    padding-top: 64px;
    padding-bottom: 64px;
  }

  .bic-inv-types {
    grid-template-columns: repeat(2, 1fr);
  }

  .bic-inv-panels {
    grid-template-columns: 1fr;
  }

  /* Grand Finale prep: 2 columns on tablet, dotted rules only between pairs */
  .bic-gf-needs {
    grid-template-columns: repeat(2, 1fr);
    row-gap: 36px;
  }

  .bic-gf-need,
  .bic-gf-need:first-child,
  .bic-gf-need:last-child {
    padding: 0 20px;
  }

  .bic-gf-need:nth-child(odd) {
    padding-left: 0;
    background-image: none;
  }

  .bic-gf-need:nth-child(even) {
    padding-right: 0;
  }

  .bic-gf-steps {
    grid-template-columns: repeat(3, 1fr);
    row-gap: 46px;
  }

  /* Connectors only make sense inside a row */
  .bic-gf-step:nth-child(3n + 1)::after {
    display: none;
  }

  .bic-gf-pitch {
    grid-template-columns: repeat(3, 1fr);
  }

  .bic-gf-title {
    font-size: 22px;
    line-height: 38px;
  }

  .bic-gf-title--spaced {
    margin-top: 64px;
  }

  /* Stats: 3 columns on tablet */
  .bic-stats-grid {
    grid-template-columns: repeat(3, 1fr);
  }

  /* Themes: 3 columns on tablet */
  .bic-themes-grid {
    grid-template-columns: repeat(3, 1fr);
  }

  /* Registration form: sidebar drops below the form */
  .reg-form-inner {
    grid-template-columns: 1fr;
  }

  /* Stacked below the form, so nothing to stick to */
  .reg-side {
    position: static;
    max-height: none;
    overflow-y: visible;
  }

  /* Wizard: themes to 2 columns, review labels narrower */
  .reg-themes {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .reg-rev-dl {
    grid-template-columns: 170px minmax(0, 1fr);
  }

  /* Step bar scrolls horizontally rather than crushing */
  .reg-steps-inner {
    overflow-x: auto;
    gap: 8px;
  }

  .reg-step {
    flex: 0 0 auto;
  }

  .reg-step-line {
    min-width: 24px;
  }

  /* Registration info: cards to 1 col */
  .reg-know-grid {
    grid-template-columns: 1fr;
  }

  .reg-banner-title {
    font-size: 36px;
    line-height: 46px;
  }

  /* Registration hero: stack, single background */
  .reg-hero {
    background: #ffffff;
  }

  .reg-hero-inner {
    grid-template-columns: 1fr;
    min-height: 0;
  }

  .reg-hero-left {
    padding-right: 0;
    padding-top: 56px;
  }

  .reg-hero-right {
    padding-left: 0;
    padding-top: 40px;
    padding-bottom: 56px;
  }

  /* Venue: stack columns, drop the card's top offset */
  .bic-venue-grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .bic-venue-right {
    padding-top: 0;
  }

  /* Contact: stack coordinator block above QR/buttons */
  .bic-contact-grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .bic-prizes-amount {
    font-size: 34px;
  }

  .bic-prizes-sub {
    font-size: 17px;
  }

  .bic-prizes-podium {
    grid-template-columns: 1fr;
    gap: 18px;
    align-items: stretch;
  }

  .bic-prizes-awards {
    grid-template-columns: repeat(2, 1fr);
  }

  /* About: stack columns, cards to 2-up */
  .bic-about-top {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .bic-about-cards {
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
  }

  /* Competition structure: stack stage cards and detail lists */
  .bic-structure {
    padding: 56px 0;
  }

  .bic-stage-cards {
    grid-template-columns: 1fr;
    margin-top: 40px;
  }

  .bic-stage-card {
    min-height: 0;
  }

  .bic-stage-pills {
    padding-top: 28px;
  }

  .bic-accord-body {
    gap: 40px;
    padding: 32px 24px 40px;
  }

  .bic-s1-lists {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .bic-pres-title {
    font-size: 26px;
    line-height: 34px;
  }
}

@media (max-width: 575.98px) {
  .bic-hero-title {
    width: 320px;
  }

  /* Competition structure: tighter cards, full-width pills */
  .bic-stage-card {
    padding: 24px;
  }

  .bic-stage-pills {
    gap: 10px;
  }

  .bic-stage-pills li {
    width: auto;
    flex: 1 1 auto;
    padding: 0 14px;
  }

  .bic-accord-btn.accordion-button {
    padding: 10px 16px;
    font-size: 16px;
  }

  .bic-accord-body {
    padding: 24px 16px 32px;
  }

  .bic-stage1-card {
    padding: 20px 18px 22px;
  }

  .bic-s1-badges {
    align-items: flex-start;
    justify-content: flex-start;
    gap: 10px;
  }

  .bic-s1-tag,
  .bic-s1-date,
  .bic-s1-chips li {
    white-space: normal;
  }

  /* Contact: detail chips single column */
  .bic-contact-details {
    grid-template-columns: 1fr;
  }

  /* Registration key dates: 2 per row on mobile */
  .reg-keydates-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  /* Registration form: single-column fields, tighter padding */
  .reg-fields {
    grid-template-columns: 1fr;
    row-gap: 28px;
  }

  .reg-card-head {
    padding: 28px 24px 24px;
  }
  .reg-card-body {
    padding: 24px;
  }
  .reg-card-title {
    font-size: 26px;
    line-height: 34px;
  }

  .reg-card-foot {
    flex-direction: column-reverse;
    align-items: stretch;
    gap: 12px;
  }

  .reg-back,
  .reg-continue {
    justify-content: center;
  }

  /* Wizard on mobile: single-column themes + stacked review rows */
  .reg-themes {
    grid-template-columns: 1fr;
  }

  .reg-rev-dl {
    grid-template-columns: 1fr;
    padding: 4px 20px 16px;
  }
  .reg-rev-dl dt {
    padding: 12px 0 0;
    border-bottom: 0;
  }
  .reg-rev-dl dd {
    padding: 4px 0 12px;
  }

  .reg-pcard {
    padding: 18px;
  }

  .reg-pcard-head {
    flex-wrap: wrap;
  }

  .reg-foot-right {
    flex-direction: column-reverse;
    align-items: stretch;
    gap: 12px;
  }

  .reg-save {
    justify-content: center;
  }

  .reg-done-ctas {
    flex-direction: column;
  }

  .reg-code {
    font-size: 18px;
    padding: 12px 18px;
  }

  .reg-banner-title {
    font-size: 30px;
    line-height: 40px;
  }

  .bic-invest {
    padding: 56px 0;
  }

  .bic-invest-sub {
    font-size: 16px;
    line-height: 26px;
  }

  .bic-inv-modal-head {
    padding: 20px 20px 18px;
  }

  .bic-inv-modal-title {
    font-size: 21px;
    line-height: 28px;
  }

  .bic-inv-modal-body {
    padding: 22px 20px 26px;
  }

  .bic-inv-types {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .bic-inv-panel {
    padding: 20px 18px 22px;
  }

  .bic-inv-list li {
    font-size: 15px;
    line-height: 23px;
  }

  /* Grand Finale prep: single column of needs, 2-up steps and pitch cards */
  .bic-gf {
    padding: 56px 0;
  }

  .bic-gf-needs {
    grid-template-columns: 1fr;
    row-gap: 28px;
  }

  .bic-gf-need,
  .bic-gf-need:first-child,
  .bic-gf-need:last-child,
  .bic-gf-need:nth-child(odd),
  .bic-gf-need:nth-child(even) {
    padding: 0;
    background-image: none;
  }

  .bic-gf-steps {
    grid-template-columns: repeat(2, 1fr);
    gap: 40px 20px;
  }

  .bic-gf-step {
    min-height: 96px;
    padding: 18px 10px 18px;
  }

  .bic-gf-step::after,
  .bic-gf-step + .bic-gf-step::after {
    display: none;
  }

  .bic-gf-step-name {
    font-size: 16px;
    line-height: 22px;
  }

  .bic-gf-pitch {
    grid-template-columns: 1fr;
  }

  .bic-gf-title {
    font-size: 26px;
    line-height: 34px;
  }

  .bic-gf-sub {
    font-size: 16px;
    line-height: 25px;
  }

  .bic-gf-need-title {
    font-size: 18px;
    line-height: 24px;
  }

  /* Stats: 2 columns on mobile — 10 cards single-file is too tall */
  .bic-stats-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
  }

  .bic-stat-card {
    padding: 10px;
    min-height: 120px;
  }

  .bic-stat-number {
    font-size: 26px;
    line-height: 34px;
  }

  .bic-stat-label,
  .bic-stat-label:first-child {
    font-size: 14px;
    line-height: 20px;
  }

  .bic-stats-heading {
    white-space: normal;
  }

  /* Themes: 2 columns on small tablets */
  .bic-themes-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  /* Prizes: single-column chips on mobile */
  .bic-prizes-awards {
    grid-template-columns: 1fr;
  }

  .bic-prizes-actions {
    flex-direction: column;
  }

  .bic-about-cards {
    grid-template-columns: 1fr;
  }

  .bic-hero-actions {
    flex-direction: column;
    align-items: stretch;
    width: 100%;
  }

  .bic-btn-primary,
  .bic-btn-outline {
    justify-content: center;
  }

  /* Cards: recover horizontal room lost to desktop-sized padding */
  .bic-contact-card {
    padding: 24px 20px;
    border-radius: 18px;
  }

  .bic-venue-card {
    padding: 24px 20px;
  }

  .bic-about-card {
    padding: 20px;
  }

  .bic-prizes {
    padding: 56px 16px;
    gap: 40px;
  }

  /* Eligibility cards: let them fill the row instead of a fixed 204px */
  .bic-elig-cards {
    gap: 35px;
    margin-top: 40px;
  }

  .bic-elig-card {
    width: 100%;
  }

  /* Long values (emails, URLs) must not push the card wider than the screen */
  .bic-contact-item-value {
    overflow-wrap: anywhere;
  }
}

/* ============================================================
   SECTION HEADINGS — one shared type scale
   Every section title uses the .bic-about-heading treatment:
   Plus Jakarta Sans 700 / 35px / 1.3. Colour and alignment stay
   per-section, since some of these sit on dark panels.
   ============================================================ */
.bic-stats-heading,
.bic-about-heading,
.bic-path-title,
.bic-prizes-title,
.bic-themes-title,
.bic-venue-title,
.bic-contact-title,
.bic-structure-title,
.bic-gallery-title,
.bic-invest-title,
.bic-media-title {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 700;
  font-size: 35px;
  line-height: 1.3;
}

@media (max-width: 991.98px) {
  .bic-stats-heading,
  .bic-about-heading,
  .bic-path-title,
  .bic-prizes-title,
  .bic-themes-title,
  .bic-venue-title,
  .bic-contact-title,
  .bic-structure-title,
  .bic-gallery-title,
  .bic-media-title {
    font-size: 30px;
  }
}

@media (max-width: 575.98px) {
  .bic-stats-heading,
  .bic-about-heading,
  .bic-path-title,
  .bic-prizes-title,
  .bic-themes-title,
  .bic-venue-title,
  .bic-contact-title,
  .bic-structure-title,
  .bic-gallery-title,
  .bic-media-title {
    font-size: 25px;
  }
}

/* ============================================================
   SECTION EYEBROWS — one shared treatment
   Outfit 600 / 12px / 16px / 2.16px tracking, uppercase.
   Colour and alignment stay per-section (two of these sit on
   dark panels and are lightened further down).
   ============================================================ */
.bic-stats-eyebrow,
.bic-about-eyebrow,
.bic-path-eyebrow,
.bic-themes-eyebrow,
.bic-venue-eyebrow,
.bic-contact-eyebrow,
.bic-structure-eyebrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 20px;
  background-color: #fff6ef;
  border: 1.333px solid #fbd9be;
  border-radius: 999px;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 700;
  font-size: 12px;
  line-height: 18.6px;
  color: #f2682a;
}

/* ============================================================
   SECTION RHYTHM — one spacing scale for every section header
   The badge / eyebrow, the h2 and the description line under it
   were each drifting per section (12-13px pills, 30-44px titles,
   14-20px descriptions, 32-64px gaps). One ladder now:

     pill -> 16px -> heading -> 14px -> description -> 48px -> content

   and 80px of section padding, 56px below 992px. Anything a
   section owns on its own - colour, alignment, dark-panel
   treatment - is still set per section above.
   ============================================================ */

/* --- The pill: the three badges join the six eyebrows --- */
.bic-stats-eyebrow,
.bic-about-eyebrow,
.bic-path-eyebrow,
.bic-themes-eyebrow,
.bic-venue-eyebrow,
.bic-contact-eyebrow,
.bic-structure-eyebrow,
.bic-gallery-badge,
.bic-prizes-badge,
.bic-invest-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0 0 16px;
  padding: 8px 20px;
  background-color: #fff6ef;
  border: 1.333px solid #fbd9be;
  border-radius: 999px;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 700;
  font-size: 12px;
  line-height: 18.6px;
  color: #ff6b35;
}

/* --- The heading: the pill above owns the gap, so this owns none --- */
.bic-stats-heading,
.bic-about-heading,
.bic-path-title,
.bic-prizes-title,
.bic-themes-title,
.bic-venue-title,
.bic-contact-title,
.bic-structure-title,
.bic-gallery-title,
.bic-invest-title,
.bic-media-title {
  margin: 0;
  padding-top: 0;
}

/* --- The description line under the heading --- */
.bic-path-sub,
.bic-themes-sub,
.bic-prizes-sub,
.bic-invest-sub,
.bic-gallery-sub,
.bic-structure-sub,
.bic-about-text {
  margin: 14px auto 0;
  max-width: 760px;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 400;
  font-size: 17px;
  line-height: 28px;
  color: #57534e;
}

/* The roadmap sits on the dark panel; .text-white in the markup keeps
   the colour, this only holds it to the shared measure. */
.bic-structure-sub {
  max-width: 720px;
}

/* --- First block of content under a section header --- */
.bic-stats-grid,
.bic-themes-grid,
.bic-gallery-tabs,
.bic-prizes-podium,
.bic-prizes-awards,
.bic-media-grid,
.bic-contact-card,
.bic-stage-cards {
  margin-top: 48px;
}

/* --- Section padding --- */
.bic-stats,
.bic-about,
.bic-path,
.bic-themes,
.bic-structure,
.bic-invest,
.bic-gallery,
.bic-media,
.bic-venue,
.bic-contact,
.bic-gf {
  padding: 80px 0;
}

/* Prizes is the one section that carries its own side padding. */
.bic-prizes {
  padding: 80px 24px;
}

@media (max-width: 991.98px) {
  .bic-stats,
  .bic-about,
  .bic-path,
  .bic-themes,
  .bic-structure,
  .bic-invest,
  .bic-gallery,
  .bic-media,
  .bic-venue,
  .bic-contact,
  .bic-gf {
    padding: 56px 0;
  }

  .bic-prizes {
    padding: 56px 24px;
  }

  .bic-path-sub,
  .bic-themes-sub,
  .bic-prizes-sub,
  .bic-invest-sub,
  .bic-gallery-sub,
  .bic-structure-sub,
  .bic-about-text {
    font-size: 16px;
    line-height: 26px;
  }

  .bic-stats-grid,
  .bic-themes-grid,
  .bic-gallery-tabs,
  .bic-prizes-podium,
  .bic-prizes-awards,
  .bic-media-grid,
  .bic-contact-card,
  .bic-stage-cards {
    margin-top: 36px;
  }
}

@media (max-width: 575.98px) {
  .bic-prizes {
    padding: 56px 16px;
  }

  .bic-path-sub,
  .bic-themes-sub,
  .bic-prizes-sub,
  .bic-invest-sub,
  .bic-gallery-sub,
  .bic-structure-sub,
  .bic-about-text {
    font-size: 15px;
    line-height: 24px;
  }
}

/* ============================================================
   BRAND ORANGE OVERRIDES & ACCESSIBILITY UTILITIES
   Kept last so these win over the base rules above.
   ============================================================ */

/* Literal orange tokens, unified to the brand orange */
.bic-stats-eyebrow,
.bic-about-eyebrow,
.bic-path-eyebrow,
.bic-themes-eyebrow,
.bic-venue-eyebrow,
.bic-contact-eyebrow,
.bic-prizes-badge,
.bic-prize-pill,
.bic-award-amount,
.bic-perk-pill,
.bic-s1-tag,
.bic-s1-date,
.bic-s1-chips li,
.bic-elig-num,
.bic-pres-item-num,
.bic-venue-maps-btn,
.bic-venue-maps-btn:hover,
.bic-venue-maps-btn:focus,
.bic-contact-btn--email,
.bic-contact-btn--email:hover {
  color: #ff6b35;
}

.bic-elig-num,
.bic-s1-chips li,
.bic-venue-maps-btn,
.bic-contact-btn--email {
  border-color: #ff6b35;
}

.bic-s1-list li::before,
.bic-contact-avatar {
  background-color: #ff6b35;
}

/* Orange surfaces carrying white text (were #ea580c -> 3.55:1) */
.bic-prize-card--champion,
.bic-accord-btn.accordion-button {
  background-color: #ff6b35;
}

/* Anything orange on a dark panel has to go lighter, not darker,
   to clear 4.5:1. */
.bic-stage-badge,
.bic-stage-pills li,
.bic-structure-eyebrow {
  color: #f97316;
}

/* Muted greys: #777/#888/#aaa all land under 4.5:1 on white */
.bic-themes-sub,
.bic-theme-desc,
.bic-contact-role,
.bic-contact-qr-text,
.bic-contact-item-label {
  color: #6b6b6b;
}

/* WhatsApp green gives white text only 1.98:1 */
.bic-contact-btn--wa {
  background-color: #15803d;
}

/* Hero title is an image; wrap it in the page's single <h1> without
   inheriting default heading margins or type. */
.bic-hero-h1 {
  margin: 0;
  max-width: 100%;
  font-size: 0;
  line-height: 0;
}

/* Skip link - visible only when focused */
.bic-skip-link {
  position: absolute;
  left: 16px;
  top: -60px;
  z-index: 1080;
  padding: 10px 18px;
  border-radius: 8px;
  background-color: #0f0f0f;
  color: #ffffff;

  font-weight: 600;
  text-decoration: none;
  transition: top 0.15s ease-in;
}

.bic-skip-link:focus {
  top: 16px;
  color: #ffffff;
}

/* Respect a reduced-motion preference for the partner marquee */
@media (prefers-reduced-motion: reduce) {
  .bic-partners-track .slick-track {
    transition: none !important;
  }
}

/* ============================================================
   JURY — QUOTE INTRO
   Figma: Shared–Sudarsan / node 3850:2422
   Reference frame: 1551px wide x 445.8px tall, white background.
   ============================================================ */
.bic-jury-quote {
  position: relative;
  overflow: hidden;
  padding: 96px 0 95px;
  background-color: #ffffff;
}

/* --- Decorative concentric rings (600px / 400px, shared centre) --- */
.bic-jury-quote-rings {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.bic-jury-ring {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 50%;
}

.bic-jury-ring-lg {
  width: 600px;
  height: 600px;
}

.bic-jury-ring-sm {
  width: 400px;
  height: 400px;
}

/* --- Content column: 896px max, 24px gutters --- */
.bic-jury-quote-inner {
  position: relative;
  width: 100%;
  max-width: 896px;
  margin: 0 auto;
  padding: 0 24px;
}

/* --- Star badge --- */
.bic-jury-quote-badge {
  width: 56px;
  height: 56px;
  margin: 0 auto 32px;
  border: 1px solid rgba(240, 90, 26, 0.2);
  border-radius: 50%;
  background-color: rgba(240, 90, 26, 0.1);
}

.bic-jury-quote-badge img {
  display: block;
  width: 24px;
  height: 24px;
}

/* --- Quote --- */
/* The global LPU theme decorates every `blockquote` with a 5px left rule and
   10px/20px padding — neutralise it so the quote block is a plain wrapper. */
.bic-jury-quote-block {
  margin: 0;
  padding: 0;
  border: 0;
}

.bic-jury-quote-text {
  margin: 0;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 700;
  font-size: 35px;
  line-height: 49.4px;
  color: #0f0f0f;
  word-break: break-word;
}

/* --- Rule / description / rule --- */
.bic-jury-quote-sub {
  min-height: 68px;
  padding-top: 14px;
  gap: 16px;
}

.bic-jury-quote-rule {
  flex: 0 0 48px;
  width: 48px;
  height: 1px;
  background-color: rgba(240, 90, 26, 0.3);
}

.bic-jury-quote-desc {
  flex: 0 1 577px;
  max-width: 577px;
  margin: 0;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 400;
  font-size: 14px;
  line-height: 18px;
  color: #666666;
  word-break: break-word;
}

/* --- Responsive --- */
@media (max-width: 991.98px) {
  .bic-jury-quote {
    padding: 72px 0;
  }

  .bic-jury-ring-lg {
    width: 480px;
    height: 480px;
  }

  .bic-jury-ring-sm {
    width: 320px;
    height: 320px;
  }

  .bic-jury-quote-text {
    font-size: 30px;
    line-height: 42px;
  }
}

@media (max-width: 767.98px) {
  .reg-hero-title {
    font-size: 35px;
    line-height: 50px;
  }
  .bic-jury-quote {
    padding: 56px 0;
  }

  .bic-jury-ring-lg {
    width: 360px;
    height: 360px;
  }

  .bic-jury-ring-sm {
    width: 240px;
    height: 240px;
  }

  .bic-jury-quote-badge {
    margin-bottom: 24px;
  }

  .bic-jury-quote-text {
    font-size: 26px;
    line-height: 36px;
  }
}

@media (max-width: 575.98px) {
  .bic-jury-quote-text {
    font-size: 22px;
    line-height: 31px;
  }

  /* Flanking rules have no room left — drop them and let the copy span */
  .bic-jury-quote-rule {
    display: none;
  }

  .bic-jury-quote-sub {
    min-height: 0;
  }
  .reg-hero-title {
    font-size: 35px;
    line-height: 40px;
  }
}

/* ============================================================
   JURY — EXPERTISE AREAS
   Figma: Shared–Sudarsan / node 3850:2423
   Reference frame: 1551px wide x 343px tall, hairline rules top
   and bottom, 1024px content column.
   ============================================================ */
.bic-expertise {
  /* Figma's 65px inset is measured from the outer edge and its strokes sit
     inside the 343px frame, so the 1px rules come out of the padding. */
  padding: 64px 0;
  background-color: #ffffff;
  border-top: 1px solid rgba(0, 0, 0, 0.06);
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}

.bic-expertise-inner {
  width: 100%;
  max-width: 1024px;
  margin: 0 auto;
  padding: 0 24px;
}

.bic-expertise-eyebrow {
  margin: 0;

  font-weight: 700;
  font-size: 11px;
  line-height: 16.5px;
  letter-spacing: 2.2px;
  text-transform: uppercase;
  color: #f05a1a;
}

.bic-expertise-heading {
  margin: 12px 0 0;

  font-variation-settings:
    "SOFT" 0,
    "WONK" 1;
  font-weight: 700;
  font-size: 30px;
  line-height: 36px;
  color: #0f0f0f;
}

/* --- Pill row: wraps 5 + 5 at the 976px design width --- */
.bic-expertise-list {
  margin: 40px 0 0;
  padding: 0;
  gap: 12px;
}

/* Figma strokes sit inside the 48px pill, so the 22/14 padding it reports is
   measured from the outer edge — subtract the 2px border to match. */
.bic-expertise-pill {
  gap: 10px;
  padding: 12px 20px;
  border: 2px solid rgba(240, 90, 26, 0.3);
  border-radius: 999px;

  font-weight: 600;
  font-size: 14px;
  line-height: 20px;
  color: #f05a1a;
  white-space: nowrap;
}

.bic-expertise-pill img {
  display: block;
  flex: 0 0 16px;
  width: 16px;
  height: 16px;
}

/* --- Responsive --- */
@media (max-width: 991.98px) {
  .bic-expertise {
    padding: 56px 0;
  }

  .bic-expertise-heading {
    font-size: 26px;
    line-height: 32px;
  }

  .bic-expertise-list {
    margin-top: 32px;
  }
}

@media (max-width: 575.98px) {
  .bic-expertise {
    padding: 44px 0;
  }

  .bic-expertise-heading {
    font-size: 24px;
    line-height: 30px;
  }

  .bic-expertise-list {
    margin-top: 24px;
    gap: 10px;
  }

  .bic-expertise-pill {
    gap: 8px;
    padding: 10px 16px;
    font-size: 13px;
  }
}

/* ============================================================
   JURY — PANEL GRID
   Portrait card: photo on an orange gradient plate, cream caption
   strip with name / role / company. Five cards per row at 1280px.
   ============================================================ */
.bic-jury-panel {
  padding: 80px 0;
  background-color: #fff5ef;
}

.bic-jury-panel-inner {
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 24px;
}

.bic-jury-panel-eyebrow {
  margin: 0;

  font-weight: 700;
  font-size: 11px;
  line-height: 16.5px;
  letter-spacing: 2.2px;
  text-transform: uppercase;
  color: #f05a1a;
}

.bic-jury-panel-heading {
  margin: 12px 0 0;

  font-weight: 700;
  font-size: 30px;
  line-height: 36px;
  color: #0f0f0f;
}

/* --- Season tabs: same pill language as the gallery tabs --- */
.bic-jury-tabs {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  margin-top: 28px;
}

.bic-jury-tab {
  padding: 12px 26px;
  background-color: #ffffff;
  border: 1px solid #e2ddd7;
  border-radius: 999px;

  font-weight: 600;
  font-size: 15px;
  line-height: 20px;
  color: #0f0f0f;
  white-space: nowrap;
  cursor: pointer;
  transition:
    border-color 0.2s ease,
    background-color 0.2s ease,
    color 0.2s ease;
}

.bic-jury-tab:hover {
  border-color: #ffbb9c;
  background-color: #fff8f4;
}

.bic-jury-tab.is-active {
  background-image: linear-gradient(90deg, #ff6b35 0%, #ff9046 100%);
  border-color: transparent;
  font-weight: 700;
  color: #ffffff;
}

.bic-jury-tab:focus-visible {
  outline: 2px solid #ff6b35;
  outline-offset: 2px;
}

.bic-jury-tabpanel {
  display: none;
}

.bic-jury-tabpanel.is-active {
  display: block;
}

/* Placeholder copy for a season whose panel has no members yet */
.bic-jury-empty {
  margin: 56px 0 12px;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 500;
  font-size: 17px;
  line-height: 26px;
  color: #666666;
}

/* --- Grid: 5 up, then 3 / 2 as the viewport narrows --- */
.bic-jury-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 28px 24px;
  margin: 44px 0 0;
  padding: 0;
}

.bic-jury-card {
  overflow: hidden;

  border-radius: 12px;
  background-color: #ffffff;
  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease;
}

.bic-jury-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 28px rgba(15, 15, 15, 0.1);
}

/* The gradient doubles as the backdrop for cut-out portraits and as a
   graceful fallback while a photo is still missing. */
.bic-jury-card-media {
  position: relative;
}

.bic-jury-card-media img {
  display: block;
  width: 100%;
}

/* Stand-in for a board member whose portrait is not on file yet - keeps the
   same footprint as a 240x260 photo so the grid rows stay aligned. */
.bic-jury-card-media--initials {
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 240 / 260;
  background-color: #ffeade;

  font-weight: 700;
  font-size: 46px;
  letter-spacing: 1px;
  color: #f05a1a;
}

.bic-jury-card-body {
  padding: 14px 14px 18px;
}

.bic-jury-card-name {
  margin: 0;

  font-weight: 700;
  font-size: 15px;
  line-height: 20px;
  letter-spacing: 0.3px;
  text-transform: uppercase;
  color: #0f0f0f;
}

.bic-jury-card-role {
  margin: 4px 0 0;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-style: italic;
  font-weight: 400;
  font-size: 12.5px;
  line-height: 17px;
  color: #666666;
}

.bic-jury-card-company {
  margin: 6px 0 0;

  font-weight: 600;
  font-size: 12px;
  line-height: 16px;
  letter-spacing: 0.4px;
  text-transform: uppercase;
  color: #f05a1a;
}

/* --- Responsive --- */
@media (max-width: 1199.98px) {
  .bic-jury-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (max-width: 991.98px) {
  .bic-jury-panel {
    padding: 64px 0;
  }

  .bic-jury-panel-heading {
    font-size: 26px;
    line-height: 32px;
  }

  .bic-jury-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px 20px;
    margin-top: 32px;
  }
}

@media (max-width: 575.98px) {
  .bic-jury-panel {
    padding: 48px 0;
  }

  .bic-jury-panel-heading {
    font-size: 24px;
    line-height: 30px;
  }

  .bic-jury-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px 14px;
    margin-top: 24px;
  }

  .bic-jury-card-body {
    padding: 12px 12px 14px;
  }

  .bic-jury-card-name {
    font-size: 13.5px;
  }

  .bic-jury-card-role {
    font-size: 11.5px;
    line-height: 16px;
  }
}

/* ============================================================
   TESTIMONIALS — jury and students
   One section, two tabbed 3-up Slick carousels sharing a card that
   leads with a full-bleed photo, then the person, then the quote.
   ============================================================ */
.bic-svoices {
  padding: 80px 0;
  background-color: #fff5ef;
}

.bic-svoices-inner {
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 24px;
}

.bic-svoices-eyebrow {
  margin: 0;
  font-weight: 700;
  font-size: 11px;
  line-height: 16.5px;
  letter-spacing: 2.2px;
  text-transform: uppercase;
  color: #f05a1a;
}

.bic-svoices-heading {
  margin: 12px 0 0;
  font-weight: 700;
  font-size: 30px;
  line-height: 36px;
  color: #0f0f0f;
}

.bic-svoices-text {
  margin: 10px 0 0;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 400;
  font-size: 15px;
  line-height: 24px;
  color: #57534e;
}

/* ---- Jury / Student tabs ---- */
.bic-voices-tabs {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  margin-top: 28px;
}

.bic-voices-tab {
  padding: 12px 26px;
  background-color: #ffffff;
  border: 1px solid #e2ddd7;
  border-radius: 999px;

  font-weight: 600;
  font-size: 15px;
  line-height: 20px;
  color: #57534e;
  white-space: nowrap;
  cursor: pointer;
  transition:
    border-color 0.2s ease,
    background-color 0.2s ease,
    color 0.2s ease;
}

.bic-voices-tab:hover {
  border-color: #ffbb9c;
  background-color: #fff8f4;
}

.bic-voices-tab.is-active {
  background-image: linear-gradient(90deg, #ff6b35 0%, #ff9046 100%);
  border-color: transparent;
  font-weight: 700;
  color: #ffffff;
}

.bic-voices-tab:focus-visible {
  outline: 2px solid #ff6b35;
  outline-offset: 2px;
}

.bic-voices-tabpanel {
  display: none;
}

.bic-voices-tabpanel.is-active {
  display: block;
}

.bic-svoices-slider {
  position: relative;
  margin-top: 44px;
}

/* Before Slick initialises, keep the cards from stacking full-width */
.bic-svoices-slider:not(.slick-initialized) .bic-svoice {
  display: inline-block;
  width: 33.3333%;
  vertical-align: top;
}

/* Equal-height cards regardless of quote length */
.bic-svoices-slider .slick-track {
  display: flex;
  align-items: stretch;
}

.bic-svoices-slider .slick-slide {
  height: auto;
}

.bic-svoices-slider .slick-slide > div {
  height: 100%;
}

.bic-svoice {
  height: 100%;
  padding: 0 12px;
}

.bic-svoice-card {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  height: 100%;
  border: 1px solid #f2e6dc;
  border-radius: 16px;
  background-color: #ffffff;
  text-align: left;
}

/* Photo runs the full card width; a fixed ratio keeps the rows aligned
   whatever crop the uploaded image happens to have. */
.bic-svoice-media {
  flex: 0 0 auto;
  background-color: #ffeade;
  line-height: 0;
}

.bic-svoice-media img {
  display: block;
  width: 100%;
  height: 230px;
  object-fit: cover;
  object-position: center;
}

/* Partner cards carry a brand logo instead of a photo, so it is fitted
   whole inside the same 230px band rather than cropped to fill it. */
.bic-svoice-media--logo {
  display: flex;
  align-items: center;
  justify-content: center;
  padding:0px;
  background-color: #fff8f4;
}

.bic-svoice-media--logo img {
  width: auto;
  max-width: 100%;

  object-fit: contain;
}

.bic-svoice-body {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  padding: 22px 24px 26px;
}

.bic-svoice-name {
  margin: 0;

  font-weight: 700;
  font-size: 16px;
  line-height: 22px;
  color: #0f0f0f;
}

.bic-svoice-role {
  margin: 4px 0 0;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 400;
  font-size: 12.5px;
  line-height: 18px;
  color: #f05a1a;
}

.bic-svoice-text {
  flex: 1 1 auto;
  margin: 16px 0 0;
  padding: 16px 0 0;
  border: 0;
  border-top: 1px solid #f2e6dc;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 400;
  font-size: 15px;
  line-height: 25px;
  color: #44403c;
}

/* --- Arrows: same treatment as the jury carousel --- */
.bic-svoice-arrow {
  position: absolute;
  z-index: 2;
  top: 50%;
  margin-top: -18px;
  transform: translateY(-50%);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 1px solid #e2ddd7;
  border-radius: 50%;
  background-color: #ffffff;
  color: #1a1a1a;
  cursor: pointer;
  transition:
    background-color 0.2s ease,
    border-color 0.2s ease,
    color 0.2s ease;
}

.bic-svoice-arrow--prev {
  left: -10px;
}

.bic-svoice-arrow--next {
  right: -10px;
}

.bic-svoice-arrow:hover {
  border-color: transparent;
  background-color: #ff6b35;
  color: #ffffff;
}

.bic-svoice-arrow:focus-visible {
  outline: 2px solid #ff6b35;
  outline-offset: 2px;
}

.bic-svoice-arrow svg {
  display: block;
  width: 18px;
  height: 18px;
}

/* --- Dots --- */
.bic-svoices-slider .slick-dots {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin: 28px 0 0;
  padding: 0;
  list-style: none;
}

.bic-svoices-slider .slick-dots li button {
  overflow: hidden;
  width: 8px;
  height: 8px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background-color: #e2ddd7;
  text-indent: -9999px;
  cursor: pointer;
  transition:
    width 0.2s ease,
    background-color 0.2s ease;
}

.bic-svoices-slider .slick-dots li.slick-active button {
  width: 22px;
  border-radius: 999px;
  background-color: #ff6b35;
}

@media (max-width: 991.98px) {
  .bic-svoices {
    padding: 64px 0;
  }

  .bic-svoices-heading {
    font-size: 26px;
    line-height: 32px;
  }

  .bic-svoices-slider:not(.slick-initialized) .bic-svoice {
    width: 50%;
  }

  .bic-svoice-media img {
    height: 200px;
  }
}

@media (max-width: 575.98px) {
  .bic-svoices {
    padding: 48px 0;
  }

  .bic-svoices-heading {
    font-size: 24px;
    line-height: 30px;
  }

  .bic-svoices-slider:not(.slick-initialized) .bic-svoice {
    width: 100%;
  }

  .bic-svoice {
    padding: 0 6px;
  }

  .bic-svoice-body {
    padding: 18px 18px 22px;
  }

  /* One card fills the width here - the arrows would sit on top of the
     photo, so lean on swipe and the dots instead. */
  .bic-svoice-arrow {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .bic-svoice-arrow,
  .bic-svoices-slider .slick-dots li button {
    transition: none;
  }
}

/* ============================================================
   OUR PATRONS â€” HERO
   Figma: Sharedâ€“Sudarsan / node 3865:960
   Reference frame: 1551px wide x 600px tall on #fff9f2, with a
   1280px content shell (671.59 / 496.41 columns, 64px gutter).
   ============================================================ */
.bic-patrons-hero {
  position: relative;
  overflow: hidden;
  background-color: #fff9f2;
}

/* Arcs and dot grid are drawn at their natural 1551x676 size and centred, so
   the circles never distort â€” the section simply clips whatever overflows. */
.bic-patrons-hero-bg {
  position: absolute;
  top: 0;
  left: 50%;
  width: 1551px;
  height: 676px;
  margin-left: -775.5px;
  background: url("../images/patrons/hero-bg.svg") no-repeat center top;
  pointer-events: none;
}

.bic-patrons-hero-inner {
  position: relative;
  display: grid;
  grid-template-columns: 671.59fr 496.41fr;
  gap: 64px;
  align-items: center;
  width: 100%;
  max-width: 1280px;
  min-height: 600px;
  margin: 0 auto;
  padding: 50px 24px;
}

/* --- Left column --- */
.bic-patrons-eyebrow {
  gap: 12px;
  margin: 0 0 16px;

  font-weight: 900;
  font-size: 11px;
  line-height: 16.5px;
  letter-spacing: 2.42px;
  text-transform: uppercase;
  color: #f05a1a;
}

.bic-patrons-eyebrow-rule {
  flex: 0 0 32px;
  width: 32px;
  height: 1px;
  background-color: #f05a1a;
}

.bic-patrons-title {
  margin: 0 0 45px;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 700;
  font-size: 76px;
  line-height: 77.52px;
  color: #0f0f0f;
}

.bic-patrons-title span {
  color: #f05a1a;
}

.bic-patrons-lead {
  max-width: 460px;
  margin: 0;

  font-weight: 400;
  font-size: 17px;
  line-height: 27.625px;
  color: #666666;
}

/* --- Right column: four patron chips --- */
.bic-patrons-chips {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 16px;
  margin: 0;
  padding: 0;
}

.bic-patron-chip {
  display: flex;
  align-items: center;
  gap: 16px;
  width: 364px;
  max-width: 100%;
  padding: 15px;
  background-color: #ffffff;
  border: 1px solid rgba(0, 0, 0, 0.06);
  border-radius: 16px;
  box-shadow:
    0 1px 1.5px rgba(0, 0, 0, 0.1),
    0 1px 1px rgba(0, 0, 0, 0.1);
}

/* Each tier drives the badge fill, badge rule and the accent bar. */
.bic-patron-chip--gold {
  --bic-tier: #ff6b35;
  --bic-tier-bg: rgba(184, 134, 11, 0.08);
  --bic-tier-border: rgba(184, 134, 11, 0.19);
}

.bic-patron-chip--slate {
  --bic-tier: #5d6d7e;
  --bic-tier-bg: rgba(93, 109, 126, 0.08);
  --bic-tier-border: rgba(93, 109, 126, 0.19);
}

.bic-patron-chip--amber {
  --bic-tier: #d4880a;
  --bic-tier-bg: rgba(212, 136, 10, 0.08);
  --bic-tier-border: rgba(212, 136, 10, 0.19);
}

.bic-patron-chip--green {
  --bic-tier: #1e8449;
  --bic-tier-bg: rgba(30, 132, 73, 0.08);
  --bic-tier-border: rgba(30, 132, 73, 0.19);
}

.bic-patron-chip-mark {
  display: flex;
  flex: 0 0 93px;
  align-items: center;
  justify-content: center;
  width: 93px;
  height: 71px;
  padding: 1.5px;
  background-color: rgba(26, 82, 118, 0.06);
  border: 1.5px solid rgba(26, 82, 118, 0.13);
  border-radius: 10px;
}

.bic-patron-chip-mark img {
  display: block;
  width: 90px;
  height: 68px;
  object-fit: cover;
  border-radius: 8.5px;
}

.bic-patron-chip-text {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
  min-width: 0;
}

.bic-patron-chip-name {

  font-weight: 700;
  font-size: 14px;
  line-height: 20px;
  color: #0f0f0f;
}

.bic-patron-chip-badge {
  padding: 7px 13px;
  background-color: var(--bic-tier-bg);
  border: 1px solid var(--bic-tier-border);
  border-radius: 999px;

  font-weight: 900;
  font-size: 10px;
  line-height: 15px;
  letter-spacing: 1.8px;
  text-transform: uppercase;
  color: var(--bic-tier);
}

.bic-patron-chip-accent {
  flex: 0 0 8px;
  width: 8px;
  height: 40px;
  border-radius: 999px;
  background-color: var(--bic-tier);
}

/* ============================================================
   OUR PATRONS â€” PATRON PROFILES
   ============================================================ */
.bic-patron-profiles {
  padding: 80px 0;

}

.bic-patron-profiles-inner {
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 24px;
}

.bic-patron-profiles-eyebrow {
  margin: 0;

  font-weight: 700;
  font-size: 11px;
  line-height: 16.5px;
  letter-spacing: 2.2px;
  text-transform: uppercase;
  color: #f05a1a;
}

.bic-patron-profiles-heading {
  margin: 8px 0 0;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 700;
  font-size: 36px;
  line-height: 40px;
  color: #0f0f0f;
}

.bic-patron-profiles-lead {
  max-width: 576px;
  margin: 12px auto 0;

  font-weight: 400;
  font-size: 14px;
  line-height: 20px;
  color: #888888;
}

.bic-patron-list {
  display: flex;
  flex-direction: column;
  gap: 32px;
  margin: 64px 0 0;
  padding: 0;
}

.bic-patron-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 364px;
  overflow: hidden;
  background-image: linear-gradient(163.5deg, #fdf6dc 0%, #fef3c7 100%);
  border: 1px solid rgba(0, 0, 0, 0.07);
  border-radius: 24px;
  box-shadow:
    0 1px 3px rgba(0, 0, 0, 0.1),
    0 1px 2px -1px rgba(0, 0, 0, 0.1);
}

.bic-patron-row--gold {
  --bic-tier: #ff6b35;
  --bic-tier-bg: rgba(184, 134, 11, 0.08);
  --bic-tier-border: rgba(184, 134, 11, 0.19);
}

.bic-patron-row-media {
  position: relative;
  overflow: hidden;
  background-color: #e5e7eb;
}

.bic-patron-row-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Soft shadow where the photo meets the copy. */
.bic-patron-row-media::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: linear-gradient(
    to right,
    rgba(0, 0, 0, 0) 60%,
    rgba(0, 0, 0, 0.08) 100%
  );
}

.bic-patron-row-body {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  padding: 30px 40px 40px;
}

/* Alternating rows mirror the layout and swap to the muted panel. */
.bic-patron-row.is-reversed .bic-patron-row-media {
  grid-column: 2;
  grid-row: 1;
}

.bic-patron-row.is-reversed .bic-patron-row-body {
  grid-column: 1;
  grid-row: 1;
  background-color: #f0f2f6;
}

.bic-patron-row.is-reversed .bic-patron-row-media::after {
  background-image: linear-gradient(
    to left,
    rgba(0, 0, 0, 0) 60%,
    rgba(0, 0, 0, 0.08) 100%
  );
}

.bic-patron-row-badge {
  margin: 0 0 41px;
  padding: 7px 13px;
  background-color: var(--bic-tier-bg);
  border: 1px solid var(--bic-tier-border);
  border-radius: 999px;

  font-weight: 900;
  font-size: 10px;
  line-height: 15px;
  letter-spacing: 1.8px;
  text-transform: uppercase;
  color: var(--bic-tier);
}

.bic-patron-row-name {
  margin: 0 0 4px;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 700;
  font-size: 32px;
  line-height: 40px;
  color: #0f0f0f;
}

.bic-patron-row-role {
  margin: 0 0 48px;

  font-weight: 600;
  font-size: 14px;
  line-height: 20px;
  color: var(--bic-tier);
}

.bic-patron-row-text {
  max-width: 535px;
  margin: 0;

  font-weight: 400;
  font-size: 15px;
  line-height: 24.375px;
  color: #555555;
}

/* ------------------------------------------------------------
   Patron cards — two per row, photo stacked above the details.
   ------------------------------------------------------------ */
.bic-patron-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 32px;
  padding: 50px 0 0 0;
  margin: 0 auto;
  max-width: 800px;
}

.bic-patron-card {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background-color: #ffffff;
  border: 1px solid rgba(0, 0, 0, 0.07);
  border-radius: 24px;
  box-shadow:
    0 1px 3px rgba(0, 0, 0, 0.1),
    0 1px 2px -1px rgba(0, 0, 0, 0.1);
  transition:
    transform 0.35s ease,
    box-shadow 0.35s ease;
}

.bic-patron-card--gold {
  --bic-tier: #ff6b35;
  --bic-tier-bg: rgba(184, 134, 11, 0.08);
  --bic-tier-border: rgba(184, 134, 11, 0.19);
}

.bic-patron-card:hover {
  transform: translateY(-6px);
  box-shadow:
    0 18px 40px -12px rgba(0, 0, 0, 0.22),
    0 4px 12px -4px rgba(0, 0, 0, 0.1);
}

.bic-patron-card-media {
  position: relative;
  overflow: hidden;
  aspect-ratio: 16 / 10;
  background-color: #e5e7eb;
}

.bic-patron-card-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  transition: transform 0.5s ease;
}

.bic-patron-card:hover .bic-patron-card-media img {
  transform: scale(1.04);
}

/* Gold rule marking the seam between photo and details. */
.bic-patron-card-media::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 3px;
  background-image: linear-gradient(
    to right,
    rgba(184, 134, 11, 0) 0%,
    var(--bic-tier) 50%,
    rgba(184, 134, 11, 0) 100%
  );
}

.bic-patron-card-body {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  align-items: center;
  padding: 24px 28px 32px;
  text-align: center;

}

.bic-patron-card-badge {
  margin: 0 0 14px;
  padding: 7px 13px;
  border: 1px solid var(--bic-tier-border);
  border-radius: 999px;

  font-weight: 900;
  font-size: 10px;
  line-height: 15px;
  letter-spacing: 1.8px;
  text-transform: uppercase;
  color: var(--bic-tier);
}

.bic-patron-card-name {
  margin: 0 0 8px;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 700;
  font-size: 24px;
  line-height: 32px;
  color: #0f0f0f;
}

.bic-patron-card-role {
  margin: 0;

  font-weight: 600;
  font-size: 14px;
  line-height: 22px;
  color: var(--bic-tier);
}

@media (max-width: 991.98px) {
  .bic-patron-grid {
    gap: 24px;
    margin-top: 40px;
  }

  .bic-patron-card-name {
    font-size: 21px;
    line-height: 28px;
  }

  .bic-patron-card-body {
    padding: 22px 20px 28px;
  }
}

/* One per row once two would be too cramped to read. */
@media (max-width: 599.98px) {
  .bic-patron-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .bic-patron-card-name {
    font-size: 22px;
    line-height: 30px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .bic-patron-card,
  .bic-patron-card-media img {
    transition: none;
  }

  .bic-patron-card:hover {
    transform: none;
  }

  .bic-patron-card:hover .bic-patron-card-media img {
    transform: none;
  }
}

/* --- Responsive --- */
@media (max-width: 1199.98px) {
  .bic-patrons-title {
    margin-bottom: 32px;
    font-size: 60px;
    line-height: 64px;
  }

  .bic-patron-row-body {
    padding: 30px 32px;
  }

  .bic-patron-row-name {
    font-size: 28px;
    line-height: 36px;
  }

  .bic-patron-row-badge {
    margin-bottom: 28px;
  }

  .bic-patron-row-role {
    margin-bottom: 28px;
  }
}

@media (max-width: 991.98px) {
  .bic-patrons-hero-inner {
    grid-template-columns: 1fr;
    gap: 48px;
    min-height: 0;
    padding: 56px 24px;
  }

  .bic-patrons-chips {
    align-items: stretch;
  }

  .bic-patron-chip {
    width: 100%;
  }

  .bic-patrons-title {
    font-size: 52px;
    line-height: 58px;
  }

  .bic-patron-profiles {
    padding: 56px 0;
  }

  .bic-patron-list {
    margin-top: 40px;
  }

  /* Stack the photo above the copy; the mirrored row follows suit. */
  .bic-patron-row,
  .bic-patron-row.is-reversed {
    grid-template-columns: 1fr;
    min-height: 0;
  }

  .bic-patron-row-media,
  .bic-patron-row.is-reversed .bic-patron-row-media {
    grid-column: 1;
    grid-row: 1;
    min-height: 280px;
  }

  .bic-patron-row-body,
  .bic-patron-row.is-reversed .bic-patron-row-body {
    grid-column: 1;
    grid-row: 2;
    padding: 32px;
  }

  .bic-patron-row-media::after,
  .bic-patron-row.is-reversed .bic-patron-row-media::after {
    background-image: linear-gradient(
      to bottom,
      rgba(0, 0, 0, 0) 60%,
      rgba(0, 0, 0, 0.08) 100%
    );
  }
}

@media (max-width: 575.98px) {
  .bic-patrons-title {
    font-size: 40px;
    line-height: 46px;
  }

  .bic-patrons-lead {
    font-size: 16px;
    line-height: 26px;
  }

  .bic-patron-chip {
    gap: 12px;
    padding: 16px;
  }

  .bic-patron-profiles-heading {
    font-size: 28px;
    line-height: 34px;
  }

  .bic-patron-row-name {
    font-size: 24px;
    line-height: 32px;
  }

  .bic-patron-row-body {
    padding: 24px;
  }
}

/* ============================================================
   SEASON 1 RECAP — REACH FIGURES / TOP FINALISTS / MOVEMENT
   ============================================================ */
.bic-recap-stats {
  background-color: #ffffff;
  padding: 80px 0;
}

.bic-recap-inner {
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 24px;
}

.bic-recap-kicker {
  margin: 0 0 10px;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 500;
  font-size: 15px;
  line-height: 22px;
  color: #8a8a8a;
}

.bic-recap-heading {
  margin: 0;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 800;
  font-size: 40px;
  line-height: 48px;
  color: #1c1917;
}

/* Hand-drawn double stroke that sits under the heading in the design. */
.bic-recap-scribble {
  display: block;
  width: 190px;
  max-width: 60%;
  height: 22px;
  margin: 6px auto 0;
  background: url(../images/heading-scribble.svg) center / contain no-repeat;
}

.bic-recap-figures {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  margin: 56px 0 0;
  padding: 0;
}

/* Closing row carries three figures - narrow it so the columns stay the same
   width as the four-up rows above instead of stretching across. */
.bic-recap-figures-3up {
  grid-template-columns: repeat(3, 1fr);
  max-width: 75%;
  margin-left: auto;
  margin-right: auto;
}

/* Hairline separators between columns, not around the row. */
.bic-recap-figure + .bic-recap-figure {
  border-left: 1px solid #e7e5e4;
}

.bic-recap-figure {
  padding: 4px 16px;
}

.bic-recap-figure-num {
  margin: 0 0 10px;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 800;
  font-size: 40px;
  line-height: 48px;
  color: #f2682a;
}

.bic-recap-figure-label {
  margin: 0;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 700;
  font-size: 15px;
  line-height: 24px;
  color: #1c1917;
}

/* ---- Top Finalists ---- */
.bic-finalists {
  background-color: #fdfbe9;
  padding: 80px 0;
}

.bic-finalists-lead {
  margin: 20px 0 0;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 500;
  font-size: 16px;
  line-height: 26px;
  color: #44403c;
}

.bic-finalists-slider {
  position: relative;
  margin-top: 40px;
  padding: 0 44px;
}

/* Without JS (or before Slick initialises) the logos still lay out as the
   5 x 2 board the design shows, instead of stacking full width. */
.bic-finalists-slider:not(.slick-initialized) {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
}

.bic-finalist {
  display: flex;
  align-items: center;
  gap: 14px;
  min-height: 104px;
  margin: 8px;
  padding: 16px 18px;
  background-color: #ffffff;
  border: 1px dashed #e0d5b8;
  border-radius: 6px;
  text-align: left;
}

.bic-finalist-logo {
  flex: 0 0 auto;
  width: auto;
  height: 56px;
  object-fit: contain;
}

.bic-finalist-name {
  margin: 0;

  font-weight: 500;
  font-size: 15px;
  line-height: 20px;
  text-transform: uppercase;
  color: #1c1917;
}

/* Slick lays the two rows out as inline-block cells inside each slide; the
   card's own margin supplies the gutter, so nothing here needs a width. */
.bic-finalists-slider .slick-slide {
  height: auto;
}

.bic-finalist-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  padding: 0;
  background: none;
  border: 0;
  color: #f2682a;
  cursor: pointer;
  z-index: 2;
}

.bic-finalist-arrow svg {
  width: 22px;
  height: 22px;
}

.bic-finalist-arrow--prev {
  left: 4px;
}

.bic-finalist-arrow--next {
  right: 4px;
}

.bic-finalist-arrow.slick-disabled {
  opacity: 0.35;
  cursor: default;
}

/* --- Responsive --- */
@media (max-width: 1199.98px) {
  .bic-recap-heading {
    font-size: 34px;
    line-height: 42px;
  }

  .bic-recap-figure-num {
    font-size: 34px;
    line-height: 42px;
  }

  .bic-finalist {
    min-height: 96px;
    padding: 14px;
  }

  .bic-finalist-logo {
    height: 46px;
  }

  .bic-finalist-name {
    font-size: 14px;
    line-height: 18px;
  }
}

@media (max-width: 991.98px) {
  .bic-recap-stats,
  .bic-finalists {
    padding: 56px 0;
  }

  .bic-recap-figures {
    grid-template-columns: repeat(2, 1fr);
    gap: 32px 0;
    margin-top: 40px;
  }

  .bic-recap-figures-3up {
    grid-template-columns: repeat(2, 1fr);
    max-width: none;
  }

  /* Two per row now, so the separator belongs to the right-hand column only. */
  .bic-recap-figure + .bic-recap-figure {
    border-left: 0;
  }

  .bic-recap-figure:nth-child(even) {
    border-left: 1px solid #e7e5e4;
  }

  .bic-finalists-slider:not(.slick-initialized) {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 575.98px) {
  .bic-recap-heading {
    font-size: 26px;
    line-height: 34px;
  }

  .bic-recap-figures {
    grid-template-columns: 1fr;
    gap: 28px 0;
  }

  .bic-recap-figure:nth-child(even) {
    border-left: 0;
  }

  .bic-recap-figure-num {
    font-size: 30px;
    line-height: 38px;
  }

  .bic-finalists-slider {
    padding: 0 30px;
  }

  .bic-finalists-slider:not(.slick-initialized) {
    grid-template-columns: 1fr;
  }
}

/* ---- Season 1 gallery tabs ---- */
.bic-recap-tabs {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  margin-bottom: 8px;
}

.bic-recap-tab {
  padding: 12px 26px;
  background-color: #ffffff;
  border: 1px solid #e2ddd7;
  border-radius: 999px;

  font-weight: 600;
  font-size: 15px;
  line-height: 20px;
  color: #0f0f0f;
  white-space: nowrap;
  cursor: pointer;
  transition:
    border-color 0.2s ease,
    background-color 0.2s ease,
    color 0.2s ease;
}

.bic-recap-tab:hover {
  border-color: #ffbb9c;
  background-color: #fff8f4;
}

.bic-recap-tab.is-active {
  background-image: linear-gradient(90deg, #ff6b35 0%, #ff9046 100%);
  border-color: transparent;
  font-weight: 700;
  color: #ffffff;
}

.bic-recap-tab:focus-visible {
  outline: 2px solid #ff6b35;
  outline-offset: 2px;
}

.bic-recap-tabpanel {
  display: none;
}

.bic-recap-tabpanel.is-active {
  display: block;
}

@media (max-width: 575.98px) {
  .bic-recap-tab {
    padding: 10px 18px;
    font-size: 14px;
    white-space: normal;
  }
}

/* ---- Season 1 prizes & giveaways: 5 cards in a row ---- */
.bic-giveaway-row {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 24px;
  margin: 48px 0 0;
  padding: 0;
}

.bic-giveaway-card {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background-color: #ffffff;
  border: 1px solid #f0e4da;
  border-radius: 16px;
  box-shadow: 0 6px 18px rgba(15, 15, 15, 0.05);
}

.bic-giveaway-img {
  display: block;
  width: 100%;
  height: 190px;
  object-fit: cover;
}

/* The card grows to the tallest caption in the row, so the copy is centred
   in whatever space is left under the photo. */
.bic-giveaway-text {
  display: flex;
  flex: 1 1 auto;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 18px 16px;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 600;
  font-size: 15px;
  line-height: 23px;
  color: #1c1917;
}

@media (max-width: 1199.98px) {
  .bic-giveaway-row {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
  }
}

@media (max-width: 767.98px) {
  .bic-giveaway-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 32px;
  }

  .bic-giveaway-img {
    height: 150px;
  }

  .bic-giveaway-text {
    padding: 14px 12px;
    font-size: 14px;
    line-height: 21px;
  }
}

@media (max-width: 479.98px) {
  .bic-giveaway-row {
    grid-template-columns: 1fr;
  }

  .bic-giveaway-img {
    height: 200px;
  }
}
@media (max-width: 768px) {
    br {
        display: block;
    }
}
