/* ── HERO ─────────────────────────────────────────────────────── */
.hero {
  min-height: 100vh;
  background: var(--tierra);
  display: grid;
  grid-template-columns: 1fr 1fr;
  position: relative;
  overflow: hidden;
}
.hero-left {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 9rem 4rem 6rem 5rem;
  position: relative;
  z-index: 2;
}
.hero-eyebrow {
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--dorado);
  margin-bottom: 1.5rem;
  display: flex;
  align-items: center;
  gap: 0.8rem;
}
.hero-eyebrow::before { content:''; display:block; width:28px; height:1px; background:var(--dorado); }
.hero h1 {
  font-family: var(--serif);
  font-size: clamp(2.8rem, 4.5vw, 4.4rem);
  font-weight: 900;
  color: var(--crema);
  line-height: 1.05;
  margin-bottom: 2rem;
}
.hero h1 em { font-style: italic; color: var(--dorado-light); }
.hero-desc { font-size: 1.05rem; line-height: 1.75; color: rgba(245,237,216,0.7); max-width: 460px; margin-bottom: 3rem; }
.hero-actions { display: flex; gap: 1rem; flex-wrap: wrap; }
.hero-right { position: relative; overflow: hidden; }
.hero-right::before {
  content:'';
  position: absolute; inset:0;
  background: linear-gradient(to right, var(--tierra) 0%, transparent 45%);
  z-index: 1;
}
.hero-collage {
  position: absolute; inset:0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  gap: 3px;
  opacity: 0.3;
}
.hero-collage img { width:100%; height:100%; object-fit:cover; filter:sepia(30%) contrast(1.1); }
.hero-pattern { position:absolute; inset:0; background-image:repeating-linear-gradient(45deg,transparent,transparent 60px,rgba(200,150,60,0.04) 60px,rgba(200,150,60,0.04) 61px); }

/* ── STATS ────────────────────────────────────────────────────── */
.stats-bar {
  background: var(--crema-dark);
  border-bottom: 1px solid rgba(92,61,30,0.15);
  padding: 2.5rem 5rem;
  display: flex; justify-content: space-around; align-items: center; gap:2rem; flex-wrap:wrap;
}
.stat-item { text-align:center; }
.stat-num { font-family:var(--serif); font-size:2.4rem; font-weight:900; color:var(--tierra); line-height:1; display:block; }
.stat-lbl { font-size:0.75rem; font-weight:500; letter-spacing:0.12em; text-transform:uppercase; color:var(--gris-warm); margin-top:0.3rem; }
.stat-div { width:1px; height:50px; background:rgba(92,61,30,0.2); }

/* ── INTRO ────────────────────────────────────────────────────── */
.intro-section {
  padding: 7rem 5rem;
  display: grid; grid-template-columns:1fr 1fr; gap:6rem; align-items:center;
  background: var(--blanco);
}
.intro-img-wrap { position:relative; height:520px; }
.intro-img-main { position:absolute; right:0; top:0; width:75%; height:85%; object-fit:cover; border-radius:2px; }
.intro-img-side { position:absolute; left:0; bottom:0; width:55%; height:55%; object-fit:cover; border-radius:2px; border:6px solid var(--blanco); }
.intro-quote { position:absolute; right:0; bottom:0; background:var(--tierra); padding:1.5rem 1.8rem; max-width:210px; border-radius:2px; }
.intro-quote p { font-family:var(--serif); font-style:italic; font-size:0.9rem; color:var(--crema); line-height:1.5; margin:0; }
.intro-quote cite { display:block; margin-top:0.5rem; font-family:var(--sans); font-size:0.68rem; font-style:normal; letter-spacing:0.1em; text-transform:uppercase; color:var(--dorado); }
.intro-text p { font-size:1rem; line-height:1.8; color:var(--gris-warm); margin-bottom:1.2rem; }

