/* ============================================================
   MIRADOR DEL ARIARI — sections.css
   ============================================================ */

/* ── SOBRE EL PROYECTO ── */
.about-wrap {
  display:grid; grid-template-columns:1fr 1fr;
  gap:96px; align-items:center;
}
.about-media { position:relative; height:560px; }
.about-img {
  width:100%; height:100%; object-fit:cover;
  clip-path:polygon(0 0, 100% 0, 100% 85%, 85% 100%, 0 100%);
  filter:brightness(.88) saturate(1.1);
  transition:filter .6s;
}
.about-img:hover { filter:brightness(.95) saturate(1.2); }
.about-badge {
  position:absolute; bottom:-28px; right:-28px;
  background:var(--cobre);
  padding:28px 32px; text-align:center;
  clip-path:polygon(0 0, 100% 0, 100% 100%, 14px 100%, 0 calc(100% - 14px));
}
.about-badge b {
  display:block; font-family:var(--serif);
  font-size:52px; color:var(--noche); line-height:1;
}
.about-badge s {
  display:block; font-family:var(--sans);
  font-size:9px; font-weight:600;
  letter-spacing:3px; text-transform:uppercase;
  color:rgba(7,12,20,.6); text-decoration:none; margin-top:4px;
}

.about-txt { }
.about-txt .titulo { margin-bottom:22px; }
.about-txt p {
  font-size:15px; color:var(--pizarra); line-height:1.8;
  margin-bottom:16px;
}
.about-feats {
  display:grid; grid-template-columns:1fr 1fr;
  gap:10px; margin-top:32px;
}
.feat {
  display:flex; gap:14px; align-items:flex-start;
  padding:16px 18px;
  border:1px solid var(--borde);
  background:var(--sup);
  transition:border-color .3s, background .3s;
}
.feat:hover { border-color:var(--borde2); background:rgba(184,115,51,.04); }
.feat-ico { font-size:20px; flex-shrink:0; margin-top:1px; }
.feat-txt b { display:block; font-size:12px; font-weight:500; color:var(--marfil); margin-bottom:3px; font-family:var(--sans); }
.feat-txt s { font-size:11px; color:var(--pizarra); text-decoration:none; line-height:1.5; }

/* ── COUNTER ROW ── */
.counters {
  background:var(--azul);
  border-top:1px solid var(--borde);
  border-bottom:1px solid var(--borde);
  padding:64px 0;
}
.counters-grid {
  display:grid; grid-template-columns:repeat(4,1fr);
  gap:0;
}
.ctr {
  text-align:center; padding:0 24px;
  border-right:1px solid var(--borde);
}
.ctr:last-child { border-right:none; }
.ctr-n {
  font-family:var(--serif);
  font-size:clamp(44px,5vw,68px); color:var(--cobre2);
  line-height:1; margin-bottom:8px;
}
.ctr-l {
  font-family:var(--sans); font-size:10px;
  font-weight:600; letter-spacing:3px;
  text-transform:uppercase; color:var(--pizarra);
}

/* ── LOTES ── */
.lotes-head {
  display:flex; justify-content:space-between; align-items:flex-end;
  margin-bottom:52px; gap:24px;
}
.lotes-note {
  font-size:14px; color:var(--pizarra);
  max-width:280px; line-height:1.65; text-align:right;
}
.lotes-grid {
  display:grid; grid-template-columns:repeat(3,1fr);
  gap:1px; background:var(--borde);
}
.lote {
  background:var(--noche2);
  padding:44px 36px;
  display:flex; flex-direction:column;
  position:relative; overflow:hidden;
  transition:background .4s;
}
.lote::before {
  content:''; position:absolute;
  top:0; left:0; right:0; height:2px;
  background:linear-gradient(to right, var(--cobre), var(--cobre2));
  transform:scaleX(0); transform-origin:left;
  transition:transform .5s cubic-bezier(.16,1,.3,1);
}
.lote:hover { background:rgba(184,115,51,.04); }
.lote:hover::before { transform:scaleX(1); }
.lote--star { background:linear-gradient(145deg, rgba(14,36,66,.9), rgba(184,115,51,.06)); }
.lote--star::before { transform:scaleX(1); }

.lote-tag {
  font-family:var(--sans); font-size:9px;
  font-weight:600; letter-spacing:3px;
  text-transform:uppercase; color:var(--cobre2);
  background:rgba(184,115,51,.1);
  padding:5px 12px; display:inline-block;
  width:fit-content; margin-bottom:28px;
}
.lote--star .lote-tag { background:rgba(184,115,51,.18); }

