.foodtech-agenda { --foodtech-black: #08070d; --foodtech-purple: #4f07af; --foodtech-teal: #04ddcf; --foodtech-agenda-header-offset: 0px; background: var(--foodtech-black); color: #fdfdfd; }
.foodtech-agenda__hero { min-height: clamp(360px, 34vw, 520px); }
.foodtech-agenda__hero .inner-page-hero__bg img { object-position: center 42%; }
.foodtech-agenda__hero .inner-page-hero__overlay { background: linear-gradient(90deg, rgba(8,7,13,.94), rgba(8,7,13,.3) 75%), linear-gradient(180deg, rgba(0,0,0,.25), rgba(0,0,0,.72)); }
.foodtech-agenda__hero-logo { display: block; width: clamp(164px, 18vw, 264px); height: auto; margin-bottom: 28px; }
.foodtech-agenda__hero .inner-page-hero__title-hl { color: #fff; }
.foodtech-agenda__content { border-top: 1px solid rgba(89,81,109,.72); background: radial-gradient(circle at 8% 15%, rgba(79,7,175,.19), transparent 30%), #08070d; }
.foodtech-agenda__inner { width: min(100% - (2 * var(--nav-px)), 1440px); margin: 0 auto; padding: clamp(64px, 8vw, 120px) 0; }
.foodtech-agenda__intro { max-width: 850px; margin: 0 auto 54px; text-align: center; }
.foodtech-agenda__eyebrow, .foodtech-agenda__panel-kicker, .foodtech-agenda__session-type { margin: 0; color: var(--foodtech-teal); font-size: .78rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.foodtech-agenda__intro h2 { margin: 12px 0 20px; font-size: clamp(32px, 4vw, 60px); line-height: 1; letter-spacing: 0; text-transform: uppercase; }
.foodtech-agenda__intro > p:last-child { max-width: 760px; margin: 0 auto; color: rgba(253,253,253,.76); font-size: clamp(17px, 1.3vw, 21px); line-height: 1.55; }
.foodtech-agenda__tabs { display: grid; grid-template-columns: repeat(3, 1fr); margin-bottom: 34px; border: 1px solid #514a63; }
.foodtech-agenda__tab { display: flex; min-height: 96px; flex-direction: column; justify-content: center; gap: 8px; padding: 16px 24px; border: 0; border-right: 1px solid #514a63; background: transparent; color: #fff; cursor: pointer; text-align: left; transition: background-color .2s ease, color .2s ease; }
.foodtech-agenda__tab:last-child { border-right: 0; }
.foodtech-agenda__tab span { font-size: 1.3rem; font-weight: 700; text-transform: uppercase; }
.foodtech-agenda__tab small { color: rgba(255,255,255,.64); font-size: .9rem; }
.foodtech-agenda__tab:hover, .foodtech-agenda__tab.is-active { background: var(--foodtech-teal); color: var(--foodtech-black); }
.foodtech-agenda__tab:hover small, .foodtech-agenda__tab.is-active small { color: rgba(8,7,13,.72); }
.foodtech-agenda__mobile-select-label, .foodtech-agenda__mobile-select { display: none; }
.foodtech-agenda__panel { border: 1px solid #514a63; background: rgba(15,13,23,.76); }
.foodtech-agenda__panel[hidden] { display: none; }
.foodtech-agenda__panel-header { display: flex; align-items: end; justify-content: space-between; gap: 28px; padding: 32px clamp(20px, 4vw, 56px); border-bottom: 1px solid #514a63; background: linear-gradient(100deg, rgba(79,7,175,.28), rgba(8,7,13,0)); }
.foodtech-agenda__panel-header h3 { margin: 8px 0 0; font-size: clamp(24px, 3vw, 40px); line-height: 1; letter-spacing: 0; text-transform: uppercase; }
.foodtech-agenda__panel-header > p { margin: 0; color: rgba(255,255,255,.7); font-size: .95rem; }
.foodtech-agenda__session { display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: 28px; padding: 28px clamp(20px, 4vw, 56px); border-bottom: 1px solid rgba(81,74,99,.7); }
.foodtech-agenda__session:last-child { border-bottom: 0; }
.foodtech-agenda__session time { color: var(--foodtech-teal); font-size: clamp(24px, 2.3vw, 36px); font-weight: 700; line-height: 1; }
.foodtech-agenda__session-copy h4 { max-width: 900px; margin: 8px 0 14px; font-size: clamp(20px, 2vw, 30px); line-height: 1.1; letter-spacing: 0; text-transform: uppercase; }
.foodtech-agenda__speakers { max-width: 1000px; margin: 0; color: rgba(255,255,255,.68); font-size: 1rem; line-height: 1.5; }
.foodtech-agenda__speaker-list { display: grid; gap: 10px; max-width: 980px; margin: 0; }
.foodtech-agenda__speaker-role-label { margin: 0 0 10px; color: var(--foodtech-teal); font-size: .72rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.foodtech-agenda__speaker { display: grid; gap: 3px; margin: 0; padding-left: 14px; border-left: 2px solid var(--foodtech-teal); }
.foodtech-agenda__speaker strong { color: #fff; font-size: clamp(16px, 1.25vw, 19px); line-height: 1.2; }
.foodtech-agenda__speaker span { color: rgba(255,255,255,.67); font-size: clamp(13px, 1vw, 15px); line-height: 1.4; }
.foodtech-agenda__moderator { display: grid; gap: 4px; max-width: 980px; margin: 18px 0 0; padding-top: 14px; border-top: 1px solid rgba(81,74,99,.7); color: rgba(255,255,255,.72); font-size: clamp(13px, 1vw, 15px); line-height: 1.45; }
.foodtech-agenda__moderator span { color: var(--foodtech-teal); font-size: .72rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.foodtech-agenda--main { --foodtech-purple-bright: #7427df; }
.foodtech-agenda__speaker-link { justify-self: start; padding: 0; border: 0; background: none; color: #fff; font: inherit; font-size: clamp(16px, 1.25vw, 19px); font-weight: 700; line-height: 1.2; text-align: left; text-decoration: underline; text-decoration-color: rgba(4,221,207,.45); text-underline-offset: 4px; cursor: pointer; transition: color .2s ease, text-decoration-color .2s ease; }
.foodtech-agenda__speaker-link:hover,
.foodtech-agenda__speaker-link:focus-visible { color: var(--foodtech-teal); text-decoration-color: currentColor; }
.foodtech-agenda__moderator .foodtech-agenda__moderator-person { color: inherit; font-size: inherit; font-weight: 400; letter-spacing: 0; text-transform: none; }
.foodtech-agenda__moderator .foodtech-agenda__speaker-link { font-size: inherit; font-weight: 600; }
/* Keep the speaker popup below the fixed site header; long session lists scroll inside the panel. */
.foodtech-agenda--main .foodtech-speakers-page__modal { box-sizing: border-box; padding-top: var(--foodtech-agenda-header-offset); }
.foodtech-agenda--main .foodtech-speakers-page__modal-panel { max-height: calc(100vh - var(--foodtech-agenda-header-offset) - 100px); max-height: calc(100dvh - var(--foodtech-agenda-header-offset) - 100px); overscroll-behavior: contain; }
@media (max-width: 600px) {
  .foodtech-agenda--main .foodtech-speakers-page__modal-panel { max-height: calc(100vh - var(--foodtech-agenda-header-offset) - 24px); max-height: calc(100dvh - var(--foodtech-agenda-header-offset) - 24px); }
}
@media (min-width: 601px) {
  .foodtech-agenda--main .foodtech-speakers-page__modal-panel { width: min(100% - 48px, 1000px); }
  .foodtech-agenda--main .foodtech-speakers-page__modal-photo { width: min(100%, 280px); }
}
/* Desktop: photo, name and title stay put; only the details column scrolls. */
@media (min-width: 901px) {
  .foodtech-agenda--main .foodtech-speakers-page__modal-panel { overflow: hidden; }
  .foodtech-agenda--main .foodtech-speakers-page__modal-copy {
    max-height: calc(100vh - var(--foodtech-agenda-header-offset) - 100px - 2 * clamp(14px, 1.8vw, 26px) - 2px);
    max-height: calc(100dvh - var(--foodtech-agenda-header-offset) - 100px - 2 * clamp(14px, 1.8vw, 26px) - 2px);
    box-sizing: border-box;
    padding-right: 48px;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-width: thin;
    scrollbar-color: #59516d transparent;
  }
}
.foodtech-agenda__modal-bio {max-width: 620px; margin: 0; color: rgba(253,253,253,.78); font-size: 14px; line-height: 1.6; overflow-wrap: anywhere; }
@media (max-width: 600px) { .foodtech-agenda__modal-bio { font-size: 13px; } }
.foodtech-agenda__modal-sessions { margin-top: 26px; }
.foodtech-agenda__modal-bio[hidden] + .foodtech-agenda__modal-sessions { margin-top: 0; }
.foodtech-agenda__modal-sessions ul { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.foodtech-agenda__modal-sessions li { padding: 14px 16px; border: 1px solid #59516d; border-left: 2px solid var(--foodtech-teal); background: rgba(255,255,255,.02); }
.foodtech-agenda__modal-session-meta { display: block; margin-bottom: 6px; color: var(--foodtech-teal); font-size: .72rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.foodtech-agenda__modal-session-title { display: block; color: #fff; font-size: clamp(14px, 1vw, 16px); line-height: 1.4; }
.foodtech-agenda__session-toggle { display: inline-flex; align-items: center; gap: 14px; min-height: 40px; margin-top: 20px; padding: 0; border: 0; border-bottom: 1px solid var(--foodtech-teal); background: transparent; color: #fff; cursor: pointer; font: inherit; font-size: .88rem; font-weight: 700; }
.foodtech-agenda__session-toggle > span:last-child { color: var(--foodtech-teal); font-size: 1.3rem; font-weight: 400; line-height: 1; transition: transform .2s ease; }
.foodtech-agenda__session-toggle[aria-expanded="true"] > span:last-child { transform: rotate(45deg); }
.foodtech-agenda__session-details { max-width: 980px; margin-top: 18px; padding: 20px 22px; border-left: 2px solid var(--foodtech-teal); background: rgba(4,221,207,.06); color: rgba(255,255,255,.8); }
.foodtech-agenda__session-details p { margin: 0; line-height: 1.55; }
.foodtech-agenda__session-details ul { display: grid; gap: 10px; margin: 14px 0 0; padding-left: 19px; }
.foodtech-agenda__session-details li { padding-left: 4px; line-height: 1.5; }
.foodtech-agenda__session-details li::marker { color: var(--foodtech-teal); }
@media (min-width: 768px) {
  .foodtech-agenda__tabs { position: sticky; top: var(--foodtech-agenda-header-offset); z-index: 100; }
  /* Compact the sticky bar once it reaches the header. The bottom margin grows by the height removed,
     so the page flow stays the same height and the content below never jumps. */
  .foodtech-agenda__tabs, .foodtech-agenda__tab, .foodtech-agenda__tab span, .foodtech-agenda__tab small { transition: min-height .2s ease, padding .2s ease, gap .2s ease, font-size .2s ease, margin-bottom .2s ease; }
  .foodtech-agenda__tabs.is-stuck { margin-bottom: calc(34px + var(--foodtech-agenda-tabs-shrink, 0px)); }
  .foodtech-agenda__tabs.is-stuck .foodtech-agenda__tab { min-height: 66px; gap: 3px; padding-top: 8px; padding-bottom: 8px; }
  .foodtech-agenda__tabs.is-stuck .foodtech-agenda__tab span { font-size: 1rem; }
  .foodtech-agenda__tabs.is-stuck .foodtech-agenda__tab small { font-size: .78rem; }
  .foodtech-agenda--main .foodtech-agenda__tabs { background: #06060a; }
  /* The API decides how many days exist; size the bar so each tab keeps its 3-day width. */
  .foodtech-agenda.foodtech-agenda--main .foodtech-agenda__tabs { grid-template-columns: repeat(var(--foodtech-agenda-day-count, 3), minmax(0, 1fr)); max-width: calc(980px * var(--foodtech-agenda-day-count, 3) / 3); }
}
@media (max-width: 767px) {
  .foodtech-agenda__hero { min-height: 390px; }
  .foodtech-agenda__hero .inner-page-hero__title h1 { font-size: clamp(32px, 9vw, 52px); }
  .foodtech-agenda__inner { width: min(100% - 32px, 1440px); }
  .foodtech-agenda__tabs { grid-template-columns: 1fr; }
  .foodtech-agenda__tab { min-height: 72px; border-right: 0; border-bottom: 1px solid #514a63; }
  .foodtech-agenda__tab:last-child { border-bottom: 0; }
  .foodtech-agenda__panel-header { align-items: start; flex-direction: column; gap: 16px; }
  .foodtech-agenda__session { grid-template-columns: 70px minmax(0, 1fr); gap: 16px; padding: 24px 18px; }
  .foodtech-agenda__session time { font-size: 24px; }
  .foodtech-agenda__session-copy h4 { font-size: 19px; }
  .foodtech-agenda__speakers { font-size: .9rem; }
  .foodtech-agenda__speaker { padding-left: 11px; }
  .foodtech-agenda__session-details { padding: 18px 16px; }
}

/* Variation 2: a stronger timeline treatment for programme scanning. */
.foodtech-agenda--variation-2 .foodtech-agenda__content { background: linear-gradient(135deg, rgba(79,7,175,.16), transparent 42%), #08070d; }
.foodtech-agenda--variation-2 .foodtech-agenda__tabs { border: 0; gap: 12px; }
.foodtech-agenda--variation-2 .foodtech-agenda__tab { min-height: 84px; border: 1px solid #514a63; background: #100d19; }
.foodtech-agenda--variation-2 .foodtech-agenda__tab.is-active { border-color: var(--foodtech-teal); box-shadow: inset 5px 0 0 var(--foodtech-teal); }
.foodtech-agenda--variation-2 .foodtech-agenda__panel { border: 0; background: transparent; }
.foodtech-agenda--variation-2 .foodtech-agenda__panel-header { margin-bottom: 24px; border: 1px solid #514a63; background: linear-gradient(100deg, rgba(4,221,207,.16), rgba(8,7,13,.45)); }
.foodtech-agenda--variation-2 .foodtech-agenda__schedule { position: relative; padding-left: 30px; }
.foodtech-agenda--variation-2 .foodtech-agenda__schedule::before { content: ''; position: absolute; top: 0; bottom: 0; left: 84px; width: 1px; background: linear-gradient(var(--foodtech-teal), var(--foodtech-purple)); }
.foodtech-agenda--variation-2 .foodtech-agenda__session { position: relative; grid-template-columns: 110px minmax(0, 1fr); margin-bottom: 12px; border: 1px solid #514a63; background: rgba(15,13,23,.82); }
.foodtech-agenda--variation-2 .foodtech-agenda__session::before { content: ''; position: absolute; top: 35px; left: 49px; z-index: 1; width: 10px; height: 10px; border: 2px solid #08070d; border-radius: 50%; background: var(--foodtech-teal); }
.foodtech-agenda--variation-2 .foodtech-agenda__session time { position: relative; z-index: 2; }

/* Variation 3: compact directory layout with a persistent day rail. */
.foodtech-agenda--variation-3 .foodtech-agenda__inner { display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: 34px; }
.foodtech-agenda--variation-3 .foodtech-agenda__intro { grid-column: 1 / -1; width: 100%; margin-bottom: 10px; }
.foodtech-agenda--variation-3 .foodtech-agenda__tabs { display: flex; flex-direction: column; align-self: start; margin: 0; }
.foodtech-agenda--variation-3 .foodtech-agenda__tab { min-height: 108px; border-right: 0; border-bottom: 1px solid #514a63; }
.foodtech-agenda--variation-3 .foodtech-agenda__tab:last-child { border-bottom: 0; }
.foodtech-agenda--variation-3 .foodtech-agenda__panels { min-width: 0; }
.foodtech-agenda--variation-3 .foodtech-agenda__panel { min-height: 100%; }
.foodtech-agenda--variation-3 .foodtech-agenda__panel-header { background: #100d19; }
.foodtech-agenda--variation-3 .foodtech-agenda__session { grid-template-columns: 82px minmax(0, 1fr); padding: 24px 32px; }
.foodtech-agenda--variation-3 .foodtech-agenda__session:nth-child(even) { background: rgba(79,7,175,.1); }

/* Variation 4: editorial programme cards with a strong day marker. */
.foodtech-agenda--variation-4 .foodtech-agenda__content { background: #0c0b12; }
.foodtech-agenda--variation-4 .foodtech-agenda__tabs { border: 0; gap: 10px; }
.foodtech-agenda--variation-4 .foodtech-agenda__tab { min-height: 92px; border: 1px solid #514a63; background: #17131f; text-align: center; }
.foodtech-agenda--variation-4 .foodtech-agenda__tab.is-active { border-color: var(--foodtech-purple); background: var(--foodtech-purple); color: #fff; box-shadow: 0 12px 28px rgba(79,7,175,.24); }
.foodtech-agenda--variation-4 .foodtech-agenda__tab small { color: rgba(255,255,255,.68); }
.foodtech-agenda--variation-4 .foodtech-agenda__panel { border: 0; background: transparent; }
.foodtech-agenda--variation-4 .foodtech-agenda__panel-header { margin-bottom: 18px; border: 0; border-left: 5px solid var(--foodtech-teal); background: #17131f; }
.foodtech-agenda--variation-4 .foodtech-agenda__schedule { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.foodtech-agenda--variation-4 .foodtech-agenda__session { display: block; min-height: 190px; border: 1px solid #514a63; background: linear-gradient(145deg, rgba(79,7,175,.18), rgba(15,13,23,.95)); }
.foodtech-agenda--variation-4 .foodtech-agenda__session time { display: block; margin-bottom: 24px; }
.foodtech-agenda--variation-4 .foodtech-agenda__session-copy h4 { font-size: clamp(19px, 1.6vw, 25px); }

/* Variation 5: creative programme board with colourful session rails. */
.foodtech-agenda--variation-5 .foodtech-agenda__content { background: radial-gradient(circle at 90% 10%, rgba(4,221,207,.14), transparent 28%), radial-gradient(circle at 0 60%, rgba(116,39,223,.22), transparent 30%), #06060a; }
.foodtech-agenda--variation-5 .foodtech-agenda__tabs { max-width: 980px; margin-right: auto; margin-left: auto; border: 0; }
.foodtech-agenda--variation-5 .foodtech-agenda__tab { min-height: 110px; border: 1px solid #514a63; background: rgba(8,7,13,.8); }
.foodtech-agenda--variation-5 .foodtech-agenda__tab:not(.is-active):hover,
.foodtech-agenda--variation-5 .foodtech-agenda__tab:not(.is-active):focus-visible { border-color: var(--foodtech-teal); background: rgba(4,221,207,.12); color: #fff; }
.foodtech-agenda--variation-5 .foodtech-agenda__tab:not(.is-active):hover small,
.foodtech-agenda--variation-5 .foodtech-agenda__tab:not(.is-active):focus-visible small { color: rgba(255,255,255,.8); }
.foodtech-agenda--variation-5 .foodtech-agenda__tab.is-active { color: var(--foodtech-black); }
.foodtech-agenda--variation-5 .foodtech-agenda__tab:nth-child(1).is-active { border-color: var(--foodtech-teal); background: var(--foodtech-teal); }
.foodtech-agenda--variation-5 .foodtech-agenda__tab:nth-child(2).is-active { border-color: var(--foodtech-purple); background: var(--foodtech-purple); color: #fff; }
.foodtech-agenda--variation-5 .foodtech-agenda__tab:nth-child(3).is-active { border-color: var(--foodtech-teal); background: #00b9ad; }
.foodtech-agenda--variation-5 .foodtech-agenda__tab.is-active small { color: rgba(8,7,13,.72); }
.foodtech-agenda--variation-5 .foodtech-agenda__tab:nth-child(2).is-active small { color: rgba(255,255,255,.76); }
.foodtech-agenda--variation-5 .foodtech-agenda__panel { border: 1px solid #514a63; background: rgba(8,7,13,.72); box-shadow: 0 20px 70px rgba(0,0,0,.22); }
.foodtech-agenda--variation-5 .foodtech-agenda__panel-header { padding-top: 42px; padding-bottom: 42px; border-bottom-color: rgba(4,221,207,.45); background: linear-gradient(110deg, rgba(4,221,207,.12), rgba(79,7,175,.2)); }
.foodtech-agenda--variation-5 .foodtech-agenda__session { grid-template-columns: 130px minmax(0, 1fr); border-bottom: 1px solid rgba(81,74,99,.58); }
.foodtech-agenda--variation-5 .foodtech-agenda__session:nth-child(3n+1) time { color: var(--foodtech-teal); }
.foodtech-agenda--variation-5 .foodtech-agenda__session:nth-child(3n+2) time { color: #fff; }
.foodtech-agenda--variation-5 .foodtech-agenda__session:nth-child(3n) time { color: #9c74ff; }

@media (max-width: 767px) {
  .foodtech-agenda--variation-2 .foodtech-agenda__tabs { gap: 0; border: 1px solid #514a63; }
  .foodtech-agenda--variation-2 .foodtech-agenda__tab { border: 0; border-bottom: 1px solid #514a63; }
  .foodtech-agenda--variation-2 .foodtech-agenda__tab:last-child { border-bottom: 0; }
  .foodtech-agenda--variation-2 .foodtech-agenda__schedule { padding-left: 0; }
  .foodtech-agenda--variation-2 .foodtech-agenda__schedule::before,
  .foodtech-agenda--variation-2 .foodtech-agenda__session::before { display: none; }
  .foodtech-agenda--variation-3 .foodtech-agenda__inner { display: block; }
  .foodtech-agenda--variation-3 .foodtech-agenda__intro { margin-bottom: 34px; }
  .foodtech-agenda--variation-3 .foodtech-agenda__tabs { margin-bottom: 24px; }
  .foodtech-agenda--variation-3 .foodtech-agenda__session { padding: 24px 18px; }
  .foodtech-agenda__tabs { display: none; }
  /* Keep the day picker pinned under the header so any day is one tap away while reading. */
  .foodtech-agenda__mobile-picker { position: sticky; top: var(--foodtech-agenda-header-offset, 0px); z-index: 100; margin: 0 -16px 24px; padding: 10px 16px 12px; background: #06060a; border-bottom: 1px solid #514a63; }
  .foodtech-agenda__mobile-select-label { display: block; margin: 0 0 8px; color: var(--foodtech-teal); font-size: .78rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
  .foodtech-agenda__mobile-select {
    display: block;
    width: 100%;
    min-height: 56px;
    margin-bottom: 0;
    padding: 0 52px 0 20px;
    border: 1px solid #59516d;
    border-radius: 0;
    appearance: none;
    background-color: #17131f;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='10' viewBox='0 0 16 10' fill='none'%3E%3Cpath d='m2 2 6 6 6-6' stroke='%2304ddcf' stroke-width='2' stroke-linecap='square'/%3E%3C/svg%3E");
    background-position: right 20px center;
    background-repeat: no-repeat;
    color: #fff;
    font: inherit;
    cursor: pointer;
  }
  .foodtech-agenda--variation-4 .foodtech-agenda__schedule { grid-template-columns: 1fr; }
  .foodtech-agenda--variation-4 .foodtech-agenda__session { min-height: 0; }
  .foodtech-agenda--variation-5 .foodtech-agenda__session { grid-template-columns: 82px minmax(0, 1fr); }
}
