/* Project overrides. The original template styles are retained in template.css. */
:root { --primary-color: #176c73; --primary-hover: #10575d; --text-primary: #1e2c37; --text-secondary: #60727d; --border-color: #dce5e7; --background-secondary: #f5f8f8; }
html { scroll-padding-top: 88px; }
body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif; }
[hidden] { display: none !important; }
a { color: var(--primary-color); }
a:hover { color: var(--primary-hover); }
button, select { font: inherit; }
button, a, select { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 3px solid #359ca6; outline-offset: 4px; }
.page-width { width: min(1120px, calc(100% - 48px)); margin: 0 auto; }
.text-width { width: min(800px, calc(100% - 48px)); margin: 0 auto; }
.project-nav { background: rgba(255,255,255,.97); border-bottom: 1px solid var(--border-color); position: sticky; top: 0; z-index: 20; }
.nav-inner { max-width: 1120px; margin: auto; min-height: 64px; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 10px 24px; }
.wordmark { font-size: 18px; font-weight: 750; white-space: nowrap; color: var(--text-primary); }
.wordmark span { color: var(--primary-color); }
.nav-links { display: flex; align-items: center; gap: 25px; overflow-x: auto; }
.nav-links a { font-size: 13px; font-weight: 600; color: #52636f; white-space: nowrap; padding: 7px 0; }
.nav-links a:hover { color: var(--primary-color); }
.publication-header .hero-body { padding: 76px 24px 30px; }
.eyebrow { text-transform: uppercase; letter-spacing: .14em; font-size: 11px; font-weight: 750; color: var(--primary-color); margin: 0 0 16px; }
.publication-title { font-family: inherit !important; font-size: clamp(42px, 6.2vw, 66px) !important; letter-spacing: -.045em; margin-bottom: 12px !important; }
.paper-subtitle { font-size: clamp(23px, 3.2vw, 34px); font-weight: 550; letter-spacing: -.026em; line-height: 1.28; color: #364650; margin: 0 auto 28px; }
.publication-authors { font-family: inherit !important; margin-bottom: 7px; font-size: 17px; }
.author-separator { margin: 0 13px; color: #91a1a8; }
.editable { color: #74828a; }
.affiliation { color: var(--text-secondary); font-size: 15px; margin-bottom: 23px; }
.publication-links { display: flex; justify-content: center; flex-wrap: wrap; align-items: center; gap: 9px; }
.publication-links .button { font-size: 13px; width: auto; height: 40px; border-radius: 999px !important; padding: 0 18px; box-shadow: none !important; gap: 8px; }
.publication-links .button[aria-disabled="true"] { background: #edf1f2 !important; color: #7d8a90 !important; cursor: default; transform: none !important; }
.publication-links .video-link { background: #176c73; color: white; }
.publication-links .video-link:hover { background: #10575d; }
.link-mark { font-weight: 400; }
.template-note { font-size: 11px; color: #6c7c85; margin-top: 18px; }
.section-block { padding: 64px 0; }
.teaser.section-block { padding: 16px 0 48px; font-family: inherit; }
.soft-section { background: var(--background-secondary); border-top: 1px solid #e9eff0; border-bottom: 1px solid #e9eff0; }
.section-heading { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; margin-bottom: 28px; }
.section-heading .eyebrow { margin-bottom: 10px; }
.section-heading .title { margin: 0; }
.section-heading > p { font-size: 14px; color: var(--text-secondary); margin-bottom: 3px; }
.title.is-3 { font-size: clamp(25px, 3vw, 31px); font-weight: 700; letter-spacing: -.03em; line-height: 1.25; }
.media-slot { width: 100%; aspect-ratio: 16 / 9; overflow: hidden; position: relative; background: #eaf0f1; border: 1px solid #d9e4e6; border-radius: 10px; }
.media-slot.media-large { aspect-ratio: 21 / 9; border-radius: 14px; background: #edf3f3; }
.media-slot video { display: block; width: 100%; height: 100%; object-fit: contain; background: #16232a; }
.media-placeholder { width: 100%; height: 100%; display: flex; flex-direction: column; gap: 8px; align-items: center; justify-content: center; padding: 20px; text-align: center; }
.media-placeholder svg { width: 35px; height: 35px; stroke: #6b979c; stroke-width: 1.25; margin-bottom: 4px; }
.media-large .media-placeholder svg { width: 49px; height: 49px; margin-bottom: 12px; }
.media-title { color: #46636c; font-size: 14px; font-weight: 600; }
.media-large .media-title { font-size: 19px; }
.media-hint { font-size: 11px; color: #70838a; line-height: 1.4; }
.media-error { color: #934d34; }
.figure-caption { font-size: 13px; line-height: 1.6; color: var(--text-secondary); text-align: center; margin: 14px auto 0; max-width: 880px; }
.teaser-caption { font-size: 15px; margin-top: 20px; color: #425b64; }
.draft-label { color: #73838b; font-size: 12px; margin: -5px 0 18px; }
.abstract-copy { font-size: 16px; line-height: 1.85; color: #445560; }
.figure-slot { width: 100%; }
.figure-slot img { display: block; width: 100%; height: auto; border-radius: 9px; }
.figure-placeholder { min-height: 250px; border: 1px dashed #bbced1; border-radius: 12px; display: flex; justify-content: center; align-items: center; flex-direction: column; gap: 23px; padding: 32px; background: #fafcfc; }
.figure-kicker { text-transform: uppercase; letter-spacing: .12em; font-size: 11px; color: #63848b; }
.pipeline-layout { display: flex; align-items: center; justify-content: center; gap: 20px; width: 100%; }
.pipeline-layout span:nth-child(odd) { border: 1px solid #ccdcde; color: #35555e; border-radius: 8px; padding: 18px 20px; font-size: 13px; font-weight: 600; background: white; text-align: center; }
.pipeline-layout span:nth-child(even) { color: #6e969c; }
.method-notes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 35px; margin-top: 37px; }
.note-index { display: block; font-size: 12px; color: var(--primary-color); margin-bottom: 9px; font-weight: 700; }
.method-notes h3 { font-size: 15px; font-weight: 700; margin-bottom: 9px; }
.method-notes p { color: var(--text-secondary); font-size: 13px; line-height: 1.7; }
.demo-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px 24px; }
.demo-card { min-width: 0; }
.demo-caption { display: flex; align-items: flex-start; gap: 12px; padding: 16px 2px 0; }
.task-number { font-size: 11px; font-weight: 600; color: var(--primary-color); padding-top: 3px; }
.demo-caption h3 { font-size: 15px; font-weight: 650; margin: 0 0 3px; }
.demo-caption p { font-size: 12px; line-height: 1.65; color: var(--text-secondary); }
.section-footnote { font-size: 12px; color: #71818a; margin-top: 23px; }
.comparison-toolbar { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 16px; padding: 15px 0; margin-bottom: 10px; border-top: 1px solid var(--border-color); }
.task-select, .playback-controls { display: flex; gap: 9px; align-items: center; flex-wrap: wrap; }
.task-select label { font-size: 13px; font-weight: 650; margin-right: 3px; }
select, .control-button { border: 1px solid #cfdbdd; border-radius: 6px; padding: 8px 12px; color: #35515a; background: white; font-size: 12px; min-height: 36px; }
select { cursor: pointer; max-width: 100%; }
.control-button { cursor: pointer; font-weight: 600; }
.control-button:hover:not(:disabled) { background: #edf4f4; border-color: #91b5ba; }
.control-button:disabled { opacity: .46; cursor: default; }
.comparison-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.comparison-card h3, .panel-label { font-size: 14px; font-weight: 650; margin-bottom: 12px; color: #485f67; }
.comparison-card .ours-label { color: var(--primary-color); }
.transfer-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px; }
.citation-heading { align-items: center; }
.citation-code { margin-top: 22px; padding: 24px; border: 1px solid #e0e8ea; border-radius: 10px; background: #f6f9fa; overflow-x: auto; }
.citation-code code { font: 12px/1.8 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; color: #35505a; white-space: pre; }
.copy-status { min-height: 18px; font-size: 12px; color: var(--primary-color); margin-top: 8px; }
.project-footer { padding: 30px 0; background: white; border-top: 1px solid var(--border-color); text-align: center; }
.project-footer p { font-size: 11px; line-height: 1.8; color: #7a8890; margin-bottom: 4px; }
.project-footer a { color: #526f78; text-decoration: underline; text-underline-offset: 2px; }
.skip-link { position: fixed; top: -80px; left: 15px; padding: 12px 16px; background: white; z-index: 50; }
.skip-link:focus { top: 12px; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.noscript-note { padding: 15px; text-align: center; color: #755b31; background: #faf5e8; font-size: 13px; }
@media (max-width: 800px) {
  .demo-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .nav-links { gap: 16px; }
  .nav-links a { font-size: 12px; }
  .pipeline-layout { gap: 10px; }
  .pipeline-layout span:nth-child(odd) { padding: 16px 10px; font-size: 12px; }
  .method-notes { gap: 23px; }
  .comparison-grid { gap: 12px; }
}
@media (max-width: 600px) {
  .nav-inner { display: block; padding: 11px 20px 7px; }
  .wordmark { display: inline-block; margin-bottom: 4px; font-size: 16px; }
  .nav-links { justify-content: space-between; gap: 16px; }
  .publication-header .hero-body { padding: 48px 20px 24px; }
  .publication-title { font-size: 45px !important; }
  .publication-authors { font-size: 14px; }
  .author-separator { margin: 0 7px; }
  .paper-subtitle { font-size: 24px; }
  .desktop-break { display: none; }
  .page-width, .text-width { width: calc(100% - 36px); }
  .section-block { padding: 45px 0; }
  .section-heading { display: block; }
  .section-heading > p { margin-top: 10px; }
  .media-slot.media-large { aspect-ratio: 16 / 9; }
  .media-large .media-placeholder svg { width: 35px; height: 35px; margin-bottom: 4px; }
  .media-large .media-title { font-size: 16px; }
  .demo-grid, .comparison-grid, .transfer-grid, .method-notes { grid-template-columns: 1fr; }
  .method-notes { gap: 22px; }
  .method-notes > div { border-left: 2px solid #bcd9dc; padding-left: 16px; }
  .pipeline-layout { flex-direction: column; gap: 8px; }
  .pipeline-layout span:nth-child(odd) { width: 100%; max-width: 260px; }
  .pipeline-layout span:nth-child(even) { transform: rotate(90deg); line-height: 1; }
  .figure-placeholder { padding: 25px 18px; }
  .comparison-grid { gap: 24px; }
  .playback-controls { gap: 7px; }
  .citation-heading { display: flex; align-items: flex-end; }
  .citation-code { padding: 16px; }
  .project-footer { padding: 26px 18px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition: none !important; animation: none !important; }
}

/* Completed V²-STRep project page. */
body { color: #243640; }
sup { font-size: .6em; line-height: 0; position: relative; vertical-align: baseline; top: -.62em; }
.publication-header .hero-body { padding: 65px 24px 33px; }
.publication-title { font-size: clamp(46px, 6vw, 68px) !important; font-weight: 750; color: #203841; }
.publication-title sup { font-size: .53em; top: -.72em; margin-left: 1px; }
.paper-subtitle { max-width: 1100px; font-size: clamp(23px, 2.65vw, 31px); line-height: 1.4; font-weight: 400; letter-spacing: -.023em; margin-bottom: 25px; }
.paper-subtitle strong { font-weight: 780; color: #213a44; }
.author-separator { color: #617580; margin: 0 5px; font-size: .87em; }
.publication-authors { font-size: 18px; }
.publication-links { margin-top: 23px; }
.publication-links .secondary-link { background: white; color: #345661; border: 1px solid #d4e1e3 !important; }
.publication-links .secondary-link:hover { background: #f0f6f6; }
.teaser-width { max-width: 1000px; }
.teaser .media-slot { border-radius: 12px; background: white; box-shadow: 0 4px 22px #203b4510; }
.teaser-caption { font-weight: 550; font-size: 17px; margin-top: 21px; }
.media-note { text-align: center; font-size: 12px; color: #6b7c85; margin-top: 6px; }
.media-slot video { background: #edf0f0; }
.section-block { padding: 68px 0; }
.intro-grid { display: grid; grid-template-columns: .8fr 1.6fr; gap: 58px; align-items: start; margin-bottom: 37px; }
.intro-grid h2 { font-size: 34px !important; line-height: 1.28; }
.abstract-copy { font-size: 15px; line-height: 1.85; }
.abstract-copy p + p { margin-top: 14px; }
.paper-figure { margin: 0; }
.figure-link { display: block; border-radius: 9px; overflow: hidden; background: white; }
.paper-figure img { display: block; width: 100%; height: auto; }
.paper-figure figcaption { text-align: center; font-size: 12px; line-height: 1.7; color: #60737e; margin: 15px auto 0; max-width: 900px; }
.paper-figure figcaption a { white-space: nowrap; text-decoration: underline; text-underline-offset: 3px; margin-left: 6px; }
.section-heading > p { max-width: 320px; }
.section-intro { font-size: 15px; line-height: 1.8; color: #5b707c; max-width: 850px; margin: -8px 0 26px; }
.method-notes { padding-top: 26px; border-top: 1px solid #e4ebed; }
.note-index { letter-spacing: .06em; }
.demo-grid { gap: 34px 24px; }
.demo-caption h3 { font-size: 16px; }
.demo-caption p { min-height: 40px; }
.geometry { display: inline-block; margin-top: 7px; color: #38727b; background: #e5eff0; padding: 2px 8px; font-size: 10px; font-weight: 650; letter-spacing: .02em; border-radius: 4px; }
.comparison-toolbar { margin-top: 12px; }
.source-strip { display: grid; grid-template-columns: 260px 1fr; gap: 25px; align-items: center; background: #f5f8f8; border: 1px solid #e4ecee; padding: 18px; border-radius: 10px; margin: 0 0 25px; }
.source-strip h3 { font-size: 20px; font-weight: 650; margin: 4px 0 7px; }
.source-strip p { color: #58717b; font-size: 13px; }
.source-strip .small-note { font-size: 11px; margin-top: 12px; }
.mini-label { font-size: 10px; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; color: #607b85; margin-bottom: 9px; }
.small-note { font-size: 12px; color: #647b85; line-height: 1.6; }
.comparison-card h3 { font-size: 15px; }
.comparison-card .ours-label { font-weight: 750; }
.missing-video { display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; padding: 22px; background: #f7f4f1; border: 1px solid #e6dcd5; color: #7b5848; gap: 7px; }
.missing-video strong { color: #7b5848; font-size: 15px; }
.missing-video p { font-size: 12px; max-width: 220px; }
.failure-mark { font-size: 26px; font-weight: 300; line-height: 1; color: #ad8c7b; }
.playback-status { font-size: 12px; color: #925e37; min-height: 0; }
.playback-status:empty { display: none; }
.result-stat { flex-shrink: 0; text-align: right; }
.result-stat > strong { font-size: 40px; color: #176c73; font-weight: 750; letter-spacing: -.05em; line-height: 1.2; }
.result-stat > strong > span { font-size: 24px; color: #679197; font-weight: 500; }
.result-stat > span { display: block; font-size: 11px; color: #66818a; }
.transfer-results { display: grid; grid-template-columns: repeat(6,1fr); margin: 30px 0; border-top: 1px solid #dae5e7; border-bottom: 1px solid #dae5e7; padding: 18px 0; gap: 20px; }
.transfer-results div { display: flex; flex-direction: column; gap: 5px; }
.transfer-results span { font-size: 11px; color: #607780; }
.transfer-results strong { font-size: 21px; color: #2f616b; font-weight: 650; }
.transfer-grid .panel-label { font-size: 13px; }
.section-figure { margin-top: 37px; }
.figure-details { margin-top: 28px; border-top: 1px solid #dce6e8; border-bottom: 1px solid #dce6e8; }
.figure-details summary { padding: 17px 4px; cursor: pointer; font-size: 13px; font-weight: 650; color: #3e6873; }
.figure-details[open] .paper-figure { padding: 10px 0 26px; }
.compact-figure { max-width: 820px; margin: 0 auto; }
.adaptation-list { margin-top: 32px; display: grid; gap: 36px; }
.adaptation-card { padding-bottom: 32px; border-bottom: 1px solid #e2e9ea; }
.adaptation-heading { display: flex; gap: 14px; align-items: baseline; margin-bottom: 18px; }
.adaptation-heading .note-index { margin: 0; }
.adaptation-heading h3 { font-size: 19px; font-weight: 650; letter-spacing: -.02em; }
.adaptation-pair { display: grid; grid-template-columns: 1fr 1.55fr; gap: 22px; align-items: end; }
.instruction-pair { display: grid; grid-template-columns: 1fr 1.55fr; gap: 22px; margin-top: 17px; }
.instruction-pair p { padding: 12px 16px; background: #f3f7f7; border-left: 2px solid #bbd2d6; font-size: 13px; line-height: 1.6; color: #3f5f69; }
.instruction-pair p:nth-child(2) { background: #eaf3f3; border-color: #57989d; }
.instruction-pair span { display: block; font-size: 9px; text-transform: uppercase; letter-spacing: .08em; color: #68808a; font-weight: 700; margin-bottom: 4px; }
.adaptation-explanation { margin-top: 13px; font-size: 12px; color: #637983; }
.citation-code { margin-top: 18px; background: white; }
.project-footer { background: white; }
.project-footer p:first-child { color: #4d6a74; margin-bottom: 12px; }
@media (max-width: 900px) {
  .nav-links { gap: 16px; }
  .nav-inner { gap: 20px; }
  .paper-subtitle { font-size: 26px; }
  .desktop-break { display: none; }
  .intro-grid { grid-template-columns: .85fr 1.4fr; gap: 30px; }
  .transfer-results { grid-template-columns: repeat(3,1fr); gap: 16px 24px; }
  .missing-video { padding: 14px; gap: 4px; }
  .missing-video strong { font-size: 13px; }
  .missing-video p { font-size: 10px; }
}
@media (max-width: 600px) {
  html { scroll-padding-top: 112px; }
  .publication-header .hero-body { padding: 40px 20px 26px; }
  .publication-title { font-size: 49px !important; }
  .paper-subtitle { font-size: 22px; line-height: 1.42; margin-bottom: 22px; }
  .publication-authors { font-size: 16px; }
  .affiliation { font-size: 13px; }
  .publication-links .button { padding: 0 13px; font-size: 12px; height: 38px; }
  .eyebrow { font-size: 10px; }
  .nav-links { justify-content: flex-start; gap: 21px; padding-bottom: 2px; }
  .nav-links a { font-size: 11px; }
  .section-block { padding: 45px 0; }
  .teaser-caption { font-size: 14px; line-height: 1.6; }
  .media-note { font-size: 10px; }
  .intro-grid { grid-template-columns: 1fr; gap: 20px; }
  .intro-grid h2 { font-size: 29px !important; }
  .intro-grid h2 br { display: none; }
  .abstract-copy { font-size: 14px; }
  .paper-figure figcaption { font-size: 11px; }
  .source-strip { grid-template-columns: 1fr; gap: 15px; padding: 14px; }
  .source-strip .media-slot { max-width: 100%; }
  .comparison-toolbar { gap: 13px; }
  .result-stat { text-align: left; margin-top: 18px; }
  .result-stat > strong { font-size: 35px; }
  .section-intro { font-size: 14px; }
  .transfer-results { grid-template-columns: repeat(3,1fr); gap: 17px 10px; }
  .transfer-results span { font-size: 10px; }
  .transfer-results strong { font-size: 19px; }
  .adaptation-pair, .instruction-pair { grid-template-columns: 1fr 1fr; gap: 10px; }
  .adaptation-heading h3 { font-size: 17px; }
  .adaptation-pair .mini-label { font-size: 8px; letter-spacing: .02em; min-height: 26px; margin-bottom: 6px; }
  .instruction-pair p { padding: 10px; font-size: 11px; }
  .instruction-pair span { font-size: 8px; }
  .adaptation-explanation { font-size: 11px; }
  .missing-video p { font-size: 12px; }
  .missing-video strong { font-size: 15px; }
}
/* Keep the original template's section titles consistent with the project palette. */
.title.is-3 { padding-bottom: 0; margin-bottom: 0 !important; font-family: inherit !important; }
.title.is-3::after { display: none; }
.intro-grid h2 { margin-bottom: 0 !important; }
.publication-header.hero { animation: none; }
@media (max-width: 600px) {
  .publication-links { gap: 6px; }
  .publication-links .button { padding: 0 9px; gap: 4px; font-size: 11px; }
  .nav-links { scrollbar-width: thin; }
}

/* Academic resource buttons: Font Awesome / Academicons, as in ProBEx. */
.publication-links .resource-button {
  background: #363636 !important;
  color: #fff !important;
  border: 1px solid #363636 !important;
  border-radius: 999px !important;
  box-shadow: none !important;
  height: 42px;
  padding: 0 18px;
  gap: 9px;
  font-size: 15px;
  font-weight: 500 !important;
}
.publication-links .resource-button:hover {
  background: #252525 !important;
  border-color: #252525 !important;
  transform: none;
}
.publication-links .resource-button .icon {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 1.1em;
  height: 1.1em;
  margin: 0 !important;
  color: inherit;
  font-size: 16px;
  flex: 0 0 1.1em;
}
@media (max-width: 600px) {
  .publication-links .resource-button { height: 39px; padding: 0 13px; font-size: 13px; gap: 7px; }
}

/* IROS typography and simplified section layout. */
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 400; font-display: swap; src: url('../fonts/inter-400.ttf') format('truetype'); }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 500; font-display: swap; src: url('../fonts/inter-500.ttf') format('truetype'); }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 600; font-display: swap; src: url('../fonts/inter-600.ttf') format('truetype'); }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 700; font-display: swap; src: url('../fonts/inter-700.ttf') format('truetype'); }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 800; font-display: swap; src: url('../fonts/inter-800.ttf') format('truetype'); }
body { font-family: 'Inter', 'Segoe UI', -apple-system, BlinkMacSystemFont, sans-serif; color: #1e293b; }
.publication-header .hero-body { padding: 52px 24px 28px; }
#paper-title {
  font-family: 'Inter', sans-serif;
  font-size: 28px;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: normal;
  max-width: 1020px;
  margin: 0 auto 26px;
  text-align: center;
  color: #1e293b;
}
#paper-title strong { font-weight: 800; color: inherit; }
.publication-header .publication-authors {
  font-family: 'Inter', sans-serif !important;
  font-size: 20px;
  font-weight: 500;
  line-height: 1.6;
  color: #1e293b;
  margin: 0 0 12px;
}
.publication-header .affiliation { margin-bottom: 22px; }
.author-block { display: inline-block; margin-right: .35rem; }
.author-block:last-child { margin-right: 0; }
.publication-links { margin-top: 0; }
.section-block { padding: 56px 0; }
.section-heading { display: block; text-align: center; margin-bottom: 30px; }
.section-heading .title.is-3 {
  font-family: 'Inter', sans-serif !important;
  font-size: 32px;
  font-weight: 700 !important;
  line-height: 1.25;
  letter-spacing: normal;
  color: #1e293b;
  margin: 0 !important;
  padding: 0 0 16px;
  position: relative;
}
.section-heading .title.is-3::after {
  content: '';
  display: block;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 60px;
  height: 3px;
  background: var(--gradient-accent);
  border-radius: 2px;
}
.section-intro { font-size: 15px; line-height: 1.7; color: #526273; text-align: center; max-width: 850px; margin: -7px auto 28px; }
.section-intro strong { color: #1e293b; }
.soft-section { background: #f8fafc; border: 0; }
.demo-caption { display: block; text-align: center; padding-top: 12px; }
.demo-caption h3 { font-size: 16px; font-weight: 600; margin: 0; }
.geometry { display: inline-block; margin-top: 3px; padding: 0; font-size: 12px; font-weight: 400; color: #64748b; background: none; letter-spacing: normal; }
.comparison-toolbar { margin-top: 0; padding-top: 0; border-top: 0; }
select, .control-button { font-size: 13px; font-weight: 500; min-height: 38px; }
.source-strip h3 { font-size: 18px; font-weight: 600; }
.source-strip p { font-size: 14px; }
.source-strip .small-note { font-size: 12px; }
.mini-label { font-size: 13px; font-weight: 500; letter-spacing: normal; text-transform: none; }
.comparison-card h3, .panel-label { font-size: 15px; font-weight: 600; text-align: center; }
.transfer-results { text-align: center; }
.transfer-results span { font-size: 12px; }
.transfer-results strong { font-size: 20px; font-weight: 600; }
.adaptation-heading { display: block; text-align: center; margin-bottom: 20px; }
.adaptation-heading h3 { font-size: 19px; font-weight: 600; letter-spacing: normal; }
.adaptation-pair, .instruction-pair { grid-template-columns: 1fr 1fr; gap: 24px; }
.adaptation-pair .mini-label { text-align: center; }
.instruction-pair p { font-size: 14px; padding: 10px 12px; background: transparent; }
.instruction-pair p:nth-child(2) { background: transparent; }
.instruction-pair span { font-size: 12px; font-weight: 500; text-transform: none; letter-spacing: normal; }
.adaptation-card:last-child { padding-bottom: 0; border: 0; }
.citation-actions { display: flex; justify-content: flex-end; margin-bottom: 8px; }
.citation-code { margin-top: 0; }
.copy-status:empty { display: none; }
@media (max-width: 768px) {
  .publication-header .publication-authors { font-size: 16px !important; }
}
@media (max-width: 600px) {
  .publication-header .hero-body { padding: 34px 18px 24px; }
  #paper-title { font-size: 22px; margin-bottom: 22px; }
  .section-block { padding: 40px 0; }
  .section-heading .title.is-3 { font-size: 26px; }
  .section-intro { font-size: 14px; }
  .transfer-results span { font-size: 11px; }
  .adaptation-pair, .instruction-pair { gap: 12px; }
  .adaptation-heading h3 { font-size: 17px; }
  .adaptation-pair .mini-label { font-size: 11px; min-height: 34px; margin-bottom: 6px; }
  .instruction-pair p { font-size: 12px; padding: 8px; }
  .instruction-pair span { font-size: 11px; }
}


.success-table {
  margin: 24px 0;
  background: transparent;
  font-size: 14px;
}

.success-table th,
.success-table td {
  text-align: center !important;
  vertical-align: middle;
  padding: 12px 14px;
}

.success-table th:first-child {
  text-align: left !important;
  white-space: nowrap;
}

.success-table thead th {
  border-bottom: 2px solid #176c73;
}

.success-table .ours-row th,
.success-table .ours-row td {
  background: #eaf3f3;
  color: #176c73;
  font-weight: 700;
}


#transfer .panel-label {
  font-size: 20px;
  font-weight: 600;
  line-height: 1.35;
  text-align: center;
  margin-bottom: 14px;
}

@media (max-width: 600px) {
  #transfer .panel-label {
    font-size: 18px;
  }
}



#adaptation .adaptation-toolbar {
  justify-content: flex-end;
}

#adaptation .adaptation-pair .mini-label {
  font-size: 20px;
  font-weight: 600;
  line-height: 1.35;
  text-align: center;
  text-transform: none;
  letter-spacing: normal;
  margin-bottom: 14px;
  min-height: 0;
}

@media (max-width: 600px) {
  #adaptation .adaptation-pair .mini-label {
    font-size: 18px;
    min-height: 2.7em;
  }
}


#task-instructions .task-instruction-table {
  width: 100%;
  margin: 0;
  background: transparent;
  font-size: 15px;
}

#task-instructions .task-instruction-table th,
#task-instructions .task-instruction-table td {
  padding: 16px;
  text-align: left;
  vertical-align: top;
  line-height: 1.7;
  border-bottom: 1px solid #e3e8ea;
}

#task-instructions .task-instruction-table th:first-child {
  width: 190px;
}

#task-instructions .task-instruction-table th {
  font-weight: 600;
}

#task-instructions .task-instruction-table thead th {
  color: #176c73;
  border-bottom: 2px solid #176c73;
}

#task-instructions .task-instruction-table tbody tr:last-child > * {
  border-bottom: none;
}

@media (max-width: 600px) {
  #task-instructions .task-instruction-table {
    font-size: 14px;
  }

  #task-instructions .task-instruction-table th,
  #task-instructions .task-instruction-table td {
    padding: 12px 8px;
  }

  #task-instructions .task-instruction-table th:first-child {
    width: 120px;
  }
}


