/* Revestir · Productos a medida — generado por tools/build_theme.py. No editar a mano. */
.rv h1, .rv h2, .rv h3, .rv h4, .rv p, .rv dl, .rv dt, .rv dd, .rv ol, .rv ul, .rv li, .rv figure, .rv figcaption,
.rv blockquote, .rv small, .rv span, .rv a, .rv button, .rv label, .rv output { font-family: inherit; color: inherit; text-shadow: none; }
.rv h1, .rv h2, .rv h3 { font-weight: inherit; }
.rv img { border: 0; border-radius: 0; box-shadow: none; }
.rv button { border-radius: 0; box-shadow: none; }
.rv section { border: 0; }
.rv {
    --fondo: #F7F4EE;
    --tile: #EEEAE3;
    --texto: #1C1B1A;
    --sec: #6B6862;
    --linea: rgba(28, 27, 26, .12);
    --cota: rgba(28, 27, 26, .72);
    --arcilla: #8A4B3C;
    --sans: 'Jost', 'Helvetica Neue', sans-serif;
    --serif: 'Libre Caslon Text', Georgia, serif;
    --g: clamp(20px, 3.4vw, 56px);
    --ease: cubic-bezier(.42, 0, .58, 1);
    --draw: cubic-bezier(.65, 0, .35, 1);
  }