.lote-nom { font-family:var(--serif); font-size:28px; color:var(--marfil); margin-bottom:6px; }
.lote-m2  { font-size:12px; color:var(--pizarra); letter-spacing:1px; margin-bottom:36px; }

.lote-price-lbl { font-size:9px; font-weight:600; letter-spacing:2.5px; text-transform:uppercase; color:var(--pizarra); margin-bottom:6px; }
.lote-price     { font-family:var(--serif); font-size:46px; color:var(--cobre2); line-height:1; margin-bottom:4px; }
.lote-price-sub { font-size:11px; color:var(--pizarra); margin-bottom:28px; }

.lote-sep { height:1px; background:var(--borde); margin:0 0 22px; }
.lote-ul  { display:flex; flex-direction:column; gap:10px; flex:1; }
.lote-ul li {
  font-size:12px; color:var(--pizarra);
  display:flex; align-items:center; gap:10px;
}
.lote-ul li::before {
  content:''; width:5px; height:5px;
  border:1px solid var(--cobre); transform:rotate(45deg);
  flex-shrink:0;
}
.lote-btn {
  margin-top:28px; width:100%; padding:13px;
  background:transparent;
  border:1px solid var(--borde2);
  color:var(--cobre2);
  font-family:var(--sans); font-size:10px;
  font-weight:600; letter-spacing:2.5px;
  text-transform:uppercase; cursor:pointer;
  transition:all .35s;
}
.lote-btn:hover { background:var(--cobre); color:var(--noche); border-color:var(--cobre); }
.lote--star .lote-btn { background:var(--cobre); color:var(--noche); border-color:var(--cobre); }
.lote--star .lote-btn:hover { background:var(--cobre2); }

/* ── AMENIDADES ── */
.amen-grid {
  display:grid; grid-template-columns:repeat(4,1fr);
  gap:16px; margin-top:56px;
}
.amen {
  padding:36px 22px; text-align:center;
  border:1px solid var(--borde);
  position:relative; overflow:hidden;
  transition:transform .4s cubic-bezier(.16,1,.3,1), border-color .4s;
}
.amen::after {
  content:''; position:absolute; inset:0;
  background:linear-gradient(135deg, rgba(14,36,66,.5), rgba(184,115,51,.04));
  opacity:0; transition:opacity .4s;
}
.amen:hover { transform:translateY(-6px); border-color:var(--borde2); }
.amen:hover::after { opacity:1; }
.amen-ico { font-size:38px; margin-bottom:14px; display:block; position:relative; z-index:1; }
.amen-nm  { font-family:var(--serif); font-size:18px; color:var(--marfil); margin-bottom:6px; position:relative; z-index:1; }
.amen-ds  { font-size:12px; color:var(--pizarra); line-height:1.6; position:relative; z-index:1; }

/* ── GALERÍA ── */
.gal-grid {
  display:grid;
  grid-template-columns:repeat(12,1fr);
  grid-template-rows:300px 220px;
  gap:3px; margin-top:48px;
}
.gi { overflow:hidden; position:relative; cursor:zoom-in; }
.gi img {
  width:100%; height:100%; object-fit:cover;
  filter:brightness(.8) saturate(.9);
  transition:transform .8s cubic-bezier(.16,1,.3,1), filter .5s;
}
.gi:hover img { transform:scale(1.07); filter:brightness(.95) saturate(1.1); }
.gi-ov {
  position:absolute; inset:0;
  background:linear-gradient(to top, rgba(7,12,20,.75), transparent 50%);
  opacity:0; transition:opacity .4s;
  display:flex; align-items:flex-end; padding:16px;
}
.gi:hover .gi-ov { opacity:1; }
.gi-ov span {
  font-family:var(--sans); font-size:10px;
  letter-spacing:2.5px; text-transform:uppercase; color:var(--cobre2);
}
.gi-a { grid-column:span 5; grid-row:span 2; }
.gi-b { grid-column:span 4; }
.gi-c { grid-column:span 3; }
.gi-d { grid-column:span 3; }
.gi-e { grid-column:span 4; }
.gi-f { grid-column:span 5; }

