/* GLOBAL BASE STYLE */
body {
    font-family: 'Inter', sans-serif;
    margin: 0;
    padding: 0;
    background: #fafafa;
    color: #222;
    line-height: 1.6;
}

.container {
    max-width: 1100px;
    margin: 0 auto;
    padding: 20px;
    text-align: center;
}

/* TEXT */
h1 {
    font-size: 38px;
    font-weight: 700;
    margin-bottom: 5px;
}

h2 {
    font-size: 26px;
    margin-top: 50px;
    font-weight: 600;
}

p {
    max-width: 850px;
    margin: 0 auto 20px;
    font-size: 17px;
}

.authors {
    font-size: 18px;
    color: #3366cc;
    margin-bottom: 8px;
}

.affiliation {
    font-size: 18px;
    color: #555;
    margin-bottom: 4px;
}

.conference {
    font-size: 18px;
    font-weight: 600;
    color: #b30000;
    margin-bottom: 25px;
}

/* BUTTONS */
.button-row { margin: 20px 0 35px; }

.button {
    display: inline-block;
    padding: 10px 18px;
    margin: 6px;
    background: #333;
    color: white;
    border-radius: 25px;
    font-size: 15px;
    text-decoration: none;
    transition: 0.2s;
}

.button:hover { background: #555; }

/* IMAGE WRAPPER */
.img-center {
    width: 100%;
    text-align: center;
    margin-bottom: 30px;
}

/* FIXED DESKTOP SIZES — KEEPING YOUR EXACT VALUES */
.img-pipeline { width: 600px; height: auto; }
.img-noise     { width: 1000px; height: auto; }
.img-seg       { width: 1000px; height: auto; }
.img-robustness { width: 800px; height: auto; }

/* TEASER STACK */
.teaser-stack {
    width: 100%;
    max-width: 800px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.teaser-img-small {
    max-width: 400px;
    width: 100%;
    height: auto;
    margin: 0 auto;
}

.teaser-img-large {
    max-width: 600px;
    width: 100%;
    height: auto;
    margin: 0 auto;
}

/* 2×1 + full-width grid */
.image-grid { max-width: 1300px; margin: 0 auto; }

.image-row {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
    margin-bottom: 30px;
}

.half-img {
    width: 30%;
    height: auto;
    object-fit: contain;
}

.full-img {
    width: 60%;
    height: auto;
    object-fit: contain;
}

/* BIBTEX BOX */
.bibtex-box {
    background: #eee;
    padding: 20px;
    max-width: 800px;
    margin: 0 auto;
    border-radius: 8px;
    text-align: left;
    overflow-x: auto;
}

/* DIVIDER */
.section-divider {
    width: 100%;
    height: 2px;
    background: #ddd;
    margin: 50px auto;
}

/* FOOTER */
.footer {
    margin-top: 50px;
    font-size: 14px;
    color: #777;
    padding-bottom: 40px;
}

/* ========================================= */
/*             MOBILE RESPONSIVE             */
/* ========================================= */
@media (max-width: 900px) {

    h1 { font-size: 28px; }
    h2 { font-size: 22px; }
    p  { font-size: 16px; padding: 0 10px; }

    .button { font-size: 14px; padding: 8px 14px; }

    /* Images scale to screen width but preserve aspect */
    .img-pipeline,
    .img-noise,
    .img-seg,
    .img-robustness {
        width: 100%;
        max-width: 100%;
    }

    .half-img, .full-img {
        width: 100%;
    }

    .image-row {
        flex-direction: column;
        gap: 15px;
    }

    .teaser-img-small,
    .teaser-img-large {
        max-width: 100%;
    }

    .container {
        padding: 10px;
    }

    .bibtex-box {
        font-size: 14px;
    }
}
