/* SDPI 29th Sustainable Development Conference: extracted styles in original cascade order. */
.az-bar {

    padding: 0px !important;

  }

  .wrap {

    padding: 12px 12px 0px !important;

  }

  .gallery-row {

    display: grid;

    grid-template-columns: 2.5fr 1.5fr 1.5fr;
    /* left & right wider than middle */

    grid-template-rows: 1fr 1fr;

    gap: 16px;

    margin: 0;

  }

  .gallery-item {

    overflow: hidden;

    border-radius: 8px;

  }

  .gallery-item a {

    display: block;

    width: 100%;

    height: 100%;

  }

  .gallery-item img {

    width: 100%;

    height: 100%;

    object-fit: cover;

    display: block;

    transition: transform 0.3s ease;

  }

  .gallery-item a:hover img {

    transform: scale(1.05);

  }

  /* First item — big left image, spans both rows */

  .gallery-item:nth-child(1) {

    grid-column: 1;

    grid-row: 1 / span 2;

  }

  /* Second item — top middle image */

  .gallery-item:nth-child(2) {

    grid-column: 2;

    grid-row: 1;

  }

  /* Third item — bottom middle image (marked "half" in your HTML) */

  .gallery-item.half {

    grid-column: 2;

    grid-row: 2;

  }

  /* Fourth item — big right image, spans both rows */

  .gallery-item:nth-child(4) {

    grid-column: 3;

    grid-row: 1 / span 2;

  }

  /* Give the whole grid a fixed height so row spanning works well */

  @media (min-width: 768px) {

    .gallery-row {

      height: 500px;

    }

  }

  /* Responsive: stack on smaller screens */

  @media (max-width: 767px) {

    .gallery-row {

      grid-template-columns: 1fr;

      grid-template-rows: auto;

      height: auto;

    }

    .gallery-item:nth-child(1),

    .gallery-item:nth-child(2),

    .gallery-item.half,

    .gallery-item:nth-child(4) {

      grid-column: 1;

      grid-row: auto;

      height: 250px;

    }

  }

/* ===== Palette taken from the SDC site CSS ===== */

  :root {

    --sdc-navy: #2c2c60;

    --sdc-navy-deep: #1c1c42;

    --sdc-accent-hover: #094a3b;

    --sdc-bg-soft: #f7f8fa;

    --sdc-heading: #1a2332;

    --sdc-body: #4a5568;

  }

  .vid-section {
    background: var(--sdc-bg-soft);
    padding: 4rem 0;
  }

  .vid-section .vid-title {

    color: var(--sdc-heading);
    font-weight: 700;

    font-size: clamp(1.6rem, 3vw, 2.3rem);
    text-align: center;
    margin-bottom: .4rem;

  }

  .vid-section .vid-title::after {

    content: "";
    display: block;
    width: 70px;
    height: 4px;

    background: #2c2c60;
    margin: .8rem auto 0;
    border-radius: 2px;

  }

  .vid-section .vid-lead {
    text-align: center;
    max-width: 640px;
    margin: 1rem auto 2.5rem;
    color: var(--sdc-body);
  }

  /* ===== Video card ===== */

  .vid-section .vid-card {

    background: #fff;

    border-radius: 10px;

    overflow: hidden;

    box-shadow: 0 8px 24px rgba(28, 28, 66, .14);

    height: 100%;

  }

  /* Heading sits OUTSIDE (above) the video frame */

  .vid-section .vid-heading {

    margin: 0;

    padding: .9rem 1.1rem;

    font-size: clamp(1rem, 1.6vw, 1.2rem);

    font-weight: 700;

    color: var(--sdc-navy);

    border-left: 5px solid #2c2c60;

    background: #fff;

  }

  .vid-section .vid-frame {
    position: relative;
    background: #000;
  }

  .vid-section .vid-frame iframe {
    border: 0;
  }

  /* Click-to-play poster (right video) */

  .vid-section .vid-poster {

    position: absolute;
    inset: 0;
    z-index: 2;

    border: 0;
    padding: 0;
    width: 100%;
    height: 100%;

    background-size: cover;
    background-position: center;

    cursor: pointer;

    display: flex;
    align-items: center;
    justify-content: center;

  }

  .vid-section .vid-poster::before {

    content: "";
    position: absolute;
    inset: 0;

    background: rgba(28, 28, 66, .35);
    transition: background .2s;

  }

  .vid-section .vid-poster:hover::before {
    background: rgba(28, 28, 66, .15);
  }

  .vid-section .vid-poster.is-hidden {
    display: none;
  }

  .vid-section .vid-play {

    position: relative;

    width: clamp(56px, 9vw, 80px);
    aspect-ratio: 1;
    border-radius: 50%;

    background: #2c2c60;

    box-shadow: 0 0 0 8px rgba(255, 255, 255, .25);

    display: flex;
    align-items: center;
    justify-content: center;

    transition: transform .2s, background .2s;

  }

  .vid-section .vid-poster:hover .vid-play {
    background: var(--sdc-accent-hover);
    transform: scale(1.08);
  }

  .vid-section .vid-play::after {

    content: "";
    margin-left: 6%;

    border-style: solid;
    border-width: .7rem 0 .7rem 1.15rem;

    border-color: transparent transparent transparent #fff;

  }

  /* Mute / unmute chip (left video) */

  .vid-section .vid-sound {

    position: absolute;
    right: .8rem;
    top: .8rem;
    z-index: 3;

    border: 0;
    border-radius: 999px;

    background: rgba(28, 28, 66, .85);
    color: #fff;

    font: 600 .8rem/1 Arial, sans-serif;
    padding: .5rem .85rem;
    cursor: pointer;

  }

  .vid-section .vid-sound:hover {
    background: var(--sdc-accent-hover);
  }

  /* Inactive / no-PDF panel link: not clickable, no modal */

  .panel_writup.is-disabled {

    pointer-events: none;

    cursor: default;

    opacity: 0.65;

    text-decoration: none;

  }

  /* ===== Panel marquee: hidden scrollbar + hand cursor ===== */

  .sdc-panels {

    min-height: 345px;

    overflow-y: auto;

    overflow-x: hidden;

    scroll-behavior: smooth;

    -webkit-overflow-scrolling: touch;

    cursor: grab;
    /* hand icon */

    scrollbar-width: none;
    /* Firefox: hide scrollbar */

    -ms-overflow-style: none;
    /* old Edge/IE: hide scrollbar */

  }

  .sdc-panels::-webkit-scrollbar {
    /* Chrome/Safari: hide scrollbar */

    width: 0;

    height: 0;

  }

  .sdc-panels.is-dragging {

    cursor: grabbing;
    /* closed hand while dragging */

    scroll-behavior: auto;
    /* no smoothing while dragging */

  }

  .sdc-panels:hover .marquee-track {

    animation-play-state: paused;
    /* pause auto-scroll on hover */

  }