.rv, .rv * { box-sizing: border-box; }
.rv { margin: 0; }
.rv { background: var(--fondo); color: var(--texto); font-family: var(--sans); font-weight: 300; font-size: 15px; line-height: 1.7; -webkit-font-smoothing: antialiased; overflow-x: hidden; }
.rv img { display: block; max-width: 100%; }
.rv a { color: inherit; }
.rv .caps { text-transform: uppercase; letter-spacing: .16em; font-size: 11px; font-weight: 400; }
.rv .link { text-decoration: none; padding-bottom: 5px; background: linear-gradient(currentColor, currentColor) left bottom / 100% 1px no-repeat; transition: background-size .3s linear; }
.rv .link:hover { background-size: 0 1px; background-position: right bottom; }
.rv .cota { position: absolute; color: var(--cota); pointer-events: none; z-index: 4; }
.rv .cota i { position: absolute; background: currentColor; }
.rv .cota b { position: absolute; font-weight: 400; font-size: 10.5px; letter-spacing: .16em; white-space: nowrap; font-variant-numeric: tabular-nums; }
.rv .cota--h { height: 9px; }
.rv .cota--h .l { left: 0; right: 0; top: 4px; height: 1px; transform-origin: center; }
.rv .cota--h .a, .rv .cota--h .z { top: 0; width: 1px; height: 9px; }
.rv .cota--h .a { left: 0; }
.rv .cota--h .z { right: 0; }
.rv .cota--h b { left: 50%; bottom: 14px; transform: translateX(-50%); }
.rv .cota--v { width: 9px; }
.rv .cota--v .l { top: 0; bottom: 0; left: 4px; width: 1px; transform-origin: center; }
.rv .cota--v .a, .rv .cota--v .z { left: 0; height: 1px; width: 9px; }
.rv .cota--v .a { top: 0; }
.rv .cota--v .z { bottom: 0; }
.rv .cota--v b { left: 30px; top: 50%; transform: translateY(-50%) rotate(90deg) translateX(-50%); transform-origin: left top; }
.rv .hero { position: relative; height: 100vh; overflow: hidden; }
.rv .hero__lamina { position: absolute; inset: 0; z-index: 2; will-change: clip-path; }
.rv .hero__lamina img { width: 100%; height: 100%; object-fit: cover; object-position: 40% 38%; }
.rv .hero__lamina::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,.22), rgba(0,0,0,0) 26%); opacity: var(--osc, 0); }
.rv .hero__marco { position: absolute; inset: 0; z-index: 3; pointer-events: none; overflow: visible; }
.rv .hero__marco rect { fill: none; stroke: var(--cota); stroke-width: 1; }
.rv .hero__txt { position: absolute; left: var(--g); top: 30vh; z-index: 3; max-width: 44vw; }
.rv .hero__txt h1 { margin: 16px 0 28px; font-weight: 200; font-size: clamp(40px, 5.2vw, 86px); line-height: 1.02; letter-spacing: .04em; text-transform: uppercase; }
.rv .hero__txt h1 .s { font-family: var(--serif); font-style: italic; text-transform: none; letter-spacing: 0; font-weight: 400; font-size: .84em; }
.rv .hero__txt .l { display: block; overflow: hidden; padding-bottom: .14em; margin-bottom: -.14em; }
.rv .hero__txt .l > span { display: block; }
.rv .hero__txt p { color: var(--sec); max-width: 34ch; margin: 0 0 30px; }
.rv .hero__cta { display: flex; gap: 28px; }
.rv .hero__ref { position: absolute; z-index: 4; color: var(--sec); }
.rv .hero__sobre { position: absolute; left: var(--g); bottom: 11vh; z-index: 4; color: #fff; opacity: 0; text-shadow: 0 1px 2px rgba(0, 0, 0, .18), 0 2px 24px rgba(0, 0, 0, .32); }
.rv .hero__sobre h2 { margin: 12px 0 0; font-weight: 300; font-size: clamp(34px, 4.6vw, 76px); letter-spacing: .05em; text-transform: uppercase; line-height: 1.05; }
.rv .hero__sobre h2 .s { font-family: var(--serif); font-style: italic; text-transform: none; letter-spacing: 0; font-weight: 400; }
@media (max-width: 800px) {
.rv .hero__txt { top: 15vh; max-width: none; right: var(--g); }
.rv .hero__txt h1 { font-size: 36px; margin: 10px 0 14px; }
.rv .hero__txt p { display: none; }
}
.rv .intro { text-align: center; padding: clamp(96px, 12vw, 170px) var(--g) clamp(64px, 8vw, 110px); max-width: 1100px; margin: 0 auto; }
.rv .intro h2 { margin: 18px 0 26px; font-weight: 200; font-size: clamp(26px, 3vw, 42px); letter-spacing: .12em; text-transform: uppercase; line-height: 1.3; }
.rv .intro p { color: var(--sec); max-width: 56ch; margin: 0 auto; }
.rv .variables { margin-top: 44px; display: flex; flex-wrap: wrap; justify-content: center; }
.rv .variables span { padding: 4px 20px; border-left: 1px solid var(--linea); }
.rv .variables span:first-child { border-left: 0; }
.rv .lamina { position: relative; margin: 0; }
.rv .lamina__img { position: relative; overflow: hidden; height: 100%; background: var(--tile); }
.rv .lamina__img img { width: 100%; height: 100%; object-fit: cover; transition: transform 2s var(--ease); }
.rv .lamina:hover .lamina__img img { transform: scale(1.03); }
.rv .lamina > .cota--h { left: 0; right: 0; top: -30px; }
.rv .lamina > .cota--v { top: 0; bottom: 0; right: -30px; }
.rv .lamina > .cota--v.izq { right: auto; left: -30px; }
.rv .lamina > .cota--v.izq b { left: -22px; transform: translateY(-50%) rotate(-90deg) translateX(-50%); transform-origin: left top; }
.rv .lamina figcaption { margin-top: 14px; display: flex; justify-content: space-between; color: var(--sec); }
.rv .lamina__marco { position: absolute; inset: 0; pointer-events: none; overflow: visible; z-index: 3; }
.rv .lamina__marco rect { fill: none; stroke: var(--cota); stroke-width: 1; }
.rv.js .lamina .lamina__img { clip-path: inset(0 100% 0 0); }
.rv.js .lamina .lamina__img img { transform: scale(1.08); }
.rv.js .lamina .cota .l { transform: scale(0); }
.rv.js .lamina .cota .a, .rv.js .lamina .cota .z, .rv.js .lamina .cota b, .rv.js .lamina figcaption { opacity: 0; }
.rv.js .lamina .lamina__marco rect { stroke-dasharray: 1; stroke-dashoffset: 1; }
.rv.js .lamina.is-on .lamina__marco rect { stroke-dashoffset: 0; transition: stroke-dashoffset 1.3s var(--draw); }
.rv.js .lamina.is-on .lamina__img { clip-path: inset(0 0 0 0); transition: clip-path 1.3s var(--draw) .9s; }
.rv.js .lamina.is-on .lamina__img img { transform: scale(1); transition: transform 2.4s var(--ease) .9s; }
.rv.js .lamina.is-on .lamina__marco rect { opacity: 0; transition: stroke-dashoffset 1.3s var(--draw), opacity .6s 2.4s; }
.rv.js .lamina.is-on .cota .l { transform: none; transition: transform 1.1s var(--draw) 1.5s; }
.rv.js .lamina.is-on .cota .a, .rv.js .lamina.is-on .cota .z { opacity: 1; transition: opacity .3s 1.5s; }
.rv.js .lamina.is-on .cota b, .rv.js .lamina.is-on figcaption { opacity: 1; transition: opacity .6s 1.9s; }
.rv .rubro { display: grid; grid-template-columns: 1.55fr 1fr; gap: clamp(56px, 7vw, 120px); align-items: center; padding: clamp(80px, 9vw, 140px) calc(var(--g) + 30px); }
.rv .rubro--inv { grid-template-columns: 1fr 1.55fr; }
.rv .rubro--inv .lamina { order: 2; }
.rv .rubro .lamina { height: min(78vh, 760px); }
.rv .rubro__txt h2 { margin: 14px 0 20px; font-weight: 200; font-size: clamp(30px, 3.4vw, 54px); letter-spacing: .08em; text-transform: uppercase; line-height: 1.08; }
.rv .rubro__txt p { color: var(--sec); max-width: 40ch; margin: 0 0 28px; }
.rv .spec { display: grid; grid-template-columns: auto 1fr; gap: 10px 22px; margin: 0 0 34px; padding: 18px 0; border-top: 1px solid var(--linea); border-bottom: 1px solid var(--linea); }
.rv .spec dt { color: var(--sec); }
.rv .spec dd { margin: 0; text-transform: none; letter-spacing: .01em; font-size: 14px; font-weight: 300; }
.rv .telas { display: flex; gap: 6px; }
.rv .telas i { width: 18px; height: 18px; border-radius: 50%; background: var(--c); box-shadow: inset 0 0 0 1px rgba(0,0,0,.08); }
.rv .detalle { margin-top: 84px; width: 56%; }
.rv .detalle .lamina { height: 240px; }
.rv .par { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(56px, 7vw, 120px); padding: clamp(80px, 9vw, 140px) calc(var(--g) + 30px); border-top: 1px solid var(--linea); }
.rv .par .lamina { height: min(70vh, 680px); margin-bottom: 72px; }
@media (max-width: 900px) {
.rv .rubro, .rv .rubro--inv, .rv .par { grid-template-columns: 1fr; padding-left: calc(var(--g) + 24px); padding-right: calc(var(--g) + 24px); }
.rv .rubro--inv .lamina { order: 0; }
.rv .rubro .lamina, .rv .par .lamina { height: 62vh; }
.rv .detalle { width: 70%; }
}
.rv .servicios { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(24px, 3vw, 48px); padding: clamp(80px, 10vw, 140px) var(--g); border-top: 1px solid var(--linea); }
.rv .servicio figure { margin: 0 0 22px; aspect-ratio: 4 / 5; overflow: hidden; background: var(--tile); }
.rv .servicio img { width: 100%; height: 100%; object-fit: cover; transition: transform 2s var(--ease); }
.rv .servicio:hover img { transform: scale(1.03); }
.rv .servicio h3 { margin: 0 0 8px; font-weight: 300; font-size: 17px; letter-spacing: .12em; text-transform: uppercase; }
.rv .servicio p { margin: 0 0 16px; color: var(--sec); max-width: 36ch; }
@media (max-width: 900px) {
.rv .servicios { grid-template-columns: 1fr; }
}
.rv .couture { display: grid; grid-template-columns: 1.1fr 1fr; min-height: 92vh; background: var(--tile); }
.rv .couture figure { margin: 0; overflow: hidden; }
.rv .couture figure img { width: 100%; height: 100%; object-fit: cover; }
.rv .couture__txt { padding: clamp(48px, 7vw, 120px) var(--g); display: flex; flex-direction: column; justify-content: center; }
.rv .couture h2 { margin: 16px 0 22px; font-weight: 200; font-size: clamp(30px, 3.4vw, 54px); letter-spacing: .08em; text-transform: uppercase; line-height: 1.15; }
.rv .couture blockquote { margin: 0 0 30px; font-family: var(--serif); font-style: italic; font-size: 20px; line-height: 1.5; max-width: 30ch; }
.rv .couture ol { list-style: none; padding: 0; margin: 0 0 38px; border-top: 1px solid var(--linea); }
.rv .couture li { display: grid; grid-template-columns: 4ch 1fr; padding: 13px 0; border-bottom: 1px solid var(--linea); }
.rv .couture li span { color: var(--arcilla); }
.rv .boton { display: inline-flex; gap: 14px; background: var(--texto); color: var(--fondo); text-decoration: none; padding: 17px 40px; align-self: flex-start; transition: background .3s; }
.rv .boton:hover { background: var(--arcilla); }
.rv .couture small { margin-top: 16px; color: var(--sec); font-size: 12px; }
@media (max-width: 900px) {
.rv .couture { grid-template-columns: 1fr; }
.rv .couture figure { height: 56vh; }
}
.rv .luz { padding: clamp(90px, 10vw, 150px) calc(var(--g) + 30px); background: var(--tile); }
.rv .luz__head { max-width: 760px; margin-bottom: 64px; }
.rv .luz__head h2 { margin: 14px 0 20px; font-weight: 200; font-size: clamp(30px, 3.4vw, 54px); letter-spacing: .08em; text-transform: uppercase; line-height: 1.08; }
.rv .luz__head h2 .s, .rv .proyectos h2 .s { font-family: var(--serif); font-style: italic; text-transform: none; letter-spacing: 0; font-weight: 400; }
.rv .luz__head p { color: var(--sec); max-width: 52ch; margin: 0; }
.rv .luz__grid { display: grid; grid-template-columns: 1.7fr 1fr; gap: clamp(40px, 5vw, 90px); align-items: center; }
.rv .luz__escena { position: relative; margin: 0; aspect-ratio: 3 / 2; overflow: hidden; cursor: ns-resize; touch-action: none; user-select: none;
    --wx: 30.6%; --wy: 7.6%; --ww: 40.2%; --wh: 48.2%; --p: 0; }
.rv .luz__foto { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; pointer-events: none; }
.rv .luz__frente { clip-path: inset(42.5% 55.6% 42.6% 34.4%); z-index: 3; }
.rv .luz__tela { position: absolute; z-index: 2; left: var(--wx); top: var(--wy); width: var(--ww); height: calc(var(--wh) * var(--p)); overflow: hidden;
    box-shadow: 0 6px 18px rgba(0,0,0,.18); transition: background .6s var(--ease), backdrop-filter .6s; }
.rv .luz__tela::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 7px; background: linear-gradient(#d9d3c8, #bdb5a8); box-shadow: 0 2px 4px rgba(0,0,0,.2); }
.rv .luz__tela[data-t="traslucida"] { background: rgba(236, 231, 222, .62); -webkit-backdrop-filter: blur(7px) saturate(.6) brightness(1.08); backdrop-filter: blur(7px) saturate(.6) brightness(1.08); }
.rv .luz__tela[data-t="duette"] { background: repeating-linear-gradient(180deg, rgba(246, 241, 232, .9) 0 9px, rgba(214, 206, 193, .92) 9px 11px, rgba(246, 241, 232, .9) 11px 12px);
    -webkit-backdrop-filter: blur(10px) brightness(1.2); backdrop-filter: blur(10px) brightness(1.2); }
.rv .luz__tela[data-t="blackout"] { background: linear-gradient(90deg, #cfc8bd, #d9d3c9 50%, #cbc4b8); }
.rv .luz__ambiente { position: absolute; inset: 0; z-index: 4; pointer-events: none; background: #1d140c; opacity: 0; mix-blend-mode: multiply; }
.rv .luz__calidez { position: absolute; inset: 0; z-index: 4; pointer-events: none; background: radial-gradient(60% 70% at 50% 30%, rgba(255, 214, 160, .35), transparent 70%); opacity: 0; mix-blend-mode: soft-light; }
.rv .luz__escena .cota { color: rgba(255,255,255,.95); filter: drop-shadow(0 0 1px rgba(0,0,0,.4)) drop-shadow(0 1px 6px rgba(0,0,0,.3)); z-index: 5; }
.rv .luz__escena .cota--h { left: var(--wx); width: var(--ww); top: 2.6%; }
.rv .luz__escena .cota--h b { bottom: auto; top: 12px; }
.rv .luz__escena .cota--v { left: calc(var(--wx) + var(--ww) + 1.4%); top: var(--wy); height: calc(var(--wh) * var(--p)); min-height: 9px; }
.rv .luz__escena .cota--v b { left: 30px; }
.rv .luz__hint { position: absolute; z-index: 6; right: 14px; bottom: 12px; color: #fff; background: rgba(28,27,26,.45); padding: 6px 10px; backdrop-filter: blur(4px); transition: opacity .6s; }
.rv .luz__ctrl .chips { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 22px; }
.rv .chip { font: inherit; font-size: 11px; letter-spacing: .14em; text-transform: uppercase; background: transparent; color: var(--texto); border: 1px solid rgba(28,27,26,.3); padding: 11px 18px; cursor: pointer; transition: background .3s, color .3s, border-color .3s; }
.rv .chip[aria-checked="true"] { background: var(--texto); color: var(--fondo); border-color: var(--texto); }
.rv .luz__desc { color: var(--sec); min-height: 5.1em; margin: 0 0 26px; }
.rv .luz__rango { display: grid; gap: 10px; margin-bottom: 34px; }
.rv .luz__rango label { display: flex; justify-content: space-between; }
.rv .luz__rango input { width: 100%; accent-color: var(--texto); }
@media (max-width: 900px) {
.rv .luz { padding-left: var(--g); padding-right: var(--g); }
.rv .luz__grid { grid-template-columns: 1fr; }
}
.rv .proyectos { padding: clamp(90px, 10vw, 150px) calc(var(--g) + 30px); border-top: 1px solid var(--linea); }
.rv .proyectos__head { display: flex; justify-content: space-between; align-items: end; gap: 40px; margin-bottom: 80px; flex-wrap: wrap; }
.rv .proyectos h2 { margin: 14px 0 0; font-weight: 200; font-size: clamp(30px, 3.4vw, 54px); letter-spacing: .08em; text-transform: uppercase; line-height: 1.08; }
.rv .aviso { color: var(--arcilla); border: 1px solid currentColor; padding: 6px 10px; }
.rv .proy { display: grid; grid-template-columns: repeat(12, 1fr); column-gap: 64px; row-gap: 110px; }
.rv .proy .lamina { height: var(--h, 60vh); }
.rv .proy .a { grid-column: 1 / 8; --h: 72vh; }
.rv .proy .b { grid-column: 8 / 13; --h: 52vh; align-self: end; }
.rv .proy .c { grid-column: 1 / 6; --h: 56vh; }
.rv .proy .d { grid-column: 6 / 13; --h: 64vh; }
.rv .proy .e { grid-column: 2 / 8; --h: 58vh; }
.rv .proy .f { grid-column: 8 / 12; --h: 48vh; align-self: center; }
.rv .proy figcaption span:last-child { color: var(--texto); }
@media (max-width: 900px) {
.rv .proy { grid-template-columns: 1fr; row-gap: 90px; }
.rv .proy > * { grid-column: 1 !important; --h: 52vh !important; }
.rv .proyectos { padding-left: calc(var(--g) + 24px); padding-right: calc(var(--g) + 24px); }
}
.rv .oculto { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.rv .cuarenta { background: var(--tile); }
.rv .cuarenta__pin { min-height: 100vh; box-sizing: border-box; display: flex; flex-direction: column; justify-content: center; padding: clamp(80px, 10vw, 140px) calc(var(--g) + 30px); }
.rv .cuarenta__num { display: flex; align-items: baseline; justify-content: center; gap: 18px; font-weight: 200; font-size: clamp(120px, 22vw, 340px); line-height: .85; letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.rv .cuarenta__num small { font-size: 12px; letter-spacing: .2em; color: var(--sec); }
.rv .cuarenta__cota { position: relative; height: 13px; margin: 84px 0 14px; color: var(--texto); }
.rv .cuarenta__cota i { position: absolute; background: currentColor; }
.rv .cuarenta__cota .l { left: 0; right: 0; top: 6px; height: 1px; transform-origin: left; transform: scaleX(var(--p, 0)); }
.rv .cuarenta__cota .a, .rv .cuarenta__cota .z { top: 0; width: 1px; height: 13px; }
.rv .cuarenta__cota .a { left: 0; }
.rv .cuarenta__cota .z { right: 0; }
.rv .cuarenta__cota .marca { position: absolute; left: calc(var(--x) * 100%); top: -30px; width: 1px; height: 43px; background: var(--arcilla); transform: scaleY(0); transform-origin: bottom; transition: transform .5s var(--ease); }
.rv .cuarenta__cota .marca b { position: absolute; bottom: 48px; left: 50%; transform: translateX(-50%); font-weight: 400; font-size: 11px; letter-spacing: .14em; color: var(--arcilla); opacity: 0; transition: opacity .4s; white-space: nowrap; }
.rv .cuarenta__cota .marca.is-on { transform: scaleY(1); }
.rv .cuarenta__cota .marca.extremo b { display: none; }
.rv .cuarenta__cota .marca.is-on b { opacity: 1; }
.rv .cuarenta__hito { margin: 40px auto 0; text-align: center; min-height: 110px; max-width: 46ch; }
.rv .cuarenta__hito .caps { color: var(--arcilla); }
.rv .cuarenta__hito h3 { margin: 8px 0 8px; font-weight: 300; font-size: 22px; letter-spacing: .1em; text-transform: uppercase; }
.rv .cuarenta__hito p { margin: 0; color: var(--sec); }
.rv .cuarenta__hito.cambia { animation: hitoIn .6s var(--ease); }
@keyframes hitoIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
.rv .cuarenta__extremos { display: flex; justify-content: space-between; color: var(--sec); }
.rv .cuarenta__txt { margin: 48px auto 0; text-align: center; font-weight: 200; font-size: clamp(22px, 2.4vw, 34px); letter-spacing: .08em; text-transform: uppercase; opacity: var(--fin, 0); transform: translateY(calc((1 - var(--fin, 0)) * 20px)); }
.rv .cuarenta__txt .s { font-family: var(--serif); font-style: italic; text-transform: none; letter-spacing: 0; font-weight: 400; }
.rv .pilares { padding: clamp(90px, 10vw, 150px) calc(var(--g) + 30px); }
.rv .pilares__head { margin-bottom: 70px; }
.rv .pilares__head h2, .rv .explorar__head h2 { margin: 14px 0 0; font-weight: 200; font-size: clamp(30px, 3.4vw, 54px); letter-spacing: .08em; text-transform: uppercase; line-height: 1.08; }
.rv .pilares__lista { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 40px; }
.rv .pilares__lista li { border-top: 1px solid var(--texto); padding-top: 22px; }
.rv .pilares__lista span { font-size: 11px; letter-spacing: .16em; color: var(--arcilla); }
.rv .pilares__lista h3 { margin: 10px 0; font-weight: 300; font-size: 18px; letter-spacing: .1em; text-transform: uppercase; }
.rv .pilares__lista p { margin: 0; color: var(--sec); font-size: 14.5px; }
@media (max-width: 900px) {
.rv .pilares__lista { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px) {
.rv .pilares__lista { grid-template-columns: 1fr; }
.rv .pilares { padding-left: var(--g); padding-right: var(--g); }
}
.rv .obras { display: grid; grid-template-columns: 1.4fr 1fr; gap: clamp(56px, 7vw, 120px); align-items: center; padding: clamp(90px, 10vw, 150px) calc(var(--g) + 30px); border-top: 1px solid var(--linea); }
.rv .obras__foto { height: min(82vh, 820px); }
.rv .obras__txt h2 { margin: 14px 0 20px; font-weight: 200; font-size: clamp(30px, 3.4vw, 54px); letter-spacing: .08em; text-transform: uppercase; line-height: 1.08; }
.rv .obras__txt p { color: var(--sec); max-width: 42ch; margin: 0 0 28px; }
@media (max-width: 900px) {
.rv .obras { grid-template-columns: 1fr; padding-left: calc(var(--g) + 24px); padding-right: calc(var(--g) + 24px); }
.rv .obras__foto { height: 60vh; }
}
.rv .explorar { padding: clamp(90px, 10vw, 150px) calc(var(--g) + 30px); border-top: 1px solid var(--linea); }
.rv .explorar__head { margin-bottom: 90px; }
.rv .explorar__grid { display: grid; grid-template-columns: 1.2fr 1fr 1fr; gap: 56px; align-items: end; }
.rv .explorar__grid .lamina { height: 58vh; margin-bottom: 40px; }
.rv .explorar__grid > div:nth-child(2) .lamina { height: 44vh; }
.rv .explorar__grid h3 { margin: 0; font-weight: 400; }
.rv .lamina-link { display: block; text-decoration: none; color: inherit; }
@media (max-width: 900px) {
.rv .explorar__grid { grid-template-columns: 1fr; }
.rv .explorar { padding-left: calc(var(--g) + 24px); padding-right: calc(var(--g) + 24px); }
}
.rv.js [data-in] { opacity: 0; transform: translateY(16px); transition: opacity 1.1s var(--ease), transform 1.1s var(--ease); }
.rv.js [data-in].is-in { opacity: 1; transform: none; }
