/* ════════════════════════════════════════
   ESTANTEK — main.css
   Organiza tu negocio con tecnología y acero
════════════════════════════════════════ */

:root {
  --naranja: #FF5C00;
  --naranja-hover: #e05200;
  --negro: #0D0D0D;
  --gris-oscuro: #161616;
  --gris-medio: #2E2E2E;
  --gris-claro: #888;
  --blanco: #F5F5F0;
  --blanco-tenue: rgba(245,245,240,0.65);

  --font-display: 'Barlow Condensed', sans-serif;
  --font-serif: 'Playfair Display', serif;
  --font-body: 'Barlow', sans-serif;

  --max-w: 1320px;
  --pad-x: 56px;
  --pad-x-mobile: 24px;
}

/* ─── RESET ─── */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; font-size:16px; }
body { background:var(--negro); color:var(--blanco); font-family:var(--font-body); font-weight:300; overflow-x:hidden; line-height:1.6; }
img { display:block; max-width:100%; }
a { text-decoration:none; }
button { font-family:inherit; }
ul { list-style:none; }

/* ─── TIPOGRAFÍA UTILITARIA ─── */
.label-small {
  font-size:10px; letter-spacing:5px; text-transform:uppercase;
  color:var(--naranja); margin-bottom:18px;
}
.title-display {
  font-family:var(--font-display); font-size:clamp(38px,5vw,66px);
  font-weight:700; text-transform:uppercase; line-height:0.95;
}
.title-mid {
  font-family:var(--font-display); font-size:clamp(28px,3.5vw,44px);
  font-weight:700; text-transform:uppercase; line-height:0.95; margin-bottom:36px;
}
.t-bold {
  display:block; font-family:var(--font-display); font-weight:900;
  font-size:clamp(42px,8.8vw,112px); text-transform:uppercase;
  letter-spacing:-1.5px; color:var(--blanco); line-height:0.93;
}
.t-italic {
  display:block; font-family:var(--font-serif); font-style:italic; font-weight:400;
  font-size:clamp(36px,7.5vw,96px);
  color:rgba(245,245,240,.65); line-height:1.08; letter-spacing:-.5px;
}
@media(max-width:480px){
  .t-bold { font-size:clamp(36px,10.5vw,54px); letter-spacing:-1px; }
  .t-italic { font-size:clamp(30px,9vw,46px); }
}
.t-italic-title {
  font-family:var(--font-serif); font-style:italic; font-weight:400;
  text-transform:none; color:rgba(245,245,240,.52);
  display:block; font-size:0.85em;
}
.body-text { font-size:15px; color:var(--blanco-tenue); line-height:1.85; }
.section-hint { max-width:260px; font-size:13px; color:var(--gris-claro); line-height:1.65; text-align:right; }

/* ─── BOTONES ─── */
.btn-primary {
  display:inline-flex; align-items:center; gap:10px;
  background:var(--naranja); color:#fff;
  font-family:var(--font-display); font-weight:700; font-size:13px;
  text-transform:uppercase; letter-spacing:1.5px;
  padding:14px 28px; border:none; border-radius:3px; cursor:pointer;
  transition:background .2s, transform .15s, box-shadow .2s;
  box-shadow:0 4px 20px rgba(255,92,0,.25);
}
.btn-primary:hover { background:var(--naranja-hover); transform:translateY(-2px); box-shadow:0 8px 28px rgba(255,92,0,.35); }
.btn-primary svg { width:15px; height:15px; flex-shrink:0; }

.btn-outline {
  display:inline-flex; align-items:center; gap:10px;
  background:transparent; color:var(--blanco);
  font-family:var(--font-body); font-size:13px; font-weight:400; letter-spacing:.3px;
  padding:13px 24px; border:1px solid rgba(245,245,240,.22); border-radius:3px;
  cursor:pointer;
  transition:border-color .2s, background .2s;
}
.btn-outline:hover { border-color:rgba(245,245,240,.5); background:rgba(245,245,240,.04); }
.btn-outline svg { width:15px; height:15px; flex-shrink:0; }

.btn-whatsapp { font-size:14px; padding:16px 32px; }

/* ─── NAV ─── */
#navbar {
  position:fixed; top:0; left:0; right:0; z-index:100;
  display:flex; align-items:center; justify-content:space-between;
  padding:18px var(--pad-x);
  background:rgba(13,13,13,.88);
  backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px);
  border-bottom:1px solid rgba(255,255,255,.05);
  transition:padding .3s;
}
#navbar.scrolled { padding:12px var(--pad-x); }

