:root { --ink: #101827; --paper: #f7f7f2; --blue: #2d6cdf; --red: #dc4d47; --green: #49a078; }
body { background: var(--paper); color: var(--ink); }.csg-hero { background: radial-gradient(circle at 50% 20%, #fff 0, #f7f7f2 46%, #e9e6da 100%); }.csg-hero .hero-body { padding: 3.6rem 1.5rem 3rem; }.eyebrow { color: var(--blue); font: 500 .76rem/1 'DM Mono', monospace; letter-spacing: .13em; text-transform: uppercase; margin-bottom: 1rem; }.publication-title { font-size: clamp(2.45rem, 4.6vw, 3.8rem) !important; letter-spacing: -.04em; line-height:1.08 !important; margin:0 !important; }.title-main { display:block; font-weight:700; }.title-detail { display:block; max-width:850px; margin:.42rem auto 0; color:#46536a; font-size:.37em; font-weight:500; letter-spacing:-.018em; line-height:1.3; }.affiliations,.venue { color:#59677a; font-size:.96rem; margin:.2rem 0; }.venue { font-weight:600; margin-bottom:1.1rem; }
.hero-figure, .paper-figure { margin: 2.4rem auto .3rem; }.hero-figure { max-width:1050px; }.hero-figure img, .paper-figure img { width:100%; display:block; background:#fff; border:1px solid #d8d6cc; border-radius:16px; box-shadow:0 12px 30px rgba(16,24,39,.09); }.hero-figure figcaption, .paper-figure figcaption, .result-card figcaption { color:#59677a; font-size:.88rem; line-height:1.5; text-align:center; margin:.8rem auto 0; }.paper-figure { max-width:1000px; }.paper-figure img { border-radius:12px; }
.abstract-section .content { color:#344156; font-size:1.07rem; }.feature-grid { margin-top:1rem; }.feature-card { height:100%; padding:1.8rem; border:1px solid #deddd6; border-radius:14px; background:#fff; }.feature-card h3 { font-size:1.15rem; margin:.75rem 0; }.feature-card p, .section-intro { color:#59677a; }.feature-number { color:var(--blue); font:500 .78rem/1 'DM Mono', monospace; }.pipeline { display:flex; gap:12px; align-items:stretch; margin-top:1.8rem; }.pipeline-step { flex:1; padding:1.35rem; border-radius:12px; background:var(--ink); color:white; }.pipeline-step span { color:#9dc2ff; font:500 .8rem 'DM Mono', monospace; }.pipeline-step h3 { font-size:1rem; margin:.7rem 0 .45rem; }.pipeline-step p { color:#d0d7e3; font-size:.87rem; line-height:1.45; }.pipeline-arrow { color:var(--blue); font-size:1.5rem; align-self:center; }.section-intro { max-width:650px; text-align:center; margin:-1rem auto 1.35rem; }.legend { display:flex; flex-wrap:wrap; justify-content:center; gap:18px; font-size:.85rem; color:#445268; margin-bottom:1.5rem; }.legend-dot { display:inline-block; width:9px; height:9px; border-radius:50%; margin-right:5px; }.red{background:var(--red)}.blue{background:var(--blue)}.green{background:var(--green)}.results-gallery { padding:0 0 1rem; }.gallery-slide { display:none; }.gallery-slide.is-active { display:block; }.gallery-slide img { width:100%; max-height:760px; object-fit:contain; display:block; border:1px solid #deddd6; border-radius:12px; background:#fff; }.gallery-caption { max-width:920px; color:#59677a; font-size:.95rem; text-align:center; line-height:1.55; margin:1rem auto .3rem; }.gallery-caption strong { color:var(--ink); }.gallery-controls { display:flex; justify-content:center; align-items:center; gap:1rem; margin-top:1.25rem; }.gallery-button { display:inline-flex; align-items:center; gap:.55rem; padding:.62rem .95rem; color:#fff; background:var(--ink); border:0; border-radius:9px; font-weight:600; cursor:pointer; }.gallery-button:hover,.gallery-button:focus { background:var(--blue); }.gallery-count { min-width:4.1rem; color:#59677a; font:500 .8rem 'DM Mono',monospace; text-align:center; }
@media (max-width:760px) { .csg-hero .hero-body{padding-top:2.8rem}.pipeline{display:grid;grid-template-columns:1fr 26px}.pipeline-step{grid-column:1}.pipeline-arrow{grid-column:2;transform:rotate(90deg);align-self:center}.gallery-slide img{max-height:420px}.publication-title{font-size:2.35rem!important}.title-detail{font-size:.43em} }
.hero-figure { position:static; display:block; width:100%; }
.hero-figure .csg-teaser-video { position:static; transform:none; width:100%; height:auto; max-height:70vh; object-fit:contain; display:block; background:#fff; border:1px solid #d8d6cc; border-radius:16px; box-shadow:0 12px 30px rgba(16,24,39,.09); }
.method-comparison-section { background:#fff; }.comparison-window { padding:1rem; border:1px solid #deddd6; border-radius:16px; background:#f7f7f2; box-shadow:0 12px 30px rgba(16,24,39,.07); }.comparison-window img { border:0; box-shadow:none; }.comparison-window figcaption strong { color:var(--ink); }
