:root{--ink:#182331;--text:#425064;--muted:#6c7685;--blue:#285b92;--blue-wash:#eaf1f8;--line:#dfe4e9;--paper:#fff;--wash:#f7f9fb;--width:1120px;--font-small:14px;--font-body:16px;--font-subheading:18px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:88px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:var(--font-body);line-height:1.65}
a{color:var(--blue);text-decoration:none}
a:hover{text-decoration:underline;text-underline-offset:4px}
button,select{font:inherit}
button,a,select{-webkit-tap-highlight-color:transparent}
button{cursor:pointer}
button:focus-visible,a:focus-visible,select:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid #76a1cb;outline-offset:4px}
button:disabled{cursor:default}
img,video{display:block;max-width:100%}
figure,p,h1,h2,h3,dl{margin:0}
figure{min-width:0}
sup{font-size:.65em;position:relative;top:-.1em;margin-left:2px}
.section-shell{max-width:var(--width);margin:auto;padding:88px 0}
.site-header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line)}
.nav-shell{max-width:var(--width);height:68px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px}
.wordmark{display:flex;align-items:center;gap:10px;color:var(--ink);font-weight:700;letter-spacing:-.6px;font-size:20px}
.wordmark:hover{text-decoration:none}
.wordmark svg{width:25px;height:25px;stroke:var(--blue);stroke-width:1.4;fill:none}
nav{display:flex;gap:28px;font-size:var(--font-small);font-weight:500}
nav a{color:var(--text)}
.skip-link{position:fixed;top:-80px;left:16px;background:var(--ink);color:white;z-index:100;padding:10px 18px}
.skip-link:focus{top:12px}
.hero{text-align:center;padding-top:76px;padding-bottom:52px}
.eyebrow,.section-number{font-size:var(--font-small);letter-spacing:1.8px;text-transform:uppercase;color:var(--blue);font-weight:700}
.hero h1{font-size:42px;line-height:1.22;letter-spacing:-1.4px;font-weight:600;margin:20px auto 27px;max-width:1020px}
.hero h1>span{color:var(--blue);font-size:50px;font-weight:700;line-height:1.5;letter-spacing:-2px}
.authors{max-width:940px;margin:0 auto 15px;display:flex;justify-content:center;flex-wrap:wrap;column-gap:19px;row-gap:6px;font-size:var(--font-body)}
.authors>span{white-space:nowrap;color:var(--text)}
.affiliations{display:flex;flex-wrap:wrap;justify-content:center;gap:2px 20px;font-size:var(--font-small);color:var(--text);max-width:880px;margin:auto}
.author-note{font-size:var(--font-small);color:var(--muted);margin-top:9px}
.resource-buttons{display:flex;justify-content:center;gap:9px;flex-wrap:wrap;margin-top:26px}
.button{display:inline-flex;gap:12px;align-items:center;justify-content:center;padding:8px 17px;border:1px solid #cdd5dd;color:var(--ink);border-radius:5px;font-size:var(--font-small);min-height:42px;background:white}
.button:hover{text-decoration:none;background:var(--wash)}
.button.primary{color:white;background:var(--ink);border-color:var(--ink)}
.button.primary:hover{background:var(--blue);border-color:var(--blue)}
.pending{cursor:default}
.button.pending{color:#707a88;background:#fafbfc;border-color:#e5e9ed}
.soon{font-size:var(--font-small);text-transform:uppercase;letter-spacing:.8px;padding:2px 5px;background:#ecf0f4;border-radius:2px}
.teaser{margin:47px auto 0}
.figure-button{border:0;background:white;padding:0;width:100%;display:block;cursor:zoom-in}
.teaser img{width:100%;height:auto}
.teaser figcaption{font-size:var(--font-small);color:var(--text);margin:18px auto 0}
.stats{display:grid;grid-template-columns:repeat(4,1fr);margin-top:40px;padding:26px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.stats>div{display:flex;flex-direction:column;justify-content:center;gap:1px}
.stats>div+div{border-left:1px solid var(--line)}
.stats strong{font-size:29px;font-weight:500;letter-spacing:-1px;font-variant-numeric:tabular-nums}
.stats span{font-size:var(--font-small);color:var(--muted)}
.stats .unit{font-size:var(--font-subheading);color:var(--ink)}
h2{font-family:inherit;font-size:38px;font-weight:400;line-height:1.2;letter-spacing:-1.1px;margin-top:16px}
h3{font-size:var(--font-subheading);font-weight:600;line-height:1.4}
.overview{display:grid;grid-template-columns:1fr 2fr;gap:70px;padding-top:38px}
.prose p{color:var(--text);font-size:var(--font-body);line-height:1.9;margin-bottom:17px}
.prose p.lead{font-size:20px;line-height:1.6;color:var(--ink);margin-bottom:21px}
.prose strong{font-weight:600;color:var(--ink)}
.task-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.task-row span{font-size:var(--font-small);font-weight:600;color:var(--blue);padding:6px 10px;border:1px solid #d8e2ed;border-radius:3px}
.band{background:var(--wash);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.section-heading{display:flex;justify-content:space-between;gap:60px;align-items:flex-end;margin-bottom:40px}
.section-heading>p{max-width:380px;font-size:var(--font-body);color:var(--text);line-height:1.8;margin-bottom:3px}
.dataset-tabs{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid #cad4df}
.dataset-tabs button{border:0;border-bottom:3px solid transparent;background:transparent;text-align:left;padding:18px 20px;color:var(--muted);font-size:var(--font-body);font-weight:600;line-height:1.5}
.dataset-tabs button span{display:block;font-size:var(--font-small);text-transform:uppercase;letter-spacing:1px;font-weight:400;margin-top:4px}
.dataset-tabs button[aria-selected=true]{border-bottom-color:var(--blue);color:var(--blue);background:#eef3f8}
.dataset-tabs button:hover{color:var(--blue)}
.dataset-info{display:grid;grid-template-columns:1fr 1.8fr;gap:50px;padding:28px 0}
.dataset-info>p{font-size:var(--font-body);color:var(--text)}
#dataset-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;align-items:center}
dt{font-size:var(--font-small);color:var(--muted);letter-spacing:.7px;text-transform:uppercase}
dd{margin:3px 0 0;font-size:var(--font-body);font-weight:500;font-variant-numeric:tabular-nums;white-space:nowrap}
.video-frame{border:1px solid var(--line);background:white}
.video-frame video{width:100%;aspect-ratio:16/9;object-fit:contain}
.media-caption{font-size:var(--font-small);color:var(--muted);text-align:center;margin-top:13px}
.research-figure{margin:42px 0 38px}
figcaption{font-size:var(--font-small);color:var(--muted);line-height:1.7;margin-top:16px}
figcaption span{font-weight:600;color:var(--text)}
.method-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:38px;padding:30px 0 46px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.method-steps article>span{font-size:var(--font-small);color:var(--blue);font-family:monospace}
.method-steps h3{margin:10px 0}
.method-steps p{font-size:var(--font-small);line-height:1.8;color:var(--text)}
.figure-pair{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start;margin-top:44px}
.figure-pair img{width:100%;height:290px;object-fit:contain}
.figure-pair figcaption strong{display:block;font-size:var(--font-body);margin-bottom:6px;color:var(--ink);font-weight:500}
.figure-disclosure{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:40px}
.figure-disclosure summary{cursor:pointer;font-size:var(--font-body);padding:20px 0;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:15px}
.figure-disclosure summary::-webkit-details-marker{display:none}
.figure-disclosure summary span{font-size:22px;color:var(--blue)}
.figure-disclosure[open] summary span{transform:rotate(45deg)}
.figure-disclosure .figure-pair{margin:10px 0 30px}
.result-controls{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px}
.segmented{display:inline-flex;border:1px solid #cfd9e3;background:white;padding:3px;border-radius:5px}
.segmented button{border:none;padding:8px 16px;font-size:var(--font-small);color:var(--text);background:transparent;border-radius:3px}
.segmented button[aria-pressed=true]{background:var(--blue);color:white}
.select-label{display:flex;gap:12px;align-items:center;font-size:var(--font-small);color:var(--muted)}
select{background:white;color:var(--ink);border:1px solid #cfd9e3;border-radius:4px;font-size:var(--font-small);padding:10px 30px 10px 12px}
.table-container{overflow-x:auto;background:white;border-top:2px solid var(--ink);border-bottom:1px solid var(--line)}
table{width:100%;border-collapse:collapse;text-align:right;white-space:nowrap;font-size:var(--font-body);font-variant-numeric:tabular-nums}
caption{text-align:left;padding:15px 20px;font-size:var(--font-small);color:var(--text);border-bottom:1px solid var(--line)}
th{font-size:var(--font-small);font-weight:600;color:var(--muted);padding:15px 18px;border-bottom:1px solid #b8c5d2}
th:first-child,td:first-child{text-align:left;padding-left:20px}
td{padding:18px;border-bottom:1px solid #ebeff3}
tbody tr:last-child td{border:0}
tbody tr:hover{background:#fafcfe}
td.best{color:var(--blue);font-weight:700;background:#edf4fb}
td:first-child{font-weight:500;font-size:var(--font-small)}
.table-notes{display:flex;justify-content:space-between;gap:35px;margin-top:18px;font-size:var(--font-small);color:var(--text)}
.table-notes p{max-width:770px}
.table-notes span{white-space:nowrap}
.table-notes i{display:inline-block;width:8px;height:8px;background:var(--blue);margin-right:7px}
.source-note{font-size:var(--font-small);color:var(--muted);margin-top:14px;max-width:930px}
.resource-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.resource-item{padding:28px 22px 26px;color:var(--ink);display:flex;flex-direction:column;align-items:flex-start}
.resource-item:first-child{padding-left:0}
.resource-item+.resource-item{border-left:1px solid var(--line)}
.resource-item:hover{text-decoration:none}
.resource-item[href]:hover h3{color:var(--blue)}
.resource-kind{font-size:var(--font-small);letter-spacing:1.4px;color:var(--muted)}
.resource-item h3{margin:14px 0 10px;font-size:var(--font-subheading)}
.resource-item h3 span{color:var(--muted);font-size:var(--font-body)}
.resource-item p{color:var(--text);font-size:var(--font-small);line-height:1.8;margin-bottom:25px}
.resource-status{margin-top:auto;font-size:var(--font-small);color:var(--muted)}
.resource-status.available{color:var(--blue)}
.release-note{margin-top:20px;font-size:var(--font-small);color:var(--muted)}
.citation-section{padding-top:0;display:grid;grid-template-columns:1fr 2fr;gap:60px}
.citation-section h2{font-size:31px;max-width:270px}
.citation-box{border:1px solid var(--line);background:var(--wash);min-width:0;border-radius:4px}
.code-toolbar{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:10px 17px;font-size:var(--font-small);color:var(--muted)}
.code-toolbar button{border:0;background:transparent;color:var(--blue);font-size:var(--font-small);padding:3px 0}
pre{font-family:'SFMono-Regular',Consolas,monospace;font-size:var(--font-small);line-height:1.8;overflow:auto;margin:0;padding:20px;color:var(--text)}
#copy-status:empty{display:none}
#copy-status{font-size:var(--font-small);padding:0 20px 12px;color:var(--blue)}
footer.section-shell{padding:25px 0 30px;border-top:1px solid var(--line);display:flex;gap:22px;align-items:center;justify-content:space-between}
footer .wordmark{font-size:var(--font-body)}
footer p,footer>a:last-child{font-size:var(--font-small);color:var(--muted)}
dialog{width:min(1500px,94vw);max-height:92vh;border:1px solid var(--line);padding:55px 20px 20px;border-radius:5px;background:white}
dialog::backdrop{background:rgba(18,27,37,.75)}
dialog img{width:100%;height:auto}
dialog p{font-size:var(--font-small);color:var(--muted);text-align:center;margin-top:20px}
.dialog-close{position:fixed;right:4vw;top:5vh;border:1px solid var(--line);background:white;border-radius:4px;padding:7px 15px;font-size:var(--font-small);color:var(--ink);z-index:1}

@media(min-width:1500px){:root{--width:1200px}
.hero h1{font-size:46px}
}

@media(max-width:1220px){.section-shell,.nav-shell{margin-left:38px;margin-right:38px}
.dataset-info{gap:25px}
.dataset-info>p{max-width:290px}
}

@media(max-width:850px){.hero{padding-top:52px}
.hero h1{font-size:33px;letter-spacing:-1px}
.hero h1>span{font-size:44px}
.desktop-break{display:none}
.authors{font-size:var(--font-body);gap:7px 15px}
.section-shell{padding-top:65px;padding-bottom:65px}
.overview{grid-template-columns:1fr;gap:25px;padding-top:20px}
.overview h2 br{display:none}
.section-heading{gap:28px}
.section-heading>p{max-width:290px;font-size:var(--font-small)}
h2{font-size:32px}
.dataset-tabs button{font-size:var(--font-small);padding:15px 10px}
.dataset-info{grid-template-columns:1fr;gap:18px}
.dataset-info>p{max-width:none}
.method-steps{gap:20px}
.figure-pair{gap:25px}
.figure-pair img{height:220px}
.resource-grid{grid-template-columns:1fr 1fr}
.resource-item{padding:24px}
.resource-item:nth-child(odd){padding-left:0;border-left:0}
.resource-item:nth-child(n+3){border-top:1px solid var(--line)}
.citation-section{grid-template-columns:1fr;gap:25px}
.citation-section h2{max-width:none}
nav{gap:17px;font-size:var(--font-small)}
.result-controls{flex-wrap:wrap}
footer p{max-width:330px}
}

@media(max-width:600px){html{scroll-padding-top:104px}
.section-shell,.nav-shell{margin-left:20px;margin-right:20px}
.nav-shell{height:auto;min-height:86px;flex-direction:column;justify-content:center;gap:9px;padding:10px 0}
.wordmark{font-size:var(--font-subheading)}
.wordmark svg{width:21px;height:21px}
nav{gap:20px;font-size:var(--font-small)}
.hero{padding-top:37px;padding-bottom:20px}
.eyebrow{font-size:var(--font-small);letter-spacing:1.2px}
.hero h1{font-size:27px;line-height:1.3;margin-top:12px;margin-bottom:23px;letter-spacing:-.8px}
.hero h1>span{font-size:40px}
.authors{font-size:var(--font-small);gap:5px 13px}
.affiliations{font-size:var(--font-small);gap:3px 12px}
.author-note{font-size:var(--font-small)}
.resource-buttons{gap:7px;margin-top:22px}
.button{font-size:var(--font-small);padding:7px 12px;min-height:37px;gap:8px}
.teaser{margin-top:30px}
.teaser figcaption{font-size:var(--font-small);max-width:310px;line-height:1.7}
.stats{grid-template-columns:1fr 1fr;margin-top:28px;padding:0}
.stats>div{padding:17px 5px}
.stats>div+div{border-left:0}
.stats>div:nth-child(even){border-left:1px solid var(--line)}
.stats>div:nth-child(n+3){border-top:1px solid var(--line)}
.stats strong{font-size:25px}
.stats span{font-size:var(--font-small)}
.section-shell{padding-top:50px;padding-bottom:50px}
.overview{padding-top:20px}
.section-number{font-size:var(--font-small);letter-spacing:1.4px}
h2{font-size:30px;margin-top:12px}
.section-heading{display:block;margin-bottom:28px}
.section-heading>p{max-width:none;margin-top:20px}
.prose p{font-size:var(--font-body)}
.prose p.lead{font-size:var(--font-subheading)}
.task-row{gap:7px}
.task-row span{font-size:var(--font-small);padding:5px 7px}
.dataset-tabs button{font-size:var(--font-small);padding:12px 6px;letter-spacing:-.2px}
.dataset-tabs button span{font-size:var(--font-small);letter-spacing:.5px}
#dataset-stats{grid-template-columns:1fr 1fr;gap:16px 25px}
.dataset-info{padding:20px 0}
.dataset-info>p{font-size:var(--font-small)}
dd{font-size:var(--font-body)}
.media-caption{font-size:var(--font-small)}
.method-steps{grid-template-columns:1fr;gap:23px;padding:26px 0}
.method-steps article{padding-left:35px;position:relative}
.method-steps article>span{position:absolute;left:0;top:8px}
.method-steps h3{font-size:var(--font-body);margin:5px 0}
.figure-pair{grid-template-columns:1fr;gap:30px;margin-top:30px}
.figure-pair img{height:auto;max-height:350px}
.research-figure{margin:25px 0}
.research-figure figcaption{font-size:var(--font-small)}
.figure-disclosure summary{font-size:var(--font-small)}
.result-controls{gap:15px}
.segmented{width:100%;display:flex}
.segmented button{flex:1;padding:9px 12px;font-size:var(--font-small)}
.select-label{width:100%;justify-content:space-between}
.select-label select{flex:1;max-width:250px}
caption{font-size:var(--font-small);padding:13px 12px}
th{font-size:var(--font-small);padding:13px 12px}
td{font-size:var(--font-small);padding:15px 12px}
th:first-child,td:first-child{padding-left:12px}
td:first-child{font-size:var(--font-small)}
.table-notes{display:block}
.table-notes span{display:block;margin-top:10px;font-size:var(--font-small)}
.table-notes p,.source-note{font-size:var(--font-small)}
.resource-grid{grid-template-columns:1fr 1fr}
.resource-item{padding:20px 12px}
.resource-item h3{font-size:var(--font-body)}
.resource-item p{font-size:var(--font-small)}
.resource-kind{font-size:var(--font-small);letter-spacing:1px}
.release-note{font-size:var(--font-small)}
.citation-section{padding-top:8px}
.citation-section h2{font-size:28px}
pre{font-size:var(--font-small);padding:15px}
.citation-box{width:100%}
footer.section-shell{padding-top:22px;padding-bottom:22px;flex-wrap:wrap;gap:12px}
footer p{order:3;width:100%;font-size:var(--font-small)}
dialog{padding:50px 8px 10px;width:96vw}
.dialog-close{right:5vw}
.figure-disclosure .figure-pair{margin-top:5px}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
*{transition:none!important;animation:none!important}
}


/* Official PanoBench artwork, shared across brand placements. */
.wordmark img{width:150px;height:auto}
.hero h1 .hero-logo{width:min(500px,85%);height:auto;margin:0 auto 24px}
footer .wordmark img{width:130px}
@media(max-width:600px){.wordmark img{width:130px}
.hero h1 .hero-logo{width:min(360px,95%);margin-bottom:22px}
}


/* Readable typography shared by desktop and mobile. */
.authors{font-size:var(--font-subheading);line-height:1.7;row-gap:8px}

.affiliations{font-size:var(--font-body);line-height:1.7;row-gap:6px;max-width:1000px}

.section-number,.resource-kind,dt{font-size:var(--font-small);letter-spacing:1px}

figcaption,.media-caption,.source-note,.release-note,.table-notes{line-height:1.75}

.button,.segmented button,.select-label,select{font-size:var(--font-body)}

.button,.segmented button{min-height:44px}

pre{font-size:var(--font-small);line-height:1.75;white-space:pre-wrap;overflow-wrap:anywhere}

.code-toolbar,.code-toolbar button{font-size:var(--font-small)}

@media(max-width:600px){
 nav{gap:8px 16px;justify-content:center;flex-wrap:wrap;font-size:var(--font-small)}

 .authors{font-size:var(--font-body)}

 .affiliations{font-size:var(--font-small)}

 .dataset-tabs button{font-size:var(--font-small);overflow-wrap:anywhere}

 .segmented button{font-size:var(--font-small);padding:9px 10px}

 .resource-grid{grid-template-columns:1fr}

 .resource-item,.resource-item:first-child{padding:22px 0;border-left:0}

 .resource-item+.resource-item{border-top:1px solid var(--line);border-left:0}

 .stats span{font-size:var(--font-small)}

}


/* Keep the overview caption readable at both breakpoints. */
.teaser figcaption{font-size:18px;line-height:1.7;max-width:1000px}
@media(max-width:600px){.teaser figcaption{font-size:16px;max-width:none}}

/* Site-wide minimum type size; includes labels and author superscripts. */
:root{--font-small:18px;--font-body:18px;--font-subheading:20px;--font-min:18px}
body{font-size:var(--font-body)}
sup{font-size:var(--font-min)}
nav{flex-wrap:wrap;justify-content:center;gap:12px 22px}
.nav-shell{min-height:76px;height:auto;padding:12px 0}
.section-number,.resource-kind,dt{letter-spacing:.5px}
.dataset-info{grid-template-columns:1fr;gap:24px}
.dataset-info>p{max-width:none}
.resource-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.resource-item:nth-child(odd){border-left:0;padding-left:0}
.resource-item:nth-child(n+3){border-top:1px solid var(--line)}
.result-controls{flex-wrap:wrap}
@media(max-width:600px){
 :root{--font-small:16px;--font-body:16px;--font-subheading:18px;--font-min:16px}
 nav{gap:8px 14px}
 .nav-shell{min-height:100px}
 html{scroll-padding-top:140px}
 .resource-grid{grid-template-columns:1fr}
 .resource-item{padding:22px 0}
 .resource-item+.resource-item{border-left:0;border-top:1px solid var(--line)}
 .segmented{flex-wrap:wrap}
 .segmented button{flex:1 1 auto}
}

/* Citation spans the full content column beneath its label. */
.citation-section{grid-template-columns:minmax(0,1fr);gap:20px}
.citation-box{width:100%;min-width:0}

/* Preserve field boundaries, wrap long citation fields at word boundaries. */
.citation-box pre{white-space:pre-wrap;word-break:normal;overflow-wrap:break-word}

/* Resource links follow the reference site's icon-and-label pill style. */
.resource-buttons{gap:10px}
.resource-buttons .button{border-radius:999px;background:#363636;border-color:#363636;color:#fff;gap:9px;padding:9px 20px;min-height:46px;line-height:1.4}
.resource-buttons .button[href]:hover{background:#222;border-color:#222;color:#fff}
.resource-buttons .button.pending{background:#505050;border-color:#505050;color:#fff}
.resource-buttons .resource-icon{width:20px;height:20px;flex:none;filter:brightness(0) invert(1)}
.resource-buttons .soon{background:transparent;color:#e0e0e0;padding:0;text-transform:none;letter-spacing:0;font-size:var(--font-small)}
@media(max-width:600px){.resource-buttons .button{padding:9px 16px}.resource-buttons .resource-icon{width:18px;height:18px}}

/* Light resource pills with individual brand colors. */
.resource-buttons .button,.resource-buttons .button.primary{background:#fff;border-color:#cbd5df;color:var(--ink)}
.resource-buttons .button[href]:hover{background:#f0f5fa;border-color:#8ba9c5;color:var(--ink)}
.resource-buttons .button.pending{background:#f7f9fb;border-color:#d8dfe6;color:var(--text)}
.resource-buttons .resource-icon{filter:none}
.resource-buttons .soon{color:#64748b}

/* Full-width original demo comparisons, with readable labels outside the video. */
.comparison-videos{display:grid;gap:48px}
.comparison-card{min-width:0}
.comparison-card h3{margin-bottom:20px}
.comparison-labels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;text-align:center;font-size:var(--font-body);font-weight:700;padding:16px 8px;background:var(--wash);border:1px solid var(--line);border-bottom:0;border-radius:8px 8px 0 0;overflow-wrap:anywhere}
.comparison-labels span:last-child{color:var(--blue)}
.comparison-card video{width:100%;height:auto;background:#f2f2f2;border:1px solid var(--line);border-radius:0 0 8px 8px}
.comparison-section>.source-note{margin-top:24px}
@media(max-width:600px){.comparison-videos{gap:32px}.comparison-labels{gap:8px;padding:12px 6px}}

/* Paper abstract and structured benchmark overview. */
h2.section-number{font-family:inherit;font-size:var(--font-body);line-height:1.5;font-weight:700;letter-spacing:.5px;margin:0}
.abstract-section{padding-top:40px;border-bottom:1px solid var(--line)}
.abstract-section>p{margin-top:28px;font-size:var(--font-body);line-height:1.9;color:var(--text)}
.overview-redesign>.section-number{margin-bottom:32px}
.overview-row{padding:28px 0;border-top:1px solid var(--line)}
.overview-row>h3{margin-bottom:20px;color:var(--blue)}
.overview-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.overview-cards article{padding:24px;background:var(--wash);border:1px solid var(--line);border-radius:8px;min-width:0}
.overview-cards h4{font-size:var(--font-subheading);line-height:1.5;margin:0 0 12px}
.overview-cards p{font-size:var(--font-body);color:var(--text);line-height:1.75}
.overview-tag{display:block;font-size:var(--font-small);color:var(--blue);font-weight:700;margin-bottom:12px}
.feature-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
.comparison-card[hidden]{display:none}
@media(max-width:800px){.overview-cards{grid-template-columns:1fr}.overview-cards article{padding:20px}}

/* Preserve benchmark names and italicize only the comparison prefix. */
.dataset-tabs button[data-comparison] span{text-transform:none}
[data-comparison] em{font-style:italic}

/* Abstract sits between the hero resource links and overview figure. */
.hero .abstract-section{text-align:left;margin-top:44px;padding:32px 0;border-top:1px solid var(--line)}

/* Overview figure follows its section label without a divider. */
.overview-redesign>.teaser{margin:0 0 32px;text-align:center}
.overview-redesign>.stats+.overview-row{border-top:0}

.overview-redesign>.stats{text-align:center;margin-top:0;margin-bottom:32px}

/* Storage comparison follows the original demo's per-dataset normalized bars. */
.experiment-block+.experiment-block{margin-top:64px;padding-top:40px;border-top:1px solid var(--line)}
.experiment-block>h3{font-size:24px;margin-bottom:20px}
.experiment-note{font-size:var(--font-body);line-height:1.75;color:var(--text);margin:16px 0 24px}
.footprint-charts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px}
.footprint-chart h4{font-size:var(--font-subheading);margin:0 0 24px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.footprint-row{display:grid;grid-template-columns:minmax(0,1fr) 100px;gap:6px 12px;margin-bottom:24px}
.footprint-row h5{grid-column:1/-1;font-size:var(--font-body);margin:0 0 4px;font-weight:600}
.footprint-bar{display:grid;grid-template-columns:minmax(0,1fr) 62px;gap:12px;align-items:center;grid-column:1;font-size:var(--font-body);font-variant-numeric:tabular-nums}
.bar-track{height:16px;display:block}.bar-track i{height:100%;display:block;border-radius:2px}
.official i,i.official{background:#aab5c2}.canonical i,i.canonical{background:var(--blue)}
.footprint-reduction{grid-column:2;grid-row:2/4;align-self:center;text-align:right;color:#207349;font-size:var(--font-subheading);font-weight:700}
.footprint-legend{display:flex;flex-wrap:wrap;gap:24px;margin:20px 0 28px;font-size:var(--font-body)}
.footprint-legend span{display:flex;align-items:center;gap:10px}.footprint-legend i{width:28px;height:14px;border-radius:2px}
.quality-tabs{display:flex;flex-wrap:wrap;gap:10px;border-bottom:1px solid var(--line);padding-bottom:16px}
.quality-tabs button{border:1px solid var(--line);border-radius:5px;padding:12px 16px;background:#fff;color:var(--text);font-size:var(--font-body)}
.quality-tabs button[aria-selected="true"]{background:var(--blue);border-color:var(--blue);color:#fff}
.quality-panel[hidden]{display:none}.annotation-table th[scope="row"]{font-weight:400;text-transform:none;letter-spacing:0}
.annotation-table td,.annotation-table th{white-space:nowrap}.annotation-table strong{color:var(--blue);font-weight:700}
.qualitative-results h4{font-size:var(--font-subheading);margin:28px 0 20px}.qualitative-results figure+ h4{margin-top:44px}
.qualitative-results figcaption{font-size:var(--font-body);color:var(--text);margin-top:16px;line-height:1.75}
@media(max-width:800px){.footprint-charts{grid-template-columns:1fr;gap:32px}}
@media(max-width:600px){.experiment-block>h3{font-size:20px}.footprint-row{grid-template-columns:minmax(0,1fr) 78px}.quality-tabs button{flex:1 1 140px;text-align:left}.footprint-bar{grid-template-columns:minmax(0,1fr) 50px;gap:8px}}
