/* Formulario de contacto (reemplaza WPForms) */
.rl-contact-form{--f-bg:#1a1a1a;--f-text:#F8F8F8;--f-radius:8px;--accent:#A18E62}
.rl-contact-form .wpforms-field{margin:0 0 15px;position:relative}
.rl-contact-form .wpforms-field-label{display:block;color:#f8f8f8;font-size:16px;line-height:19px;margin:0 0 6px;font-weight:500}
.rl-contact-form .wpforms-required-label{color:#e27730}
.rl-contact-form input[type=text],.rl-contact-form input[type=email],.rl-contact-form input[type=tel],.rl-contact-form textarea{width:100%;box-sizing:border-box;background:var(--f-bg);color:var(--f-text);border:1px solid #333;border-radius:var(--f-radius);padding:0 14px;height:43px;font-size:16px;font-family:inherit;outline:none;transition:border-color .2s}
.rl-contact-form textarea{height:120px;padding:12px 14px;resize:vertical}
.rl-contact-form input:focus,.rl-contact-form textarea:focus{border-color:var(--accent)}
.rl-contact-form .wpforms-submit-container{margin-top:10px}
.rl-contact-form .wpforms-submit{background:var(--accent);color:#000;border:0;border-radius:100px;font-size:17px;height:41px;padding:0 24px;cursor:pointer;font-family:inherit;transition:background .2s}
.rl-contact-form .wpforms-submit:hover{background:#fff}
.rl-contact-form .wpforms-submit:disabled{opacity:.6;cursor:default}
.rl-form-msg{margin:14px 0 0;font-size:14px;color:#aaa}
.rl-form-msg.ok{color:#7ddc8a}.rl-form-msg.err{color:#ff9d8a}
.rl-form-msg a{color:var(--accent);text-decoration:underline}
.rl-contact-form .wpforms-field{border:0!important;padding:0!important}
.rl-contact-form input[type=text],.rl-contact-form input[type=email],.rl-contact-form input[type=tel],.rl-contact-form textarea{border:1px solid #333!important;box-shadow:none!important}
.rl-contact-form input:focus,.rl-contact-form textarea:focus{border-color:#A18E62!important}
.rl-contact-form .wpforms-submit-container{border:0!important;padding:0!important}

/* ---- Hero floating project wall ---- */
.rl-hero{position:relative;overflow:hidden;isolation:isolate}
.rl-hero>.e-con-inner{position:relative;z-index:2}
.rl-hero-bg{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden;
  -webkit-mask-image:radial-gradient(ellipse 85% 80% at 50% 50%,#000 30%,transparent 100%);
  mask-image:radial-gradient(ellipse 85% 80% at 50% 50%,#000 30%,transparent 100%)}
.rl-hero-bg::after{content:"";position:absolute;inset:0;
  background:radial-gradient(ellipse 60% 55% at 50% 48%,rgba(0,0,0,.78) 0%,rgba(0,0,0,.45) 55%,rgba(0,0,0,.2) 100%)}
.rl-wall{position:absolute;left:50%;top:50%;width:130%;height:150%;display:flex;gap:22px;justify-content:center;
  --mx:0px;--my:0px;
  transform:translate(-50%,-50%) translate(var(--mx),var(--my)) rotate(-8deg) scale(1.05)}
.rl-col{flex:1 1 0;min-width:0;overflow:visible}
.rl-track{display:flex;flex-direction:column;gap:22px;animation:rl-up 60s linear infinite;will-change:transform}
.rl-col-1 .rl-track{animation:rl-down 70s linear infinite}
.rl-col-2 .rl-track{animation-duration:80s}
.rl-col-3 .rl-track{animation:rl-down 65s linear infinite}
.rl-col-0{margin-top:-6%}.rl-col-2{margin-top:-14%}.rl-col-3{margin-top:-3%}
.rl-track img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:14px;opacity:.55;
  box-shadow:0 18px 40px rgba(0,0,0,.45);filter:saturate(.9) contrast(1.05)}
@keyframes rl-up{from{transform:translateY(0)}to{transform:translateY(-50%)}}
@keyframes rl-down{from{transform:translateY(-50%)}to{transform:translateY(0)}}
@media (max-width:767px){
  .rl-wall{width:190%;gap:14px}.rl-track{gap:14px}
  .rl-col-3{display:none}
  .rl-track img{border-radius:10px;opacity:.45}
}
@media (prefers-reduced-motion:reduce){.rl-track{animation:none}}

/* ---- Scroll reveal ---- */
.rl-rv{opacity:0;transform:translate3d(0,42px,0);filter:blur(6px);
  transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1),filter .9s cubic-bezier(.16,1,.3,1);will-change:opacity,transform}
.rl-rv-l{transform:translate3d(-48px,0,0)}
.rl-rv-r{transform:translate3d(48px,0,0)}
.rl-rv-z{transform:translate3d(0,30px,0) scale(.94)}
.rl-rv.rl-in{opacity:1;transform:none;filter:none}
@media (max-width:767px){.rl-rv-r,.rl-rv-l{transform:translate3d(0,36px,0)}}
@media (prefers-reduced-motion:reduce){.rl-rv{opacity:1;transform:none;filter:none;transition:none}}
