/* ═══════════════════════════════════════════════
   TRABAJO-CTCI.CSS — Diseñoverde
   Estilos exclusivos de trabajo/ctci.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; }
/* NAV */
/* PROGRESS */
/* HERO CASO */
.caso-hero {
  min-height:72vh;
  background:var(--verde-oscuro);
  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:600px; height:600px; 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-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); }
/* CONTENIDO */
.caso-body { max-width:1200px; margin:0 auto; padding:0 48px; }
/* SECCIÓN GENÉRICA */
.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 DOS COLUMNAS */
.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; }
/* VISUAL PLACEHOLDER */
.visual {
  background:var(--gris-1);
  border-radius:var(--radio-hoja);
  display:flex; align-items:center; justify-content:center;
  flex-direction:column; gap:8px;
  border:1px dashed var(--gris-2);
  overflow:hidden;
}
.visual span { font-size:11px; color:var(--gris-3); text-transform:uppercase; letter-spacing:2px; }
/* INSIGHT CARD */
.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; }
/* PASO */
.paso { display:flex; gap:24px; align-items:flex-start; }
.paso-num { width:40px; height:40px; border-radius:50%; background:var(--verde); color:white; font-size:13px; font-weight:700; display:flex; align-items:center; justify-content:center; flex-shrink:0; margin-top:4px; }
.paso-content h3 { font-size:17px; font-weight:700; color:var(--verde-oscuro); margin-bottom:6px; }
.paso-content p { font-size:14px; font-weight:300; color:var(--gris-4); line-height:1.8; }
/* FIGMA EMBED */
.figma-wrapper {
  margin:48px 0;
  border-radius:var(--radio-hoja);
  overflow:hidden;
  border:1px solid var(--gris-2);
  background:var(--gris-1);
  position:relative;
}
.figma-label {
  position:absolute; top:16px; left:20px; z-index:2;
  background:rgba(15,42,13,0.75);
  padding:6px 14px; border-radius:var(--radio-hoja-sm);
  font-size:10px; font-weight:300; text-transform:uppercase;
  letter-spacing:2.5px; color:rgba(255,255,255,0.6);
}
.figma-wrapper iframe { display:block; width:100%; border:none; }
/* CITA */
.cita {
  margin:48px 0;
  padding:36px 44px;
  background:var(--verde-oscuro);
  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(82,168,76,0.1); line-height:1;
  font-family:Georgia, serif;
}
.cita p { font-size:20px; font-weight:300; color:rgba(255,255,255,0.8); line-height:1.7; font-style:italic; position:relative; z-index:2; }
/* RESULTADO LIVE */
.resultado-live {
  background:var(--fondo);
  border-radius:var(--radio-hoja);
  padding:40px 44px;
  display:flex; align-items:center; justify-content:space-between; gap:40px;
  margin-top:48px;
}
.resultado-live-text h3 { font-size:22px; font-weight:700; color:var(--verde-oscuro); margin-bottom:8px; }
.resultado-live-text p { font-size:14px; font-weight:300; color:var(--gris-4); line-height:1.7; max-width:400px; }
.btn-live {
  display:inline-flex; align-items:center; gap:10px;
  background:var(--verde); color:white;
  padding:16px 32px; border-radius:var(--radio-hoja-sm);
  font-size:12px; font-weight:400; text-transform:uppercase;
  letter-spacing:2px; white-space:nowrap;
  transition:background .2s, transform .15s; flex-shrink:0;
}
.btn-live:hover { background:var(--verde-oscuro); transform:translateY(-2px); }
/* 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(3,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:160px; 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:20px 24px; }
.otro-card-tag { font-size:10px; font-weight:300; letter-spacing:3px; text-transform:uppercase; color:var(--acento); margin-bottom:6px; }
.otro-card-nombre { font-size:16px; font-weight:700; color:var(--verde-oscuro); }
/* REVEAL */
/* 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; }
/* ── 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; }
}
