body{margin:0;background:#0E1015}
a{color:#C9A45C}a:hover{color:#E2C98E}
html{scroll-behavior:smooth}
*:focus-visible{outline:2px solid #C9A45C;outline-offset:3px;border-radius:6px}
input,select,textarea,button{font:inherit}
details summary{cursor:pointer;list-style:none}
details summary::-webkit-details-marker{display:none}

/* ---------- Concepto: el escenario se ilumina ---------- */
.rf-stage{background:radial-gradient(520px circle at var(--mx,70%) var(--my,30%),rgba(201,164,92,.13),transparent 62%),#0E1015}

/* Titular: cada línea sube desde detrás de una máscara (CSS puro, rápido) */
@keyframes rf-rise{from{transform:translateY(105%)}to{transform:none}}
@keyframes rf-fade{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.rf-l{display:block;overflow:hidden;padding-bottom:.06em}
.rf-l>span{display:block;animation:rf-rise .8s cubic-bezier(.2,.75,.2,1) both}
.rf-l:nth-child(2)>span{animation-delay:.08s}
.rf-l:nth-child(3)>span{animation-delay:.16s}
.rf-f1{animation:rf-fade .7s .25s cubic-bezier(.2,.75,.2,1) both}
.rf-f2{animation:rf-fade .7s .35s cubic-bezier(.2,.75,.2,1) both}
.rf-f3{animation:rf-fade .7s .45s cubic-bezier(.2,.75,.2,1) both}

/* Fotos del hero: se descubren como al abrir un telón */
@keyframes rf-curtain{from{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0 0 0 0)}}
@keyframes rf-settle{from{transform:scale(1.15)}to{transform:scale(1)}}
.rf-curtain{animation:rf-curtain 1.1s .2s cubic-bezier(.7,0,.2,1) both}
.rf-curtain2{animation:rf-curtain 1s .55s cubic-bezier(.7,0,.2,1) both}
.rf-settle{animation:rf-settle 2.2s .2s cubic-bezier(.2,.75,.2,1) both}
.rf-depth1{transform:translate3d(calc(var(--px,0) * -10px),calc(var(--py,0) * -10px),0);transition:transform .6s cubic-bezier(.2,.75,.2,1)}
.rf-depth2{transform:translate3d(calc(var(--px,0) * 18px),calc(var(--py,0) * 18px),0);transition:transform .6s cubic-bezier(.2,.75,.2,1)}

/* Indicador de scroll */
@keyframes rf-drop{0%{transform:translateY(-100%)}100%{transform:translateY(200%)}}
.rf-scrollhint{position:relative;width:1px;height:44px;background:#2E313B;overflow:hidden}
.rf-scrollhint::after{content:"";position:absolute;left:0;top:0;width:1px;height:50%;background:#C9A45C;animation:rf-drop 1.8s ease-in-out infinite}

/* Botón principal: barrido de luz + destello */
.rf-cta{position:relative;overflow:hidden;transition:transform .25s,box-shadow .25s}
.rf-cta::before{content:"";position:absolute;top:0;bottom:0;width:40%;left:-60%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-20deg);transition:left .7s cubic-bezier(.2,.75,.2,1)}
.rf-cta:hover::before,.rf-cta:focus-visible::before{left:130%}
.rf-cta:hover{transform:translateY(-2px);box-shadow:0 12px 34px rgba(201,164,92,.35)}
.rf-cta:active{transform:translateY(0) scale(.98)}
.rf-spark{display:inline-block;transition:transform .5s cubic-bezier(.2,.75,.2,1)}
.rf-cta:hover .rf-spark,.rf-cta:focus-visible .rf-spark{transform:rotate(90deg) scale(1.25)}
.rf-ghost{transition:border-color .25s,background .25s}
.rf-ghost:hover{border-color:#C9A45C !important;background:rgba(201,164,92,.08)}

/* Menú: subrayado que crece */
.rf-nav a.rf-link{position:relative}
.rf-nav a.rf-link::after{content:"";position:absolute;left:0;right:0;bottom:6px;height:1px;background:#C9A45C;transform:scaleX(0);transform-origin:left;transition:transform .35s}
.rf-nav a.rf-link:hover::after,.rf-nav a.rf-link:focus-visible::after{transform:scaleX(1)}

/* Logos */
@keyframes rf-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.rf-track{display:flex;width:max-content;animation:rf-marquee 48s linear infinite}
.rf-marquee:hover .rf-track,.rf-marquee:focus-within .rf-track{animation-play-state:paused}
.rf-logo{position:relative;transition:transform .4s cubic-bezier(.2,.75,.2,1)}
.rf-logo:hover{transform:scale(1.45);z-index:2}

/* Revelados al hacer scroll: solo si hay JavaScript (sin JS todo se ve) */
.rf-js [data-reveal]{opacity:0;transform:translateY(26px);transition:opacity .9s cubic-bezier(.2,.75,.2,1),transform .9s cubic-bezier(.2,.75,.2,1)}
.rf-js [data-reveal="mask"]{opacity:1;transform:none;clip-path:inset(100% 0 0 0);transition:clip-path 1.1s cubic-bezier(.7,0,.2,1)}
.rf-js [data-reveal].is-in{opacity:1;transform:none}
.rf-js [data-reveal="mask"].is-in{clip-path:inset(0 0 0 0)}
.rf-rule{height:1px;background:#C9A45C;transform-origin:left;transform:scaleX(1)}
.rf-js .rf-rule{transform:scaleX(0);transition:transform 1.2s .2s cubic-bezier(.2,.75,.2,1)}
.rf-js .is-in .rf-rule,.rf-js .rf-rule.is-in{transform:scaleX(1)}

/* Parallax suave dentro de las fotos (scroll) */
@keyframes rf-par{from{transform:translateY(-6%) scale(1.12)}to{transform:translateY(6%) scale(1.12)}}
@supports (animation-timeline: view()){
  .rf-par{animation:rf-par linear both;animation-timeline:view()}
}

/* Selector de servicios */
.rf-scard{transition:transform .45s cubic-bezier(.2,.75,.2,1),border-color .3s,box-shadow .45s}
.rf-scard img{transition:transform 1.2s cubic-bezier(.2,.75,.2,1),opacity .4s}
.rf-scard:hover{transform:translateY(-6px);box-shadow:0 22px 50px rgba(0,0,0,.45)}
.rf-scard:hover img,.rf-scard:focus-visible img{transform:scale(1.06);opacity:1 !important}
.rf-tab{transition:background .3s,color .3s,border-color .3s}
.rf-tab:hover{border-color:#C9A45C !important}
@keyframes rf-swap{from{opacity:0;clip-path:inset(0 0 0 100%)}to{opacity:1;clip-path:inset(0 0 0 0)}}
.rf-swap{animation:rf-swap .8s cubic-bezier(.7,0,.2,1) both}
.rf-swaptxt{animation:rf-fade .6s .15s cubic-bezier(.2,.75,.2,1) both}

/* Tarjetas de vídeo */
.rf-video{transition:transform .5s cubic-bezier(.2,.75,.2,1)}
.rf-video img{transition:transform 1.2s cubic-bezier(.2,.75,.2,1),filter .6s}
.rf-video:hover img,.rf-video:focus-visible img{transform:scale(1.06);filter:brightness(1.08)}
.rf-video .rf-play{transition:transform .4s cubic-bezier(.2,.75,.2,1),background .3s}
.rf-video:hover .rf-play,.rf-video:focus-visible .rf-play{transform:scale(1.12);background:#C9A45C}
.rf-video .rf-more{opacity:0;transform:translateY(8px);transition:opacity .4s,transform .4s}
.rf-video:hover .rf-more,.rf-video:focus-visible .rf-more{opacity:1;transform:none}
@media (hover:none){.rf-video .rf-more{opacity:1;transform:none}}

/* FAQ */
.rf-faq summary .rf-plus{transition:transform .35s}
.rf-faq[open] summary .rf-plus{transform:rotate(45deg)}
.rf-faq[open] p{animation:rf-fade .45s both}

/* Formulario */
.rf-input{transition:border-color .2s,box-shadow .2s}
.rf-input:focus{border-color:#C9A45C !important;box-shadow:0 0 0 3px rgba(201,164,92,.25);outline:none}
.rf-chip{transition:background .25s,color .25s,border-color .25s,transform .2s}
.rf-chip:hover{border-color:#C9A45C !important}
.rf-chip:active{transform:scale(.97)}

/* WhatsApp */
@keyframes rf-pulse{0%{box-shadow:0 0 0 0 rgba(37,211,102,.5)}70%{box-shadow:0 0 0 16px rgba(37,211,102,0)}100%{box-shadow:0 0 0 0 rgba(37,211,102,0)}}
.rf-wa{animation:rf-pulse 2.6s 3s 3}

.rf-short{display:none}
@media (max-width: 560px){.rf-long{display:none}.rf-short{display:inline}.rf-head{padding:10px 16px !important;gap:8px !important}.rf-brand{font-size:19px !important}.rf-head .rf-cta{padding:12px 16px !important}}
@media (max-width: 350px){.rf-brand{display:none}}
.rf-burger{transition:border-color .25s,background .25s}
.rf-burger:hover{border-color:#C9A45C !important;background:rgba(201,164,92,.08) !important}
@keyframes rf-drop-in{from{opacity:0;clip-path:inset(0 0 100% 0)}to{opacity:1;clip-path:inset(0 0 0 0)}}
.rf-menu{animation:rf-drop-in .45s cubic-bezier(.7,0,.2,1) both}
.rf-menu .rf-menulink{animation:rf-fade .5s cubic-bezier(.2,.75,.2,1) both;transition:color .25s,padding-left .3s}
.rf-menu .rf-menulink:nth-child(2){animation-delay:.05s}.rf-menu .rf-menulink:nth-child(3){animation-delay:.1s}.rf-menu .rf-menulink:nth-child(4){animation-delay:.15s}.rf-menu .rf-menulink:nth-child(5){animation-delay:.2s}
.rf-menu .rf-menulink:hover,.rf-menu .rf-menulink:focus-visible{color:#C9A45C !important;padding-left:10px}

@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none !important;transition:none !important}
  .rf-js [data-reveal]{opacity:1 !important;transform:none !important;clip-path:none !important}
  .rf-js .rf-rule{transform:none}
  .rf-depth1,.rf-depth2{transform:none}
}
.rf-headcta{max-width:340px;transition:opacity .3s,transform .35s,max-width .45s cubic-bezier(.2,.75,.2,1),padding .45s}
.rf-scrolled .rf-headcta{opacity:0;transform:translateY(-8px);max-width:0;padding-left:0 !important;padding-right:0 !important;pointer-events:none}
.rf-float{position:fixed;left:50%;bottom:22px;z-index:35;transform:translate(-50%,24px);opacity:0;pointer-events:none;transition:opacity .35s,transform .45s cubic-bezier(.2,.75,.2,1)}
.rf-scrolled .rf-float{opacity:1;transform:translate(-50%,0);pointer-events:auto}
.rf-scrolled.rf-atform .rf-float{opacity:0;transform:translate(-50%,24px);pointer-events:none}
.rf-float .rf-cta{box-shadow:0 12px 32px rgba(0,0,0,.45),0 0 0 1px rgba(244,239,230,.15)}
@media (max-width:560px){.rf-float{left:16px;right:90px;bottom:24px;transform:translateY(24px)}.rf-scrolled .rf-float{transform:none}.rf-scrolled.rf-atform .rf-float{transform:translateY(24px)}.rf-float .rf-cta{display:flex !important;justify-content:center}}
.rf-burger{position:relative;box-shadow:0 0 0 0 rgba(201,164,92,0);transition:box-shadow .3s,background .3s,transform .3s !important}
.rf-burger:hover,.rf-burger:focus-visible{background:rgba(201,164,92,.18) !important;box-shadow:0 0 22px rgba(201,164,92,.35);transform:scale(1.05)}
.rf-burger-ring{transform-origin:26px 26px;transition:transform 1.2s cubic-bezier(.2,.75,.2,1)}
.rf-burger:hover .rf-burger-ring{transform:rotate(120deg)}
@media (prefers-reduced-motion: reduce){.rf-headcta,.rf-float,.rf-burger,.rf-burger-ring{transition:none !important}}

/* ---------- Web estática ---------- */
[hidden]{display:none !important}
.rf-scard{border:2px solid #23262F}
.rf-scard[aria-pressed="true"]{border-color:var(--kc)}
.rf-scard .rf-main{opacity:.62}
.rf-scard[aria-pressed="true"] .rf-main{opacity:1}
.rf-scard .rf-on{display:none}
.rf-scard[aria-pressed="true"] .rf-on{display:inline}
.rf-scard[aria-pressed="true"] .rf-off{display:none}
.rf-type{border:1.5px solid #CFC7B8;background:#FFFFFF;color:#14161C}
.rf-type[aria-pressed="true"]{border-color:#14161C;background:#14161C;color:#F4EFE6}
.rf-bar{flex:1;height:4px;border-radius:4px;background:#D8D1C4}
.rf-bar.on{background:#14161C}
.rf-legal{max-width:820px;margin:0 auto;padding:64px 24px 96px;font-size:16px;line-height:1.75;color:#C9C4BA}
.rf-legal h1{font-family:'Cormorant Garamond',serif;font-size:clamp(40px,5vw,58px);font-weight:600;line-height:1;color:#F4EFE6;margin:0 0 28px}
.rf-legal h2{font-family:'Cormorant Garamond',serif;font-size:28px;font-weight:600;color:#F4EFE6;margin:36px 0 10px}
.rf-legal strong{color:#F4EFE6}
.rf-fill{background:rgba(232,176,75,.18);color:#E8B04B;padding:0 4px;border-radius:4px}
.rf-playmini{display:none}
@media (max-width:560px){#rf-play{left:10px !important;bottom:10px !important;padding:8px 14px 8px 12px !important;gap:8px !important}#rf-play .rf-thumb,#rf-play .rf-dur{display:none}.rf-playmini{display:inline;font-size:12px;color:#C9A45C}}
