/* SFF 2026 - Session Page. Scoped to .sff26-session; rules are written as
   ".sff26-session .sff26-session__x" so they outrank the theme's element rules.
   --sff26-c is the session's theme colour (the five forces; Others grey).
   The only !important is phone typography (see the phone block). */

.sff26-session {
  --sff26-muted: #cfcfcf;
  --sff26-amber: #FCB316;
  --sff26-s1: #1e1d1d;
  --sff26-s2: #252424;
  --sff26-rule: #333;
  --sff26-ease: cubic-bezier(.22, .8, .24, 1);
  --sff26-gut: 20px;
  --sff26-max: var(--forum-content-max, 1416px);
  box-sizing: border-box;
  position: relative;
  isolation: isolate;
  overflow-x: clip;
  color: #fff;
  font-family: var(--forum-font, "Open Sans", Arial, sans-serif);
  font-size: 16px;
  line-height: 1.5;
  font-weight: 400;
  letter-spacing: normal;
}

/* From tablets up the content lines up with the site header and footer: the
   forum skin's --forum-content-max and --forum-gutter (these fallbacks without it) */
@media (min-width: 768px) {
  .sff26-session { --sff26-gut: var(--forum-gutter, 40px); }
}
.sff26-session *,
.sff26-session *::before,
.sff26-session *::after { box-sizing: border-box; }
.sff26-session p,
.sff26-session ul,
.sff26-session li,
.sff26-session dl,
.sff26-session dd,
.sff26-session h1,
.sff26-session h2,
.sff26-session h3 { margin: 0; padding: 0; }
.sff26-session ul { list-style: none; }
.sff26-session a:not(.cta-button) { line-height: inherit; letter-spacing: inherit; text-decoration: none; }
.sff26-session img { display: block; max-width: 100%; height: auto; }
.sff26-session a:focus-visible,
.sff26-session button:focus-visible,
.sff26-session summary:focus-visible { outline: 2px solid var(--sff26-amber); outline-offset: 3px; }
.sff26-session .sff26-session__w { max-width: calc(var(--sff26-max) + 2 * var(--sff26-gut)); margin: 0 auto; padding: 0 var(--sff26-gut); }
.sff26-session .sff26-session__note { margin: 24px 0 0; padding: 12px 16px; border-radius: 8px; background: #3a2a00; color: #FCB316; font-size: 14px; line-height: 1.4; }

/* ---------- hero: the curtain under a dark fade, a glow in the theme colour ---------- */
.sff26-session .sff26-session__hero { position: relative; isolation: isolate; padding: 150px 0 0; }
.sff26-session .sff26-session__hero::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 640px;
  z-index: -2;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(20, 20, 20, .5) 0%, rgba(20, 20, 20, .66) 45%, #141414 100%), var(--sff26-bg, none) center top / 100% auto no-repeat;
}
.sff26-session .sff26-session__hero::after {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  right: calc(max(0px, (100vw - var(--sff26-max) - 2 * var(--sff26-gut)) / 2) - 200px);
  width: 860px;
  height: 860px;
  pointer-events: none;
  background: radial-gradient(closest-side, color-mix(in srgb, var(--sff26-c) 28%, transparent) 0%, color-mix(in srgb, var(--sff26-c) 9%, transparent) 50%, transparent 100%);
}
.sff26-session .sff26-session__back { display: inline-flex; align-items: center; gap: 12px; min-height: 44px; font-size: 15px; line-height: 1.5; font-weight: 600; color: #fff; }
.sff26-session .sff26-session__back-ic { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: var(--sff26-s1); transition: background-color .25s ease, color .25s ease, transform .35s var(--sff26-ease); }
.sff26-session .sff26-session__back-ic svg,
.sff26-session .sff26-session__pngo svg,
.sff26-session .sff26-session__rgo svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.sff26-session .sff26-session__back:hover,
.sff26-session .sff26-session__back:focus-visible { color: #fff; }
.sff26-session .sff26-session__back:hover .sff26-session__back-ic,
.sff26-session .sff26-session__back:focus-visible .sff26-session__back-ic { background: var(--sff26-amber); color: #141414; transform: translateX(-4px); }
.sff26-session .sff26-session__hgrid { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 48px; align-items: center; margin: 24px 0 0; }
.sff26-session .sff26-session__hcopy { min-width: 0; }
.sff26-session .sff26-session__when { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; font-size: 18px; line-height: 1.4; font-weight: 600; color: #fff; }
.sff26-session .sff26-session__dot { flex: none; width: 5px; height: 5px; border-radius: 50%; background: #6a6a6a; }
.sff26-session .sff26-session__h1 {
  margin: 18px 0 0;
  max-width: 21ch;
  font-family: inherit;
  font-size: clamp(40px, 4.7vw, 68px);
  line-height: 1.06;
  font-weight: 600;
  letter-spacing: -.028em;
  text-transform: none;
  color: #fff;
  text-wrap: balance;
}
.sff26-session .sff26-session__topic { display: flex; align-items: center; gap: 10px; margin: 22px 0 0; font-size: 16px; line-height: 1.3; font-weight: 600; color: #e8e8e8; }
.sff26-session .sff26-session__stk { flex: none; display: block; width: 11px; height: 22px; background: var(--sff26-c); clip-path: polygon(45% 0, 100% 0, 55% 100%, 0 100%); }
.sff26-session .sff26-session__topic-a { color: inherit; transition: color .25s ease; }
.sff26-session .sff26-session__topic-a:hover,
.sff26-session .sff26-session__topic-a:focus-visible { color: var(--sff26-amber); }
.sff26-session .sff26-session__acts { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 26px; margin: 36px 0 0; }
.sff26-session .sff26-session__btns { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; }
.sff26-session .sff26-session__art { justify-self: end; width: 300px; }
.sff26-session .sff26-session__art img { width: 100%; height: auto; pointer-events: none; -webkit-user-drag: none; transition: transform .7s var(--sff26-ease); }
.sff26-session .sff26-session__hgrid:hover .sff26-session__art img { transform: rotate(-8deg) scale(1.04); }

/* popover menus (Add to calendar, More ways to share): details / summary, so they open without JavaScript too */
.sff26-session .sff26-session__pop { position: relative; display: inline-flex; }
.sff26-session .sff26-session__pop > summary { list-style: none; cursor: pointer; }
.sff26-session .sff26-session__pop > summary::-webkit-details-marker { display: none; }
.sff26-session .sff26-session__menu {
  position: absolute;
  left: 0;
  top: calc(100% + 10px);
  z-index: 30;
  min-width: 240px;
  padding: 8px;
  border-radius: 16px;
  background: #2a2929;
  box-shadow: 0 30px 60px -20px rgba(0, 0, 0, .85);
  text-align: left;
  transform-origin: 24px 0;
}
.sff26-session .sff26-session__menu--r { left: auto; right: 0; transform-origin: calc(100% - 24px) 0; }
.sff26-session .sff26-session__pop[open] .sff26-session__menu { animation: sff26-session-pop .28s cubic-bezier(.2, .9, .25, 1.15) both; }
@keyframes sff26-session-pop { from { opacity: 0; transform: translateY(-6px) scale(.94); } }
.sff26-session .sff26-session__mi {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  min-height: 44px;
  margin: 0;
  padding: 0 14px;
  border: 0;
  border-radius: 10px;
  background: none;
  box-shadow: none;
  font-family: inherit;
  font-size: 15px;
  line-height: 1.3;
  font-weight: 600;
  letter-spacing: normal;
  text-transform: none;
  text-align: left;
  color: #fff;
  cursor: pointer;
  transition: background-color .2s ease;
}
.sff26-session .sff26-session__mi:hover,
.sff26-session .sff26-session__mi:focus-visible { background: #383737; color: #fff; }
.sff26-session .sff26-session__mi svg { flex: none; width: 18px; height: 18px; fill: currentColor; }
.sff26-session .sff26-session__mi svg.sff26-session__ln,
.sff26-session .sff26-session__ic svg.sff26-session__ln { fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.sff26-session .sff26-session__hr { margin: 6px 8px; border: 0; border-top: 1px solid #3c3b3b; }
.sff26-session:not(.sff26-session--js) [data-js-only] { display: none; }

/* share */
.sff26-session .sff26-session__share { display: flex; align-items: center; gap: 15px; }
.sff26-session .sff26-session__share-l { margin-right: 6px; font-size: 15px; line-height: 1.5; font-weight: 600; color: var(--sff26-muted); }
/* Share icons in the site footer's style (2 Oct): white, a 32px target, no tile, 15px apart,
   0.8 opacity on hover */
.sff26-session .sff26-session__ic {
  flex: none;
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  margin: 0;
  padding: 0;
  border-radius: 0;
  background: none;
  color: #fff;
  transition: opacity .2s ease;
}
.sff26-session .sff26-session__ic svg { width: 22px; height: 22px; fill: currentColor; }
.sff26-session .sff26-session__ic:hover,
.sff26-session .sff26-session__ic:focus-visible,
.sff26-session .sff26-session__pop[open] > .sff26-session__ic { opacity: .8; }
.sff26-session .sff26-session__toast {
  position: fixed;
  left: 50%;
  bottom: 32px;
  z-index: 120;
  padding: 12px 20px;
  border-radius: 8px;
  background: #fff;
  color: #141414;
  font-size: 15px;
  line-height: 1.3;
  font-weight: 600;
  box-shadow: 0 20px 40px -18px rgba(0, 0, 0, .8);
  transform: translate(-50%, 20px);
  opacity: 0;
  pointer-events: none;
  transition: opacity .3s ease, transform .45s cubic-bezier(.2, .9, .25, 1.3);
}
.sff26-session .sff26-session__toast--on { opacity: 1; transform: translate(-50%, 0); }

/* ---------- sections below the hero ---------- */
.sff26-session .sff26-session__sec { padding: 120px 0 0; }
.sff26-session .sff26-session__sec--last { padding-bottom: 120px; }
.sff26-session .sff26-session__h2 {
  font-family: inherit;
  font-size: clamp(34px, 3.6vw, 52px);
  line-height: 1.1;
  font-weight: 600;
  letter-spacing: -.018em;
  text-transform: none;
  color: #fff;
  text-wrap: balance;
}
.sff26-session .sff26-session__h2 .sff26-session__wd,
.sff26-session .sff26-session__h2 .sff26-session__ch { color: inherit; }
.sff26-session .sff26-session__wd { white-space: nowrap; }
.sff26-session .sff26-session__ch { display: inline-block; }
/* heading pattern: H2 left, an action right, the body below */
.sff26-session .sff26-session__sg { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "hd acts" "bd bd"; column-gap: 48px; row-gap: 56px; align-items: end; }
.sff26-session .sff26-session__hd { grid-area: hd; }
.sff26-session .sff26-session__acts2 { grid-area: acts; display: flex; align-items: center; }
.sff26-session .sff26-session__bd { grid-area: bd; min-width: 0; }

/* about: the synopsis beside the details */
.sff26-session .sff26-session__cols { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 72px; align-items: start; }
.sff26-session .sff26-session__copy { min-width: 0; }
.sff26-session .sff26-session__about { margin: 0 0 28px; }
.sff26-session .sff26-session__syn-main p,
.sff26-session .sff26-session__wait { max-width: 68ch; font-size: 18px; line-height: 1.65; color: #dcdcdc; }
.sff26-session .sff26-session__syn-main p + p { margin-top: 16px; }
.sff26-session .sff26-session__syn-main p:empty { display: none; }
.sff26-session .sff26-session__syn-main a { color: var(--sff26-amber); text-decoration: underline; text-underline-offset: 3px; }
.sff26-session .sff26-session__wait { color: var(--sff26-muted); }
.sff26-session .sff26-session__logo { display: flex; align-items: center; gap: 16px; margin: 28px 0 0; font-size: 14px; color: var(--sff26-muted); }
.sff26-session .sff26-session__logo img { height: 44px; width: auto; padding: 6px 10px; border-radius: 8px; background: #fff; }
.sff26-session .sff26-session__facts { position: relative; z-index: 5; margin: 16px 0; padding: 6px 26px; border-radius: 16px; background: var(--sff26-s1); }
.sff26-session .sff26-session__fact { position: relative; display: grid; grid-template-columns: 84px minmax(0, 1fr); gap: 14px; padding: 18px 0; border-top: 1px solid #2f2e2e; }
.sff26-session .sff26-session__fact:first-child { border-top: 0; }
.sff26-session .sff26-session__fact dt { font-size: 14px; line-height: 1.5; font-weight: 600; color: #9c9c9c; }
.sff26-session .sff26-session__fact dd { font-size: 16px; line-height: 1.5; color: #fff; }
.sff26-session .sff26-session__fact small { display: block; margin: 6px 0 0; font-size: 14px; line-height: 1.5; color: var(--sff26-muted); }
/* access: Premium or Open, and an i that shows which passes get in (hover or focus; a click pins it) */
.sff26-session .sff26-session__ai { display: inline-flex; align-items: center; gap: 4px; }
.sff26-session .sff26-session__i { display: grid; place-items: center; width: 28px; height: 28px; min-height: 0; margin: -4px 0; padding: 0; border: 0; border-radius: 8px; background: none; box-shadow: none; color: #9c9c9c; cursor: pointer; transition: color .2s ease; }
.sff26-session .sff26-session__i svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; }
.sff26-session .sff26-session__i:hover,
.sff26-session .sff26-session__ai--open .sff26-session__i { color: var(--sff26-amber); }
.sff26-session .sff26-session__tip {
  position: absolute;
  left: -12px;
  right: -12px;
  top: calc(100% - 8px);
  z-index: 40;
  display: block;
  padding: 16px 18px;
  border-radius: 12px;
  background: #2a2929;
  box-shadow: 0 30px 60px -20px rgba(0, 0, 0, .85);
  font-size: 14px;
  line-height: 1.5;
  font-weight: 400;
  color: #d6d6d6;
  text-align: left;
  white-space: normal;
  opacity: 0;
  visibility: hidden;
  transform: translateY(6px);
  transition: opacity .2s ease, transform .25s var(--sff26-ease), visibility 0s linear .25s;
}
.sff26-session .sff26-session__tip::before { content: ""; position: absolute; left: 0; right: 0; top: -10px; height: 10px; }
.sff26-session .sff26-session__tip b { display: block; margin: 0 0 4px; font-weight: 600; color: #fff; }
.sff26-session .sff26-session__tip span { display: block; }
.sff26-session .sff26-session__tip-a { display: inline-block; margin: 10px 0 0; padding-bottom: 1px; font-weight: 600; color: #fff; background: linear-gradient(currentColor, currentColor) 0 100% / 100% 1px no-repeat; transition: color .25s ease; }
.sff26-session .sff26-session__tip-a:hover,
.sff26-session .sff26-session__tip-a:focus-visible { color: var(--sff26-amber); }
@media (hover: hover) {
  .sff26-session .sff26-session__ai:hover:not(.sff26-session__ai--shut) .sff26-session__tip { opacity: 1; visibility: visible; transform: none; transition-delay: 0s; }
}
.sff26-session .sff26-session__ai--open .sff26-session__tip,
.sff26-session .sff26-session__ai:not(.sff26-session__ai--shut):focus-within .sff26-session__tip { opacity: 1; visibility: visible; transform: none; transition-delay: 0s; }

/* people on the session: portrait cards (original colours), moderators and chairs labelled */
.sff26-session .sff26-session__pgrid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px 20px; }
.sff26-session .sff26-session__pc { min-width: 0; }
.sff26-session .sff26-session__pca { display: block; color: #fff; }
.sff26-session .sff26-session__ph { position: relative; display: block; aspect-ratio: 1 / 1.08; border-radius: 16px; overflow: hidden; background: var(--sff26-s1); isolation: isolate; }
.sff26-session .sff26-session__ph img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 18%; pointer-events: none; -webkit-user-drag: none; user-select: none; transform: scale(1.01); transition: transform .6s var(--sff26-ease); }
.sff26-session a.sff26-session__pca:hover .sff26-session__ph img,
.sff26-session a.sff26-session__pca:focus-visible .sff26-session__ph img { transform: scale(1.06); }
.sff26-session .sff26-session__pn { margin: 18px 0 0; font-family: inherit; font-size: 19px; line-height: 1.3; font-weight: 600; letter-spacing: -.01em; text-transform: none; color: #fff; transition: color .25s ease; }
.sff26-session a.sff26-session__pca:hover .sff26-session__pn,
.sff26-session a.sff26-session__pca:focus-visible .sff26-session__pn { color: var(--sff26-amber); }
.sff26-session .sff26-session__pt { margin: 6px 0 0; font-size: 15px; line-height: 1.45; color: var(--sff26-muted); }
.sff26-session .sff26-session__po { margin: 2px 0 0; font-size: 15px; line-height: 1.45; font-weight: 600; color: #fff; }
.sff26-session .sff26-session__role { display: inline-flex; align-items: center; height: 26px; margin: 10px 0 0; padding: 0 11px; border-radius: 4px; background: #2b2a2a; font-size: 13px; line-height: 1; font-weight: 600; color: #e8e8e8; }

/* previous / next */
.sff26-session .sff26-session__pn-g { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.sff26-session .sff26-session__pnc { display: flex; min-width: 0; }
.sff26-session .sff26-session__pnc--none { visibility: hidden; }
.sff26-session .sff26-session__pna { display: flex; align-items: center; gap: 20px; width: 100%; min-height: 128px; padding: 24px 28px; border-radius: 16px; background: var(--sff26-s1); color: #fff; transition: background-color .3s ease; }
.sff26-session .sff26-session__pnc--next .sff26-session__pna { flex-direction: row-reverse; text-align: right; }
.sff26-session .sff26-session__pngo { flex: none; display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid rgba(255, 255, 255, .28); border-radius: 50%; color: #fff; transition: background-color .3s ease, border-color .3s ease, color .3s ease; }
.sff26-session .sff26-session__pngo svg { width: 18px; height: 18px; }
.sff26-session .sff26-session__pnc--prev .sff26-session__pngo svg { transform: rotate(180deg); }
.sff26-session .sff26-session__pnb { flex: 1; min-width: 0; }
.sff26-session .sff26-session__pnb small { display: block; font-size: 14px; line-height: 1.4; font-weight: 600; color: var(--sff26-muted); }
.sff26-session .sff26-session__pnb b { display: block; margin: 6px 0 0; font-size: 19px; line-height: 1.3; font-weight: 600; letter-spacing: -.01em; text-wrap: balance; transition: color .25s ease; }
.sff26-session .sff26-session__pnb span { display: block; margin: 4px 0 0; font-size: 14px; line-height: 1.4; color: var(--sff26-muted); }
.sff26-session .sff26-session__pna:hover,
.sff26-session .sff26-session__pna:focus-visible { background: var(--sff26-s2); color: #fff; }
.sff26-session .sff26-session__pna:hover .sff26-session__pnb b,
.sff26-session .sff26-session__pna:focus-visible .sff26-session__pnb b { color: var(--sff26-amber); }
.sff26-session .sff26-session__pna:hover .sff26-session__pngo,
.sff26-session .sff26-session__pna:focus-visible .sff26-session__pngo { background: var(--sff26-amber); border-color: var(--sff26-amber); color: #141414; }

/* text link: amber, with the primary CTA's arrow; the underline runs under text and arrow */
.sff26-session .sff26-session__link {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  font-size: 16px;
  line-height: 24px;
  font-weight: 600;
  letter-spacing: .5px;
  color: var(--forum-highlight, var(--sff26-amber));
  text-decoration: none;
}
.sff26-session .sff26-session__link::after {
  content: "";
  position: absolute;
  left: 0;
  right: calc(24px * -0.3);
  bottom: 8px;
  height: 1px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: 0 50%;
  transition: transform .3s ease;
}
.sff26-session .sff26-session__link:hover,
.sff26-session .sff26-session__link:focus-visible { color: var(--forum-highlight, var(--sff26-amber)); text-decoration: none; }
.sff26-session .sff26-session__link:hover::after,
.sff26-session .sff26-session__link:focus-visible::after { transform: scaleX(1); }
.sff26-session .sff26-session__link-ic { flex: none; display: block; width: 24px; height: 12px; transform-origin: left center; transition: transform .3s ease; }
.sff26-session .sff26-session__link:hover .sff26-session__link-ic,
.sff26-session .sff26-session__link:focus-visible .sff26-session__link-ic { transform: scaleX(1.3); }

/* more sessions in the theme: the theme pages' session row */
.sff26-session .sff26-session__row {
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: 168px minmax(0, 1fr) 44px;
  gap: 8px 32px;
  padding: 24px 0 22px;
  border-bottom: 1px solid var(--sff26-rule);
}
.sff26-session .sff26-session__row::before { content: ""; position: absolute; inset: 0 -20px; z-index: -1; border-radius: 14px; background: var(--sff26-s1); opacity: 0; transition: opacity .3s ease; }
.sff26-session .sff26-session__row:hover::before,
.sff26-session .sff26-session__row:focus-within::before { opacity: 1; }
.sff26-session .sff26-session__rw b { display: block; font-size: 19px; line-height: 1.25; font-weight: 600; letter-spacing: -.01em; color: #fff; }
.sff26-session .sff26-session__rw span { display: block; margin: 4px 0 0; font-size: 14px; line-height: 1.4; color: var(--sff26-muted); }
.sff26-session .sff26-session__rm { min-width: 0; }
.sff26-session .sff26-session__rt { display: flex; align-items: center; gap: 10px; margin: 0 0 8px; font-size: 14px; line-height: 1.3; font-weight: 600; color: #e8e8e8; }
.sff26-session .sff26-session__rt .sff26-session__stk { width: 9px; height: 18px; transform-origin: 50% 100%; transition: transform .4s var(--sff26-ease); }
.sff26-session .sff26-session__row:hover .sff26-session__rt .sff26-session__stk { transform: scaleY(1.3); }
.sff26-session .sff26-session__rh { font-family: inherit; font-size: 22px; line-height: 1.3; font-weight: 600; letter-spacing: -.01em; text-transform: none; color: #fff; text-wrap: balance; }
.sff26-session .sff26-session__rha { color: inherit; transition: color .25s ease; }
/* the theme sets main h3 a:hover to 28-50px bold; a linked title keeps its heading's type on hover */
.sff26-session .sff26-session__rha,
.sff26-session .sff26-session__rha:hover,
.sff26-session .sff26-session__rha:focus { font: inherit; letter-spacing: inherit; text-decoration: none; }
.sff26-session .sff26-session__row:hover .sff26-session__rha,
.sff26-session .sff26-session__rha:focus-visible { color: var(--sff26-amber); }
.sff26-session .sff26-session__rmeta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; margin: 8px 0 0; font-size: 15px; line-height: 1.45; color: var(--sff26-muted); }
.sff26-session .sff26-session__rmeta .sff26-session__dot { width: 4px; height: 4px; background: #5c5c5c; }
/* The stage type (Premium / Open) as the house's slash label, as on /agenda (user 5 Oct): amber for
   Premium, grey for Open. On desktop it sits in the time column with the stage and hall and the line
   under the title is hidden; on phones it stays on that line. */
.sff26-session .sff26-session__tag,
.sff26-session .sff26-session__rw .sff26-session__rwp { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; line-height: 1.35; font-weight: 600; color: #fffffc; }
.sff26-session .sff26-session__tag { margin-left: 4px; }
.sff26-session .sff26-session__tag::before,
.sff26-session .sff26-session__rwp::before { content: ""; flex: none; width: 9px; height: 14px; background: var(--sff26-amber); clip-path: polygon(45% 0, 100% 0, 55% 100%, 0 100%); }
.sff26-session .sff26-session__tag--open,
.sff26-session .sff26-session__rw .sff26-session__rwp--open { color: #bfbfbf; }
.sff26-session .sff26-session__tag--open::before,
.sff26-session .sff26-session__rwp--open::before { background: #8d8d8d; }
.sff26-session .sff26-session__rw .sff26-session__rws { margin: 14px 0 0; font-size: 15px; line-height: 1.35; font-weight: 600; color: #fff; }
.sff26-session .sff26-session__rw .sff26-session__rwh { margin: 2px 0 0; font-size: 14px; line-height: 1.4; color: var(--sff26-muted); }
.sff26-session .sff26-session__rw .sff26-session__rwp { display: flex; margin: 10px 0 0; }
@media (min-width: 768px) {
  .sff26-session .sff26-session__row { grid-template-columns: 196px minmax(0, 1fr) 44px; }
  .sff26-session .sff26-session__row .sff26-session__rmeta { display: none; }
}
/* Speakers in equal columns (user 12 Oct: "standardise the column width for each speaker"): as many 280px+ columns as fit
   (three at 1440, two on tablets), every speaker the same width; one column on phones. */
.sff26-session .sff26-session__rppl { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr)); gap: 14px 32px; margin: 20px 0 0; }
.sff26-session .sff26-session__rp { min-width: 0; }
/* photo at the top of the name, so a long title runs down beside it */
.sff26-session .sff26-session__rpa { display: flex; align-items: flex-start; gap: 12px; color: #fff; }
.sff26-session .sff26-session__rav { flex: none; width: 56px; height: 56px; border-radius: 8px; overflow: hidden; background: var(--sff26-s1); }
.sff26-session .sff26-session__rav img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 20%; pointer-events: none; -webkit-user-drag: none; transition: transform .5s var(--sff26-ease); }
.sff26-session a.sff26-session__rpa:hover .sff26-session__rav img,
.sff26-session a.sff26-session__rpa:focus-visible .sff26-session__rav img { transform: scale(1.08); }
.sff26-session .sff26-session__rpn { font-size: 14px; line-height: 1.4; color: var(--sff26-muted); }
.sff26-session .sff26-session__rpn b { display: block; font-size: 15px; font-weight: 600; color: #fff; transition: color .25s ease; }
.sff26-session .sff26-session__rpn em { display: block; margin-top: 1px; font-style: normal; font-size: 13px; font-weight: 600; color: #9c9c9c; }
/* the speaker's title in full, however long (user 12 Oct: "some speakers have extremely long titles ... we have to cater fully to them") */
.sff26-session .sff26-session__rpt { display: block; }
.sff26-session .sff26-session__rpo { display: block; font-weight: 600; color: #e6e6e6; }
.sff26-session a.sff26-session__rpa:hover .sff26-session__rpn b,
.sff26-session a.sff26-session__rpa:focus-visible .sff26-session__rpn b { color: var(--sff26-amber); }
.sff26-session .sff26-session__syn { margin: 6px 0 0; }
.sff26-session .sff26-session__sum { display: inline-flex; align-items: center; gap: 10px; min-height: 40px; list-style: none; font-size: 14px; line-height: 1.5; font-weight: 600; color: var(--sff26-muted); cursor: pointer; transition: color .25s ease; }
.sff26-session .sff26-session__sum::-webkit-details-marker { display: none; }
.sff26-session .sff26-session__sum:hover,
.sff26-session .sff26-session__syn[open] .sff26-session__sum { color: #fff; }
.sff26-session .sff26-session__pm { position: relative; display: block; width: 26px; height: 26px; border-radius: 50%; background: #2b2a2a; transition: background-color .3s ease, transform .45s var(--sff26-ease); }
.sff26-session .sff26-session__pm::before,
.sff26-session .sff26-session__pm::after { content: ""; position: absolute; left: 50%; top: 50%; width: 10px; height: 2px; margin: -1px 0 0 -5px; border-radius: 2px; background: currentColor; transition: transform .45s var(--sff26-ease); }
.sff26-session .sff26-session__pm::after { transform: rotate(90deg); }
.sff26-session .sff26-session__sum:hover .sff26-session__pm { background: var(--sff26-amber); color: #141414; }
.sff26-session .sff26-session__syn[open] .sff26-session__pm { transform: rotate(180deg); }
.sff26-session .sff26-session__syn[open] .sff26-session__pm::after { transform: rotate(0deg); }
.sff26-session .sff26-session__syn-b { padding: 4px 0 6px; }
.sff26-session .sff26-session__syn-b p { max-width: 72ch; margin: 10px 0 0; font-size: 16px; line-height: 1.6; color: #d6d6d6; }
.sff26-session .sff26-session__rgo { align-self: start; display: grid; place-items: center; width: 44px; height: 44px; margin: 2px 0 0; border: 1px solid rgba(255, 255, 255, .28); border-radius: 50%; color: #fff; transition: transform .35s var(--sff26-ease), background-color .3s ease, border-color .3s ease, color .3s ease; }
.sff26-session .sff26-session__rgo svg { width: 18px; height: 18px; }
.sff26-session .sff26-session__row:hover .sff26-session__rgo { transform: translateX(6px); background: var(--sff26-amber); border-color: var(--sff26-amber); color: #141414; }

/* ---------- entrances, once each (module.js arms them) ---------- */
@keyframes sff26-session-rise { from { opacity: 0; transform: translateY(24px); } }
@keyframes sff26-session-spin { from { opacity: 0; transform: rotate(-40deg) scale(.7); } }
.sff26-session.sff26-session--armed .sff26-session__back { animation: sff26-session-rise .6s var(--sff26-ease) both; }
.sff26-session.sff26-session--armed .sff26-session__when { animation: sff26-session-rise .7s var(--sff26-ease) .05s both; }
.sff26-session.sff26-session--armed .sff26-session__h1 { animation: sff26-session-rise .8s var(--sff26-ease) .12s both; }
.sff26-session.sff26-session--armed .sff26-session__topic { animation: sff26-session-rise .7s var(--sff26-ease) .24s both; }
.sff26-session.sff26-session--armed .sff26-session__acts { animation: sff26-session-rise .7s var(--sff26-ease) .34s both; }
.sff26-session.sff26-session--armed .sff26-session__art img { animation: sff26-session-spin 1.25s cubic-bezier(.2, .9, .25, 1.2) .15s both; }
.sff26-session.sff26-session--armed .sff26-session__ch { transition: opacity .45s ease, transform .6s var(--sff26-ease); transition-delay: calc(var(--sff26-ci, 0) * 16ms); }
.sff26-session.sff26-session--armed .sff26-session__h2:not(.sff26-session__h2--in) .sff26-session__ch { opacity: 0; transform: translateY(.4em); }
.sff26-session.sff26-session--armed .sff26-session__rv { transition: opacity .6s ease, transform .8s cubic-bezier(.2, .9, .25, 1.1); transition-delay: calc(var(--sff26-i, 0) * 80ms); }
.sff26-session.sff26-session--armed .sff26-session__rv:not(.sff26-session__rv--in) { opacity: 0; transform: translateY(24px); }

/* ---------- tablet ---------- */
@media (max-width: 1023px) {
  .sff26-session .sff26-session__dot--br { flex-basis: 100%; height: 0; margin: -3px 0; background: none; }
}
@media (max-width: 991px) {
  .sff26-session .sff26-session__sec { padding-top: 96px; }
  .sff26-session .sff26-session__sec--last { padding-bottom: 96px; }
  .sff26-session .sff26-session__hgrid { grid-template-columns: minmax(0, 1fr) 200px; }
  .sff26-session .sff26-session__art { width: 200px; }
  .sff26-session .sff26-session__cols { grid-template-columns: minmax(0, 1fr); gap: 40px; }
  .sff26-session .sff26-session__pgrid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* ---------- phone ---------- */
@media (max-width: 767px) {
  .sff26-session .sff26-session__rw .sff26-session__rws,
  .sff26-session .sff26-session__rw .sff26-session__rwh,
  .sff26-session .sff26-session__rw .sff26-session__rwp { display: none; }
  .sff26-session .sff26-session__hero { padding-top: 116px; }
  .sff26-session .sff26-session__hero::after { right: -300px; width: 600px; height: 600px; }
  .sff26-session .sff26-session__hero .sff26-session__w { position: relative; }
  .sff26-session .sff26-session__hgrid { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .sff26-session .sff26-session__art { position: absolute; right: var(--sff26-gut); top: -2px; width: 64px; margin: 0; }
  .sff26-session .sff26-session__h1 { max-width: none; }
  .sff26-session .sff26-session__acts { gap: 12px; margin-top: 28px; }
  .sff26-session .sff26-session__btns { flex: 1 1 100%; flex-direction: column; align-items: stretch; gap: 14px; }
  .sff26-session .sff26-session__btns .cta-button { width: 100%; }
  .sff26-session .sff26-session__pop--cal { display: flex; }
  .sff26-session .sff26-session__pop--cal > summary { width: 100%; }
  .sff26-session .sff26-session__pop--cal .sff26-session__menu { right: 0; min-width: 0; }
  .sff26-session .sff26-session__share { flex: 1 1 100%; margin-top: 8px; }
  .sff26-session .sff26-session__sec { padding-top: 72px; }
  .sff26-session .sff26-session__sec--last { padding-bottom: 72px; }
  .sff26-session .sff26-session__sg { grid-template-columns: minmax(0, 1fr); grid-template-areas: "hd" "bd" "acts"; row-gap: 30px; }
  .sff26-session .sff26-session__facts { padding: 4px 18px; }
  .sff26-session .sff26-session__pgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 12px; }
  .sff26-session .sff26-session__pn-g { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .sff26-session .sff26-session__pnc--none { display: none; }
  .sff26-session .sff26-session__pna { min-height: 0; padding: 20px; border-radius: 14px; }
  .sff26-session .sff26-session__row { grid-template-columns: minmax(0, 1fr) 36px; gap: 4px 14px; padding: 20px 0 16px; }
  .sff26-session .sff26-session__row::before { inset: 0 -12px; }
  .sff26-session .sff26-session__rw { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 10px; grid-column: 1; grid-row: 1; }
  .sff26-session .sff26-session__rw b { white-space: nowrap; }
  .sff26-session .sff26-session__rw span { margin: 0; }
  .sff26-session .sff26-session__rgo { grid-column: 2; grid-row: 1; width: 36px; height: 36px; margin: -4px 0 0; }
  .sff26-session .sff26-session__rm { grid-column: 1 / -1; grid-row: 2; }
  .sff26-session .sff26-session__rppl { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  /* Phone type. The theme sets h1-h3 weight 400 and p / li 16px on phones
     with !important, so these must be !important too (phone typography only). */
  .sff26-session .sff26-session__h1 { font-size: 36px !important; line-height: 1.1 !important; font-weight: 600 !important; }
  .sff26-session .sff26-session__when { font-size: 16px !important; line-height: 1.4 !important; font-weight: 600 !important; }
  .sff26-session .sff26-session__topic { font-size: 15px !important; line-height: 1.3 !important; font-weight: 600 !important; }
  .sff26-session .sff26-session__h2 { font-size: 32px !important; line-height: 1.12 !important; font-weight: 600 !important; }
  .sff26-session .sff26-session__syn-main p,
  .sff26-session .sff26-session__wait { font-size: 17px !important; line-height: 1.6 !important; }
  .sff26-session .sff26-session__fact dd { font-size: 15px !important; line-height: 1.5 !important; }
  .sff26-session .sff26-session__fact small { font-size: 14px !important; line-height: 1.5 !important; }
  .sff26-session .sff26-session__pn { font-size: 16px !important; line-height: 1.3 !important; font-weight: 600 !important; }
  .sff26-session .sff26-session__pt,
  .sff26-session .sff26-session__po { font-size: 14px !important; line-height: 1.45 !important; }
  .sff26-session .sff26-session__po { font-weight: 600 !important; }
  .sff26-session .sff26-session__rw b { font-size: 19px !important; line-height: 1.25 !important; }
  .sff26-session .sff26-session__rt { font-size: 13px !important; line-height: 1.3 !important; }
  .sff26-session .sff26-session__rh { font-size: 19px !important; line-height: 1.3 !important; font-weight: 600 !important; }
  .sff26-session .sff26-session__rmeta { font-size: 14px !important; line-height: 1.45 !important; }
  .sff26-session .sff26-session__syn-b p { font-size: 16px !important; line-height: 1.6 !important; }
}

@media (prefers-reduced-motion: reduce) {
  .sff26-session .sff26-session__back-ic,
  .sff26-session .sff26-session__art img,
  .sff26-session .sff26-session__ic,
  .sff26-session .sff26-session__tip,
  .sff26-session .sff26-session__ph img,
  .sff26-session .sff26-session__rav img,
  .sff26-session .sff26-session__rgo,
  .sff26-session .sff26-session__pm,
  .sff26-session .sff26-session__link::after,
  .sff26-session .sff26-session__link-ic { transition: none; }
  .sff26-session .sff26-session__pop[open] .sff26-session__menu { animation: none; }
  .sff26-session .sff26-session__row:hover .sff26-session__rgo,
  .sff26-session .sff26-session__hgrid:hover .sff26-session__art img,
  .sff26-session .sff26-session__ic:hover { transform: none; }
}

/* ---------------------------------------------------------------------------------------------------------------
   Other forums (12 Oct, user: "globalise the new modules to be used on other forums"). Everything below applies only
   OFF SFF (".sff26-session:not(.skin-sff *)"), so SFF keeps exactly the values above. The module reads the forum skin's tokens
   (the bss.css contract: --forum-text, --forum-text-body, --forum-text-muted, --forum-text-faint, --forum-surface,
   --forum-surface-raised, --forum-line, --forum-highlight, --forum-dark, the brand palette --forum-gold / -accent /
   -orchid / -teal) and the BSS layout (--bss-max, --bss-gutter), each falling back to SFF's value. A light edition
   (BSS Cambodia) sets --forum-highlight-text to its text colour: brand colours never as small text on a light page.
   BSS forces p / li to var(--forum-text-body) !important, so each text role sets that token to its own colour.
   The hero is not a band: its curtain fades into the PAGE (as on SFF, where the page is dark), so the title and
   everything under it are on the forum's page in its text colours. On a light page the curtain sits under a stronger
   wash of the page colour, so dark text reads over a dark photo. Same as SFF 2026 - Speaker Page.
   --------------------------------------------------------------------------------------------------------------- */
.sff26-session:not(.skin-sff *) {
  --sff26-gut: 15px; /* BSS's phone gutter (from 768px: --bss-gutter, below) */
  --sff26-max: var(--forum-content-max, var(--bss-max, 1416px));
  --sff26-muted: var(--forum-text-muted, #cfcfcf);
  --sff26-amber: var(--forum-highlight, #FCB316);
  --sff26-s1: var(--forum-surface, #1e1d1d);
  --sff26-s2: var(--forum-surface-raised, #252424);
  --sff26-rule: var(--forum-line, #333);
  --sff26-hl-text: var(--forum-highlight-text, var(--forum-highlight, #FCB316));
  --sff26-fg: var(--forum-text, #fff);
  --sff26-page: var(--forum-page, var(--forum-dark, #141414));
  --sff26-pal-amber: var(--forum-gold, var(--forum-highlight, #FCB316));
  --sff26-pal-red: var(--forum-highlight, #E53935);
  --sff26-pal-blue: var(--forum-accent, #3399FF);
  --sff26-pal-pink: var(--forum-orchid, #FF88A2);
  --sff26-pal-green: var(--forum-teal, #76C893);
  --sff26-amber-ink: var(--forum-dark, #141414); /* fallback for browsers without relative colours */
  /* the curtain's wash: SFF's (half, then two-thirds, of the page colour) on a dark page; on a light page (an edition
     that sets --forum-page; elsewhere these are invalid and the fallbacks apply) a stronger one */
  --sff26-wash-1: color-mix(in srgb, var(--forum-page) 82%, transparent);
  --sff26-wash-2: color-mix(in srgb, var(--forum-page) 90%, transparent);
  --forum-text-body: var(--sff26-muted);
  color: var(--sff26-fg);
}
@supports (color: oklch(from red l c h)) {
  .sff26-session:not(.skin-sff *) {
    /* ink on the highlight fill: white on a dark fill, a near-black on a light one (River Stone's oklch) */
    --sff26-amber-ink: oklch(from var(--sff26-amber) clamp(0.245, (0.62 - l) * 1000, 1) clamp(0, (l - 0.62) * 1000, 0.017) 248);
  }
}
@media (min-width: 768px) {
  .sff26-session:not(.skin-sff *) { --sff26-gut: var(--forum-gutter, var(--bss-gutter, 40px)); }
}
/* the curtain fills the whole fade (cover, not the full width), so its lower edge never shows through a light wash */
.sff26-session:not(.skin-sff *) .sff26-session__hero::before {
  background: linear-gradient(180deg, var(--sff26-wash-1, color-mix(in srgb, var(--sff26-page) 50%, transparent)) 0%, var(--sff26-wash-2, color-mix(in srgb, var(--sff26-page) 66%, transparent)) 45%, var(--sff26-page) 100%), var(--sff26-bg, none) center top / cover no-repeat;
}
/* the back button, the date line (a p, so the token too), the title, the headings */
.sff26-session:not(.skin-sff *) .sff26-session__back,
.sff26-session:not(.skin-sff *) .sff26-session__back:hover,
.sff26-session:not(.skin-sff *) .sff26-session__back:focus-visible,
.sff26-session:not(.skin-sff *) .sff26-session__h1,
.sff26-session:not(.skin-sff *) .sff26-session__h2 { color: var(--sff26-fg); }
.sff26-session:not(.skin-sff *) .sff26-session__when { --forum-text-body: var(--sff26-fg); color: var(--sff26-fg); }
.sff26-session:not(.skin-sff *) .sff26-session__topic { --forum-text-body: var(--sff26-muted); color: var(--sff26-muted); }
.sff26-session:not(.skin-sff *) .sff26-session__topic-a:hover,
.sff26-session:not(.skin-sff *) .sff26-session__topic-a:focus-visible { color: var(--sff26-hl-text); }
/* small fills on the page (the back button's circle, a portrait's square while it loads): raised, so they show on a light page */
.sff26-session:not(.skin-sff *) .sff26-session__back-ic,
.sff26-session:not(.skin-sff *) .sff26-session__ph,
.sff26-session:not(.skin-sff *) .sff26-session__rav { background: var(--sff26-s2); }
.sff26-session:not(.skin-sff *) .sff26-session__back:hover .sff26-session__back-ic,
.sff26-session:not(.skin-sff *) .sff26-session__back:focus-visible .sff26-session__back-ic { background: var(--sff26-amber); color: var(--sff26-amber-ink); }
.sff26-session:not(.skin-sff *) .sff26-session__dot { background: var(--forum-text-faint, #6a6a6a); }
/* the outline button (Add to calendar): the text colour, filled in it on hover */
.sff26-session:not(.skin-sff *) .cta-secondary-white { border-color: var(--sff26-fg); background-color: transparent; color: var(--sff26-fg); }
.sff26-session:not(.skin-sff *) .cta-secondary-white:hover,
.sff26-session:not(.skin-sff *) .cta-secondary-white:focus { border-color: var(--sff26-fg); background-color: var(--sff26-fg); color: var(--sff26-page); }
/* share: the icons in the text colour; the menus cards in the forum's surface */
.sff26-session:not(.skin-sff *) .sff26-session__share-l { color: var(--sff26-muted); }
.sff26-session:not(.skin-sff *) .sff26-session__ic { color: var(--sff26-fg); }
.sff26-session:not(.skin-sff *) .sff26-session__menu,
.sff26-session:not(.skin-sff *) .sff26-session__tip { background: var(--sff26-s1); box-shadow: 0 0 0 1px var(--sff26-rule), 0 30px 60px -24px rgba(0, 0, 0, .45); }
.sff26-session:not(.skin-sff *) .sff26-session__mi { color: var(--sff26-fg); }
.sff26-session:not(.skin-sff *) .sff26-session__mi:hover,
.sff26-session:not(.skin-sff *) .sff26-session__mi:focus-visible { background: var(--sff26-s2); color: var(--sff26-fg); }
.sff26-session:not(.skin-sff *) .sff26-session__hr { border-top-color: var(--sff26-rule); }
.sff26-session:not(.skin-sff *) .sff26-session__toast { background: var(--sff26-fg); color: var(--sff26-page); }
/* about: the synopsis in the body colour; the facts a card in the forum's surface */
.sff26-session:not(.skin-sff *) .sff26-session__syn-main p,
.sff26-session:not(.skin-sff *) .sff26-session__wait { --forum-text-body: var(--sff26-muted); color: var(--sff26-muted); }
.sff26-session:not(.skin-sff *) .sff26-session__syn-main a { color: var(--sff26-hl-text); }
.sff26-session:not(.skin-sff *) .sff26-session__logo { --forum-text-body: var(--sff26-muted); color: var(--sff26-muted); }
.sff26-session:not(.skin-sff *) .sff26-session__fact { border-top-color: var(--sff26-rule); }
.sff26-session:not(.skin-sff *) .sff26-session__fact dt,
.sff26-session:not(.skin-sff *) .sff26-session__fact small { color: var(--sff26-muted); }
.sff26-session:not(.skin-sff *) .sff26-session__fact dd { color: var(--sff26-fg); }
.sff26-session:not(.skin-sff *) .sff26-session__i { color: var(--forum-text-faint, #9c9c9c); }
.sff26-session:not(.skin-sff *) .sff26-session__i:hover,
.sff26-session:not(.skin-sff *) .sff26-session__ai--open .sff26-session__i { color: var(--sff26-hl-text); }
.sff26-session:not(.skin-sff *) .sff26-session__tip { color: var(--sff26-muted); }
.sff26-session:not(.skin-sff *) .sff26-session__tip b,
.sff26-session:not(.skin-sff *) .sff26-session__tip-a { color: var(--sff26-fg); }
.sff26-session:not(.skin-sff *) .sff26-session__tip-a:hover,
.sff26-session:not(.skin-sff *) .sff26-session__tip-a:focus-visible { color: var(--sff26-hl-text); }
/* the people: name and organisation in the text colour, title in the muted one, the role a pill in the raised surface */
.sff26-session:not(.skin-sff *) .sff26-session__pca,
.sff26-session:not(.skin-sff *) .sff26-session__pn { color: var(--sff26-fg); }
.sff26-session:not(.skin-sff *) a.sff26-session__pca:hover .sff26-session__pn,
.sff26-session:not(.skin-sff *) a.sff26-session__pca:focus-visible .sff26-session__pn { color: var(--sff26-hl-text); }
.sff26-session:not(.skin-sff *) .sff26-session__pt { --forum-text-body: var(--sff26-muted); color: var(--sff26-muted); }
.sff26-session:not(.skin-sff *) .sff26-session__po { --forum-text-body: var(--sff26-fg); color: var(--sff26-fg); }
.sff26-session:not(.skin-sff *) .sff26-session__role { background: var(--sff26-s2); color: var(--sff26-fg); }
/* previous / next: cards in the forum's surface */
.sff26-session:not(.skin-sff *) .sff26-session__pna,
.sff26-session:not(.skin-sff *) .sff26-session__pna:hover,
.sff26-session:not(.skin-sff *) .sff26-session__pna:focus-visible { color: var(--sff26-fg); }
.sff26-session:not(.skin-sff *) .sff26-session__pnb small,
.sff26-session:not(.skin-sff *) .sff26-session__pnb span { color: var(--sff26-muted); }
.sff26-session:not(.skin-sff *) .sff26-session__pngo,
.sff26-session:not(.skin-sff *) .sff26-session__rgo { border-color: color-mix(in srgb, var(--sff26-fg) 28%, transparent); color: var(--sff26-fg); }
.sff26-session:not(.skin-sff *) .sff26-session__pna:hover .sff26-session__pnb b,
.sff26-session:not(.skin-sff *) .sff26-session__pna:focus-visible .sff26-session__pnb b { color: var(--sff26-hl-text); }
.sff26-session:not(.skin-sff *) .sff26-session__pna:hover .sff26-session__pngo,
.sff26-session:not(.skin-sff *) .sff26-session__pna:focus-visible .sff26-session__pngo,
.sff26-session:not(.skin-sff *) .sff26-session__row:hover .sff26-session__rgo { border-color: var(--sff26-amber); background: var(--sff26-amber); color: var(--sff26-amber-ink); }
/* View all: the highlight, or the text colour where the edition keeps brand colours off text */
.sff26-session:not(.skin-sff *) .sff26-session__link,
.sff26-session:not(.skin-sff *) .sff26-session__link:hover,
.sff26-session:not(.skin-sff *) .sff26-session__link:focus-visible { color: var(--sff26-hl-text); }
/* more sessions in the theme: the agenda's rows */
.sff26-session:not(.skin-sff *) .sff26-session__rw b,
.sff26-session:not(.skin-sff *) .sff26-session__rh,
.sff26-session:not(.skin-sff *) .sff26-session__tag,
.sff26-session:not(.skin-sff *) .sff26-session__rw .sff26-session__rwp,
.sff26-session:not(.skin-sff *) .sff26-session__rw .sff26-session__rws { color: var(--sff26-fg); }
.sff26-session:not(.skin-sff *) .sff26-session__rw,
.sff26-session:not(.skin-sff *) .sff26-session__rt { --forum-text-body: var(--sff26-muted); }
.sff26-session:not(.skin-sff *) .sff26-session__rw span,
.sff26-session:not(.skin-sff *) .sff26-session__rmeta,
.sff26-session:not(.skin-sff *) .sff26-session__rt,
.sff26-session:not(.skin-sff *) .sff26-session__tag--open,
.sff26-session:not(.skin-sff *) .sff26-session__rw .sff26-session__rwp--open { color: var(--sff26-muted); }
.sff26-session:not(.skin-sff *) .sff26-session__rmeta .sff26-session__dot,
.sff26-session:not(.skin-sff *) .sff26-session__tag--open::before,
.sff26-session:not(.skin-sff *) .sff26-session__rwp--open::before { background: var(--forum-text-faint, #8d8d8d); }
.sff26-session:not(.skin-sff *) .sff26-session__row:hover .sff26-session__rha,
.sff26-session:not(.skin-sff *) .sff26-session__rha:focus-visible { color: var(--sff26-hl-text); }
.sff26-session:not(.skin-sff *) .sff26-session__rpa { color: var(--sff26-fg); }
.sff26-session:not(.skin-sff *) .sff26-session__rpn,
.sff26-session:not(.skin-sff *) .sff26-session__rpn em { color: var(--sff26-muted); }
.sff26-session:not(.skin-sff *) .sff26-session__rpn b,
.sff26-session:not(.skin-sff *) .sff26-session__rpo { color: var(--sff26-fg); }
.sff26-session:not(.skin-sff *) a.sff26-session__rpa:hover .sff26-session__rpn b,
.sff26-session:not(.skin-sff *) a.sff26-session__rpa:focus-visible .sff26-session__rpn b { color: var(--sff26-hl-text); }
/* About this session: the plus in the raised surface, filled in the highlight on hover; the synopsis in the body colour */
.sff26-session:not(.skin-sff *) .sff26-session__sum { color: var(--sff26-muted); }
.sff26-session:not(.skin-sff *) .sff26-session__sum:hover,
.sff26-session:not(.skin-sff *) .sff26-session__syn[open] .sff26-session__sum { color: var(--sff26-fg); }
.sff26-session:not(.skin-sff *) .sff26-session__pm { background: var(--sff26-s2); }
.sff26-session:not(.skin-sff *) .sff26-session__sum:hover .sff26-session__pm { background: var(--sff26-amber); color: var(--sff26-amber-ink); }
.sff26-session:not(.skin-sff *) .sff26-session__syn-b p { --forum-text-body: var(--sff26-muted); color: var(--sff26-muted); }
