
:root {--text:#22262a;--muted:#636c73;--line:#dfe2e3;--ink:#182125;--back:#fff;--soft:#f7f8f8;--content:1120px;}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:94px}body{margin:0;background:var(--back);color:var(--text);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased}
a{color:inherit}a:focus-visible{outline:2px solid #285a76;outline-offset:4px}
.wrap{width:min(calc(100% - 52px),var(--content));margin:auto}.small{font-size:.83rem}.muted{color:var(--muted)}
.topbar{border-bottom:1px solid var(--line);background:#fff}.topbar-inner{min-height:74px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{font-weight:700;font-size:1rem;letter-spacing:-.03em;text-decoration:none;white-space:nowrap}.brand small{font-size:.72rem;color:var(--muted);margin-left:8px;font-weight:400;letter-spacing:0}.nav{display:flex;align-items:center;flex-wrap:wrap;gap:26px}.nav a{font-size:.87rem;color:#49545b;text-decoration:none}.nav a:hover,.footer a:hover,.source-link:hover{color:#0b4d72;text-decoration:underline;text-underline-offset:4px}
.hero{padding:70px 0 32px}.eyebrow{font-size:.75rem;text-transform:uppercase;letter-spacing:.14em;color:var(--muted);font-weight:650;margin:0 0 18px}.hero h1{max-width:1040px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.2rem,4.1vw,3.55rem);line-height:1.18;letter-spacing:-.035em;font-weight:500;margin:0 0 20px;color:var(--ink)}.author{margin:0 0 27px;color:#49545b;font-size:.97rem}.actions{display:flex;gap:10px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-size:.9rem;font-weight:600;padding:11px 18px;border:1px solid #2d373d;border-radius:5px;line-height:1.45}.button.dark{background:#253139;color:#fff}.button.ghost{background:#fff}.button:hover{box-shadow:0 1px 8px rgba(0,0,0,.1)}
.section{padding:60px 0;border-top:1px solid var(--line)}h2{font-family:Georgia,"Times New Roman",serif;font-weight:500;letter-spacing:-.02em;font-size:clamp(1.7rem,3vw,2.3rem);line-height:1.25;margin:0 0 20px}.section-intro{max-width:860px}.section-label{font-size:.74rem;font-weight:650;text-transform:uppercase;letter-spacing:.13em;color:var(--muted);margin:0 0 12px}.abstract{max-width:900px;font-size:1.03rem;line-height:1.91;margin:0;overflow-wrap:anywhere}.method{max-width:900px;font-size:1.02rem;line-height:1.85;margin:0}
.hero-figure{margin:47px 0 12px}.figure-entry{margin:0}.figure-shell{border:1px solid #e3e6e8;background:#fff;padding:16px;display:block;border-radius:5px}.figure-shell img{display:block;width:100%;height:auto;object-fit:contain}.figure-shell:hover{border-color:#9ba5a9}.figcaption{font-size:.88rem;color:#5e666b;max-width:970px;line-height:1.65;margin:13px 2px 0}.figcaption strong{color:#2a3439;font-weight:650}.source-link{display:inline-block;font-weight:600;font-size:.82rem;margin-top:11px;text-decoration:none;border-bottom:1px solid #aab2b6;line-height:1.35}.figure-head{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;justify-content:space-between;margin:0 0 16px}.figure-head h3{font-family:Georgia,"Times New Roman",serif;font-size:1.55rem;font-weight:500;letter-spacing:-.016em;line-height:1.3;margin:0}.figure-id{font-size:.73rem;letter-spacing:.11em;text-transform:uppercase;color:#606b71;font-weight:650}
.figures{padding-top:60px}.figure-entry{padding:29px 0 51px;border-bottom:1px solid var(--line)}.figure-entry:last-child{border-bottom:0;padding-bottom:0}.figure-row{display:grid;grid-template-columns:1fr 1fr;gap:25px;align-items:start}.figure-row .figure-shell{padding:10px}.figure-row .figure-head h3{font-size:1.22rem}.figure-row .figcaption{font-size:.86rem}.preview-hint{color:#777;font-size:.83rem;margin:8px 0 0}
.paper-strip{background:var(--soft);border-block:1px solid var(--line);padding:54px 0}.paper-strip-inner{display:flex;justify-content:space-between;align-items:center;gap:34px;flex-wrap:wrap}.paper-strip h2{margin:0 0 10px}.paper-strip p{margin:0;color:#596269}.paper-actions{display:flex;gap:10px;flex-wrap:wrap}.footer{padding:38px 0 55px;color:#666f73;font-size:.84rem}.footer-inner{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.footer a{text-decoration:none}.sep{color:#b8bdc1;margin:0 7px}
@media(max-width:760px){.wrap{width:min(calc(100% - 30px),var(--content))}.topbar-inner{padding:15px 0;align-items:flex-start;display:block}.brand small{display:none}.nav{margin-top:10px;gap:13px 20px}.nav a{font-size:.82rem}.hero{padding-top:43px}.hero-figure{margin-top:34px}.figure-shell{padding:7px}.section{padding:42px 0}.figure-row{grid-template-columns:1fr;gap:48px}.figures{padding-top:42px}.figures .figure-entry{padding:26px 0 40px}.abstract{font-size:.98rem;line-height:1.82}.method{font-size:.98rem}.paper-strip{padding:43px 0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Project-site update: centered paper information and publication placeholders. */
.hero .wrap {text-align:center}
.hero h1 {margin-inline:auto}
.hero .actions {justify-content:center}
#abstract .section-label, #abstract h2 {text-align:center}
#abstract .abstract {margin-inline:auto;text-align:center}
.button.disabled {background:#f6f7f7;color:#717a80;border-color:#dfe2e3;cursor:default;box-shadow:none;flex-direction:column;gap:2px}
.button.disabled .soon {font-size:.70rem;font-weight:400;line-height:1.3;color:#6e777c}

/* Minor academic-site refinements (layout only; no figure modifications). */
.hero { padding-bottom: 14px; }
#abstract { border-top: 0; padding-top: 35px; }
#abstract .abstract { max-width: 790px; margin-inline: auto; line-height: 1.83; }
#abstract .hero-figure { margin-top: 52px; }
@media (max-width: 760px) {
  .hero { padding-bottom: 8px; }
  #abstract { padding-top: 25px; }
  #abstract .abstract { line-height: 1.78; }
}
/* Abstract: justified text, matching figure width */
#abstract .abstract {
    width: 100%;
    max-width: none;
    margin-inline: 0;
    text-align: justify;
    text-align-last: left;
}


/* ============================================================
   Publication metadata
   ============================================================ */

.publication-meta {
  margin: 0.65rem 0 1.45rem;
  text-align: center;
  color: #687078;
  font-size: 0.93rem;
  line-height: 1.6;
}

.publication-meta .meta-sep {
  margin: 0 0.55rem;
  color: #a4a9ad;
}

.publication-meta a {
  color: inherit;
  text-decoration: none;
  border-bottom: 1px solid #c9cccf;
  transition: color 120ms ease, border-color 120ms ease;
}

.publication-meta a:hover,
.publication-meta a:focus-visible {
  color: #111;
  border-bottom-color: #111;
}


/* ============================================================
   Research-summary strip
   ============================================================ */

.result-strip {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  width: 100%;
  margin: 0 auto 3rem;
  padding: 1.35rem 0;
  border-top: 1px solid #dedede;
  border-bottom: 1px solid #dedede;
}

.result-strip-item {
  text-align: center;
  padding: 0.2rem 1rem;
}

.result-strip-item + .result-strip-item {
  border-left: 1px solid #dedede;
}

.result-strip strong {
  display: block;
  margin-bottom: 0.18rem;
  color: #171717;
  font-size: 1.5rem;
  font-weight: 600;
  letter-spacing: -0.02em;
}

.result-strip span {
  display: block;
  color: #70777c;
  font-size: 0.84rem;
  line-height: 1.4;
}


/* ============================================================
   Copy-citation button
   ============================================================ */

button.button {
  font: inherit;
}

.citation-copy {
  cursor: pointer;
}


/* ============================================================
   Scientific figure lightbox
   ============================================================ */

.figure-lightbox {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 2.5rem;
  background: rgba(12, 14, 16, 0.94);
}

.figure-lightbox.open {
  display: flex;
}

.figure-lightbox-inner {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  max-width: 1500px;
  max-height: 95vh;
}

.figure-lightbox img {
  display: block;
  max-width: 100%;
  max-height: 85vh;
  object-fit: contain;
  background: #fff;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.35);
}

.figure-lightbox-close {
  position: absolute;
  top: -2.1rem;
  right: 0;
  border: 0;
  background: transparent;
  color: #fff;
  font-family: inherit;
  font-size: 2rem;
  line-height: 1;
  cursor: pointer;
}

.figure-lightbox-caption {
  margin-top: 0.9rem;
  color: rgba(255, 255, 255, 0.82);
  font-size: 0.85rem;
  text-align: center;
}


/* ============================================================
   Mobile
   ============================================================ */

@media (max-width: 700px) {

  .publication-meta .meta-sep {
    margin: 0 0.3rem;
  }

  .result-strip {
    grid-template-columns: 1fr;
  }

  .result-strip-item {
    padding: 0.85rem 0.5rem;
  }

  .result-strip-item + .result-strip-item {
    border-left: 0;
    border-top: 1px solid #ececec;
  }

  .figure-lightbox {
    padding: 1rem;
  }

  .figure-lightbox-close {
    top: -2.2rem;
  }
}


/* ============================================================
   Accessibility
   ============================================================ */

@media (prefers-reduced-motion: reduce) {

  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}