/* Speaker carousel: scoped styles, preserving the existing SDPI page */

  .speakers-strip .speakers-strip-inner {
    position: relative
  }

  .speakers-strip .speaker-controls {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin: 22px 0 14px;
    flex-wrap: wrap
  }

  .speakers-strip .speaker-current-category {
    font-size: clamp(22px, 2.3vw, 32px);
    font-weight: 700;
    color: #192b50;
    border-left: 5px solid #192b50;
    padding-left: 15px;
    margin: 0;
    transition: opacity .2s
  }

  .speakers-strip .speaker-toggle {
    border: 1px solid #d8e0eb;
    background: white;
    color: #192b50;
    border-radius: 8px;
    padding: 9px 16px;
    cursor: pointer
  }

  .speakers-strip .speaker-viewport {
    width: 100%;
    overflow: hidden;
    position: relative;
    padding: 8px 0 20px
  }

  .speakers-strip .speaker-track {
    display: flex;
    gap: 20px;
    width: max-content;
    will-change: transform;
    align-items: stretch
  }

  .speakers-strip .speaker-track .speaker-card {
    flex: 0 0 auto;
    width: calc((min(1140px, 100vw - 48px) - 60px)/4);
    min-width: 0;
    display: block;
    text-decoration: none;
    background: #fff;
    border: 1px solid #e0e6ef;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 7px 20px rgba(20, 35, 60, .06);
    color: #182944
  }

  .speakers-strip .speaker-track .avatar {
    height: 260px;
    background: linear-gradient(140deg, #fff, #fff);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 60px;
    font-weight: 700;
    color: #38577e;
    overflow: hidden
  }

  .speakers-strip .speaker-track .avatar img {
    height: 100%;
    width: 85%;
    object-fit: cover;
    display: block
  }

  .speakers-strip .speaker-track .info {
    padding: 16px 18px;
    min-height: 112px
  }

  .speakers-strip .speaker-track .name {
    font-size: 18px;
    font-weight: 700;
    line-height: 1.35;
    margin: 0 0 9px;
    color: #192b50
  }

  .speakers-strip .speaker-track .speaker-category {
    display: inline-block;
    font-size: 12px;
    font-weight: 700;
    background: #e8eef8;
    color: #192b50;
    border-radius: 20px;
    padding: 5px 10px;
    margin: 0 0 6px
  }

  .speakers-strip .speaker-track .role {
    font-size: 13px;
    color: #64748b;
    margin: 4px 0 0
  }

  .speakers-strip .speaker-filter-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
    margin-top: 12px
  }

  .speakers-strip .speaker-filter-grid .speaker-card {
    min-width: 0;
    background: white;
    border: 1px solid #e0e6ef;
    border-radius: 15px;
    overflow: hidden;
    text-decoration: none;
    color: #192b50
  }

  .speakers-strip .speaker-filter-grid .avatar {
    height: 220px;
    background: #e1e9f4;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 46px;
    color: #38577e
  }

  .speakers-strip .speaker-filter-grid .avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover
  }

  .speakers-strip .speaker-filter-grid .info {
    padding: 14px
  }

  .speakers-strip .speaker-filter-grid .name {
    font-weight: 700;
    margin: 0 0 7px
  }

  .speakers-strip .speaker-filter-grid .speaker-category {
    font-size: 12px;
    font-weight: 700;
    color: #192b50;
    background: #e8eef8;
    border-radius: 20px;
    padding: 4px 8px;
    display: inline-block;
    margin: 0 0 6px
  }

  .speakers-strip .speaker-filter-grid .role {
    font-size: 13px;
    color: #64748b;
    margin: 4px 0
  }

  .speakers-strip .az-bar {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin: 12px 0
  }

  .speakers-strip .az-btn {
    padding: 8px 11px;
    border: 1px solid #dce3ed;
    background: #fff;
    border-radius: 7px;
    color: #192b50;
    cursor: pointer
  }

  .speakers-strip .az-btn.active {
    background: #192b50;
    color: #fff
  }

  .speakers-strip .az-btn:disabled {
    opacity: .35;
    cursor: not-allowed
  }

  .speakers-strip .speaker-empty {
    padding: 30px;
    color: #64748b
  }

  @media(max-width:991px) {
    .speakers-strip .speaker-track .speaker-card {
      width: calc((100vw - 60px)/2)
    }

    .speakers-strip .speaker-filter-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr))
    }
  }

  @media(max-width:575px) {
    .speakers-strip .speaker-track .speaker-card {
      width: calc(100vw - 65px)
    }

    .speakers-strip .speaker-filter-grid {
      grid-template-columns: 1fr
    }

    .speakers-strip .speaker-track .avatar {
      height: 260px
    }
  }

  @media(prefers-reduced-motion:reduce) {
    .speakers-strip .speaker-track {
      will-change: auto
    }
  }

  /* Spacing refinement: tighter alphabet start and no excess blank area below speaker photos */

  .speakers-strip .wrap {
    padding: 0 12px 0 !important;
  }

  .speakers-strip .speakers-strip-left .section-title {
    margin-bottom: 8px;
  }

  .speakers-strip .az-bar {
    margin: 4px 0 8px !important;
    padding: 0 !important;
  }

  .speakers-strip .speaker-controls {
    margin: 10px 0 8px;
  }

  .speakers-strip .speaker-viewport {
    padding: 0 0 6px;
  }

  .speakers-strip .speaker-track .info {
    min-height: 0;
    padding: 10px 14px 12px;
  }

  .speakers-strip .speaker-track .name {
    margin-bottom: 5px;
  }

  .speakers-strip .speaker-track .speaker-category {
    margin-bottom: 3px;
  }

  .speakers-strip .speaker-track .role {
    margin-top: 2px;
  }

  .speakers-strip .speaker-filter-grid .info {
    padding: 10px 14px 12px;
  }

  .speakers-strip .speaker-filter-grid .name {
    margin-bottom: 5px;
  }

  .speakers-strip .speaker-filter-grid .speaker-category {
    margin-bottom: 3px;
  }

  /* ===== Speaker layout overrides: scoped to the conference homepage ===== */

  #conferenceSpeakers .speakers-strip-inner.container {
    width: 100%;
  }

  #conferenceSpeakers .sdc-speaker-header {
    display: flex !important;
    align-items: center;
    justify-content: space-between !important;
    width: 100%;
    gap: 24px;
    flex-wrap: wrap;
  }

  #conferenceSpeakers .sdc-speaker-header .speakers-strip-left {
    flex: 0 1 auto;
    min-width: 0;
  }

  #conferenceSpeakers .sdc-speaker-header .sdc-speakers-all-link {
    margin-left: auto !important;
    flex: 0 0 auto;
    align-self: center;
  }

  #conferenceSpeakers .wrap {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  #conferenceSpeakers #azBar.az-bar {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
    align-items: center !important;
    gap: 7px !important;
    width: 100% !important;
    margin: 14px 0 12px !important;
    padding: 0 !important;
    text-align: left !important;
  }

  #conferenceSpeakers #azBar .az-btn {
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 42px;
    margin: 0 !important;
  }

  #conferenceSpeakers .speaker-controls {
    width: 100%;
    margin: 12px 0 12px !important;
  }

  #conferenceSpeakers #speakerContainer {
    width: 100%;
    min-width: 0;
  }

  #conferenceSpeakers .speaker-viewport {
    width: 100% !important;
    overflow: hidden !important;
    padding: 0 0 4px !important;
  }

  #conferenceSpeakers .speaker-track {
    display: flex !important;
    align-items: stretch !important;
    gap: 5px;
  }

  #conferenceSpeakers .speaker-track>a.speaker-card {
    box-sizing: border-box !important;
    width: calc((var(--speaker-viewport-width, 1140px) - 60px) / 4) !important;
    height: 430px !important;
    min-height: 430px !important;
    max-height: 430px !important;
    align-self: stretch !important;
    flex: 0 0 auto !important;
    display: flex !important;
    flex-direction: column !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  #conferenceSpeakers .speaker-track .speaker-card .avatar {
    flex: 0 0 260px !important;
    height: 260px !important;
    min-height: 0 !important;
    margin: 0 !important;
  }

  #conferenceSpeakers .speaker-track .speaker-card .info {
    flex: 1 1 auto !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 12px 14px 14px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
  }

  #conferenceSpeakers .speaker-track .speaker-card .name {
    margin: 0 0 7px !important;
    padding: 0 !important;
    min-height: 50px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
  }

  #conferenceSpeakers .speaker-track .speaker-card .speaker-category {
    margin: 0 0 5px !important;
  }

  #conferenceSpeakers .speaker-track .speaker-card .role {
    margin: 6px 0 0 !important;
    padding: 0 !important;
    text-align: center !important;
  }

  #conferenceSpeakers .speaker-filter-grid {
    align-items: stretch !important;
  }

  #conferenceSpeakers .speaker-filter-grid>a.speaker-card {
    height: 430px !important;
    min-height: 430px !important;
    max-height: 430px !important;
    align-self: stretch !important;
    display: flex !important;
    flex-direction: column !important;
  }

  #conferenceSpeakers .speaker-filter-grid .avatar {
    flex: 0 0 260px !important;
    height: 260px !important;
  }

  #conferenceSpeakers .speaker-filter-grid .info {
    flex: 1 1 auto !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 12px 14px 14px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
  }

  #conferenceSpeakers .speaker-filter-grid .name {
    min-height: 50px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
  }

  @media (max-width:991px) {
    #conferenceSpeakers .speaker-track>a.speaker-card {
      width: calc((var(--speaker-viewport-width, 720px) - 20px) / 2) !important;
    }
  }

  @media (max-width:575px) {
    #conferenceSpeakers .speaker-track>a.speaker-card {
      width: var(--speaker-viewport-width, 320px) !important;
    }

    #conferenceSpeakers .sdc-speaker-header .sdc-speakers-all-link {
      margin-left: 0 !important;
    }
  }

  /* Remove the short decorative line under each speaker name (carousel + A-Z). */

  #conferenceSpeakers .speaker-card .name::before,

  #conferenceSpeakers .speaker-card .name::after,

  #conferenceSpeakers .speaker-card .info .name::before,

  #conferenceSpeakers .speaker-card .info .name::after {

    content: none !important;

    display: none !important;

    width: 0 !important;

    height: 0 !important;

    border: 0 !important;

    box-shadow: none !important;

  }

  #conferenceSpeakers .speaker-card .name {

    border-bottom: none !important;

    background-image: none !important;

  }

