:root { scroll-padding-top: 85px; }
[hidden] { display: none !important; }
.fss-header { background: rgba(0,0,0,.88); }
.fss-brand { display: inline-flex; align-items: center; gap: 10px; color: #fff; font-weight: 700; text-decoration: none; }
.fss-mobile { display: none; }
.hero__video { opacity: .62; }
.home-motion { position: absolute; bottom: 12px; right: 20px; border: 1px solid #707070; padding: 6px 10px; background: #000; color: #fff; font: inherit; font-size: 11px; cursor: pointer; }
.fss-tracks .techs__item { min-height: 64px; justify-content: center; }
.fss-title { font: 400 clamp(42px,7vw,92px)/1 var(--ff); text-transform: uppercase; }
.fss-note { margin: 16px 0 32px; color: #c5c5c5; max-width: 65ch; }
.speaker__name a { color: inherit; }
.speaker__photo img { display: block; width: 100%; aspect-ratio: 1; object-fit: cover; }
.fss-footer { display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; padding-bottom: 28px; }
@media (max-width: 1024px) {
  .fss-header .header__nav { display: none; }
  .fss-header .header__inner { width: 100%; min-height: 55px; justify-content: space-between; }
  .fss-mobile { display: block; }
  .fss-mobile[open] { position: relative; background: #000; }
  .fss-mobile summary { cursor: pointer; }
  .fss-mobile a { display: block; padding: 6px 0; color: #fff; }
}

.fss-agenda-intro { display: grid; gap: 18px; }
.fss-agenda .filters {
  display: flex; flex-wrap: wrap; gap: 16px 24px;
  margin: 36px 0 16px; padding: 18px 0;
  border-block: 1px solid #404040;
}
.fss-agenda .filters label { display: grid; gap: 6px; }
.fss-agenda select { color: #fff; background: #171717; border: 1px solid #555; padding: 10px; font: inherit; max-width: 100%; }
.fss-agenda .meta { color: #c5c5c5; font-size: 13px; }
.fss-agenda .cards {
  display: grid; gap: 1px; padding: 1px; margin-top: 18px; background: #404040;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr));
}
.fss-agenda .cards:empty { display: none; }
.fss-agenda .card { display: grid; align-content: start; gap: 10px; padding: 22px; background: #111; }
.fss-agenda .card h3 { font-size: 22px; line-height: 1.2; overflow-wrap: anywhere; }
.fss-agenda .card a { color: #fff; text-decoration: none; }
.fss-agenda .card a:hover { color: var(--accentColor); text-decoration: underline; }
.fss-agenda :focus-visible { outline: 2px solid var(--accentColor); outline-offset: 3px; }

#attendee-guide .card h3 { font-size: 22px; line-height: 1.2; }
#attendee-guide .card a { color: var(--accentColor); text-decoration: underline; }

.hero__date .fss-hero-venue { display: block; margin-top: .35em; font-size: .85em; }
.hero__date .fss-hero-city { white-space: nowrap; }
