.crumbs{font-size:13px;color:var(--t2);padding-block:18px}
.crumbs b{color:var(--tinta);font-weight:400}
.gal{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:1fr 1fr;gap:8px;height:min(52vh,440px)}
.gal .ph{
  border-radius:var(--r-md);cursor:pointer;
  border:0;padding:0;font:inherit;color:inherit;
  display:block;width:100%;height:100%;
}
.gal .ph:first-child{grid-row:span 2}
.gal .ph img{transition:scale .45s var(--ease)}
.gal .ph:hover img{scale:1.03}
.visor{
  border:0;padding:0;background:transparent;color:var(--papel);
  margin:auto;
  width:100%;height:100%;max-width:100vw;max-height:100vh;
  overflow:hidden;
}
.visor::backdrop{background:rgba(8,12,10,.94)}
.visor .cuadro{
  height:100%;display:grid;grid-template-rows:auto 1fr auto;
  padding:14px clamp(14px,3vw,28px) 18px;gap:10px;
}
.visor .top{display:flex;align-items:center;justify-content:space-between;gap:16px}
.visor .cuenta{font-family:var(--fm);font-size:14px;color:rgba(247,245,240,.7)}
.visor .marco{position:relative;display:flex;align-items:center;justify-content:center;min-height:0}
.visor img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;border-radius:var(--r-sm)}
.visor .pie{text-align:center;font-size:14px;color:rgba(247,245,240,.75);min-height:1.4em}
.visor button{
  border:1px solid rgba(247,245,240,.25);background:rgba(20,26,22,.55);
  color:var(--papel);border-radius:99px;cursor:pointer;
  width:44px;height:44px;display:grid;place-items:center;
  backdrop-filter:blur(6px);transition:.16s ease;
}
.visor button:hover{background:rgba(247,245,240,.16);border-color:rgba(247,245,240,.5)}
.visor .ant,.visor .sig{position:absolute;top:50%;translate:0 -50%;z-index:2}
.visor .ant{left:0}
.visor .sig{right:0}
.main{display:grid;grid-template-columns:1fr 330px;gap:clamp(28px,5vw,64px);padding-block:clamp(32px,4vw,56px)}
.main h1{font-size:clamp(34px,5vw,56px);line-height:1.04}
.main h2{font-size:clamp(22px,2.6vw,30px)}
.main h3{font-size:19px}
.loc{font-size:15px;color:var(--t2)}
.keys{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--border);border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden;margin-top:24px}
.keys div{background:var(--papel);padding:18px 16px}
.keys svg{color:var(--t3);margin-bottom:8px}
.keys b{display:block;font-size:17px;font-weight:500}
.keys span{font-size:13px;color:var(--t2)}
.desc{margin-top:32px;color:var(--t2);max-width:62ch}
.desc p+p{margin-top:14px}
.block{margin-top:44px}
.block h2{margin-bottom:16px}
table{width:100%;border-collapse:collapse;border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden}
td{padding:13px 18px;border-bottom:1px solid var(--border);font-size:15px}
tr:last-child td{border-bottom:0}
td:first-child{color:var(--t2)}
td:last-child{text-align:right;font-family:var(--fm);font-weight:500}
td.txt{font-family:var(--fu);font-weight:400}
.mapbox{border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden}
.mtabs{display:flex;gap:6px;padding:12px;border-bottom:1px solid var(--border)}
.mtabs .chip{padding:7px 15px}
.canvas{height:300px}
.poly{position:absolute;left:32%;top:28%;width:220px;height:130px;border:2px dashed var(--bosque);border-radius:6px;background:rgba(168,118,62,.16)}
.poly span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-family:var(--fm);font-size:13px;color:var(--bosque)}
.docs{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.doc{border:1px solid var(--border);border-radius:var(--r-md);padding:14px 16px;display:flex;align-items:center;gap:11px;font-size:15px}
.doc svg{color:var(--monte);flex:none}
.panel{border:1px solid var(--border-strong);border-radius:var(--r-lg);padding:24px;position:sticky;top:94px}
.panel .price{font-size:30px;letter-spacing:-.03em}
.panel .pm2{font-size:14px;color:var(--t2);margin-top:2px}
.panel .btns{display:grid;gap:9px;margin-top:18px}
.panel .agent{display:flex;align-items:center;gap:11px;margin-top:20px;padding-top:18px;border-top:1px solid var(--border)}
.panel .av{width:38px;height:38px}
.more{border-top:1px solid var(--border);padding-block:clamp(40px,5vw,64px)}
.more h2{font-size:clamp(22px,2.6vw,30px);margin-bottom:20px}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px}
.cards .ph{aspect-ratio:16/10}
.cards .b{padding:14px 16px}
.cards .b b{font-size:16px;font-weight:500}
.cards .b p{font-size:14px;color:var(--t2);margin-top:3px;font-family:var(--fm)}
footer{padding-block:32px;font-size:13px;color:rgba(247,245,240,.6)}
footer .wrap{display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between}
.mbar{gap:12px}
.mbar .p{flex:1}
.mbar .p b{font-family:var(--fm);font-size:19px;font-weight:500;display:block;line-height:1.2}
.mbar .p span{font-size:12px;color:var(--t2)}
@media (max-width:1000px){
  .main{grid-template-columns:1fr}
  .panel{position:static}
  .gal{grid-template-columns:1fr 1fr;grid-template-rows:auto;height:auto}
  .gal .ph{aspect-ratio:4/3}
  .gal .ph:first-child{grid-column:span 2;grid-row:auto}
  .keys{grid-template-columns:1fr 1fr}
  .docs{grid-template-columns:1fr}
}
@media (max-width:1000px){header .nav-cta-sm{display:none}}