.nav-logo { display:flex; align-items:center; }
.nav-logo-img {
  height:38px; width:auto;
  display:block;
  object-fit:contain;
}
.nav-links { display:flex; gap:36px; }
.nav-links a { font-size:13px; font-weight:400; color:var(--gris-claro); letter-spacing:.3px; transition:color .2s; }
.nav-links a:hover { color:var(--blanco); }

.nav-mobile-btn {
  display:none; flex-direction:column; gap:5px; background:none; border:none;
  cursor:pointer; padding:4px;
}
.nav-mobile-btn span { display:block; width:24px; height:2px; background:var(--blanco); transition:.3s; }

.mobile-menu {
  display:none; position:fixed; top:61px; left:0; right:0; z-index:99;
  background:rgba(13,13,13,.97); backdrop-filter:blur(16px);
  flex-direction:column; padding:24px var(--pad-x-mobile);
  border-bottom:1px solid var(--gris-medio);
}
.mobile-menu.open { display:flex; }
.mobile-menu a { font-size:18px; font-family:var(--font-display); font-weight:700; text-transform:uppercase; color:var(--blanco); padding:12px 0; border-bottom:1px solid var(--gris-medio); letter-spacing:1px; }
.mobile-menu a:last-child { border-bottom:none; }

/* ─── HERO ─── */
.hero {
  position:relative; min-height:100svh; min-height:100vh;
  display:flex; align-items:center; overflow:hidden;
  padding-top:64px; /* compensa el nav fixed */
}
.hero-bg {
  position:absolute; inset:0;
  background-size:cover; background-position:center 35%;
  transform:scale(1.04); animation:heroZoom 14s ease-out forwards;
}
@keyframes heroZoom { from{transform:scale(1.04)} to{transform:scale(1)} }

.hero-overlay {
  position:absolute; inset:0;
  background:linear-gradient(105deg, rgba(13,13,13,.93) 0%, rgba(13,13,13,.6) 52%, rgba(13,13,13,.12) 100%);
}
.hero-overlay::after {
  content:''; position:absolute; bottom:0; left:0; right:0; height:48%;
  background:linear-gradient(to top, rgba(13,13,13,1) 0%, transparent 100%);
}

.hero-content {
  position:relative; z-index:2; width:100%;
  max-width:var(--max-w);
  margin:0 auto;
  padding:60px var(--pad-x) 80px;
  display:grid; grid-template-columns:1fr auto; align-items:center; gap:48px;
}

.hero-badge {
  display:inline-flex; align-items:center; gap:8px;
  background:rgba(255,92,0,.11); border:1px solid rgba(255,92,0,.28);
  padding:7px 16px; border-radius:100px; font-size:11px; letter-spacing:.5px;
  color:var(--naranja); margin-bottom:28px; width:fit-content;
}
.hero-dot { width:6px; height:6px; background:var(--naranja); border-radius:50%; animation:blink 2s infinite; }
@keyframes blink { 0%,100%{opacity:1} 50%{opacity:.2} }

.hero-title { margin-bottom:28px; }
.hero-sub { font-size:15px; color:var(--blanco-tenue); max-width:480px; line-height:1.75; margin-bottom:36px; }
.hero-actions { display:flex; flex-wrap:wrap; gap:12px; align-items:center; }

.hero-stats {
  background:rgba(18,18,18,.84); border:1px solid rgba(255,255,255,.08);
  backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px);
  padding:28px 32px; border-radius:6px;
  display:flex; flex-direction:column; min-width:190px; align-self:flex-end;
}
.stat-item { padding:14px 0; border-bottom:1px solid rgba(255,255,255,.06); }
.stat-item:first-child { padding-top:0; }
.stat-item:last-child { border-bottom:none; padding-bottom:0; }
.stat-num { font-family:var(--font-display); font-size:34px; font-weight:700; line-height:1; color:var(--blanco); }
.stat-num em { color:var(--naranja); font-style:normal; }
.stat-label { font-size:9px; letter-spacing:2px; text-transform:uppercase; color:var(--gris-claro); margin-top:4px; }

