/* ===========================
   CONSULTAS PAGE
=========================== */

.consultas-section{
  padding: 120px 0 90px;
  background:
    radial-gradient(1000px 500px at 15% 0%, rgba(0,0,0,0.02), transparent),
    radial-gradient(1200px 700px at 80% 40%, rgba(0,0,0,0.03), transparent);
}

.consultas-header{
  margin-bottom: 40px;
  text-align: center;  
}

.consultas-title{
  font-size: 74px;
  font-weight: 500;
  color: var(--primary-color);
  font-family: "Playfair Display", Georgia, serif;
  line-height: 1.05;
  text-align: center;
}

.consultas-line{
  display: inline-block;
  width: 90px;
  height: 2px;
  background: var(--primary-color);
  margin-top: 10px;

}

/* Caja verde grande con esquinas recortadas */
.consultas-hero-box{
  background: var(--primary-color);
  color: #fff;
  padding: 60px 70px;
  margin: 55px 0 55px;

  width: 100%;
  max-width: 1050px;     /* <-- NO ocupa todo el ancho */
   margin-left: auto;
  margin-right: auto;

  clip-path: polygon(
    0 0,
    95% 0,
    100% 18%,
    100% 100%,
    5% 100%,
    0 82%
  );
}


.consultas-hero-box p{
  font-size: 22px;
  font-style: italic;
  max-width: 900px;
}

.consultas-stats{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
  margin-bottom: 45px;

  width: 100%;
  max-width: 1050px;   /* <-- mismo ancho que el bloque verde */
 margin-left: auto;
  margin-right: auto;
}


.stat-card{
  background: #f7f5ee;
  border: 1px solid rgba(0,0,0,0.04);
  border-radius: 16px;
  padding: 26px 26px;
  display: flex;
  align-items: center;
  gap: 18px;
  box-shadow: 0 8px 20px rgba(0,0,0,0.06);
}

.stat-icon{
  width: 64px;
  height: 64px;
  background: var(--primary-color);
  display: flex;
  align-items: center;
  justify-content: center;

  /* octágono */
  clip-path: polygon(
    30% 0%, 70% 0%,
    100% 30%, 100% 70%,
    70% 100%, 30% 100%,
    0% 70%, 0% 30%
  );
}

.stat-text{
  font-size: 19px;
  font-weight: 600;
  color: #2b2b2b;
}

/* texto final */
.consultas-body{
  font-size: 20px;
  color: var(--text-light);
  max-width: 820px;
  margin: 10px auto 0;  /* centra el bloque */
  text-align: center;  /* centra el texto */
}

/* ===========================
   RESPONSIVO
=========================== */

@media (max-width: 992px){
  .consultas-title{ font-size: 56px; }
  .consultas-hero-box{ padding: 45px 45px; }
  .consultas-hero-box p{ font-size: 20px; }
}

@media (max-width: 768px){
  .consultas-section{ padding: 95px 0 70px; }

  .consultas-title{
    font-size: 44px;
  }

  .consultas-hero-box{
    padding: 38px 30px;
    margin: 40px 0;
    clip-path: polygon(
      0 0,
      92% 0,
      100% 16%,
      100% 100%,
      8% 100%,
      0 84%
    );
  }

  .consultas-stats{
    grid-template-columns: 1fr;
  }

  .stat-card{
    padding: 22px;
  }

  .stat-text{
    font-size: 18px;
  }

  .consultas-body{
    font-size: 18px;
  }
  .consultas-actions{
  flex-direction: column;
   align-items: center; 
  gap: 14px;
}

.consultas-btn{
  width: 100%;
  max-width: 320px;
}

}

@media (max-width: 420px){
  .consultas-title{ font-size: 36px; }
  .consultas-hero-box p{ font-size: 18px; }
  .stat-icon{ width: 56px; height: 56px; }
}


/* Botones debajo del texto */
.consultas-actions{
justify-content: center; /* centra los botones */
  display: flex;
  gap: 18px;
  margin-top: 55px;
  width: 100%;
  max-width: 1050px;
    margin-left: auto;
  margin-right: auto;

}

