:root{--pine:#20372B;--pine2:#2D4A3A;--sand:#EEE8DC;--paper:#FAF8F3;--brass:#A8823B;--ink:#1B1F1C;--stone:#5E635C;--line:#DDD6C8;
--serif:"Newsreader",Georgia,serif;--sans:"Figtree",system-ui,sans-serif}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--sans);color:var(--ink);background:var(--paper);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block;height:auto}
a{color:inherit}
.wrap{width:min(1180px,100% - 40px);margin-inline:auto}
:focus-visible{outline:3px solid var(--brass);outline-offset:3px}
.demo{background:var(--brass);color:#fff;font-size:14px;text-align:center;padding:8px 16px;line-height:1.4}
.demo a{font-weight:600}
.nav{background:var(--paper);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
.nav-in{display:flex;align-items:center;justify-content:space-between;height:72px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;min-height:44px;white-space:nowrap}
.mark{width:40px;height:40px;flex-shrink:0}
.bw{display:flex;flex-direction:column;line-height:1}
.bn{font-family:var(--serif);font-size:25px;font-weight:500;color:var(--pine);letter-spacing:-.01em}
.bs{font-family:var(--sans);font-size:12.5px;color:var(--stone);font-weight:600;letter-spacing:.06em;margin-top:4px}
.fb .bn{color:#fff}.fb .bs{color:#9DA39A}
.fb .mark path:last-child{fill:#8FB39C}
.foot .fb{margin-bottom:10px}
nav{display:flex;align-items:center;gap:28px}
nav a{text-decoration:none;font-weight:500;font-size:16px}
nav a:not(.btn):hover{color:var(--brass)}
.menu{display:none;background:none;border:1px solid var(--line);border-radius:4px;padding:0 16px;min-height:44px;font:500 15px var(--sans);color:var(--ink)}
.btn{display:inline-flex;align-items:center;justify-content:center;background:var(--pine);color:#fff;text-decoration:none;font-weight:600;font-size:16px;padding:13px 22px;border-radius:4px;border:0;cursor:pointer;font-family:var(--sans)}
.btn:hover{background:var(--pine2)}
.btn.wa{background:#1E7A4C}.btn.wa:hover{background:#17653E}
.btn.ghost{background:transparent;border:1.5px solid #fff}.btn.ghost:hover{background:rgba(255,255,255,.12)}
.btn.ghost-d{background:transparent;color:var(--pine);border:1.5px solid var(--pine)}
.btn.full{width:100%;margin-top:10px}
nav .btn{padding:10px 18px;font-size:15px}
.hero{position:relative;min-height:min(78vh,720px);display:flex;align-items:flex-end;color:#fff;overflow:hidden}
.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,28,21,0) 30%,rgba(15,28,21,.78) 100%)}
.hero-t{position:relative;z-index:1;padding:0 0 64px}
.hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(34px,4.6vw,60px);line-height:1.06;letter-spacing:-.02em;max-width:20ch}
.hero-copy p{font-size:clamp(17px,1.6vw,20px);max-width:46ch;margin:18px 0 28px;color:#EDEBE4}
.acts{display:flex;gap:12px;flex-wrap:wrap}
.sec{padding:72px 0}
.sec-h{display:flex;justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:28px;flex-wrap:wrap}
h2{font-family:var(--serif);font-weight:400;font-size:clamp(28px,3.4vw,40px);line-height:1.15;letter-spacing:-.01em;color:var(--pine)}
.sec-h a,.link{color:var(--pine);font-weight:600;text-underline-offset:4px}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.card{text-decoration:none;display:block}
.ph{position:relative;overflow:hidden;border-radius:4px;aspect-ratio:4/3;background:var(--sand)}
.ph img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.card:hover .ph img{transform:scale(1.03)}
.op{display:inline-block;font-size:13px;font-weight:600;padding:4px 10px;border-radius:3px;background:var(--paper);color:var(--pine)}
.ph .op{position:absolute;top:14px;left:14px}
.op-alquiler{background:var(--brass);color:#fff}
.cb{padding:16px 2px 0}
.pr{font-weight:600;color:var(--pine);font-size:18px}
.card h3{font-family:var(--serif);font-weight:500;font-size:23px;line-height:1.25;margin:4px 0 2px}
.zn{color:var(--stone);font-size:15px}
.sp{display:flex;gap:16px;margin-top:10px;font-size:15px;color:var(--ink);border-top:1px solid var(--line);padding-top:10px}
.about{background:var(--pine);color:#F3F0E8}
.about h2{color:#fff}
.about-in{display:grid;grid-template-columns:5fr 7fr;gap:64px;align-items:center;padding:80px 0}
.about-in img{border-radius:4px;aspect-ratio:4/5;object-fit:cover}
.about p{margin-top:16px;max-width:52ch}
.about .link{color:#E6C98B;display:inline-block;margin-top:20px}
.cta h2,.cta p{max-width:34ch}.cta p{max-width:60ch}
.cta p{margin:14px 0 24px;color:var(--stone)}
.page-h{padding-bottom:0}
.page-h h1{font-family:var(--serif);font-weight:400;font-size:clamp(36px,4.6vw,56px);color:var(--pine);letter-spacing:-.02em}
.page-h p{color:var(--stone);margin-top:8px;max-width:60ch}
.back{display:inline-block;margin-bottom:24px;color:var(--stone);font-size:15px;text-underline-offset:4px}
.prop-in{display:grid;grid-template-columns:7fr 4fr;gap:48px;align-items:start}
.main{border-radius:4px;overflow:hidden;aspect-ratio:4/3;background:var(--sand)}
.main img{width:100%;height:100%;object-fit:cover}
.thumbs{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-top:10px}
.th{border:0;padding:0;background:none;cursor:pointer;border-radius:3px;overflow:hidden;aspect-ratio:4/3;opacity:.65;outline-offset:2px}
.th img{width:100%;height:100%;object-fit:cover}
.th.on,.th:hover{opacity:1;box-shadow:0 0 0 2px var(--pine)}
.info .op-venta{background:var(--sand)}
.info h1{font-family:var(--serif);font-weight:400;font-size:clamp(30px,3.2vw,42px);line-height:1.12;color:var(--pine);margin:12px 0 6px;letter-spacing:-.01em}
.pr.big{font-size:28px;margin:18px 0}
.facts{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:22px}
.facts div{padding:14px 0}
.facts dt{font-size:14px;color:var(--stone)}
.facts dd{font-size:22px;font-weight:600}
.desc{max-width:760px;margin-top:56px}
.desc h2{font-size:28px;margin:28px 0 10px}
.desc ul{padding-left:20px}
.desc li{margin:6px 0}
.sticky-wa{display:none}
.about-p{display:grid;grid-template-columns:5fr 7fr;gap:64px;align-items:start}
.about-p img{border-radius:4px;aspect-ratio:4/5;object-fit:cover;position:sticky;top:100px}
.about-p h1{font-family:var(--serif);font-weight:400;font-size:clamp(38px,4.6vw,56px);color:var(--pine);letter-spacing:-.02em}
.about-p .lead{font-size:20px;color:var(--stone);margin:6px 0 20px}
.about-p p{margin-bottom:14px;max-width:60ch}
.about-p h2{font-size:28px;margin:32px 0 12px}
.steps{list-style:none;margin-bottom:10px}
.steps li{padding:12px 0;border-bottom:1px solid var(--line)}
.about-p .btn{margin-top:18px}
.contact{display:grid;grid-template-columns:7fr 4fr;gap:56px;align-items:start}
form{display:grid;gap:16px}
label{display:grid;gap:6px;font-weight:500;font-size:15px}
input,select,textarea{font:inherit;font-size:16px;padding:12px 14px;border:1px solid #CFC7B7;border-radius:4px;background:#fff;color:var(--ink)}
input:focus,select:focus,textarea:focus{outline:2px solid var(--pine);outline-offset:0;border-color:var(--pine)}
.hp{display:none}
form .btn{justify-self:start}
.c-side{background:var(--sand);padding:28px;border-radius:4px}
.c-side h2{font-size:26px;margin-bottom:14px}
.c-side p{margin-top:10px;color:var(--stone)}
.foot{background:var(--ink);color:#C9CCC6;margin-top:40px}
.foot-in{display:grid;grid-template-columns:2fr 1fr 2fr;gap:40px;padding:56px 0;font-size:15px}
.foot a{text-decoration:none}.foot a:hover{color:#fff}
.foot p{margin-bottom:6px}
.made a{color:#E6C98B}
@media (max-width:900px){
 .grid{grid-template-columns:1fr 1fr}
 .about-in,.about-p,.prop-in,.contact{grid-template-columns:1fr;gap:32px}
 .about-in img{max-width:min(420px,100%)}
 .about-p img{position:static;max-width:min(420px,100%)}
 .foot-in{grid-template-columns:1fr}
}
@media (max-width:700px){
 body{font-size:16px}
 .menu{display:block}
 nav{display:none;position:absolute;top:72px;left:0;right:0;background:var(--paper);flex-direction:column;align-items:stretch;padding:12px 20px 20px;gap:4px;border-bottom:1px solid var(--line)}
 nav.open{display:flex}
 nav a{padding:12px 0;border-bottom:1px solid var(--line)}
 nav .btn{margin-top:10px;border-bottom:0}
 .grid{grid-template-columns:1fr}
 .sec{padding:48px 0}
 .hero{min-height:74vh}
 .hero-t{padding-bottom:40px}
 .thumbs{grid-template-columns:repeat(4,1fr)}
 .sticky-wa{display:flex;position:fixed;left:16px;right:16px;bottom:16px;z-index:30;box-shadow:0 6px 18px rgba(0,0,0,.25)}

 .brand{font-size:24px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
/* v2 */
.demo a+a,.demo a:last-child{margin-left:4px}
.hero-t{display:flex;justify-content:space-between;align-items:flex-end;gap:40px}
.agent-card{display:flex;align-items:center;gap:14px;background:rgba(250,248,243,.96);color:var(--ink);padding:12px 18px 12px 12px;border-radius:6px;flex-shrink:0}
.agent-card img{width:64px;height:64px;border-radius:50%;object-fit:cover;object-position:top}
.an{font-weight:600;font-size:16px;line-height:1.3}
.ar{font-size:14px;color:var(--stone);line-height:1.35}
.cod{position:absolute;bottom:12px;right:12px;background:rgba(27,31,28,.72);color:#fff;font-size:12px;font-weight:600;padding:3px 8px;border-radius:3px;letter-spacing:.02em}
.op-cerrada{background:var(--ink);color:#fff}
.card.closed .ph img{filter:grayscale(.55) brightness(.92)}
.card.closed .pr{color:var(--stone)}
.tabs{display:flex;gap:8px;margin-top:24px}
.tab{font:600 15px var(--sans);padding:0 20px;min-height:44px;border-radius:40px;border:1.5px solid var(--line);background:#fff;color:var(--ink);cursor:pointer}
.tab.on{background:var(--pine);border-color:var(--pine);color:#fff}
.cat{padding-top:32px}
.card.hide{display:none}
.sell{border-top:1px solid var(--line)}
.sell-in{display:grid;grid-template-columns:5fr 6fr;gap:56px;align-items:start}
.sell-in p{color:var(--stone);margin:14px 0 24px;max-width:44ch}
.sell-list{list-style:none;display:grid;gap:0}
.sell-list li{padding:16px 0;border-bottom:1px solid var(--line)}
.sell-list li:first-child{border-top:1px solid var(--line)}
.closed-sec{background:var(--sand)}
.cta-card{background:var(--pine);color:#F3F0E8;border-radius:4px;padding:32px 28px;display:flex;flex-direction:column;justify-content:center}
.cta-card h3{font-family:var(--serif);font-weight:400;font-size:28px;line-height:1.2;color:#fff}
.cta-card p{margin:12px 0 22px}
.cta-card .btn{background:var(--brass);align-self:flex-start}
.tags{display:flex;align-items:center;gap:12px}
.cod-i{font-size:14px;color:var(--stone);font-weight:500}
.agent-mini{display:flex;gap:14px;align-items:center;margin-top:22px;padding-top:20px;border-top:1px solid var(--line)}
.agent-mini img{width:58px;height:58px;border-radius:50%;object-fit:cover;object-position:top}
.agent-mini a{font-size:15px;font-weight:600;color:var(--pine)}
.share{display:inline-block;margin-top:18px;font-size:15px;font-weight:600;color:var(--pine);text-underline-offset:4px}
.detail{display:grid;grid-template-columns:7fr 5fr;gap:56px;margin-top:56px;align-items:start}
.detail .desc{margin-top:0}
.desc h2:first-child,.media h2:first-child{margin-top:0}
.media h2{font-size:28px;margin:28px 0 12px}
.ref{color:var(--stone);font-style:italic}
.conds{display:grid;gap:0;border-top:1px solid var(--line)}
.conds div{display:flex;justify-content:space-between;gap:20px;padding:12px 0;border-bottom:1px solid var(--line)}
.conds dt{color:var(--stone)}.conds dd{font-weight:600;text-align:right}
.video-block video{width:100%;border-radius:4px;background:#000;aspect-ratio:16/9}
.map{border-radius:4px;overflow:hidden;aspect-ratio:4/3;background:var(--sand)}
.map iframe{width:100%;height:100%;border:0}
.map-note{font-size:14px;color:var(--stone);margin-top:8px}
.closed-note{background:var(--sand);padding:18px;border-radius:4px}
.closed-note p{margin-bottom:12px}
.guide h2{font-size:28px;margin:36px 0 12px}
.guide ul{padding-left:20px;max-width:70ch}.guide li{margin:6px 0}
.mt{margin-top:24px}
.facts{grid-template-columns:repeat(3,1fr)}
@media (max-width:900px){
 .hero-t{flex-direction:column;align-items:flex-start;gap:24px}
 .sell-in,.detail{grid-template-columns:1fr;gap:32px}
}
@media (max-width:700px){
 .sticky-wa{display:flex}
 main{padding-bottom:70px}
 .info .btn.wa{display:none}
 .agent-card{padding:10px 14px 10px 10px}
 .agent-card img{width:52px;height:52px}
}

/* v3 */
.demo .short{display:none}
.sec-h a,.link,.back,.share,.agent-mini a,.foot a,.demo a,.made a{display:inline-flex;align-items:center;min-height:44px}
.demo a{min-height:0;padding:6px 0}
.back{margin-bottom:12px}
.share{margin-top:10px}
.foot p{margin-bottom:0}
.op{font-size:14px}
.cod{font-size:13px}
.map{position:relative}
.map-cover{position:absolute;inset:0;z-index:2;border:0;background:rgba(27,31,28,.18);color:#fff;font:600 16px var(--sans);cursor:pointer;display:flex;align-items:flex-end;justify-content:center;padding-bottom:18px;text-shadow:0 1px 3px rgba(0,0,0,.5)}
.map-cover:hover{background:rgba(27,31,28,.28)}
.map.on .map-cover{display:none}
@media (min-width:701px) and (max-width:900px){
 .grid{grid-template-columns:repeat(3,1fr);gap:18px}
 .about-in{grid-template-columns:5fr 7fr;gap:40px}
 .about-in img{max-width:none;width:100%}
 .about-in>*{min-width:0}
 .sell-in{grid-template-columns:1fr 1fr;gap:36px}
 .card h3{font-size:20px}
 .sp{flex-wrap:wrap;gap:6px 12px;font-size:14px}
}
@media (max-width:960px){
 .menu{display:inline-flex;align-items:center}
 nav{display:none;position:absolute;top:72px;left:0;right:0;background:var(--paper);flex-direction:column;align-items:stretch;padding:12px 20px 20px;gap:4px;border-bottom:1px solid var(--line);box-shadow:0 8px 16px rgba(0,0,0,.06)}
 nav.open{display:flex}
 nav a{padding:12px 0;border-bottom:1px solid var(--line);min-height:44px;display:flex;align-items:center}
 nav .btn{margin-top:10px;border-bottom:0;justify-content:center}

}
@media (max-width:700px){
 .demo{font-size:13px;padding:6px 12px}
 .demo .long{display:none}.demo .short{display:inline}
 .foot{padding-bottom:80px}
 .bn{font-size:22px}.mark{width:36px;height:36px}
}
