/* RevCT research landing page. Reference structure: SynAIRG / Academic Project
   Page Template. Typography and colour adapted to HCLTech Robotics. */
@font-face{font-family:Manrope;src:url('../assets/fonts/Manrope-VariableFont_wght.ttf') format('truetype');font-style:normal;font-weight:200 800;font-display:swap}
@font-face{font-family:'IBM Plex Mono';src:url('../assets/fonts/IBMPlexMono-Regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
:root{--ink:#1b1f24;--muted:#4b5563;--link:#0056d6;--accent:#0b6a66;--band:#f7f8fa;--code:#eef2f5;--border:#d9dee5;--focus:#0056d6;--white:#fff}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:24px}
body{margin:0;background:var(--white);color:var(--ink);font-family:Manrope,system-ui,sans-serif;font-size:17px;line-height:1.75;-webkit-font-smoothing:antialiased}
a{color:var(--link);text-underline-offset:.2em;text-decoration-thickness:1px}
a:hover{text-decoration-thickness:2px}
button,a,summary,[tabindex]{-webkit-tap-highlight-color:transparent}
:focus-visible{outline:3px solid var(--focus);outline-offset:5px}
strong{font-weight:750}
img{max-width:100%;height:auto}
.container{width:min(960px,calc(100% - 48px));margin-inline:auto}
.prose{width:min(768px,calc(100% - 48px));margin-inline:auto}
p{margin:0 0 1.15rem}
h1,h2{font-weight:800;line-height:1.18;letter-spacing:-.035em}
h2{font-size:32px;margin:0 0 24px;font-weight:750}
.centered{text-align:center}
.skip-link{position:absolute;top:-100px;left:16px;z-index:10;background:white;padding:12px 18px;border:1px solid var(--border)}
.skip-link:focus{top:12px}
.publication-header{text-align:center}
.hero-body{padding-block:64px 26px}
h1{font-size:clamp(48px,6vw,74px);margin:0 0 22px;letter-spacing:-.045em}
.project-subtitle{max-width:800px;margin:0 auto 28px;font-size:clamp(22px,3vw,29px);line-height:1.42;letter-spacing:-.015em}
.publication-authors{display:flex;justify-content:center;gap:8px 24px;flex-wrap:wrap;font-size:20px;font-weight:550;margin:0 0 10px}
.publication-authors>span{white-space:nowrap}
.publication-authors sup,.affiliation sup{font-size:.65em;line-height:0;vertical-align:super}
.publication-authors sup{margin-left:3px}
.publication-authors sup a{color:inherit;text-decoration:none}
.publication-authors sup a:hover{text-decoration:underline}
.affiliation{font-size:17px;margin:0 0 23px}
.publication-links{display:flex;justify-content:center;flex-wrap:wrap;gap:10px}
.resource-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:7px 20px;border-radius:999px;background:var(--ink);color:#fff;text-decoration:none;font-size:16px;font-weight:600;line-height:1.5;transition:background-color .15s}
.resource-button:hover{background:#1b4d89;text-decoration:none}
.resource-icon{display:block;flex:none;width:20px;height:20px}
.teaser{padding:28px 0 48px}
figure{margin:0}
.figure-link{display:block;line-height:0;border-radius:4px}
.figure-link img{display:block;width:100%}
.architecture-scroll{overflow-x:auto;overscroll-behavior-x:contain;border-radius:4px}
.architecture-scroll .figure-link{min-width:960px}
figcaption{font-size:15px;line-height:1.65;color:var(--muted);text-align:center;margin-top:18px}
.figure-downloads{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px 10px;font-size:14px;margin-top:12px}
.mobile-figure-note{display:none}
.section{padding:56px 0}
.section-tinted{background:var(--band);border-block:1px solid var(--border)}
.section p:last-child{margin-bottom:0}
.result-figure{margin-block:28px}
.method-note{font-size:14px;line-height:1.75;color:var(--muted)}
.table-scroll{max-width:100%;overflow:auto;margin:26px 0 4px}
table{border-collapse:collapse;width:100%;font-size:16px;font-variant-numeric:tabular-nums;line-height:1.5}
th,td{padding:14px 14px;text-align:right;border-bottom:1px solid var(--border)}
th:first-child{text-align:left;padding-left:0}
th:last-child,td:last-child{padding-right:0}
thead th{font-size:14px;font-weight:650;color:var(--muted);white-space:nowrap}
tbody th{font-weight:600}
.table-note{font-size:13px;font-weight:400;white-space:nowrap}
.protocol-list{padding-left:22px;margin-block:0 22px}
.protocol-list li{padding-left:4px;margin-bottom:10px}
.size-details{border-top:1px solid var(--border);margin-top:30px;padding-top:20px}
summary{cursor:pointer;font-weight:650;min-height:36px}
.size-details[open] summary{margin-bottom:15px}
pre{white-space:pre-wrap;overflow-wrap:anywhere;word-break:normal;padding:22px 24px;margin:24px 0;background:var(--code);border:1px solid var(--border);border-radius:8px;line-height:1.7;font-size:13px}
code{font-family:'IBM Plex Mono',ui-monospace,monospace;font-weight:400}
.citation-section{padding-top:8px}
.citation-actions{display:flex;align-items:center;gap:12px 20px;flex-wrap:wrap;font-size:14px}
button{font:inherit;color:var(--ink);background:white;border:1px solid #7d8792;border-radius:8px;min-height:40px;padding:7px 14px;cursor:pointer}
button:hover{background:var(--band)}
#copy-status{color:var(--accent);font-size:13px}
.footer{padding:32px 0;background:var(--band);border-top:1px solid var(--border);font-size:13px;color:var(--muted)}
.footer p{margin-bottom:10px}
.footer p:last-child{margin:0}
@media(max-width:600px){
 body{font-size:16px;line-height:1.7}
 .container,.prose{width:calc(100% - 40px)}
 .hero-body{padding-top:42px;padding-bottom:18px}
 h1{font-size:48px;margin-bottom:18px}
 .project-subtitle{font-size:23px;line-height:1.38;margin-bottom:25px}
 .publication-authors{font-size:17px;gap:4px 16px}
 .affiliation{font-size:14px;max-width:280px;margin:10px auto 21px}
 .publication-links{gap:9px;max-width:360px;margin:auto}
 .resource-button{font-size:14px;padding:7px 16px}
 .teaser{padding:17px 0 34px}
 figcaption{font-size:13px;margin-top:15px}
 .figure-downloads{font-size:12px;gap:6px 8px}
 .mobile-figure-note{display:block;text-align:center;color:var(--muted);font-size:12px;margin:8px 0 0}
 .section{padding-block:38px}
 h2{font-size:26px;line-height:1.28;margin-bottom:19px}
 th,td{padding:11px 8px}
 table{font-size:14px}
 thead th{font-size:12px}
 .table-note{display:block;font-size:11px}
 .method-note{font-size:13px}
 pre{padding:17px 14px;font-size:11px;line-height:1.75}
 .citation-section{padding-top:4px}
 .citation-actions{gap:10px 16px;font-size:12px}
 .footer{font-size:12px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media print{body{font-size:11pt}a{color:inherit}.hero-body{padding-top:20px}.section{padding-block:24px}.publication-links,.citation-actions,.skip-link,.mobile-figure-note{display:none}.container,.prose{width:100%;max-width:180mm}figure,pre,table{break-inside:avoid}}
