/* ═══════════════════════════════════════════════
   TRABAJO-BARRIO-INDEPENDENCIA.CSS — Diseñoverde
   Estilos exclusivos de trabajo/barrio-independencia.html.
   Requiere base.css cargado ANTES que esta hoja.
   Tokens, reset, nav, footer, botones y .reveal
   viven en base.css — no se redefinen aquí.
   ═══════════════════════════════════════════════ */

*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
/* MODAL */
.modal-overlay { display:none; position:fixed; inset:0; background:rgba(15,42,13,0.75); z-index:500; backdrop-filter:blur(6px); align-items:center; justify-content:center; padding:32px; }
.modal-overlay.open { display:flex; }
.modal-box { background:var(--fondo-neutro); border-radius:var(--radio-hoja); max-width:880px; width:100%; max-height:88vh; overflow-y:auto; position:relative; display:grid; grid-template-columns:1fr 1fr; box-shadow:0 32px 80px rgba(15,42,13,0.3); }
.modal-close { position:absolute; top:18px; right:18px; background:var(--gris-1); border:none; cursor:pointer; width:36px; height:36px; border-radius:50%; font-size:18px; color:var(--gris-4); display:flex; align-items:center; justify-content:center; transition:all .2s; z-index:10; }
.modal-close:hover { background:var(--verde); color:white; }
.modal-content { padding:48px; }
.modal-tag { font-size:10px; font-weight:400; text-transform:uppercase; letter-spacing:3px; color:var(--acento); margin-bottom:12px; display:flex; align-items:center; gap:8px; }
.modal-tag::before { content:''; width:16px; height:1px; background:var(--acento); }
.modal-title { font-size:24px; font-weight:800; color:var(--verde-oscuro); letter-spacing:-0.5px; line-height:1.15; margin-bottom:16px; }
.modal-desc { font-size:14px; font-weight:300; color:var(--gris-4); line-height:1.9; }
.modal-desc + .modal-desc { margin-top:12px; }
.modal-link { display:inline-flex; align-items:center; gap:8px; margin-top:24px; background:var(--verde); color:white; padding:12px 24px; border-radius:var(--radio-hoja-sm); font-size:11px; font-weight:400; text-transform:uppercase; letter-spacing:2px; text-decoration:none; transition:background .2s; }
.modal-link:hover { background:var(--verde-oscuro); }
.modal-imgs { background:var(--gris-1); border-radius:0 var(--radio-hoja) var(--radio-hoja) 0; overflow:hidden; display:flex; flex-direction:column; gap:3px; }
.modal-imgs img { width:100%; flex:1; object-fit:cover; display:block; }
/* HERO */
.caso-hero {
  min-height:80vh;
  background:var(--barrio-azul);
  padding:140px 48px 80px;
  position:relative; overflow:hidden;
  display:grid; grid-template-columns:1fr 1fr;
  gap:80px; align-items:end;
}
.caso-hero-bg { position:absolute; inset:0; z-index:0; }
.caso-hero-bg img { width:100%; height:100%; object-fit:cover; object-position:center; display:block; }
.caso-hero-bg::after { content:''; position:absolute; inset:0; background:rgba(15,42,13,0.72); mix-blend-mode:multiply; }
.caso-hero-overlay { position:absolute; inset:0; z-index:1; background:linear-gradient(to right, rgba(15,42,13,0.93) 0%, rgba(15,42,13,0.6) 55%, rgba(15,42,13,0.7) 100%); }
.caso-hero::before {
  content:''; position:absolute; top:-200px; right:-100px;
  width:700px; height:700px; border-radius:50%;
  background:radial-gradient(circle, rgba(94,58,153,0.3) 0%, transparent 65%);
  z-index:2;
}
.caso-hero::after {
  content:''; position:absolute; bottom:-100px; left:10%;
  width:400px; height:400px; border-radius:50%;
  background:radial-gradient(circle, rgba(82,168,76,0.08) 0%, transparent 65%);
  z-index:2;
}
.caso-hero-left { position:relative; z-index:3; }
.caso-tag {
  display:inline-flex; align-items:center;
  font-size:10px; font-weight:600;
  text-transform:uppercase; letter-spacing:3px;
  color:#7dd97a; border:2px solid rgba(82,168,76,0.7);
  padding:6px 14px; border-radius:999px; margin-bottom:18px;
}
.caso-h1 { font-size:56px; font-weight:800; color:var(--blanco); line-height:1.04; letter-spacing:-2px; margin-bottom:12px; }
.caso-h1 span { font-weight:200; color:rgba(255,255,255,0.4); display:block; }
.caso-h1 .frase { color:#f5d97a; font-weight:800; display:block; }
.caso-sub { font-size:16px; font-weight:300; color:rgba(255,255,255,0.82); line-height:1.85; margin-top:24px; max-width:440px; }
.caso-meta { position:relative; z-index:3; display:grid; grid-template-columns:1fr 1fr; gap:2px; align-self:end; }
.meta-item { background:rgba(255,255,255,0.12); border:1px solid rgba(255,255,255,0.22); padding:24px 28px; border-radius:var(--radio-hoja-sm); }
.meta-label { font-size:10px; font-weight:400; text-transform:uppercase; letter-spacing:3px; color:rgba(255,255,255,0.55); margin-bottom:8px; }
.meta-valor { font-size:14px; font-weight:600; color:rgba(255,255,255,0.95); }
/* BODY */
.caso-body { max-width:1200px; margin:0 auto; padding:0 48px; }
.sec { padding:80px 0; border-bottom:1px solid var(--gris-1); }
.sec:last-child { border-bottom:none; }
.sec-label { font-size:10px; font-weight:400; text-transform:uppercase; letter-spacing:4px; color:var(--acento); margin-bottom:20px; display:flex; align-items:center; gap:12px; }
.sec-label::before { content:''; width:24px; height:1px; background:var(--acento); }
.sec h2 { font-size:32px; font-weight:800; color:var(--verde-oscuro); letter-spacing:-0.8px; line-height:1.15; margin-bottom:24px; }
.sec p { font-size:15px; font-weight:300; color:var(--gris-4); line-height:1.9; }
.sec p + p { margin-top:16px; }
.grid-2 { display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:start; }
.grid-3 { display:grid; grid-template-columns:1fr 1fr 1fr; gap:24px; }
/* INSIGHT */
.insight { background:var(--fondo); border-radius:var(--radio-hoja); padding:28px 32px; border-left:3px solid var(--acento); }
.insight-num { font-size:36px; font-weight:800; color:var(--acento); letter-spacing:-1px; line-height:1; margin-bottom:6px; }
.insight-label { font-size:13px; font-weight:300; color:var(--gris-4); line-height:1.6; }
/* CITA */
.cita { margin:48px 0; padding:36px 44px; background:var(--barrio-azul); border-radius:var(--radio-hoja); position:relative; overflow:hidden; }
.cita::before { content:'"'; position:absolute; top:-20px; left:24px; font-size:160px; font-weight:800; color:rgba(255,255,255,0.06); line-height:1; font-family:Georgia,serif; }
.cita p { font-size:20px; font-weight:300; color:rgba(255,255,255,0.85); line-height:1.7; font-style:italic; position:relative; z-index:2; }
/* PERSONA DEL BARRIO */
.persona-card {
  background:var(--barrio-azul);
  border-radius:var(--radio-hoja);
  padding:48px;
  position:relative; overflow:hidden;
  margin:40px 0;
}
.persona-card::before {
  content:''; position:absolute; top:-80px; right:-80px;
  width:300px; height:300px; border-radius:50%;
  background:radial-gradient(circle, rgba(94,58,153,0.4) 0%, transparent 65%);
}
.persona-header {
  display:grid; grid-template-columns:auto 1fr; gap:40px; align-items:center;
  margin-bottom:40px;
}
.persona-avatar {
  width:120px; height:120px; border-radius:50%;
  background:rgba(255,255,255,0.08);
  border:2px solid rgba(255,255,255,0.15);
  display:flex; align-items:center; justify-content:center;
  flex-direction:column; gap:4px;
  position:relative; z-index:2;
}
.persona-avatar-num { font-size:13px; font-weight:300; color:rgba(255,255,255,0.4); text-align:center; line-height:1.4; letter-spacing:1px; }
.persona-nombre { font-size:28px; font-weight:800; color:var(--blanco); letter-spacing:-0.5px; position:relative; z-index:2; }
.persona-subtitulo { font-size:13px; font-weight:300; color:rgba(255,255,255,0.4); margin-top:4px; letter-spacing:1px; }
.persona-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; position:relative; z-index:2; }
.persona-atributo {
  background:rgba(255,255,255,0.06);
  border:1px solid rgba(255,255,255,0.1);
  border-radius:var(--radio-hoja-sm);
  padding:16px 20px;
}
.persona-atributo-label { font-size:9px; font-weight:300; text-transform:uppercase; letter-spacing:3px; color:rgba(255,255,255,0.3); margin-bottom:8px; }
.persona-atributo-valor { font-size:13px; font-weight:400; color:rgba(255,255,255,0.75); line-height:1.5; }
/* ARQUETIPO */
.arq-barra { margin-top:28px; position:relative; z-index:2; }
.arq-item { display:flex; align-items:center; gap:16px; margin-bottom:14px; }
.arq-label { font-size:12px; font-weight:300; color:rgba(255,255,255,0.5); width:120px; flex-shrink:0; }
.arq-track { flex:1; height:6px; background:rgba(255,255,255,0.08); border-radius:3px; overflow:hidden; }
.arq-fill { height:100%; border-radius:3px; background:var(--acento); }
.arq-pct { font-size:12px; font-weight:600; color:rgba(255,255,255,0.5); width:36px; text-align:right; flex-shrink:0; }
/* PROPUESTA DE VALOR */
.pv-block {
  background:var(--fondo-calido);
  border-radius:var(--radio-hoja);
  padding:48px;
  margin:40px 0;
  border-left:4px solid var(--barrio-lila);
}
.pv-label { font-size:10px; font-weight:300; text-transform:uppercase; letter-spacing:4px; color:var(--barrio-lila); margin-bottom:16px; }
.pv-atributos { display:flex; flex-wrap:wrap; gap:12px; margin-top:20px; }
.pv-chip {
  padding:10px 18px;
  border-radius:999px;
  font-size:12px; font-weight:600;
  letter-spacing:0.5px;
}
.pv-chip.identidad { background:rgba(94,58,153,0.12); color:var(--barrio-lila); border:1px solid rgba(94,58,153,0.2); }
.pv-chip.cualidad { background:rgba(42,58,140,0.1); color:var(--barrio-azul); border:1px solid rgba(42,58,140,0.2); }
.pv-chip.beneficio { background:rgba(48,102,45,0.1); color:var(--verde); border:1px solid rgba(48,102,45,0.2); }
/* FRASE GANADORA */
.frase-ganadora {
  margin:48px 0; padding:56px 48px;
  background:var(--barrio-azul);
  border-radius:var(--radio-hoja);
  text-align:center; position:relative; overflow:hidden;
}
.frase-ganadora::before {
  content:''; position:absolute; top:-100px; left:50%; transform:translateX(-50%);
  width:500px; height:300px;
  background:radial-gradient(ellipse, rgba(245,217,122,0.12) 0%, transparent 65%);
}
.fg-label { font-size:10px; font-weight:300; text-transform:uppercase; letter-spacing:4px; color:rgba(255,255,255,0.25); margin-bottom:20px; }
.fg-frase { font-size:42px; font-weight:800; color:#f5d97a; letter-spacing:-1px; line-height:1.1; position:relative; z-index:2; }
.fg-sub { font-size:15px; font-weight:300; color:rgba(255,255,255,0.45); margin-top:20px; max-width:500px; margin-left:auto; margin-right:auto; line-height:1.7; position:relative; z-index:2; }
/* TAGS CO-CREATIVO */
.proceso-tag {
  display:inline-flex; align-items:center; gap:8px;
  background:var(--fondo); border-radius:999px;
  padding:8px 16px; font-size:11px; font-weight:400;
  color:var(--verde); border:1px solid rgba(48,102,45,0.2);
  margin:4px;
}
.proceso-tag::before { content:'◆'; font-size:8px; color:var(--acento); }
/* PORTAFOLIO SERCOTEC */
.portafolio-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-top:36px; }
.portafolio-item {
  background:var(--gris-1);
  border-radius:var(--radio-hoja);
  padding:24px 28px;
  border-top:3px solid var(--gris-2);
}
.portafolio-item.digital { border-top-color:var(--barrio-azul); }
.portafolio-item.urbano { border-top-color:var(--acento); }
.portafolio-item h4 { font-size:14px; font-weight:700; color:var(--verde-oscuro); margin-bottom:8px; }
.portafolio-item ul { padding-left:0; list-style:none; }
.portafolio-item ul li { font-size:13px; font-weight:300; color:var(--gris-4); line-height:1.8; padding-left:16px; position:relative; }
.portafolio-item ul li::before { content:'—'; position:absolute; left:0; color:var(--gris-3); }
/* CIERRE */
.cierre {
  margin:48px 0; padding:48px;
  background:var(--barrio-calido);
  border-radius:var(--radio-hoja);
  border-left:4px solid var(--barrio-lila);
}
.cierre p { font-size:16px; font-weight:300; color:#3a2d5a; line-height:1.85; }
.cierre p + p { margin-top:14px; }
/* OTROS CULTIVOS */
.otros-sec { background:var(--gris-1); padding:60px 48px; margin-top:0; }
.otros-titulo { font-size:12px; font-weight:300; text-transform:uppercase; letter-spacing:4px; color:var(--gris-3); margin-bottom:36px; text-align:center; }
.otros-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; max-width:1200px; margin:0 auto; }
.otro-card { background:var(--blanco); border-radius:var(--radio-hoja); overflow:hidden; transition:transform .2s, box-shadow .2s; cursor:pointer; }
.otro-card:hover { transform:translateY(-4px); box-shadow:0 8px 32px rgba(15,42,13,0.1); }
.otro-card-img { height:140px; background:var(--gris-1); display:flex; align-items:center; justify-content:center; }
.otro-card-img span { font-size:11px; color:var(--gris-3); text-transform:uppercase; letter-spacing:2px; }
.otro-card-body { padding:18px 22px; }
.otro-card-tag { font-size:10px; font-weight:300; letter-spacing:3px; text-transform:uppercase; color:var(--acento); margin-bottom:4px; }
.otro-card-nombre { font-size:15px; font-weight:700; color:var(--verde-oscuro); }
/* ── HAMBURGUESA ── */
/* ── RESPONSIVE ── */
@media (max-width: 900px) {
  .caso-hero { padding-top:64px; min-height:60vh; }
  .caso-hero-contenido h1 { font-size:32px; letter-spacing:-1px; }
  .caso-hero-contenido { padding:40px 24px; }
  .caso-meta { flex-wrap:wrap; gap:12px; }
  .caso-body { padding:48px 24px; }
  .caso-body h2, .caso-body h3 { font-size:22px; }
  .caso-body p, .caso-body li { font-size:15px; }
  .grid-2, .grid-3, .grid-col-2, .dos-col, .tres-col,
    [style*="grid-template-columns"] { grid-template-columns:1fr !important; }
  .galeria-grid, .imagenes-grid, .imgs-grid { grid-template-columns:1fr !important; }
  section, .seccion, .bloque { padding-left:24px !important; padding-right:24px !important; }
  .otros-cultivos-grilla { padding:48px 0 0; }
  .oc-grilla { grid-template-columns:1fr 1fr; }
}
@media (max-width: 480px) {
  .caso-hero-contenido h1 { font-size:26px; }
  .oc-grilla { grid-template-columns:1fr; }
}