.scroll-hint {
  position:absolute; bottom:28px; left:50%; transform:translateX(-50%);
  display:flex; flex-direction:column; align-items:center; gap:8px;
  font-size:9px; letter-spacing:4px; text-transform:uppercase;
  color:rgba(245,245,240,.22); z-index:2; pointer-events:none;
}
.scroll-line { width:1px; height:36px; background:linear-gradient(to bottom,var(--naranja),transparent); animation:scrollAnim 2s ease-in-out infinite; }
@keyframes scrollAnim { 0%{transform:scaleY(0);transform-origin:top} 50%{transform:scaleY(1);transform-origin:top} 51%{transform:scaleY(1);transform-origin:bottom} 100%{transform:scaleY(0);transform-origin:bottom} }

/* ─── NOSOTROS ─── */
.section-nosotros {
  padding:140px var(--pad-x); max-width:var(--max-w); margin:0 auto;
  display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center;
}
.pillars { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.pillar {
  background:var(--gris-oscuro); border:1px solid var(--gris-medio);
  border-left:3px solid var(--naranja); padding:18px; border-radius:3px;
}
.pillar-title { font-family:var(--font-display); font-size:15px; font-weight:700; text-transform:uppercase; margin-bottom:4px; }
.pillar-desc { font-size:11px; color:var(--gris-claro); line-height:1.5; }
.pillar--cta { display:flex; flex-direction:column; gap:6px; }
.pillar-link {
  display:inline-flex; align-items:center; gap:4px;
  font-size:11px; font-weight:500; color:var(--naranja);
  text-decoration:none; margin-top:4px; letter-spacing:.2px;
  transition:opacity .2s;
}
.pillar-link:hover { opacity:.75; }

.nos-img { width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:5px; filter:brightness(.78) saturate(.72); }
.nos-float-badge {
  position:absolute; bottom:-22px; left:-22px;
  background:var(--naranja); padding:18px 24px; border-radius:4px;
  box-shadow:0 14px 36px rgba(255,92,0,.35);
}
.nos-float-num { font-family:var(--font-display); font-size:38px; font-weight:900; color:#fff; line-height:1; }
.nos-float-txt { font-size:10px; font-weight:500; color:rgba(255,255,255,.72); text-transform:uppercase; letter-spacing:1px; margin-top:3px; }

/* ─── PRODUCTOS ─── */
.section-productos { padding:120px var(--pad-x); background:var(--gris-oscuro); border-top:1px solid var(--gris-medio); }
.products-header { max-width:var(--max-w); margin:0 auto 52px; display:flex; justify-content:space-between; align-items:flex-end; }

.products-grid {
  max-width:var(--max-w); margin:0 auto 80px;
  display:grid;
  /* 3 columnas iguales — todas del mismo tamaño */
  grid-template-columns:repeat(3,1fr);
  gap:3px;
  /* Todas las cards tienen el mismo alto */
  align-items:stretch;
}
.product-card {
  background:var(--negro); border:1px solid var(--gris-medio); overflow:hidden;
  border-radius:4px; display:flex; flex-direction:column; transition:border-color .25s;
}
.product-card:hover { border-color:var(--naranja); }
/* Ya no hay card destacada más grande — todas iguales */
.product-card--featured { border-color:rgba(255,92,0,.35); }

.product-img-wrap {
  overflow:hidden;
  /* Mismo aspect-ratio para todas — uniforme */
  aspect-ratio:3/2;
}
.product-img { width:100%; height:100%; object-fit:cover; filter:brightness(.75) saturate(.7); transition:transform .6s ease, filter .4s; }
.product-card:hover .product-img { transform:scale(1.04); filter:brightness(.88) saturate(.85); }

.product-body { padding:28px; flex:1; display:flex; flex-direction:column; gap:10px; }
.product-tag {
  align-self:flex-start; background:var(--naranja); color:#fff;
  font-family:var(--font-display); font-size:9px; font-weight:700;
  letter-spacing:2px; text-transform:uppercase; padding:4px 12px; border-radius:100px;
}
.product-tag--dark { background:var(--gris-medio); color:var(--blanco); }

.product-name { font-family:var(--font-display); font-size:24px; font-weight:700; text-transform:uppercase; line-height:1; }
.product-cap { font-size:13px; color:var(--gris-claro); }
.product-cap strong { color:var(--naranja); }
.product-desc { font-size:13px; color:var(--gris-claro); line-height:1.65; }
.product-specs { margin-top:auto; padding-top:16px; border-top:1px solid var(--gris-medio); }
.product-specs li { font-size:12px; color:var(--gris-claro); padding:4px 0; }
.product-specs li::before { content:'— '; color:var(--naranja); }

/* Nota medidas a la medida */
.medidas-nota { max-width:var(--max-w); margin:0 auto 60px; }
.medidas-nota-inner {
  display:flex; align-items:center; gap:24px;
  background:rgba(255,92,0,.06); border:1px solid rgba(255,92,0,.25);
  border-left:4px solid var(--naranja);
  padding:24px 28px; border-radius:4px;
}
.medidas-nota-icon { font-size:28px; flex-shrink:0; }
.medidas-nota-title { font-family:var(--font-display); font-size:17px; font-weight:700; text-transform:uppercase; margin-bottom:5px; color:var(--blanco); }
.medidas-nota-desc { font-size:13px; color:var(--gris-claro); line-height:1.6; }
@media(max-width:760px){
  .medidas-nota-inner { flex-direction:column; align-items:flex-start; gap:16px; }
}

/* Pisos */
.floors-section { max-width:var(--max-w); margin:0 auto; }
.floors-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:36px; }
.floor-card {
  background:var(--negro); border:1px solid var(--gris-medio); padding:28px 24px;
  border-radius:4px; transition:border-color .25s;
}
.floor-card:hover { border-color:var(--naranja); }
.floor-icon { font-size:28px; margin-bottom:14px; }
.floor-name { font-family:var(--font-display); font-size:18px; font-weight:700; text-transform:uppercase; margin-bottom:8px; }
.floor-desc { font-size:13px; color:var(--gris-claro); line-height:1.6; }

/* ─── PROYECTOS — nuevo diseño ─── */
.section-proyectos { padding:120px var(--pad-x); max-width:var(--max-w); margin:0 auto; }
.section-header { display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:48px; }

/* FEATURED */
.proy-featured {
  position:relative; overflow:hidden; cursor:pointer;
  border-radius:8px; margin-bottom:4px;
  aspect-ratio:21/8;
  border:1px solid var(--gris-medio);
  transition:border-color .3s;
}
.proy-featured:hover { border-color:var(--naranja); }
.proy-featured .proy-img {
  width:100%; height:100%; object-fit:cover;
  transition:transform .8s ease; filter:brightness(.55) saturate(.7);
}
.proy-featured:hover .proy-img { transform:scale(1.04); filter:brightness(.68) saturate(.8); }
.proy-overlay { position:absolute; inset:0; background:linear-gradient(to right, rgba(13,13,13,.85) 0%, rgba(13,13,13,.35) 60%, transparent 100%); }

.proy-featured-content {
  position:absolute; inset:0;
  display:flex; flex-direction:column; justify-content:flex-end;
  padding:36px 40px;
}
.proy-badge {
  display:inline-block; background:var(--naranja); color:#fff;
  font-family:var(--font-display); font-size:9px; font-weight:700;
  letter-spacing:2px; text-transform:uppercase; padding:5px 14px;
  border-radius:100px; margin-bottom:16px; width:fit-content;
}
.proy-featured-meta { display:flex; flex-direction:column; gap:8px; }
.proy-tag-row { display:flex; flex-wrap:wrap; gap:6px; }
.proy-tag-pill {
  background:var(--naranja); color:#fff;
  font-family:var(--font-display); font-size:9px; font-weight:700;
  letter-spacing:1.5px; text-transform:uppercase;
  padding:4px 12px; border-radius:100px;
}
.proy-tag-pill--ghost {
  background:transparent; color:var(--blanco);
  border:1px solid rgba(245,245,240,.3);
}
.proy-tag-pill--orange { background:var(--naranja); color:#fff; }
.proy-ciudad { font-size:10px; letter-spacing:3px; text-transform:uppercase; color:var(--naranja); }
.proy-nombre {
  font-family:var(--font-display); font-size:clamp(26px,3.5vw,48px);
  font-weight:900; text-transform:uppercase; line-height:1;
  color:var(--blanco);
}
.proy-featured-desc { font-size:13px; color:rgba(245,245,240,.65); max-width:440px; line-height:1.7; }

/* GRID PROYECTOS — cards con imagen + info separada */
.proyectos-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:4px;
  margin-top:4px;
}
.proy-card {
  background:var(--gris-oscuro);
  border:1px solid var(--gris-medio);
  border-radius:4px; overflow:hidden;
  display:flex; flex-direction:column;
  transition:border-color .25s, transform .25s;
  cursor:default;
}
.proy-card:hover { border-color:rgba(255,92,0,.5); transform:translateY(-3px); }

.proy-card-img-wrap {
  overflow:hidden;
  aspect-ratio:4/3;
}
.proy-card-img {
  width:100%; height:100%; object-fit:cover;
  filter:brightness(.7) saturate(.65);
  transition:transform .6s ease, filter .4s;
}
.proy-card:hover .proy-card-img { transform:scale(1.06); filter:brightness(.88) saturate(.85); }

.proy-card-body {
  padding:20px 20px 22px;
  display:flex; flex-direction:column; gap:8px;
  background:var(--gris-oscuro);
  flex:1;
}
.proy-card-tags { display:flex; gap:6px; flex-wrap:wrap; }
.proy-card-title {
  font-family:var(--font-display); font-size:20px; font-weight:700;
  text-transform:uppercase; color:var(--blanco); line-height:1;
}
.proy-card-specs {
  display:flex; flex-wrap:wrap; gap:6px;
  margin-top:2px;
}
.proy-card-specs span {
  font-size:10px; letter-spacing:1px; text-transform:uppercase;
  color:var(--gris-claro); background:var(--negro);
  border:1px solid var(--gris-medio);
  padding:3px 9px; border-radius:100px;
}
.proy-card-ciudad {
  font-size:11px; color:rgba(245,245,240,.4);
  margin-top:auto; padding-top:8px;
  border-top:1px solid var(--gris-medio);
  letter-spacing:.5px;
}

/* CTA CARD naranja */
.proy-card--cta {
  background:var(--naranja);
  border-color:var(--naranja) !important;
  cursor:pointer;
}
.proy-card--cta:hover { transform:translateY(-4px); background:#e85200; }
.proy-cta-inner {
  display:flex; flex-direction:column; align-items:flex-start;
  padding:28px 24px; gap:8px; height:100%; min-height:240px;
}
.proy-cta-icon { margin-bottom:4px; opacity:.85; }
.proy-cta-num {
  font-family:var(--font-display); font-size:56px; font-weight:900;
  color:#fff; line-height:1; margin-top:auto;
}
.proy-cta-label {
  font-size:14px; color:rgba(255,255,255,.85); line-height:1.45;
  font-weight:400; max-width:160px;
}
.proy-cta-btn {
  display:inline-flex; align-items:center; gap:8px;
  background:#fff; color:var(--naranja);
  font-family:var(--font-display); font-size:12px; font-weight:700;
  text-transform:uppercase; letter-spacing:1px;
  padding:10px 18px; border-radius:3px;
  margin-top:16px; text-decoration:none;
  transition:background .2s, transform .15s;
}
.proy-cta-btn svg { width:14px; height:14px; }
.proy-cta-btn:hover { background:rgba(255,255,255,.9); transform:translateX(3px); }

/* ─── PROCESO ─── */
.section-proceso { background:var(--gris-oscuro); border-top:1px solid var(--gris-medio); border-bottom:1px solid var(--gris-medio); }
.proceso-header { padding:100px var(--pad-x) 56px; max-width:var(--max-w); margin:0 auto; display:flex; justify-content:space-between; align-items:flex-end; }
.proceso-sub { max-width:280px; font-size:14px; color:var(--gris-claro); line-height:1.7; text-align:right; }
.proceso-steps { max-width:var(--max-w); margin:0 auto; }

.step-row { display:grid; grid-template-columns:1fr 1fr; min-height:500px; border-top:1px solid var(--gris-medio); }
.step-row--reverse { direction:rtl; }
.step-row--reverse > * { direction:ltr; }
.step-img-wrap { overflow:hidden; position:relative; }
.step-img { width:100%; height:100%; object-fit:cover; filter:brightness(.62) saturate(.58); transition:filter .5s; }
.step-row:hover .step-img { filter:brightness(.76) saturate(.72); }
.step-watermark { position:absolute; bottom:18px; right:18px; font-family:var(--font-display); font-size:88px; font-weight:900; color:rgba(255,255,255,.05); line-height:1; pointer-events:none; }
.step-content { padding:56px 60px; display:flex; flex-direction:column; justify-content:center; }
.step-num-circle { width:40px; height:40px; border:1px solid rgba(255,92,0,.35); border-radius:50%; display:flex; align-items:center; justify-content:center; font-family:var(--font-display); font-size:15px; font-weight:700; color:var(--naranja); margin-bottom:22px; }
.step-tag-pill { align-self:flex-start; background:var(--naranja); color:#fff; font-family:var(--font-display); font-size:10px; font-weight:700; letter-spacing:2px; text-transform:uppercase; padding:4px 14px; border-radius:100px; margin-bottom:18px; }
.step-title { font-family:var(--font-display); font-size:clamp(26px,3vw,44px); font-weight:700; text-transform:uppercase; line-height:1; margin-bottom:16px; }
.step-desc { font-size:14px; color:var(--gris-claro); line-height:1.85; max-width:400px; }

/* ─── COTIZADOR ─── */
.section-cotizador { padding:120px var(--pad-x); max-width:860px; margin:0 auto; text-align:center; }
.cotizador-label { font-size:10px; letter-spacing:5px; text-transform:uppercase; color:var(--naranja); margin-bottom:16px; }
.cotizador-title { font-family:var(--font-display); font-size:clamp(38px,5.5vw,68px); font-weight:900; text-transform:uppercase; line-height:.95; margin-bottom:14px; }
.cotizador-sub { font-size:15px; color:var(--gris-claro); margin-bottom:52px; line-height:1.65; }

.quiz-wrap { background:var(--gris-oscuro); border:1px solid var(--gris-medio); border-radius:8px; overflow:hidden; text-align:left; }
.quiz-progress { height:3px; background:var(--gris-medio); }
.quiz-progress-bar { height:100%; background:var(--naranja); transition:width .45s ease; box-shadow:0 0 8px rgba(255,92,0,.45); }
.quiz-body { padding:44px 48px; }
.quiz-step { display:none; }
.quiz-step.active { display:block; animation:fadeUp .3s ease; }
@keyframes fadeUp { from{opacity:0;transform:translateY(14px)} to{opacity:1;transform:translateY(0)} }
.quiz-step-label { font-size:10px; letter-spacing:3px; text-transform:uppercase; color:var(--gris-claro); margin-bottom:12px; }
.quiz-question { font-family:var(--font-display); font-size:clamp(22px,3vw,34px); font-weight:700; text-transform:uppercase; line-height:1.1; margin-bottom:30px; }
.quiz-options { display:grid; grid-template-columns:repeat(auto-fit,minmax(168px,1fr)); gap:10px; margin-bottom:34px; }
.quiz-option { background:rgba(255,255,255,.02); border:1px solid var(--gris-medio); padding:18px; cursor:pointer; text-align:left; border-radius:5px; transition:border-color .2s,background .2s; outline:none; }
.quiz-option:hover { border-color:rgba(255,92,0,.45); background:rgba(255,92,0,.04); }
.quiz-option.selected { border-color:var(--naranja); background:rgba(255,92,0,.09); }
.qo-icon { font-size:22px; margin-bottom:10px; display:block; }
.qo-title { font-family:var(--font-display); font-size:16px; font-weight:700; text-transform:uppercase; color:var(--blanco); margin-bottom:3px; }
.quiz-option.selected .qo-title { color:var(--naranja); }
.qo-sub { font-size:11px; color:var(--gris-claro); }
.quiz-footer { display:flex; justify-content:space-between; align-items:center; border-top:1px solid var(--gris-medio); padding-top:22px; }
.quiz-back { background:none; border:none; color:var(--gris-claro); font-size:13px; cursor:pointer; padding:8px 0; transition:color .2s; }
.quiz-back:hover { color:var(--blanco); }

.quiz-result { text-align:center; padding:16px 0 8px; }
.quiz-result-icon { font-size:48px; margin-bottom:14px; }
.quiz-result-title { font-family:var(--font-display); font-size:36px; font-weight:900; text-transform:uppercase; margin-bottom:12px; }
.quiz-result-msg { font-size:15px; color:var(--gris-claro); line-height:1.7; margin-bottom:36px; max-width:480px; margin-left:auto; margin-right:auto; }
.quiz-result-actions { display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }

/* ─── FOOTER CTA ─── */
.footer-cta { position:relative; overflow:hidden; padding:120px var(--pad-x); text-align:center; border-top:1px solid var(--gris-medio); }
.footer-cta-bg { position:absolute; inset:0; background-size:cover; background-position:center; filter:brightness(.12) saturate(.3); }
.footer-cta-content { position:relative; z-index:1; }
.footer-cta-label { font-size:10px; letter-spacing:4px; text-transform:uppercase; color:var(--naranja); margin-bottom:18px; }
.footer-cta-title { font-family:var(--font-display); font-size:clamp(48px,8vw,96px); font-weight:900; text-transform:uppercase; line-height:.9; letter-spacing:-2px; margin-bottom:22px; }
.footer-cta-title span { color:var(--naranja); }
.footer-cta-sub { font-size:15px; color:var(--blanco-tenue); max-width:480px; margin:0 auto 40px; line-height:1.75; }
.footer-cta-actions { display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }
.footer-cta-note { margin-top:26px; font-size:13px; color:var(--gris-claro); }
.footer-cta-note a { color:var(--naranja); }

.footer { padding:28px var(--pad-x); border-top:1px solid var(--gris-medio); display:flex; align-items:center; justify-content:space-between; font-size:12px; color:var(--gris-claro); }
.footer-logo { font-family:var(--font-display); font-weight:900; font-size:20px; text-transform:uppercase; color:var(--blanco); letter-spacing:1px; }
.footer-logo span { color:var(--naranja); }
.footer-links { display:flex; gap:24px; }
.footer-links a { color:var(--gris-claro); transition:color .2s; }
.footer-links a:hover { color:var(--blanco); }

/* ─── SCROLL REVEAL ─── */
.reveal { opacity:0; transform:translateY(36px); transition:opacity .85s ease,transform .85s ease; }
.reveal.visible { opacity:1; transform:translateY(0); }
.d1 { transition-delay:.12s; }
.d2 { transition-delay:.22s; }
.d3 { transition-delay:.32s; }

/* ════════════════════
   RESPONSIVE
════════════════════ */
@media(max-width:1100px){
  .products-grid { grid-template-columns:1fr 1fr; }
  /* En tablet el 3ro queda solo — lo centramos */
  .product-card:last-child:nth-child(odd) { grid-column:1/-1; max-width:420px; margin:0 auto; width:100%; }
}

@media(max-width:960px){
  :root{ --pad-x: var(--pad-x-mobile); }

  /* Nav */
  #navbar { padding:16px var(--pad-x-mobile); }
  #navbar.scrolled { padding:12px var(--pad-x-mobile); }
  .nav-links { display:none; }
  .nav-mobile-btn { display:flex; }
  #navbar .btn-primary { display:none; }

  /* Hero */
  .hero { padding-top:61px; align-items:center; min-height:100svh; }
  .hero-content { grid-template-columns:1fr; padding:40px var(--pad-x-mobile) 60px; gap:32px; }
  .hero-stats { flex-direction:row; min-width:unset; width:100%; }
  .stat-item { flex:1; text-align:center; border-bottom:none; border-right:1px solid rgba(255,255,255,.07); padding:0 10px; }
  .stat-item:last-child { border-right:none; }

  /* Nosotros */
  .section-nosotros { grid-template-columns:1fr; gap:56px; padding:80px var(--pad-x-mobile); }
  .nos-float-badge { bottom:-14px; left:12px; }

  /* Productos */
  .section-productos { padding:80px var(--pad-x-mobile); }
  .products-header { flex-direction:column; gap:14px; align-items:flex-start; }
  .products-grid { grid-template-columns:1fr; }
  .product-card:last-child:nth-child(odd) { grid-column:auto; max-width:100%; }
  .floors-grid { grid-template-columns:1fr; }

  /* Proyectos */
  .section-proyectos { padding:80px var(--pad-x-mobile); }
  .proyectos-grid { grid-template-columns:1fr 1fr; }
  .proy-featured { aspect-ratio:16/9; }
  .proy-featured-content { padding:24px 24px; }
  .section-header { flex-direction:column; gap:14px; align-items:flex-start; }
  .section-hint { text-align:left; max-width:100%; }

  /* Proceso */
  .proceso-header { flex-direction:column; gap:14px; padding:80px var(--pad-x-mobile) 40px; }
  .proceso-sub { text-align:left; max-width:100%; }
  .step-row { grid-template-columns:1fr; }
  .step-row--reverse { direction:ltr; }
  .step-img-wrap { min-height:260px; }
  .step-content { padding:36px var(--pad-x-mobile); }

  /* Cotizador */
  .section-cotizador { padding:80px var(--pad-x-mobile); }
  .quiz-body { padding:28px var(--pad-x-mobile); }

  /* Footer */
  .footer-cta { padding:80px var(--pad-x-mobile); }
  .footer { flex-direction:column; gap:14px; text-align:center; padding:24px; }
  .footer-links { flex-wrap:wrap; justify-content:center; }
}

@media(max-width:560px){
  .proyectos-grid { grid-template-columns:1fr; }
  .proy-card--cta { min-height:auto; }
  .proy-cta-inner { min-height:auto; padding:24px 20px; }
  .quiz-options { grid-template-columns:1fr 1fr; }
  .pillars { grid-template-columns:1fr; }
  .hero-stats { flex-direction:column; }
  .stat-item { border-right:none !important; border-bottom:1px solid rgba(255,255,255,.07) !important; padding:10px 0 !important; text-align:left !important; }
  .stat-item:last-child { border-bottom:none !important; }
}

/* ══════════════════════════════
   WHATSAPP FLOTANTE
══════════════════════════════ */
.wa-float {
  position: fixed;
  bottom: 28px; right: 28px; z-index: 999;
  width: 58px; height: 58px;
  background: #25D366;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 6px 24px rgba(37,211,102,.45);
  transition: transform .2s, box-shadow .2s;
  animation: waPulse 3s ease-in-out infinite;
}
.wa-float svg { width: 30px; height: 30px; fill: #fff; }
.wa-float:hover {
  transform: scale(1.1);
  box-shadow: 0 10px 32px rgba(37,211,102,.6);
  animation: none;
}
@keyframes waPulse {
  0%,100% { box-shadow: 0 6px 24px rgba(37,211,102,.45); }
  50%      { box-shadow: 0 6px 32px rgba(37,211,102,.75), 0 0 0 10px rgba(37,211,102,.1); }
}
.wa-tooltip {
  position: absolute;
  right: 68px;
  background: var(--negro);
  color: var(--blanco);
  font-size: 12px; font-weight: 500;
  padding: 6px 12px;
  border-radius: 4px;
  white-space: nowrap;
  opacity: 0; pointer-events: none;
  transition: opacity .2s;
  border: 1px solid var(--gris-medio);
}
.wa-tooltip::after {
  content: '';
  position: absolute; right: -6px; top: 50%;
  transform: translateY(-50%);
  border: 6px solid transparent;
  border-left-color: var(--gris-medio);
  border-right: none;
}
.wa-float:hover .wa-tooltip { opacity: 1; }

/* ══════════════════════════════
   SECCIÓN COMPRAMOS
══════════════════════════════ */
.section-compramos {
  background: var(--negro);
  border-top: 1px solid var(--gris-medio);
  padding: 120px var(--pad-x);
}
.compramos-inner {
  max-width: var(--max-w); margin: 0 auto;
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 80px; align-items: center;
}
.compramos-items {
  display: flex; flex-direction: column; gap: 16px;
  margin-bottom: 8px;
}
.compramos-item {
  display: flex; align-items: flex-start; gap: 14px;
  padding: 16px 18px;
  background: var(--gris-oscuro);
  border: 1px solid var(--gris-medio);
  border-radius: 4px;
  transition: border-color .2s;
}
.compramos-item:hover { border-color: rgba(255,92,0,.35); }
.ci-icon { font-size: 18px; flex-shrink: 0; margin-top: 1px; }
.ci-title { font-family: var(--font-display); font-size: 15px; font-weight: 700; text-transform: uppercase; margin-bottom: 3px; }
.ci-desc { font-size: 12px; color: var(--gris-claro); line-height: 1.5; }

.compramos-right { position: relative; padding-bottom: 24px; }
.compramos-img {
  width: 100%; aspect-ratio: 4/3; object-fit: cover;
  border-radius: 5px; filter: brightness(.75) saturate(.7);
}
.compramos-float {
  position: absolute; bottom: 0; left: -24px;
  background: var(--gris-oscuro);
  border: 1px solid var(--gris-medio);
  border-left: 3px solid var(--naranja);
  padding: 18px 22px; border-radius: 4px;
  box-shadow: 0 12px 32px rgba(0,0,0,.5);
  min-width: 220px;
}
.compramos-float-icon { font-size: 26px; margin-bottom: 8px; }
.compramos-float-title { font-family: var(--font-display); font-size: 18px; font-weight: 700; text-transform: uppercase; color: var(--blanco); }
.compramos-float-sub { font-size: 12px; color: var(--gris-claro); margin-top: 3px; }

@media(max-width:960px){
  .section-compramos { padding: 80px var(--pad-x-mobile); }
  .compramos-inner { grid-template-columns: 1fr; gap: 48px; }
  .compramos-float { left: 12px; bottom: -14px; }
  .wa-float { bottom: 20px; right: 20px; width: 52px; height: 52px; }
  .wa-float svg { width: 26px; height: 26px; }
}
