/* ═══════════════════════════════════════════════════════════
   Real Estate Luis Hernández — Hoja de estilos de páginas de proyecto
   Sistema de diseño compartido (mismo lenguaje que index.html)
   ═══════════════════════════════════════════════════════════ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

:root{
  --orange:#E8620A;--orange-l:#F07828;--orange-d:#C04E08;
  --teal:#0D8C82;--teal-l:#13AAA0;--teal-d:#0A6E66;
}
[data-theme="dark"]{
  --bg:#080D12;--bg2:#0D1620;--bg3:#111E2C;
  --text:#EEF2F6;--text-m:rgba(238,242,246,.55);--text-s:rgba(238,242,246,.30);
  --border:rgba(232,98,10,.20);--border2:rgba(13,140,130,.20);
  --nav-bg:rgba(8,13,18,.96);--nav-shadow:rgba(232,98,10,.12);
  --nav-link:rgba(255,255,255,.60);--nav-link-s:rgba(255,255,255,.60);
  --logo-name-s:#fff;--toggle-border:rgba(232,98,10,.22);
  --card:#0D1620;
}
[data-theme="light"]{
  --bg:#FFFFFF;--bg2:#F4F8FB;--bg3:#E8F0F5;
  --text:#0D1117;--text-m:#4A5B6B;--text-s:#8A9BAB;
  --border:rgba(232,98,10,.22);--border2:rgba(13,140,130,.22);
  --nav-bg:rgba(255,255,255,.97);--nav-shadow:rgba(13,140,130,.14);
  --nav-link:rgba(255,255,255,.62);--nav-link-s:rgba(13,17,23,.65);
  --logo-name-s:#0D1117;--toggle-border:rgba(13,140,130,.25);
  --card:#FFFFFF;
}

html{scroll-behavior:smooth}
body{font-family:'DM Sans',sans-serif;background:var(--bg);color:var(--text);overflow-x:hidden;transition:background .3s,color .3s}

/* ── NAV ── */
#nav{position:fixed;top:0;left:0;right:0;z-index:1000;padding:0 80px;height:72px;display:flex;align-items:center;justify-content:space-between;transition:background .4s,box-shadow .4s;background:var(--nav-bg);backdrop-filter:blur(14px);box-shadow:0 1px 0 var(--nav-shadow)}
.logo{display:flex;align-items:center;gap:13px;text-decoration:none}
.logo-diamond{width:32px;height:32px;flex-shrink:0;position:relative;border:1.5px solid var(--orange);transform:rotate(45deg)}
.logo-diamond::after{content:'';position:absolute;inset:7px;background:var(--orange)}
.logo-text{display:flex;flex-direction:column;line-height:1}
.logo-sup{font-family:'DM Sans',sans-serif;font-size:9px;font-weight:600;letter-spacing:3.5px;text-transform:uppercase;color:var(--orange);margin-bottom:3px}
.logo-name{font-family:'Cormorant Garamond',serif;font-size:21px;font-weight:600;color:var(--logo-name-s);letter-spacing:.4px}
.nav-menu{list-style:none;display:flex;gap:34px}
.nav-menu a{font-family:'DM Sans',sans-serif;font-size:14px;font-weight:400;color:var(--nav-link-s);text-decoration:none;letter-spacing:.2px;transition:color .2s}
.nav-menu a:hover{color:var(--orange)}
.nav-right{display:flex;align-items:center;gap:12px}
.theme-toggle{width:38px;height:38px;border-radius:50%;border:1px solid var(--toggle-border);background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-m);transition:border-color .2s,color .2s,background .2s;flex-shrink:0}
.theme-toggle:hover{border-color:var(--orange);color:var(--orange);background:rgba(232,98,10,.08)}
.icon-sun{display:none}.icon-moon{display:block}
[data-theme="light"] .icon-sun{display:block}[data-theme="light"] .icon-moon{display:none}
.nav-btn{font-family:'DM Sans',sans-serif;font-size:13px;font-weight:600;color:#fff;background:var(--orange);padding:10px 22px;border-radius:2px;text-decoration:none;letter-spacing:.3px;transition:background .2s,transform .18s;white-space:nowrap}
.nav-btn:hover{background:var(--orange-l);transform:translateY(-1px)}

/* ── BOTONES ── */
.btn-primary{display:inline-flex;align-items:center;gap:9px;background:var(--orange);color:#fff;font-family:'DM Sans',sans-serif;font-size:15px;font-weight:600;padding:15px 32px;border-radius:2px;text-decoration:none;letter-spacing:.3px;transition:background .2s,transform .2s;border:none;cursor:pointer}
.btn-primary:hover{background:var(--orange-l);transform:translateY(-2px)}
.btn-outline{display:inline-flex;align-items:center;gap:9px;background:transparent;color:var(--text);font-family:'DM Sans',sans-serif;font-size:15px;font-weight:400;padding:15px 32px;border-radius:2px;text-decoration:none;border:1px solid var(--border2);transition:border-color .2s,color .2s}
.btn-outline:hover{border-color:var(--teal-l);color:var(--teal-l)}

/* ── TÍTULOS ── */
.eyebrow{font-family:'DM Sans',sans-serif;font-size:10px;font-weight:700;letter-spacing:4px;text-transform:uppercase;color:var(--orange);margin-bottom:18px;display:flex;align-items:center;gap:12px}
.eyebrow::before{content:'';width:24px;height:1px;background:var(--orange);flex-shrink:0}
.eyebrow.center{justify-content:center}.eyebrow.center::before{display:none}
.s-h2{font-family:'Cormorant Garamond',serif;font-size:50px;font-weight:600;line-height:1.07;letter-spacing:-.5px;margin-bottom:18px;color:var(--text)}
.s-h2 em{font-style:italic;color:var(--orange)}
.s-lead{font-family:'DM Sans',sans-serif;font-size:16px;font-weight:300;line-height:1.78;color:var(--text-m)}
.section{padding:96px 80px}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.two-col-gallery{display:grid;grid-template-columns:1.4fr .6fr;gap:40px;align-items:center}
@media(max-width:900px){.two-col,.two-col-gallery{grid-template-columns:1fr;gap:44px}}

/* ── HERO DETALLE ── */
.dhero{position:relative;min-height:78vh;display:flex;align-items:flex-end;overflow:hidden}
.dhero-bg{position:absolute;inset:0;z-index:1}
.dhero-bg img{width:100%;height:100%;object-fit:cover;display:block}
.dhero::after{content:'';position:absolute;inset:0;z-index:2;background:linear-gradient(to top,rgba(4,7,10,.94) 6%,rgba(4,7,10,.55) 42%,rgba(4,7,10,.35) 100%)}
.dhero-inner{position:relative;z-index:5;padding:0 80px 66px;max-width:900px}
.back-link{display:inline-flex;align-items:center;gap:8px;font-family:'DM Sans',sans-serif;font-size:13px;font-weight:500;letter-spacing:.4px;color:rgba(255,255,255,.7);text-decoration:none;margin-bottom:26px;transition:color .2s}
.back-link:hover{color:var(--orange)}
.dhero-tag{display:inline-flex;align-items:center;gap:8px;font-family:'DM Sans',sans-serif;font-size:11px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:#fff;background:var(--orange);padding:7px 15px;border-radius:2px;margin-bottom:22px}
.dhero-title{font-family:'Cormorant Garamond',serif;font-size:78px;font-weight:600;line-height:1;color:#fff;letter-spacing:-1.5px;margin-bottom:18px}
.dhero-sub{font-family:'DM Sans',sans-serif;font-size:17px;font-weight:300;line-height:1.65;color:rgba(255,255,255,.7);max-width:560px}
.dhero-loc{display:flex;align-items:center;gap:9px;margin-top:20px;font-family:'DM Sans',sans-serif;font-size:14px;font-weight:400;color:var(--teal-l)}

/* ── FRANJA DE DATOS ── */
.factbar{background:var(--bg2);padding:0 80px;transition:background .3s}
.fact-grid{display:grid;grid-template-columns:repeat(4,1fr);border-left:1px solid var(--border)}
.fact{padding:40px 30px;border-right:1px solid var(--border)}
.fact-n{font-family:'Cormorant Garamond',serif;font-size:44px;font-weight:600;color:var(--orange);line-height:1}
.fact-l{font-family:'DM Sans',sans-serif;font-size:13px;font-weight:300;color:var(--text-m);margin-top:8px;line-height:1.5}

/* ── GALERÍA / CARRUSEL ── */
.proj-carousel{position:relative;border-radius:4px;overflow:hidden;box-shadow:0 34px 70px -34px rgba(0,0,0,.55)}
.carousel-viewport{position:relative;width:100%;aspect-ratio:16/10;overflow:hidden;background:#0b0f14}
.carousel-track{display:flex;height:100%;transition:transform .7s cubic-bezier(.65,.05,.36,1)}
.carousel-slide{position:relative;min-width:100%;height:100%}
.carousel-slide img{width:100%;height:100%;object-fit:cover;display:block}
.slide-caption{position:absolute;left:0;right:0;bottom:0;padding:46px 26px 20px;background:linear-gradient(to top,rgba(0,0,0,.78),transparent);color:#fff;font-family:'DM Sans',sans-serif;font-size:13px;font-weight:500;letter-spacing:.4px}
.car-arrow{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;border:none;background:rgba(255,255,255,.92);color:#111;font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:5;transition:background .2s,color .2s;box-shadow:0 4px 14px rgba(0,0,0,.22)}
.car-arrow:hover{background:var(--orange);color:#fff}
.car-prev{left:16px}.car-next{right:16px}
.car-dots{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);display:flex;gap:8px;z-index:5}
.car-dot{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.5);cursor:pointer;transition:background .25s,width .25s;border:none;padding:0}
.car-dot.active{background:var(--orange);width:22px;border-radius:4px}

/* ── AMENIDADES ── */
.amen-head{text-align:center;margin-bottom:46px}
.amen-title{font-family:'Cormorant Garamond',serif;font-size:40px;font-weight:600;color:var(--text);letter-spacing:-.3px;margin-bottom:8px}
.amen-title em{font-style:italic;color:var(--orange)}
.amen-sub{font-family:'DM Sans',sans-serif;font-size:14px;font-weight:300;color:var(--text-m)}
.amen-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.amen{display:flex;flex-direction:column;gap:16px;padding:30px 24px;background:var(--card);border:1px solid var(--border);transition:transform .3s,border-color .3s,box-shadow .3s}
.amen:hover{transform:translateY(-5px);border-color:var(--orange);box-shadow:0 18px 34px -20px rgba(232,98,10,.4)}
.amen svg{width:34px;height:34px;color:var(--orange);flex-shrink:0}
.amen-txt{font-family:'DM Sans',sans-serif;font-size:14px;font-weight:500;color:var(--text);line-height:1.45}

/* ── VISOR DE PLANOS 3D ── */
.plan-stage{perspective:1800px;display:flex;justify-content:center;align-items:center;padding:20px 0 10px;min-height:520px}
.plan-3d{position:relative;max-width:100%;transform-style:preserve-3d;transform:rotateX(38deg) rotateZ(-24deg);transition:transform .5s cubic-bezier(.2,.7,.3,1);will-change:transform;cursor:grab}
.plan-3d.flat{transform:rotateX(0deg) rotateZ(0deg)}
.plan-3d img{display:block;max-width:100%;width:820px;border-radius:6px;box-shadow:0 60px 90px -30px rgba(0,0,0,.7),0 0 0 1px rgba(255,255,255,.06);background:#fff}
.plan-3d::after{content:'';position:absolute;left:6%;right:6%;bottom:-46px;height:70px;background:radial-gradient(ellipse at center,rgba(0,0,0,.5),transparent 72%);transform:rotateX(90deg) translateZ(-30px);filter:blur(6px);z-index:-1}
.plan-pin{position:absolute;width:16px;height:16px;border-radius:50%;background:var(--orange);border:2px solid #fff;box-shadow:0 0 0 0 rgba(232,98,10,.6);transform:translateZ(48px);animation:planPulse 2.2s infinite}
@keyframes planPulse{0%{box-shadow:0 0 0 0 rgba(232,98,10,.55)}70%{box-shadow:0 0 0 14px rgba(232,98,10,0)}100%{box-shadow:0 0 0 0 rgba(232,98,10,0)}}
.plan-controls{display:flex;justify-content:center;gap:12px;margin-top:56px;flex-wrap:wrap}
.plan-btn{font-family:'DM Sans',sans-serif;font-size:13px;font-weight:600;letter-spacing:.4px;color:var(--text);background:var(--card);border:1px solid var(--border);padding:11px 20px;border-radius:2px;cursor:pointer;transition:border-color .2s,color .2s,background .2s}
.plan-btn:hover,.plan-btn.active{border-color:var(--orange);color:var(--orange)}
.plan-hint{text-align:center;font-family:'DM Sans',sans-serif;font-size:12.5px;font-weight:300;color:var(--text-s);margin-top:16px;letter-spacing:.3px}
.plan-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:18px;margin-top:30px}
.plan-leg{display:inline-flex;align-items:center;gap:8px;font-family:'DM Sans',sans-serif;font-size:12.5px;font-weight:500;color:var(--text-m)}
.plan-leg i{width:14px;height:14px;border-radius:3px;display:inline-block;flex-shrink:0}

/* ── RECORRIDO (VIDEO TELÉFONO) ── */
.phone-wrap{display:flex;flex-direction:column;align-items:center;gap:16px}
.phone-frame{width:100%;max-width:280px;border:9px solid #14181d;border-radius:34px;overflow:hidden;box-shadow:0 34px 64px -24px rgba(0,0,0,.6);background:#14181d}
.phone-frame video{width:100%;display:block;border-radius:24px}
.phone-label{font-family:'DM Sans',sans-serif;font-size:11px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--text-m)}

/* ── PAGO / PROCESO ── */
.pay-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.pay-card{background:var(--card);border:1px solid var(--border);padding:34px 28px;position:relative;overflow:hidden}
.pay-card::before{content:'';position:absolute;top:0;left:0;width:3px;height:100%;background:var(--teal)}
.pay-n{font-family:'Cormorant Garamond',serif;font-size:15px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--teal);margin-bottom:14px}
.pay-v{font-family:'Cormorant Garamond',serif;font-size:34px;font-weight:600;color:var(--orange);line-height:1;margin-bottom:12px}
.pay-d{font-family:'DM Sans',sans-serif;font-size:14px;font-weight:300;line-height:1.7;color:var(--text-m)}

/* ── LISTA CHECK ── */
.check-list{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:14px 34px}
.check-list li{display:flex;align-items:flex-start;gap:12px;font-family:'DM Sans',sans-serif;font-size:15px;font-weight:300;line-height:1.55;color:var(--text)}
.check-list li svg{width:20px;height:20px;color:var(--teal);flex-shrink:0;margin-top:1px}

/* ── UBICACIÓN ── */
.loc-map{width:100%;border-radius:4px;overflow:hidden;box-shadow:0 24px 50px -28px rgba(0,0,0,.5)}
.loc-map img{width:100%;display:block}
.loc-chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.loc-chip{font-family:'DM Sans',sans-serif;font-size:12.5px;font-weight:500;color:var(--text);padding:8px 15px;border:1px solid var(--border2);border-radius:30px;display:inline-flex;align-items:center;gap:7px}
.loc-chip::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--teal);flex-shrink:0}
.loc-chip b{color:var(--teal-l);font-weight:700}

/* ── CTA ── */
.dcta{background:#080D12;padding:110px 80px;text-align:center;position:relative;overflow:hidden}
.dcta::before{content:'\201C';position:absolute;top:-60px;left:50%;transform:translateX(-50%);font-family:'Cormorant Garamond',serif;font-size:320px;color:rgba(232,98,10,.045);line-height:1;pointer-events:none;user-select:none}
.dcta h2{font-family:'Cormorant Garamond',serif;font-size:54px;font-weight:600;color:#fff;letter-spacing:-1px;line-height:1.08;max-width:640px;margin:0 auto 22px}
.dcta h2 em{font-style:italic;color:var(--orange)}
.dcta p{font-family:'DM Sans',sans-serif;font-size:16px;font-weight:300;color:rgba(255,255,255,.45);max-width:460px;margin:0 auto 46px;line-height:1.75}
.dcta-btns{display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap}
.dcta .btn-outline{color:#fff;border-color:rgba(255,255,255,.18)}

/* ── FOOTER ── */
footer{background:#060A0D;padding:64px 80px 34px;border-top:1px solid rgba(232,98,10,.10)}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1.4fr;gap:56px;margin-bottom:48px;padding-bottom:48px;border-bottom:1px solid rgba(255,255,255,.05)}
.f-desc{font-family:'DM Sans',sans-serif;font-size:13px;font-weight:300;line-height:1.8;color:rgba(255,255,255,.32);max-width:280px;margin:18px 0 20px}
.f-tagline{font-family:'Cormorant Garamond',serif;font-size:16px;font-style:italic;color:var(--teal-l);opacity:.65}
.f-col-title{font-family:'DM Sans',sans-serif;font-size:9px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:rgba(255,255,255,.22);margin-bottom:20px}
.f-links{list-style:none;display:flex;flex-direction:column;gap:12px}
.f-links a{font-family:'DM Sans',sans-serif;font-size:14px;font-weight:300;color:rgba(255,255,255,.45);text-decoration:none;transition:color .2s}
.f-links a:hover{color:var(--orange)}
.f-contact{display:flex;align-items:center;gap:10px;margin-bottom:13px;font-family:'DM Sans',sans-serif;font-size:14px;font-weight:300;color:rgba(255,255,255,.45);text-decoration:none;transition:color .2s}
.f-contact:hover{color:var(--teal-l)}
.f-contact svg{width:14px;height:14px;flex-shrink:0}
.footer-bottom{display:flex;align-items:center;justify-content:space-between}
.f-copy{font-family:'DM Sans',sans-serif;font-size:12px;font-weight:300;color:rgba(255,255,255,.2)}
.f-legal{display:flex;gap:22px}
.f-legal a{font-family:'DM Sans',sans-serif;font-size:12px;color:rgba(255,255,255,.2);text-decoration:none}

/* ── REVEAL ── */
.fl{opacity:0;transform:translateX(-52px);transition:opacity .8s ease,transform .8s ease}
.fr{opacity:0;transform:translateX(52px);transition:opacity .8s ease,transform .8s ease}
.fb{opacity:0;transform:translateY(40px);transition:opacity .75s ease,transform .75s ease}
.vis{opacity:1!important;transform:none!important}

/* ── RESPONSIVE ── */
@media(max-width:1100px){
  #nav{padding:0 40px}
  .section,.factbar,.dcta{padding-left:40px;padding-right:40px}
  .dhero-inner{padding:0 40px 52px}
  footer{padding-left:40px;padding-right:40px}
  .dhero-title{font-size:56px}
  .fact-grid{grid-template-columns:1fr 1fr}
  .fact{border-bottom:1px solid var(--border)}
  .amen-grid{grid-template-columns:1fr 1fr}
  .pay-grid{grid-template-columns:1fr}
  .check-list{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr 1fr;gap:40px}
  .plan-3d img{width:100%}
  .plan-stage{min-height:auto;padding:10px 0}
}
@media(max-width:640px){
  #nav{padding:0 22px}
  .nav-menu{display:none}
  .section,.dcta{padding:64px 22px}
  .factbar{padding:0 22px}
  .dhero-inner{padding:0 22px 40px}
  footer{padding:44px 22px 28px}
  .dhero-title{font-size:40px}
  .dhero-sub{font-size:15px}
  .s-h2,.amen-title{font-size:32px}
  .dcta h2{font-size:34px}
  .fact-grid{grid-template-columns:1fr 1fr}
  .fact{padding:26px 18px}
  .fact-n{font-size:32px}
  .amen-grid{grid-template-columns:1fr 1fr;gap:12px}
  .amen{padding:22px 16px}
  .car-arrow{width:38px;height:38px;font-size:18px}
  .plan-3d{transform:rotateX(20deg) rotateZ(-12deg)}
  .footer-grid{grid-template-columns:1fr;gap:30px}
  .footer-bottom{flex-direction:column;gap:12px;text-align:center}
}
