:root{--verde:#0e3b2e;--verde2:#14503e;--cobre:#b87a4b;--cobre2:#d9a577;--fondo:#faf8f5;--texto:#1d2420;--suave:#6b736e;--linea:#e6e0d6}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth}
body{font-family:"Avenir Next","Helvetica Neue",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;background:var(--fondo);color:var(--texto);line-height:1.65;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:var(--cobre)}
.wrap{max-width:1080px;margin:0 auto;padding:0 20px}

/* barra */
.nav{position:absolute;top:0;left:0;right:0;z-index:5;display:flex;justify-content:space-between;align-items:center;padding:20px 28px;color:#fff}
.brand{font-weight:300;letter-spacing:.35em;font-size:1.15rem}
.brand small{display:block;font-size:.5rem;letter-spacing:.7em;color:var(--cobre2);margin-top:2px}
.logo-nav{height:72px;width:auto}
.nav a.cta-mini{color:#fff;border:1px solid rgba(255,255,255,.7);padding:8px 16px;border-radius:999px;text-decoration:none;font-size:.85rem}

/* hero */
.hero{position:relative;min-height:92vh;display:flex;align-items:flex-end;color:#fff;background:#10201a}
.hero img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:35% 50%}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,20,15,.6) 0%,rgba(8,20,15,.1) 25%,rgba(8,20,15,.55) 50%,rgba(8,20,15,.9) 100%)}
.hero h1,.hero p{text-shadow:0 2px 18px rgba(0,0,0,.45)}
.hero .wrap{position:relative;z-index:2;padding-bottom:64px;width:100%}
.hero h1{font-weight:300;font-size:clamp(2rem,6vw,3.8rem);line-height:1.1;letter-spacing:.01em;max-width:14em}
.hero p.sub{margin-top:14px;font-size:clamp(1rem,2.2vw,1.2rem);color:#e8e2d8}
.hero .precio{margin-top:22px;font-size:clamp(1.6rem,4vw,2.4rem);color:var(--cobre2);font-weight:300}
.btn{display:inline-block;margin-top:24px;background:var(--cobre);color:#fff;padding:14px 26px;border-radius:999px;text-decoration:none;font-weight:500;letter-spacing:.02em;transition:background .2s}
.btn:hover{background:#a56a3d}

/* secciones */
section{padding:72px 0}
h2{font-weight:300;font-size:clamp(1.5rem,3.6vw,2.2rem);color:var(--verde);letter-spacing:.01em}
h2::after{content:"";display:block;width:56px;height:2px;background:var(--cobre);margin-top:14px}
.lead{margin-top:20px;max-width:40em;color:#38403b;font-size:1.05rem}

/* datos */
.datos{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin-top:36px}
.dato{background:#fff;border:1px solid var(--linea);border-radius:12px;padding:18px 16px}
.dato b{display:block;font-size:1.6rem;font-weight:300;color:var(--verde)}
.dato span{font-size:.85rem;color:var(--suave)}

/* bloques con foto */
.split{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.split.rev .txt{order:2}
.split img{width:100%;border-radius:14px;object-fit:cover}
.split .txt ul{margin-top:18px;padding-left:18px;color:#38403b}
.split .txt li{margin:6px 0}
@media(max-width:760px){.split{grid-template-columns:1fr;gap:22px}.split.rev .txt{order:0}section{padding:52px 0}}

/* galería */
.band{background:#f1ede6}
.galeria{display:grid;grid-template-columns:repeat(12,1fr);gap:12px;margin-top:32px}
.galeria figure{position:relative;overflow:hidden;border-radius:12px;background:#ddd}
.galeria img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.galeria figure:hover img{transform:scale(1.04)}
.galeria figcaption{position:absolute;left:0;right:0;bottom:0;padding:24px 14px 10px;color:#fff;font-size:.85rem;background:linear-gradient(transparent,rgba(0,0,0,.6))}
.g1{grid-column:span 8;aspect-ratio:16/9}.g2{grid-column:span 4;aspect-ratio:3/4}
.g3{grid-column:span 4;aspect-ratio:3/4}.g4{grid-column:span 4;aspect-ratio:3/4}.g5{grid-column:span 4;aspect-ratio:3/4}
.g6{grid-column:span 6;aspect-ratio:16/10}.g7{grid-column:span 6;aspect-ratio:16/10}
@media(max-width:760px){.galeria{grid-template-columns:repeat(2,1fr)}.galeria figure{grid-column:span 1!important;aspect-ratio:3/4!important}.galeria .g1,.galeria .g6,.galeria .g7{grid-column:span 2!important;aspect-ratio:16/10!important}}

/* contacto */
.contacto{background:var(--verde);color:#fff;text-align:center}
.contacto h2{color:#fff}.contacto h2::after{margin:14px auto 0}
.contacto p{max-width:34em;margin:20px auto 0;color:#dfe8e3}
.contacto .logo{max-width:340px;margin:36px auto 0;border-radius:12px}
footer{padding:28px 20px;text-align:center;font-size:.85rem;color:var(--suave)}
footer a{color:var(--suave);margin:0 6px}

/* páginas legales */
.legal header{background:var(--verde);color:#fff;padding:14px 28px}.legal .logo-nav{height:56px}
.legal main{max-width:720px;margin:0 auto;padding:36px 20px}
.legal main h2{margin-bottom:18px}.legal main p{margin:12px 0}