#conferenceSpeakers .wrap {

    width: 100% !important;

    min-width: 0 !important;

    max-width: 100% !important;

    padding: 0 !important;

  }

  #conferenceSpeakers #azBar.az-bar {

    display: grid !important;

    grid-template-columns: repeat(27, minmax(0, 1fr)) !important;

    align-items: stretch !important;

    justify-content: stretch !important;

    gap: 4px !important;

    width: 100% !important;

    min-width: 0 !important;

    max-width: 100% !important;

    margin: 4px 0 12px !important;

    padding: 0 !important;

    overflow: visible !important;

    box-sizing: border-box !important;

  }

  #conferenceSpeakers #azBar.az-bar .az-btn,

  #conferenceSpeakers #azBar.az-bar .az-reset {

    display: flex !important;

    align-items: center !important;

    justify-content: center !important;

    flex: none !important;

    box-sizing: border-box !important;

    width: 100% !important;

    min-width: 0 !important;

    max-width: 100% !important;

    height: 40px !important;

    min-height: 0 !important;

    margin: 0 !important;

    padding: 0 !important;

    font-size: clamp(10px, 1vw, 14px) !important;

    line-height: 1 !important;

    white-space: nowrap !important;

    border-radius: 6px !important;

  }

  @media (max-width:767px) {

    #conferenceSpeakers #azBar.az-bar {
      gap: 2px !important;
    }

    #conferenceSpeakers #azBar.az-bar .az-btn,

    #conferenceSpeakers #azBar.az-bar .az-reset {

      font-size: 9px !important;

      height: 32px !important;

      border-radius: 3px !important;

    }

  }

