/* Redesign e manutenção: comparador antes/depois, projetos em molduras, linha do tempo e movimento ao rolar */
.rd-hero { overflow: hidden; }
.rd-hero__grade { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 40px; align-items: center; }
@media (max-width: 900px) { .rd-hero__grade { grid-template-columns: 1fr; gap: 28px; } }
.rd-selos { list-style: none; margin: 18px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.rd-selos li { padding: 6px 14px; border-radius: 99px; background: #fff; border: 1px solid var(--linha); font-size: .88rem; color: var(--texto); animation: rd-sobe .6s both; }
.rd-selos li:nth-child(2) { animation-delay: .1s; } .rd-selos li:nth-child(3) { animation-delay: .2s; }
@keyframes rd-sobe { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }

.rd-comparar { opacity: 0; transform: translateY(24px) rotate(1deg); transition: opacity .8s var(--ease-out, ease), transform .8s var(--ease-out, ease); }
.rd-comparar.visivel { opacity: 1; transform: none; }
.rd-janela { border-radius: 18px; background: #fff; border: 1px solid var(--linha); box-shadow: 0 40px 70px -34px rgba(13, 13, 15, .45); overflow: hidden; }
.rd-janela__barra, .rd-moldura__barra { display: flex; align-items: center; gap: 6px; padding: 10px 14px; background: #F2F1EE; border-bottom: 1px solid var(--linha); }
.rd-janela__barra i, .rd-moldura__barra i { width: 10px; height: 10px; border-radius: 50%; background: #d2d1cb; }
.rd-janela__barra i:nth-child(1), .rd-moldura__barra i:nth-child(1) { background: #ff6b60; } .rd-janela__barra i:nth-child(2), .rd-moldura__barra i:nth-child(2) { background: #ffc03d; } .rd-janela__barra i:nth-child(3), .rd-moldura__barra i:nth-child(3) { background: #3fc95b; }
.rd-janela__barra span { margin-left: 10px; flex: 1; padding: 3px 12px; border-radius: 99px; background: #fff; border: 1px solid var(--linha); font-size: .75rem; color: var(--suave); }
.rd-janela__tela { position: relative; aspect-ratio: 1200 / 690; background: #e4e3df; overflow: hidden; touch-action: pan-y; }
.rd-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: top; display: block; }
.rd-antes { position: absolute; inset: 0; clip-path: inset(0 calc(100% - var(--pos)) 0 0); }
.rd-img--antes { filter: grayscale(1) contrast(.72) brightness(1.12) blur(1.6px) sepia(.25); transform: scale(1.01); }
.rd-carregando { position: absolute; left: 50%; top: 46%; width: 34px; height: 34px; margin-left: -17px; border-radius: 50%; border: 4px solid rgba(13, 13, 15, .15); border-top-color: rgba(13, 13, 15, .55); animation: rd-gira 1s linear infinite; }
@keyframes rd-gira { to { transform: rotate(360deg); } }
.rd-chip { position: absolute; top: 12px; padding: 4px 12px; border-radius: 99px; font-size: .78rem; font-weight: 600; letter-spacing: .02em; }
.rd-chip--antes { left: 12px; background: rgba(13, 13, 15, .78); color: #fff; }
.rd-chip--depois { right: 12px; background: #2D4BFF; color: #fff; }
.rd-alca { position: absolute; top: 0; bottom: 0; left: var(--pos); width: 0; pointer-events: none; }
.rd-alca::before { content: ""; position: absolute; top: 0; bottom: 0; left: -1.5px; width: 3px; background: #fff; box-shadow: 0 0 0 1px rgba(13, 13, 15, .15); }
.rd-alca b { position: absolute; top: 50%; left: -20px; width: 40px; height: 40px; margin-top: -20px; border-radius: 50%; background: #fff; box-shadow: 0 6px 18px rgba(13, 13, 15, .35); display: grid; place-items: center; animation: rd-pulsa 2.2s ease-in-out infinite; }
.rd-alca b::before { content: "↔"; font-size: 1.15rem; color: #0D0D0F; font-weight: 600; }
@keyframes rd-pulsa { 50% { transform: scale(1.12); } }
.rd-range { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: ew-resize; }
.rd-range:focus-visible + * , .rd-janela__tela:has(.rd-range:focus-visible) { outline: 3px solid #2D4BFF; outline-offset: -3px; }
.rd-legenda { margin: 12px 0 0; text-align: center; color: var(--suave); font-size: .9rem; }

.rd-sinal { transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
@media (hover: hover) { .rd-sinal:hover { transform: translateY(-6px); box-shadow: 0 24px 44px -26px rgba(13, 13, 15, .35); border-color: #2D4BFF; } .rd-sinal:hover .sobre-card__ico { animation: rd-balanca .6s ease; } }
@keyframes rd-balanca { 25% { transform: rotate(-10deg) scale(1.1); } 60% { transform: rotate(8deg) scale(1.1); } }

.rd-projetos { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
@media (max-width: 900px) { .rd-projetos { grid-template-columns: 1fr; max-width: 560px; margin-inline: auto; } }
.rd-projeto figure { margin: 0; }
.rd-moldura { border-radius: 14px; overflow: hidden; background: #fff; border: 1px solid var(--linha); box-shadow: 0 24px 44px -30px rgba(13, 13, 15, .5); transition: transform .35s ease, box-shadow .35s ease; }
.rd-moldura img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 10; object-fit: cover; object-position: top; transition: transform .8s ease; }
@media (hover: hover) { .rd-projeto:hover .rd-moldura { transform: translateY(-8px); box-shadow: 0 34px 56px -30px rgba(13, 13, 15, .55); } .rd-projeto:hover .rd-moldura img { transform: scale(1.05); } }
.rd-projeto figcaption { padding: 14px 4px 0; }
.rd-projeto h3 { margin: 0 0 4px; font-size: 1.25rem; }
.rd-projeto p { margin: 0; color: var(--suave); }

.rd-dif svg { transition: transform .3s ease; }
@media (hover: hover) { .rd-dif:hover svg { transform: scale(1.18) rotate(-6deg); } }

.rd-passos { position: relative; counter-reset: rdp; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; list-style: none; padding: 0; margin: 0; }
.rd-passos::before { content: ""; position: absolute; top: 24px; left: 8%; right: 8%; height: 3px; background: linear-gradient(90deg, #2D4BFF, #8a6bff); border-radius: 3px; transform-origin: left; animation: rd-linha 1.4s .2s ease both; opacity: .35; }
@keyframes rd-linha { from { transform: scaleX(0); } to { transform: scaleX(1); } }
.rd-passos li { position: relative; counter-increment: rdp; padding: 64px 18px 18px; border-radius: 18px; background: #fff; border: 1px solid var(--linha); text-align: center; }
.rd-passos li::before { content: counter(rdp); position: absolute; top: 0; left: 50%; width: 50px; height: 50px; margin-left: -25px; border-radius: 50%; display: grid; place-items: center; background: #2D4BFF; color: #fff; font-weight: 600; font-size: 1.2rem; box-shadow: 0 0 0 6px #F2F1EE; }
.rd-passos h3 { margin: 0 0 6px; }
.rd-passos p { margin: 0; color: var(--suave); }
@media (max-width: 800px) { .rd-passos { grid-template-columns: 1fr; } .rd-passos::before { display: none; } .rd-passos li { padding-top: 70px; } }

@media (prefers-reduced-motion: reduce) {
  .rd-comparar, .rd-selos li, .rd-passos::before, .rd-carregando, .rd-alca b { animation: none !important; transition: none !important; }
  .rd-comparar { opacity: 1; transform: none; }
  .rd-moldura, .rd-moldura img, .rd-sinal, .rd-dif svg { transition: none !important; }
}
.rd-passos h3::before, .rd-passos h3::after { content: none !important; display: none !important; }
