/* Rev03 — D90 model page sections (Reimagine Legends / Atelier / Size It Up) */

.rv3-d90-sections {
    background: #b4b4b2;
    font-family: 'Switzer', sans-serif;
    overflow: hidden;
}

/* ---------- 01 · Reimagine Legends ---------- */

.rv3-legends {
    position: relative;
    display: grid;
    grid-template-columns: 24.5vw 1fr;
    align-items: start;
    align-content: center;
    box-sizing: border-box;
    min-height: var(--rv3-lg-h, 100vh);
    padding: 7vw 14vw 7vw 16.2vw;
}

/* Raccordo con il grigio del video: sfumatura dall'alto, così il cambio
   di tonalità fra le due sezioni non si nota. Colore e lunghezza sono
   modificabili dal widget in Elementor. */
.rv3-legends::before {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: var(--rv3-lg-blend-h, 45vh);
    background: linear-gradient(to bottom, var(--rv3-lg-blend, #b0afaf), rgba(180, 180, 178, 0));
    pointer-events: none;
}

.rv3-legends-label,
.rv3-legends-copy {
    position: relative;
    z-index: 1;
}

.rv3-legends-label {
    font-size: calc(clamp(15px, 1.58vw, 30px) * var(--rv3-lg-scale, 0.92));
    font-weight: 700;
    letter-spacing: 0.02em;
    color: #1c1c1c;
    white-space: nowrap;
}

.rv3-legends-copy p {
    margin: 0 0 1.5vw;
    font-size: calc(clamp(13px, 1.5vw, 29px) * var(--rv3-lg-scale, 0.92));
    font-weight: 300;
    line-height: 1.35;
    color: #3f3f3f;
}

/* ---------- 03 · Size It Up ---------- */

.rv3-sizeup {
    position: relative;
    margin-top: 6vw;
    aspect-ratio: 16 / 9;
    background-size: cover;
    background-position: center;
}

.rv3-sizeup-inner {
    position: absolute;
    left: 7.5vw;
    top: 55%;
    transform: translateY(-50%);
}

.rv3-sizeup-title {
    margin: 0 0 3.6vw;
    font-size: clamp(26px, 4.5vw, 87px);
    font-weight: 300;
    letter-spacing: 0.01em;
    color: #3a3a3a;
}

.rv3-dims {
    display: grid;
    row-gap: 0.85vw;
}

.rv3-dim-row {
    display: grid;
    grid-template-columns: 1.9vw 14.7vw 5.2vw;
    align-items: baseline;
    font-size: clamp(10px, 1.13vw, 22px);
    color: #4a4a4a;
}

.rv3-dim-letter,
.rv3-dim-label {
    font-weight: 400;
}

.rv3-dim-value {
    text-align: right;
    white-space: nowrap;
}

/* ---------- Mobile ---------- */

@media (max-width: 767px) {

    .rv3-legends {
        grid-template-columns: 1fr;
        min-height: auto;
        padding: 22vw 7vw 18vw;
        row-gap: 5vw;
    }

    .rv3-legends::before {
        height: 28vh;
    }

    .rv3-legends-label {
        font-size: calc(17px * var(--rv3-lg-scale, 0.92));
    }

    .rv3-legends-copy p {
        font-size: calc(15px * var(--rv3-lg-scale, 0.92));
        margin-bottom: 4.5vw;
    }


    .rv3-sizeup {
        margin-top: 14vw;
        aspect-ratio: auto;
        padding: 10vw 7vw 112vw;
        background-position: 62% bottom;
        background-size: 200% auto;
        background-repeat: no-repeat;
        background-color: #b4b4b2;
    }

    .rv3-sizeup-inner {
        position: static;
        transform: none;
    }

    .rv3-sizeup-title {
        font-size: 34px;
        margin-bottom: 8vw;
    }

    .rv3-dims {
        row-gap: 2.4vw;
    }

    .rv3-dim-row {
        grid-template-columns: 22px 1fr auto;
        font-size: 13px;
    }
}