/* Keep the panel marquee inside the left column, and the banner inside the right. */

  .hero-section .row>[class*="col-"] {
    min-width: 0;
  }

  .hero-section .marquee-container.sdc-panels {

    position: relative;

    width: 100%;

    max-width: 100%;

    overflow: hidden !important;

    margin-top: 10px;

  }

  .hero-section .hero-visual,

  .hero-section #conferenceHeroCarousel {

    width: 100%;

    max-width: 100%;

    overflow: hidden;

  }

  .hero-section #conferenceHeroCarousel .carousel-inner,

  .hero-section #conferenceHeroCarousel .carousel-item {
    width: 100%;
  }

  .hero-section #conferenceHeroCarousel .carousel-item img {

    width: 100%;

    height: auto;

    display: block;

    object-fit: contain;

  }

  /* Speakers move only inside their own viewport. */

  #conferenceSpeakers .speaker-viewport {
    overflow: hidden !important;
  }

  #conferenceSpeakers .speaker-track {
    max-width: none;
  }

/* Conference panel list stays on the left; speakers replace the banner on the right. */

  #home .sdc-hero-speaker-column {
    min-width: 0;
    overflow: hidden;
    padding: 0 12px !important;
  }

  #home #conferenceSpeakers {
    padding: 0 !important;
    margin: 0 !important;
    width: 100%;
  }

  #home #conferenceSpeakers .speakers-strip-inner.container {
    width: 100% !important;
    max-width: none !important;
    padding: 0 !important;
  }

  #home #conferenceSpeakers .sdc-speaker-header {
    gap: 8px !important;
    align-items: flex-start !important;
  }

  #home #conferenceSpeakers .speakers-strip-left {
    gap: 6px;
  }

  #home #conferenceSpeakers .speakers-icon {
    display: none;
  }

  #home #conferenceSpeakers .section-title {
    font-size: clamp(20px, 2vw, 22px) !important;
    line-height: 1.2;
  }

  #home #conferenceSpeakers .sdc-speakers-all-link {
    font-size: 13px;
    padding: 5px 7px;
    white-space: nowrap;
  }

  #home #conferenceSpeakers .wrap {
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  #home #conferenceSpeakers #azBar.az-bar {
    display: grid !important;
    grid-template-columns: repeat(27, minmax(0, 1fr)) !important;
    gap: 1px !important;
    overflow: hidden !important;
    padding: 0 !important;
    width: 100% !important;
  }

  #home #conferenceSpeakers #azBar.az-bar button {
    width: 100% !important;
    min-width: 0 !important;
    height: 26px !important;
    padding: 0 !important;
    font-size: 10px !important;
    line-height: 1 !important;
    border-radius: 3px !important;
  }

  #home #conferenceSpeakers .speaker-controls {
    margin: 7px 0 !important;
    gap: 6px;
  }

  #home #conferenceSpeakers .speaker-current-category {
    font-size: 20px !important;
  }

  #home #conferenceSpeakers .speaker-toggle {
    font-size: 11px;
    padding: 5px 7px;
  }

  #home #conferenceSpeakers .speaker-viewport {
    width: 100% !important;
    overflow: hidden !important;
  }

  #home #conferenceSpeakers .speaker-track>a.speaker-card {
    width: calc((var(--speaker-viewport-width, 520px) - 20px)/3) !important;
    height: 395px !important;
    min-height: 395px !important;
    max-height: 395px !important;
  }

  #home #conferenceSpeakers .speaker-track .speaker-card .avatar {
    height: 220px !important;
    flex-basis: 220px !important;
  }

  #home #conferenceSpeakers .speaker-track .speaker-card .name {
    font-size: 15px !important;
  }

  #home #conferenceSpeakers .speaker-track .speaker-card .role {
    font-size: 12px !important;
  }

  #home #conferenceSpeakers .speaker-filter-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px;
  }

  @media(max-width:575px) {

    #home #conferenceSpeakers .speaker-track>a.speaker-card {
      width: var(--speaker-viewport-width, 320px) !important;
    }

    #home #conferenceSpeakers .speaker-filter-grid {
      grid-template-columns: 1fr !important;
    }

  }