/* ── CATEGORÍAS RESUMEN ───────────────────────────────────────── */
.cats-section { background:var(--tierra); padding:7rem 5rem; }
.cats-header { display:flex; align-items:flex-end; justify-content:space-between; margin-bottom:3.5rem; }
.cats-header-note { font-size:0.9rem; line-height:1.7; color:rgba(245,237,216,0.5); max-width:300px; text-align:right; }
.cats-grid {
  display:grid; grid-template-columns:repeat(4,1fr); gap:1px;
  background:rgba(200,150,60,0.08);
}
.cat-card {
  background:rgba(44,31,14,0.8); padding:2.2rem 1.8rem;
  cursor:default; transition:background 0.3s; position:relative; overflow:hidden;
  border:1px solid rgba(200,150,60,0.06); text-decoration:none; display:block;
}
.cat-card::after { content:''; position:absolute; bottom:0; left:0; right:0; height:2px; background:var(--dorado); transform:scaleX(0); transition:transform 0.3s; transform-origin:left; }
.cat-card:hover { background:rgba(92,61,30,0.5); }
.cat-card:hover::after { transform:scaleX(1); }
.cat-icon { font-size:1.8rem; margin-bottom:1rem; display:block; }
.cat-name { font-family:var(--serif); font-size:1rem; font-weight:700; color:var(--crema); margin-bottom:0.4rem; }
.cat-desc { font-size:0.78rem; color:rgba(245,237,216,0.45); line-height:1.5; }
.cats-cta { text-align:center; margin-top:3rem; }

/* ── MARCAS SCROLL ────────────────────────────────────────────── */
.marcas-section { background:rgba(44,31,14,0.95); padding:3.5rem 0; }
.marcas-label { text-align:center; margin-bottom:1.8rem; font-family:var(--sans); font-size:0.72rem; font-weight:500; letter-spacing:0.18em; text-transform:uppercase; color:rgba(200,150,60,0.6); }
.marcas-strip { overflow:hidden; -webkit-mask-image:linear-gradient(to right,transparent,black 12%,black 88%,transparent); mask-image:linear-gradient(to right,transparent,black 12%,black 88%,transparent); }
.marcas-track { display:flex; width:max-content; animation:scroll-m 32s linear infinite; }
.marca-chip { display:flex; align-items:center; gap:0.5rem; padding:0.7rem 1.6rem; border-right:1px solid rgba(200,150,60,0.12); white-space:nowrap; }
.marca-chip span { font-family:var(--sans); font-size:0.82rem; font-weight:500; letter-spacing:0.06em; color:rgba(245,237,216,0.55); text-transform:uppercase; }
.marca-dot { width:5px; height:5px; border-radius:50%; background:var(--dorado); flex-shrink:0; }
@keyframes scroll-m { from{transform:translateX(0)} to{transform:translateX(-50%)} }

/* ── CTA DISTRIBUIDOR ─────────────────────────────────────────── */
.cta-dist {
  background: var(--oliva); padding:6rem 5rem; position:relative; overflow:hidden;
}
.cta-dist::before { content:''; position:absolute; inset:0; background-image:repeating-linear-gradient(-45deg,transparent,transparent 80px,rgba(255,255,255,0.03) 80px,rgba(255,255,255,0.03) 81px); }
.cta-dist-inner { position:relative; z-index:1; display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:center; }
.cta-dist-text .section-label { color:rgba(255,255,255,0.5); }
.cta-dist-text h2 { font-family:var(--serif); font-size:clamp(1.8rem,3vw,2.6rem); font-weight:700; color:var(--crema); line-height:1.15; margin-bottom:1.2rem; }
.cta-dist-text p { font-size:0.95rem; color:rgba(245,237,216,0.7); line-height:1.75; margin-bottom:2rem; }
.cta-dist-text .actions { display:flex; gap:1rem; flex-wrap:wrap; }
.cta-checks { list-style:none; display:flex; flex-direction:column; gap:1.2rem; }
.cta-checks li { display:flex; align-items:flex-start; gap:1rem; font-size:0.9rem; color:rgba(245,237,216,0.8); line-height:1.5; }
.check-icon { width:28px; height:28px; border-radius:50%; background:rgba(255,255,255,0.1); display:flex; align-items:center; justify-content:center; flex-shrink:0; color:var(--dorado-light); font-size:0.85rem; }

