:root {
  --ink: #13212c;
  --muted: #526474;
  --line: #d9e2e8;
  --paper: #f4f8fa;
  --panel: #ffffff;
  --navy: #173f5f;
  --blue: #246b91;
  --teal: #2b8a82;
}

html { scroll-behavior: smooth; scrollbar-gutter: stable both-edges; }
body { background: #fff; color: var(--ink); font-family: "Noto Sans", sans-serif; }
a { color: var(--blue); }
.site-hero {
  background:
    radial-gradient(circle at 10% 18%, rgba(43, 138, 130, .16) 0 5px, transparent 6px),
    radial-gradient(circle at 88% 24%, rgba(214, 155, 54, .20) 0 7px, transparent 8px),
    radial-gradient(circle at 82% 82%, rgba(36, 107, 145, .14) 0 4px, transparent 5px),
    linear-gradient(180deg, #f4f9fb, #fff);
  border-bottom: 1px solid var(--line);
}
.hero-body { padding: 5rem 1.5rem 4.5rem; }
.venue, .section-eyebrow {
  color: var(--teal); font-size: 1.05rem; font-weight: 700;
  letter-spacing: .1em; line-height: 1.3; text-transform: uppercase;
}
.venue { margin-bottom: 1rem; }
.publication-title {
  color: var(--ink); font-family: "Google Sans", "Noto Sans", sans-serif;
  font-size: clamp(2rem, 4.4vw, 3.5rem); letter-spacing: -.025em;
  line-height: 1.12; margin: 0 auto 1.1rem !important; max-width: 1180px;
}
.title-divider {
  background: var(--teal); border-radius: 999px; height: 3px;
  margin: 0 auto 1.35rem; width: 84px;
}
.publication-authors { color: var(--ink); font-size: 1.2rem; line-height: 1.8; }
.author-block { display: inline-block; margin-right: .15rem; }
.affiliation { color: var(--muted); margin-top: .35rem; }
.publication-links { margin-top: 1.5rem; }
.publication-links .button { margin: .25rem; min-width: 6.5rem; }
.coming-soon { cursor: default; opacity: .62; }
.button.is-tic { background: var(--navy); border-color: var(--navy); color: #fff; }
.button.is-tic:hover, .button.is-tic:focus {
  background: #0f304a; border-color: #0f304a; color: #fff;
}
.section-tic { padding: 4.5rem 1.5rem; }
.section-tic.is-soft {
  background: var(--paper); border-bottom: 1px solid var(--line);
  border-top: 1px solid var(--line);
}
.section-eyebrow { margin-bottom: .55rem; }
.section-title {
  color: var(--ink); font-family: "Google Sans", "Noto Sans", sans-serif;
  font-size: clamp(1.85rem, 4vw, 2.5rem); line-height: 1.15; margin-bottom: 1.5rem;
}
.section-lede {
  color: var(--muted); font-size: 1.05rem; line-height: 1.7;
  margin: -.45rem 0 1.75rem; width: 100%;
}
.video-shell {
  background: #071017; border: 1px solid #203747; border-radius: 12px;
  box-shadow: 0 24px 65px rgba(19, 33, 44, .18);
  margin: 1.75rem auto 0; max-width: 1120px; overflow: hidden;
}
.video-shell video { display: block; height: auto; width: 100%; }
.abstract-text {
  color: #344957; font-size: 1.05rem; line-height: 1.75; text-align: justify;
}
.method-comparison {
  border-bottom: 1px solid var(--line); border-top: 1px solid var(--line);
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 1.75rem;
}
.method-block { padding: 1.35rem 1.5rem 1.35rem 0; }
.method-block + .method-block {
  border-left: 1px solid var(--line); padding-left: 1.5rem;
}
.method-block h3 { font-size: 1.05rem; font-weight: 700; margin-bottom: .55rem; }
.method-block p { color: var(--muted); font-size: .95rem; line-height: 1.6; }
.key-findings {
  background: #fff; border-left: 3px solid var(--teal);
  margin: 1.25rem 0 2rem; padding: 1rem 1.25rem 1rem 2.5rem;
}
.key-findings li { color: var(--muted); line-height: 1.6; }
.key-findings li + li { margin-top: .45rem; }
.key-findings strong { color: var(--ink); }
.result-figure { margin: 2rem 0 0; }
.result-figure img {
  background: #fff; border: 1px solid var(--line); border-radius: 10px;
  display: block; height: auto; width: 100%;
}
.result-figure figcaption {
  color: var(--muted); font-size: .93rem; line-height: 1.55; margin-top: .75rem;
}
.result-heading {
  color: var(--ink); font-family: "Google Sans", "Noto Sans", sans-serif;
  font-size: 1.5rem; font-weight: 600; line-height: 1.25; margin-bottom: .65rem;
}
.result-copy { color: var(--muted); line-height: 1.7; width: 100%; }
.result-divider { border-top: 1px solid var(--line); margin: 3.25rem 0; }
pre {
  background: #eaf0f3; border: 1px solid var(--line); border-radius: 10px;
  color: #243946; overflow-x: auto; padding: 1.25rem; white-space: pre-wrap;
}
.paper-heading {
  align-items: center; display: flex; gap: 1rem; justify-content: space-between;
}
.paper-frame { border: 1px solid var(--line); border-radius: 10px; min-height: 680px; width: 100%; }
.footer { background: #eaf0f3; color: var(--muted); padding: 2.5rem 1.5rem; }

@media screen and (max-width: 768px) {
  .hero-body { padding: 3.5rem 1.1rem 3rem; }
  .section-tic { padding: 3.25rem 1rem; }
  .method-comparison { grid-template-columns: 1fr; }
  .method-block { padding: 1.2rem 0; }
  .method-block + .method-block {
    border-left: 0; border-top: 1px solid var(--line); padding-left: 0;
  }
  .abstract-text { text-align: left; }
  .paper-heading { align-items: flex-start; flex-direction: column; margin-bottom: 1rem; }
  .paper-frame { min-height: 480px; }
}