#home #conferenceSpeakers .sdc-speaker-header {
    margin-bottom: 12px !important;
  }

  #home #conferenceSpeakers .speaker-viewport {
    cursor: grab;
    touch-action: pan-y;
    user-select: none;
    -webkit-user-select: none;
  }

  #home #conferenceSpeakers .speaker-viewport.is-dragging {
    cursor: grabbing;
  }

  #home #conferenceSpeakers .speaker-viewport img {
    pointer-events: none;
    -webkit-user-drag: none;
  }

  #home #conferenceSpeakers .speaker-card {
    user-select: none;
    -webkit-user-select: none;
  }

#home #conferenceSpeakers .speaker-current-category,

  #home #conferenceSpeakers .speaker-category {
    display: none !important;
  }

  #home #conferenceSpeakers .speaker-viewport {
    cursor: grab !important;
    touch-action: pan-y;
    overscroll-behavior-x: contain;
  }

  #home #conferenceSpeakers .speaker-viewport.is-dragging {
    cursor: grabbing !important;
  }

  #home #conferenceSpeakers .speaker-card,

  #home #conferenceSpeakers .speaker-card img {
    -webkit-user-drag: none;
    user-select: none;
  }

  #home #conferenceSpeakers .speaker-card img {
    pointer-events: none;
  }

  #home #conferenceSpeakers .speaker-controls {
    justify-content: flex-end !important;
  }

/* Align the pause button with the title and remove the empty header gap. */

  #home #conferenceSpeakers .sdc-speaker-header {

    display: flex !important;

    align-items: center !important;

    justify-content: space-between !important;

    gap: 12px !important;

    margin: 0 0 10px !important;

    padding: 0 !important;

  }

  #home #conferenceSpeakers .speakers-strip-left,

  #home #conferenceSpeakers .speakers-text {
    margin: 0 !important;
    padding: 0 !important;
    min-width: 0;
  }

  #home #conferenceSpeakers .section-title {
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.2 !important;
  }

  #home #conferenceSpeakers .speaker-controls {
    margin: 0 !important;
    padding: 0 !important;
    flex: 0 0 auto;
    display: flex;
    align-items: center;
  }

  #home #conferenceSpeakers .speaker-toggle {
    white-space: nowrap;
    padding: 7px 10px !important;
  }

  #home #conferenceSpeakers .speaker-viewport {
    padding: 0 !important;
    margin: 0 !important;
  }

  #home #conferenceSpeakers .speaker-track {
    align-items: stretch !important;
  }

  /* A fixed, shorter card avoids empty space under the designation. */

  #home #conferenceSpeakers .speaker-track>a.speaker-card {

    height: 355px !important;
    min-height: 355px !important;
    max-height: 355px !important;

    overflow: hidden !important;
    box-sizing: border-box !important;

  }

  /* Keep full head visible rather than cropping it at the top. */

  #home #conferenceSpeakers .speaker-track .speaker-card .avatar {

    flex: 0 0 238px !important;
    height: 238px !important;

    min-height: 238px !important;
    padding: 0 !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    overflow: hidden !important;
    background: #fff !important;

  }

  #home #conferenceSpeakers .speaker-track .speaker-card .avatar img {

    width: 100% !important;
    height: 100% !important;

    object-fit: contain !important;
    object-position: center top !important;

    display: block !important;

  }

  #home #conferenceSpeakers .speaker-track .speaker-card .info {

    flex: 1 1 auto !important;
    padding: 8px 10px 10px !important;

    margin: 0 !important;
    min-height: 0 !important;

    display: flex !important;
    flex-direction: column !important;

    align-items: center !important;
    justify-content: flex-start !important;

  }

  #home #conferenceSpeakers .speaker-track .speaker-card .name {

    min-height: 38px !important;
    margin: 0 0 4px !important;

    font-size: 15px !important;
    line-height: 1.2 !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

  }

  #home #conferenceSpeakers .speaker-track .speaker-card .role {

    margin: 3px 0 0 !important;
    padding: 0 !important;

    font-size: 12px !important;
    line-height: 1.4 !important;

    display: -webkit-box !important;
    -webkit-box-orient: vertical;

    -webkit-line-clamp: 3;
    overflow: hidden;

  }

  @media(max-width:575px) {

    #home #conferenceSpeakers .section-title {
      font-size: 20px !important;
    }

    #home #conferenceSpeakers .speaker-toggle {
      font-size: 10px !important;
    }

  }