/* ── POR QUÉ NOSOTROS HOME ────────────────────────────────────── */
.porq-section { padding:7rem 5rem; background:var(--blanco); }
.porq-grid { display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:start; }
.porq-feats { display:flex; flex-direction:column; gap:0; }
.porq-feat { display:grid; grid-template-columns:52px 1fr; gap:1rem; padding:1.8rem 0; border-bottom:1px solid rgba(92,61,30,0.1); align-items:start; }
.porq-feat:last-child { border-bottom:none; }
.porq-num { font-family:var(--serif); font-size:1.8rem; font-weight:900; color:var(--crema-dark); line-height:1; padding-top:2px; }
.porq-title { font-family:var(--serif); font-size:1rem; font-weight:700; color:var(--tierra); margin-bottom:0.3rem; }
.porq-text { font-size:0.85rem; color:var(--gris-warm); line-height:1.65; }
.porq-aside { position:sticky; top:7rem; }
.testimonio { background:var(--tierra); padding:2.5rem; border-radius:2px; position:relative; }
.testimonio::before { content:'\201C'; font-family:var(--serif); font-size:5rem; color:var(--dorado); opacity:0.3; position:absolute; top:0.8rem; left:1.5rem; line-height:1; }
.testi-text { font-family:var(--serif); font-style:italic; font-size:1.05rem; line-height:1.7; color:var(--crema); margin-bottom:1.5rem; position:relative; z-index:1; }
.testi-author { display:flex; align-items:center; gap:0.8rem; }
.testi-avatar { width:40px; height:40px; border-radius:50%; background:var(--dorado); display:flex; align-items:center; justify-content:center; font-family:var(--serif); font-size:0.9rem; font-weight:700; color:var(--tierra); flex-shrink:0; }
.testi-name { font-size:0.85rem; font-weight:500; color:var(--crema); }
.testi-role { font-size:0.72rem; color:rgba(245,237,216,0.45); letter-spacing:0.05em; }
.ubicacion-box { margin-top:1.5rem; background:var(--crema); padding:1.8rem; border-left:3px solid var(--dorado); border-radius:2px; }
.ubicacion-box h4 { font-family:var(--sans); font-size:0.72rem; font-weight:500; letter-spacing:0.15em; text-transform:uppercase; color:var(--dorado); margin-bottom:0.8rem; }
.ubicacion-box p { font-size:0.88rem; color:var(--gris-warm); line-height:1.65; }
.ubicacion-box a { color:var(--dorado); text-decoration:none; }

/* ── RESPONSIVE ───────────────────────────────────────────────── */
@media(max-width:1024px){
  .hero{grid-template-columns:1fr;min-height:80vh;}
  .hero-right{display:none;}
  .hero-left{padding:8rem 2rem 5rem;}
  .stats-bar{padding:2rem;gap:1.5rem;}
  .stat-div{display:none;}
  .intro-section{grid-template-columns:1fr;padding:4rem 2rem;gap:3rem;}
  .intro-img-wrap{height:300px;}
  .cats-section{padding:4rem 2rem;}
  .cats-header{flex-direction:column;align-items:flex-start;gap:1rem;}
  .cats-header-note{text-align:left;max-width:100%;}
  .cats-grid{grid-template-columns:repeat(2,1fr);}
  .cta-dist{padding:4rem 2rem;}
  .cta-dist-inner{grid-template-columns:1fr;gap:2.5rem;}
  .porq-section{padding:4rem 2rem;}
  .porq-grid{grid-template-columns:1fr;gap:3rem;}
  .porq-aside{position:static;}
}
@media(max-width:600px){
  .cats-grid{grid-template-columns:1fr;}
}