.consultas-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 18px 36px;
  border-radius: 999px;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  font-size: 14px;
  border: 2px solid var(--primary-color);
  transition: .25s ease;
  box-shadow: 0 8px 18px rgba(0,0,0,0.06);
}

/* Botón principal */
.consultas-btn.primary{
  background: #f7f5ee;
  color: var(--primary-color);
}

/* Botón secundario */
.consultas-btn.outline{
  background: transparent;
  color: var(--primary-color);
}

/* Hover elegante */
.consultas-btn:hover{
  transform: translateY(-2px);
  background: var(--primary-color);
  color: #fff;
}


/* ===========================
   MÉTODO / SER HUMANO
=========================== */

.metodo-section{
  padding: 90px 0 0px;
  background: transparent;
}

.metodo-container{
  text-align: center;
}


/* ===== Diagrama Consultas (versión mejorada) ===== */
.consultas-diagrama { padding: 4rem 0 2rem; }

.diagram-card{
  max-width: 920px;
  margin: 0 auto;
  padding: 24px 20px;
  border-radius: 16px;
}

.diagram-svg{ width:100%; height:auto; display:block; }

.title-chip{
  fill: rgba(44,63,38,.05);
}

/* Tipografías/colores coherentes con tu theme */
.diagram-svg .t{ fill:#2c3f26; font-family:"Georgia", serif; font-size:26px; }
.diagram-svg .t-top{ font-size:34px; font-weight:500; letter-spacing:.5px; }
.diagram-svg .t-label{ transition: color .25s ease, fill .25s ease; }

/* Trazo verde con animación */
.diagram-svg .stroke{
  fill:none;
  stroke:#2c3f26;
  stroke-width:8;
  stroke-linecap:round;
  stroke-linejoin:round;
  stroke-dasharray:600;
  stroke-dashoffset:600;
  animation: draw 1.1s var(--easing, cubic-bezier(0.22,1,0.36,1)) forwards;
  filter: drop-shadow(0 1px 0 rgba(0,0,0,.04));
  transition: stroke-width .25s ease, filter .25s ease;
}

/* Pequeños desfasajes para dibujado secuencial */
.diagram-svg .s-center{ animation-delay:.15s; }
.diagram-svg .s-left{   animation-delay:.25s; }
.diagram-svg .s-right{  animation-delay:.35s; }

.diagram-svg .dot{
  fill:#2c3f26;
  opacity:.9;
}

/* Interacción por grupo: hover realza trazo y etiqueta */
.grp{ transition: transform .25s var(--easing, cubic-bezier(0.22,1,0.36,1)); }
.grp:hover{ transform: translateY(-2px); }
.grp:hover .stroke{ stroke-width:10; filter: drop-shadow(0 3px 8px rgba(0,0,0,.12)); }
.grp:hover .t-label{ fill:#1f2d1b; }

/* Animación de trazado */
@keyframes draw{ to{ stroke-dashoffset:0; } }

/* Responsive fino */
@media (max-width:768px){
  .diagram-svg .t{ font-size:22px; }
  .diagram-svg .t-top{ font-size:28px; }
  .diagram-card{ padding:18px 14px; border-radius:14px; }
}
@media (max-width:480px){
  .diagram-svg .t{ font-size:20px; }
  .diagram-svg .t-top{ font-size:24px; }
}


/* texto explicativo */
.metodo-lead{
  font-size: 20px;
  color: var(--text-light);
  max-width: 900px;
  margin: 0 auto 70px;
  line-height: 1.7;
}

/* bloque con línea vertical a la izquierda */
.metodo-note{
  display: flex;
  align-items: flex-start;
  gap: 18px;
  max-width: 1050px;
  margin: 0 auto;
  text-align: left;
}

.metodo-note-line{
  width: 4px;
  height: 110px;
  background: var(--primary-color);
  border-radius: 4px;
  flex: 0 0 4px;
  margin-top: 6px;
}

.metodo-note p{
  font-size: 19px;
  color: #3a3a3a;
  line-height: 1.8;
}

/* ===========================
   RESPONSIVO
=========================== */
@media (max-width: 992px){
  .metodo-top-title{ font-size: 32px; }
  .metodo-top-line{ width: 170px; }
  .metodo-col{ font-size: 24px; }
}

@media (max-width: 768px){
  .metodo-section{ padding: 70px 0 90px; }

  .metodo-top{
    gap: 12px;
  }
  .metodo-top-title{
    font-size: 26px;
    padding: 8px 18px;
  }
  .metodo-top-line{
    width: 110px;
    height: 5px;
  }

  .metodo-connector{
    height: 40px;
  }

  .metodo-arcs{
    height: 160px;
  }
  .metodo-arcs .arc{
    height: 140px;
    border-width: 5px;
    border-radius: 70px 70px 0 0;
    width: 44%;
  }

  .metodo-columns{
    margin-top: -10px;
    padding: 0 10px;
    flex-wrap: wrap;
    gap: 18px 0;
  }
  .metodo-col{
    width: 33.33%;
    text-align: center;
    font-size: 20px;
  }

  .metodo-lead{
    font-size: 18px;
    margin-bottom: 50px;
  }

  .metodo-note{
    flex-direction: column;
    text-align: center;
    gap: 14px;
  }
  .metodo-note-line{
    height: 60px;
    margin: 0 auto;
  }
  .metodo-note p{
    font-size: 17px;
    text-align: center;
  }
}

@media (max-width: 420px){
  .metodo-top-line{ width: 75px; }
  .metodo-col{ font-size: 18px; }
}

/* ===========================
   ESPAÇO / VÍDEO
=========================== */

.espaco-section{
  padding: 110px 0 120px;
  background: transparent;
}

.espaco-container{
  text-align: center;
}

/* párrafo superior */
.espaco-intro{
  font-size: 20px;
  color: var(--text-light);
  max-width: 980px;
  margin: 0 auto 90px;
  line-height: 1.8;
}

/* título con líneas arriba/abajo */
.espaco-title-wrap{
  position: relative;
  margin-bottom: 55px;
}

.espaco-title{
  font-family: "Playfair Display", Georgia, serif;
  font-size: 48px;
  font-weight: 500;
  color: #1a1a1a;
  line-height: 1.2;
  margin: 18px 0;
}

.espaco-line{
  display: block;
  width: 60px;
  height: 2px;
  background: var(--primary-color);
  margin: 0 auto;
  opacity: .9;
}

.espaco-line.top{
  margin-bottom: 8px;
}
.espaco-line.bottom{
  margin-top: 8px;
}

/* caja grande clara donde va el video */
.espaco-video-box{
  background: #f7f5ee;
  border-radius: 18px;
  padding: 55px;
  max-width: 1200px;
  margin: 0 auto;
  box-shadow: 0 12px 30px rgba(0,0,0,0.06);
  border: 1px solid rgba(0,0,0,0.04);
}

/* video con el tamaño de la imagen (NO full ancho brutal) */
.espaco-video{
  width: 100%;
  max-width: 420px;       /* tamaño vertical tipo móvil */
  aspect-ratio: 9 / 16;   /* <-- VERTICAL */
  border-radius: 12px;
  display: block;
  margin: 0 auto;
  background: #000;
  object-fit: contain;    /* no recorta el video */
}


/* ===========================
   RESPONSIVO
=========================== */
@media (max-width: 992px){
  .espaco-intro{
    font-size: 19px;
    margin-bottom: 70px;
  }
  .espaco-title{
    font-size: 40px;
  }
  .espaco-video-box{
    padding: 40px;
  }
  .espaco-video{
    max-width: 380px;
  }
}

@media (max-width: 768px){
  .espaco-section{
    padding: 80px 0 90px;
  }

  .espaco-intro{
    font-size: 18px;
    margin-bottom: 55px;
    padding: 0 10px;
  }

  .espaco-title{
    font-size: 32px;
    padding: 0 10px;
  }

  .espaco-video-box{
    padding: 28px;
    border-radius: 14px;
  }

  .espaco-video{
    max-width: 100%;
    border-radius: 10px;
  }
}

@media (max-width: 420px){
  .espaco-title{
    font-size: 28px;
  }
  .espaco-video-box{
    padding: 20px;
  }
}