/* Matched headings and matched content heights for the two hero columns. */

  #home .row.align-items-center.g-4.g-lg-5 {
    align-items: stretch !important;
  }

  #home .sdc-theme-header {

    min-height: 68px;
    display: flex;
    flex-direction: column;
    justify-content: center;

    gap: 6px;
    margin: 0 0 36px;
    padding: 0;

  }

  #home .sdc-theme-title {
    font-size: clamp(20px, 2vw, 22px);
    font-weight: 700;

    color: #192b50;
    line-height: 1.2;
    margin: 0;
  }

  #home .sdc-three-es ul {
    margin-bottom: 35px !important;
  }

  #home .sdc-economy {
    list-style: none;
    color: rgb(4, 30, 73);
    padding: 2px 10px;
  }

  #home .sdc-environment {
    list-style: none;
    color: rgb(4, 30, 73);
    padding: 2px 10px;
  }

  #home .sdc-equity {
    list-style: none;
    color: rgb(4, 30, 73);
    padding: 2px 10px;
  }

  /* The left panel can be scrolled with the mouse anywhere, including between cards. */

  #home #sdcThemeScroll {

    height: 355px !important;
    max-height: 355px !important;
    min-height: 355px !important;

    overflow-y: auto !important;
    overflow-x: hidden !important;

    overscroll-behavior: contain;
    scrollbar-width: thin;

    scrollbar-color: #b5c1d2 transparent;
    touch-action: pan-y;

    padding: 0 !important;
    margin: 0 !important;

  }

  #home #sdcThemeScroll .marquee-track {

    position: static !important;
    transform: none !important;
    translate: none !important;

    animation: none !important;
    transition: none !important;

    height: auto !important;
    width: 100% !important;
    overflow: visible !important;

  }

  #home #sdcThemeScroll .marquee-track>ul {

    display: block !important;
    width: 100% !important;

    padding: 0 !important;
    margin: 0 !important;

  }

  #home #sdcThemeScroll .marquee-track>ul>div {

    display: block !important;
    width: 100% !important;
    margin: 0 0 10px !important;

  }

  #home #sdcThemeScroll li {
    width: 100% !important;
    max-width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
  }

  #home #sdcThemeScroll li>a.panel_writup {

    width: 100% !important;
    box-sizing: border-box !important;

    text-decoration: none;
    margin: 0 !important;

  }

  #home #conferenceSpeakers .sdc-speaker-header {

    min-height: 68px !important;
    margin: 0 0 12px !important;

  }

  #home #conferenceSpeakers .speaker-viewport {

    height: 355px !important;
    min-height: 355px !important;

    max-height: 355px !important;
    overflow: hidden !important;

  }

  #home #conferenceSpeakers .speaker-track {
    height: 355px !important;
  }

  @media(max-width:991px) {

    #home .sdc-theme-header {
      margin-top: 0;
    }

  }

  .panel_writup .panel_writup_color .resource-link {
    padding-left: 0px !important;
    padding-right: 0px !important;
  }

.sdc-panels {
    cursor: grab;
    touch-action: none;
    user-select: none;
    -webkit-user-select: none;
  }

  .sdc-panels.is-dragging {
    cursor: grabbing;
  }

  .sdc-panels.is-dragging .marquee-track {
    animation-play-state: paused;
  }

  .sdc-panels a {
    -webkit-user-drag: none;
  }

  @media (prefers-reduced-motion: reduce) {
    .sdc-panels {
      touch-action: auto;
      cursor: auto;
    }
  }

.sdc-panels .marquee-track ul li span {

    text-align: left;

    margin: 0px 0px 0px 0px;

  }

  .sdc-panel-item li {

    position: relative;

    padding-bottom: 18px;
    /* room for the circle */

  }

  .sdc-panel-circle {

    position: absolute;

    right: 0;

    bottom: 15px;

    width: 15px;

    height: 15px;

    border-radius: 100%;

    padding: 0 !important;

    margin: 0 !important;

  }
  @media screen and (max-width: 1520px) {
   #home #conferenceSpeakers .speaker-track .speaker-card .avatar {
    height: 150px !important;
    flex-basis: 150px !important;
    flex: 0 0 150px !important;
    min-height: 150px !important;
  }
#home #conferenceSpeakers .speaker-track>a.speaker-card {
    width: calc((var(--speaker-viewport-width, 520px) - 20px) / 3) !important;
    height: 255px !important;
    min-height: 255px !important;
    max-height: 395px !important;
}
#home #sdcThemeScroll.marquee-container.sdc-panels {
    display: block !important;
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 355px !important;
    min-height: 355px !important;
    max-height: 355px !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    scroll-behavior: auto !important;
    touch-action: pan-y !important;
    overscroll-behavior-y: contain;
    cursor: grab;}

  #home #sdcThemeScroll.marquee-container.sdc-panels {
    display: block !important;
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 230px !important;
    min-height: 230px !important;
    max-height: 355px !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    scroll-behavior: auto !important;
    touch-action: pan-y !important;
    overscroll-behavior-y: contain;
    cursor: grab;

  }

}
@media screen and (max-width: 1400px) {
    #home #conferenceSpeakers .speaker-track .speaker-card .avatar {
        height: 100px !important;
        flex-basis: 100px !important;
        flex: 0 0 100 !important;
        min-height: 100px !important;
    }
        #home #conferenceSpeakers .speaker-track>a.speaker-card {
        width: calc((var(--speaker-viewport-width, 520px) - 20px) / 3) !important;
        height: 215px !important;
        min-height: 215px !important;
        max-height: 395px !important;
    }
      #home #sdcThemeScroll.marquee-container.sdc-panels {
    display: block !important;
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 215px !important;
    min-height: 215px !important;
    max-height: 355px !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    scroll-behavior: auto !important;
    touch-action: pan-y !important;
    overscroll-behavior-y: contain;
    cursor: grab;

  }
  #home #conferenceSpeakers .speaker-viewport {
    max-height: inherit !important;
    height: inherit !important;
    min-height: inherit !important;
  }
  #home #conferenceSpeakers .speaker-track {
    height: inherit !important;
  }
  .sdc-panels .marquee-track ul li span {
    text-align: left;
    margin: 0px 0px 0px 0px;
    font-size: 14px;
}
#home .sdc-economy {
    list-style: none;
    color: rgb(4, 30, 73);
    padding: 2px 0px;
    font-size: 14px;
    margin-right: 10px;}

