.site-nav { position: sticky; top: 0; z-index: 30; background: rgba(255, 255, 255, .94);
  backdrop-filter: blur(6px); border-bottom: 1px solid #e5e7eb; }
.site-nav-inner { max-width: 1320px; margin: 0 auto; padding: .6rem 20px; display: flex; gap: 1.5rem; align-items: center; flex-wrap: wrap;
  font-family: 'Inter', 'Segoe UI', -apple-system, BlinkMacSystemFont, sans-serif; }
.site-brand { font-weight: 800; color: #1e293b; letter-spacing: -.01em; }
.site-brand:hover { color: #1e293b; }
.site-link { color: #64748b; border-bottom: 2px solid transparent; padding: .15rem 0; font-weight: 500; }
.site-link:hover { color: #1e293b; }
.site-link[aria-current="page"] { color: #1e293b; border-bottom-color: #2563eb; }

.paper-figure { display: block; width: 100%; height: auto; margin: 1rem auto .5rem; }
.figure-caption { color: #64748b; font-size: .95rem; text-align: center; margin-bottom: 0; }
.teaser .hero-body { padding-top: 0; }

.placeholder-box { border: 2px dashed #cbd5e1; border-radius: 10px; padding: 2.5rem 1.5rem; text-align: center; color: #94a3b8; }
.explore-text { max-width: 40rem; margin: 0 auto 1.25rem; color: #475569; }

.stat-strip { display: flex; flex-wrap: wrap; gap: .75rem; margin: 0 0 1.25rem; }
.stat { flex: 1 1 7rem; background: #fff; border: 1px solid #e5e7eb; border-radius: 10px; padding: .7rem .9rem; text-align: center; }
.stat b { display: block; font-size: 1.6rem; font-weight: 800; color: #1e293b; line-height: 1.1; }
.stat span { font-size: .85rem; color: #64748b; }

.results-caption { margin: 1.75rem 0 .6rem !important; }
.results-caption span { font-weight: 400; color: #64748b; font-size: .9rem; }
.results-scroll { overflow-x: auto; border: 1px solid #e5e7eb; border-radius: 10px; background: #fff; }
.results-table { width: 100%; border-collapse: collapse; font-size: .88rem; font-variant-numeric: tabular-nums; }
table.results-table th:not([align]), table.results-table td:not([align]) { padding: .32rem .5rem; text-align: center; border-bottom: 1px solid #eef0f3; white-space: nowrap; vertical-align: middle; }
.results-table thead th { font-weight: 600; color: #1e293b; border-bottom: 1px solid #e5e7eb; }
.results-table thead a { color: #2563eb; }
.results-table thead a:hover { text-decoration: underline; }
.results-table tr.sub th { font-size: .75rem; font-weight: 500; color: #64748b; }
table.results-table th.scen { text-align: left; font-weight: 500; color: #1e293b; padding-left: .8rem; }
table.results-table tr.rgroup th { text-align: left; font-size: .72rem; text-transform: uppercase; letter-spacing: .05em; color: #64748b; background: #f8fafc; padding: .4rem .8rem .25rem; }
.results-table td.na { color: #94a3b8; }
.results-table td b { font-weight: 700; }
.results-table.wide { font-size: .82rem; }
table.results-table.wide th:not([align]), table.results-table.wide td:not([align]) { padding: .3rem .38rem; }
table.results-table td.pass, table.results-table th.pair { border-left: 1px solid #e5e7eb; }
.fam-tabs { display: flex; gap: .5rem; margin-bottom: .6rem; flex-wrap: wrap; }
button.button-04 { border: 0; background: none; font: inherit; cursor: pointer; }
.button-04.fam-tab { font-size: .92rem; padding: 8px 20px; }
.fam-tab[aria-selected="true"]::after { transform: translateY(0%); }

.button-04 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  color: #fff;
  position: relative;
  padding: 10px 28px;
  z-index: 3;
  overflow: hidden;
  border-radius: 4px;
  font-weight: 500;
  line-height: 1.5;
  text-decoration: none;
}
.button-04:hover, .button-04:focus { color: #fff; }
.button-04 .icon, .button-04 .span-text { color: #fff; }
.button-04::before {
  content: "";
  position: absolute;
  inset: 0;
  background-color: rgb(17, 16, 15);
  border-radius: 6px;
  transform-origin: 50% 90%;
  transition: all .5s cubic-bezier(0.165, 0.84, 0.44, 1);
  z-index: 1;
}
.button-04::after {
  content: "";
  position: absolute;
  inset: 0;
  background-color: #2563eb;
  border-radius: 6px;
  transition: all .5s cubic-bezier(0.165, 0.84, 0.44, 1);
  z-index: 2;
  transform: translateY(100%);
}
.button-04:active { scale: .99; }
.button-04 .icon { position: relative; z-index: 4; width: auto; height: auto; }
.button-04 .span-wrapper { overflow: hidden; white-space: nowrap; position: relative; z-index: 4; }
.button-04 .span-text {
  display: inline-block;
  position: relative;
  text-shadow: 0 -2em 0 currentColor;
  transition: transform .3s cubic-bezier(0.165, 0.84, 0.44, 1);
}
.button-04:hover .span-text, .button-04:focus-visible .span-text { transform: translateY(2em); }
.button-04:hover::before, .button-04:focus-visible::before { scale: .9; }
.button-04:hover::after, .button-04:focus-visible::after { transform: translateY(0%); }
.button-04.is-large { padding: 14px 34px; font-size: 1.15rem; }
@media (prefers-reduced-motion: reduce) {
  .button-04::before, .button-04::after, .button-04 .span-text { transition: none; }
}

/* hero: benchmark name above the paper title, then a one-line takeaway */
.publication-title .brand-name { display: block; font-size: 4.5rem; letter-spacing: -.02em; line-height: 1; }
.brand-a { color: #3D6DB5; }
.brand-b { color: #C46A35; }
.publication-title .brand-sub { display: block; margin-top: 1rem; font-size: 2.1rem; font-weight: 700; color: #1e293b; line-height: 1.2; }
.tagline { max-width: 50rem; margin: 1.75rem auto 0; font-size: 1.3rem; font-weight: 500; line-height: 1.5; color: #1e293b; }
@media (max-width: 768px) {
  .publication-title .brand-name { font-size: 3.2rem; }
  .publication-title .brand-sub { font-size: 1.5rem; }
  .tagline { font-size: 1.1rem; }
}

/* every block shares the same left and right edges: body text and captions are justified,
   and the teaser, abstract, explore text and footer use the full column width */
.content.has-text-justified { color: #334155; hyphens: auto; }
.figure-caption { text-align: justify; text-align-last: center; hyphens: auto; }
.figure-caption.parts { text-align-last: left; }  /* Left:/Right:, Top:/Bottom: each start at the left edge */
.explore-text { max-width: none; text-align: justify; text-align-last: center; }
@media (min-width: 1024px) { .teaser .hero-body { padding-left: 0; padding-right: 0; } }

/* section headings: centered everywhere, same color, underline in the A/B figure colors */
.title.is-3, .hero.is-light .title.is-3 { text-align: center; color: #1e293b !important; }
.title.is-3::after { background: linear-gradient(90deg, #3D6DB5 50%, #C46A35 50%); }

/* figures open full size on click */
.paper-figure { cursor: zoom-in; }
.lightbox { position: fixed; inset: 0; z-index: 100; display: none; align-items: center; justify-content: center;
  padding: 2vw; background: rgba(15, 23, 42, .85); cursor: zoom-out; }
.lightbox.open { display: flex; }
.lightbox img { max-width: 96vw; max-height: 94vh; background: #fff; border-radius: 8px; }

/* family toggle: the tab not in view is outlined, so the selected one reads as selected */
.fam-tab[aria-selected="false"]::before { background-color: #fff; box-shadow: inset 0 0 0 1.5px #1e293b; }
.fam-tab[aria-selected="false"] .span-text { color: #1e293b; }
.fam-tab[aria-selected="false"]:hover .span-text { color: #fff; }

.bibtex-box { position: relative; }
.bibtex-box pre { padding-right: 6.5rem !important; }
.bibtex-box pre, .bibtex-box code { white-space: pre-wrap; overflow-wrap: anywhere; }
.bibtex-box .copy-bibtex-btn { position: absolute; top: .75rem; right: .75rem; padding: .45rem .8rem; }
