:root{
  --bg:#0b0a09; --bg2:#0e0d0b; --card:#14120f; --line:#221f1b; --line2:#2a2621; --line3:#3a342c;
  --ink:#f4efe6; --ink2:#ede6da; --soft:#d9cfbf; --muted:#9a9082; --dim:#8f8576;
  --gold:#c9a97a; --gold2:#d9bf94; --gold3:#e8d5b0; --dark:#14110d;
  --display:'Jost',system-ui,sans-serif; --body:'DM Sans',system-ui,sans-serif;
  --ease:cubic-bezier(.2,.7,.1,1); --pad:80px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink2);font-family:var(--body);overflow-x:hidden;-webkit-font-smoothing:antialiased}
img,svg,video{display:block}
a{color:var(--gold2);text-decoration:none}
h1,h2,h3{margin:0;font-family:var(--display);color:var(--ink)}
p{margin:0}
.wrap{max-width:1440px;margin:0 auto;padding:0 var(--pad)}
.eyebrow{font-family:var(--display);font-size:13px;letter-spacing:.42em;text-transform:uppercase;color:var(--gold)}
.lead{font-size:17px;line-height:1.75;color:var(--muted)}
.gold-t{background:linear-gradient(100deg,var(--gold) 0%,var(--gold3) 40%,var(--gold) 60%,var(--gold2) 100%);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:sheen 6s linear infinite}
@keyframes sheen{to{background-position:-200% 0}}
.btn{position:relative;overflow:hidden;min-height:56px;padding:0 30px;display:inline-flex;align-items:center;justify-content:center;gap:12px;font-family:var(--display);font-size:13px;letter-spacing:.2em;text-transform:uppercase;text-align:center;cursor:pointer;border:0;background:none;transition:transform .4s var(--ease),box-shadow .4s var(--ease),border-color .3s,color .3s,background .3s}
.btn svg{flex-shrink:0}
.btn-gold{background:var(--gold);color:var(--dark);font-weight:500}
.btn-gold::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.55) 50%,transparent 70%);transform:translateX(-120%);transition:transform .9s var(--ease)}
.btn-gold:hover::after{transform:translateX(120%)}
.btn-gold:hover{box-shadow:0 12px 40px rgba(201,169,122,.35);transform:translateY(-2px)}
.btn-line{border:1px solid #4a4238;color:var(--ink2)}
.btn-line:hover{border-color:var(--gold);color:var(--gold3);transform:translateY(-2px)}

#progress{position:fixed;top:0;left:0;height:2px;width:100%;transform-origin:0 50%;transform:scaleX(0);background:linear-gradient(90deg,var(--gold),var(--gold3));z-index:60}
main,header,footer{position:relative;z-index:2}

.nav{position:fixed;top:0;left:0;right:0;z-index:50;transition:background .5s,border-color .5s;border-bottom:1px solid transparent;background:rgba(11,10,9,.35)}
.nav .wrap{height:84px;display:flex;align-items:center;justify-content:space-between;gap:30px;transition:height .4s var(--ease)}
.nav.scrolled{background:rgba(11,10,9,.82);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-color:var(--line)}
.nav.scrolled .wrap{height:70px}
.nav .logo img{height:24px;width:auto}
.nav nav{display:flex;gap:36px}
.nav nav a{position:relative;font-family:var(--display);font-size:13px;letter-spacing:.24em;text-transform:uppercase;color:#b8ad9c;padding:8px 0;white-space:nowrap;transition:color .3s}
.nav nav a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:right;transition:transform .5s var(--ease)}
.nav nav a:hover,.nav nav a.on{color:var(--gold3)}
.nav nav a:hover::after,.nav nav a.on::after{transform:scaleX(1);transform-origin:left}
.nav .cta{min-height:46px;padding:0 20px;font-size:12px;border:1px solid var(--gold);color:#f1e2c4;white-space:nowrap}
.nav .cta:hover{background:var(--gold);color:var(--dark)}

.rv{opacity:0;transform:translateY(34px);transition:opacity 1s var(--ease),transform 1s var(--ease);transition-delay:var(--d,0s)}
.rv.in{opacity:1;transform:none}

footer{border-top:1px solid var(--line);margin-top:0}
footer .wrap{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px;padding-top:70px;padding-bottom:40px}
footer .fl{display:flex;flex-direction:column;gap:16px}
footer .fl img{height:24px;width:auto;align-self:flex-start}
footer .fl p{font-size:15px;color:var(--muted);max-width:340px;line-height:1.6}
footer h4{margin:0 0 16px;font-family:var(--display);font-weight:400;font-size:12px;letter-spacing:.34em;text-transform:uppercase;color:var(--gold)}
footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px;font-size:15px}
footer ul a,footer ul span{color:var(--soft)}
footer ul a:hover{color:var(--gold3)}
footer .bottom{grid-column:1/-1;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-top:30px;margin-top:20px;border-top:1px solid var(--line);font-size:13px;color:var(--dim)}
footer .bottom span:last-child{font-family:var(--display);letter-spacing:.4em;text-transform:uppercase;font-size:11px}

.fab{position:fixed;right:28px;bottom:28px;z-index:55;width:60px;height:60px;border-radius:50%;background:var(--gold);display:flex;align-items:center;justify-content:center;box-shadow:0 12px 40px rgba(0,0,0,.5);transition:transform .4s var(--ease)}
.fab::before,.fab::after{content:"";position:absolute;inset:0;border-radius:50%;border:1px solid var(--gold);animation:pulse 2.6s ease-out infinite}
.fab::after{animation-delay:1.3s}
@keyframes pulse{from{transform:scale(1);opacity:.8}to{transform:scale(1.8);opacity:0}}
.fab:hover{transform:scale(1.08)}

.tag{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;font-family:var(--display);font-size:11px;letter-spacing:.2em;text-transform:uppercase}
.tag.venta{background:var(--gold);color:var(--dark)}
.tag.renta{background:var(--ink);color:var(--dark)}
.tag.demo{border:1px solid rgba(232,213,176,.55);color:#f1e2c4;background:rgba(0,0,0,.5)}
.tag.t360{border:1px solid rgba(232,213,176,.55);color:#f1e2c4;background:rgba(0,0,0,.5);backdrop-filter:blur(6px)}
.tag.t360 svg{animation:spin 6s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

@media (max-width:1100px){
  :root{--pad:40px}
  .nav nav{display:none}
  footer .wrap{grid-template-columns:1fr 1fr}
  footer .fl{grid-column:1/-1}
}
@media (max-width:700px){
  :root{--pad:20px}
  .nav .wrap{height:68px}
  .nav .logo img{height:18px}
  .nav .cta{width:44px;min-height:44px;padding:0}
  .nav .cta .lbl{display:none}
  .eyebrow{font-size:11px;letter-spacing:.34em}
  footer .wrap{grid-template-columns:1fr}
  .fab{right:18px;bottom:18px;width:56px;height:56px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .rv{opacity:1!important;transform:none!important}
}