#home .sdc-environment {
    list-style: none;
    color: rgb(4, 30, 73);
    padding: 2px 0px;
    font-size: 14px;
    margin-right: 10px;}
#home .sdc-equity {
    list-style: none;
    color: rgb(4, 30, 73);
    padding: 2px 0px;
    font-size: 14px;
    margin-right: 10px;}
}

/* Make the three headings clickable */

          .sdc-three-es>span {

            cursor: pointer;

            transition: opacity 0.2s ease;

          }

          /* Active selected heading */

          .sdc-three-es>span.sdc-filter-active {

            font-weight: 700;

            text-decoration: underline;

            text-underline-offset: 5px;

          }

          /* Hide panels that do not match */

          .sdc-panel-hidden {

            display: none !important;

          }

/* Make existing three buttons clickable */
.sdc-three-es > ul > li {
    cursor: pointer;
    transition: opacity 0.2s ease;
}

/* Active filter */
.sdc-three-es > ul > li.sdc-filter-active {
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 5px;
}

/* Hide panels that do not match selected color */
#sdcThemeScroll .sdc-panel-item.sdc-panel-hidden {
    display: none !important;
}

#home .sdc-three-es > ul > li.sdc-all { list-style:none; color:#041e49; padding:2px 5px; cursor:pointer; }
  #home .sdc-three-es > ul > li.sdc-all.sdc-filter-active { font-weight:700; text-decoration:underline; text-underline-offset:5px; }
  @media screen and (max-width:1400px) { #home .sdc-three-es > ul > li.sdc-all { padding:2px 0; font-size:14px; margin-right:10px; } }

.sdc-modal__pdf-body {
    position: relative;
    width: 100%;
    height: 70vh;
    min-height: 450px;
    overflow: hidden;
    background: #f5f5f5;
}

.sdc-modal__pdf-body .sdc-pdf-frame {
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
}

.sdc-pdf-fallback {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 12px;
    background: #fff;
}

.sdc-pdf-fallback .btn {
    background: #2563A6;
    border: 1px solid #2563A6;
    border-radius: 6px;
    padding: 10px 22px;
    color: #fff;
    text-decoration: none;
}

.sdc-pdf-fallback .btn:hover {
    background: #194C85;
    color: #fff;
}

@media (max-width: 991px) {

    .sdc-modal__pdf-body {
        height: 65vh;
        min-height: 400px;
    }

    .sdc-modal__pdf-body .sdc-pdf-frame {
        width: 100%;
        height: 100%;
    }

}

@media (min-width: 992px) and (pointer: coarse) {

    .sdc-modal__pdf-body {
        height: 75vh;
    }

}

#sdcDelegatesDirectory {
      background: #f7f8fb;
      padding: 46px 0 60px
    }

    #sdcDelegatesDirectory .directory-heading {
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
      gap: 20px;
      margin-bottom: 24px
    }

    #sdcDelegatesDirectory h2 {
      font-family: Georgia, serif;
      color: #172b50;
      font-size: clamp(25px, 2.5vw, 36px);
      font-weight: 700;
      margin: 0 0 8px
    }

    #sdcDelegatesDirectory .directory-subtitle {
      font-size: 16px;
      color: #39465b;
      margin: 0
    }

    #sdcDelegatesDirectory .directory-view-all {
      color: #172b50;
      text-decoration: none;
      white-space: nowrap;
      padding-top: 12px
    }

    #sdcDelegatesDirectory .directory-letters {
      display: flex;
      align-items: center;
      flex-wrap: wrap;
      gap: 7px;
      margin: 0 0 26px
    }

    #sdcDelegatesDirectory .directory-letter {
      border: 1px solid #dbe2ec;
      background: #fff;
      color: #172b50;
      border-radius: 5px;
      min-width: 38px;
      height: 40px;
      font: 700 15px Georgia, serif;
      cursor: pointer
    }

    #sdcDelegatesDirectory .directory-letter[aria-pressed="true"] {
      background: #172b50;
      color: #fff
    }

    #sdcDelegatesDirectory .directory-letter:disabled {
      color: #bfc5cf;
      background: #fafafa;
      cursor: default
    }

    #sdcDelegatesDirectory .directory-letter-all {
      margin-left: auto;
      padding: 0 18px
    }

    #sdcDelegatesDirectory .directory-grid {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 28px
    }

    #sdcDelegatesDirectory .directory-card {
      min-width: 0;
      display: flex;
      flex-direction: column;
      text-decoration: none !important;
      color: inherit;
      background: #fff;
      border: 1px solid #dfe6f0;
      border-radius: 16px;
      overflow: hidden;
      box-shadow: 0 7px 18px rgba(20, 35, 60, .045);
      transition: transform .2s, box-shadow .2s
    }

    #sdcDelegatesDirectory .directory-card:hover {
      transform: translateY(-3px);
      box-shadow: 0 10px 24px rgba(20, 35, 60, .12)
    }

    #sdcDelegatesDirectory .directory-avatar {
      height: 290px;
      display: flex;
      align-items: center;
      justify-content: center;
      background: #fff;
      overflow: hidden
    }

    #sdcDelegatesDirectory .directory-avatar img {
      width: 100%;
      height: 100%;
      object-fit: contain;
      object-position: center bottom;
      display: block
    }

    #sdcDelegatesDirectory .directory-placeholder {
      font-size: 52px;
      color: #60708b
    }

    #sdcDelegatesDirectory .directory-info {
      padding: 14px 16px 22px;
      text-align: center;
      flex: 1
    }

    #sdcDelegatesDirectory .directory-name {
      font: 700 19px/1.3 Georgia, serif;
      color: #172b50;
      margin: 0 0 10px
    }

    #sdcDelegatesDirectory .directory-role {
      font: 14px/1.45 Arial, sans-serif;
      color: #64748b;
      margin: 0
    }

    #sdcDelegatesDirectory .directory-empty {
      padding: 24px;
      color: #64748b
    }

    @media(max-width:991px) {
      #sdcDelegatesDirectory .directory-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 16px
      }
    }

    @media(max-width:575px) {
      #sdcDelegatesDirectory .directory-grid {
        grid-template-columns: 1fr
      }

      #sdcDelegatesDirectory .directory-heading {
        flex-direction: column
      }

      #sdcDelegatesDirectory .directory-letter-all {
        margin-left: 0
      }

      #sdcDelegatesDirectory .directory-avatar {
        height: 270px
      }
    }