/* ── INVERSIÓN ── */
.inv-wrap {
  display:grid; grid-template-columns:1fr 1fr;
  gap:80px; align-items:center;
}
.inv-pts { display:flex; flex-direction:column; gap:18px; margin-top:36px; }
.inv-pt {
  display:flex; gap:22px; align-items:flex-start;
  padding:22px 24px;
  border-left:2px solid var(--cobre);
  background:var(--sup);
  transition:background .3s, border-color .3s;
}
.inv-pt:hover { background:rgba(184,115,51,.05); border-color:var(--cobre2); }
.inv-pt-n {
  font-family:var(--serif); font-size:38px;
  color:rgba(184,115,51,.3); line-height:1; flex-shrink:0;
  transition:color .3s;
}
.inv-pt:hover .inv-pt-n { color:var(--cobre2); }
.inv-pt-t b { display:block; font-size:13px; font-weight:500; color:var(--marfil); margin-bottom:5px; font-family:var(--sans); }
.inv-pt-t s { font-size:13px; color:var(--pizarra); line-height:1.6; text-decoration:none; }

.inv-visual { position:relative; height:520px; }
.inv-img {
  width:100%; height:100%; object-fit:cover;
  clip-path:polygon(14% 0, 100% 0, 100% 86%, 86% 100%, 0 100%, 0 14%);
  filter:brightness(.82) saturate(1.1);
}
.inv-card {
  position:absolute; top:44px; left:-36px;
  background:var(--noche2); border:1px solid var(--borde2);
  padding:24px 28px; min-width:165px;
}
.inv-card-lbl {
  font-size:9px; font-weight:600; letter-spacing:2.5px;
  text-transform:uppercase; color:var(--pizarra); margin-bottom:8px;
}
.inv-card-val { font-family:var(--serif); font-size:42px; color:var(--cobre2); line-height:1; }
.inv-card-sub { font-size:11px; color:var(--pizarra); margin-top:4px; }

.inv-card2 {
  position:absolute; bottom:40px; right:-28px;
  background:var(--cobre); padding:20px 24px;
}
.inv-card2 .inv-card-lbl { color:rgba(7,12,20,.6); }
.inv-card2 .inv-card-val { font-family:var(--serif); font-size:34px; color:var(--noche); line-height:1; }
.inv-card2 .inv-card-sub { color:rgba(7,12,20,.6); }

/* ── PROCESO ── */
.proceso-grid {
  display:grid; grid-template-columns:repeat(4,1fr);
  gap:0; margin-top:64px; position:relative;
}
.proceso-grid::before {
  content:''; position:absolute;
  top:38px; left:calc(12.5% + 10px); right:calc(12.5% + 10px);
  height:1px; background:var(--borde2);
}
.paso { text-align:center; padding:0 24px; }
.paso-n {
  width:76px; height:76px; border-radius:50%;
  border:1px solid var(--borde2);
  background:var(--noche); position:relative; z-index:1;
  margin:0 auto 24px;
  display:flex; align-items:center; justify-content:center;
  font-family:var(--serif); font-size:28px; color:var(--cobre2);
  transition:border-color .3s, background .3s, box-shadow .3s;
}
.paso:hover .paso-n {
  border-color:var(--cobre);
  background:rgba(184,115,51,.08);
  box-shadow:0 0 30px rgba(184,115,51,.2);
}
.paso h4 {
  font-family:var(--sans); font-size:13px; font-weight:600;
  letter-spacing:1px; color:var(--marfil); margin-bottom:10px;
  text-transform:uppercase;
}
.paso p { font-size:13px; color:var(--pizarra); line-height:1.65; }

/* ── RESPONSIVE ── */
@media(max-width:1024px) {
  .about-wrap { grid-template-columns:1fr; gap:56px; }
  .about-media { height:400px; }
  .counters-grid { grid-template-columns:repeat(2,1fr); gap:0; }
  .lotes-grid { grid-template-columns:1fr; }
  .lotes-head { flex-direction:column; align-items:flex-start; }
  .lotes-note { text-align:left; }
  .amen-grid { grid-template-columns:repeat(2,1fr); }
  .inv-wrap { grid-template-columns:1fr; }
  .proceso-grid { grid-template-columns:repeat(2,1fr); gap:40px; }
  .proceso-grid::before { display:none; }
  .gal-grid { grid-template-rows:auto; }
  .gi-a { grid-column:span 12; height:300px; grid-row:span 1; }
  .gi-b,.gi-c,.gi-d,.gi-e,.gi-f { grid-column:span 4; height:200px; }
}
@media(max-width:640px) {
  .amen-grid { grid-template-columns:1fr 1fr; }
  .gi-a { grid-column:span 12; }
  .gi-b,.gi-e { grid-column:span 6; }
  .gi-c,.gi-d,.gi-f { grid-column:span 6; }
  .about-badge { right:0; bottom:-16px; }
  .inv-card { left:0; }
  .inv-card2 { right:0; }
  .proceso-grid { grid-template-columns:1fr; }
}
