/* Final public-ready polish: title hierarchy, abstract, resources, citation, and deployment metadata. */

/* Keep the memorable tagline dominant; make the formal paper title clearly secondary. */
.hero-tagline {
  max-width: 760px;
  font-size: clamp(3.6rem, 4.55vw, 4.95rem);
  line-height: .98;
}
.paper-title-card {
  max-width: 730px !important;
  margin-top: 22px !important;
  padding: 15px 20px 16px 23px;
  gap: 5px !important;
  border-left-width: 3px;
  box-shadow: 0 12px 30px rgba(55,83,120,.05);
}
.paper-title-text {
  font-size: clamp(1.22rem, 1.52vw, 1.62rem);
  line-height: 1.28;
  font-weight: 590;
}
.hero-lead { margin-top: 20px !important; }

/* Abstract uses open layout rather than another card. */
.abstract-section {
  padding-top: 86px;
  padding-bottom: 86px;
  background: linear-gradient(180deg, #fbfcff 0%, #f7f9fd 100%);
}
.abstract-layout {
  display: grid;
  grid-template-columns: minmax(280px, .82fr) minmax(0, 1.18fr);
  gap: clamp(48px, 6vw, 96px);
  align-items: start;
}
.abstract-heading h2 {
  max-width: 560px;
  margin-top: 10px;
  color: #273d59;
  font-size: clamp(2.25rem, 3.5vw, 4rem);
  line-height: 1.06;
  letter-spacing: -.04em;
}
.abstract-copy {
  padding-top: 28px;
  border-top: 1px solid rgba(113,137,168,.24);
}
.abstract-copy p {
  margin: 0;
  color: #5d7088;
  font-size: clamp(1.02rem, 1.22vw, 1.18rem);
  line-height: 1.82;
}
.abstract-copy p + p { margin-top: 18px; }

/* Resource + citation section. */
.resources-section {
  padding-top: 84px;
  padding-bottom: 74px;
}
.resource-section-heading {
  max-width: 980px;
  margin-bottom: 34px;
}
.resource-section-heading h2 {
  margin-top: 8px;
  color: #283e5a;
  font-size: clamp(2.7rem, 4.4vw, 5rem);
  line-height: 1;
  letter-spacing: -.045em;
}
.resource-section-heading > p:last-child {
  max-width: 720px;
  margin-top: 16px;
  color: #6b7d94;
  font-size: 1.02rem;
  line-height: 1.7;
}
.resource-grid-final {
  display: grid;
  grid-template-columns: minmax(360px, .82fr) minmax(0, 1.18fr);
  gap: 30px;
  align-items: start;
}
.resource-copy h3,
.citation-card h3 {
  margin: 0;
  color: #344b67;
  font-size: 1.35rem;
}
.resource-actions-final {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 18px;
}
.resource-actions-final a {
  min-height: 86px;
  padding: 16px 18px;
  border: 1px solid rgba(129,149,176,.22);
  border-radius: 15px;
  background: rgba(255,255,255,.66);
  box-shadow: none;
}
.resource-actions-final a:hover {
  transform: translateY(-2px);
  border-color: rgba(82,119,190,.35);
  background: rgba(255,255,255,.92);
}
.citation-card {
  padding: 24px;
  border: 1px solid rgba(129,149,176,.22);
  border-radius: 22px;
  background: rgba(255,255,255,.78);
  box-shadow: 0 20px 48px rgba(54,77,108,.08);
}
.citation-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 18px;
}
.citation-eyebrow {
  display: block;
  margin-bottom: 5px;
  color: #7563c7;
  font-family: "IBM Plex Mono", ui-monospace, monospace;
  font-size: .67rem;
  font-weight: 750;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.copy-bibtex-button {
  flex: 0 0 auto;
  padding: 10px 14px;
  border: 1px solid rgba(92,111,153,.22);
  border-radius: 999px;
  color: #3d536f;
  background: #f8faff;
  font: inherit;
  font-size: .82rem;
  font-weight: 700;
  cursor: pointer;
}
.copy-bibtex-button:hover,
.copy-bibtex-button:focus-visible {
  border-color: rgba(67,103,182,.45);
  background: #eef3ff;
  outline: none;
}
.citation-card pre {
  max-width: 100%;
  margin: 0;
  padding: 18px;
  overflow: auto;
  border: 1px solid rgba(130,149,176,.16);
  border-radius: 15px;
  color: #3b506b;
  background: #f5f7fb;
  font-family: "IBM Plex Mono", ui-monospace, SFMono-Regular, Consolas, monospace;
  font-size: .76rem;
  line-height: 1.65;
  white-space: pre-wrap;
  word-break: break-word;
}
.citation-note {
  margin: 14px 0 0;
  color: #718097;
  font-size: .83rem;
  line-height: 1.55;
}
.copy-status {
  min-height: 1.2em;
  margin: 8px 0 0;
  color: #2c8d72;
  font-size: .8rem;
  font-weight: 650;
}
.site-footer a { color: inherit; }

@media (max-width: 1100px) {
  .abstract-layout,
  .resource-grid-final { grid-template-columns: 1fr; gap: 34px; }
  .abstract-copy { padding-top: 22px; }
  .hero-tagline { font-size: clamp(3.1rem, 8.6vw, 4.65rem); }
}
@media (max-width: 700px) {
  .abstract-section { padding-top: 66px; padding-bottom: 66px; }
  .abstract-heading h2 { font-size: clamp(2.15rem, 10vw, 3rem); }
  .resource-actions-final { grid-template-columns: 1fr; }
  .citation-card { padding: 18px; border-radius: 18px; }
  .citation-card-head { align-items: flex-start; flex-direction: column; }
  .citation-card pre { padding: 14px; font-size: .68rem; }
  .resource-section-heading h2 { font-size: clamp(2.6rem, 12vw, 3.8rem); }
  .paper-title-card { padding: 14px 16px 15px 19px; }
}

/* ========================================================================
   FINAL PAPER TITLE CARD EXPANSION
   Uses the available left-column width and keeps the formal title in three
   balanced desktop lines without splitting “Uncertainty-Aware”.
   ======================================================================== */
.paper-title-card {
  width: 100%;
  max-width: 860px !important;
}
.paper-title-text {
  width: 100%;
}
.paper-title-row {
  display: block;
}

@media (min-width: 1321px) {
  .hero .container.hero-grid {
    width: min(calc(100% - 80px), 1740px);
    grid-template-columns: minmax(0, 860px) minmax(0, 1fr);
    column-gap: clamp(42px, 3vw, 58px);
  }
  .hero-copy,
  .paper-title,
  .authors,
  .affiliations {
    max-width: 860px;
  }
  .paper-title-card {
    max-width: 860px !important;
  }
  .paper-title-text {
    font-size: clamp(1.27rem, 1.48vw, 1.62rem);
    line-height: 1.31;
  }
}

@media (min-width: 1201px) and (max-width: 1320px) {
  .paper-title-card {
    max-width: 820px !important;
  }
  .paper-title-row {
    display: inline;
  }
  .paper-title-row + .paper-title-row::before {
    content: " ";
  }
}

@media (max-width: 1200px) {
  .paper-title-row {
    display: inline;
  }
  .paper-title-row + .paper-title-row::before {
    content: " ";
  }
}


/* ========================================================================
   FINAL PAPER TITLE CARD BALANCE
   Let the formal title use the available width naturally, while keeping the
   card shorter than the full copy column. This removes the forced early line
   breaks and the empty right side seen in the previous version.
   ======================================================================== */
.paper-title-card {
  width: min(100%, 810px) !important;
  max-width: 810px !important;
}
.paper-title-text {
  display: block;
  width: 100%;
  max-width: none;
  text-wrap: balance;
}
.paper-title-row {
  display: inline !important;
}
.paper-title-row + .paper-title-row::before {
  content: " ";
}

@media (min-width: 1321px) {
  .hero .container.hero-grid {
    grid-template-columns: minmax(0, 840px) minmax(0, 1fr);
  }
  .hero-copy,
  .paper-title,
  .authors,
  .affiliations {
    max-width: 840px;
  }
  .paper-title-card {
    width: min(100%, 810px) !important;
    max-width: 810px !important;
  }
  .paper-title-text {
    font-size: clamp(1.27rem, 1.45vw, 1.58rem);
    line-height: 1.30;
  }
}

@media (min-width: 901px) and (max-width: 1320px) {
  .paper-title-card {
    width: min(100%, 780px) !important;
    max-width: 780px !important;
  }
}

@media (max-width: 900px) {
  .paper-title-card {
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* ========================================================================
   FINAL FORMAL TITLE STRIP
   Keeps the formal paper title academically visible without competing with
   the hero tagline. The title remains the page's semantic H1.
   ======================================================================== */
.paper-title-card {
  width: fit-content !important;
  max-width: 820px !important;
  margin-top: 22px !important;
  padding: 15px 21px 16px 20px !important;
  gap: 6px !important;
  border-top: 1px solid rgba(102, 136, 181, .12) !important;
  border-right: 1px solid rgba(102, 136, 181, .12) !important;
  border-bottom: 1px solid rgba(102, 136, 181, .12) !important;
  border-left: 2px solid #4f83ff !important;
  border-radius: 0 15px 15px 0 !important;
  background: linear-gradient(100deg, rgba(242, 247, 255, .46), rgba(255, 255, 255, .22)) !important;
  box-shadow: none !important;
  backdrop-filter: blur(7px);
  -webkit-backdrop-filter: blur(7px);
}
.paper-title-label {
  margin-bottom: 0;
  color: #6380a5;
  font-size: .63rem;
  letter-spacing: .13em;
}
.paper-title-text {
  max-width: 785px;
  color: #385371;
  font-size: clamp(1.30rem, 1.46vw, 1.58rem) !important;
  line-height: 1.28 !important;
  font-weight: 570;
  letter-spacing: -.016em;
  text-wrap: balance;
}
@media (min-width: 901px) and (max-width: 1320px) {
  .paper-title-card {
    width: fit-content !important;
    max-width: min(100%, 760px) !important;
  }
  .paper-title-text {
    max-width: 725px;
  }
}
@media (max-width: 900px) {
  .paper-title-card {
    width: 100% !important;
    max-width: 100% !important;
    padding: 14px 17px 15px 17px !important;
  }
  .paper-title-text {
    max-width: none;
    font-size: clamp(1.14rem, 4.8vw, 1.42rem) !important;
  }
}

/* ========================================================================
   FINAL INTEGRATED PAPER TITLE STRIP
   Removes the floating-card feeling and lets the formal title blend into
   the hero while remaining the page's semantic H1.
   ======================================================================== */
.paper-title-card {
  width: fit-content !important;
  max-width: 880px !important;
  margin-top: 22px !important;
  padding: 12px 18px 14px 22px !important;
  gap: 6px !important;
  border: 0 !important;
  border-left: 2px solid #4f83ff !important;
  border-radius: 0 !important;
  background: linear-gradient(
    90deg,
    rgba(224, 235, 255, .52) 0%,
    rgba(239, 245, 255, .20) 66%,
    rgba(239, 245, 255, 0) 100%
  ) !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
.paper-title-label {
  margin: 0 0 6px !important;
  color: #6380a5 !important;
  font-size: .63rem !important;
  letter-spacing: .14em !important;
}
.paper-title-text {
  display: block;
  max-width: 820px !important;
  margin: 0 !important;
  color: #385371 !important;
  font-size: clamp(1.4rem, 1.65vw, 1.82rem) !important;
  line-height: 1.25 !important;
  font-weight: 570 !important;
  letter-spacing: -.016em !important;
  text-wrap: balance;
}
@media (min-width: 901px) and (max-width: 1320px) {
  .paper-title-card {
    max-width: min(100%, 790px) !important;
    padding-right: 14px !important;
  }
  .paper-title-text {
    max-width: 750px !important;
  }
}
@media (max-width: 900px) {
  .paper-title-card {
    width: 100% !important;
    max-width: 100% !important;
    padding: 12px 12px 14px 17px !important;
    background: linear-gradient(
      90deg,
      rgba(224, 235, 255, .50) 0%,
      rgba(239, 245, 255, .14) 82%,
      rgba(239, 245, 255, 0) 100%
    ) !important;
  }
  .paper-title-text {
    max-width: none !important;
    font-size: clamp(1.14rem, 4.8vw, 1.42rem) !important;
  }
}


/* ========================================================================
   PUBLIC RELEASE FINAL REFINEMENTS
   Academic hierarchy, semantic cards, and figure placement.
   ======================================================================== */
@media (min-width: 1101px) {
  .hero-tagline {
    max-width: 745px;
    font-size: clamp(3.45rem, 4.35vw, 4.72rem);
  }
  .paper-title-text {
    max-width: 830px !important;
    font-size: clamp(1.46rem, 1.72vw, 1.9rem) !important;
    line-height: 1.24 !important;
  }
}

/* Remove decorative numbering while keeping each method concept distinct. */
.compact-method-card {
  min-height: 320px;
}
.compact-method-copy h3 {
  max-width: 300px;
}

/* A single paper figure should read as a focused full-width figure, not half a grid. */
.paper-figures-single {
  grid-template-columns: minmax(0, 1fr) !important;
  max-width: 1180px;
}
.paper-figures-single .paper-figure-card > img {
  height: auto;
  max-height: 590px;
}
.benchmark-paper-figure {
  margin-top: 34px;
  margin-bottom: 26px;
}

/* Ablation cards are semantic summaries rather than numbered steps. */
.ablation-head {
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 0 !important;
}

@media (max-width: 900px) {
  .paper-figures-single {
    max-width: 100%;
  }
  .benchmark-paper-figure {
    margin-top: 26px;
    margin-bottom: 20px;
  }
}

/* ========================================================================
   FINAL ABSTRACT COLOR REFINEMENT
   Adds a restrained blue-violet atmosphere while preserving the open,
   publication-style layout and strong reading contrast.
   ======================================================================== */
.abstract-section {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background:
    radial-gradient(circle at 10% 18%, rgba(111, 91, 211, .15) 0, rgba(111, 91, 211, 0) 34%),
    radial-gradient(circle at 88% 72%, rgba(60, 132, 246, .12) 0, rgba(60, 132, 246, 0) 36%),
    linear-gradient(135deg, #f8f6ff 0%, #f7fbff 52%, #fffaf5 100%);
  border-top: 1px solid rgba(106, 91, 201, .08);
  border-bottom: 1px solid rgba(73, 126, 202, .08);
}
.abstract-section::before,
.abstract-section::after {
  content: "";
  position: absolute;
  z-index: -1;
  pointer-events: none;
  border-radius: 999px;
  filter: blur(2px);
}
.abstract-section::before {
  width: 330px;
  height: 330px;
  left: -190px;
  top: 38px;
  background: radial-gradient(circle, rgba(119, 92, 219, .12), rgba(119, 92, 219, 0) 70%);
}
.abstract-section::after {
  width: 420px;
  height: 420px;
  right: -240px;
  bottom: -180px;
  background: radial-gradient(circle, rgba(53, 140, 244, .10), rgba(53, 140, 244, 0) 72%);
}
.abstract-heading .kicker {
  color: #6b5bc7;
}
.abstract-heading h2 {
  background: linear-gradient(128deg, #253b58 0%, #355a92 52%, #7057c9 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  text-shadow: 0 12px 32px rgba(70, 87, 139, .08);
}
.abstract-copy {
  position: relative;
  border-top: 0;
}
.abstract-copy::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, #735ed4 0%, #4c8ff1 44%, rgba(76, 143, 241, 0) 100%);
}
.abstract-copy p:first-child {
  color: #4b6381;
}
.abstract-copy p:last-child {
  color: #5e708a;
}
@media (max-width: 700px) {
  .abstract-section::before { width: 230px; height: 230px; left: -150px; }
  .abstract-section::after { width: 280px; height: 280px; right: -180px; bottom: -100px; }
}