/* Two columns: title at left, pause control at far right, on the same baseline. */

  #conferenceSpeakers .sdc-speaker-header,

  #home #conferenceSpeakers .sdc-speaker-header {

    display: grid !important;

    grid-template-columns: minmax(0, 1fr) max-content !important;

    align-items: center !important;

    justify-content: stretch !important;

    column-gap: 12px !important;

    width: 100% !important;

    flex-wrap: nowrap !important;

    margin: 0 0 12px !important;

    padding: 0 !important;

  }

  #conferenceSpeakers .sdc-speaker-header .speakers-strip-left,

  #home #conferenceSpeakers .sdc-speaker-header .speakers-strip-left {

    display: block !important;
    width: auto !important;
    max-width: 100% !important;

    min-width: 0 !important;
    flex: none !important;
    margin: 0 !important;
    padding: 0 !important;

  }

  #conferenceSpeakers .sdc-speaker-header .speakers-text,

  #conferenceSpeakers .sdc-speaker-header .section-title {

    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;

  }

  #conferenceSpeakers .sdc-speaker-header .speaker-controls,

  #home #conferenceSpeakers .sdc-speaker-header .speaker-controls {

    display: flex !important;
    width: auto !important;
    flex: none !important;

    justify-self: end !important;
    align-self: center !important;

    margin: 0 !important;
    padding: 0 !important;

  }

  #conferenceSpeakers .sdc-speaker-header .speaker-toggle {
    white-space: nowrap !important;
  }

  @media(max-width:480px) {

    #conferenceSpeakers .sdc-speaker-header .section-title {
      font-size: 19px !important;
    }

    #conferenceSpeakers .sdc-speaker-header .speaker-toggle {
      font-size: 10px !important;
      padding: 6px !important;
    }

  }

#home #sdcThemeScroll {

    scrollbar-width: none !important;

    -ms-overflow-style: none !important;

    cursor: grab;

    user-select: none;

    -webkit-user-select: none;

  }

  #home #sdcThemeScroll::-webkit-scrollbar {

    display: none !important;

    width: 0 !important;

    height: 0 !important;

  }

  #home #sdcThemeScroll.sdc-panel-grabbing,

  #home #sdcThemeScroll.sdc-panel-grabbing * {
    cursor: grabbing !important;
  }

#home #sdcThemeScroll {

    overflow-y: scroll !important;

    scrollbar-width: none !important;

    -ms-overflow-style: none !important;

    cursor: grab !important;

  }

  #home #sdcThemeScroll::-webkit-scrollbar {
    display: none !important;
    width: 0 !important;
  }

  #home #sdcThemeScroll.sdc-panel-grabbing,

  #home #sdcThemeScroll.sdc-panel-grabbing * {

    cursor: grabbing !important;

    user-select: none !important;

    -webkit-user-select: none !important;

  }

/* Keep all scrolling inside the programme column, never the outer page. */

  /* #home #sdcThemeScroll.marquee-container.sdc-panels {

    display: block !important;

    flex: 0 0 100% !important;

    width: 100% !important;

    max-width: 100% !important;

    height: 355px !important;

    min-height: 355px !important;

    max-height: 355px !important;

    overflow-y: auto !important;

    overflow-x: hidden !important;

    scroll-behavior: auto !important;

    touch-action: pan-y !important;

    overscroll-behavior-y: contain;

    cursor: grab;

  } */

  #home #sdcThemeScroll .marquee-track {

    position: static !important;

    animation: none !important;

    transform: none !important;

    height: auto !important;

    overflow: visible !important;

  }

  #home #sdcThemeScroll .marquee-track>ul {

    display: block !important;

    height: auto !important;

    margin: 0 !important;

    padding: 0 !important;

  }

  #home #sdcThemeScroll .sdc-panel-item {

    display: block;

    width: 100%;

  }

  #home #sdcThemeScroll .sdc-panel-item.sdc-panel-hidden {

    display: none !important;

  }
